原创 Django CSRF防禦具體流程

Django CSRF防禦具體流程 Django CSRF防禦具體流程 主體部分轉自上文。 今天有人問到了Django的CSRF防禦機制,由於之前沒用過Django,所以上網搜了一下,感覺上文說的不錯。這裏簡單的說一下流程。 Djan

原创 永遠不要在 MySQL 中使用「utf8」

轉自:永遠不要在 MySQL 中使用「utf8」 最近我遇到了一個 bug,我試着通過 Rails 在以「utf8」編碼的 MariaDB 中保存一個 UTF-8 字符串,然後出現了一個離奇的錯誤: Incorrect string va

原创 關於Unicode

記得之前寫過,但沒找到,應該是自己記錯了吧 Unicode 基本概念網上很容易得到,就是全球統一的字符集 UCS-1, UCS-2,UCS-4(實際上是沒有UCS-1的,但ascii可以當成是UCS-1),分別是佔用一個字節,兩個字節,

原创 Moore majority vote algorithm(摩爾投票算法)

Boyer-Moore majority vote algorithm (摩爾投票算法) 簡介 Boyer-Moore majority vote algorithm(摩爾投票算法)是一種在線性時間O(n)和空間複雜度的情況下,在一個元

原创 Go踩坑之:defer

這個是之前遇到的一個問題,今天想起來了,閒來無事也就記錄一下吧。 下面的代碼有什麼問題嗎: f, err := os.Open(filename) defer f.Close() if err != nil { retur

原创 58到家數據庫30條軍規解讀

轉自:58到家數據庫30條軍規解讀 軍規適用場景:併發量大、數據量大的互聯網業務 軍規:介紹內容 解讀:講解原因,解讀比軍規更重要 一、基礎規範 (1)必須使用InnoDB存儲引擎 解讀:支持事務、行級鎖、併發性能更好、CPU及內

原创 Python運行機制以及pyc/pyo文件的作用

作者:知乎用戶 鏈接:https://www.zhihu.com/question/30296617/answer/112564303 來源:知乎 著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。 作爲Pytho

原创 Python 多進程使用中的一些記錄

multiprocess的Daemon: 如果設置爲True,則父進程不會等待子進程,直接結束 如果設置爲False(默認值),則父進程等待子進程退出後結束 有意思的是,如果Daemon爲True,父進程退出後子進程也會跟着退出。 D

原创 MySQL表爲什麼必須有主鍵 -- 聚集索引的簡單介紹

注意:下面討論的都是MySQL5.6版本中的innodb引擎。 比較規範的數據庫表設計(包括我們公司)都會有一條不成文的規定,那就是給每張表一個自增主鍵。那麼自增主鍵除了有數據的唯一性外,還有什麼所用呢?爲什麼要有自增主鍵? 之前我轉發的

原创 爲什麼要用Nginx反向代理

之前看過阿里巴巴 陶輝寫的《深入理解Nginx:模塊開發與架構解析》,裏面也提到了這一點,今天突然想到了,就回顧記錄一下,有可能說的不全。 nginx反向代理爲什麼能降低上游服務器的負載。 一般來說公網延遲高,客戶端與nginx之間的請求

原创 高併發和大數據的一些小trick

之前看書或者瀏覽博客中遇到過的一些有趣的題,記錄下來。 在閱讀《MySQL高性能》這本書索引部分的時候,看到其中某一段描述,大意是: 在數據量大的情況下,可以對某個鍵做hash,求出hashcode,然後對hashcode做索引。數據量大

原创 Mysql爲什麼不建議使用join

首先,你需要知道join的語法:Mysql Join語法解析與性能分析 事實上,用分解關聯查詢的方式重構查詢有如下的優勢: 讓緩存的效率更高。許多應用程序可以方便地緩存單表查詢對應的結果對象。如果關聯中的某個表發生了變化,那麼就無法

原创 論一數據同步方案

前段時間重做了一個數據同步方面的工作,具體是把相關數據從一個遠端複製到本地端,需要做到不重、不漏、無誤的同時保持使用簡單方便。 背景: 我們跟第三方合作,可以讀取使用第三方的數據源,但不能修改,而第三方的數據源沒有我們想要的索引和主鍵約束

原创 Linux IO模式及 select、poll、epoll詳解

Linux IO模式及 select、poll、epoll詳解 非常不錯的一篇文章,可以很好的理解IO多路複用。不過對於新手還是有一定的難度。 這裏提一點:IO多路複用與同步IO的最大區別在於,IO多路複用同時監聽多個連接的時候不會阻塞在

原创 MySQL主從複製配置及步驟

瞭解更多參考:阿里雲RDS主從 步驟: MySQL主服務器 配置my.cnf 在[mysqld]中添加: server-id=1 log-bin=/path/to/mysql-bin sync_binlog=1 innodb_b