详情

全站展示位

[API-d24]實戰開發刪除 TODO task API with mongoose

Github 參考 還記得昨天說要偷懶一下嗎 XD 因為刪除真的很簡單! 我們前面走過了新增、修改、讀取了 刪除?哪有什麼困難的呢! XD 直接看 code 吧! routes/users.js: // Delete a todo task router.delete('/:user_id/todos/:todo_id', function(req, res) { var user_id = req.params.user_id; var todo_id = req.params.todo_id; TODO.remove( { _id: todo_id, user_id: user_id }, function (err) { if (err) { res.status(400).json( { error: "delete data error"} ); } else { res.status(201).json( { success: "true" } ); } } ); }); 非常的簡單! 先抓到 user_id, todo_id 後 使用 .remove 的方法,下 WHERE 條件,並在 callback 作處理。。。

推荐

心灵鸡汤

女儿上大学了

文/武艺

三年前,女儿参加中考,我有感而发写下了《陪女儿中考》。经过三年的刻苦学习,今年迎来了她人生又一重要时刻——高考。

回顾女儿这三年的高中学习,可以说很拼。从高一普通班的前几名,到学理科上火箭班,特别是进入高三,学习抓得非常紧,每天早上六点多出门,晚上十点放学。高三第二学期,三天一大考,两天一小考,确实很辛苦。

高考时女儿在太原五中考场,离家也不远。考前,我特意置办了一身新衣服,寓意“开门红,状元红”。生活需要仪式感,就是要把平淡的生活过得有滋有味,有情有义。

我和妻子分工明确,我接送孩子,她在家做饭。6月7日、8日那两天,太原温度不算高,时不时还有阵雨光临。全社会都关心高考,车辆限行,公安、医疗、电力等部门都全力以赴,保驾护航。

实力是说话的底气,成绩是平时状态的客观反映。两天顺利考完,终于松了一口气,孩子开心地出去玩,我们也高高兴兴地放松一下,喝了顿快乐的大酒。

高兴两天后,又焦虑等待出成绩,忐忑不安。成绩发布时是深夜,不知不觉又是一个不眠之夜。

凌晨查到孩子成绩,心中石头总算落下来,随即又急切等待山西一本分数线的划定。一本线出来后,又转入填报志愿关键期。选学校,选专业,找老师,问专家,咨询去年高考过的考生家长,真是过了一关又一关。

盼望着,等待着,录取通知书到了。拿到通知书那个瞬间,喜悦的同时,突然反应过来,一张录取通知书,代表着希望和未来,同时也意味着与孩子的一种离别。

通知书预示着孩子即将踏上新的征程,与父母与故乡长时间别离。于是想到了20多年前,我们离开家乡去求学时,父母送行的样子。人生或许就是这样吧。

写下这段文字,孩子已开始崭新的大学生活。送孩子报到,想起一段话。龙应台说:“所谓父女母子一场,只不过意味着,你和他的缘分就是今生不断地在目送他的背影渐行渐远。你站立在小路的这一端,看着他逐渐消失在小路转弯的地方,而且,他用背影告诉你,不必追。”

孩子未来的路很漫长,相信她会越走越好的!

列表展示

主站展示位

[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 安裝一些東西,

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

ithome 鐵人賽規劃

半個月前不怕死的報名了 ithome 的連續三十天不中斷發文鐵人賽, 還報名了兩個主題,真的是太誇張了… 但是由於 ithome 的編輯器其實排版起來沒有很漂亮, 因此決定利用這邊先發文,再轉文到 ithome 的方式來處理, 比較順手一些,順便在這篇文章貼上規劃方向,topic 可能隨時會變,但大方向不變 第一次寫的主題都幾乎不是自己專精的技術, 規劃表如下: (Evernote 連結) 因此若有錯誤也請有看到的大大們多多幫忙指正囉! 有時候會因為比較忙,可能文章比較精簡一些,還請大家多多包涵 :P 有任何文章更新也會同步在此篇文章中! ##RESTful API Service: Day1 - [API-d1] - 定義 1 - 什麼是 REST/RESTful? Day2 - [API-d2] - 定義 2 - RESTful 的優點與要求 Day3 - [API-d3] - 使用時機與實際 API 參考 Day4 - [API-d4] - 使用技術與工具介紹及原因 Day5 - [API-d5] - [Server 番外篇] 建立自己的本機虛擬伺服器 1 - Vagrant + VirtualBox 安裝 Day6 - [API-d6] - [Server 番外篇] 建立自己的本機虛擬伺服器 2 - Ubuntu 基本設定與安裝 Node.

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

Install rails server env with rbenv on Ubuntu 14.04

nodejs v0.10.25 (for rails javascript engine) rbenv 0.4.0-98-g13a474c ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] Rails 4.1.4 nginx version: nginx/1.6.0 Phusion Passenger version 4.0.48 mysql Ver 14.14 Distrib 5.5.38, for debian-linux-gnu (x86_64) using readline 6.3 Installing Ruby & Rails sudo apt-get update && sudo apt-get upgrade sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties nodejs npm Use rbenv cd git clone git://github.

[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 裡面試著宣告一些變數看看,並且使用昨天的輸出函式來輸出變數:

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

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

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

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

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

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