Recent Posts

櫻川 浅羽's avatar

海信 Hisense A5 Pro E-ink 手機使用心得

截至文章發表,浅羽使用 A5 Pro 已經近一年。總的來說,這支手機足以被稱爲好用的工具。其他的方面——就交給更大的螢幕、甚至其他的媒介吧!
oyohyee@oyohyee.com's avatar

针对 HTML 内容使用 Ant Design 图片弹框

使用 React 组件渲染 HTML,并进行交互
櫻川 浅羽's avatar

吃好一餐

吃飯是很麻煩的事情,吃得開心更是件艱難的事情。

過年的時候去 partner 家。本來的計畫是:早上去菜市買好新鮮食材,下午開始準備年夜飯,這樣吃完正餐還可以喝點酒。家裏吃飯的人多,只算大人的話也有八張嘴;但是每人都有一些愛吃或者不吃的食材,所以買菜的時候自然想着多買幾樣。魚、蝦、花螺,加上祭拜用完的雞和一些其他的青菜,也足夠吃好一餐了。結果早早去買了菜,去到家裏,都要等到點了祭祀。午餐隨便糊弄了一下,等到下午,終於開始討論晚上(年夜飯)的菜單了。本來訂好四樣大菜,突然長輩說「晚上不要吃花螺」,追問原因又支支吾吾不說,只說不要吃。不讓吃也好吧,可是提前買的時候不說;現在買完了,海鮮不做預處理也不能久放。還好帶了兩瓶好酒,於是趁時間還早,先做了一碟酒煮花螺,當下酒菜吃(聽起來好像用酒下酒)。

下午的時光倒是還挺開心,有一些輩份近、年齡也相仿的表哥表弟來走動。他們平日不缺好酒好肉,但是聽說有不太常見的日本酒和下酒菜,倒也都小酌幾口。期間也終於陸陸續續開始準備祭祖用的茶、酒、果品、熱食,但最重要的一樣──米飯──卻遲遲不好。約摸又過了半個鍾,米飯才煮好,然後才能正式開始祭拜。淺羽本來以爲這個過程應該也要花些時間,就先去處理食材了。沒成想,幾個小時的等待,結果祭拜 10 分鐘就結束了!聊到晚上的安排,突然又說想 6 時吃飯,但是這個時候已經接近下午 4 時,家庭廚房又缺鍋竈,做菜只能一道一道做,難免時間有些緊迫。

緊趕慢趕,最後終於在六點半時做好了全部的菜品。菜端上桌,結果連一桌人都坐不整齊。大人有的忙着想先把廚具清理趕緊,有的不緊不慢地喝着茶滑着手機,有的在追着不想吃飯的小孩餵飯……難得有坐上桌子的同齡人,但是一直也是鬱鬱寡歡。到頭來,一桌飯菜,其他人稀稀拉拉地來、沒動兩筷子又走了。沒有想像中熱鬧的飯桌,只有就浅羽和 partner 在努力進食。

大人們這麼着急當然也是有原因的──他們急着結束這一天,所以吃飯也只是草草了事,又不停地問着「吃好了沒有」。大家都有點心不在焉,只想著趕緊把年過完,完全忘記了節日歡聚的意義。再好的飯菜,如果趕着時間,也索然無味了。

Neo's avatar

移动吉比特 H5-8 光猫超级密码

移动吉比特系列光猫均可参考。

首先使用光猫背面信息,登录普通用户管理界面。再修改浏览器地址,访问:http://192.168.1.1/usr=CMCCAdmin&psw=aDm8H%25MdA&cmd=1&telnet.gch,浏览器会显示 Success。

此时使用 telnet 登录光猫,用户名为 CMCCAdmin,密码为 aDm8H%MdA

登录光猫以后,虽然我们还是没有办法获得超级密码,但是我们可以修改超级密码:

# 修改超级密码为 admin
sidbg 1 DB set DevAuthInfo 0 Pass admin
# 保存设置
sidbg 1 DB save

此时再回到光猫登录页面,使用用户名 CMCCAdmin 与密码 admin 即可登录管理员账户。

参考链接:https://www.bilibili.com/read/cv15548233

櫻川 浅羽's avatar

早知道,還是……原道醬 / YD30 簡單試聽

「早知道,還是原道」的梗不知道什麼時候突然就開始流行,到現在甚至都有些過氣了。這一系列耳機的的歷史可以追溯到原道品牌平板的配件耳機,所以習慣上就稱為「原道耳機」。不過現在想買到貼着「VIDO 原道」品牌的的款式似乎不太容易,容易買到的是 NiceHCK 的品牌的「原道耳機」。關於這個品牌有說法是:

NiceHCK 是福兰声的经销商,闹掰了以后福兰声才出来自立门户的。所以 NiceHCK 前期卖的和后期卖的应该不是同一个作坊出来的。

其實浅羽一直想感受流下「悔恨之淚」的感覺,最近偶然又看到了透明粉色配鍍銀線的款式,就當交「粉紅稅」買下了 3.5mm 無麥版。

經過這幾年的發展,這款耳機不僅包裝不再簡陋,甚至還擁有了耳機娘「原道醬」的插畫形象。除開有點精美味道的紙盒外,包裝裏甚至還有一張原道醬的卡片。除此之外還給了一黑一白兩對實心海綿套,以及證明自己不是三無少女產品的合格證和保證書。

耳機本身當然就是 MX500 的公模沒得跑的。透明粉色的顏色實際上很偏玫紅,不過浅羽原本以爲戴着會很顯眼,實際上全部被側髮遮住了完全看不到(笑)。這麼看,長髮的話其實買什麼顏色都無所謂,尤其是不用擔心自己喜歡的顏色戴起來合不合適。鍍銀線看起來就很有 Hi-Fi 的感覺,據說透明線是新版,音質都會好一些。

按照慣例,曲庫依然是浅羽聽什麼就有什麼、環境依然是浅羽在哪裏就是哪裏,依然是不會有嚴謹的試聽,只有感受。因爲沒有配中空海綿套,所以浅羽直接用了自己的備件。本來接了 amp 想認真聽聽,後來覺得這麼做不知道是在侮辱誰。所以最後是用 xDuoo X3II 和 HiBy R2 + HiBy FD3 的組合。首先低頻的量是很大的,相對地高頻就被壓制了,整個聲音聽起來偏悶。不過繼續聽下去,中頻很飽滿、厚實,非常適合聽一些人聲和器樂。不過,整體的聲音還是很糊的;甚至不用過多的樂器,單一樂器只需要旋律複雜一些,聲音就會混雜成一團。比如一些鋼琴曲,編排較複雜的部分,低音就會混著中音,以致無法分辨。至於什麼聲場、定位,整體人聲不能說貼不貼耳,只能說聲音根本就在大腦中間,而伴奏是分佈在兩耳旁的——這個價格,聲音均勻就不錯了,對吧?

在這種偏下盤的氛圍中,聲音聽起來很溫暖,其實非常適合睡前聽聽催催眠;可惜浅羽長期佩戴這個造型的耳機還是會耳朵痛。另外,這樣的聲音,在馬路邊聆聽的時候,可以很好地保持低音部分不被車流的噪音掩蓋,聲音反而聽著更加「正確」。

如果要總結的話,YD30 絕對不能用來發燒入門,只能是有經驗了當個玩具笑一笑。但是相比其他類似的選擇呢?比它價格幾乎翻倍的潛韻 25 也並沒有更好,而更高價位的潛韻 39 則完全不是一個聲音走向。可以說,雖然大家的聲音都有各種各樣的缺陷,但百元以內,YD30 也可以稱得上的是物有所值了。加上相對多彩的配色和原道醬自己代言自己,倒也不妨一試。


原道醬的裙子有點似曾相識,浅羽好像也有一條類似的。不過這個乳量真是只能羨慕了……話說回來,如果裙子沒有口袋、原道醬的兩隻手也都沒有拿着的話,音源難道是綁在腿上的?

oyohyee@oyohyee.com's avatar

博客进程泄露及僵尸进程解决

chromedp 清理 chromium 问题 + 容器环境 = 僵尸进程
Neo's avatar

Tailscale 自定义 DERP 服务器

Tailscale 官方的 DERP 中继服务器全部在境外,距离最近的香港节点在国内的网络环境中也不一定能稳定 […]
櫻川 浅羽's avatar

ThinkPad X1 Carbon Gen 9 簡單體驗

用了三年多的 ThinkPad X1 Carbon Gen 6 的電池鼓包了,雖然續航時間下降不明顯,卻把整個 D 殼都撐了起來,連螺絲都壓制不住,無奈只好換了 Gen 9。浅羽收到的這臺是定製配置的版本,CPU 爲 Intel Core i7-1185G7,配備 32GB RAM 和 512GB SSD,生物辨識方面有帶 Think Shutter 的 IR/RGB 相機和電源鍵指紋辨識,非 WWAN 版本。總體來說,這代除了 16:10 顯示器外基本上都是常規迭代。但是細節方面的一些完善和提升對於浅羽來說還是比較受用的。可嘆的是 Lenovo 爲什麼非要給 WWAN 版專門單獨開模,簡直是一點升級空間都不想給用家留了。
icebound's avatar

单调栈全攻略

最近刷了不少单调栈,总算搞懂了 基本性质 入栈顺序为下标顺序。 出栈序列分批次为单调增/单调减。 每个元素应当 […]

The post 单调栈全攻略 first appeared on Icebound.

oyohyee@oyohyee.com's avatar

蓝易云服务器体验

null
oyohyee@oyohyee.com's avatar

SSH 调起本地 VSCode

ssh 调起本地 VSCode 打开远端文件夹
icebound's avatar

InfluxDB 2.4+grafana9.0部署

工作中需要自建一个简单的离线监控平台,车上收集的collectd数据会通过ETL平台提取,上传至时序数据库,然 […]

The post InfluxDB 2.4+grafana9.0部署 first appeared on Icebound.

icebound's avatar

一些想法

中秋节在北京一个人过,整个人无比的焦虑:明明很困,躺在床上睡5分钟就会惊醒;看Hadoop源码分析,看不到10 […]

The post 一些想法 first appeared on Icebound.

Neo's avatar

光猫 SK-D740-C 超级密码

创维品牌系列光猫均可参考。

打开隐藏配置页面:http://192.168.1.1/hidden_version_switch.html,勾选 Telnet Enable,页面自动刷新即表示完成。如果页面打不开,可以试试 http://192.168.1.1/hidden_version_switch.gch

开启 telnet 的目的是使得超级密码明文存储在文件中,方便我们获取。

使用 FTP 登录 192.168.1.1,账号密码均为 useradmin,/tmp/telnet_su_passwd 文件内容即为超级密码。

此时再回到光猫管理员登录页面,使用文件内的密码即可登录管理员账户。

参考链接:https://www.right.com.cn/forum/thread-8249610-1-1.html

Roy Binux's avatar

猫之城物理钓鱼挂(二):图像采集以及画面分类

上一篇中,我们实现了屏幕触控的物理输出,但是钓鱼这个小游戏还是需要根据画面反馈来做动作的。我一开始的想法是用一个摄像头拍摄平板的画面然后进行图像处理。尝试了一会发现,就摄像头这 720P 的分辨率,光是梯形校正准确率都不高,可能做个图像分类还行,但是要分辨画面中的信息对我来

Neo's avatar

OpenWrt SquashFS 镜像扩容

最近搞了个软路由,OpenWrt 官方下载的镜像默认空间只有一百多兆,完全不够用的,白白浪费了 SD 卡的空间。本文记录一下如何将默认的空间给扩容。

解压安装包,得到 img 镜像文件

gzip -d friendlyarm_nanopi-r4s-squashfs-sysupgrade.img.gz

给 img 镜像文件末尾增加 6G 空白数据

dd if=/dev/zero bs=1G count=6 >> friendlyarm_nanopi-r4s-squashfs-sysupgrade.img

对 img 镜像文件进行分区调整,使分区占满整个镜像文件

parted friendlyarm_nanopi-r4s-squashfs-sysupgrade.img

# 显示出分区
print

# 将第二个分区调整为 100% 大小
resizepart 2 100%

# 完成退出
quit

最后,将 img 镜像文件打包成压缩文件

gzip friendlyarm_nanopi-r4s-squashfs-sysupgrade.img

这样最后得到的安装包就是扩容完成的了,用这个刷机即可,再也不会提示空间不足了。

参考链接:https://dickies.myds.me:56789/st/routeos/1024/

icebound's avatar

[Leetcode系列]初级算法

初级系列:https://leetcode.cn/leetbook/detail/top-interview- […]

The post [Leetcode系列]初级算法 first appeared on Icebound.

Roy Binux's avatar

猫之城物理钓鱼挂(一):物理模拟触屏点击

真的有2年半没有写 blog 了。我是那种不愿意在事情尘埃落定之前,把它写下来的类型。在这两年半里,H1B 抽到了,也跳槽了。收入上去之后,也更愿意花钱解决问题,而不是自己做点什么,有好几次想要提笔,又感觉没什么好写的。以后会改善吗?我觉得不会,虽然我依旧会去尝试各种新的东

櫻川 浅羽's avatar

在 Proxmox VE 上使用 LXC 建置 UU 加速器

網易 UU 主機加速路由器插件支援 Merlin、小米路由器和 OpenWRT。但是如果沒有支援的路由器如何使用呢?開 VM 是最簡單的方式,先前也分享過一些技巧。容器作法也已經有現成的 Dockerfile 可以使用。不過在 Proxmox VE 上還可以使用 Linux 容器單獨運行 OpenWRT。
oyohyee@oyohyee.com's avatar

【2022 秋招内推】阿里云后端研发工程师

null
oyohyee@oyohyee.com's avatar

使用函数计算获取 IP 地址信息

根据 IP 获取地区信息
oyohyee@oyohyee.com's avatar

正确获取客户端 IP/HTTP Header 也可能重复

博客支持 IP 地区显示的遇到的 BUG
櫻川 浅羽's avatar

斷捨離 | 再見,如果你不那麼 Pro:紅米 Redmi K40 Pro 一年經驗談

儘管大家對於紅米 Redmi K40 系列褒貶不一,但其熱度無疑是足夠的。整個系列之中,定位最低的 K40 (在一系列優惠之後)是最受歡迎的。但是定位夾在中間的 K40 Pro 則在核心部分有諸多升級:

  • SoC 由 Snapdragon 870 更換爲 Snapdragon 888
  • 主鏡頭由 IMX582 提升到 IMX686 感測器(f = 1/1.89)
  • Wi-Fi 6E

整體來看,除去 SoC 的升級外,其他方面可感知的改進不多。但考慮到 SD870 無法兩張 SIM 卡同時 5G 駐網,再加上 K40 在發表之後一時竟難以購買,浅羽最終還是選擇了「比較 Pro」的 K40 Pro。

浅羽是將 K40 Pro 作工具機用,主要解決電話、簡訊、地圖和支付功能。從這個角度出發,K40 Pro 應該說該有的功能都不缺,而且重量控制尚可;至於飽受詬病的塑料邊框,實際的質感也並不差,並且外觀上可以做到無斷點。K40 Pro 全系列都是使用了側邊指紋辨識,對於浅羽這種老索狗 Sony 老用家來說很是得討喜。側邊指紋辨識的好處之一是有準確的位置標識,並且兼顧靈敏與準確,實際體驗比 Xperia 的指紋辨識還是好不少。號稱「最小」的前鏡頭打孔確實很小,且周圍沒有額外一圈黑色區域;相比之下,小米 11 系列、小米 10S 和小米 Civi 反而都沒有做到。

當然,作爲一款「廉價」機種,K40 Pro 也有不少缺點──甚至可以說拿着好的硬體做着極差的體驗。首先是飽受詬病的 SD888 發熱問題,以 K40 Pro 上的散熱自然是無法完全發揮其效能。不過浅羽對於 K40 Pro 的定位就是電話支付機,極少使用它玩大型遊戲,倒也還算流暢。這當然同時也得益於宣傳的「三星 E4 AMOLED 硬性螢幕」的 120Hz 刷新率。不過,這片螢幕也僅有 1920×1080 的解析度,無硬體 DC 調光功能,久看易累不知是否於此有關;系統中也有原色顯示功能,但對於外部色溫的測定不準確,容易忽冷忽暖

背面的一片霧面處理的玻璃算是外觀上的一大賣點,但是非常不耐刮擦容易劃傷。浅羽剛拿到幾日就在擦拭灰塵時就不慎刮出幾道淺印,好在後來貼了保護貼後就看不出來了。而且有了好的先天條件卻沒有無線充電,有線充電也只給到 33W 的功率,應該是受限制於定位了。好在 NFC 和紅外都完整保留,這也算是小米(紅米)手機的保留項目了。

框內爲擦拭灰塵時不慎刮出的淺印

最後在相機的方面。廣角加上超廣角的組合僅僅是保證能影到相,兩顆鏡頭都沒有 OIS,所以低光下基本也不用想什麼。另外,主鏡頭是 64MP(日常使用開啓 4-in-1 拍攝 12MP 相片),浅羽用得更多超廣角的畫素卻只給到 8MP。倒是附贈一顆 5MP 微距镜头頗爲有趣,用來拍攝細緻的貓咪皮膚紋理還是很好用的。浅羽其實對這部份不太在意,因爲影相還是用相機或者 instax 比較多,手機嘛可以記錄到就好了。

至於最終換掉它的理由也很樸素:強迫症浅羽不太喜歡螢幕上打孔……然後機緣巧合就換了屏下鏡頭的手機。閒置之後,浅羽開始思考給 K40 Pro 換個系統當作玩樂機,結果發現選擇寥寥無幾(截止 2022 年 2 月──是的,這篇網誌拖了半年);對比之下,去掉 Pro 的 K40 選擇則多了不少。這也從一個側面反應了不同機種的熱度差別。最終在新舊手機的過渡期結束時候,還是決定「手機不需要可以給有需要的人」,最終以首發價 45% off 轉讓了它。

最後看一眼(沒有本體的)全家福

如果是 K40 代表的是極致的 C/P 值,對比之下 K40 Pro 就顯得有些尷尬了。背負了 Pro 之名的它既要做得更好、卻處處受限於品牌定位不能做到最好。這種「帶着鐐銬跳舞」的做法,不但考驗着廠牌如何做取捨,更考驗用家如何說服自己去接受一些不完美。也許想真正接受這樣的不完美,只有把付出的代價和期望都降低——比如,如果 K40 Pro 沒有那麼 Pro。

oyohyee@oyohyee.com's avatar

评测 Oculus Quest2 及 BigScreen

一个值得一试的 idea——使用 VR 眼镜来替代多显示分屏
oyohyee@oyohyee.com's avatar

NextJS 热重载保留状态

js 热重载时保留 cache
oyohyee@oyohyee.com's avatar

如何优雅地贴 gist 代码

优雅使用 gist
oyohyee@oyohyee.com's avatar

Linux 精细化文件权限

null
櫻川 浅羽's avatar

從 DSM 6 更新到 DSM 7(DS119j/DS120j)

DSM 7 已經釋出一段時間了,但是大量的新功能都屬於「買多一臺」系列,對浅羽來說不是很有吸引力。不過考慮到更好看的用戶介面以及整合的 Synology Drive,趁得閒還是升級一下好了。

Entware 環境

Synology 暫未向 ARM 機種提供 Container Station,但浅羽需要使用一些第三方套件,因此只能透過 Entware 安裝。浅羽的 Entware 是在 DSM 6 時安裝的,更新至 DSM 7 後可以繼續使用,無需額外操作。更新完成後,iPKGui 等相關套件會提示損壞,但是無需理會;而且 opkg 是可以正常使用的。

由於 Easy Bootstrap Installer 需要使用 root 權限,所以暫時無法正常使用。不過仍然可以在 DSM 7 上手動安裝

網路影像錄影機功能

剛完成更新時,Surveilance Station 還停留在版本 8 上,套件中心也未能檢測到新版本,於是只好自己下載 SPK 包安裝。DSM 7 中似乎取消了 armada37xx 架構,安裝 armv8 的 SPK 包即可。

Surveillance Station 9 更新了 DSM 7 風格的用戶介面,並且整合了實時監看和回放功能,不過需要搭配 2.0 版本以上的 Surveillance Station Client。新版本的 Client 的用戶介面也變得更加現代了。但更新到 DSM 7.1 後,H.265 的相關授權轉移到 Advanced Media Extensions 內,並且要求登入 Synology 賬戶後才能安裝 HEVC codec pack。如果有需要使用 H.265 編碼但介意登入 Synology 的賬戶的話謹慎更新。

官方套件

有部分套件未能隨 DSM 更新而更新,浅羽這邊就遇到 Cloud Sync 一例。這些套件在套件中心中顯示爲「已安裝」,但無法開啓。從套件中心中移除(選擇保留資料庫)、重新安裝以後,就可以正常開啓、使用了。

oyohyee@oyohyee.com's avatar

VSCode 容器开发环境

使用 Remote Docker 构建干净的开发环境及 Remote SSH + Remote Container 双重 Buff
icebound's avatar

我丢失了一位朋友

当然,是我又一次和朋友闹掰了。 当然,事情的起因经过结果也都是因为我自己。 在很多人眼里,看上去什么也没有发生 […]

The post 我丢失了一位朋友 first appeared on Icebound.

oyohyee@oyohyee.com's avatar

Clash 的不兼容更新排查

同一个线路,V2Ray 可以用,Clash 不能用
Neo's avatar

WordPress 子主题

为了能对 WordPress 的主题自定义,有时候会对主题文件进行编辑;但如果遇到主题文件有升级,则修改的内容便会丢失。若想保持自己的修改不受主题升级影响,则可考虑使用 WordPress 的子主题功能。

创建子主题文件夹

第一步则是在 wp-content/themes 下创建子主题文件夹,为了方便,名称最好是在原主题文件夹名称后加上 -child,以 Twenty Twelve 主题为例,子主题文件夹最好是 twentytwelve-child,以下涉及到的文件都在子主题文件夹内。

创建样式表 style.css

接下来需要创建名为 style.css 的样式表文件,文件的开头需要有以下格式的内容,以便 WordPress 能正确识别这是一个子主题。

/*
Theme Name:     Twenty Twelve Child
Description:    Child theme for Twenty Twelve
Author:         Neo
Author URI:     https://www.whosneo.com/about/
Template:       twentytwelve
Version:        0.1.0
*/

其中,有几项是必不可少的:
Theme Name – 主题名称不可与其他主题相同
Template – 父主题的文件夹名称

其余的信息可以选择性的添加。虽然子主题可以只有一个 style.css 样式表文件,但是不能缺了 functions.php,否则便无法正确加载样式。

装载样式

最后一步便是装载父主题和子主题的样式了。

以前通用的做法是在 style.css 文件中使用 @import 引入父主题的样式,但现在已经不再推荐使用,因为这会增加样式加载时间,也有可能造成父主题样式重复加载。

装载主题推荐的方法就是在子主题的 functions.php 文件中增加一个 wp_enqueue_scripts 动作,并使用 wp_enqueue_style() 函数。如果不存在 functions.php 文件,则创建。同时不要忘了。所有的 php 代码都需要用 php 标签包围起来<?php 👻 ?>

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
function enqueue_parent_styles() {
    $theme = wp_get_theme();
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css', array(), $theme->parent()->get('Version') );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ), $theme->get('Version') );
}
?>

安装激活子主题

在后台管理 > 外观 > 主题 中,激活你的子主题即可。

添加模版文件

除了上面提到的 style.css  functions.php 文件之外,添加的其他任何文件都会覆盖父主题的同名文件。例如你想修改父主题的页脚,就可以复制 footer.php 文件到子主题文件夹中进行修改。修改完成后,刷新页面就可以看到修改效果了。

oyohyee@oyohyee.com's avatar

Zeek 导出 PCAP

null
oyohyee@oyohyee.com's avatar

记一次 ssh 配置问题

记一次由于错误配置 .bashrc 导致无法 ssh 进入服务器
櫻川 浅羽's avatar

備用機,還是第二支手機?

近年來,越來越多的人購入了第二支手機,「備用機」這個概念也愈發流行。第二支手機用來「備用」的地方有很多,往往也是「專機專用」,區分用途。

最常見的用備用機的理由應該是「多張電話卡」了:在這個到處都要手機門號的年代,公開號碼、私人門號分開已經是再尋常不過的事情了;又或者一卡工作、一卡生活;再或者因爲計劃優惠,所以一卡通話、一卡流量。當電話卡越來越多,雙卡雙待不能滿足需求的時候,如果不想換「非洲之王」 TENCO 的四卡四待手機,只能多備一支手機了。多出的手機往往只用來接收簡訊或這電話驗證,。

隨着越來越多的屬性被附加在手機上,手機早已不是電話、簡訊能概括的了;手機之間不是相互取代的關係,而是而是漸漸地開始出現生態、區分「陣營」,被賦予更多「定位」和「屬性」,各有所長、又各有所短。往往是「大螢幕,我所欲也;單手操作,亦我所欲也」、「拍照,我所欲也;輕薄,亦我所欲也」;這種兩支手機分工合作,既佔盡了一支的優勢、又可以另一支形成互補。反而頗有一種「分久必合,合久必分」的意味了。舉例來說:一機打機、聽音樂、看影片,主打娛樂,電量隨心用;一機通話、訊息、支付,主打生活,保證全天候──這樣的「雙機黨」也是愈發常見了。近年來,手機換代很快,往往買了新款,舊的還用得好好的;如此正好以舊手機應付生活通訊,不用來回遷移和同步資料,而以新手機之最新硬體應付娛樂,可謂是兩全其美。同時,不同廠牌的手機體驗也不盡相同,兩支手機也可以作爲體驗之用、或作爲更換廠牌的過渡。更爲極端一些,有些手機遊戲會區分 iOS 和 Android 平臺的帳號,不同平臺之間帳號無法通用,也就不難理解許多用家在更換手機後依然保留另一平臺的裝置用作娛樂的現象了。也有人選擇儘量用平板解決一些需求,只把手機作爲通話和數據資料之用。這樣一直不更換的手機就是「主力機」,而時常更換的、較新的裝置反而成爲了「備用」。

浅羽自己也在使用多台裝置。浅羽的主要手機是 Hisense A5 Pro,它主打一塊電子紙螢幕,在戶外有絕佳的可讀性。對於浅羽來說,不出門時則將它當作傻瓜機(dumb phone)使用,大部分時候無需理會它;而出門在外時,它可以滿足最基礎的聯絡、地圖和支付需求,並且充電一次可以使用 3-4 天,無需特別計劃出門時間然後提前充好電。唯其更新率偏低、也不支援彩色顯示,因此使用其他裝置進行補充也是在所難免的。類似這樣傻瓜機爲主、其他裝置作爲補充的組合也非常常見,無論是不想頻繁充電、不想被太多訊息干擾或是踐行數位極簡主義的用家都不少。這種狀況下,其實到底哪隻手機是作爲「主力」、哪隻作爲「備用」都很難界定了。

浅羽的兩支手機

最後,還聽說有人使用第二支手機的原因是工作要求:比如自己使用 iPhone,但工作運用到只能在 Android 上運行應用程式;比如自己使用其他廠牌,但是工作僱主對手機廠牌有強硬要求……這種爲了滿足某些要求而添置的手機,反倒更接近真正意義上的「備用」了──因爲不到非用不可的場合,可能不會真的去使用吧。

oyohyee@oyohyee.com's avatar

Git Commit 规范化工具

规范化 Git Commit 记录
icebound's avatar

自动驾驶中的名词解释

上班半年多,学习到了不少东西。为了防止像之前在字节那样,跑路了之后完全忘了自己学到了些什么业务知识,在这里做一 […]

The post 自动驾驶中的名词解释 first appeared on Icebound.

oyohyee@oyohyee.com's avatar

谈谈《星之卡比-探索发现》

好游戏,以一个游戏评价;问题频发,以任天堂能力评价
Neo's avatar

OpenWrt IPv6 DDNS

若想使用 DDNS 服务,则需要有一个自己的域名。花钱注册一个自己专属的域名是比较省心的办法,也有网站提供免费域名,但是服务不太稳定,不建议使用。本文中的例子是将域名托管在了 Cloudflare。

本文假设注册了域名 example.com,并给路由器分配一个域名 openwrt1.example.com,且已经设置好该域名的 AAAA 记录为路由器的公网 IPv6 地址。

安装 DDNS

在 系统 – 软件 中搜索安装 luci-i18n-ddns-zh-cn ddns-scripts-cloudflare bind-host ca-certificates,系统会自动安装好所有的依赖。

添加 DDNS 配置

在 服务 – 动态 DNS 中,点击左下角添加新服务,名称可以随意填写,IP 地址版本这里选择 IPv6,DDNS 服务提供商这里本文以 Cloudflare 为例所以选择 cloudflare-v4:

在 Cloudflare 的 API 中,用户名对应 Cloudflare 账户的登录邮箱,密码对应的则是 API Key。
登录 Cloudflare 账户之后,访问 API 令牌页面 https://dash.cloudflare.com/profile/api-tokens 即可在下方看到 API 密钥,在下方的 Global API Key 的右侧点击查看,输入 Cloudflare 账户的密码之后即可获取 API Key。

获取到 API Key 之后就可以把基本设置中的条目填写完成了:

高级设置中,需要将 IP 地址来源修改为接口,接口这里由于是路由器拨号上网,所以我选择了 pppoe-wan,其余选项可以不用调整也可以照图里的设置来:

计时器设定中,检查间隔可以根据自己的需要来,间隔小的话更新 IP 地址就更快速:

保存并应用所有设置之后,点击新增配置的重新加载,即可启动 DDNS 更新服务:

oyohyee@oyohyee.com's avatar

VSCode 快捷键绑定 Shell 命令

别家有的功能,VSCode 也可以有。在 VSCode 中使用快捷键执行 Shell 命令
Neo's avatar

CentOS 添加 Swap 分区

当系统的内存空间满了之后,Linux 系统就会使用硬盘的空间来“扩展”内存。如果没有设置 Swap 分区,当内存耗尽之后,系统可能就会假死。

创建和激活 Swap 文件

首先创建 Swap 文件:

sudo fallocate -l 4G /swapfile

如果 fallocate 不可用,则可以换用另一种方法:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=4194304

设置权限,确保只有 root 用户可以读写 Swap 文件:

sudo chmod 600 /swapfile

接下来,在 Swap 文件上设置 Swap 分区:

sudo mkswap /swapfile

然后就是激活 Swap 分区:

sudo swapon /swapfile

激活之后可以使用 free -h 命令查看 Swap 分区的使用情况,以验证是否成功激活 Swap 分区。

最后,需要在 /etc/fstab 文件的最后添加条目,确保设置永久生效:

/swapfile swap swap defaults 0 0

调整 Swappiness 值

Swappiness 值是 Linux 内核中定义的使用 Swap 分区的优先级,值可以为 0 至 100 之间的任何整数。值越小系统就尽量少去使用 Swap 分区,值越大系统就尽可能多的去使用 Swap 分区。

在 CentOS 上,Swappiness 值默认是 30。可以通过以下命令检查当前系统的 Swappiness 值:

cat /proc/sys/vm/swappiness

30 的 Swappiness 值对于桌面系统来说是合适的,但对于服务器来说,小一点可能会合适。例如,设置 Swappiness 值为 10:

sudo sysctl vm.swappiness=10

如果想永久设置 Swappiness 值,需要编辑 /etc/sysctl.conf 文件,在末尾添加以下内容:

vm.swappiness=10

移除 Swap 分区和文件

首先,取消激活 Swap 分区:

sudo swapoff -v /swapfile

然后,将 /etc/fstab 文件中的条目 /swapfile swap swap defaults 0 0 删除。

最后,删除 Swap 文件:

sudo rm /swapfile
oyohyee@oyohyee.com's avatar

ASN.1 语法及 X.509 证书格式解析解析

根据 ASN.1 语法解析 X.509 证书信息
Neo's avatar

Tinc on OpenWrt 组网

上一篇写了在路由器上使用 WireGuard 在 IPv6 上直连组网,效果也不错。但是 WireGuard […]
oyohyee@oyohyee.com's avatar

腾讯企业邮箱忽略 MX 记录发信

该问题会导致部分邮件被错误投递,无论是发送方还是接收方都会受到影响,同时可能存在潜在的安全隐患
oyohyee@oyohyee.com's avatar

Chrome/Edge 标签组插件

针对浏览器标签组自动分组插件的对比
oyohyee@oyohyee.com's avatar

【应届内推】阿里云后端研发工程师

内推,速投简历
oyohyee@oyohyee.com's avatar

损坏的 Typecho 备份处理为 JSON

一定不能太懒癌
oyohyee@oyohyee.com's avatar

VS Code VIM 插件高效使用

在 VSCode 中使用 VIM 实现高效操作
櫻川 浅羽's avatar

參加購物節浅羽到底經歷了什麼

自從京東「618 店慶」、淘寶「雙 11」開了購物節的先河後,「購物節」越辦越多,而且每次都有「預熱」、「返場」,時間越來越長,可以說是「每月一次節,每次一個月」。經過幾年的大力宣傳炒作,購物節的形式也漸漸被大家所認識和瞭解;浅羽也不能免俗,想要薅一把羊毛。

平臺促銷,什麼「秒殺」「限時優惠」已經是司空見慣了,守着螢幕等着零點時分也是家常便飯,不過近年的促銷活動週期拉得更長,也就少了些立減限量搶購。優惠的大頭還是滿額減價;有時爲了享受到優惠就不免要湊單。極端一點如浅羽本貓甚至變成了從按需消費變成了計劃消費,購買品牌產品漸漸地就變成了「等 618」「等雙 11」。除掉急用的必需品,其餘的儘量都在「購物節」時購買,甚至於日用品也選擇在優惠期間大量購買「屯貨」,徹底過成了優惠日曆的樣子。

有些情況則是比較可氣,比如說店家要參加「滿 200 減 30」的活動,原本標價 200 元出個頭的產品,在活動期間內突然做小幅度的減價,以至於不能輕易湊夠滿減。可是眼見稍加一點就可以夠上滿減的門檻,怎麼辦呢?這種時候只好去尋找「湊單品」。久而久之,訂單記錄裏就堆滿了各種幾塊錢的小商品,家裏也堆滿了沒什麼用的小零碎。好在這樣一通操作下來,原本打算購買的商品還是獲得了一定的優惠。也有甚者,爲了不多花一分錢,用隨機商品湊單之後再申請退款,只能說與活動的策劃者也不是無辜的。

希望有朝一日能看到這些平臺有更純粹的促銷活動,而非不停地佈置的「消費主義陷阱」;不需要分享「砍價」、不需要計算湊單,更不用爲了尷尬的紅包每天花費時間在毫無樂趣的「遊戲」上。

oyohyee@oyohyee.com's avatar

SSH 正反向代理

让服务器用本地网络、让本地用服务器的网络,做你懂的事情(加速依赖下载)
Neo's avatar

WireGuard on OpenWrt+IPv6 组网

之前在路由器上使用 Zerotier 组网,效果还是不错的。但是两台路由器都是通过打洞连接的,效果可能并不是特 […]
oyohyee@oyohyee.com's avatar

Let's Encrypt 根证书过期引发的问题

Let's Encrypt 在部分设备上提示证书错误
oyohyee@oyohyee.com's avatar

OpenWRT 忽略内核依赖

内核版本导致 Cannot satisfy the following dependencies for kmod-xxx
oyohyee@oyohyee.com's avatar

V2Ray + TLS + WS(WSS) Docker 部署

伪装成正常 wss 的 v2ray 流量
oyohyee@oyohyee.com's avatar

博客前端字体选择

根据字体效果选择了一个清晰易读还尽可能不那么常规的可商用字体
Neo's avatar

Zerotier 主路由旁路由搭配组网

最近新入了一个 R4S 软路由,放在家里当作旁路由来使用,同时单位有一台刷了 OpenWrt 系统的小米路由器 Pro。苦于无法自由访问家中和单位的局域网,便研究了一下利用 Zerotier 来组网。

本文假设两台路由器分别叫 OpenWrt1 和 OpenWrt2,其中 OpenWrt1 作为主路由,OpenWrt2 作为旁路由。OpenWrt1 的局域网为 192.168.1.0/24,OpenWrt2 的局域网为 192.168.2.0/24。

注册 Zerotier

首先去 https://my.zerotier.com 注册账户,然后在 https://my.zerotier.com/network 网络页面,点击页面上方一个大大的黄色按钮“Create A Network”即可创建完成一个网络,在下方的列表中,获得你的网络 ID。

安装 Zerotier

两台路由器均安装 Zerotier:

opkg install zerotier

两台路由器均编辑 Zerotier 配置:

vi /etc/config/zerotier

修改里面的内容,将 ‘xxxxxxxxxxxxxxxx’ 修改为自己的 Zerotier 网络 ID。

config zerotier 'sample_config'
    option enabled '1'
    list join 'xxxxxxxxxxxxxxxx'
    option nat '1'
    option secret ''

两台路由器均启动 Zerotier:

/etc/init.d/zerotier start

网络 – 防火墙 – 常规设置 – 区域设置,将“转发”修改为“接受”:

设置 Zerotier 网络

在两台路由器都启动了 Zerotier 之后,在 Zerotier 的网络管理 Members 里面就可以看到两个设备了,在前面的框内都打上勾,稍等一下就可以在右边看到两个 IP 地址了:

再到两台路由器上运行一下 Zerotier 的命令来检查一下两台路由器到底分配的是哪个 IP:

zerotier-cli listnetworks

从命令输出的最后可以出来当前路由器使用的是哪个 IP。
本文中 OpenWrt1 为 10.147.19.32,OpenWrt2 为 10.147.19.12。

然后在 Zerotier 网络管理的高级设置中,添加对应的路由表,Destination 填入路由器的网段,Via 填入其得到的 Zerotier 地址:

最后

在这番设置之后,便可以在不同网段之间互相访问其他局域网中的设备了。

网上充斥着大量的教程,却也没有说清楚旁路由 Zerotier 到底应该如何配置。在经历了两天的配置之后,终于将主路由/旁路由任意搭配使用的配置总结好。记录一下,以便查阅。

oyohyee@oyohyee.com's avatar

Surface Pro 8 测评

第一波预购,第一波收货,最后一波测评
oyohyee@oyohyee.com's avatar

Go 中值为 nil 的 interface

记一个尽管我知道,但是仍然在项目里义无反顾踩了坑的知识点
櫻川 浅羽's avatar

在 OpenWRT 上正確開啓網易 UU 加速器

網易 UU 加速器不知道爲何被戲稱爲「富家子弟加速器」。不過恰好還有一段時間的訂閱,而且可以安裝在網關上,給遊戲主機加速,所以也不妨用用看。一切準備就緒,浅羽嘗試使用客戶端應用程式。
oyohyee@oyohyee.com's avatar

stty 控制输入流

在实现自己实现 docker exec 命令时,发现需要对输入流做一些特殊处理,这些处理都涉及了 stty 的一些内容
oyohyee@oyohyee.com's avatar

Go io 流管道连接

将不同的 io 流连接起来
icebound's avatar

工作三个月的反思

最近一段时间同事离职了好几个,工作非常的忙,陪女朋友的时间少了,更不要提更博客,写技术文档了。下周要去上海出差 […]

The post 工作三个月的反思 first appeared on Icebound.

oyohyee@oyohyee.com's avatar

使用 Lego 申请 Let‘s Encrypt SSL 证书

突然发现这个竟然没有博客留档
oyohyee@oyohyee.com's avatar

Gitea 添加 jupyter 支持

为 Gitea 添加 jupyter notebook 支持
oyohyee@oyohyee.com's avatar

Goroutine 池

实现一个 goroutine 池,避免大量创建 goroutine
oyohyee@oyohyee.com's avatar

LRU + Expired Map

实现一个支持超过容量自动删除,超时自动删除的 Map 作为缓存
oyohyee@oyohyee.com's avatar

Google Play 商店能访问无限等待下载

Google Play 商店无限等待不下载解决
oyohyee@oyohyee.com's avatar

Linux Shell

记一下可能用得到的 Linux 命令
oyohyee@oyohyee.com's avatar

博客订阅功能重构

一个提取页面里文章部分的思路,有一说一这比写个论文有意思多了
oyohyee@oyohyee.com's avatar

氮化镓充电器测评

测试了两款不同的氮化镓充电器
oyohyee@oyohyee.com's avatar

博客 Docker 化 Part Ⅰ

博客 Docker 化部署第一部分 —— 基本功能实现
oyohyee@oyohyee.com's avatar

Go 1.17 泛型!

Go 1.17 已经支持泛型了!
oyohyee@oyohyee.com's avatar

随机数与并发

随便地使用随机数,可能会导致性能问题
oyohyee@oyohyee.com's avatar

白嫖阿里云函数计算实现 V2Ray、Clash 订阅转换

白嫖阿里云函数计算,实现聚合各个“机场”订阅链接、自建 subconverter 转换订阅
oyohyee@oyohyee.com's avatar

从读锁切换至写锁

为什么在读锁切换写锁时需要重新检查状态
oyohyee@oyohyee.com's avatar

TLS 协议流程

SSL/TLS 协议的简单流程
oyohyee@oyohyee.com's avatar

Suricata 与 Kafka 连接

将 Suricata 输出至 Kafka
oyohyee@oyohyee.com's avatar

LeetCode 137. 只出现一次的数字 II

一道甚至涉及数电的算法题
oyohyee@oyohyee.com's avatar

SMTP 协议抓包理解

对 SMTP 协议进行抓包理解
oyohyee@oyohyee.com's avatar

Kafka 部署和基础使用

Docker 下启动 Kafka,并使用 librdkafka 进行测试
oyohyee@oyohyee.com's avatar

WSL Docker 抓包

Docker 内抓宿主机的数据包
oyohyee@oyohyee.com's avatar

Mermaid 使用

博客添加了 mermaid 的支持
oyohyee@oyohyee.com's avatar

在 Go 中运行 JS 代码

在 Golang 中,执行 JavaScript 代码
oyohyee@oyohyee.com's avatar

阿里笔试 20210326

第二题有点难,需要多次优化。感觉阿里区分度做的并不好
oyohyee@oyohyee.com's avatar

LeetCode 456.132 模式

虽然是道中等题,但是是没见过的套路
oyohyee@oyohyee.com's avatar

面试笔记留档

未整理,纯留档
oyohyee@oyohyee.com's avatar

什么是跨域

为什么要有跨域,如何跨域
oyohyee@oyohyee.com's avatar

TCP 握手和挥手进一步理解

三次握手和四次挥手细节,为什么是三次而不是两次、四次,最后一次挥手等待 2MSL
oyohyee@oyohyee.com's avatar

字节笔试 20210321

这场好难啊,感觉吊打我那一场
oyohyee@oyohyee.com's avatar

阿里笔试 20210319

瞅了眼今天的题,感觉比我参加的那一场简单点
oyohyee@oyohyee.com's avatar

在 Spring 内做 JOIN 联查

一行在 MySQL 里简单的查询,在 ORM 中并不是那么“好写”
oyohyee@oyohyee.com's avatar

LeetCode 的奇怪 Bug 记录

刷题刷出来 LeetCode 的 bug
oyohyee@oyohyee.com's avatar

阿里笔试 20210308

20210308 的阿里笔试,输在一波心态爆炸
oyohyee@oyohyee.com's avatar

字节笔试 20210307

4 道不算特别难的题(起码 1、3、4 都有印象在 LeetCode 见过类似的题目,虽然不完全一样,但是保证了有基本思路) 不过真写起来,也挺麻烦的
oyohyee@oyohyee.com's avatar

阿里笔试 20210306

因为电脑有问题,所以没参加这一次笔试,不过还是补一下题以备下次 耗时 58 分钟(不过真正笔试可能会更紧张,而且实际题目可能更难以理解)
oyohyee@oyohyee.com's avatar

LeetCode 1178.猜字谜

null
oyohyee@oyohyee.com's avatar

Tomcat 非正常操作

一些与常规操作不同的 Tomcat 操作
oyohyee@oyohyee.com's avatar

尝试解答 《Go 语言笔试面试题汇总》

一套 Go 语言的面试题目,根据自己的理解结合网络答案给出一份结果
oyohyee@oyohyee.com's avatar

探讨 Go 错误机制

在检索相关问题时,看到很多人对 Go 错误机制褒贬不一,所以对其进行分析。
oyohyee@oyohyee.com's avatar

乌尔德女神作战计划——Git 历史修改

由于误操作,需要把已经被删除的记录附加到当前的所有提交前面

via these people and places