详情

全站展示位

[Swift-d10] 延伸閱讀

今天算一算也來到第十天了, 前面講了 8 天的語法,其實會有些枯燥 不過有些語法又很有趣 我不懂 Objective-C, 如果想從 Objectiv-C 轉換到 Swift 的話,最好查查一些比較的文章 最好的文件就是官方文件了 以 UILabel 為例 官方網站會列出兩種不同寫法: // SWIFT var text: String? // OBJECTIVE-C @property(nonatomic, copy) NSString *text 如果要從 Swift 基本概念開始,當然是首推官方的 The Swift Programming Language 是英文苦手的話,強國人有 翻譯文件 這群人非常厲害,發表後沒幾天就翻譯完成了 不過因為技術用語還是以中國為主,因此建議英文優先,或是對照著看 前面幾天都基本介紹前半部而已,屬於一般學習程式語言的基本練習而已 後半部是更詳細的部分,有空的話還是可以多看看~ 另外,官方還出了一本 Using Swift with Cocoa ad Objective-C 就是在介紹如何使用 Swift 加上 Cocoa framework 開發 App 不過書的內容不多,算入門級,有興趣也可看看這本~ 接下來會開始用 Swift 寫簡單的界面 由於筆者從沒寫過 iOS app,因此也是會用大約十天的時間來簡單練習一些常用的 Cocoa Touch framework 的元件 順帶一提前面沒講到的,Objective-C 有個東西叫作 Catagory,在 Swift 裏是 extension。。。

推荐

Add tracked file to .gitignore

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

心灵鸡汤

泪洒通知书

文/赵同胜

我的录取通知书比别人迟发了一个多月,得到消息时,我已在补习班上了两周的课。

我的高考发生在38年前。于我这个“泥娃”而言,高考是通往“外界”唯一的一条出路,我很清楚高考对我意味着什么。

那年的高考说不上圆满,但也没糟糕到哪儿去。天生好理科,对文科没有丁点的感觉,结果也在意料之中,数理化科科优秀,而语文和政治果然不及格。无奈与大学失之交臂,好歹上了中专线,跳出农门也算有了指望。

娘一脸欢喜,我也如释重负。可天意弄人,当别人拿着录取通知书兴高采烈去学校报到时,我的通知书却迟迟不见踪影。娘急得整宿睡不着觉,脸上写满了焦躁。当过村干部的娘不甘心儿子就这么不明不白落榜,生性好强的她要去寻个究竟。可是,这对于一个没怎么见过世面的农家妇女来说,谈何容易?娘拖着一双残腿到了县上,县上的人一句话就把娘支走了,无奈,娘倒了几次车,几经辗转,到了市里,得到的答复是:压根就没有这个学生的档案。娘一惊,感到了事态的严重。娘瞪着眼睛,哆嗦着嘴唇,连一句完整的话都说不出来了。娘马不停蹄回到县里,接待她的人依旧是一副麻木的面孔,娘急了,怒了,言称卖房子卖地,也要弄个水落石出。再到市里,依然无果,娘很失落地坐在院子里,仰天长叹,伤心落泪。突然,一个领导模样的人和娘打招呼,娘认出来了,是曾在村里下过乡的老李。问明了情况,老李领着娘折回招生办,简单了解了一下情况后,老李对招生办的人说了一番言辞强硬的话,然后让娘回家等消息。

几天后,通知书终于到了,我和娘将它捧在手里,相拥而泣,泪水不小心滴落在通知书上。娘慌了,赶紧掏出手绢,轻轻地将泪水拭去,可还是留下了淡淡的印痕。

原来,是村里的对立面使了手段,在神不知鬼不觉中托人扣押了我的档案。若不是娘的坚持,若不是巧遇老李,我的第一次高考注定会成为一个“谜案”。

列表展示

主站展示位

[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代表不斷線一直等)

[Apache] SSL (self-signed & purchased version)

[Self-signed] Generate a host key: sudo ssh-keygen -f host.key Generate a certificate request file sudo openssl req -new -key host.key -out request.csr Type what you want: Country Name (2 letter code) [AU]:TW State or Province Name (full name) [Some-State]:Taiwan Locality Name (eg, city) []:Taipei Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Create the SSL certificate sudo openssl x509 -req -days 365 -in request.

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也行)

[Hardware] Asus 1215N 拆解

某天筆電的鍵盤卡卡的,所以找了資料並拆解了一下 大致的步驟是這樣: 拆觸控板的板子,這塊板子其實是用卡榫卡住的,我是用一字螺絲起子慢慢從邊邊打開的。因為是卡榫,所以要小心不要把它弄斷,弄斷裝回去時卡不住會鬆鬆的。 另外要注意的是,觸控板有一條排線連接著主機板,不要扯下來,扯下來觸控板也和你說掰掰了。 拆觸控板的目的是要將鍵盤的螺絲轉開,若你已經將觸控板大致扳開後,就會看到鎖鍵盤的螺絲了。這時候一樣是用一字起子慢慢將鍵盤扳開,它也是卡榫,所以還是要注意~ 這時候鍵盤應該就被拔下來了XD 這是只有拆鍵盤的部分,我有找到換硬碟的說明,不過我沒有試過,所以沒辦法提供注意事項,不過仍然附註在下面。 拆硬碟的步驟同上述1,2,3點,不過在這1,2,3點前,需要先做第0點: 0.將筆電翻到背面,有個可以用螺絲起子打開的記憶體插槽,將它打開後,裡面可以看到4,5顆螺絲,除了四個角落外,有一塊記憶體的下方還藏有一個,所以要先把記憶體拔掉,再將該螺絲轉開。 1,2,3. 接著就重複上面的1,2,3點。 4.鍵盤拆了以後就可以看見鍵盤下面有一大塊不鏽鋼板,一樣有螺絲固定,將螺絲拆了以後拿下不鏽鋼板就可以看見硬碟了。 5.硬碟也有螺絲固定,螺絲拆了後就可以換硬碟。

Event-driven I/O models and Coroutine Notes

Event-driven I/O model 首先,聽到 Event-driven 是從 Node.js 得知, Node.js® is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. 其實剛聽到這詞會有點陌生,我們可以先從 Victor 所寫的文章開始讀起: 淺談coroutine與gevent 裡面提到了幾種網路模型: > 1. 阻塞式單一行程 2. 阻塞式多行程 3. 阻塞式多行程多執行序 4. 非阻塞式事件驅動 5. 非阻塞式 coroutine 以下是各語言 event-driven 的 model

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

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

[PHP] 簡單的資料庫連結

我是PHP新手,超級嫩,所以就寫寫簡單的東西,今天來寫關於資料庫的連結。 環境同之前寫的,就是 FreeBSD、MySQL、phpMyadmin 啦~ 我將他分成兩個檔案來寫: 一個是負責連結資料庫:connectDB.inc.php 另一個則是測試的 php :test.php 在 connectDB.inc.php 中設定好 SQL 主機的 IP、使用者名稱密碼等等資料, 然後由 test.php 來呈現資料,直接看 code 最快: connectDB.inc.php <?php $cfgDB_HOST = "localhost"; //主機名稱或ip位址 $cfgDB_PORT = "80"; //主機開放連線的port $cfgDB_USERNAME = "account"; //登入主機帳號 $cfgDB_PASSWORD = "password"; //登入主機密碼 $cfgDB_NAME = "db_name"; //資料庫名稱 //建立資料庫連線 $link = mysql_connect($cfgDB_HOST . ":" . $cfgDB_PORT, $cfgDB_USERNAME, $cfgDB_PASSWORD) or die("Could not connect MySQL"); //選擇資料庫 mysql_select_db($cfgDB_NAME, $link) or die("Could not select database"); //讓中文正常顯示 mysql_query("SET NAMES 'utf8'"); ?> test.

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

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

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