ヾ(•ω•)o 歡迎你來到 JN ㄉ部落格 ヽ(*≧ω≦)ノ

如果你初來乍到不曉得該從哪裡開始看的話,可以先從這幾個地方開始:

關於我 | 最近在幹嘛 | 為什麼寫部落格 | JN 來幫你!

如果不想要錯過這邊的訊息的話,可以 訂閱 這個部落格!
也歡迎來 誰來我家 留個足跡~~

Banner 不知道要放什麼,先放個我最愛的男性角色好了 :3

Featured image of post 如何快速地把檔案傳到另外一台電腦上(不用經過雲端硬碟)

如何快速地把檔案傳到另外一台電腦上(不用經過雲端硬碟)

其實只要一行指令就解決了

|
|

如何快速地把檔案傳到另外一台電腦?

隨身碟

這大概是最直覺的作法,不過你必須先找得到你的隨身碟。

如果你很順利地找到你的隨身碟,接下來還要把隨身碟插到電腦 -> 把檔案複製出來 -> 卸載隨身碟 -> 再把隨身碟插到另一台電腦 -> 終於拿到檔案,而且這還不考慮 USB 平均要插 3 次才會成功。

所以除非是要傳非常大的檔案,否則我覺得還是太麻煩了。而且手邊不見得會有 USB 3.0 以上的隨身碟和孔可以用,如果退回到 USB 2.0 的速度的話只有 480Mbps 以下(通常是有 200Mbps 就偷笑了)。

usb 3 times

AirDrop

不得不說 AirDrop 是真的非常好用,不過限制也很明顯,那就是傳送和接收端兩邊必須都要是 Apple 的裝置才可以。

雖然也有像是 ShareDrop 這種類似 AirDrop 的服務,不過這類的服務大多是建立在區域網路或是 Wifi 直連上,也就是說,這類方式的另一個限制,就是傳送和接收端兩邊必須要在同一個地方或是在同一個網域內才行。

Apple devices

雲端硬碟 / 通訊軟體 / Email

這幾個服務我覺得比較類似就擺在一起討論了

基本上這些方式都需要登入,甚至要下載特定的軟體,有些也有檔案大小的上限,而且他們本來就不是被設計來傳輸檔案的,所以用起來都會有些彆扭的地方。另外這類服務大多數都會把檔案留在他們的伺服器上,如果你是要傳一些比較敏感的資料(比如說證件、文件翻拍),你有辦法安心的使用嗎?

One man group

Send Anywhere

其實 Send Anywhere 是蠻好用的服務,你只要選擇好你要傳的檔案後,你就會得到一串數字(登入才能使用連結),然後在另一台電腦上一樣到 Send Anywhere 上輸入剛剛得到的那串數字之後,你就能在另外一台電腦接收到檔案。

不過 Send Anywhere 還是有缺點,就是還是必須要打開瀏覽器才能使用,有些進階功能還需要登入甚至收費。另外其實 Firefox 也曾經提供類似的服務,不過後來爲了防止被用來傳送有害的內容就結束服務了。或許 Send Anywhere 有一天也有可能步上 Firefox Send 的後塵,那麼到時候我們就必須再尋找下一個替代方案了。

Send Anywhere screenshot

SCP / FTP

假如你傳送或接收端的其中一邊是只能使用文字界面的伺服器的話,那你的選擇大概就只有這兩個了。

使用 SCP 的話你需要先在伺服器上設定好 SSH Server,這問題不大,麻煩的是每次要傳東西的時候你都必須要打很長的指令,而且其中還包括像是 IP 和路徑這種超級容易打錯的東西,所以我每次用 SCP 的時候都至少要試兩、三次才會成功。

1
scp -i ~/.ssh/private_key localfile remote_host:/path/remote_file

至於 FTP 的話,架 FTP Server 相比上面的方法都還要麻煩很多,除非是需要讓很多人一起存取檔案的情況,否則 FTP 完全不會是一個好的方法。

救世主 - Croc

廢話不多說,直接上圖

croc-result

圖片裡面的左邊是我的本機,右邊是我的一台 VPS(伺服器)。我從我的本機傳送了一整個資料夾的內容到 VPS 上只需要各打一行指令就完成了!(雖然只有一個檔案)

發送端在確定發送之後會得到由一個數字和三個英文單字組成的通關密語,在接收端上輸入那段通關密語之後就能接收到檔案,就是這麼簡單!

How it works?

Croc 使用的是中繼的伺服器來傳輸檔案,也就是你需要一台伺服器來負責轉發傳輸的檔案,不過 Croc 預設就是使用官方提供的伺服器,所以你不用擔心需要自己架一台中繼伺服器啦!你可能會擔心官方的伺服器會不會有一天突然掛掉或是有資安的疑慮,其實架設 Croc 的中繼伺服器也很簡單,這部分 小惡魔 - AppleBOY 已經寫過一篇文章 說明得很清楚了,建議大家可以去他那邊參考。

優點

  • 不需要自己架設任何伺服器也不需要 port 轉發
  • 使用非常容易
  • 使用 PAKE 點對點加密
  • 支援跨平台(Windows, Linux, MacOS)
  • 支援一次傳送多個檔案
  • 意外中斷後可以接續傳輸
  • 優先使用 IPv6
  • 可以使用代理伺服器
  • Android 上有 第三方 App

限制

  • 傳輸和接收端必須都能正常連接網路
  • 傳輸速度受外網速度限制

不過這兩點都是可以透過自己架 Croc 的中繼伺服器就解決的,我自己是想不太到有其它的缺點了啦。

安裝

官方其實已經有現成的腳本了,你只需要一行指令就能安裝:

1
curl https://getcroc.schollz.com | bash

如果你是用的是 MacOS 的話也可以透過 Homebrew 來安裝:

1
brew install croc

而我現在用的是 Manjaro(基於 Arch Linux),Croc 已經收錄在 Pacman 裡了:

1
sudo pacman -S croc

如果是在 Android 的話我會推薦使用這個 第三方 App

使用方法

使用方法非常簡單,首先你要在兩邊都安裝好 Croc,接著你只需要在要傳送檔案的那台電腦上輸入 croc ,然後後面接上你要傳送的檔案或者是資料夾,接著他會問你是不是要把這個檔案傳出去,這裡我們直接 Enter 就可以確認,然後你就會得到一個由一個數字和三個英文單字組成的通關密語,就像這樣:

1
2
3
4
5
6
7
$ croc testfile
Did you mean to send 'testfile'? (Y/n)
Sending 'testfile' (0 B)
Code is: 1704-tiger-ticket-report
On the other computer run

croc 1704-tiger-ticket-report

然後到要接收檔案的那台電腦上輸入 croc,然後後面接上剛剛在另一台電腦得到的通關密語,接著他會問你是不是要接收這些檔案,一樣直接 Enter 確認,就能成功接收到檔案了:

1
2
3
4
5
$ croc 1704-tiger-ticket-report
Accept 'testfile' (0 B)? (Y/n)

Receiving (<-118.169.227.146:44682)
 100% |████████████████████| ( 0/ 1B, )

你可能會覺得那串通關密語還是太長太難打了,別擔心,這個通關密語是可以自己設定的,只要在傳送的時候加一些參數就可以設定,像是這樣:

1
2
3
4
5
6
$ croc send --code jnyiunn testfile
Sending 'testfile' (0 B)
Code is: giveanornot
On the other computer run

croc giveanornot

不過通關密語至少要六個字母或數字,太短的話會直接被拒絕:

1
2
$ croc send --code 12345 testfile
2021/09/25 14:08:48 code is too short

參考資料

以上就是 Croc 的安裝和使用的方法,其實 Croc 還有更多的進階用法,不過我從來都沒有使用過,有需要的話也可以到下面這幾個地方參考:

  1. https://github.com/schollz/croc
  2. https://schollz.com/blog/croc6/
  3. https://blog.wu-boy.com/2021/02/share-files-between-two-computer-using-croc-tool/

圖片來源

  1. https://imgflip.com/memegenerator
  2. https://unsplash.com/photos/HONJP8DyiSM
  3. https://www.xiaoyao.tw/2018/09/LINE-alone-Group.html
Featured image of post 解決部署 Discord.js Bot 到 Heroku 時報錯

解決部署 Discord.js Bot 到 Heroku 時報錯

解決方法....

|
|

錯誤現象

部署 Discord.js Bot 到 Heroku 時報錯: Web process failed to bind to $PORT within 60 seconds of launch

造成原因

當 Heroku 的 app 啓動時,Heroku 會幫你綁一個 port 給你,但你的 bot 並沒有在監聽任何一個 port,對應不上就出錯了。

解決方法

  1. 在 node 的專案根目錄新增一個檔案 Procfile

  2. Procfile 加入下面這一行(如果你的 bot 啓動的指令不同的話也請在這裡一併修改)。

1
worker: npm start
  1. 把更動推上 Heroku

  2. 回到 Heroku,進到 App > Resources Tab 然後關閉 web 並且把 worker 打開。

  1. 這時你的 Bot 應該會重新啓動並且正常運作。
Featured image of post 寫出好的推甄書面備審資料的 5 個重點

寫出好的推甄書面備審資料的 5 個重點

幾年前的今天我也一樣很頭痛...

|
|

今天我要來跟你分享推甄的備審資料到底要怎麼寫,有哪些重點要注意,以及有哪些資源可以利用。

我會以推資工系爲目標出發,主要針對資電、電機類群爲目標,但我想這篇對推工科的學弟妹們都會有幫助。


自我介紹

小弟 2017 年(民 106)應屆畢業,參加統測爆運氣拿了 651 分,推甄錄取臺科大資訊工程系。後來才得知當年該系分發最低錄取分數只有 639.75 ,所以其實我直接登記分發就能上了,不過當年資電群的專業科目比較簡單(也反映在當年最低錄取分數),爲了求保險我還是花錢跑臺北面試一趟了。

以下就是我經歷大學四年後,回頭看看我當年寫的備審資料之後,很多我希望我能夠早點知道的事情。


正文開始

我會說大學的推甄其實很像是去公司面試職缺,都是拿履歷(備審資料)去跟你的主管(教授)換面試的門票。而看你履歷、和你面試的人就是你未來會修到他們的課的那些教授,既然如此,好好想想他們平常都喜歡看怎麼樣的東西就很重要了。

雖然你也是透過網路找到這篇文,但我覺得網絡上很多備審相關的分享看起來很厲害,但我覺得很熱門的那幾篇文章對推資工系來說或許有點不適用(有的甚至還是實體書面的攻略)。而且,你以爲你找到那些是稀世寶典,其實大家都找到一樣的這些資源,寫出來的東西都一樣,教授一次看了好幾十份一樣的東西其實早就疲勞了。


備審要準備哪些東西?

我直接到 第二階段報名系統【練習版】 查看到底需要上傳哪些東西。其實都還蠻貼心的,該寫哪些東西都已經列出來給你了,除非你的經歷很特殊,不然應該都不用煩惱要寫什麼。

繳交資料列表

其中大部分人的(一)、(二)項應該都不必自己再處理,所以我們接下來就聚焦討論(三)的各個項目。


專題製作學習成果或專業實習科目實習報告

這一項主要是放大家在高二、高三的時候做的專題,或是你一位大神,也可以在這裡放小論文、科展或甚至實習的經驗,總之就是放你在高中這三年做過的最大成果,也會是評分的重點項目。

我想在上專題課的時候,老師就應該會要求大家要寫專題計劃書、報告(結案)書,其實就算你原封不動交上去也不會有太大的問題,畢竟重點還是你的作品如何(笑)。不過,如果你自認作品不如人的話也可以試著修改一下內容,讓整體看起來更完整一些。我認爲論文的結構和內容很值得參考(畢竟教授也是常常在看論文)。

論文可以到 Google Scholar 搜尋,這是 Google 的學術文章搜尋引擎。

Google Scholar

一般論文的結構大致如下:

  • 摘要
  • 前言
  • 背景知識及相關研究
  • 研究方法
  • 實驗步驟
  • 實驗結果
  • 結論
  • 未來展望
  • 附錄

當然這是相對完整的論文的結構,大家可以自己斟酌刪減或是增加小項。下面解說一下各個章節要寫哪些東西。

摘要

把你這一整個報告書的內容濃縮,讓讀者可以在一開始對你的專題有一些基礎概念,大概知道瞭解一下 3 點:

  • 爲什麼要做這個專題
  • 怎麼做的
  • 做得如何

如果有時間的話可以整理一下 code 推到 GitHub 上,雖然教授很高機率不會點進去看,但至少也能讓教授知道你會用 Git。

Git 對於資工系來說幾乎是必學的工具之一

前言

寫你爲什麼會想做這個專題,動機是什麼?想解決什麼問題?

背景知識及相關研究

如果你的專題有用到比較少見的硬體或技術,或是用了哪些函式庫,都可以在這裡提及。參考的研究結果、資料也都在這邊解釋。但如果是 Arduino 開發板或是 C 語言這種大家幾乎都有概念的東西則可以選擇省略。

研究方法

這邊是你計劃(但其實就是最終)得到的實作方法,在概念上你怎麽做到的,可以畫一些圖來輔助說明。

例如:這個系統的模組如何互相溝通

實驗步驟

這邊記錄你實作的詳細過程和參數,像是用了哪些資料、設定了哪些參數、電路圖長怎麼樣、甚至是電源用的是多少伏特都可以記錄在這裡。

實驗結果

很簡單,把跑出來的結果貼上來,看看跟你預期的結果有沒有相符,有沒有新的發現。

結論

跟摘要差不多,但著重在達成了什麼成就。

未來展望

這次專題有哪邊做得不滿意,或是這次專題做完發現可以再去研究的新題目。

附錄

所有引用的參考資料,或是太大的表格等等不適合直接放在內文的資料。


自傳及讀書計劃

自傳和讀書計劃其實是同一件事情,差別只是已經發生了還是未來才會發生。這邊的重點是絕對不要把無關的事情寫進來,無關的事情就是和你要申請的科系無關的事。

自傳

拜託,拜託不要再寫什麼「我來自OOO的家庭、從小生活XXXX、爸爸總跟我說¥%&#(&*……」。

教授根本不關心你家裡怎麼樣,你跟這個科系的關聯才是重點。

教授根本不關心你家裡怎麼樣,你跟這個科系的關聯才是重點。

教授根本不關心你家裡怎麼樣,你跟這個科系的關聯才是重點。

可以考慮從爲什麼你會選擇你高中的科系開始(如果你是讀高職),或是這個領域的啓蒙。寫寫你在學習這些東西的時候得到哪些成就、遇到什麼困難、如何解決它們。

或是,可以考慮在這邊的開頭列出一些自己的 Highlight,讓教授一眼就可以知道你的背景是怎麼樣。

其實也可以花一點篇幅寫寫專題的內容,寫寫報告書中沒有寫的–你做專題之後心理上得到的成長和感受。

這邊篇幅其實不設限,畢竟教授不會花非常多心思看這邊,我會覺得大約 7、800 字就很足夠了(聽起來很多但其實寫起來就會發現不難)。

讀書計劃

這邊比起自傳就重要多了,不過大家都不知道怎麽寫,常常都是寫什麼「增進實作能力」、「加強英文能力」。如果都是寫這些空泛的東西的話我會覺得有點可惜,其實這邊有很多東西可以寫的。

爲什麼會寫出空泛的東西?其實就是對未來會碰到的東西沒有什麼概念。

那要怎麽有概念?除了有學長姐可以問以外,這邊有三個資源推薦給大家:

  1. 臺科大資工系課程地圖

每個系上應該都有類似的資料,告訴你你的必修課程有哪些,要往某個領域發展的話該選哪些課。極度建議先去找找每個領域的入門課程稍微看一下,看看自己喜不喜歡這些東西,稍微看過的話應該就會對自己未來該學什麼東西有一些概念了。

假設你對人工智慧有興趣,下面這張截圖就幫你把該修的課都列出來了:

臺科大資工系課程地圖

  1. freeCodeCamp.org Youtube Channel

這個組織有非常多免費、完整的初心者教學,你可以配合 1. 看看你對哪些課程比較有興趣

  1. 【密技】台灣軟體業業界現況詳解、軟體工程師指南

若你是就業導向的話,這篇巴哈的文也很值得稍微看一下,雖然對高中畢業的你來說有點遙遠,不過,看得更遠的話下一步會走得更踏實一點。

至於英文能力,資工系平常需要看大量的英文的資料,班上有好幾個同學本來看不太懂英文,最後都有能力直接看英文的說明文件,這方面不必太擔心。聽力的部分我推薦看看 Youtube 上的程式教學,除了專有名詞需要花時間收悉一下,其實不會有太艱深難懂的地方。而且就算聽不太明白,看圖說故事也能理解個 6、7 成,不至於會有很大的挫折感。只有口說平常會比較少用到,需要你另外規劃一下。

另外,其實不妨可以給自己設一個目標,有了目標也會比較清楚該如何做。雖然有點老掉牙,但如果放一個符合 SMART 原則 的目標在這裡的話會提升不少說服力。


競賽獲獎或證照證明

這邊相對簡單,大部分的人就是把該掃描的掃描一下貼一貼就好了,除非你有比較特別的獎項就要排版強調一下。

強烈建議:可以做一個表格或目錄在第一頁讓教授可以一眼就知道你得過什麼獎(不會有教授花時間看你一張一張掃描的圖檔的)


社團參與及學校幹部

這邊主要的目的是向教授展現你的問題解決能力、人際溝通能力、以及團隊合作能力,在這邊寫與申請科系無關的成就的話意義不大。

建議可以以事件爲主題來寫,可能是你如何帶領你的夥伴完成一個的目標;可能是夥伴們吵架你怎麽處理(這很常見);或是你的團隊在遭遇困難的時候是怎麽解決的。


其它學習成果

這邊放你曾經做過的小 project 或是一些小玩具,只要簡單列出用途和用到的技術就可以了,如果時間很充裕的話才考慮寫得像專題一樣。


重點整理

以我成爲資工人四年的資歷猜想資工系教授會喜歡看的備審資料大概是什麼樣子,整理出幾個原則:

  • 包含大學的課程內容
  • 用詞精確,並參考使用專業用詞代替
  • 多使用條列的方式,並稍微填充讓資訊密度不至於太高
  • 不要寫教授可能覺得無關的事
  • 特別的美工非必要,簡單排版順眼即可
  • (可選)若有條件可以用英文寫

最後附上一張評分標準給大家參考

評分標準

如果要說一個大原則,大概就是讓教授覺得你已經是個資工人,或至少讓他們覺得你對資工是有點 sense ,寫出來的東西和他們平常看的東西不會差太多。雖然很矛盾的是:你就是想要成爲一個資工人才想進這個系。

給我工作 meme


TL;DR

如果要用一句話總結的話:

用他們的語言,說他們的事情,拿他們的分數


資工 Bonus

Markdown

如果大家覺得 Word 其實沒那麼好用的話,其實可以試試用最近在很流行的 MarkDown 來寫文章。用 MarkDown 寫文章的話,排版會變得很輕鬆,就像我這篇文章也是用 MarkDown 寫的,你只要要先花 10 分鐘就可以學會怎麽用 MarkDown 來排版了。

這邊有 NiceCode 的 影片教學

也有很多的工具可以直接把 MarkDown 轉成 PDF(而且還可以選不同格式),或是如果你偷懶不想要在電腦上裝軟體的話可以試試在 HackMD 編輯然後直接列印成 PDF 檔 XD。

Featured image of post 消失的七個月

消失的七個月

消失的這段時間我做了什麼,爲什麼要搬到新的部落格,我又爲什麼在半年內換了五個住處?

|
|

100 天的挑戰

去年的 11/08,我在舊的部落格發起「100 days of code 挑戰」,大致上是我要連續寫 100 天的 code,直到我找到工作爲止。在那之後,我每天花至少四個小時在寫 code 這件事情上。

在舊部落格上的文章

倒下、沉淪

在挑戰開始的十天內,我遭遇了重大變故;二十天左右的時候確定自己不會如期入伍。

終於在約莫跨年前後、100 天接近過半的時候,生理出現警訊,隨之而來的是長達半個月的嚴重情緒低落。在這段時間我完全不碰寫 code 的事情,我嘗試用做我喜歡做的事情來消耗時間只是不過在大部分的日子,我喜歡的事情根本不足以消耗一整天這麼長的時間,剩下的時間如果沒有朋友陪我的話,要嘛在哭,不然就是在沉迷交友軟體。在這一切事情發生的同時,我還要一邊爲了搬離那時候的住處整理家當,非常的焦慮。

逃避

回到臺中後的生活,只能以廢一個字來描述,但那也是過得很舒服的一段日子。偶爾還是會有不好的事情打擾思緒。我也要特別感謝一位女性摯友的相挺,絕對是值得一提再提的一段經歷。

再次的生活改變

3/29 內政部開獎,幾個禮拜後收到徵集令,4/19 進入成功嶺成爲替代役男。在新訓期間徵選上原民會,之後又分發到臺南市原民會。相較於操到不行的消防役,還有被分發到山區或是離島,或是原本抽中的海軍陸戰隊(在屏東服役),我是幸運得不可思議。

然而,我依然沉迷在交友軟體,因爲有份執著是不能浪費住在臺南,可以在這裡到處玩玩的機會,只是我並沒有認識的朋友待在臺南。雖然幾乎每個週末都有如願在臺南、高雄走走,我的心理狀況比起在臺中的那段時間並沒有比較好,一個禮拜需要釋放一次情緒是我的生活。

新生活

就是上個月的事情,我擁有了穩定、高品質的陪伴,足夠我戒掉交友軟體,也更徹底地離開 Facebook、Instagram(雖然有其他原因)。我開始在 Mastodon 上記錄我的生活,也開始想要碰碰鍵盤打打 code,心理狀態也足夠好,讓我能夠規劃退伍後的日子,而不是純粹的感到焦慮而已。

新部落格

我原本是想把原本部落格的主題換掉,但意外發現 Wowchemy 這套還不錯的系統,就決定砍掉重練,也決定稍微調整一下我對部落格的使用方式。

我決定不再像以前一樣把部落格定位在傳授知識、技術,而是更專注在我的生活的收穫——也許是記錄我怎麽做出一個作品、怎麼解決一個問題、Debugging 的過程、也有可能是我生活純粹的體悟。這也是我會考慮在 Mastodon 上寫東西的理由,我希望部落格上的內容不是爲寫而寫,而是從生活的記錄中,去蕪存菁得到的,那些最有價值的經驗。

僅以這張圖紀念這七個月

GitHub 上綠綠的五十天和黑黑的七個月

希望一切如願都上正軌。

已經寫了 104 篇文章, 總共 16.1 萬字
使用 Hugo 建立
主題 StackJimmy 設計