發表文章

如何重設 Mac 的 Dock 與 Launchpad

圖片
如果想要完全恢復出廠時預設的 dock ,可以在 terminal 中輸入下列指令: defaults delete com.apple.dock; killall Dock dock 就會回到出場時的設定,包括所有的 icon。若只是要恢復初始的 icon 大小(預設為 64),則在 terminal 輸入下列指令即可: defaults write com.apple.dock tilesize 64; killall Dock 又如果想重設 launchpad 裡的 app 順序,可以輸入下列指令: defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock

Google 新推出的「Google 信號」(Google Signal) 是什麼?

圖片
Google 最近 (其實也有快半年了) 在 Google Analytics 推出了新測試功能「 Google 信號 」(Google Signal)。如果你的 GA 帳號已經支援 Google 信號,可以在上方看到啟用的通知: 啟用 Google 信號步驟很簡單: 簡單來說,Google 信號的主要作用是: 將 GA 蒐集到的資料與 Google 所搜集的用戶登入資料彙整。這裡所指的用戶登入資料包括匿名的使用者定位紀錄、Google 搜尋記錄、YouTube 搜尋與觀看記錄以及來自 Google 合作夥伴網站的資料。其實以往在 GA 的興趣報表已經整合這部分的資料,現在只是更進一步透過 user-id 將更多的使用者資料串連起來。 資料串連後,透過 user-id,即使網站沒有提供會員功能,也可以透過 Google 的用戶行為數據辨識單一使用者,提供更精確的個人行為數據。以往 GA 是以 cookie 紀錄來判別使用者,使用者若是使用不同裝置瀏覽目標網頁,對 GA 而言就是不同使用者。現在有了 Google 跨裝置所搜集的個人資料,透過 user-id 就可以進一步判別不同裝置上同一位使用者。 更進一步,彙整後的資料所提供的再行銷名單,發佈至 Google Ads 或 Google Marketing Platform 後,可以跨裝置的向每個使用者發送個人化的再行銷廣告。  Google 信號的推出,對數位行銷操作而言,以往模糊的使用者面貌越來越清晰,原本 GA 中 Audience 相關的數據如 UV, Bounce rate 或 Return rate 都以真實的使用者為基礎而更精準,再行銷的操作也可以更細緻。不過相對於使用者而言,Google 的個人行為數據搜集分析能力越來越厲害,未來 (甚至是現在) Google 可能都比你還瞭解你自己,當匿名行為資料搜集到一個極致時,「匿名」雖然還是法律上的隱私的門檻,卻已經如同未上鎖的門一樣形同虛設?

Google Tag Manager 與 gtag.js 的選擇

最近剛好某個專案面臨該選擇 GTM 或 gtag.js 來實作 Google Analytics 的問題,於是把心得整理紀錄一下。 GTM 現在應該是最主流的 GA 實作方式了吧,簡單好用強大,不會寫程式的人也可以點個幾下裝個追蹤碼,會寫程式的更是如魚得水。那 Google 為什麼又要在 2017年底推出 gtag.js? 就 Google 官方的說法,gtag.js 是一個可以用來安裝設定 GA tags 的 JavaScript framework,與 analytics.js — 也就是GTM 現在所支援的 GA tags library —  的不同在於一套 library 同時支援 Google Analytics, Google Ads 與 Google Marketing Platform,也就是説使用一套 gtag.js 就可以將網頁資料送到 GA: gtag('config', ‘GA-12345678’); 也可以一行 code 將資料傳送給 AdWords: gtag('config', ‘AD-12345678’); 甚至也可以用來安裝 Google Optimize。 gtag(‘config’, ‘GA_12345678’, { ‘optimize_id’: ‘GTM-123456’}); gtag.js 看起來就是 Google 未來主推的網頁數據搜集方案,但 analytics.js 卻也沒有因此終止服務 (雖然 Google 說停就停的紀錄不少見),現在看來兩者像是並行的,Google 也說已經使用 GTM/analytics.js 的網站沒有立即換成 gtag.js 的必要。不過如果你有一個新上線的網站需要搜集數據,現在這個時間點該選誰?我覺得如果管理面允許,應該盡量採用 gtag.js: gtag.js 是目前 Google 主推的網頁數據搜集方案,官方的 developer guide 也都已經改以 gtags.js 為範例,而 gtag.js 不管在傳送 event 與安裝追蹤碼也比 analytics.js 簡易,依照 Google 產品改版的過往紀錄,未來新功能的改版應該都會以 gtag.js 為主。 如果需要管

Mac OS 10.14 Mojave 字體顯示異常的解決方法

升級到 Mojave 之後,Mac OS 的文字 subpixel antialiasing 就被 Apple 關掉了,在 Non-retina 螢幕下文字看起來又糊又淡,慘不忍睹。Retina 螢幕雖影響不大,但還是看得出差異,可以試著比較同一個網站在 Safari 與 Chrome 的字體顯示就可略見端倪。此外,用 Electron 開發的應用程式如 VSCode 的字體也受到影響,我的 VSCode 在深色主題下的字體都像是被加上 dimmed 效果。 要解決這個問題,目前只能用在命令列下執行這段: defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO 這會全局性的強制開啟 font smoothing,讓字體 rendering 回到 High Sierra 版的顯示模式,算是暫時的解決方案吧。

Ubuntu/Linux Mint 安裝之後...

將自己常用的一些 Linux 調整與安裝項目記錄在這方便參考,這些紀錄大多是基於 Ubuntu 官方發行版與 Linux Mint 。

Dropwizard 與 proxy

在 JCConf Taiwan 2014 的 Dropwizard 講題中, 曾提到可以利用 proxy 架構來整合 Dropwizard 與 Legacy system, 因為時間的關係,這部份沒有著墨很多,而會後也有聽眾問及這一段的實作方式,所以在這裡將相關的資料補充一下。 Proxy 的目的,就是作為後端服務的代理,將來源請求導向到預先設定的資源。 如果要自己實作這樣的架構 (Hardware Load Balancer 的方式不計),最簡單的方式就是利用 Servlet 來重新導向 request,而且也不用自己刻一個,開源的方案很多,像是 J2EP 、 Smiley's HTTP Proxy Servlet 或甚至是 Jetty 內建的 ProxyServlet 就很好用。 這裡就有一篇文章 說明如何在 web.xml 中設定 Jetty ProxyServlet 來整合 AngularJS web application 與 Dropwizard service。

"JCConf Taiwan 2014-Dropwizard Restful 微服務初探" 的簡報與範例程式碼

這次很榮幸有機會可以在 JCConf Taiwan 2014 主講 Dropwizard Restful 微服務 (microservice)初探 ,希望我的議題內容對來參與的各位聽眾能有所幫助,也請各位不吝於指教。 講題的簡報可以在 SlideShare 瀏覽或下載: 至於講題中所提到的範例程式,包括整合 Spring 的 SpringBundle 模組,均可以在我的Github 中找到: https://github.com/anthonych