0%

簡介

我在 [開發者日記] 聊天通訊APP(一) 中有提及過這app會有

  • 語音通訊
  • 視頻通訊

這次他們真的來了!!廢話少說先看視頻

說明

雖然現在只有展示了語音通訊(Voice-chat),但是他們的工作原理其實是差不多的,就差在有沒有傳送視頻數據而已。老實說,這個功能其實言研究了2個月都不知道要從何入手,而github上的simple-demo又是UIKit的版本,所以就一直拖,一直研究。知道最近就想試試也無妨,最多也就不成功,萬一它成功了呢!於是我便開始寫,寫了1-2天,發現失敗了,哈哈哈。然後debug了一下,發現好像是沒有連接上的問題,於是又花了一整天來測試是否有成功連接,當成功連接上且文字數據傳送成功的那一刻,那個激動的心啊❤️!!!然後打開視訊,還真的成功了!!!!好開心!

簡介

在之前 序章 中,雖然已經大概介紹過這個app在幹嘛。但是因為這次是最終章的成品展示(或許有些部分沒實現😂),所以就允許我囉嗦得再說一次吧!

這個app主要是focus在Websocket,也就是實時通訊上。雖然但是HTTP的部分還是不能少的🤣,哈哈哈。所以這個App的Server-side包含了HTTP和Websocket 2個部分。HTTP的部分主要是用作CURD,而Websocket的部分則是用於個人通訊和群組通訊。

廢話少說直接上影片

對上一次的 demo 中,雖然也包含了個人聊天和群組聊天的部分,但是只支援普通文本和圖片的傳送,而這次修復了文件發送,音頻發送已經視頻發送的部分。而音頻可以直接聆聽接收到的音頻,而視頻則可以直接觀看。
除此之外還添加了系統資訊,例如:群組的建立,群組加入,群組退出並通知群組人員。

因為之前的OTT電影社群APP中有包含通訊的功能,但是那個App所實現的功能就只是簡單的存文字聊天而已,而那個app主要的focus點並不在通訊上,所以只有簡簡單單的實作了通訊,沒有到完整的通訊,例如:發送文字,發送圖片,發送文件等等的通訊功能。所以這次的side project所實作的app則主要focus在通訊這個點上。

Binary Search 演算法是用於在一個有序array中搜尋一個值的演算法 - TC:O(log n)。相較於Linear Search(線性搜尋) - TC:O(n),其效率大大提高。

KMP(Knuth-Morris-Pratt) 算法是一個用於字符串匹配的一個算法,但確實有點抽象和複雜,因此打算寫一篇筆記來紀錄一下這個算法!
給定一個text以及pattern字符串,透過KMP 算法可以在text中是否存在pattern這個字符串。

Leetcode 總結

lc-2022

雖然在2021年暑假的這段時間有刷過一整子大概有50道題左右,但是2021年9月到12月在忙畢業專題因此就停止了。直到我12月份去找投實習MataApp 的全棧實習生時,公司給我發來了一份OA或叫面試題並要求在2小時內完成。當時就很激動的便開始寫了(實習問的都有多難),結果都的是算法題(當時一臉懵逼)。最後我花了將近5個小時的時間才完成(超時),收到了深深的打擊(收到了感謝信),也下定了決心2022年好好認真刷題。

這篇文章主要是講述如何在AWS雲服務中部署Kubernetes集群

首先,我們需要準備使用一下工具進行設置

  • KOps - 一個能讓我們輕鬆無痛部署Kubernetes到任何雲服務的工具,可以想象為集群的kubectl
  • AWS IAM - 申請一個能讓Kops存取權限的賬號
  • AWS S3 Bucket - 用來作為存取Kubernets資料的資料庫
  • AWS Route53 - 用於使用自定義Domain Name 並連接到Master Node中
  • GoDady - 作為DNS 服務供應商

前置工作

在電腦中安裝KOps工具用於幫助我們部署集群

想要了解更多關於KOps的讀者,可以參閱 kOps-Kubernetes Operations

今日為2022年11月13日(週日) - Leetcode 週賽第319場

目前參加週賽主要的目的是學習跟訓練,所有當前主要focus在解Easy 跟 Medium的題目,Hard的題目暫且先跳過了

週賽題目如下:

  1. Convert the Temperature - Easy
  2. Number of Subarrays With LCM Equal to K - Medium
  3. Minimum Number of Operations to Sort a Binary Tree by Level - Medium

Convert the Temperature - Easy

You are given a non-negative floating point number rounded to two decimal places celsius, that denotes the temperature in Celsius.