2022年2月12日 星期六

[Python] 常用Collections:namedtuple、defaultdict、OrderedDict

 

1. namedtuple

tuple是immutable的,初始化後值就無法改變

namedtuple適用於想存一個不希望有人改值的資料時


>>> from collections import namedtuple
>>> Student = namedtuple('Student', ['name', 'age'])
>>> a = Student('Tom', 20)
>>> a.name
'Tom'
>>> a.age
20
>>> a.age=21
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: can't set attribute


[Python] Fluent Interface 流式接口

 

不知道大家是否有聽過「流式接口」(Fluent Interface)

總之我是最近才知道這個詞的


說起來為什麼會去查這東西

因為最近隨便看看,看到Java code滿多這樣的程式碼:a.foo().boo(),像是這樣會將函式接連串下去的程式碼,就好奇查了一下Python相似的寫法實作與應用

然後就查到原來這樣的寫法有個稱呼:「流式接口」

流式接口- 維基百科,自由的百科全書 

2022年1月15日 星期六

[觀後感] 86-不存在的戰區- 第一季 (有劇透)

 



本作是輕小說改編動畫,作品我在看動畫前就有耳聞,應該是在「這本輕小說真厲害」的榜單上看到的名字的,因此一直有著原作就很有人氣的印象,然後終於動畫化的感覺。


故事講述聖瑪格諾利亞共和國與帝國的無人兵器「軍團」間的戰爭,共和國宣稱研發的無人機「破壞神」能與軍團對抗,並沒有造成人員傷亡,但實際上破壞神是由一群遭受種族迫害被剝多公民權的人駕駛,並非真的無人死傷,只是做為非白系種不被當作人計算而已,這些被隔絕於共和國85區外被迫踏上戰場的人,被惡稱為「86」。

2021年12月9日 星期四

Nginx學習筆記 (8) - Cache緩存配置


Cache 可以減輕後端 server 的負擔,同樣的 request 內容不用每次都再跟 server 要資料,可以使用 Nginx Cache 裡存的 response 做回應

Nginx學習筆記 (7) - Rewrite重定向使用


Rewrite 重定向

語法:

rewrite regex replacement [flag];

若 path 符合後面 regex 正規匹配的話,會重定向到 replacement 位置

Nginx學習筆記 (5) - Load balacing演算法


Nginx 內提供多種 Load Balance 演算法

Nginx學習筆記 (6) - Proxy設定


Proxy 主要分成兩種

1. 正向代理 (Forward proxy):代理對象是client

  client <--> proxy <-- | --> server

  (server不會知道client的IP)


2. 反向代理 (Reverse proxy):代理對象是server

  client <-- | --> proxy <---> server

  (client不會知道server的IP)


作為服務端,我們一般是拿Nginx做為 reverse proxy,前面講到的負載平衡的分流其實就是 reverse proxy 的一種常見功能,以下介紹更多 proxy 相關的功能