avatar
steve lee
Elixir Note - Recursion
1. Loop over the list Due to immutability, loops in Elixir are written differently from imperative languages. For example, loops commonly look like: for(i = 0; i < array.size; i++) { # do something with array[i] } In a functional language, mutating i (by calling i++) is not possible. Thus, Elixir uses recursion for looping over data structures like lists. The equivalent of a for loop in Elixir would look like this: def loop([]), do: nil def loop([head | tail]) do do_something(head) loop(tail) end Example: sum all integer of the list defmodule SumList do def sum…
avatar
pyzm
第三篇20220415 联系方式
2vXgWFujPbxqskiU3oLG5w==
avatar
pyzm
第四篇20220415 生活原则第一条
TSVLE97T0rGmii7Be16U9JqM9shmzxsfny1CTNBvoPmx6u6YUvqCfKgLR//Lf+fguVgUTaXcJ4ebcUKkcqrh1LQtricoEDr5DFx2vfI5kMFdACb/4bZqsdu8/5TZzZWQvgM9DuTk3d/N4v/3YWw7fwMYLhnHnYUi/cwNMrYmpKnOp/LRj//n11uzTTXv/Ejvk/y9X7qLJtdD0Ryc8EAOHp+fEf1f6s30WqLnmMZB6anTzqdJrprmpE1QyAfI7PReYM2NeNpZpXrNGGljOk2sB4GmiouHV2iD3mEPHk1KJfmpiEXWjfxhfIrKKiI6GrntmYB9S/oYPS1SBwsUzi2cS/NY+cjnnGshMAf50183Nt6+XiRRQ/7VkK56X+dNWQFnDIjbftz/xMHT4kSNiDEEIYmpa79ZkI0YY52rhy+ebedskGcQ8G65I/JuRJg+gtT153//tLV0YS7V200t44uNDMS7/hsyf1tHwcdUkxXelO3hzb9YbaLIWj+15YAVjjxS2NySqvIQjGZ++/2ZgM3z2txsDxKWRvR0uHO2mAnw2HOqKqPGP88a0ZAeh6xrocwkygJl/JIWTzjgchdTp1+EZWPG1iGQii5xCW1dkXb2XYRCYyGSW9oDN8P/zVd2E32fxtEhabP8VomM/qXxgnnjy9qVxfwoy1WM8BwDbgZ00uL41znMZaG9pFkBqewtDq4m
avatar
比特
安装/升级Windows11之后不能进入BIOS的问题
兴高采烈的体验了Windows11,惊奇的发现LOL帧率比WIN10高很多,也很稳定,但是发现了一个问题:开机之后电脑始终黑屏,然后2-3秒进入系统,中间没有BIOS的启动页面。 试了试,各种热键按烂了都进不去BIOS,而且用了下面的所有方法: 开机的时候疯狂按 DEL ,F1-F12 ,都进不去 尝试进入 高级启动,不可进入,重启直接进桌面 尝试 重置此电脑,直接重启开始提示初始化失败 拔掉所有硬盘开机,直接一直黑屏,不会提示没找到启动盘 关掉快速…
avatar
吕小荣
提高中国程序员幸福感的网络调试工具
警告: 本文介绍的工具仅用于开发工作,若使用者违反国家法律法规,后果自负,与本文无关。 前言 肉身在国内的话,配置开发环境是一种折磨。 yarn install 特别慢;npm install 特别慢;bundle install 特别慢。为了提高下载速度,你必须把各种依赖的下载地址替换为国内的镜像,或者使用 HTTP Proxy。 git clone 慢,需要设置环境变量,指定 HTTP Proxy。 $ export http_proxy=http://127.0.0.1:8087 $ export https_proxy=http://127.0.0.1:8087 SSH 慢,需要在 .ssh/config` 文件中配置 HTTP Proxy。 Host…
avatar
吕小荣
枪炮,病毒与刹车
枪炮 俄罗斯和乌克兰的战争,让人们看到战争泥潭是如此的深。骄纵的大国,自认为可以速战速决的大国,没想到局势急转,自己的经济反而被拖垮。 病毒,让上海重温了计划经济。 凡事都要盖章,要审查。纵使你有一身本领,在计划经济面前也无法施展,没有盖章,你进不了上海;纵使你身患急症,没人给你盖章,你出不了小区;纵使你是狗皮膏药,依然可以登堂入室。 朱门酒肉臭,路有冻死骨。一群装修工人,被困在一套公寓里,只能领到一份食物。十几个理发店的小姑娘,蜗居…
avatar
BestXTools
好工具周刊(第 9 期): tree.nathanfriend.io, ASCIIFlow, WeekToDo, Ray.so, 数字帝国, Arteater
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 | 评论 🌈 在线工具 tree.nathanfriend.io 一款非常简洁好用的 ASCII Tree 树形目录图表生成器。支持 Markdown 语法。 链接: https://tree.nathanfriend.io/ 源码: https://github.com/nfriend/tree-online 类似工具: Tree 树形目录可视化生成器 - https://devtool.tech/tree ASCII Tree Generator - https://ascii-tree-generator.com/ ASCIIFlow 一款开源好用…
avatar
电子芥末
最近试用了 Helix 编辑器,很对我口味
我是看到了这个贴子发现这个编辑器的: 《尝试使用 helix 作为文本编辑器的爽点和痛点》 https://v2ex.com/t/848997 立即下载试用,第一印象很不错。 优点一:零配置开箱即用 安装后,完全不需要写配置文件,也不用安装插件,直接就拥有带预览功能的 file-picker 和 buffer-picker, 很方便很好用。 安装对应语言的 LSP server 即可获得在函数定义与函数引用之间跳转等功能。 安装 LSP server 也很简单,比如 Python 只需要 pip install python-lsp-server…
avatar
BestXTools
好工具周刊(第 10 期): 【特别篇】写在第 10 期,对于这个周刊的思考, 不可见零宽字符 (invisible zero-width characters) 相关工具
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 | 评论 写在第 10 期,对于这个周刊的思考 时间过得很快,好工具周刊已经更新到第 10 期了。从第 1 期更新到现在经过了两个多月,一共分享了 70 个工具(每期 7 个)。截止发稿时间 (2022/4/28),竹白平台的订阅者已有…
avatar
Rei
关于 2022-04-24 的服务器故障
GeekNote 在 2022-04-24 ~ 2022-04-25 期间遇到了两个服务器机房的故障,分别是: 机房资源被耗尽(链接) 储存卷磁盘损坏(链接) 恰好这段时间我身边没有电脑,要跨越时差和服务器技术支持沟通,导致这个问题解决花了很长时间。期间用户不是看到 Cloudflare 的 500 错误页,就是 Rails 默认的 500 错误页。如果没有 follow 我个人 Twitter(@chloerei),可能会以为网站跑路了。 为了改进错误提示,我做了以下事情: 建立错误报告页面,地址:https://geeknote.statuspage.io/ 。 改进了…
avatar
Rei
Fly.io 一个 app 运行多个进程的方法
在之前的 Fly.io 部署教程中,web 进程和 worker 进程是分开部署的。这会造成一些问题: 设置环境变量需要两边重复设置。 需要分别部署或分别回滚,过程可能产生错误。 我在 fly.io 的社区中发现,单个 app 部署多个进程的方法已经作为预览状态提供,有兴趣的可以先行试用。 Preview: multi process apps (get your workers here!) https://community.fly.io/t/preview-multi-process-apps-get-your-workers-here/2316 GeekNote 的部署配置合并后是这个样子,可以用于一般的…
avatar
胡涂说
No.13: 周刊的周刊
离上一次写周刊已经过去了十个月了。写作这种事情就是这样,一旦中断,就很难接上,得不停的写写写才行。但是持续写周刊又有压力,感觉没那么多可写的东西,又不能为了写而写。总之,这是个很矛盾的事情。好在我之前就留了余地,将周刊定义为不定期周刊,心里稍微心安理得些了。不过,看到很多博主在写周刊,我想还是把这一传统给拾起来。读周刊的好处是可以快速…
avatar
BestXTools
好工具周刊(第 11 期): favicon.io, Pixel Art Together, Look Scanned, Coverview, ...
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 | 评论 五一假期转眼就结束了。因为疫情,有些人可能哪里也没去成。不管怎样,希望大家都过得还不错。 🌈 在线工具 favicon.io 免费、好用、没有广告、无需注册的 favicon 制作工具。可以把 PNG、文字、emoji 转成 favicon。 链接: https://favicon.io/ Pixel Art Together 刚过去没多久…
avatar
电子芥末
AWS Lightsail 迁移失败经历
我的 ai42.xyz 域名即将到期, GoDaddy 去年收我 ¥100, 今年涨价到 ¥120, 我觉得不合理,而且也比 namecheap 贵。刚好我也想把 VPS 从 Vultr 转到 AWS Lightsail, 索性域名也注册一个新的吧。 万万没想到,我把域名迁移到 Cloudflare 和把 VPS 迁移到 Lightsail 这两个计划都失败了。 尝试在 Cloudflare 注册域名 遇到了 Error: Domain registration is blocked for a few minutes pending an existing request. (Code: 10000) 搜索发现不少人遇到同样的问题,有人反映等了一天仍…
avatar
吕小荣
刷牙是个大问题
2020年的一个早上,我在刷牙时开始思考:为什么我要在起床后刷牙? 刷牙的目的是为了清洁牙齿表面的食物残渣,更恰当的时间点应该是在早饭后。我居然循规蹈矩的活到34岁才开始思考这个问题! 为了更方便你了解这个问题的严肃性,我有必要介绍一下成长经历。我1986年出生在农村,当时的农村和城市的差距很大的。土坯房,下雨漏水连连,断电是常态,只有过年才买衣服。 在那个年代,农村人也…
avatar
BestXTools
好工具周刊(第 12 期): Hoppscotch, Blob Animation, Svg Wave, Array Builder, MBTI, ...
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 | 评论 Image from Pixabay 大家好,两周前,好工具周刊迎来第一个里程碑,周刊第 10 期更新了,在那一期简单写下了对于这个周刊的思考。 今天又迎来了第二个里程碑,截止 2022/5/11 23:59:59,好工具周刊在竹白平台的订阅数破 1000 了 🎉…
avatar
HackerPie
解读Rails(系列翻译)
解读Rails系列文章原文来自Reading Rails,我将尽我所能完成此系列所有文章的翻译。以下部分为原文系列对应翻译: 在我们的工作中,我们的大部分时间都是在使用各种各样的工具,但是你知不知道它们是如何工作的呢? 在这个系列里,我们通过阅读Ruby on Rails的源码去探索其内部的工作机制。我们将不仅仅只是学到与Rails有关的知识,我们也将见识到Ruby里边一些有趣的功能,以及一些有用的新技巧。 解读Rails - 适配器模式…
avatar
HackerPie
在Ruby中使用WebSocket
声明 : 此文翻译自WebSockets in Ruby, 限于本人才疏学浅,其中有翻译不当之处,敬请指出,感激不尽! 在我的主要工作中,需要构建一个一直占用相当大CPU时间片的数据系统。这个任务主要用于在地理编码以及local reference system(本地地理系统?)之间进行编码以及解码。举个例子,这个工作将帮助我们在系统中标记一条对应于街道上某个地点的记录,并且可以知道本地地理位置所对应的坐标。 在第一次的尝试中,我开发了一个用于地理编码的Ruby库以及一个…
avatar
HackerPie
DIY an interesting timer through terminal-notifier and crontab under Mac OS X
Today I will show you how to DIY an intersting notifier automatically running per hour under the Mac OS X 10.8 and higher, all we need are a terminal-notifier and the system built-in command line program named crontab. 1. Install the terminal-notifier terminal-notifier is a program written in the awesome Ruby program language, we can visit the releases page and download the newest version of terminal-notifier. Steps to install it: Please click the green button such as “ terminal-notifier-1.5.0.zip ” and select a path wherever you love to save the zip…
avatar
HackerPie
Split logs automatically every day
Related resource(s): “linuxcommand: logrotate”:http://linuxcommand.org/man\_pages/logrotate8.html logrotate is designed to ease administration of systems that generate large numbers of log files. Normally, logrotate is run as a daily cron job. Some important knowledges: Any number of config files may be given. Later config files may override the options given in earlier files, so the order in which the logrotate config files are listed in is important. Normally, a single config file which includes any other config files which are needed should be used. If a directory is given, every file in that directory is…