139 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. Apr 2022
    1. 团队的骨干工程师在一起合作多年了,彼此都很了解。他们以前都为军方的情报部门工作,开发军事软件。 军方的计算机是不能连网的,他们的开发环境完全不能上网,所以干活很痛苦。如果他们想在网上查一些软件资料,必须步行到军营外面的另一栋大楼。因此,上网查资料变成了一项成本很高的操作。

      效率来源于对底层的理解和记忆.

      ![[202105010009]]

  3. Mar 2022
    1. 学习函数式编程对我产生的影响是,让我更加关注哪些概念自然地被视为"对象",哪些概念是不可变的"值"。 我还会更加注意,我的代码是否包含副作用,从而更谨慎地隔离这些地方,使代码更多是"纯的",这大大提高了我的面向对象代码的可测试性。

      《函数式编程对面向对象的程序员有什么用?》

      思考变化能更好的理解什么是对象

  4. Apr 2019
    1. 步骤不确切,视频是对的:要把鼠标移到边缘,光标变了之后再按键+移动