avatar
bef0rewind
Demo
The North Coast 500 (NC 500),是一条 2015 年开发的高地沿海自驾新线,被誉为苏格兰最好的自驾路线。因为 NC500 独特的路况和与众不同的风景,它自发布以来,一直受到了很多自驾爱好者的青睐。比如阿斯顿·马丁公司还在 2018 年推出了全国只有 12 辆的 NC500 系列。 该线路以高地中枢因弗内斯(Inverness)为起点和终点,沿海岸线绕行一圈全程约 500 英里(约合 800 公里),涵盖了苏格兰北部几乎所有的自然及人文景观。 苏格兰高地人烟稀少、沿途道路宽阔…
avatar
xulin
Traefik 学习(1)
优点 服务自动发现,对docker kubernetes支持良好。新增docker节点不需要更改配置文件。 与 docker 的完美集成,基于 container label 的配置 支持自动申请、更新 Let's Enbrypts TLS 自动负载平衡 无须重启即可更新配置 概念 可以实现一台主机或者云服务器部署多个网站或服务。 一个IP地址对应多个域名。这就很有用啊。 虚拟主机(virtual hosting)即共享主机(shared web hosting),可以利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在单一主机上运行多个网站或服务。 快速开始 第一步…
avatar
Rei
Turbo frame 的 lazy loading 会在什么时候执行
最近 GeekNote 发现了一个 Bug,所有未登录用户在访问文章页面时会跳转到登陆页面。这看起来就像那些封闭花园式的发布平台那样,导致流失了很多潜在用户。 经过调试,我发现 Bug 是由这段代码引起的(已简化): <div class="dialog"> <turbo-frame loading="lazy" src="..."> </turbo-frame> </div> Dialog 是我自己实现的一个 CSS 组件,默认情况下不可见(visibility: hidden;),当触发显示逻辑的时候则加上 visibility: visible; 使其可见。 而 turbo-frame…
avatar
busylog
nginx stream examples
udp stream example stream { upstream example { server [ipv6]:port max_fails=0; server [ipv6]:port max_fails=0; } server { listen 127.0.0.1:port udp; listen [::1]:port udp ipv6only=on; proxy_pass example; } } sni example stream { # non existent map $ssl_preread_protocol $upstream { "" 0.0.0.0:65535; default 0.0.0.0:65535; "TLSv1.3" $ssl_preread_server_name:443; "TLSv1.2" $ssl_preread_server_name:443; "TLSv1.1" $ssl_preread_server_name:443; "TLSv1" 0.0.0.0:65535; } # try nat64/dns64 with newer nginx later (ipv4=off) resolver [2a10:50c0::ad1:ff] ipv6=off valid=600s; server { # note: it may connect…
avatar
busylog
64bit only Android
BoardConfig disables: TARGET_2ND_ARCH := arm TARGET_2ND_ARCH_VARIANT := armv8-a TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi so build.prop will be affected (ro.product.cpu.abilist{,32}) differences on core_64_bit.mk vs core_64_bit_only.mk https://android.googlesource.com/platform/build/+/master/target/product/core_64_bit.mk https://android.googlesource.com/platform/build/+/master/target/product/core_64_bit_only.mk PRODUCT_VENDOR_PROPERTIES += ro.zygote=zygote64 PRODUCT_VENDOR_PROPERTIES += dalvik.vm.dex2oat64.enabled=true and disabling init.zygote64_32.rc
avatar
forecho
使用 Telegram
引言 今天给大家分享一下 Telegram 的使用经验,以及我为什么会喜欢 Telegram。 Telegram 是什么? Telegram 是一个跨平台的 IM 软件,需要注意的是 在国内使用 Telegram 需要自备梯子 。 Telegram 的特点 其实我注册 Telegram 很早了,但是最近这 2 年才开始真正的用起来。 下面我总结一下我喜欢 Telegram 的几个特点: 轻量级 App 的体积小,安装后占用的空间也很小,这对于手机用户来说是一个很重要的特点。不像微信所谓的「小而美」。 无广告 早期的…
avatar
xulin
Rails 中的 redirect_to :back
Rails 4 老办法 以前用redirect_to :back这个方法,实现回退源页面功能,但是这个方法会出现问题: 当HTTP_REFERER不存在(介绍地址)时,有时会出现ActionController::RedirectBackError异常。 Referer Referer 请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。 解决方法是用rescue示例代码如下: class PostsController < ApplicationController rescue_from ActionController::RedirectBackError, with…
avatar
电子芥末
在 Windows 里使用 miniconda
众所周知, 日常使用 Python 的最佳实践是创建一些虚拟环境, 而 miniconda 是一个著名且优秀的 Python 虚拟环境工具. miniconda 的安装与使用请看官网: https://docs.conda.io/en/latest/miniconda.html 本文主要介绍在 Windows 里使用 miniconda 的小技巧. 在 Windows 里, 下载安装 miniconda 后, 在正常的终端里无法直接使用 conda, 需要在开始菜单中点击 Anaconda Powershell Prompt, 在一个独立的窗口中使用. 其实开始菜单里的 Anaconda Powershell Prompt 是一个快捷方式, 通过查看它的属性, 可以看到它本质上是…
avatar
xfyuan
Rails7 的Zeitwerk模式解惑
本文已获得原作者( Athira Kadampatta 、 Supriya Laxman Medankar )和 Kiprosh 授权许可进行翻译。原文详细讲述了 Rails 7 中新的 Zeitwerk 自动加载模式。 原文链接:Autoloading pitfalls fixed by Rails 7’s default Zeitwerk mode 作者: Athira Kadampatta 、 Supriya Laxman Medankar 站点:Kiprosh,一家印度的软件开发公司。 【正文如下】 Rails 中传统的 autoloader 很有帮助,但仍然有一些瑕疵造成自动加载偶尔会出毛病。为了解决这个问题, Xavier Noria 在 Rails 6 的这个 PR 中提出了 zeitwerk 模式并使其可配置使用。Rails 7 则…
avatar
xfyuan
纯粹的Rails便已足够
本文已获得原作者( Jorge Manrubia )和 37signals 授权许可进行翻译。原文讲述了在 37signals 公司中如何使用纯粹 Rails应用架构方案,及其怎样在另一个层面对 DDD(领域驱动设计) 原则做出最佳体现的故事。 原文链接:Vanilla Rails is plenty 作者:Jorge Manrubia(Github、Twitter),居住于西班牙瓦伦西亚,目前工作于 37signals,诸多 Ruby、Rails 的 Gem/Library 的作者,比如:Active Record Encryption(已被纳入 Rails 7 成为默认特性)、mass_encryption、console1984、audits1984、ib_ruby_proxy、impersonator、turbolinks_render 等 站点:37signals 以…
avatar
xfyuan
野生的ViewComponent(下): 为组件增压加速
本文已获得原作者( Alexander Baygeldin 、 Travis Turner )和 Evil Martians 授权许可进行翻译。原文讲述了在单体式模块架构下,使用 ViewComponent 来构建组件化的现代 Rails 前端的故事。(本文是下篇) 原文链接:ViewComponent in the Wild II: supercharging your components 作者: Alexander Baygeldin 、 Travis Turner 站点:Evil Martians ——位于纽约和俄罗斯的 Ruby on Rails 开发人员博客。 它发布了许多优秀的文章,并且是不少 gem 的赞助商。 【正文如下】 引言 GitHub 的 ViewComponent 已经诞生有好一段时间了,帮助开发者们在构建 Ruby on Rails…
avatar
xfyuan
野生的ViewComponent(上): 构建现代Rails前端
本文已获得原作者( Alexander Baygeldin 、 Travis Turner )和 Evil Martians 授权许可进行翻译。原文讲述了在单体式模块架构下,使用 ViewComponent 来构建组件化的现代 Rails 前端的故事。(本文是上篇) 原文链接:ViewComponent in the Wild I: building modern Rails frontends 作者: Alexander Baygeldin 、 Travis Turner 站点:Evil Martians ——位于纽约和俄罗斯的 Ruby on Rails 开发人员博客。 它发布了许多优秀的文章,并且是不少 gem 的赞助商。 【正文如下】 引言 GitHub 的 ViewComponent 已经诞生有好一段时间了,帮助开发者们在构建 Ruby…
avatar
xfyuan
Turbo: Streams vs. Frames
本文已获得原作者(Elizabeth Braae)和 Bearer授权许可进行翻译。原文对 Rails Hotwire 技术栈核心 Turbo 的成员:Streams 和 Frames 进行了详细的对比。看过本文后对两者各自的区别,以及分别适用于哪种场景,就会有一个清晰的了解了。 原文链接:The difference between Turbo Streams and Turbo Frames 作者:Elizabeth Braae 站点:Bearer 是一家专注于数据保护业务的公司,致力于构建第一流的数据安全平台来帮助用户公司的成长。 【正文如下】 我们痴迷于 Hotwire 技术。Hotwire 是一种技术集…
avatar
电子芥末
Fav: 命令行收藏夹, 主要用于收藏文件/文件夹路径
Fav 是一个只有字符界面的命令行收藏夹, 主要用于收藏文件/文件夹路径, 另外用来收藏常用的 命令/网址 也很合适. 特点: 基本原理极致简单 代码非常简单 意外地好用 基本用法示例 假设已经登记了 3 行内容: /path/to/folder https://example.com C:\User\XiaoMei\ 使用本程序登记的全部数据, 记录在一个纯文本文件中, 如上所示. (不是 JSON, 不是 YAML, 完全不需要考虑格式与字符转义, 就是纯文本, 一行一句.) 执行命令 fav 会显示收藏列表: 1. /path/to/folder 2. https://example…
avatar
crabOnSubway
测试新文章发布
1.主索引 主索引通常是对每一存储块有一个索引项,索引项的总数和存储表所占的存储块数目相同,存储表的每一存储块的第一条记录,又称为锚记录(anchor record), 或简称为块锚(block anchor) 主索引的索引字段值为块锚的索引字段值,而指针指向其所在的存储块。 主索引是按索引字段值进行排序的一个有序文件, 通常建立在有序主文件的基于主码…
avatar
yuan
氧传感器相关知识笔记
空燃比概念 空燃比即空气与燃料的比例。汽油的理想空燃比 14.7 : 1,这里的比值是质量比,单位是 g。也就是说 1g 的汽油完全燃烧,需要 14.7g 的空气。比值越小,混合气体中的汽油占比越大,或者说混合气体偏浓;反之,比值越大,混合气体中的空气占比越大,或者说混合气体偏稀。 过量空气系数(lambda) 由于其它燃料(柴油、氢气、天然气等)的理想空燃比并非 14.7 : 1,因此行业中引入了…
avatar
xfyuan
深入Rails的Zeitwerk模式
本文已获得原作者(Simon Coffey)授权许可进行翻译。原文深入讲述了 Rails 中新的 Zeitwerk 自动加载模式的实现原理,是对前一篇《Rails7的Zeitwerk模式解惑》很好的补充 原文链接:Rails autoloading — now it works, and how! 作者:Simon Coffey(Twitter) 【正文如下】 Rails 从一开始就有自动加载。自动加载意味着当我们想要引用User model 时,不必还要手写require 'User'。没人有时间为每个需要用到User的文件都来这么干,对吧? 我已经写过一篇关于 Rails…
avatar
razeos
设置 Ubuntu 服务器
恰逢一年一度网购节,想起去年购买的腾讯轻量应用服务器也快到期了,不折腾一下有点浪费。那么,就来重装一下系统,也记录一些常见的操作吧。 这次选择的是 Ubuntu 22.04 LTS 版本。不到一分钟时间,重装就完成了。我之前就有创建密钥,只需要重新绑定就可以。 密钥通过浏览器下载,为避免权限问题,运行以下命令: chmod 600 <密钥名称>.pem 通过 ssh 指定私钥来登录服务器。 ssh -i <密钥名称>.pem [email protected] 先…
avatar
4EVERLAND
4EVERLAND专用网关公告
我们很高兴地宣布发布 4EVERLAND 专用 IPFS 网关!与 4EVERLAND 公共网关一起,4EVERLAND 专用网关将为全世界的开发者和用户提供更快、更稳定地访问更能体现其品牌形象的 IPFS 内容。 专用网关的好处: 全球分布的边缘节点提供全球加速 无速率限制 支持自定义域 4EVERLAND 为每月拥有 100GB 数据的用户提供免费的专用网关。 什么是 IPFS 网关? 星际文件系统,也称为 IPFS,是一个非常强大的协议,允许用户在去中心化的对等网络…
avatar
xfyuan
10倍生产力程序员的特质
今天看到 37signals 最新的一篇博客,Alberto Fernández-Capel 所写的《The 10x Development Environment》。针对近两年比较流行的“10倍生产力程序员”的说法,他在里面提出了一个观点,很有意思,在某些方面引起了我的共鸣。遂以记之。 Alberto Fernández-Capel 在文中认为,那种“10倍生产力程序员”,之所以能做到远超一般程序员的10倍效率,归根结底,是能够自己打造出一个适合自身的“10倍生产力的开发环境”。在这样的环境里,就能如虎添翼,把工作效率提升到极致…