home
首页
login
登录
person_add
注册
home
首页
我
login
Sign in
person_add
Sign up
search
Posts
Comments
Accounts
Sort by: relevance
arrow_drop_down
Relevant
Newest
Oldest
Rei
2024年10月17日 14:43
Rails 开发者应该拥抱 Web Component
Rails 8 将会继续将 Hotwire 作为默认,我觉得这很好。Hotwire 是以服务端渲染为核心的前端方案,由于服务端是数据的根源,大部分应用可以通过服务端渲染解决问题而不用考虑数据同步。 不过能做不表示最优,还是有一些问题需要在客户端处理,这通常是涉及客户端状态和前端渲染。举个例子,多选输入框。当前 Geeknote 的标签输入使用了 hotwire_combobox 这个库,它充分利用了 hotwire 服务端渲染的特性,用一种聪明的方式实现了多选输入框…
duron600
2024年11月07日 10:01
Android 笔记:Activity
Activity 是 Android 应用的 UI 界面,使用 XML 来管理界面结构和布局(相当于 HTML),Activity 类本身放置交互相关的代码(相当于 JavaScript)。 View Activity 上放置着许多 View(视图),显示在屏幕上的一切都是 View(android.view.View 的子类)。 Activity 通常建议使用 AppCompatActivity 作为父类,可以为旧版的系统提供最新的组件和主题以及 API 的支持。 ViewGroup 另外还有一个 ViewGroup,通常用于布局,当作容器来使用(类似 HTML 的 div)。例如 ConstraintLayout 就是一个 ViewGroup(android.view.ViewGroup 的子类)。 布局文件 布局文件…
duron600
2024年11月13日 14:29
ArchLinux@ThinkPad X220 控制风扇转速
安装 thinkfan 和 lm_sensors。 编辑 /etc/modprobe.d/thinkfan.conf 文件: options thinkpad_acpi fan_control=1 experimental=1 执行 modprobe thinkpad_acpi 编辑 /etc/thinkfan.conf 文件: sensors: - hwmon: /sys/devices/virtual/thermal/thermal_zone0/temp # indices: [0] fans: - tpacpi: /proc/acpi/ibm/fan levels: - [0, 0, 41] - [1, 38, 51] - [4, 45, 56] - [7, 51, 78] #- [7, 55, 64] #- [7, 60, 66] #- [7, 63, 72] #- [7, 65, 74] - [127, 75, 32767] 试试 thinkfan -n 看是否能够正常执行。如果运行正常,启动 thinkfan 服务:systemctl enable thinkfan --now 链接: https://wiki.archlinux.org/title/Fan_speed_control https…
ae86
2024年11月14日 07:11
请推荐 Rails docker 部署方案
最近才将Rails应用通过Docker的方式进行改造 改造前: 服务器10台 用mina部署unicorn 改造后,需要在10台机器上面 通过 docker pull images的方式,再通过 docker-compose up app启动,或docker-compose restart app的方式进行重启。 请问,怎么在10台服务器上面,选择相对较优的部署方案呢? 感谢大家
steve lee
2024年11月23日 05:42
Concurrency in Ruby: Thread and Fiber
Fibers and Threads Example: HTTP request Example: HTTP server Fiber Scheduler Concluding The content of this article is my last tech sharing with my team at https://pixta.vn/. Fibers and Threads Thread thread = Thread.new do #... end thread.join Fiber fiber = Fiber.new do #... end fiber.resume # transfer / Fiber.schedule As you can see, they have quite similar syntax, so what are the differences between them? The level: Threads are created 1:1 with threads on OS. Fibers are implemented at the programming language level, multiple fibers can run inside a thread. Scheduling mechanism: Threads are run…
mcx
2024年12月04日 08:00
测试
测试
duron600
2024年12月04日 08:05
Android 笔记:Intent
Intent 用于组件与系统间传递消息。Android 组件除了 Activity 之外,还有 Service,Broadcast Receiver 和 Content Provider。 启动应用内的 Activity 在 Android 中,启动一个 Activity 并非像其它常见的前端开发中所做的那样,直接调用另一个 Activity 的构造方法来创建新的 Activity。而是调用当前 Activity 的 startActivity(Intent) 方法,通过系统的 ActivityManager 来创建 Activity 实例,并调用该实例的 onCreate(Bundle?) 方法。 class MainActivity : AppCompatActivity { override fun onCreate(savedInstanceState: Bundle?) { binding.cheatButton.setOnClickListener { val intent = Intent(this, CheatActivity::class.java) startActivity(intent) } } } 这里…
duron600
2024年12月04日 08:08
Android 笔记:Fragment
Fragment 是一个类似 Activity 的 UI 界面,但它只是界面的一部分。 要显示 Fragment 的内容,必须将其放置在一个 Activity 里。Fragment 无法直接在界面上显示。一个 Activity 里可以放置许多个 Fragment。 Fragment 可以嵌套。 Fragment 有自己的生命周期,它的生命周期同时也受它所在的容器(Activity 或另一个 Fragment)的生命周期影响。 生命周期 Fragment 与 Activity 有着类似的生命周期。不同的是,Fragment 的生命周期回调方法是 public 的,而 Activity 的生命周期回调方法是 protected 的。这是因为 Fragment 的…
duron600
2024年12月04日 08:11
Android 笔记:RecyclerView
RecyclerView 很适合用于数据集合的展示,包括以列表形式、网格形式等。它的特点是:只会维持当前界面上能够显示的数量的视图实例。例如一个屏幕只显示得下 10 条数据,那么它就只会在内存中保留稍多于 10 个的视图实例。当界面滚动时,部分数据的界面被隐藏,相应的视图实例会被回收重用于新数据的显示,这也就是它名字的由来:Recycler。这可以极大地节省系统资源。 引入 RecyclerView # lib.versions…
mcx
2024年12月04日 09:25
2024.12
已经回去了
电子芥末
2025年01月04日 13:19
五柳速记(Wuliu-STN)约100行代码的快速笔记程序
约 100 行 Java 代码,只使用 Java 标准库,完全没有第三方代码。 开发时也不使用 Maven, Gradle 之类,只使用 javac 有一个简单的 GUI 窗口。 代码极致简单,不可能更简单了。 主要功能 开源仓库 https://github.com/ahui2016/Wuliu-STN 下载项目源码后,在终端执行命令 newnote 即可打开窗口,输入文本内容,点击 OK 完成一次记录。 笔记内容是一个个 txt 文件,每天一个,例如 2025-01-01.txt 主要用来记录 零散 的信息,没有条理的、混乱的短句等 两个优点 极低心智负担…
duron600
2025年01月09日 12:08
Kotlin 笔记
变量 & 常量 var experiencePoints: Int = 5 var 关键字用于声明变量,experiencePoints 是变量名,后面跟 : 及变量的数据类型 Int,然后是赋值。 var 声音的变量是普通变量,val 则是用于声明只读变量,用 val 声明的变量不能重新赋值,类似 Java 当中的 final。多数情况下,建议首选 val。 类型推断 上面的例子可以简写作:var experiencePoints = 5,由于 5 是一个已知类型的值,因此编译器会自动推断 experiencePoints 为整数类型。通常情况下,建议尽量依靠类型推断,相对省事。除非因为…
没有更多内容。