MF99 coding 💻

keep learning; keep coding;

智慧音箱 OS 設計

2015 年,Amazon Echo 讓世人展現了 Smart Speaker 的威力, 2016 年 Google 也推出了自己的 Google Home 系列,頂著 IoT Smart Hub 的光環以及利用藍牙音箱這個已知需求為載體,智慧音箱一躍成為當紅炸子雞。 在這個背景下,當時作為專注於提供兒童/父母數…

Leadership Journey - training notes

最近剛好在整理過去的筆記時,看到了當初一次公司針對主管階級的內訓課程時做的筆記。 當時也覺得很受用,所以也在這裡分享一下當初的筆記,以及這幾年實際擔任團隊主管後的一些綜合經驗

ME-App:我的履歷 App

終於能來寫這篇了~ 最近在工作轉換期的空擋。之前自己一直很想寫一些東西,一來當作個人作品,二來也可以練習一些之前一直想玩,但是工作上沒用到的一些東西。 所以最近剛好有時間了,就來安排一下~ Play Store 已上架完成 play.google.com 要做一個 App,…

MVVM 經驗分享

關於 MVVM 的基本概念,可以回顧一下上一篇 這篇直接就我之前工作上的一個實際案例,分享一下我們當初使用 MVVM 建構這個產品的一些經驗

MVVM 概念篇

當一個應用開發的越來越大,越來越複雜的時候 除了開發團隊人員會越來越多之外,開發新功能,修正 Bug 的複雜度通常也是呈現指數成長 如何在產品持續營運/擴張的情況下,讓產品本身的代碼有著高度的可讀性,可維護性。 這時候第一步,通常就會搬出祖傳的 MVC…

面試:應徵者 vs 招募者

網路上其實找的到許許多多的面試技巧,面試撇步 不管是單獨針對招募者該注意的項目,也有應徵者該準備的東西。 但是我這裡想要針對「面試」的這個制度的一些想法 為什麼要面試? 到底應徵者與招募者花這麼多寶貴時間坐下來談到底要談什麼? 雙方想要,或是需…

工作經驗談:Manager

從 2014 年開始接手 Team manager 至今,接觸管理職也有 5~6 年左右了,中間也經歷過撰寫擴編計畫、招募/面試、團隊規劃、績效考核、團隊轉型以及縮編/裁員。 所以這邊也分享一下這幾年下來,擔任主管職的一些心得,也提供給想接觸,或是剛接手管理職的人一…

工作經驗談:PM

PM、專案管理、產品管理、項目管理 一個看似簡單但是又很複雜的職位 在工作了這麼多年中,聽過、看過、接觸過的 PM 不少,自己親身協助、代理過一陣子的 PM 角色 曾經也考慮過轉職到正式的 PM 職務。 所以這邊就記錄一下自己關於 PM 職位的一些經驗,以及心得

工作經驗談:SA

在之前的公司中,有幸擔任了 SA 的角色,而且還不是某個單位的 System Architect,而是跨單位的 Solutions Architect 雖然之前在做 Senior / Principle developer 的時候,或多或少也需要接觸到架構的設計(通常在公司沒有專職 SA 的情況),但是第一次擔任…

Scrum 的那些事 Part 3:Water-Scrum-fall

在前一篇說明了,其實有許多的企業跟團隊,其實並不適合單純的導入 Scrum,或者其實根本就不需要單純的 Scrum。 可能是企業/產品屬性,團隊特質或是組成特性造成的。 由於台灣我待過的許多開發團隊中,公司本身可能就是屬於代工/外包性質,開發團隊本身對於…

Scrum 的那些事 Part 2:今天,我們來聊聊 scrum

這篇就直接來聊聊 Scrum,以及 Scrum 到底提供了怎樣具體的方法來做到敏捷式開發的核心價值 1. 把產品的核心 Vision 切分成多個可描述的 User Story,然後放到 Product backlog 中 2. 每一次迭代,從中提取出最重要(市場價值)的部分放入 Sprint backlog 3.…

Scrum 的那些事 Part 1:源起

終於有時間可以好好寫一下,這幾年跑 SCRUM 的一些經驗與心得。 由於要覆蓋的面相比較廣,目前預計是利用 3篇文章來分享。 第一篇會簡單介紹一下 Scrum / Agile 的源起與概念 第二篇則是具體解說,一個完整的 scrum 應該怎麼來實踐 第三篇,則是針對我這幾年…

做事的方法

這一篇其實想寫很久了,其實我也是這幾年,待過幾個公司、專案、團隊之後,慢慢能夠比較具體的整理出這些概念。 這邊講的會是一些比較概念性的東西,雖然可能無法有立即性的幫助,但是希望可以讓讀者能夠在工作,生活中可以偶而去檢視自己,甚至讓自己更進一…

一個人的職場價值

今天不聊技術,來聊聊「職場價值」這件事 常常有人說要多提升自己的價值,才能在職場上有著穩固的位置,或是能夠繼續往上爬。 但是具體要怎麼實現? 或是如何檢視自己的價值? 有時候會讓人覺得很困惑。 這裡就提出幾個意見,跟我這幾年工作下來的一些想法。

你在做產品 (Product) 還是在做專案(Project) ?

這幾年接觸了不少 PM,自己也親身擔任過幾個案子的正式/代理 PM 也待過做專案的公司,也待過了做產品的公司,所以對這部分的感觸特別深,也有很多想法。 大多數的軟體開發公司/部門,一定會有 PM 這樣的角色。 雖然很多字面上都是寫 Project Manager,但是其…

Code interview:Coding 面試與思考訓練 - 實戰演練 part 3

緣起:Code interview:Coding 面試與思考訓練 - MF99 coding Code interview:Coding 面試與思考訓練 - 實戰演練 part 1 - MF99 coding Code interview:Coding 面試與思考訓練 - 實戰演練 part 2 - MF99 coding 題目: 給定一組人的列表,列表當中有記…

Code interview:Coding 面試與思考訓練 - 實戰演練 part 2

在上一篇,我們已經列舉出了一組相對看起來客觀且具代表性的實例,接著就是試著在邏輯上找出我們的解答。

Code interview:Coding 面試與思考訓練 - 實戰演練 part 1

在前一篇 [https://mouseface99.hatenablog.com/entry/code-interview:title] 之中,有提到了 coding interview 解決問題的7個步驟。 這裡就來實際用一個例子,來模擬一個真實的面試情境。 所以我們就跟著以下這7個步驟來一步步思考並解決這個問題

Code interview:Coding 面試與思考訓練

之前有幸有被 Google / Facebook 的招募團隊看上,有過幾次 Phone / Coding interview (雖然結果都是沒錄取....) 但是不管是在事前準備,閱讀招募團隊提供的一些參考、準備資料,其實過程中也都對自己的寫 code 或是思考既能有一定的成長。 這裡就分享一下…

格式化 Git commit message - Angular format

工作上大家經常會使用到版本管理軟體,大多數使用的都是 git 但是基本上 git 的 commit message 原則上沒有任何規範,想寫什麼都可以~ 自己寫的話,自有風格或是自己看得懂就好也沒差,但是在團隊合作的專案上,各自為政的風格就很危險。 因為會導致版本管…

App 內建 VPN/DNS service

Android 其實提供了 VPN 服務,讓 App 可以在需要時在用戶同意的情況下開啟 VPN 服務

SMS 簡訊自動攔截/解析

OTP 驗證越來越常見後,與其讓用戶收到訊息後還要去查看簡訊,然後把簡訊中的驗證碼記住或是複製,再回到你的 App 做輸入。 不如自動擷取簡訊,然後把驗證碼自動幫用戶帶入對應的欄位。

語音助理,Chat Bot 實作原理

目前市面上有許多的語音助理,線上AI客服,Chat bot 等等服務。 各家軟體大廠也都在推出自己的語音 AI 服務,至於這些服務到底是如何開發? 如果想要利用現有的服務來開發自己的語音助理要怎麼做?這邊就來分享一下

資料庫初探 正規化

最近開始接觸一些資料庫的東西,主要是為了學習 MongoDB。 不過由於本人的資料庫知識基本上還停留在大學課程的程度... 加上只有關聯式資料庫的底子。 所以為了學習 MongoDB,只好先來看一些基礎的東西。 首先就從正規化開始。

自製 Java 計時器分享

在開發中後期在測試效能的時候,計時 這個功能真的很常會用到 之前都還要去自己記一堆時間點,然後再一步步去計算實在是有點麻煩,所以就寫了一個小工具來把功能做的完整一點,然後使用上也比較簡單。 在這邊分享一下。

使用 Android Studio 中的 Build variants (productFlavors)

Android Studio 真的是越玩越好玩~ 之前開始研究了一些 build.gradle 裡面的基本功能,像是設定、修改 default config 等。 但是有時候常常在實務開發上,同時可能會需要 build 好幾個不同版本,最簡單的就是 debug / release 版本,或是有連接 Server 的應…

使用 Widevine DRM

隨著 Android 越來越普及, DRM 的需求也越來越大。 所以 Google 原生支援的 Widevine DRM 的使用率也越來越高。 這邊就稍微記錄一下如果要播放 Widevine 影片的話,要怎麼取得 Widevine DRM 的 access right 以及如何播放。

好用的 Scanner

前陣子有機會參加了幾場國外公司的 Phone interview 以及 Whiteboard coding interview (雖然結果都是沒上...) 但是過程中接觸到了一些線上 Coding 的網站,裡面有很多地方是要做基本的 Command line 的 IO。 基本上 Java 在 Standard Output 的部份在還算…

將 Python script 打包成 exe 執行檔

自從開始玩 Python 之後,就發覺 Python 真的是一個很強大又好用的小工具! 除了製作 GUI 比較麻煩且不好用之外,其他像是寫一些小工具或是自動化一些工作流程真的很好用! 但是有時候你寫好的小工具想要分享給別人使用~ 或是你是為了幫別人製作一些小工具…

Android 鍵盤中 CTRL/SHIFT/Caps Lock 按鍵狀態

這次經手的案子,其中有處理到外接(實體)鍵盤的部份,所以難免的就會出現一些相關的問題。 這次是鍵盤中的一些特殊按鍵,也就是 CTRL / SHIFT / Caps Lock / Number Lock 的問題,所以就 Trace 了這邊的 code,也記錄一下這幾個特殊組合按鍵在 Android 中是…