這不是指什麼章魚、百變怪(?)之類的,而是在講電腦的軟體程式~
一切跟軟體有相關的東西都會在這裡,包含:程式語言、演算法…
也會有軟實力的相關事務,像是敏捷開發、軟體工程師的肝苦談 XD
GitHub Copilot 寫扣開外掛
現代開發新武器:GitHub Copilot,可以大大加速我們開發! 直接進入業配主題: GitHub Copilot 不只是會幫忙補全程式碼,而是真的有在思考,然後猜你想要什麼!比你另一伴還懂你(? 將 Chat 整合在 IDE 中,加速進入心流狀態,可以專注思考邏輯上,程式碼就叫 GitHub Copilot 幫你寫 別講這麼多了,先去申請使用看看吧! 申請 GitHub Copilot 👉🏻 https://github.com/features/copilot 0. 安裝套件 / 申請 GitHub Copilot 申請使用 GitHub Copilot 目前個人使用 10鎂/月,100鎂/年(首月免費!) 學生教育方案免費(請不要當假學生) 安裝插件 Visual Studio Code GitHub Copilot GitHub Copilot Chat VS Code Speech (Options,用說的下 Prompt 但目前只支援英文) JetBrains GitHub Copilot (Chat 含在 Copilot不用安裝,但還在預覽版要排隊申請) 1....
Kattis The Last Problem
The Last Problem 題目連結:The Last Problem 題目大意 有禮貌的彩虹小馬(?) 解題重點 練習解題系統操作 <?php while (fscanf(STDIN, "%[ -~]", $name)) { fprintf(STDOUT, "Thank you, %s, and farewell!\n", $name); } 陷阱提示 要小心名字會有空白 完整解法 (真的不會再來參考)
Kattis Faktor
Faktor 題目連結:Faktor 題目大意 你是一名科學期刊的編輯,由於成本考量,你必須要計算最合理的文章數量。 解題重點 一點點數學思考 <?php while (fscanf(STDIN, "%d %d", $a, $i)) { fprintf(STDOUT, "%d", $a * ($i - 1) + 1); } 陷阱提示 無條件進位的最小值就是整除後 + 1 完整解法 (真的不會再來參考)
Kattis Planina
Planina 題目連結:Planina 題目大意 計算黑與白相間的黑白棋數量 解題重點 公式化變化規則 <?php while (fscanf(STDIN, "%d", $i)) { $ans[0] = 2; for ($x = 0, $y = $ans[$x]; $x < 15; ++ $x) { $ans[$x + 1] = pow(($y + pow(2, $x)), 2); $y = ($y + pow(2, $x)); } fprintf(STDOUT, "%d", $ans[$i]); } 陷阱提示 可以把計算過的結果儲存起來,避免重複計算 完整解法 (真的不會再來參考)
Kattis Roaming Romans
Roaming Romans 題目連結:Roaming Romans 題目大意 古代是鞋子不是削足適履嗎(誤 我們要做一個尺寸轉換的程式,幫忙算羅馬人的腳 Size? 解題重點 練習讀取資料並透過公式做單位轉換 <?php while (fscanf(STDIN, "%f", $i)) { fprintf(STDOUT, "%d\n", round($i * 1000 * 5280 / 4854)); } 陷阱提示 記得要四捨五入呀 完整解法 (真的不會再來參考)
Kattis R2
R2 題目連結:R2 題目大意 練習用程式解數學題 解題重點 公式: 2*S – R1 <?php while (fscanf(STDIN, "%d %d", $r1, $s)) { fprintf(STDOUT, "%d\n", 2 * $s - $r1); } 陷阱提示 數學先乘除後加減 完整解法 (真的不會再來參考)
Kattis Solving for Carrots
Solving for Carrots 題目連結:Solving for Carrots 題目大意 吃胡蘿蔔對視力很好… 但是我就是不愛 XD 解題重點 練習讀取變數,其實就是直接印出 P 值就好 <?php while (fscanf(STDIN, "%d %d", $r1, $s)) { fprintf(STDOUT, "%d\n", $s); } 陷阱提示 如何取得第二個數字? 完整解法 (真的不會再來參考)
Kattis Hello World!
Hello World! 題目連結:Hello World! 題目大意 就是寫程式的第一步:印出 Hello World! 解題重點 練習解題系統操作 <?php echo 'Hello World!'; 陷阱提示 沒有陷阱 完整解法 (真的不會再來參考)
練習 React 環境就用 Docker 建立吧!
Docker 是現代網站開發不可或缺的技術之一 因為工作需要碰一些 React,所以就想說架設一個開發測試用的環境。但是又不想把原生作業系統裝一大堆有的沒的,立馬就想到了 Docker!剛好最近也在練習,小孩子才做選擇,我兩個都一起練習~ 設定 Node.js 環境 $ docker pull node:current-alpine 因為我們只是練習 React 而已,所以安裝 alpine 版本就好了 也可以安裝最原始版本:docker pull node $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE node latest c71adfc6ec58 11 days ago 995MB node current-alpine 41b5b4b810c1 12 days ago 168MB 是不是!容量差超多的吧~ 設定 Dockerfile Dockerfile FROMnode:current-alpineADD ./app /appWORKDIR/appRUN npm install -g create-react-app我們預設我們的程式碼放在 app 資料夾底下,所以記得在與 Dockerfile 同一個資料夾底下建立 app 資料夾。 最後是使用 create-react-app 打包與編譯 React,所以就一併設定安裝溜~...
寫文章也有 SOP ? 試試看 Archetypes 吧
Archetypes 是 Hugo 模板系統 簡單來說,我們可以預先設定好文章的大綱、架構。 每次新增同樣類型的文章的時候就會自動帶出要編寫的內容 新增一個文章模板 Kattis 解題的文章,通常都是一樣的架構,畢竟解題的流程都大同小異。 還不知道 Kattis 是什麼的朋友,請往這邊走: Kattis 練習程式解題的好所在 archetypes/kattis.md --- title: "{{ replace .Name "-" " " | title }}" date: {{ .Date }} draft: true --- # Hello World! 題目連結:[Hello World!](https://open.kattis.com/problems/hello) ## 題目大意 ## 解題重點 - 練習解題系統操作 <?php echo 'Hello World!'; ## 陷阱提示 - 沒有陷阱 > [完整解法](https://github.com/Hong0308/Kattis/blob/main/hello.php) (真的不會再來參考) 使用方法 hugo new --kind kattis posts/my-kattis....