大数据日知录 (1)

  • 最终一致性
    最终一致性是一种弱一致性。因为在分布式环境下,为了达到高可用性,同一份数据通常会被存储到多个机器节点。而不同进程可能操作数据的不同备份,当某进程对数据做了更新后,需要一定时间来将这个新数值传播到数...

图解HTTP (4)

  • Https是什么
    HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。 通常,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TC...
  • 自定义前缀X-
    在HTTP等多种协议中,通过给非标准参数加上前缀X,来区别于标准参数,并使那些非标准的参数作为扩展变成可能。但是这种简单粗暴的做法有百害而无一益,因此在“RFC6648-Deprecating the"X-"Prefixand Similar Con...
  • 3XX
    当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送。 301、302标准是禁止将POST方法改变成GET方法的,但实际使用时大家都会这么做。
  • 响应体有多部分内容时
    使用boundary字符串来划分多部分对象集合指明的各类实体。在boundary指定的实体起始行前插入“-”标记(如:--AaB03x) 在集合对应的字符串的最后插入“-”标记(如:--AaB03x--)作为结束。 整体看起来大概如下...

算法导论(原书第3版) (1)

  • 插入排序
    首先插入排序,处理的是一个无序数组。 其次插入排序其实是一个两层的嵌套循环。最外层的循环用来将Target运送到内层循环;内层的循环有两个职责:1⃣️在外层将Target运送进来前保证自己维护的小数组是有序...

微积分之屠龙宝刀 (1)

  • 斜率的故事……
    所谓直线斜率,是指该直线倾斜程度的一种量度,度量的方法是先随机截取一段水平距离(run),然后找出该直线在这段水平距离里的高度变化(rise),再把高度变化除以水平距离,得到的比率就是直线斜率。 run与rise...

流畅的Python(第2版) (17) 更多

  • @property是类属性
    特性是类属性,但是特性管理的其实是实例属性的存取。 求解obj.my_attr时,解释器首先检查obj的类,如果类有名为my_attr的特性,那么同名实例属性就会被遮盖。 像obj.data这样的表达式不会从obj而是从obj._class_... (2回应)
  • 特性>属性
    求解obj.my_attr时,解释器首先检查obj的类,如果类有名为my_attr的特性,那么同名实例属性就会被遮盖。
  • asyncio.to_thread避免阻塞事件循环线程
    异步API经常在内部使run_in_executor把实现细节中的阻塞调用包装成协程。如此一来,协程的接口保持了一致,都使用awat驱动,而且用到的线程被隐藏起来了,简单纯粹。
  • get running loop
    asyncio.get_running_loop函数在Python3.7中新增,供协程内部使用。如果没有运行中的循环,那么asyncio.get_running_loop抛出RuntimeError。 asyncio.get_running_.loop的实现比asyncio.get_event_loop更简单,速...
  • __new__是特殊的类方法
    我们通常把_init_称为构造方法,这是从其他语言借鉴过来的术语。在Python中,_init_的第一个参数是self,可见在解释器调用_init_时,对象已经存在。另外,_init_方法什么也不能返回。所以,_init_其实是初始化方...
  • @contextmanager
    @contextmanager装饰器是一个巧妙且实用的工具,将Python的3个不同功能结合在一起:函数装饰器、生成器和with语句。 使用contextmanager能减少创建上下文管理器的样板代码,因为不用编写一个完整的类来定义_enter...
  • Code Smell
    异味的好处之一是,没有经验的人也很容易发现,即使他们既没有足够的知识来评判是否真的有问题,也不知道如何修正问题。 我听说,有一些首席开发人员会提出“一周异味之星”,让团队成员寻找代码异味问题,找到问...
  • @dataclass装饰器
    Q: dataclass 装饰器是做什么的? A: 减少创建类的时候的样板代码的。 这个装饰器不关心定义类的时候的类型注解,除了两个: 1⃣️ClassVar伪类型,被注释属性会成为类属性。 2⃣️InitVar伪类型,被注释...
  • 性能计数器
    t0=time.perf_counter() result=func(*args) elapsed=time.perf_counter()-t0
  • 克制对Web-Scale对高性能的渴望
    我们看到许多团队因为选择了复杂的工具、框架或架构而遇到麻烦,因为他们觉得“可能需要伸缩”。像Twitter和Netflix这样的公司需要支持极端负载,因此需要这些架构,但他们也有非常熟练的开发团队,能够应对由此...
  • 全 局 解 释 锁
    1⃣️ 对对象引用计数和解释器其他内部状态的访问受一个锁的控制,这个锁是“全局解释器锁”(Global Interpreter Lock,GIL)。任意时间点上只有一个Python线程可以持有GIL。这意味着,任意时间点上只有一个...
  • 并发与并行
    并发指同时处理多件事。 并行指同时做多件事。 二者不同,但有联系。 一个关于结构,一个关于执行。 并发用于制定方案,用来解决可能(但未必)并行的问题。 ——Rob Pike Go语言联合创造者
  • 那为何还有继承?
    起初,我们推动继承思想是为了让新手顺利使用只能由专家设计的框架开发作品。
  • 依赖注入优于继承
    至于可读性,适当的组合比继承要好。由于读代码的频率比写代码要高得多,因此一般情况下要避免使用子类,特别是不要混合多种类型的继承,也不要使用继承来共享代码。
  • 何为Pythonista
    就像“什么是美”没有确切答案一样,“什么是Python风格”也没有标准答案。因为对你来说是“地道的”,在我看来却可能不是。但我可以肯定的是,“地道”并不是指使用最鲜为人知的语言功能。 如果想计算列表中各个...
  • 渐进式类型提示
    我坚信,类型提示有存在的必要,然而很多时候得不偿失。用与不用由你自己选择,这多好。 ——Guido van Rossum
  • 稳健性法则
    发送时要保守,接收时要大方。 ——伯斯塔尔定律,又称稳健性法则
<前页 1 2 3 4 5 6 7 8 后页>