Kirin

@Kirin

I’m from the Future.

Joined on Sep 18, 2020

  • MTV模式 Django 是 MTV 模式為架構,Model、Template、View,作用方式如圖: User 透過 Browser 發出 request Django 依照 Urls 到指定 的 View View 透過 Models(ORM) 到 DB 取資料; 資料再回傳至 Models - View - Template(可選) - Browser,完成一系列動作。
     Like  Bookmark
  • 文件擴展名 文件擴展名3.5版本之後可用 .pyw、.pyz、.py 0.1 + 0.2 == 0.3 為 False,因為精度問題,正確是等於0.30000000000000004,可以使用math.isclose(0.1 + 0.2, 0.3)解決 內置函數 math.trunc(x):返回 x 截断整数的部分,即返回整数部分 complex():返回一個複數,例如print(complex(2, 3)) # (2+3j) random.randint(min, max):隨機產生一個整數
     Like  Bookmark
  • 只寫和 javascript 不同的部分。 函式內的函式只能在函式裡使用 名稱區分大小寫,不能以數字為開頭 (不受限制,但是可能違反了PEP-8 ,限制了79字符) 系統將函數調用的參數和局部變量存放在內存的stack 全域變數和區域變數 Python 裡的主程式與每個函式,都有各自的名稱空間(namespace),簡單區分方式:
     Like  Bookmark
  • 語法和運算子大部分都跟 javascript 差不多,所以只寫和 javascript 不同的部分。 運算子 優先級 ** > * x**y:x 的 y 次方(xy) x % y:取餘數 x // y:除法,向下取整數 字串處理
     Like  Bookmark
  • 單行/多行註解 單行使用# 多行使用三個雙引號""" ..文字 ..文字 """ 註解群組 使用region和endregion來組成一個註解群組,裡面的內容就可以被折疊,例如:
     Like  Bookmark
  • Race Condition 的出現是由於對共享記憶體的不同步訪問。 舉例來說,如果電腦中的兩個行程同時試圖修改一個共享記憶體的內容,在沒有並行控制的情況下,最後的結果依賴於兩個行程的執行順序與時機。而且如果發生了並行存取衝突,則最後的結果是不正確的。 簡單說起來就是我們在同時間,對相同的變數進行了讀寫。試想我們都有一個變數 count = 0,若我們用併發的方式進行 count++,當然會發生兩個 goroutines 尚未等到對方寫回前就進行讀寫的狀況。
     Like  Bookmark
  • 編譯 全部一起翻譯(c, java..) 通常是靜態語言(翻譯的時候就會確認型別,所以執行期間不能更換型別,所以降低執行出錯的風險)在用 因為已經翻譯完才執行,所以效能快 因為要等翻譯完才能執行,所以開發慢 可以獨立運行直譯:一行一行翻譯(js, py..) 直譯 一行一行翻譯(js, py..)
     Like  Bookmark
  • 橋接就是將主機網絡卡與虛擬機器虛擬的網絡卡利用虛擬網橋進行通訊。 在橋接的作用下,類似於把物理主機虛擬為一個交換機,所有橋接設定的虛擬機器連線到這個交換機的一個介面上,物理主機也同樣插在這個交換機當中,所以所有橋接下的網絡卡與網絡卡都是交換模式的,相互可以訪問而不干擾。 在橋接模式下,虛擬機器ip地址需要與主機在同一個網段,如果需要聯網,則閘道器與DNS需要與主機網絡卡一致。其網路結構如下圖所示:
     Like  Bookmark
  • 概述 web server 就是提供 web 相關服務的伺服器,例如在主機上執行 web server,它能幫主機開一個 80 port,讓使用者能透過主機IP與之建立連線,再透過 web client 與使用者互動,這也就是我們再熟悉不過的 client-server 架構。 Node.js、Golang、Python,都可以透過程式直接跑一個 web server 起來,這類程式語言起的 Web Server 可以處理靜態跟動態解析,通常會被稱為 Application Server。 而 Web Server (Nginx、Apache..),只能拿來處理靜態資源,其主要功能為負載平衡、代理(proxy),此外,Web Server 處理靜態資源的能力是遠遠高於 Application Server 。 動態解析﹔把需求轉發到 Application Server,由Application Server 處理完後,再丟 response 回去,由 Web Server 進行回應,最後才回到 Client 端。 負載平衡﹔在高流量的狀況下,只靠一個 Application Server 是肯定會炸掉的,所以需要開起多個 Application Server 來分擔流量,負載平衡就是負責 request 的分發,決定 request 要被分到哪一個 Application Server 處理。
     Like  Bookmark
  • 網路模型都是以分層運作,傳送端由上往下層層處理,每一層包裝都會在表頭(header)加上每層的資訊,這個過程稱之為「封裝」。 接收端收到資料後,再由下往上層層解開,才得到我們要的資料。 OSI模型 ISO制定的國際標準,容納多種不同的網路,OSI模型分為七層,有助於了解網路裝置、通訊協定等架構,依序為: 第1層 實體層 定義網路資訊傳輸時的實體規格,並以位元傳送和接收。
     Like  Bookmark
  • 每一台電腦都必須有一個IP位置,具有「不可移動性」。 IP位置由32位元組成的二進位碼,每八個位元一個單位 IP位置由「網路識別碼(Network ID)」與「主機識別碼(Host ID)」組成 # 例如IP位置 210.209.22.210 # 8位元 + 8位元 + 8位元 + 8位元 = 32位元 11010010 11010001 00010110 11010010
     Like  Bookmark
  • Database 的四種儲存內容 SQL 中 一個 Database 會有 Tables、Views、Stored Procedures、Functions 四種儲存內容,下面依順說明差異: Tables (表) 一般常用來 CRUD 的地方,裡面可以開多個 Table 來儲存資料。 Views (檢視表) 如果每次都要關聯一堆 Table 才能查詢需要的資料,就可以先將 Tables 內的 Table 關聯起來,並儲存成一個 View,需要用到的時候就不用再次關聯,其只能拿來讀取。 -- 範例
     Like  Bookmark
  • 賦值運算子 右方的值 賦予 左方的運算元。 (ex: 左 = 左 + 右) x = y x += y x -= y x *= y x /= y x %= y
     Like  Bookmark
  • 關聯式代數 關聯式代數 p.s. 除法步驟的部分寫錯,請勿參考,正確為: 選出A欄位 -> 表1 表1 乘以 B -> 表2 表2 去除 A表值 -> 表3 選出表3欄位 -> 表4
     Like  Bookmark
  • 關聯式模式的運算分兩種: 關聯式代數(Relational Algebra) 程序式的查詢語言 清楚的運算順序 為SQL的理論基礎 關聯式計算(Relational Calculs)
     Like  Bookmark
  • De-normalization 反正規化
     Like  Bookmark
  • Lossless Decomposition 無損失分解
     Like  Bookmark
  • Function Dependency;FD FD
     Like  Bookmark
  • Normalization Normalization
     Like  Bookmark
  • SQL (Structured Query Language) 結構化查詢語言,是一種與資料庫溝通的共同語言,非程序性語言。 SQL 提供三種語言: 定義 Data Definition Language;DDL建立、維護資料結構 CREATE(新增)、ALTER(修改)、Drop(刪除)資料表 操作 Data Manipulation Language;DML 異動與查詢
     Like  Bookmark