Gg8qflrwtjnszmk47ht0

林佑興 | Arxing

用我的專業與天馬行空來改變這個世界
小時候立志成為一名發明家,興趣是發明物品或是改造原本不方便的的東西讓它們更加好用,大學時接觸了資訊工程,開啟了我的Coding人生,發明與改造移植到了寫程式上,閒暇之餘的興趣是開發工具程式(Tools)第三方套件(Third-Party Library),目前開發的Android Studio Plugin已累積5500次的下載,落實用自己的專業與天馬行空的想法來幫助其他開發者及人們,幫助這個世界更美好。

我的個人特質屬勇於挑戰實戰型,從不吝嗇於去探索不熟悉的領域,也因為這個特質我會利用時間去學習其他技術
 Android iOS .Net Framework Backend Web Cloud 爬蟲......等都有接觸過,而其中以 Android為精進的領域。

技能


 Android

  • Androidx
  • Java
    • JDK8
    • Stream API
    • Lambda
  • Kotlin
    • Extensions
    • Coroutine
  • MVVM
    • Databinding
    • ObservableFields
  • APT(Annotation Processing Tool)
  • Network
    • Retrofit
    • OkHttp
    • WebSocket
  • Data Persistent Storage
    • Shared Preferences
    • Realm
    • SQLite
  • Gradle
    • Groovy
    • Custom Gradle Script
    • Custom Gradle Plugin
    • Multidex
    • AndResGuard
  • Device Interface
    •  Bluetooth
    •  USB Manager
    • Serial Port
  • Others Third-Party Packages
    • Glide
    • Easypermissions
    • RxJava
    • Gson
    • Jackson
    • Awesome Font
    • EventBus
    • StickyHeaders
    • Jsoup
    • Aspectj
  • Xposed(Android Hooks)
  • Reverse Engineering
    • Jadx-GUI
    • Charles
  • Third-Party Service
    •  Facebook
    •  YouTube
    •  AWS S3
    •  Google Map
    •  Google Translation
    • Fabric
  • Push Notification
    • FCM
    • Baidu
    • Xiaomi
    • Huawei
    • JPush
    • UMeng
  •  Google Play Store

 



 Java

  • JDK8
  • Swing
  • Command Line Application
  • RxJava
  • Minecraft Plugins/Modules
  • Web Crawler


 Flutter

  • Widgets
    • StatefulWidget
    • StatelessWidget
    • Form
    • FormFields
  • MVVM/Bloc
    • ObservableFields
    • Stream
    • Sink
    • RxDart
    • Future
  • Flutter Packages Development
  • Third-Party Packages
    • json_annotation 
    • json_serializable 
    • named_mode 
    • dartpoet
    • xson 
    • code_builder 
    • source_gen 
    • build_runner 
    • args 
    • dio 
    • html_parser 
    • yaml
  • Native Communication
    • Method Channel
  • CI/CD
    • Unit Test
    • Fastlane
    • Git
    • Github
    • Telegram Bot Interface
  • Push Notification
    • FCM 
    • Baidu 
    • Xiaomi 
    • Huawei 
    • JPush 
    • UMeng
  •  Google Play Store
  •  App Store



 Dart

  • RxDart
  • Command Line Application
  • Backend
    • shelf
    • shelf_router
  • Dart Packages Development
  • Third-Party Packages
    • json_annotation
    • json_serializable
    • named_mode
    • dartpoet
    • xson
    • code_builder
    • source_gen
    • build_runner
    • args
    • dio
    • html_parser
    • yaml


 



 Laravel

  • Restful API
  • Eloquent ORM
  • MySQL/MariaDB
  • Postman
  • Composer


 Telegram Bot

  • telebot
    • A telegram bot client in Dart
  • Message Analytics and Intent Routing
  • Custom Interface



 IDE Plugin

  • Android Studio Plugin
  • Intellij IDEA Plugin
  • Own 2 productions on JetBrains Plugin Repository


 



 Xposed

  • Android Hooks
  • Xposed Module
  • Xposed Plugin
  • Reverse Engineering



 General Skills

  • Document Parsing
    • JSON
    • XML
    • HTML
    • YAML
    • Properties
  • OOP
  • AOP
  • Multi-Threading
    • Thread-Safe
    • Synchronous
    • Asynchronous
  • Design Patterns
    • Builder Pattern 
    • Singleton Pattern 
    • Adapter Pattern 
    • Command Pattern
  • Network
    • HTTP
    • TCP/IP
    • UDP
    • Socket
  • Data Stream Processing
  • Git

學歷

勤益科技大學, 學士學位, 資訊工程系, 2011 ~ 2016

工作經歷

興晨國際有限公司, Android工程師/Leader, Sep 2018 ~ Jun 2020

  • Android專案開發
  • Flutter專案開發
  • Intellij-Based Plugin開發
  • Dart主控台工具開發
  • CI Server架構/開發
  • Telegram Bot串接
  • AWS Lambda服務
  • Laravel短暫開發
  • 帶領3人小團隊

馬甲包APP(Android/Java & Flutter)

多人各自獨力完成。

以大量生產能上架到市場的APP(期貨資訊、股票資訊、基金資訊)為主,面向中國客戶群,上架至百度/華為/360/應用寶/OPPO/小米/安智...等中國平台以引導客戶流量。


馬甲包APP自動生成環境(Java)

獨力完成。
以通用模板APP為基準,設計出資源包並以替換資源的方式來大量生成馬甲包,主要程式為以Java撰寫成的Command Line Application,佈署在雲端並與後台對接,達到可直接從後台輸入資源包後,程式即運作自動替換資源、編譯、打包最後發佈APK到Storage Server上,實現無需寫到一行Code即可自動生成APP的效果。

金流監測APP(Android/Java & Xposed)

獨力完成。

與其他金流平台對接,以分析收款簡訊的方式來檢測使用者所綁定的各銀行金流動向,並自動回報至後台紀錄。


影音平台(Flutter)

多人協作各功能模組。
以Flutter撰寫而成的影音平台,擁有會員、觀看紀錄、收藏影片、推薦影片、影片分類...等功能。

賽席爾商索特, Android工程師, Jun 2017 ~ Jun 2018

  • Android專案開發
  • GCP VM伺服器架設
  • AWS S3服務/API串接

運動賽事APP(Android/Java)

獨力完成。
與後端對接API,呈現各種運動賽事的即時資訊。

耀達電腦, 軟體工程師, Jul 2015 ~ Mar 2017

  • Android專案維護/開發
  • WPF桌面應用程式開發
  • 小型Loading Balancer架構

撲克牌辨識APP(Android/Java)

獨力完成。
面試測驗題目,以Android Camera完成撲克牌的辨識功能,測驗門檻為單張辨識100ms內,辨識成功率需達90%。
以OpenCV輔助大量複雜運算,最後成品實作出同時多張辨識並且達標。

3D打地鼠遊戲APP(Unity3D/C#)

獨力完成。
面試測驗的第二道題目,以Android完成打地鼠遊戲,並且需使用到相機、陀螺儀、震動等功能。
以Unity3D搭配C#來撰寫,遊戲資源皆為免費資源,其中曾因頻繁刪除/新增角色物件而造成效能低下,最後是以角色池的方式來解。

楊正中議員APP(Android/Java)

維護並開發新功能。
為楊正中議員的里民服務打造的資訊型APP。

醫療照護APP(Android/Java)

維護並開發新功能。
使用者分為護士及病患,對於病患是提醒透析時程及向護士回報的功能,對於護士則是記錄病患及訂購醫療用具的功能。

視訊/語音聊天Library(Android/Java & iOS/Objective-C & WebRTC)

獨力完成。
以WebRTC協定來實作擁有視訊及語音聊天功能的Library,且為雙平台,Android部分以Java撰寫,iOS部分以Objective-C撰寫。

台灣彩券APP(Android/Java)

獨力完成。
與後端串接,為給台灣彩券使用者的APP,擁有產生投注QRCode、查看中獎資訊、店家資訊、優惠...等功能。

台灣彩券POS系統(WPF/C#.Net & Linux)

前人完成一些,後續接手獨立撰寫。
以微軟的WPF框架撰寫,並且使用C#,為給台灣彩券商家使用的POS系統,擁有報表、開獎、投注...等功能。

作品集

撲克牌辨識APP

第一間公司面試的測驗題目,主要使用OpenCV做大量運算,使用到了灰階、二值、邊緣檢測、輪廓檢測、三角函數、二維座標系統…等。


如圖所示,可以正確定位撲克牌的角落(即使撲克牌有被擋住或不完整的出現)並抓取每張撲克牌的牌身從而判斷出撲克牌的數字並顯示。


由於年代久遠,原始碼及Demo已不可考。

Paragraph image 04 00@2x
Paragraph image 04 01@2x

台灣彩券


Projects 01 00@2x
Projects 01 01@2x
Projects 01 02@2x

Android/Java Packages

MultipleStateView 

一個可以預先給定多個畫面並讓畫面綁定狀態,並以狀態去切換各種畫面的自訂View。

FileHelper

改善Javapoet是使用Builder Pattern造成物件生成後,無法再改動內部屬性的不方便的擴充庫。

LazyAttr

在刻劃自訂View時,需要定義Attr時總要手動到資源檔內定義,非常的不方便,於是著手寫了這個Library,LazyAttr透過APT來讓使用者在View內直接新增屬性,並且只要加上Annotation定義型態、名稱、預設值即可自動在資源檔內生成對應程式碼。

Chart

手刻圖表元件,基於SurfaceView,提供顯示圖表、觸碰反饋、自適應尺寸...等功能。

AxCore

本人撰寫的一個開發App時會用到的各種庫,包含網路連接/Mvvm框架/JSON解析/頁面跳轉管理/頁面跳轉動畫/資料庫/各種自訂View...等。

IDE Plugin

Projects 01 00@2x

Dart Fast Imports 4034 Downloads


這是一個專門為Dart開發者而生的Plugin,解決Dart在開發時總是得滾動視窗到最上面才能import的問題,讓你在何時何處都能隨意import!

Chinese Converter 1543 Downloads

這個Plugin可以讓你在IDE內隨意地轉換中文字串的繁/簡體,整個過程完全不需要另外開視窗且轉換時間不到1ms,加速開發流程!

Dart Packages

Projects 01 00@2x

dartpoet

Dart Pub 

Source Code

如果你知道鼎鼎大名的Javapoet 8.2k這個library,沒錯這就是dart的版本,協助使用者寫dart程式來產生dart程式!


named_mode

Dart Pub

Source Code

這是一個用來轉換各種命名模式的library,如蛇底式、小駝峰式、大駝峰式、駝峰蛇底式…等。


trident

Dart Pub

Source Code

如果你知道鼎鼎大名的Retrofit 36.2k這個library,這也是它的dart版本,協助使用者用簡單的annotation來產生Restful API。


telebot

Dart Pub

Source Code

封裝Telegram Bot的所有功能的Dart Client。


xson

Dart Pub

Source Code

參考Gson 18.3k而撰寫而成的Dart版本JSON輔助庫。


xson_builder

Dart Pub

Source Code

與xson搭配使用,可解析JSON文件並直接生成為Dart Bean Class的庫。


messages

Dart Pub

Source Code

打破以往對於字串資源架構只有一維的限制,將其擴充為樹狀組織,並實作當找不到資源時使用預設資源的功能的library。


useful_extension

Dart Pub

Source Code

綜合自己接觸過各語言的經驗,以extension的方式來為Dart擴充不方便的語法。


type_translator

Dart Pub

Source Code

實作型態的轉換,如int to double, string to double甚至是自訂類別的轉換。


xfile

Dart Pub

Source Code

由於Dart本身提供的File並沒有那麼好用,於是仿照Java的概念擴充了原有的File。


xargs

Dart Pub

Source Code

簡易型的args庫。