Roda 推荐,开发者比较靠谱。路由写法需要熟悉下,可以配合 sequel 性能强大。
Sinatra 和 rails 太像了,不如直接上 rails。
Solid 系列看起来很不错,只是 sidekiq 配合 redis 已经很成熟的方案了,现有用户迁移需求不大。
kamal 部署工具并没有让布署变得更简单,docker 是个大坑。能看到 rails 在减少部署复杂度方面做的努力,但布署真的是一件复杂的事情,靠工具没办法做到一劳永逸,只有用上了 heroku、vercel 那样专门公司做的服务才能让布署变的享受起来。
看出来了,Rails 8 的整体方向应该是提升 DX,减少依赖降低新手入门门槛(毕竟新开发者越来越少了)。
前后端没有分离的时候,HTML Form 中的 password 栏位就是明文传输的。用上 HTTPS 以后,数据传输层就加密了。服务端无论如何是要使用密码明文来做验证的,发送请求前再 Hash 一下纯属多余。
<input type="password" id="password" name="password" required>
假设表单中的用户名和密码分别为 user1
和 password123
,提交表单后的 HTTP 请求可能如下所示:
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
username=user1&password=password123
在这个请求中,表单数据(username
和 password
)以明文形式传输。如果有人在数据传输过程中拦截了这个请求,他们可以直接读取用户名和密码。
对于 HTTPS,虽然表单数据内容是相同的,但它们在传输过程中是加密的,因此无法直接查看明文数据。以下是数据传输的基本结构,但内容是加密的:
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
<encrypted data>
在 HTTPS 中,浏览器和服务器之间建立了安全的 TLS/SSL 通道,所有传输的数据都会被加密。拦截者无法解密这些数据,因为解密需要 SSL/TLS 会话密钥,这些密钥只能由浏览器和服务器生成和共享。
总结:在使用 HTTPS 时,即使有人截获了网络请求,他们看到的也只是加密后的数据,而无法直接读取用户的敏感信息。
桌面 1:Windows + WSL
桌面 2:Linux Mint
服务器:Ubuntu Server LTS
Mac Mini 吃灰(偶尔开 Sketch 时候用一下)
Macbook Pro 出门备用
我自己用 Emacs,学习起来是有些费时间,好处是这个编辑器一旦习惯了能用一辈子。毕竟 1984 年就有了,比很多人都年龄大了,现在还是经久不衰。
Turbo 解决了一些问题,同时也带来新的问题。再加上 Stimulus 完全没生态。还是得搭配 React 使用。 前后分离是一个很完美的搭配,Rails 与其硬刚前端,不如搞一个和 React 完美整合的方法。
Render react 时候,有什么好办法能把 Stimulus 的 value 和 React 的 state 关联起来吗?由 stimulus 引入 react 这种方式管理组件状态时候会遇到很多麻烦。
很重要的原因是 Turbo Stream 返回内容中的 <script>
不会被执行。现在最新版本已经修复这个问题了。
https://github.com/hotwired/turbo/pull/660
最大的问题还是生态不好,用起来轮子少,很多组件都得自己撸,很费时间。去 NPM 上搜到很多组件都是 react/vue 的,就是很羡慕。
Spacemacs + Ruby on Rails layer
虽然是老帖了,但是还是回复一下。
在 Stimulus 中也存在类似的问题:在启用 turbolinks 的页面中相关区块的 connect()
方法会被调用两次。这个问题现在还存在于 turbolinks 中,不确定是否在 turbo 中有解决。
https://discuss.hotwired.dev/t/controller-initialized-twice-when-visiting-from-a-turbolinks-page/17
turbolinks 首先读取 preview cache 中的内容,这个时候 js 会被执行一次。同时会从远端获取最新内容,返回后会替换 DOM 并再次执行一遍 js。
我自己琢磨出来比较简单的解决方法有两种:
在相关页面使用 <meta name="turbolinks-cache-control" content="no-preview">
关闭 preview cache
在 connect()
方法中增加判断,如果页面存在 data-turbolinks-preview
这个属性就跳过相关操作
export default class extends Controller {
connect(){
// Turbolinks is not displaying a preview
if (!document.documentElement.hasAttribute("data-turbolinks-preview")) {
// Only run one time
this.doSomething()
}
}
}
感谢,这个就是我想要的。
东南亚只要不是新加坡,基本都是传销、赌博、诈骗的集中地。
其实我就是想要这个函数 group_by
,在 Array 类里找了半天无果。
感谢,这段代码很烧脑。inject 的方法大概看懂了。
第二个方法大概看了下好像更恐怖的样子。
有些人发帖跟放屁一样随便,随便敲几个字都不过脑子,标点符号都不会正确使用。这样的人适合去百度贴吧和初中生交流。
网络方面,要布线,组网 网管方面,要域控,杀毒
术业有专攻,这些东西不是学软件的能轻松搞定的。你姐夫来问你,估计是要你来做兼职网管了,呵呵。
不是购置什么硬件的问题,就算别人推荐了,那些东西也不是轻松就能搞定的,即使安装起来了,后续的维护问题也多得是。光打印机共享可能遇到的问题就会让你抓狂……BTW,换墨会不会?
你姐夫需要的是一个专职网管,而不是配置方案。
只差一个程序员系列。
哈哈
英文的最小单元是词,出现新的概念或新的涵义往往会用新的单词,中文的设计以字为最小单位,复用性很高,出现新的概念或涵义往往是将不同的字组合起来,而且多数情况可以通过单字的含义推测新词组的含义。
所以在英文环境中,出现新单词的需求量非常大,但在中文环境中,很少会出现发明新字的情况。因此,英语的单词量会随时间越来越多,是发散型的,人们需要记忆越来越多的单词,但中文则很少有新的字出现,属于收敛性,人们只需要学习最基本的字义即可应付大部分场合。
英语的词汇总量高达 150 万+。而且每年以 2000+ 新词的速度在递增。目前汉字的总数 8 万+,常用的 3500,历代日常书面语常用的不同的汉字数量一般都在 3000-4000。数量上并没有超过最初的文字甲骨文。
我只是有点好奇,当时为什么要做这么个项目?一拍脑袋就去做了吗? 看看之前做的那个论坛,刚开始也是很不错,拿来运营都可以了,现在好像都没几个人了吧。 希望下个产品成功。
AOL Reader
景安香港 VPS,很稳定,无备案,响应快,带宽小。 美国 VPS 推 godaddy,很稳定,连接响应稍慢。
总是会看到很多这样的,我朋友朋友如何如何做了个垃圾站/英文站/行业站怎么怎么赚钱,就好像自己做也能赚到似的。
还没开始动作就纠结了,你不妨自己先去试试,相信我吧。坚持不了几天,信心很快就没了。你说的那几件事情真不是看起来那么简单。
“到底是做 25 万周薪的替补曼联鲁尼,还是 15 万周薪的皇马主力鲁尼”,这个太让我哈哈了,就好像在小学一年级就开始深深的纠结于到底是上清华还是上北大。结果呢,往往自己花钱上了个三本。。。
看头像应该还不错,至少身材可以。多出去参加活动,不要把自己局限在工作的小圈子里。自己开车上班不是什么难事,但也不是很重要的事,重要的是找到一个可以每天开车接送你的男人。没有男人照样过日子,只是年轻时候的想法。对女人来讲,最重要的就是二十来岁的时间了,别把自己浪费在代码上。多花时间在穿衣打扮上,学着怎么吸引男人(这并不比做开发更简单),女程序员也可以是白富美。
自己刷的 21.2 G 毫无压力,当时可是刷了一上午。
BOOX M92 撸过