148 Matching Annotations
  1. Dec 2022
    1. 一个多线程程序的渐次瓦房店过程通常是这样的:开始,熟悉各种锁和内存栅的老手搭了易于维护的高性能架子出来,然后非熟练技工往上增加功能后无法解决神秘的死锁,只得把细粒度锁换成了对象锁,而最后接手的转码小工索性把对象锁全拆了改全局锁,然后破口大骂线程库:啥破玩意为什么只有一颗CPU在工作
    1. 没用微服务,Shopify的单体程序居然支撑了127万/秒的请求? function show_answer(btn, x) { if (btn.value === "显示答案") { btn.value = "隐藏答案" } else { btn.value = "显示答案" } var as = document.getElementById(x); if (as.style.display === "none") { as.style.display = "block" } else { as.style.display = "none" } }
  2. Jun 2022
    1. I was splitting my train/test sets randomly and that this was not ideal and that I should take the recent issue data as my test set.

      选择训练和测试数据需要合理的理由支撑,为什么一些是训练数据,一些是测试用数据?

    2. Implementing the code I need for a project is a lot easier when I have a big-picture idea of what features are required. That’s why I love doing the “solve it on paper first” exercise when I’m starting. The drawn diagrams don’t just help me think about what I need; they also make for great documentation pieces, especially when working with a remote team.

      思考总是比实施便宜,在纸上写写画画思考一下项目的结构,局限和重点,这样实施的时候更轻松。

    3. I verified some important project properties. There was a valid business case to explore.

      注意开始项目的时候,思考做这个项目是不是有意义也是很重要的一环。练习技术总是有趣,但是更重要的是要有business case才好。

    1. SystemJS

      SystemJs 是一个通用的模块加载器,它能在浏览器或者 NodeJS 上动态加载模块,并且支持 CommonJS、AMD、全局模块对象和 ES6 模块