原创 study by example 1

背景 需求產生的原因:今有一商戶,有這個月每日的銷量數據,想知道兩個特定日期的銷量,比如說10號和13號。這個時候用眼睛一掃就可以知道結果了。但是,如果需要在一年的數據中,找到給定的多個日期的銷量,那麼應該如何找呢? 使用到的文件

原创 你真的懂Go的切片嗎?

介紹 本文翻譯自:https://blog.golang.org/go-slices-usage-and-internals Go中的切片提供了一種方便、有效的處理一系列特定類型值的方式。切片在其他語言中和數組是相似的,但是有一些

原创 sync.RWMutex 解決讀寫問題

在一個共享的數據需要被多個線程訪問的時候就會出現很多讀寫問題(由於讀寫問題有很多變種,所以用許多來形容)。有兩種類型的線程需要訪問數據—讀線程和寫線程。讀線程僅僅讀數據,寫線程修改數據。當寫線程有權限訪問數據的時候,其他線程(包括

原创 go 利用channel進行接力賽

package main import ( "fmt" "sync" "time" ) var wg sync.WaitGroup func Runner(baton chan int) { var newRunner

原创 有緩衝的channel

package main import ( "fmt" "math/rand" "sync" "time" ) const ( numberGoroutines = 4 taskLoad = 10 )

原创 python實現單例模式總結

裝飾器 def singleton(cls): def get_instance(*args, **kwargs): if not hasattr(cls, "_instance"): c

原创 初識NGINX

前言 此文是翻譯的http://nginx.org/en/docs/beginners_guide.html,由於本人不做php部分的開發,所以去掉了最後一節關於php部分的引用。 正文 此文對nginx有一個基本的介紹,並提供了

原创 JavaScript異步編程: 從回調地獄到async和await

原文鏈接:https://blog.hellojs.org/asynchronous-javascript-from-callback-hell-to-async-and-await-9b9ceb6

原创 Promise對象和任務隊列

Promise對象的兩個特點 對象的狀態不受外界影響。Promise對象代表一個異步操作,有三種狀態:pending(進行中)、fulfilled(已成功)和rejected(已失敗) 一旦狀態改變,就不會再變。狀態的改變有兩種

原创 JavaScript的作用域

前言 js中的一個常見異常是ReferenceError,表示引用的變量不存在 js其實不像大多數認爲的那樣是一個腳本語言,他是一個編譯語言。代碼中包括變量和函數在內的所有聲明都會在任何代碼被執行前首先被處理 編譯語言 變量提升

原创 通過shell將一個文件劃分爲多個文件

需求是根據文件的內容,將文件劃分爲多個文件 原始文件名爲test.xt,文件內容如下 sort a # 3|4 sort a # 2|5 sort b # 1|2 sort b # 2|5 分割後的文件 file1 sort a

原创 Python2的編碼問題

Python2的編碼問題 Unicode Unicode 的學名是”Universal Multiple-Octet Coded Character Set”,簡稱爲UCS。它爲世界上每一種語言的每一個字符定義了一個唯一的字符碼,

原创 mysql中create table的時候設定的int(M)後面的數字的含義

MySQL可以爲整數類型指定寬度,例如INT(11),對大多數應用是沒有意義的:它不會限制值得合法範圍,只是規定了MySQL的一些交互工具(例如MySQL命令行客戶端)用來顯示字符的個數。對於存儲和計算來說,INT(1)和INT(20)是

原创 go中的select

go中的select提供了一種方式來處理多個channels,select語句滿足如下條件 每個channel的值都會被計算 如果沒有channel有產出的話,會阻塞直到一個channel產出 如果多個channel有產出的話,

原创 buildout製作特定的腳本

安裝buildout pip install zc.buildout 初始化 創建文件夾firstbuildout,然後進入該文件夾執行buildout命令,會產生如下就結果 ├── bin │ └── buildout ├─