Just My Life & My Work

Socket 原理與流程

平常 App 串 API 就是使用 Restful 的方式,現在想要在 App 取得即時資訊,一個較為可靠的做法是 Socket。應用例如我常用的通訊 App,Line、Messenger、Wechat、Telegram等。

首先來看 Socket 流程圖~

透過上面圖片可以了解,服務器端先初始化 Socket,然後與端口綁定 (bind),對端口進行監聽 (listen),調用接受 (accept) 阻塞,等待客戶端連接。

在這時如果有個客戶端初始化一個 Socket,然後連接服務器 (connect),如果連接成功,這時客戶端與服務器端的連接就建立了。

客戶端發送數據 (send) 請求,服務器端接收 (recv) 請求並處理請求,然後把回應數據發送 (send) 給客戶端,客戶端讀取 (recv) 數據,最後連接關閉 (close),一次完整互動結束。

繼續閱讀文章 »

TDS 檢測筆

我們每天都要喝水,我便很好奇每個水源的水質如何。我特別愛逛小米商城,因為總是能遇見有趣的 3C 商品,讓我很想要把玩~😗

雖然無法連結米家 App,小米 TDS 檢測筆小巧可愛,拿起來的質感很讓我愛不釋手。

一支約 200 元,可以買來玩玩喔~

連結:小米TDS水質檢測筆

繼續閱讀文章 »

[iOS] Mac OS M1 跑 pod install

過去使用 Intel chip 都非常順利跑 pod install,現在使用 Apple chip,就出現問題囉~

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

似乎跟 Ruby ffi 有關係,好在只要進行下列指令:

  1. sudo arch -x86_64 gem install ffi
  2. arch -x86_64 pod install

即可解決問題。🤠

之後 pod install 就使用 2 步驟。

參考:

Don’t forget to include the Crash Report log file under DiagnosticReports directory in bug reports

[Swift] 物件的生與死

作為一個不稱職的 Swift 工程師,偶爾還是要來了解一下物件的生與死

我實在是不太想管底層怎麼管理物件的生與死,只要系統幫我自動處理好,我只想要專心在有趣的商業邏輯上。🙃

繼續閱讀文章 »

[Flutter] HttpClient

現在手機主要功能就是拿來上網,所以任何 App 基本上都會需要透過網路存取資料,此時 Flutter 可以怎麼操作呢?使用內建 io package 就可搞定!🙃

我特地寫一個近年來很夯的比特幣查價系統,可以隨時查看多家交易平台上比特幣的實價,也許還可以進一步變成「搬磚」工具!

只要點擊藍色按鈕,就能即時取得多家交易所比特幣的實價。

繼續閱讀文章 »

[圖解] 台灣雨神同行

從即將跨到 2022 年開始,在大台北地區大部分的時間都是陰雨,就連農曆年也是幾乎不見天日,加上疫情時好時壞,搞得大家天天雨神同行⋯⋯😐

我在臉書粉絲頁回基隆,看到一張圖表,正是我想要了解的數據圖表,基隆依然是最會下雨的地方,台北也不遑多讓,使得我必須時常開除濕機,才讓體感變得舒適些。

希望三月開始,太陽能普照大台北地區,我想要出遊踏青,無論是騎車、爬山、慢跑,期待中~🤩

[Flutter] pdf package

接續上一篇 pdf package 教學文章,已經加入文字,現在我想繼續加入圖片,可以怎麼做呢?🤔

先來看一下顯示截圖~

繼續閱讀文章 »

[Flutter] Const 與 Final 差異

學習 Flutter 來寫 App,一開始可以先了解 Dart 語法如何使用,像是我會認為 ConstFinal 是差不多的 Keyword,但實際上呢?

我們直接看以下的例子,就判斷是怎樣的差異,未來寫程式可以更精確地使用-不會被改變的值、物件、類別。🙃

繼續閱讀文章 »

觀察一件事情的流行趨勢,可以從比較與其相關的項目著手,而以 Flutter 的角色來看,React Native 會是相當重要的對手。我特地到 Google Trend 比較 Flutter 和 React Native 搜尋熱度的趨勢變化,時間從 Flutter 最初被釋出的時刻 2017 年開始。

可以見到以下趨勢圖變化,Flutter 在 2019 年開始逐漸超越 React Native,看來 Flutter 是後來居上,一直到了 2021 年~我非常期待之後的變化。🤩

2021 年上半年,我因緣際會要協助一個 Flutter 專案,橋接 iOS 原生語言的 In App Purchase 功能,才接觸 Flutter 相關知識內容。到了下半年,更有公司專案負責人,找我協助在 Flutter 專案上新增功能,於是我更有機會實際使用 Flutter 來開發 App。

繼續閱讀文章 »

[Swift] try / throw / catch

Swift 在處理例外的時候有很好用的語法,就是 try / throw / catch,可以多加利用,寫出沒有錯誤且崩潰的應用。

  • try 嘗試行為
  • throw 丟出例外
  • catch 抓住例外

我們直接寫個範例,就能知道如何使用~

接著繼續閱讀全文~😌

繼續閱讀文章 »

標籤雲