Skip to main content

Tedshd's Dev note

JavaScript - 半形 全形 轉換

# JavaScript - 半形 全形 轉換 因為一個奇怪的需求? 需要把使用者輸入的東西轉成可以方便驗證的格式(這應該後端做吧?) 反正因為以前也做過半形轉成全形(痛苦的回憶, 為啥政府的 opendata 各縣市格式不一致就算了, 竟然還有全形半形的問題…) 這邊就簡單的只針對最前面的基本拉丁字母字元符號集作轉換 因為大部分的需求應該這樣就可以應付了? 但是空白字元要特殊處理 那接下來只要知道需要轉換的字元範圍即可 全形從 U+FF01 到 U+FF5E 半形從 U+0021 到 U+007E 把 16 進制轉換回來就是 65281 到 65374 33 到 126 上述怎麼轉的? 就是這樣 parseInt('0xFF01', 16) 只要判斷輸入的字元這這些編碼區間就進行轉換 trans char 所以簡單做了一個 demo 頁面 程式檢視原始碼即可 Refer - Wiki Refer - Unicode / UTF-8 字元編碼區間表 - 2013 ...

Chrome headless 研究筆記

# Chrome headless 研究筆記 最近要用到 chrome headless 的部分功能 且得在 ubuntu or debian server 實踐 所以筆記一下 ## Intro headless 大致分兩種用法 CLI libary Refer - Getting Started with Headless Chrome CLI 用法簡單但是受限很多且沒有找到具體詳細完整的文件, 就連用 man 查都查不到… 也有可能是我自己沒有認真找 libary 就相對容易, 連 Google 自己都有提供部分語言的版本, 且有前端工程師很熟的 Node 版本 ## on ubuntu server sudo apt-get install chromium-browser ex: chromium-browser --headless --screenshot=test.png --disable-gpu --window-size=320,480 --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7. ...

2018 Google cloud 訓練營 筆記

## 2018 Google cloud 訓練營 筆記 Become a Google Cloud Platform expert with hands-on training. GCP Essentials # Gcloud cli ## PROJECT_ID: gcloud auth list gcloud config list project ## BASIC gcloud -h gcloud config --help || gcloud help config gcloud config list --all # Managing Cloud Storage data Try creating a Cloud Storage bucket. Bucket names must be unique, so replace unique-name with something else, or append the name to make it unique. ...

JavaScript - 計算網頁元件的曝光

# JavaScript - 計算網頁元件的曝光 因為某些需求需要精確計算某些網頁上的 UI 元件的曝光 沒錯 就是要像廣告計算 impression 一樣 之前只要確認有該元件的 request 就好了 但是為了精確追求計算曝光, 所以必須做到像 Google Ad 一樣 要到該網頁元件讓使用者看到後才能計算曝光 聽起來這要求不太容易 但是實作下去其實發現還好誒!! ## 概念 DOM 元件進入可視範圍觸發 impression 所以需要能夠釐清一些問題 如何確認可視範圍? 如何確認要記錄 impression 的 DOM 元件在可視範圍? 如何在進入可視範圍時觸發? 看似困難 但是如果熟悉 JavaScript Window 物件和 DOM 物件的話就會發現很好解 ## 實作 ### 如何確認可視範圍? window.document.documentElement.clientHeight window.document.documentElement.clientWidth 完美解決 ### 如何確認要記錄 impression 的 DOM 元件在可視範圍? <DOM Object>.getBoundingClientRect(); 完美解決 但是要取到對應可是範圍的位置建議使用(top, left), x y IE 和 Edge 不支援 還有一點要注意就是該 DOM 要先長在 browser 上面且不是 display: none 的狀態才能拿到值 ...

Mac - Get file user(owner) name & user id

# Mac - Get file user name & user id ## Get file owner name stat -f '%Su' <file or folder name> ## Get user id ### show user id // or id <user name> ### get uid id -u // or id -u <user name> ## get file owner uid stat -f ‘%Su’ <file or folder name> | xargs id -u stat -f '%u' <file or folder name> Refer - 将Linux命令的结果作为下一个命令的参数 ...

LINE - 2018 1111 分享得 LINE point 研究筆記與分析報告

# LINE - 2018 1111 分享得 LINE point 研究筆記與分析報告 MGM(member get member) 的模式一直以來都會是一個有規則可循且有時難度也不高的活動模式(因為難度高就不好擴散 這次以 LINE 2018 年 1111 分享連結的 LINE point 為例子當作我們這次的研究對象 大致規則 分享該訊息給朋友 會是如下圖所示 活動辦法引言 活動辦法: ● 好友點選您分享的連結進入LINE購物首頁,若成功您將會收到『LINE購物官方帳號』通知抽獎囉。分享者需透過活動頁分享網址,邀請朋友點入LINE購物並完成登入,才能獲得點數。 ● 轉發他人的分享網址,點數將會計算給原分享者。 ● 請先加入『LINE購物官方帳號』好友以及解除封鎖可獲得參與活動資格與收到LINE 購物抽獎/得獎通知。 ● 分享給同一名好友,最高可獲得1次抽獎機會,若要再獲得抽獎機會請分享給其他好友。 ● 各平台折扣碼「LINE11」,使用期間:2018/11/10 - 2018/11/11折抵金額與使用方式請見各平台規範。活動詳請請見:https://lin.ee/5JVllUj/rcf ● 此分享活動時間為2018/11/5 11:00至2018/11/9 23:59(台灣時間)。收到抽獎券之用戶,須於2018/11/12 23:59(台灣時間)前點擊抽獎網址,逾期未完成抽獎者視同放棄並自動取消資格。 ● 本次活動限LINE帳號已綁定台灣手機門號用戶參加 那上述規則就令人產生一些聯想 那大家互相分享再去點開連結就可以得到點數了呢! ## 研究 本持著攻城獅的研究精神 就發現有人分享了一份 Google 表單 上面記錄了許多人填出來的分享 URL(當然也有來亂的XD) 那麼接下來就可以開始一件事, 那就是點連結拉 但是在 Line 開這表單再點連結好累喔 那這時候又有個思路就是可以讓這過程自動化阿 但是要在模擬器上登入 LINE 很麻煩(因為 LINE 只能同時登入一台手機) 那換個思路 ...