详情

全站展示位

推荐

Add tracked file to .gitignore

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

心灵鸡汤

小故事、博士

  有一个博士分到一家研究所,成为学历最高的一个人。

  有一天他到单位后面的小池塘去钓鱼,正好正副所长在他的一左一右,也在钓鱼。

  他只是微微点了点头,这两个本科生,有啥好聊的呢?

  不一会儿,正所长放下钓竿,伸伸懒腰,蹭蹭蹭从水面上如飞地走到对面上厕所。

  博士眼睛睁得都快掉下来了。水上飘?不会吧?这可是一个池塘啊。

  正所长上完厕所回来的时候,同样也是蹭蹭蹭地从水上飘回来了。

  怎么回事?博士生又不好去问,自己是博士生哪!

  过一阵,副所长也站起来,走几步,蹭蹭蹭地飘过水面上厕所。这下子博士更是差点昏倒:不会吧,到了一个江湖高手集中的地方?

  博士生也内急了。这个池塘两边有围墙,要到对面厕所非得绕十分钟的路,而回单位上又太远,怎么办?

  博士生也不愿意去问两位所长,憋了半天后,也起身往水里跨:我就不信本科生能过的水面,我博士生不能过。

  只听咚的一声,博士生栽到了水里。

  两位所长将他拉了出来,问他为什么要下水,他问:“为什么你们可以走过去呢?”

  两所长相视一笑:“这池塘里有两排木桩子,由于这两天下雨涨水正好在水面下。我们都知道这木桩的位置,所以可以踩着桩子过去。你怎么不问一声呢?”

  心得:学历代表过去,只有学习力才能代表将来。尊重经验的人,才能少走弯路。

列表展示

主站展示位

[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~ 快速簡單!

[Win7] 使用Win7 DVD 修復開機選單

灌雙系統 (Win7 / Ubuntu) 後, 刪除Ubuntu不當的話, 重開機可能會出現: (連Win7都進不去) error : no such partition grub secure> 此時只要將 Win7 光碟放入, 進入修復,選擇命令提示字元, 並輸入: bootrec.exe /fixboot bootrec.exe /fixmbr 重開機後 Win7 就回來囉

[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 的原因

[Swift-d3]Playground變數與常數, 註解, 基本資料型別

變數與常數 定義一個變數: var obj: String = "" var 是保留字,宣告 obj 是一個變數名稱,冒號後面接資料形態 以此例子來說,宣告了一個字串變數叫做 obj,並且初始化為 “” 空字串 let obj: String = "" let 同樣是用來宣告一個變數,但是宣告此變數後,該變數的值無法被改變, 無法被改變的數值其實正正的名字就叫做常數 以上面的例子來說, 若我們多做一件事: let obj: String = "" obj = "test" 若我們試圖去更改 obj,讓 obj 從空字串變成 “test” 時, Xcode 就會報錯,不能更改該值 再來是宣告的變型,其實宣告時不一定要給資料形態, Swift 會自動從後面的值來判斷 x 可能是什麼資料形態, 只是由於筆者的習慣,會儘量在後面加上該變數的資料型別 var x = "test" 一行內宣告多值: var x = 0.0, y = 0.0, z = 0.0 我們就可以在 Playground 裡面試著宣告一些變數看看,並且使用昨天的輸出函式來輸出變數:

[Java] Bouncy Castle Cryptography

這是為了ECT作業所作的筆記 Bouncy Castle Cryptography 這次作業用到了密碼學的技術,助教給了這個網站的library讓大家方便實作 作業內容是:可讀取文字, 圖片, 聲音 先初始化轉成byte後,利用SHA512進行訊息摘要, 再對檔案做RSA加密, 解密,接著是 AES 加密, 解密, 最後使用解密後的內容作還原的動作, 若input的檔案與output的檔案內容一樣表示成功。 以下是這次作業會用到的class * SHA512Digest 產生訊息摘要MD * AESEngine (對稱式加密) * RSAEngine (非對稱式加密) * RSAKeyParameters ,用來產生RSA的公鑰、私鑰 * KeyParameter * BigInteger p.s. 以下是在寫作業時遇到的問題解決網址 其實用到了什麼class也是google後從學長的部落格看來的XD SHA512: SHA512 ouput 問題 發現除了 SHA 的 out 外 其他的加解密產生 output 值要印出時都可以用到: 用: String.format("%0128x", new BigInteger(1, byteData)); 來取代 Hex.encode(byteData); RSA: JavaWorld - 在RSA 解密時的問題 使用Java進行RSA加解密 RSA using BouncyCastle (有問題 不過解決了 –> JavaClassCastException)

[Mac OSX] Slow-Opening Terminal Windows

最近在開 mac 的 iTerm.app 或者是內建的終端機都覺得卡卡的, 之前以為是 .bashrc 載入太多東西導致的,所以把一些掛載的 bin 目錄都註解掉, 但是還是沒解決,心想不對勁,就順手 google 了一下… 我執行了下列語法: $ time /usr/libexec/path_helper PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/ABC/android-sdks/platform-tools:/Users/ABC/android-sdks/tools:/Application/Vagrant/bin"; export PATH; real 0m0.043s user 0m0.001s sys 0m0.002s 接著我把 PATH 的內容寫進 .bash_profile,問題竟然就解決了… 速度飛快~~ 後來看到一篇 .bash_profile vs.bashrc 雖然大家都知道 .bash_profile 是在登入時執行(即是輸入帳號密碼時), 而 .bashrc 是在系統內非登入狀態時開啟 prompt 時執行, 但是!! Mac OSX 是個例外~是個例外~是個例外~…….=.= Mac OS X — an exception An exception to the terminal window guidelines is Mac OS X’s Terminal.app, which runs a login shell by default for each new terminal window, calling .

[Codeigniter] remove index.php & 圖片無法讀取問題

首先,是先簡單說明使用 Codeigniter framework 時移除 URL 中的 index.php 在 Codeigniter 的根目錄新增一 .htaccess 檔案 並放入以下內容 RewriteEngine on RewriteCond $1 !^(index\.php|js|robots\.txt|css) RewriteRule ^(.*)$ index.php/$1 [L] 另外還要修改 Codeigniter 的 config.php 設定 $config['index_page'] = ''"; 不過上面的 rewrite rule 有些問題, 情境是這樣的: 我在 Codeigniter 根目錄新增一資料夾為 uploads , 放置上傳的圖片與影片, 但是因為 rewrite rule routing 的關係沒辦法讀取到圖片, 因此我將 .htaccess 檔修改如下: RewriteEngine on RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA] 主要是在三四行的 %{REQUEST_FILENAME} 這樣修改完就解決問題了! ref: CodeIgniter 如何去掉 URL 中的 index.

[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"

[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)

[API-d10]ExpressHello World!

Express - Hello World! 今天就要來安裝主角之一的 Express 了! 一樣開啟虛擬機器我應該是可以不用多說了 XD 先確認自己的 node 是不是 NVM 的 node 喲 建立專案 $ cd /vagrant/ $ mkdir API $ cd API/ $ npm init 自己輸入專案的相關內容吧,不知道的就直接按 enter 空白丟給他~ 就會產生 package.json 了! 安裝 Express // 在專案目錄底下 (/vagrant/API/) $ npm install express -save 下 -save 的原因是要將 express 加入 package.json 中 離開虛擬機,其實我們也可以在虛擬機資料夾看到剛剛建立的專案了, 現在開始就可以使用自己喜歡的編輯器來開啟這個專案資料夾,我個人偏好使用 Sublime Text 要執行專案時再回終端機即可 Express Hello World! 在 API 資料夾中建立一個 app.js 內容是: javascript var express = require('express'); var app = express(); app.

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

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