iT邦幫忙

scala相關文章
共有 93 則文章
鐵人賽 Software Development DAY 2

技術 什麼是 Functional Programming?

什麼是 Functional Programming? 簡言之就是沒有 side effect (副作用) 的 function,也就是一種純粹無暇的沒有副作用...

鐵人賽 Software Development DAY 1

技術 混天數用的前言

用 Scala 3 寫的 Functional Programming 會長什麼樣子? Functional Programming,三大設計範示之一,其開發思...

鐵人賽 Software Development DAY 30

技術 [Day 29] 一起做事效率高

今天是鐵人賽的最後一天了。老實說每天要四個語言實在是有點太高估自己的時間狀況,加上 Context Switch 的成本,導致過程之中許多時候都只能先寫部分再慢...

鐵人賽 Software Development DAY 29

技術 [Day 28] 來看正規表示式

今天要來看看一個大家應該不會太陌生,但對我來說每次只要一久不用就會忘掉的正規表示式 (Regular expression)。正規表示式在處理複雜規則的字串很有...

鐵人賽 Software Development DAY 28

技術 [Day 27] 自己的程式自己測

先前寫了那麼多程式,是時候來談談測試了。這裡的測試指的是 Unit test,大部分的時間是以一個 Function、Class 等等為單位去測試,看輸入幾組設...

鐵人賽 Software Development DAY 26

技術 [Day 25] 與時間複雜度的競賽

今天 Hackerrank 的主題是探討時間複雜度,透過的題目是給定一個整數,看看這個整數是不是質數。假設這個質數是 n 的話,希望解法的時間複雜度是 O(根號...

鐵人賽 Software Development DAY 25

技術 [Day 24] 一條獨一無二的鏈

今天在 Hackerrank 的主題是,延續我們之前研究的 Linked list,為這個 Linked list 去增加一個 Function 來把 Link...

鐵人賽 Software Development DAY 24

技術 [Day 23] 再好好看看這棵樹

今天的主題是延續昨天的 Binary Search Tree,我們要來看其中一種 Traversal 的方法,所謂 Traversal 就是用某種順序來走訪 B...

鐵人賽 Software Development DAY 23

技術 [Day 22] 種下一棵有用的樹

今天我們要來看的是 Binary Search Tree (BSTs)。Tree 是由有限節點組成具有層次關係的集合。以下圖為例,最上面的節點稱作根節點 (Ro...

鐵人賽 Software Development DAY 22

技術 [Day 21] 什麼類型都可以

今天要來談談 Generic。由於靜態語言對於宣告的類型有嚴格的規定,Generic 的出現則是讓這件事情變得更加彈性,可以將一套程式碼複用在不同類型的資料上。...

鐵人賽 Software Development DAY 21

技術 [Day 20] 把東西給我排好

今天我們要來談談 Sorting,也就是排序。排序看似不起眼,但其實在電腦的世界扮演了許多關鍵的角色,例如當我們要更有效率地搜尋出某個東西的時候,又例如我們要按...

鐵人賽 Software Development DAY 20

技術 [Day 19] 終於來談談介面

今天終於要來談談介面,也就是 Interface 啦!之前當我們在談繼承以及抽象類別的時候,說到在 Golang 跟 Rust 並沒有這樣的概念,在這兩個語言則...

鐵人賽 Software Development DAY 19

技術 [Day 18] 疊起來還是排起來

今天我們要來談談另外兩個很常見的線性資料結構:Queue 和 Stack。Queue 的概念就是先進先出啦!就像是排隊買東西,當然先來的人要讓他先買囉!而 St...

鐵人賽 Software Development DAY 18

技術 [Day 17] 發生問題趕快舉手!

今天的主題在 Hackerrank 的安排下是延續昨天的主題。昨天我們做的事情是當發現異常的時候,各種語言是用什麼樣的方式在解決。然而今天我們要來看看如何讓我們...

鐵人賽 Software Development DAY 17

技術 [Day 16] 知錯能改善莫大焉

今天我們來看看 Error handling 的部分吧!也就是如何處理異常和錯誤。異常和錯誤又有點不一樣,錯誤往往是指非預期的情況,必須透過修改程式來解決,而異...

鐵人賽 Software Development DAY 16

技術 [Day 15] 手牽手心連心!

今天要來談的是,如何在這四個語言去實作出 Linked list。而 Linked list 是怎樣的資料結構呢?我們可以看到下面每個 Node 都有綠色和黃色...

鐵人賽 Software Development DAY 15

技術 [Day 14] 楚河漢界劃清楚!

今天我們來聊聊 Scope 這件事吧!不要小看這件事情,有很多東西還是對進階的 Developer 有所幫助呢! Python 3 在 Python 的世界,...

鐵人賽 Software Development DAY 14

技術 [Day 13] 談談抽象這件事

今天的主題是 Abstract class,也就是抽象類別。抽象類別跟一般類別不同之處在於,抽象類別僅定義方法,而沒有實作,因此不能直接拿來生成物件。舉個例子...

鐵人賽 Software Development DAY 13

技術 [Day 12] 如果我有富爸爸

繼承是 Object-Oriented Programming 當中的一個概念。如果我們說一個類別 B 繼承了類別 A,則 B稱為 A的子類別,A 就是 B的父...

鐵人賽 Software Development DAY 12

技術 [Day 11] 我的世界變多維了!

先前我們已經有講過 Array 以及各語言與 Array 類似的資料結構,現在讓我們進一步來看當我們的 Array 從 Single dimension 變成...

鐵人賽 Software Development DAY 11

技術 [Day 10] 零壹零壹零零壹

今天的挑戰內容是把一個整數本來是十進位表示,變成是二進位表示。例如 5 變成二進位的話是 101,13 變成二進位是 1101。然而我們不只是要以二進位表示,而...

鐵人賽 Software Development DAY 10

技術 [Day 9] 自己和自己的對話

今天要來談的是遞迴,不知道大家小時候有沒有跟我一樣,一看到遞迴就會有種莫名的恐懼,覺得很難去推論出這個遞迴函式到底要做什麼事情,然後到最後就頭暈了…但我沒想到...

鐵人賽 Software Development DAY 9

技術 [Day 8] 談談映射這件事

今天我們來看各家有什麼樣的資料結構來存放 Key-value pair 囉!而這樣的結構又是一對一的映射關係,也就是一個 Key 只會對到一個 Value。而我...

鐵人賽 Software Development DAY 8

技術 [Day 7] 一個蘿蔔一個坑

今天我們來探討跟 Array 相關的話題吧!當然不是每個語言都有內建 Array,而是有其他類似的,我們會一起來看看有什麼樣的不一樣囉!(今天比較像是自由探索,...

鐵人賽 Software Development DAY 7

技術 [Day 6] 反轉字串大亂鬥!(reverse string)

今天在 Hackerrank 的安排是複習的一天,本來的題目是比較容易,所以在這裡我想我們就來做一些比較經典的問題,但又跟先前的主題有關係。這裡我選了一個經典的...

鐵人賽 Software Development DAY 6

技術 [Day 5] 又回到最初的起點! (迴圈剖析)

今天的主題是 Loop,也就是迴圈。迴圈是一種常見的控制流程,意思是一段程式,我們可以執行特定次數,或者是當某個條件成立時,就停止執行。當然我們有時候會不小心寫...

鐵人賽 Software Development DAY 5

技術 [Day 4] 類別與結構你選誰?

今天的主題是建立一個 Class Person(不過我們待會就會看到不是每個語言都有所謂的 Class),而 Person class 有一個屬性是 age,...

鐵人賽 Software Development DAY 4

技術 [Day 3] 我的程式不失控!

如何讓你的程式不失控呢?當然就是要學好控制流程啦!今天我們來談談 Conditional statements,也就是如何改變程式執行的流程。其實就是像 if...

鐵人賽 Software Development DAY 3

技術 [Day 2] 你不知道的 Operator!

今天的主題是 Arithmetic operators,就是讓我們來做一些數學運算吧!實作上是件很簡單的事,我們就只是把幾個變數拿來加減乘除並且印出結果,你一定...

鐵人賽 Software Development DAY 2

技術 [Day 1] 資料型態不無聊!

今天的主題是 Data Types,雖然乍看之下可能會以為很無聊,但是內容還是很豐富唷!因為我還是會在過程之中介紹到該語言的一些特性。那就讓我們開始吧! 今日...