Open in app

Sign In

Write

Sign In

Veck
Veck

24 Followers

Home

About

May 18, 2022

apple/swift-evolution 上關於 guard 的有趣討論

不久前在使用 guard 的時候,因為忘記加上 return,發生了常見的低級錯誤: 什麼!guard 一定要 return 喔,不能直接跳轉就好? 查看到彼得潘大大的討論文: 檢查條件是否成立,不成立就離開的 guard else guard else 的語法和作用和 if else 很像,但卻有一些不同的地方,讓我們透過以下的 function motherSay 說明。medium.com else { } 的程式執行後,必須離開 guard 所在區塊,如此才不會繼續往下執行條件成立時要做的事。就像剛剛的例子,我們利用 return 離開 function motherSay。 奇怪,那怎麼不設計成 guard 的 else 中預設最後面就會自動 return,不需要 explicitly 寫出 return? 我想說查看一下 swift-evolution 有沒有關於這個設計理念的說明,果然被我找到了。

Swift

1 min read

Swift

1 min read


Mar 17, 2021

昨天出去跑步時發生兩耳只有一耳接得上,回來後電腦也是,而且會有左邊接上右邊就斷,反之亦然,藍芽關掉或是忘記此裝置後重新連線(閃白燈)都沒用,甚至發生左邊接上 iPhone 右邊接上 MacBook…

昨天出去跑步時發生兩耳只有一耳接得上,回來後電腦也是,而且會有左邊接上右邊就斷,反之亦然,藍芽關掉或是忘記此裝置後重新連線(閃白燈)都沒用,甚至發生左邊接上 iPhone 右邊接上 MacBook 同時兩個不同音源的現象,而且假這先讓一邊接上裝置了,這邊會時不時出現中斷或雜音干擾,就好像裝置一直試圖在重新接上另一耳。 睡前想說放棄了,起床後再上網找一下資料,這次直接只看 Apple 官網的一份技術支援文件,一樣四個步驟: 將 AirPods 放入充電盒:關上盒蓋。等待 30 秒,然後打開盒蓋。 忘記此裝置設定:在 iPhone、iPad 或 iPod touch 上,前往「設定」>「藍牙」,點一下 AirPods 旁的「i」圖像。然後點一下「忘記此裝置設定」,再點一下以確認。 重置 AirPods:在盒蓋打開的情況下,按住充電盒背面的設定按鈕約 15 秒,直到狀態指示燈閃爍琥珀色。 重新連線 AirPods:在盒蓋打開的情況下,將 AirPods 放在靠近裝置的地方。按照裝置螢幕上的步驟操作。

Apple

3 min read

昨天出去跑步時發生兩耳只有一耳接得上,回來後電腦也是,而且會有左邊接上右邊就斷,反之亦然,藍芽關掉或是忘記此裝置後重新連線(閃白燈)都沒用,甚至發生左邊接上 iPhone 右邊接上 MacBook…
昨天出去跑步時發生兩耳只有一耳接得上,回來後電腦也是,而且會有左邊接上右邊就斷,反之亦然,藍芽關掉或是忘記此裝置後重新連線(閃白燈)都沒用,甚至發生左邊接上 iPhone 右邊接上 MacBook…
Apple

3 min read


Aug 7, 2018

[AWS ECS] 將建立的 EC2 instance 加入指定的 Cluster

要使用 ECS,需要先有 Cluster,然後才在 Cluster 中建立 Containers,在 Container 中才去開 task 運行服務 Create Cluster 先到 ECS 的介面,選擇 Cluster 去建立一個新的 Cluster,Cluster name 輸入完以後可以直接建立 不填寫其他項目的話勾選 Create an empty cluster 如此會 …

12 min read

[AWS ECS] 將建立的 EC2 instance 加入指定的 Cluster
[AWS ECS] 將建立的 EC2 instance 加入指定的 Cluster

12 min read


Aug 7, 2018

[Ruby on Rails] Rails Puma + Nginx 的組合

首先要認識一下兩者分別是什麼東西: * Puma 是一個專為 Rails 設計的高併發 web server * Nginx 是一個廣泛使用的 reverse proxy 這個時候可以去查一下什麼事 reverse proxy,就可以發現一張圖說明了兩者之間的關係 所謂的反向代理,是在 server-side 根據 client-side 的 request,向後端的 web server 取得資源,然後再將這些資源 response 給 client-side 另外所謂的前向代理,通常是在 client-side 的軟體,例如瀏覽器會代替 client web page (program)去向CDN請求資源 使用後端代理伺服器的好處是,假設你有很多個 web server,都統一要由單一入口給 client-side 存取,則可以把存取的工作交給 reverse proxy,例如: Web Server:

3 min read

[Ruby on Rails] Rails Puma + Nginx 的組合
[Ruby on Rails] Rails Puma + Nginx 的組合

3 min read


Aug 7, 2018

[OpenStack] 透過 DevStack 在 AWS EC2 Linux 上安裝 OpenStack

Create a EC2 instance and login Create a stack user $ sudo useradd -s /bin/bash -d /opt/stack -m stack $ echo “stack ALL=(ALL) NOPASSWD: ALL” | sudo tee /etc/sudoers.d/stack $ sudo su — stack 3. Download DevStack git clone https://git.openstack.org/openstack-dev/devstack 4. create a local.conf in project cd devstack vim local.conf …

AWS

2 min read

[OpenStack] 透過 DevStack 在 AWS EC2 Linux 上安裝 OpenStack
[OpenStack] 透過 DevStack 在 AWS EC2 Linux 上安裝 OpenStack
AWS

2 min read


Aug 7, 2018

[AWS Elastic Beanstalk] 各平台 Proxy Server List

完整關於各個平台和版本採用的 Proxy Server 可以在[這裡](https://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/platform-history.html)找到: Nginx - Nodejs* - Go - Single Container Docker - Java SE - Ruby (看版本使用的 application servrer 可能是 puma 或 passenger,前者居多) Apache - Node.js* - Tomcat - Python - PHP Node.js Node.js 預設是採用 nginx 作為 proxy server,但是官網[文件](https://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html)有提到可以利用 Ebextension 來設定改用 Apache 作為反向代理伺服器 **.ebextensions/node-settings.config**

2 min read

2 min read


Jan 18, 2018

Rails Puma + Nginx 的組合

Rails Puma + Nginx 的組合 首先要認識一下兩者分別是什麼東西: Puma 是一個專為 Rails 設計的高併發 web server Nginx 是一個廣泛使用的 reverse proxy 這個時候可以去查一下什麼事 reverse proxy,就可以發現一張圖說明了兩者之間的關係 所謂的反向代理,是在 server-side 根據 client-side 的 request,向後端的 web server 取得資源,然後再將這些資源 response 給 client-side 另外所謂的前向代理,通常是在 client-side 的軟體,例如瀏覽器會代替 client web page (program)去向CDN請求資源 使用後端代理伺服器的好處是,假設你有很多個 web server,都統一要由單一入口給 client-side 存取,則可以把存取的工作交給 reverse proxy,例如:

3 min read

Rails Puma + Nginx 的組合
Rails Puma + Nginx 的組合

3 min read


Oct 3, 2017

用 S3 管理團隊成員個人檔案儲存空間

需求架構 你是一間公司的 IT Manager,你被要求提供每個新來的員工一個雲端空間,你最後選擇了 Amazon S3 作為員工的雲端儲存空間,因為有以下幾個優點: 公司有一組 Amazon Web Service 的帳號 vcompany,可以在此帳號下針對每個員工建立各自的 IAM account,如此可以統一管理員工的存取 可以整合內部系統(如果也是採用 AWS 服務則整合會更好) Pay as you use. 你不希望員工自己建立一個私人的 AWS 帳號來存取公司資料,且限制每個員工只能存取自己的資料夾或是指定的公共資料夾 依照需求,你會在 vcompany 的帳號下: 先建立一個 bucket 叫做 employee 進入 employee,建立多個資料夾 因為你是希望限制資料夾層級的存取權限(folder-level permission),所以需要透過設定 Policy 來達到目的,假設你要針對新員工 David 指定他只能存取 employee bucket 下自己的資料夾,你需要以 vcompany 的帳號進入 IAM console,建立一個 Policy 如下:

3 min read

用 S3 管理團隊成員個人檔案儲存空間
用 S3 管理團隊成員個人檔案儲存空間

3 min read


Oct 3, 2017

AWS S3 與 Google Drive 方案比較

同樣是 100 GB 的價格,Google Drive 一個月約是 65 NTD,AWS S3 大約是 75 NTD (0.025*100*30),雖然稍微貴了點,但是如公司用量並沒有達到 100 GB,Google Drive 仍須每個月支付 65 NTD,AWS S3…

1 min read

AWS S3 與 Google Drive 方案比較
AWS S3 與 Google Drive 方案比較

1 min read


Oct 2, 2017

EC2 + ELB + AutoScaling:一台 server 無回應自動切換到備援 server

需求的架構 有兩個 server,一台當 InService 的 server 主機,另一台當 Standby 的主機,並設定當 InService 的主機無法正確服務,自動切換到 Standby 的主機做 InService 服務 建立架構 這裡假設你已經用 EC2 建立過一個 web service 的 AMI,因為之後我們將使用這個 image 來建立多個 servi …

6 min read

EC2 + ELB + AutoScaling:一台 server 無回應自動切換到備援 server
EC2 + ELB + AutoScaling:一台 server 無回應自動切換到備援 server

6 min read

Veck

Veck

24 Followers
Following
  • Irvin Chen

    Irvin Chen

  • Kim Kao

    Kim Kao

  • 彼得潘的 iOS App Neverland

    彼得潘的 iOS App Neverland

  • Kuro Huang

    Kuro Huang

  • Du Spirit

    Du Spirit

See all (79)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams