[email protected]:~$

  • Ruby 又要添加绿色线程了 Thread::Green

    Tags: Ruby

    翻到了 ruby-lang 的这个 issue,Eric Wong 给 Ruby 提了一个绿色线程的 PR https://bugs.ruby-lang.org/issues/13618 总结下: Eric Wong 给 ruby 增加了可以自动调度的 fiber,暂命名为 Thread::Green。就是类似 go 的 goroutine 这样的轻量级线程 Queue, SizedQueue 等用于同步的类是可以和 Thread::Green 一起使用的。意味着现有的 WebServer 换成 Thread::Green 很简单可...

  • 2017 书单总结

    Tags: 读书

    写了些 2017 印象深刻的书,有些是重读,有些则是 2017 年才感悟深刻。 《毛泽东选集 一》 以前认为崇拜毛泽东的人不可理喻,读了这本书认识到他的思想和意志力的确让人佩服。毛泽东用精准的眼光去分析问题,直指本质,多年不动摇的坚持并证明。而其总结的方法论就是 “了解、研究,研究透彻自然有解决的办法”,让人感到理所当然,又感到恍然大悟,大道至简,知易行难啊,整本书用我们熟悉的历史来反反复复的描述这一方法论的实践。你可能熟悉历史但不熟悉其背后的时局战略,你可能熟悉时局战略但不知其因,你看了这书后就都懂了并且会很佩服毛泽东。在当今社会,真的很...

  • 介绍下 IO loop 和 Ruby 并发网络库 LightIO

    Tags: Ruby IO

    说到脚本语言与高性能, Node.js 凭 benchmark 给人留下很深印象。 Node.js 的高性能来自于异步 IO。Node 本身提供了 IO loop 和大量的异步接口,而其臭名昭著的 callback hell 也是源于此。 IO loop,顾名思义就是一个循环,用来处理响应 IO 的代码。一般此类库的接口会允许注册一些 callback 用来处理 IO 结果。 类似的语言或库大同小异,用 Ruby 的 EventMachine 库做比方: # echo server 经过简化 class EchoServer < EM...

  • The Pragmatic Programmer 的两点感悟

    Tags: 读书

    没想到 The Pragmatic Programmer 被翻译成了《程序员修炼之道》,副标题是“从小工到专家”,要不是原书强大的实力和名声估计很少会有人买中文版吧。 此书中印象最深的是对思考(书中 Think 魔咒)所举的例子: 一般程序员在开会时会想,这太浪费时间了!开会时间用来写代码可以提升很多效率。 而两位作者在想 为什么会有这个会议? 可否避免或更高效的完成会议? 两位作者在思考工作本身,他们在对工作编程! 这个例子很好的展示了两位作者几十年从业中坚持思考,把思考变为习惯(Think 魔咒),通过思考对工作与生活不断改善,使他们的思...

  • 如何用微服务制造问题

    Tags: 微服务

    如何使用微服务制造问题 微服务成本 理想的微服务平台 声称使用微服务架构的公司越来越多,一方面是云服务商的炒作,另一方面也的确是微服务带来好处的影响。 无论如何理解,在 twitter 上可以看到越来越多的程序员在吐槽微服务.. 一方面,理论上微服务通过大事化小分而治之,可以解决开发周期长,旧项目难以维护等一系列问题,看起来非常万能。 另一方面很多人忽略了微服务的隐含成本,在实际实施后反而感觉处处不便。 实行微服务所需要的额外工作大致如下几类: 部署困难:需要搭建如 K8s, CloudFoundry 等应用平台来...

  • 算法惨不忍睹-背包

    Tags: 算法

    看了道 leetcode 题目 https://leetcode.com/problems/ones-and-zeroes/description/ 这其实是一道背包问题,使用背包的状态转移方程可以简单解决 轻轻松松试了下手,果断翻车了… 我发现并不是题目难,而是我一直没能真正理解背包算法为何会这样来设计? 每次看到解答都会感觉反直觉,无法将直觉思路联系到这种解法,而网上的解题过程也大多由结果出发,没有掌握到 why 看题目时我的直觉是对每一个字符串判断需不需要,然后利用递归计算,算法如下。 def find_max_form(strs,...

  • CSRF 矛与盾

    Tags: CSRF 安全

    CSRF(跨站请求伪造:Cross-site request forgery) 可谓老生长谈的话题,有无数的博客和文章都在讲 CSRF 攻击与防范。 近日感觉自己知识点之间存在着裂缝,无法做到了如指掌。于是弥补了下知识裂缝,并写成文章,贡献了 yet another CSRF 博文.. 摘要 CSRF 实践 POST 比 GET 安全? 为什么还要 CSRF protect token? 前后端分离和 CORS CSRF 实践 顾名思义,一句话概括跨站请求伪造(CSRF)就是:在用户浏览 A 站(恶意网站)时,伪造用户向 ...

  • 细节与关键点

    Tags: 想法

    查理芒格(《穷查理宝典》)多次提到微观经济学的重要性,重视多个“微观”因素引起的现象,印象比较深的例子是如何创造高回报率的“可口可乐”公司。 无独有偶,最近读过的很多书籍同样强调“微观”的重要性。讲述 Salesforce 故事的《云攻略》中也有着类似表达, Salesforce 很重视在设计中吸取用户的意见,但最初没有捕捉监控用户操作产品的系统,于是 Salesforce 会定期直接访问客户询问对产品的意见, 虽然只是从部分客户得到的反馈,但取得了非常好的效果。 第三本促使我反复想到微观效应的书是《特朗普传:The art of the deal...

  • 复利和杠杆率和scalable

    Tags: 想法

    “High output management”(《格鲁夫给经理人的第一课》)中一直提到要多做“高杠杆率”的工作,虽然从书中收获颇多,但之前一直没能理解如何判断哪个工作是“高杠杆率”? 直到看了一篇写 Growth Hacker 的文章,其中描述最重要的任务就是不断试错来寻找 scalable 的增长方式,然后对这种方式大笔投入就可获得数量成长。 最近重读格鲁夫著作,终于理解杠杆率和 Growth Hacker 的 “scalable” 一脉相承。 格鲁夫不断强调招聘、培训和激励的重要性。 拿招聘来打个比方,经理最重要的任务是招聘更优秀的人...

  • 2017 知识分享与人工智能

    Tags: 想法

    以人整合知识 互联网上信息的获取可以以专业性和聚合性两个维度衡量。Coursera 与 微博 正好代表两个端点。 Coursera 代表了知识的专业性与高度整合性。微博代表了知识的非专业性与碎片化。 两种平台分别位于知识获取的顶端与底端。Coursera的专项课程推出与微博的营销号泛滥更加的印证了这一点。 现今的人工智能、区块链、共享经济等新热点。已经非常的专业化,难以用碎片化的信息填补。 大家越来越发现看了十几篇的公众号仍然无法理解区块链的原理与前景。面对着热点与本身知识的断层给人们带来了内心不断的焦虑感,解决或利用这种焦虑感是知识创业者们的...