Posts

Showing posts from May, 2015

ssh 遠端編譯產生的亂碼問題

http://blog.csdn.net/keepliving/article/details/5623362 全案終結! 目前打算使用的方式是 export LANG=en_US.UTF-8 剩下的以後再說。

關於文件最後一行的EOL(End-of-Line) missing line feed at end file

今天看到 jscs 這玩意覺得非常新奇,於是就玩了一下。 主要編輯器仍是 sublime text 2 (但今天升級到 ST 3了 ) 需要的步驟頗簡單 [1] 在 ST 3 上透過 package control 安裝 sublimelinter-jscs [2] 透過 npm 安裝 jscs >>npm -g fscs [3] 撰寫 .jscs.json { "preset": "google" } [4] 執行 jscs >>jscs . 如[3], 這裡我使用 google 的 code style, 然後發現了這個錯誤 " missing line feed at end file". 雖然我知道有它的存在, 而且過去在 linux 上寫 shell-scripts 也常吃虧, 但仍不是很在意這項, 透過 Stackedoverflow 這次真的是很好的複習,紀錄一下。

[RTB] soft floor price vs hard floor price

Image
指的是一般收價標準的分隔線。在RTB bidding 中, HFP是 publisher 提出的impression 最低售價, 如上圖。若A,B出價皆低於此價格的則無人得標. 若在SFP及HFP之間則取A作為收費, 若是高於SFP則取第二高者(這裡是B)的出價作為收費 (cleaning price). ( source ) Hard floor price Normal floor price as we all know. Bids clear at second price auction. Any bids below floor price will be rejected. Soft floor price When bids are above soft floor price, it will clear at second price auction. When bids are below soft floor price, it will clear at first price auction.

[RTB] CPC vs CPM

CPM vs CPC 這是指DSP 提供給 buyers(或advertiser) 的收費方式, 分成 cpm (cost per mille, 每傳送1000次收費, 不考慮點擊) 或是 cpc (cost per click, 每點擊一次收費) 直覺上, CPC 是對重視效益, 或是預算有限的人; 而 CPM 則是作品牌知名度或者宣傳為目地的人. 一般CPC的收費較CPM高. ( source ) 要注意的是,如果你的CPC廣告的點閱率(CTR)不高,Facebook會把你的廣告的曝光逐漸降低,導致你的CPC廣告最終達不到預期的成效。 另一方面,如果你選用CPM模式,而你的廣告的CTR不高,同時受眾的規模又很大(如超過100萬人),你很可能因此白白花掉幾百美元,而沒有任何人點擊你的廣告。 這句不知道是否可以理解成若 advertiser 的CTR不高, DSP商會降低該ads的曝光度? 若上句為真, 這樣選擇 CPM 的廠商又會因為CTR不高, 曝光率低而導致根本沒有人點擊而白花錢. 這篇建議根據CPC是否達某最低標準(根據CTR)來決定是否採用CPM 假設 facebook 提供的建議收費: CPM = 0.5$  CPC = 1$ 則CTR 約等於 CPM/CPC = clicked/mille = 0.5/1000/1 = 0.05% 因此, (1)若 CTR 大於 0.05%的可考慮轉換為 CPM 模式. (2)若 CTR 越大, 表示 CPM 效益越高.

Week 1 recap

1. 紐約時報與FB合作,發布新聞。 http://www.cnbeta.com/articles/390431.htm 2. 馬雲的故事 http://edu.sina.com.cn/en/2015-03-11/142388224.shtml 3. 微軟取消Windows Media Center http://www.theverge.com/2015/5/2/8536141/microsoft-windows-media-center-killed-off 4. 蘋果想要消滅免費的音樂服務 sportify http://www.theverge.com/2015/5/4/8540935/apple-labels-spotify-streaming 今天因為排行程的關係,需要跟別人更改時間,想到幾個句子的日文說法。 因為身體不適/臨時有事,今天的預約能改到明天嗎?能取消嗎?能夠延後1小時?能夠提前一小時嗎? 気分が悪い 突然の用事がある ので、今日の約束(待ち合わせ場所)を明日(別の場所)に 変えてもいいですか?変更(へんこう)してもいいですか? キャンセルしてもいいですか? 一時間遅れてもいいですか? 一時間早めてもいいですか? たぶん、無理です。 參考: 滬江 まで 同じ種類のものがさらに加わる(くわわる)  指的是同樣的事情再加上去 例:風が強くなった。雨まで降ってきた。 風變大了, 而且也開始下雨了. 例:今日は休んだ人の分まで仕事をさせられて、疲れた。今天休假的人的工作也算我的份叫我做, 累死了。 極端(きょくたん)な範囲(はんい)にまでおよんだという気持ち 例:母まで私の言葉を疑って(うたがう)いるようだ。 例:郵便料金は二十五グランまで八十円です。 さえ 必要十分条件(さえ~ば・なら) 例:雨さえ降らなければ、スポーツ大会は行われる(おこなわれる)。 例:この病気を治す方法は手術(しゅじゅつ)しかないらしい。 the final nail in the coffin  最後致命的一擊 A. Your grade is slipping.  你的成績在下滑 B. I've tried as hard as I can. 我已經盡力了 A. Anythin

[unsolved]如何透過 backbone(.js) 在物件中增加事件 How to add an event on an arbitrary object on backbone(.js)

事實上網路給的解都差不多如 StackOverflow: How to capture the key event from a view 但今天我的狀況是 , View 中 el 以設定為某個 element A,然後我想偵測的是另一個 element B(在A的範圍之外)。已嘗試用最粗糙的寫法(如下),是沒有問題的。 1: $('body').on( "click", "#hamburger", function() { 2: console.log( "ham" ); 3: } 這篇最能解釋我的困惑: StackOverflow: event-binding-with-backbone.js 的確若 click, keydown 等事件都給某個 View 給佔用,也是挺習怪的。還是獨立出來分開實作,至於這樣的事件 (out-of-box),無法做 trigger 只能從 view 中的線程自己去 polling 了吧 (?! )

如何在 node(.js)上建立 HTTPS How to build HTTPS connection on Node(.js)

大病初癒,大概確認研究手法後,終於又可以開始寫程式了... (茶 今天想要加點東西,想到由於現在的網路攻擊頻繁,HTTPS已變成連線的主流,於是想試試如何在 node(.js) 上建立 HTTPS連線。 根據 node 官方文件 說明顯示,僅需要三個步驟: 1: var https = require('https'), 2: options = { 3: key: fs.readFileSync('./path/keys/agent-key.pem'), 4: cert: fs.readFileSync('./path/keys/agent-key-cert.pem') 5: }; 6: var serv = https.createServer(options, app); Line 1: 引用https library Line 2: 讀取 pem certificate 跟 key Line 3: 加入 createServer 參數 實際在實作過程中發生了些問題,這裏記錄一下。 問題一:無法連上HTTPS。 一開始利用 curl -k https://localhost:7878/ curl: (35) Server aborted the SSL handshake 發生了 "server aborted the SSL handshake" 發現產生的 cert.pem 是空的,於是發生此錯誤。 PS. server 端則是出現 exception:Missing PFX or certificate + private key 。 問題二:如何產生pem 參考 StackOverFlow: create HTTPS server with Node.js ,如下的 Line 1 跟 Line 3. 1: openssl genrsa 1024 > key.pem 2: WARNING: can't open config file: /opt/anaconda1anaconda2anaconda3/ssl/openssl.cnf 3: openssl