Posts

Showing posts from March, 2015

[RTB](一)簡介

Image
RTB 的由來  主要的兩個角色及任務 advertiser (廣告業主) publisher (平台管理者) 身分 買家(買廣告欄位) 賣家(賣廣告欄位) 職責 欲找到合適的平台增加廣告的曝光度/產品銷售量 管理買家託付的廣告內容, 幫其作利益最大化 例如 品牌公司, 銷售網站 雅虎 Figure I Figure II Figure III 另外還有 Agency Trading Desk (ATD), Independent Trading Desk (ITD), 都是 DSP 商提供給 advertisers 的操作介面工具。 #ROAS, Return On Advertising Spend: 投資(とうし)した広告(こうこく)費用(ひよう)の回収率(かいしゅうりつ)のこと。( 參考 ) 另外在  slideshare 找到一個有趣的主題:6 RTB secrets no-one tells you。 其實我也有想到說 lol 1. second price is cheated. (通常得標都是以第二高得標價當售價) 2. cookie lifetime is short. 3. major advertisers integrate to RTB ecosystem directly. 4. targeting is getting more complicated. 5. RTB ecosystem is kindly fragmented. 6. Fraud is a huge problem. (25%) Figure IV. targeting is highly sophisticated (心得)雖然RTB仍很多問題需要克服,但這表示很多機會嘛!個人覺得這根本是股市翻版,肯定會越來越精采的!

Week's note

1.ずくめ  表示從頭到尾都~的情況,相當於中文的「從頭到尾都是~」,可以用在好和不好的情況下。 人生は幸せずくめではない 2.まみれ 表示髒東西佈滿表面的樣子,相當於中文的「沾滿~」,用在不好的情況下。 顔は汗まみれた。 日本語の森N1 #3 4/4 1.忘了帶[xxx]. 貸し出しカードを忘れてしまったんです。 貸し出しカードを持っていないんです。 貸す<->借りる 2.若卡片沒帶的話, 我們需要(得)確認是否是本人。 カードがない場合、ご本人かどうか、 (あ)確認する ことになっています 。 (い)確認すべきだ。 (う)確認必要があります。 (あ)變成將檢查的事情 => 規定要檢查 3.~ないことには~ない。  應該翻成「不能xxx 除非ooo」, 有點類似英文的: You aren't allowed to do something unless certain conditions are met. チョコがないことには勉強できない。 住所を確認できないことには貸し出しはできない。 4.ないように  to avoid, to prevent   注意不要  指を切らないように、してください。注意避免切到手. 遅刻しないように。為了不遲到. 約束を遅くないように急いだ。 為了約會不遲到走得匆忙. 5.~(よ)うとする 昨夜も勉強しようとしたら、大きな音が聞こえてきたので。 電車を乗ろうとしたら、ドアが閉まってしまいました。 さっき部屋に入ろうとしたとき、管理人に声をかけられました。 嘗試的xxx,(但最後失敗了, 或者有失敗的可能) 6.~みたいなんですが・~ようなんですが KYODOみたいな所に行くのが好きです。 音楽を聞いているみたいなんですが。 似乎, 好像, It looks like, sounds like ... 參考網站 1.日本語の森N2文型12   youtube 2. jgram.org  

[leetcode] #55 Jump Game & #120 Triangle

Title - #55 Jump Game Level - Medium Description - 題目主要是給一個字串 S = [1,2,3],每個數字代表可行的距離,求能否到達最後一個字原。 (補充) Greedy 很明顯,也沒有什麼難度... 大概就是給個超級長的字串,但是若得到足夠的數字就可以直接結束程式,屬於O(n)。 作法 iteration (略) Title - #120 Triangle Level - Medium Description - 題目主要是給一個nested List = [[1],[2,3],[4,5,6]],呈現triangle狀,每個數字代表cost。題目要求traverse從第一個List走到最後一個List,只能走adjacent elements,相是   1  2 3 4 5 6 只能走1-2-5 而非 1-2-6。 (補充) DP問題,主要是記住上次的COST,而且每次的選擇C(i)僅會參照先前min(prevC(i), prevC(i-1))加上C(i)得到total cost at i-th node。不過題目希望僅用一個O(N)的空間複雜度完成,所以多了兩個變數使用,加上須小心處理每個List的1st & last node即可。 作法 iteration 1: for (int i=0;i<S.size();i++) { 2: row <- S[i]; 3: for (int j=0;j<row.size();j++) { 4: if (j=0) c0=0; 5: else c0=c1; 6: if (j<i) c1 = last[j]; 7: if (j=0) min = c1; 8: else min = minimum(c0,c1); 9: last[j] = min + row[j]; 10: } 11: } Java 問題: 1. 在 java 除local variable似乎不需要初始化,所有物件的宣告的元素初始值為0。 From stackoverflow

[leetcode] #34 Search for a range

Title - #34 Search for a range Level - Medium Description - 題目主要是給一個字串 S = [1,2,3],一個目標數字,列出該數字所在的位置。 (補充) 解法很簡單,雖然要求O(logN)但其實用二分法就可以解決,然後記得一開始找數字時同時更新 left_search跟right_search的boundary。不過我在邊界值處理上花了不少時間... Orz 作法 iteration 1: //empty list 2: if (S.length = 0) 3: return new int[]{-1,-1}; 4: lbp = bp = 0, rep = ep = S.length; // bp = begin point, ep=end point 5: min = 0; 6: while (1){ 7: mid = (bp+ep)/2; 8: if (bp==mid) break; 9: if (S[mid] == target) 10: break; 11: else if (S[mid] < target) 12: lbp = bp = mid; 13: else 14: rep = ep = mid; 15: } 16: // target number is not existed. 17: if (S[mid] != target) 18: return new int[]{-1,-1}; 19: // update search boundary 20: rbp = lep = mid; 21: // left search 22: while (1){ 23: tmid = (lbp+lep)/2; 24: if (lbp==tmid) break; 25: if (S[tmid] < target) 26: lbp = tmid; 27: else 28: lep = tmid; 29

[leetcode] #39 Combination Sum

Title - #39 Combination Sum Level - Medium Description - 題目主要是給一個字串 S = [1,2,3],一個數字target,要列出所有字串相加等於target的子集合,字串可重複出現,集合為嚴格遞增。 (補充) 這裡又發生兩次WA。一次是若找不到時回傳[]而非[[]];原先算法找無 [1,2], Target =4中 [2,2]的組合,原因是在backtracking時,s i < max(subset) 時我直接break 導致 '=’ 的條件無法觸發。但是為啥 [1,1,2] OK [2,2]卻不行?不是不行而是當 (si=1)<(max=2)時就直接中斷了。 另外,若S裡頭發生重複的字串的情況下可能需要移除,只是拿到RA就不打算處理了。 這題跟昨天subset 的做法很像。 作法 (iteration) 1: Heapify(S, i, len) { 2: left = i*2, right = left+1; 3: max = i; 4: if (leftlen and S[max] < S[left]) max=left; 5: if (rightlen and S[max] < S[right]) max=right; 6: if (i<max) { 7: Swap(A, i, max); 8: Heapify(A, max, len); 9: } 10: } 11: HeapSort(S) { 12: for (int i=S.length/2;i>=0; i--) { 13: Heapify(S, i, S.length); 14: } 15: for (int i=S.length;i>=1;i--) { 16: Swap(S, 0, i-1); 17: Heapify(S, 0, i-1); 18: } 19: } 20: //step-1, O(n) 21: isAscending = True; 22: for (int i =1

[leetnode] #78 SubSets

Title - #78 SubSets Level - Medium Description - 題目主要是給一個字串 S = [1,2,3],列出所有非遞減的子集合。 (補充) 這裡犯了兩個錯誤:它指的 non-decreasing 是嚴格遞增的意思。例如 [1,3,2,4] 不是嚴格遞增。 第二,若要列出僅"非遞減"的所有數列不太可能,因為所有組合是2 N 個。 作法(一) 遞迴 1: Play(nil, S, ret); 2: Play(set, subset, ret) { 3: if (subset == nil) { 4: ret.add([]); 5: return; 6: } 7: for ( s in subset ){ 8: if (set==nil || s>max(set)) { 9: ret.add({set+s}); 10: Play({set + s}, {subset-s}, ret); 11: } 12: } 作法(二) iteration 1: subset<-nil; 2: for (s in S) { 3: s.add({s}); 4: } 5: while (1) { 6: if (subset == nil) { 7: ret.add([]); 8: break; 9: } 10: ss <- subset.pop(0); 11: ret.add(ss); 12: for (s in {S-ss}) { 13: if (s > max(ss)) 14: subset.add({ss, s}); 15: } 16: } time complexity: O(n 2 ) 另外,由於我是使用 java, 遇到了兩個問題 網,路上暫時沒有較generic的作法。 (1) int[] 轉 List 的問題。 tmp = new A

MySQL安裝

自從 MySQL 被 Oracle 收購後,就鮮少使用 MySQL 了。最近由於 Hive 的需要,打算複習一下SQL Command,不然每次在 Hive 上作 query 都要等上一陣子。這裏記錄一下安裝的流程: 1. 自 Oracle 官網下載 [ 連結 ] 2. 選擇  MySQL Community Server [Version] 的 bundle 版本。另外記得edition是 community 而非 classic 與 standard,因為前者是開源,後兩者都是付費版本。[目前安裝版本: 5.6.23] 3.  照著官網的步驟: 3.1 解壓縮 >> tar -zxvf MySQL-Community-Server.[VERSION].[LINUX_BRANCH].tar 3.2 安裝 dependencies >> dpkg -i libmysqlclient18-*.deb >>apt-get install libaio1 3.3 安裝 common, server >> dpkg -i mysql-common-*.deb >> dpkg -i mysql-server-*.deb 3.4 log-in 似乎會預設好  root  account >> mysql -u root -p 3.5 新增帳戶   3.5.1 root登入後   >> CREATE USER [USERNAME]@[HOSTNAME] IDENTIFIED BY [PASSWORD]; 3.6 查詢用戶 >> SELECT User, Hostname FROM MySQL.User; 001 顯示 column name >>SHOW COLUMNS FROM db.mytable; 002 使用內建函數並顯示結果 >>SELECT CURDATE(); 003 插入一筆資料 >> INSERT INTO member(name, address, age, city, birthday) VALUES ('jog', 'doug', 13, &

Week's note

1.~に伴って・~に伴い・~に伴う(ともなう) インターネットが普及(ふきゅう)するに伴い、都市と地方の情報格差(かくさ)が縮小(しゅくしょう)した。 少子化(しょうしか)に伴う労働(ろうどう)力の不足(ふそく)が大きな問題になっている。 2.~がてら  就當作~(有順便的意思) 散歩のついでに本屋に寄(よ)った。 散步之後,順便去了趟書局。 散歩がてら本屋に寄った。 當作是散步,去了一趟書局。 リレークスがたら、レポートを書いた。 3.かたわら 彼は歌手としての活動のかたわら、小説家としても活躍している。 ====== Logistic Regression 預測客戶的傾向嗜好 prediction of customer's propensity to purchase a product or cease a subscription in marketing application. offline vs online training offline  指需要一整個 dataset 來得到 ====== 1. It is definitely tempted. 2. Email me your figure, and I'll call back you with a counter. 給我一個數字,我會議價 3. It is the top priority 4. What are you looking for in particular? 5. I can get by with only two sons. get by 還可以,過的去 6. You can't loiter in the frozen. loiter (在公共場合)遊蕩 7. The Popsicle (冰棒) are a set price, and not negotiable. 8. eat up leftover. 9. His estimates of the situation was sober. 10. wither or thrive 11. lay down - the committee lay down office after they lost the elect