2015年4月24日 星期五

我與第三方支付平台-『歐付寶』的第一次接觸

此文章截圖皆來自: payment.allpay.com.tw

今天研究了歐付寶這個平台,覺得第三方支付真的是很方便,講白一點,他就是可以幫你收款/付款,還有開發票的這些功能,都有做在裡面。而且他竟然是台灣的公司,我今天才知道 (我錯了)...

2015年4月23日 星期四

2015/04/18 高雄兩天一夜遊


請大家不要覺得我是個宅宅,工程師也是有生活的 XD,其實我非常愛亂走動,真要說的話要我天天寫一篇這種去哪裡喝咖啡,吃美食的文章也是有可能的,只是我最近真的寫不出什麼技術文,只好分享一下我的生活。

上週跟朋友一起去高雄來個兩天一夜遊,跟大家分享一下我們的行程:

2015年4月22日 星期三

那天,我的 Mac 就這樣無法開機了

事情發生的很突然,昨天下班前更新我的 OS,然後更新完重開機之後,就一直出現一個資料夾,上面出現一個問號,不停的閃爍的畫面。

硬要開機也只能看到這樣:


2015年4月15日 星期三

常去的台北咖啡廳整理清單

昨天跟我一個朋友約在東區的咖啡廳,他進來就說, God 你也知道太多奇怪的地方了吧 XD 讓我覺得很開心(開心的點有點奇怪就是了),其實我下班也是打電腦,常常都是泡在板南線上靠近東區的咖啡廳,這種習慣也是工作兩年後才有的,第一年的薪水跟不可能這樣過生活...

但我最近開始少去就是了...,畢竟待在家還是很舒服,只是容易墮落或是想睡 :P (BTW 我不太看電視,在家也是看書或是上臉書而已 XD),現在已經變成好友約我出去聊聊技術或是網頁的問題,才會約出來,變得比較被動了 :P

有些人覺得咖啡廳是聊是非,放鬆的地方,但對某一部份的工程師來說,咖啡廳是可以將飲料轉換成程式碼的神奇地方。以下這幾間是我去過之後覺得算是還可以 Coding 愉快的咖啡廳,但不是我所知道的全部的咖啡廳 (是的話也太少 XD),有些我覺得是純粹放鬆的地方,我就沒有列出來了。


湛盧咖啡大安館, 忠孝館, Audi忠孝門市
怡穎 吳(@look_me08)張貼的相片 於 張貼

怡穎 吳(@look_me08)張貼的相片 張貼
湛盧咖啡這三個館以 coding 的好位子跟插頭數來說,是大安 > 忠孝 > Audi。
Audi 分店也有插頭,但是較少,而且圓桌居多。
採光的話當然是 Audi 分店好,除此之外 Audi 分店有專為 Audi 設計的 R8 手沖咖啡的樣子,也蠻好喝的。但是要上洗手間的話,要走出去,畢竟是依附在北科的億光大樓...。

大安館是位子多,有插頭的位子也多。

忠孝館因為真的離捷運站 3 號出口太近了,交通方便,而且非常的神秘,在鬧區的二樓,窗戶看出去是 SOGO 跟路上的人群,環境真的不錯,不過我最喜歡坐的地方還是吧台。

基本配備 wifi 一定有,低消是一杯飲品,價位大概是 100-200 多一杯,如果你喝到有湛盧咖啡人卡,飲料會比較便宜,而且每個月有兩張月光卷,折扣下來更便宜。

飲料的話我推薦他們的冰釀跟手沖,不喝咖啡的話,鮮奶茶也不錯。
餐點選擇不多,建議吃飽再去 :P 不過我朋友點過他的正餐,他覺得蠻好吃的,然後有賣沙拉,還蠻特別的 :D。


Mucho Mucho
怡穎 吳(@look_me08)張貼的相片 張貼

怡穎 吳(@look_me08)張貼的相片 張貼
Mucho Mucho 也是位在忠孝復興站,他在頂好商圈再進去一點點,位子要找找,(之前有朋友因為那一區網路訊號不穩,所以開 map 一直找不到),但走過一次之後就沒問題了。

這裏是可以帶寵物進去的店,飲料除了咖啡之外,酒精性飲料,果汁,養生茶類,西式餐點,蛋糕都有,也是一樣可以做整天,晚上開到 11點的樣子,算是蠻晚的了。我個人是最喜歡喝蕃茄沙漠蜂蜜什麼的~ 但是不便宜一杯要 160 的樣子哦! 養肝茶也是我常點項目 (嗚...,我的肝)


Arthere Café 上樓看看咖啡
怡穎 吳(@look_me08)張貼的相片 張貼

上樓看看在市政府站附近,二樓的靠近窗戶那邊的位子採光不錯,後面則是有六人桌,很適合多人聊天的地方。

因為那裡餐點蠻不錯的,如果只點飲料坐著,我會覺得那不如點套餐比較划算,主要是餐點的選擇也夠多,炸物跟酒類也都有,座位的選擇也很多。消費大概是 200-400 元,單點飲料的話,大概是一百多塊就夠了。


德佈咖啡
怡穎 吳(@look_me08)張貼的相片 於 張貼
這家在忠孝新生站,不過要走一小段路,這家有名的應該是咖啡,店內的擺設跟一些傢俱非常的特別,不過裡面非常安靜,我每次去都只敢一個人去,如果找朋友去可能會吵到別人 XD

吃得算少,主要是甜點多,飲料的話主要都是咖啡,一杯大概也是 100-200多。


4Mano Caffé
怡穎 吳(@look_me08)張貼的相片 張貼
位於忠孝新生站。

除了人多時有用餐時間限制,以及有插頭的位子不多之外,沒有特別可以挑惕的,這家在網路上是挺有名的,他的鮮奶茶我覺得蠻好喝的 :)

如果真的沒位子,斜對面有星巴克,考慮一下 XD



Peekaboo Coffee 彼咖舖咖啡
怡穎 吳(@look_me08)張貼的相片 張貼
怡穎 吳(@look_me08)張貼的相片 張貼
這間靠近忠孝復興站,主要也是賣咖啡,甜點,正餐的東西這裡沒有,所以建議吃飽再去(附近有吃的)~位子的安排很特別,有機會可以去看看。不過這家店有規定不能隨便移動位子,如果有什麼額外的需求建議先去問服務生比較好。

有插座的位子跟沒插座的位子大概是一半一半吧,wifi 也是用到飽。

因為不接受訂位所以要去佔位的話要早一點,營業時間的話大概是開到晚上十點。


上島咖啡館 (敦化站)
怡穎 吳(@look_me08)張貼的相片 張貼
上島的話,其實想一想也不知道該推薦他什麼 (我錯了 Orz...),大概就只是位在敦化站8號出口,約人很方便。重點是, wifi 密碼竟然是印在發票上,有點傻眼... than?!~  wifi 感覺很塞啊...

只是座位真的很多,要在東區找一家好好坐下來打電腦的地方,勢必是貴在那一杯飲料上,至於吃的我是嫌偏貴 XDD


真的沒選擇我通常就是去星巴克,星巴克就不用特別介紹,走幾步就容易找到一家。常客的話,真的是建議買星巴隨行卡。

如果有想到什麼我再補充一下。

2015年4月14日 星期二

我也來出一份自己的前端面試考題 (會一直更新...)

與其說是考題不如說是一些我覺得還蠻重要的觀念 :P
如果都會那應該能力真的不差 XD 說不定比我厲害很多 :D (我是小弱弱..)
持續整理中...

HTML 篇
1. 什麼是 html5shiv.js?
2. <label> 的何種屬性可以用來對應相對的 input?
3. [是非] jQuery 2.x.x 的版本是否支援 IE6, 7, 8?
4. <img> 標籤的 alt 跟 title 的差別是什麼?
5. absolute 跟 relative 的差別是?
6. 你都是如何清除浮動的?
7. 你如何讓行內元素變成塊級元素?
8. 你發現你寫的 media query 沒有 work,你會檢查哪些項目?
9. POST 跟 GET 差別?
10. 使用 input file 時要在相對應的 form 上加上何種屬性才有真正可以上傳檔案的作用?
11. input 的 placeholder 並沒有被所有的瀏覽器支援,你該怎麼解決這個問題?
12. input 的 readonly 跟 disabled 屬性對於後端接收資料的人來說有什麼差別?



CSS 篇 
1. CSS 的三種引入方式有哪些?
2. 什麼是 CDN? 使用 CDN 載入 js/css 的優缺是什麼?
3. 什麼是 CSS Sprites? 解釋用它的好處?
4. 如何利用 CSS 讓單行文字超出該元素的寬度後,字尾以 『...』 結尾?
5. 如果要將 body 預設字體大小為 10px,要如何用 % 表示 font-size?
6. 如何讓 <img> 符合 RWD (跟著螢幕的寬度調整其大小)
7. 你用過 compass, stylus 之類的 css preprocessor 嗎?
8. 把 outline 設定為 0 雖然可以移除奇怪的藍色邊框,可是會造成什麼缺點?



JavaScript 篇
1. Javascript 的變數有哪些形態?
2. 說明 apply() 跟 call() 的差別? (經典考題 ...)
3. 簡述一下你知道 .bind() 的作用是什麼?
4. 立即函式 IIFE (Immediately Invoked Function Expression) 可以怎麼表示? (只要有舉例就可以)
5. 承上題,什麼情境下你會選擇使用立即函式?
6. 以下這四種工具 Bower,  Browserify, Component 和 Duo,你使用過哪一個?  說明使用心得。
7. npm install package 時,如果加了 --save 表示什麼? -g 表示什麼?
8. Template Engine 你用過哪些?



Git 篇
1. 你誤加入了一個檔案進到 git,要如何從 git 中移除他? 而不是只是從本機把檔案刪除。
2. 如何列出有 conflict 的檔案?
3. 請說明你所知道的 .gitignore 跟 .gitkeep 的用途是什麼?
4. 你在 commit 的時候打錯字了,要怎麼修正 commit 的內容為正確的內容?
5. [是非] 一個 git repo 可以有多個 remote?





加分篇(不回答無所謂)
1. 什麼是 Single Page Application?
2. 客戶要求你在他們的管理介面加一個編輯器,你都用何種編輯器?
3. 你用前端的 Framework 嗎? 舉例習慣用哪些。如果你能多說明他們使用上的優缺更好。
4. 你會怎麼跟你的設計師解釋什麼是 Fluid Layouts?
5. 你平常透過哪些管道學習新的技術?


2015年4月12日 星期日

在 Laravel 以外的世界使用 Laravel 的 ORM

這篇文章應該打說 : using eloquent without Laravel,:P

因為我現在有獨立開發一個 package 的需求,可是這個 package 是要掛在 Laravel 的專案底下,為了 maintain 方便以及可以跟 Laravel 使用一樣的方式存取 Database,所以我就要在我的 package 使用 illuminate/database 這個 package。

這個 package 也就是 Laravel 在操作 database 的部分,在你自己專案的 composer.json把他 require 進來:

"require": {
   "illuminate/database": "*"
 },

然後 use 他再把他實例化 (new),使用方法幾乎一摸摸一樣樣~。

參考:
https://github.com/illuminate/database
Use Laravel’s Eloquent ORM Outside Of Laravel

2015年4月11日 星期六

在 Laravel 專案下 composer require 自己私有的 Package

事情是這樣的,我現在還是使用 Laravel 4 在開發專案,因為這個案子在兩個月前就已經決定架構是採 4 了...,還沒這麼潮開始用 5 ...(要不要採用 5 我暫時認為那是給新人去決定的事,至少目前我是一人開發)。

對了因應 Web 專案越來越複雜的需求,避免太多需要一直被重複使用的 function 重寫,或是一些商業邏輯一直要被重複使用,最近我開始把一些撈資料的邏輯寫成一個 Composer Package,但因為這個 Package 不需要被公開,所以也不需要 publish 到 composer 上,然而我們公司暫時也沒有必要架一個私有的 package 管理 server,所以要達到在專案下 composer update 時去 git clone 我的 private repo 就只有修改 composer.json 了。

不看我廢話的方法你也可以參考比較快啦 XD : https://getcomposer.org/doc/05-repositories.md#using-private-repositories

composer.json 的修改如下,主要是新增一個 repositories 的 key 以及增加 require 那邊的 vendor:
首先,你要知道你的 private repo 的 url,把設定寫一寫,要注意 require 那邊也要加上你的 repo 對應的 vendor 跟 repo name。另外 clone 的時候會檢查你有沒有 clone 的權限,通常是你電腦只要有加過 ssh key 給你的 git client 就可以了。

type 的設定看你用什麼版本控制,是 git 還是  vsc 等等。

設定完成之後記得 composer update 或是 composer install,我忘記是哪個了 :P
"require": {
  "laravel/framework": "4.2.*",    "vendor-name/repo-name": "dev-master",    },
"repositories": [{
    "type": "git",
    "url": "git@bitbucker_or_github:vendor-name/repo-name.git"
}],

大概是這樣。

2015年4月10日 星期五

Laravel 取得上一筆/下一筆的 Query 該怎麼寫

有時候在寫一些前台的 News 的資料時,設計師畫了兩個 Button,一個是上一篇,一個是下一篇,這兩個 Button 確實是很正常的功能,可是我們後端在撈資料時,並不能順著 id (也就是流水編號) 來撈。

比方說使用者看的 id 是 20 的新聞,他的上一篇不是 id: 19,下一篇也不是 id: 21,因為上一篇可能已經刪掉了,或是下一篇其實是不發佈的狀態,因此上一篇可能是 18 也說不定,下一篇也可能是 22 也說不定,所以不應該是用流水編號來撈。

我的撈法是要以當下所看的文章 id 為基準點,上一篇的話就是小於現在的 id 下去找,然後濾出最大的 id,這樣就得到上一篇,而下一篇的話,就是大於現在的 id 往上找,然後濾出最小的那個 id。

範例:

*取得上一篇 ID
$prev_essay = $this->essay->where('id', '<', $id)->max('id');
*取得下一篇 ID
$next_essay = $this->essay->where('id', '>', $id)->min('id');

一般 SQL 的表示方法為:

select min(`id`) as next_id from `TABLE_NAME` where `id` > $id

select max(`id`) as prev_id from `TABLE_NAME ` where `id` < $id


以上是我的方法,至少爬過文之後覺得這個方法可行,如果有更有效率的做法,也歡迎分享一下,謝謝!

2015年4月8日 星期三

Coursera 數據科學家的工具箱 - 上課心得


https://www.coursera.org/course/datascitoolbox

昨天上完了 Coursera 的 數據科學家的工具箱  課程,他是整個 數據科學專項課程 的第一堂課,也算是非常入門,Signature Track 只要 29 塊美金,其他都要 49 塊。

但是因為這門課真的非常的基礎... 29元對我來說有點...,話這麼說的前提是因為 Week2 的 github 跟 git 操作都是平常上班時已經熟悉的技能,我想如果沒有接觸過 Linux, git, github 的人,我想你會在 Week2 卡很久,但你也可以藉此好好順便學一下。

 Week1 簡單介紹一下這整個專項課程會學到的內容,week3 是一些 data 的分析的方法,簡簡單單說明,整個上完,我想這門課最需要你學會的就是把你的 R 的環境都建立好,不論你是用 windows 還是 Mac,影片都有教學,還有要盡量熟悉 github 的基本操作,Markdown 文件撰寫,這會關係到之後你繳交作業的項目。

結果本來是三週的課程大概1天就可以把影片跟作業看完,如果能力許可的話,可以順便加入 R Program 的課程直接跟著上,至少我是直接加入了 ><,時間不等人,下班之餘你能花費在學習上的時間不多,更何況這次的專項課程很多都有中文版,有中文真的差很多 ... (拭淚..)

這堂課5/4結束,大概隔了快兩週才拿到證書,證書出來的話,他會發 mail 通知你。

備註:
(1) 安裝 R
1. 先安裝 R http://www.r-project.org/
2. 再安裝 R studio http://www.rstudio.com/products/rstudio/download/


R studio 是 R 的 IDE,算是比較方便的工具,因為我剛好在上 Coursera 的課程,也是教這個,所以也就跟著裝了。

這樣寫好像有點太簡短,但真的好像就是這樣。要注意自己的電腦的作業系統是什麼,可別抓錯了 :P

剛開啟 R 的樣子:


(2) 安裝 R 的 package
install.packages('package name');


(3) 安裝 devtools
> install.package("devtools")


(4) 檢查 devtools 有沒有裝
> library('devtools')
> find_rtools()
[1] TRUE

2015年4月7日 星期二

Passing the same data over different views in Laravel

如何在 Laravel 讓每一頁都有同一包資料?!


在用 Laravel 做網站的時候,我有一張 table 用來儲存網站的基本資料,也就是像是 title, description, keywords, google analytics 追蹤碼, 公司等資訊,可是這些資料需要每一頁都 load 進來,但我不想要每個 controller 都寫這一句 SQL,也可以說我的需求只是想要共享這些資料到每個 view。

我找的這個 Stackoverflow 的解答是把這段 SQL 執行在 BaseController 的 __construct,然後用 View::share 的方式把資料送出去每個繼承 BaseController 的 controller,這樣只要寫一次就好。

目前這樣解決我的問題,不知道有沒有人可以提供更好的方法,感謝!~。

2015年4月2日 星期四

不專業之 Fitbit Charge HR 開箱文


不知道大家有沒有聽過 fitbit,聽說是一款在美國賣得很好的智慧手錶,這種高科技產品,在台灣也沒有賣,我也是看了我朋友戴了之後,大力推薦而喜歡上這隻手錶。

如果你想買,你可以找看看拍賣網站,有些人會從國外帶回來賣,只是價位會比較貴 (美金定價是 149.95 美元),畢竟別人幫你帶回來嘛!讓別人賺一下摟 :)

另外,去了官網之後發現,原來 fitbit 有出各種款式的手錶,你可以去官網上看看,手錶的顏色也有其他可以選擇,只是除了黑色,其他顏色都很難買...,有的甚至還要等。

以智慧手錶來說我覺得它的設計還算可以了,好像這東西就是無法設計得多美... 不然就是要等科技的進步了 XD。



其實說明書看不看都無所謂,但是你要裝一下 fitbit 的 APP。

如果你跟我一樣是 iphone,那麼要用在美國註冊的 itunes 才抓得到 fitbit 的 app。
我是請我朋友登入他的 itunes,再幫我下載的 :P


拆封後第一件事就是先充電。

錶面上有個假的 135 貼紙,要記得撕掉 XD



APP 裝完之後,要開藍牙,會開始偵測你的 fitbit。


剩下的就交給 fitbit 去幫你處理吧,每天記錄你的步數,睡眠時間,還可以在 app 加好友,紀錄妳跟朋友之間的步數 XD

另外 fitbit 也會有來電顯示,他會震一下,不過他不能接電話哦 XD
再來它不防水,洗澡時還是要拿掉哦!
其實 HR 最讓我心動的地方還是在於它的心律檢測,其實挺有趣的,我還在跟這隻錶做朋友中,還好我的手不會過敏,接下來就好好觀察自己的身體狀況 :P


Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...