Python 并发之痛:线程,协程?

算算日子,我又有两个多月没有写新文章了,是时候给博客除除草了——拖更的原因是( 懒 )换了一份新的工作,在适应新的工作与生活环境。在入职奇安信(上一份工作)的时候,有半年的时间没有更新博客,当时的我把原因归咎于公司 push 员工太厉害,导致员工没有属于自己的空间;可现在的工作明明给予了我足够的空间,我却还是两个多月没有新文章产出,看来个人方面也有一定的原因。 废话好像有点太多了,本篇文章准备分享一下最近工作上遇到的问题以及解决办法。     阅读全文
Wincer's avatar
Wincer 9月 29, 2020

基于 ETS 的漏斗限流

ETS(Erlang Term Storage),是一种运行在 Erlang 虚拟机上基于内存的项式存储系统,在功能上类似于「简化版」的 Redis,但由于集成在 OTP 内部,相比 Redis 来说有两个优点: 不用像 Redis 必须通过网络端口访问,所以在理论上的存取性能会比 Redis 要高几个数量级; 存取的数据结构比较灵活,可以是任何的 Erlang/Elixir 项式。 在稍稍查阅了 ETS 的相关文档之后,我便决定将目前 API 项目中的漏斗限流模块使用 Elixir + ETS 重写(稍后会介绍一下我为什么这么做),当然只重写限流部分并不能替换现有的基于 Redis 的限流,在日后我会将整个的 API 系统都用 Elixir 重写一遍。     阅读全文
Wincer's avatar
Wincer 7月 08, 2020

离职的两个月之后

三月下旬的离职,已经是两个月前的事了。在那之后我没有立刻开始寻求一份新工作,客观原因是考虑到我正处于疫情的中心地带——湖北;主观原因则是在调整自己的状态:想让自己完全从上一份工作状态里抽离出来——时隔两月,我总算可以比较客观、冷静地谈论起离职这件事了。     阅读全文
Wincer's avatar
Wincer 5月 22, 2020

使用 OpenCore 引导黑苹果踩坑记录

说起来是有些奇怪,明明我这么想用 macOS,为什么不直接买一台 Mac 呢,其实是因为我对 Windows 还有需要:闲暇时我也会打打游戏,而购置一台用于打游戏顺畅的 Mac,恐怕就只能从 (i)Mac Pro 起步了——我肯定是不会买的。于是,我选择了黑苹果。     阅读全文
Wincer's avatar
Wincer 4月 22, 2020

Kubernetes 初探

之前对 Kubernetes(K8s)一直抱有一种很「暧昧」的态度:我想了解它的特性,并且也尝试根据别人总结的经验去接触它,但尝试接触后却总像雾里看花,好像懂了一些又好像什么都不懂。 我对新技术技术又总是充满渴望的,渴望来自于对旧技术的不满,这种不满在最近辞职后达到了顶峰:我不想通过别人总结的「二手知识」来接触 K8s 了,而是希望全面地了解 K8s 如何解决了现有软件架构的缺点从而火起来的。正好借着本文,写一下我近期关于架构方面的一些思考(第一篇架构相关的文章,可能会有些稚嫩)。     阅读全文
Wincer's avatar
Wincer 3月 16, 2020

我的学生时代(大学篇)

最近忽然有些念旧,想着距离写完我的学生时代(高中篇)也有大半年时间了,趁着前几天的创作欲还未散去,本文就好好聊聊我的大学时光吧(再不聊我都怕忘记了)。 温馨提示:本文会有些长,会尽量按照发生时间的先后叙述,不过我无法保证本文的叙述具有 100% 的准确性,毕竟人的的记忆本来就不甚可靠。     阅读全文
Wincer's avatar
Wincer 2月 10, 2020

累加器引发的一点思考

趁着最近肺炎,在家修养生息:看看剧,看看电影,偶尔也会学习一下。最近在学习 Elixir 这门语言,由于其实在太小众,只能抱着一本英文书啃(第一次看英文书籍,也没想象中那么难,就是看得比较慢),在看到 Elixir 实现累加器(就是《黑客与画家》里介绍的累加器)的时候,突发兴趣研究了一下,便有了本文。     阅读全文
Wincer's avatar
Wincer 1月 30, 2020

2019 · 终焉

翻了翻存档,我这个之前平均一月发一篇博客的人居然有半年没有新文章产出了,在这里给挂念着这个博客的各位小伙伴说声抱歉(前几天逛 V2 的时候还被催更了)。工作以后确实经历了许多事,也成长了不少,本文作为 2019 的告别文,就稍微记录这一年发生的事吧。 WARNING:本文负面情绪有些重,有些流水账,有些吐槽向。     阅读全文
Wincer's avatar
Wincer 1月 01, 2020

记一次反向代理的搭建

最近和朋友聊天时,他说发现了一个云计算服务商:「ZEIT」,可以为程序免费提供托管,想问问我有没有什么好的想法。我查看了一下发现这货在全球提供的线路还真不少(亚洲大部分地区都有),用作代理软件想必体验会比较不错。 于是我首先想到搭建 ShadowSocks、V2Ray 这类代理软件,不过很可惜 ZEIT 在部署上有限制:不支持 WebSocket(当然更不支持 SOCKS5 了),且虽然线路的延迟比较低,但在带宽上却有限制,于是我暂时放弃了正向代理,把注意打到了反向代理的头上。     阅读全文
Wincer's avatar
Wincer 7月 04, 2019

我的学生时代(高中篇)

在临毕业的这段时间,生活似乎短暂地失去了目标,并不是丧,我也没有认为这是一件坏事——至少我可以有更多的时间思考并记录我的想法,当然更多时间我在好好地、不带任何负担地放松自己。 直到前几天 WakaTime 发邮件过来说已经两周时间没收到我的 Code Activity 了,问是不是插件出了什么问题:「Please reinstall the plugin to continue using the WakaTime dashboard」。其实并不是插件出了什么问题,而是我真的两周没有编程了(笑。     阅读全文
Wincer's avatar
Wincer 6月 15, 2019

奇安信(原 360 企业安全)服务端开发面经

现在说起来我自己都不信,之前我居然一直以为秋招是为当年毕业的学生准备的,直到我们班有人签了百度,我才知道秋招原来是为次年的应届生准备的😅,不过当时已经十月,秋招已经基本结束,于是只好准备来年的春招了。     阅读全文
Wincer's avatar
Wincer 5月 18, 2019

高校生使用教育网的一点姿势

最近一直忙于毕业的相关事项,所以也没有新文章产出——并非是找不到写作素材,实在是没写作时间。虽然这几天依旧很忙,但总算也抽出了一点时间完成了本文,希望能给广大高校生在办理宽带时带来一些帮助。     阅读全文
Wincer's avatar
Wincer 4月 27, 2019

Linux 与 Android 同步剪贴板的通用方案

按照惯例,还是在每篇文章的开头扯几句不相关的:元旦前就从学校回家了,在家的十几天过得很是舒坦:闲的时候,上午玩两小时游戏或者看看直播,下午就看会 Coursera,晚上有时间就看部电影,没整段的空余时间就找朋友聊聊天、刷刷 V2EX;当然在不闲的时候也是做了一些事的,就比如本文将要说到的——让移动平台和桌面平台同步剪贴板的方案。     阅读全文
Wincer's avatar
Wincer 1月 12, 2019

我的 2018 轨迹

实习回到学校十几天后,便开始思考年终总结怎么写,之所以这么早就开始构思,或许是我笃定在这 2018 最后的半个月内也不会发生什么值得记录的大事。当然我也期待着能发生什么事来冲击一下现有的生活——在校的时光实在是太安逸了,想来是应当正处于心理空窗期了。     阅读全文
Wincer's avatar
Wincer 12月 27, 2018

Elasticsearch 集群备份指南

Elasticsearch 官方对其的定义是一种搜索引擎,但我更喜欢把它当作一种非关系型数据库来看待,而作为数据库来看待的话,保障其中数据的安全性和可靠性自然是重中之重了。 首先声明,本文对 Elasticsearch 数据的备份是基于官方提供的 API,其它的诸如 elasticsearch-dump 等第三方工具暂且不谈。官方的提供的备份方式是一种 Snapshot,其中备份路径可以选择云端或本地,本文想就备份集群数据到本地写一份指南,并对遇到的问题做一些解答。     阅读全文
Wincer's avatar
Wincer 10月 27, 2018

Python 知多少(二)——继承

好像又有一段日子没写技术类博文,翻了翻归档,发现最近一篇技术类文章已经是俩月多之前的事了,吓得我赶紧水写一篇的技术文章不然怕是要被人当成生活博主了。思来想去写些什么好,还是继续上次开的新坑,来聊聊 Python 中的继承。     阅读全文
Wincer's avatar
Wincer 10月 21, 2018

杭州见闻

似乎很难说出为什么我对杭州这座城市如此「情有独钟」,以至于暑假就和同学计划着来杭州实习,虽然还是拖到了开学。出发之前也没有准备许多东西,只是简单收拾了一下衣服。所幸到达杭州后遇到的问题(比如租房、工作等)都比较顺利的解决了:遇到了很棒的宾馆老板、主动给我指路的老奶奶、很 Nice 的面试官(随后顺利入职)……这一切都让我对杭州这座城市更有好感,也让如今的我庆幸没有来错杭州。     阅读全文
Wincer's avatar
Wincer 9月 21, 2018

写给 21 岁的自己

人类似乎总是对自己无法掌控的事物有些畏惧,比如时间。我就有些害怕时间的流逝,总觉得去年那篇写给 20 岁的自己的文章还历历在目,如今又到了该写这系列文章的时候了。我很早就开始构思这篇文章该写什么,却直到最近才了有些明确的思路。 去年,我曾对自己说,希望可以「不在意别人的眼光,不为了生存而活,为了自己的热爱」那样真实的活着。所幸我应当是在大部分时候都做到了,因此这一年过得很自在。但怎么说呢,近来关于这个问题我却有些困惑了。     阅读全文
Wincer's avatar
Wincer 8月 29, 2018

博客折腾小记

八个月前,我把建站之初就使用的 NexT 主题换成了 Material 主题,依稀还记得当时告诉自己:以后就好好写文章,绝对不再耗费时间在这没啥价值的事情上(让你立 Flag!后悔了吧?)。时隔半年多,如今发现对我来说好像不折腾比折腾还要难一些,原因嘛,自然是新鲜感与强迫症在作祟,这次折腾的起因就在于新鲜感——我看上了一个主题。     阅读全文
Wincer's avatar
Wincer 8月 22, 2018

Python 知多少(一)——不常见的数据结构

近来准备写几篇文章用于介绍 Python 较高级一些的特性,归为一个系列。本文是这个系列的第一篇文章,主要介绍一下内置的一些数据结构。 对 Pythoner 而言,元组(tuple)、列表(list)、字典(dict)这三个应该最熟悉的数据结构了,恰当使用这三个数据结构的话的确可以应对大部分的使用场合了,但有时因为其它方面的问题(内存占用、插入效率、删除效率等),我们仍有必要学习其它不那么常见的数据结构。     阅读全文
Wincer's avatar
Wincer 8月 08, 2018