详情

全站展示位

推荐

Add tracked file to .gitignore

git update-index --assume-unchanged <file> If there’s a remote server, also do: git rm --cached <file>

心灵鸡汤

小故事、三个金人

  曾经有个小国到中国来,进贡了三个一模一样的金人,金碧辉煌,把皇帝高兴坏了。可是这小国不厚道,同时出一道题目:这三个金人哪个最有价值?

  皇帝想了许多的办法,请来珠宝匠检查,称重量,看做工,都是一模一样的。怎么办?使者还等着回去汇报呢。泱泱大国,不会连这个小事都不懂吧?

  最后,有一位退位的老大臣说他有办法。

  皇帝将使者请到大殿,老臣胸有成足地拿着三根稻草,插入第一个金人的耳朵里,这稻草从另一边耳朵出来了。第二个金人的稻草从嘴巴里直接掉出来,而第三个金人,稻草进去后掉进了肚子,什么响动也没有。老臣说:第三个金人最有价值!使者默默无语,答案正确。

  心得:最有价值的人,不一定是最能说的人的人。老天给我们两只耳朵一个嘴巴,本来就是让我们多听少说的。善于倾听,才是成熟的人最基本的素质。

列表展示

主站展示位

[PHP] 上傳檔案的限制

php.ini max_execution_time - Script執行時間上限(單位:秒) max_input_time - Script處理資料時間上限(單位:秒) memory_limit - 系統記憶體 (要比4,5大 post_max_size - 表單的POST發送量 upload_max_filesize - 單次上傳檔案容量 default_socket_timeout - Socket無回應斷線時間(單位:秒) mysql.connect_timeout - 無回應斷線時間(單位:秒;-1代表不斷線一直等)

[API-d6][Server 番外篇] 建立自己的本機虛擬伺服器 2Ubuntu 基本設定與安裝 Node.js, MongoDB

[Server 番外篇] 建立自己的本機虛擬伺服器 2 - Ubuntu 基本設定與安裝 Node.js, MongoDB 嗨又到了 Server 時間了! 接下來我們都會做一些指令操作, 如果進一步有興趣的可以 Google 鳥哥的私房菜, 完整的 Linux 操作教學,淺顯易懂,想學習操作 linux OS 的話必看! 今天我們要稍稍整理一下昨天剛安裝完的 Ubuntu 作業系統,以及安裝一些我們需要用到的東西 首先我們的第一步就是先開啟終端機,到昨天放 Vagrantfile 的資料夾: $ cd ~/ithome/ 開啟 Ubuntu $ vagrant up 順帶一提,有時候開機時可能會卡在一個地方: default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... 這個就稍微等一下吧~ 如果電腦性能比較差的話可能會卡比較久,不過應該不至於會卡超過 10 分鐘 如果卡超過十分鐘可能要強制中斷,並且尋找解決辦法了~ 開機完成後就登入吧! $ vagrant ssh ... vagrant@vagrant-ubuntu-trusty-64:~$ Ubuntu 套件, 設定時區 今天就要來幫 Ubuntu 安裝一些東西,

docker HA proxy

不知道標題該下啥… 前陣子因為工作需要,需要測試一個 web app 分布在多台機器下的狀況 想說使用 docker 來做這件事,但又懶得弄 nginx 的設定 稍微查了一下發現有 dockercloud/haproxy 我使用的情境是 web app * 3 + ha * 1 + redis * 1 web 使用了兩個 port 7788, 7789 但是不想讓 ha 把流量導去 7788,所以可以設定 EXCLUDE_PORTS 如此一來,在 docker-compse up 後,就可以透過 / 來連上了 並且可以透過 docker stats $(docker ps -q) 這個指令來觀察正在執行中的 containers 的基本 metrics~ 快速簡單!

[API-d4]使用技術與工具介紹及原因

使用技術與工具介紹及原因 終於要開始進入正題了! 在了解 REST/RESTful 後, 就要從無到有 - 從 Server 到 API endpoint 都由自己打造 今天會先來說明接下來會使用到哪些工具及技術 由於筆者使用 Mac ,因此若是有其他平台的使用者可能需要自行找教學 Server - Ubuntu with Vagrant + VitrualBox 接下來幾天會先從這個部分開始提起 我們會使用 VirtualBox + Vagrant 的方式來建立自己的虛擬環境 避免一些讀者可能對 Server command line 不熟 這個部分是大家可以跳過的部分,但是我還是會從無到有架起來 Backend Language - Node.js 後端語言使用了 Node.js,其實本來有考慮使用 Golang, 但顧及自己的時間… 還是使用 Node.js,方便快速 這幾年是 Javascript 的時代, 優勝美地似乎也可以支援使用 Javascript 撰寫 Automation Tool 從前端打到後端甚至到 DB 都可以使用到 Javascript , 是該來看看 Javascript 的語法特性了 :D 而且 Node.js Event-driven 的特性,可以利用少少的資源提供高效能的服務 同時搭配易用性及社群活躍度,這是我選擇 Node.js 而非選擇 Golang 的原因

[Android] 遠端主機已強制關閉一個現存的連線

不知道大家在寫Android程式時使用實體機接PC時會不會很常出現這個錯誤 我個人還蠻常出現的,在測試時是非常緩慢的 Google了一下,找到了強者自己寫的adb.exe 檔案在討論串裡: Nov 28, 2011 New patched version of adb (1.0.29) Patch (diff) the same as early adb.exe 478 KB Download Download: adb.exe 下載後,到Android的SDK資料夾,進platform-tool資料夾, 將原本的adb.exe做備份,再將新的複製到原本的exe檔所在的地方, 重新啟動adb就可以了 (進DDMS重新啟動,或者重新啟動Eclipse也行)

[Swift-d8]PlaygroundEnumerations

Playground - Enumerations 通常會使用來定義一組相關的值 也是很方便的東西 列舉語法 enum SomeEnumeration { // enumeration definition goes here } 比方說,車子 enum Car { case toyota case benz case BMW } 也可以這樣寫 enum Car { case toyota, benz, BMW } 使用: var car = Car.benz 和 Switch 的搭配 enum Car { case Toyota, Benz, BMW } var car = Car.Benz switch car { case .Toyota: println("Toyota") case .Benz: println("Benz") case .BMW: println("BMW") } Associated Values 以 Barcode 來舉例子

[API-d6][Server 番外篇] 建立自己的本機虛擬伺服器 2Ubuntu 基本設定與安裝 Node.js, MongoDB

[Server 番外篇] 建立自己的本機虛擬伺服器 2 - Ubuntu 基本設定與安裝 Node.js, MongoDB 嗨又到了 Server 時間了! 接下來我們都會做一些指令操作, 如果進一步有興趣的可以 Google 鳥哥的私房菜, 完整的 Linux 操作教學,淺顯易懂,想學習操作 linux OS 的話必看! 今天我們要稍稍整理一下昨天剛安裝完的 Ubuntu 作業系統,以及安裝一些我們需要用到的東西 首先我們的第一步就是先開啟終端機,到昨天放 Vagrantfile 的資料夾: $ cd ~/ithome/ 開啟 Ubuntu $ vagrant up 順帶一提,有時候開機時可能會卡在一個地方: default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... 這個就稍微等一下吧~ 如果電腦性能比較差的話可能會卡比較久,不過應該不至於會卡超過 10 分鐘 如果卡超過十分鐘可能要強制中斷,並且尋找解決辦法了~ 開機完成後就登入吧! $ vagrant ssh ... vagrant@vagrant-ubuntu-trusty-64:~$ Ubuntu 套件, 設定時區 今天就要來幫 Ubuntu 安裝一些東西,

[tool] diff-so-fancy

現在想到什麼都來 PO 一下 XD 拿來幫你把 git diff 變漂亮的東東 // install $ brew install diff-so-fancy // Setup $ git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX" // make it more fancier $ git config --global color.diff-highlight.oldNormal "red bold" $ git config --global color.diff-highlight.oldHighlight "red bold 52" $ git config --global color.diff-highlight.newNormal "green bold" $ git config --global color.diff-highlight.newHighlight "green bold 22"

[API-d21]實戰開發新增 TODO task API with mongoose

Github 參考 昨天我們了解了如何拿 url params 以及 request data 今天我們就來使用他,對資料庫做存取 由於使用到資料庫,因此我們要加入資料庫的 driver 我們用的是 mongoose 套件 app.js: // 在最上方加入 var mongoose = require('mongoose'); // 在某個地方連接資料庫 var db_uri = "mongodb://192.168.33.10:27017/TODOs"; mongoose.connect(db_uri); 在這邊我是使用了虛擬機的 DB,因此是 mongodb://192.168.33.10:27017/TODOs DB 的名稱為 TODOs 這樣在程式一跑起來時,就會連接資料庫了! 再來我們就要設定在對資料庫做 CRUD 時,所需要做的事情 首先我們先要定義 schema, 雖然 mongodb 是 schema-free,但是官方文件也有提到最好還是有固定的 schema 避免記憶體 allocate 時出現問題,而程式撰寫時邏輯也不會因此而過於複雜 這時候我們就需要 model 資料夾了,在 model 資料夾中新增一個 todos.js 裡面要放的就是 todo task 的 schema 內容如下: models/todos.js: 'use strict'; var mongoose = require('mongoose'); // Define our todo schema var TODOschema = new mongoose.

[Codeigniter] use markdown as library

download the Parsedown.php and put it into Library folder then edit autoload.php $autoload['libraries'] = array('Parsedown'); then in the view php for tests: $text = 'Hello **Parsedown**!'; $result = Parsedown::instance()->parse($text); echo $result; No need to require or include the file. If you want to load a file with path, you can use the function called file_get_contents: file_get_contents('./markdown/test.md',true); (true: enable path)

[Swift-d20]Basic捨棄 Storyboard 使用純程式碼 的方式撰寫 ViewController

今天專案的 Github link 其實哦 寫 Swift 也有幾個禮拜了 我一直覺得使用 Interface Builder 的確很方便 但是在程式面與視覺面之間的溝通常常會漏東漏西的 比方說如果要設定 reusable identifier 時 除了程式裡面的字串要設定以外,還要再到 storyboard 裡設定同樣的字串 一個簡單的小程式可能不超過 20 個 View 的情況下 還可以這樣做,當程式長得非常大的時候,好像就很難注意到這件事, 而且 View 太多 storyboard 就會開始變慢…. 因此今天要來試著在 Swift 中 如何不用 Storyboard,來打造我們的程式 (當然 xib/nib 還是會用到,只是我們單純捨棄 storyboard,用程式來控制流程) 首先,一樣先建立一個測試專案 接著我們要動到的程式碼是 AppDelegate.swift: 編輯它: @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? var viewController: ViewController? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch.

[MySQL] Several useful statements (GROUP_CONCAT, ifnull, DATE_FORMAT)

將 query 出來的多筆記錄結合成一個欄位 例如原本的 query 結果為: SELECT 'fruits' FROM 'fruits_table' apple banana kiwi SELECT group_concat('fruits' separator ',') FROM 'fruits_table' result: apple,banana,kiwi 改變 datetime 欄位的顯示結果 SELECT DATE_FORMAT( 'created_at', '%Y/%m/%d %H:%i') AS 'created_at' FROM 'message_table' result: 2014/05/06 18:20 若某個欄位的值為空,則給予預設值 SELECT ifnull('is_success', 0) AS 'is_success' FROM ....

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。