iT邦幫忙

kotlin相關文章
共有 1296 則文章
鐵人賽 Software Development DAY 19
Gradle 通靈術 系列 第 19

技術 第十九天:初探 Gradle Plugins

Plugin 可以做什麼? 將 Plugin 套用於專案後,可以擴增專案的能力,它可以做到如: 擴充 Gradle model(如增加可以設定的 DSL 元素...

鐵人賽 DevOps DAY 19

技術 第十九天:用 Gradle 做 Build Scan

對 Kotlin 這種編譯式語言來說,為了方便每次更新後的編譯工作,都會搭配 Gradle 這種自動建置工具使用。而 Gradle 在編譯的過程中會經過很多手續...

鐵人賽 Modern Web DAY 19

技術 [Day 19] 突如其來的需求變更!來聊函數式編程

我們好不容易寫了 userAddTag() 和 updateUsersTags() 的邏輯,突然又出現了新需求! 這次需求單位希望 updateUsersTag...

鐵人賽 Mobile Development DAY 10

技術 110/10 - Intent.ACTION_MEDIA_SCANNER_SCAN_FILE棄用

新增相片後,要發送通知給相簿應用程式,這樣才能更新照片清單,這樣才能在相簿看到新增加的照片,使用者體驗才會好。 以前我們會用Intent.ACTION_MEDI...

鐵人賽 Mobile Development DAY 9

技術 110/09 - 把照片儲存在Android/data/packageName/files/

今天來實作使用ActivityResultContracts.TakePicture()開啟相機,拍照後把照片儲存在Android/data/packageNa...

鐵人賽 Modern Web DAY 9

技術 vok-orm 關聯性資料的新增/查詢 (下篇) + Vaadin 自訂樣式 - d09

承上篇 Refactor 上篇實作完成執行結果如上圖所示,藍色區塊為該學生成績,紅色區塊為新增成績編輯畫面,全部程式皆在StudentView.kt裡,接下來我...

鐵人賽 Modern Web DAY 19

技術 [Day 19] 實作 Ktor Request Logging

Request Logging 是非常重要的必備功能,不僅可以用來系統監控、除錯,還可以進一步分析使用者行為…等,存在著廣泛的應用情境,所以每個 Web 框架都...

鐵人賽 Software Development DAY 19

技術 想要彈性類別嗎,讓類別當參數吧:泛型 Generics

寬廣的室外網球場上,學生們正在做發球考試的練習。 「嘿!」女孩左手將球向上輕拋,右手握拍奮力用全身的力量擊球。 和羽球重視甩腕的方式不同,網球需要軀幹旋轉的力量...

鐵人賽 Mobile Development DAY 9

技術 【Day9】AddInvitationFragment(上)

好的,接下來我們要新增邀約的Fragment,好讓使用者可以上去PO出自己的邀約,以及讓不同的使用者可以看到目前有的邀約。那我們開始吧! 今天會完成上傳圖片/...

鐵人賽 Mobile Development DAY 9

技術 day9 Kotlin coroutine 的黑魔法 suspend

suspend他並不能切換線程,切換線程的是內部自帶的suspend函數,ex. withContext coroutine只是能用阻塞寫法寫出非阻塞代碼,本質...

鐵人賽 Software Development DAY 19
Coroutine 停看聽 系列 第 19

技術 Day19:Flow 準備好輸出了嗎?使用 Terminal operators 產生結果吧。

Flow 經過 Intermediate operators 將資料經過處理之後,最後一步則是要把資料輸出,而將資料輸出則是要透過 Terminal opera...

鐵人賽 Mobile Development DAY 16

技術 [Day16] swift & kotlin 實作篇!(7) Click Event 綁定

swift 畫面都有了! 接下來我們來完成一個小功能吧 首先 我們點選Main.storyboard上方的 +號按鈕 此時右邊會跑出第二個視窗 這時我們在點選...

鐵人賽 Mobile Development DAY 19

技術 Parser Generator (一)

KotlinParserGenerator 我們先從 kotlin 的 parser 講起,這邊會順便帶到一些 KotlinPoet 的進階用法。我們目標是讀取...

鐵人賽 Mobile Development DAY 9

技術 Date & time

上一篇在實作 EtaResponseMapper 的時候我們用了 Java 8 開始有的 Instant、LocalDateTime 和 ZonedDateTi...

鐵人賽 Mobile Development DAY 18

技術 Day 18: To DI ? Or not DI? 依賴注入的存在意義

Keyword: Dependency Injection到Day20 使用Koin管理依賴注入顯示在Android上 放在這邊KMMDay20 依賴注入(D...

鐵人賽 Software Development DAY 18
Gradle 通靈術 系列 第 18

技術 第十八天:客製化 Gradle Task

雖然 Gradle 內建不少任務,也有眾多 Plugin 可以增加更多常用任務。但畢竟每個專案都是獨一無二的,情境和需求也都不同,因此往往會需要在 Gradle...

鐵人賽 Modern Web DAY 18

技術 [Day 18] 轉換 OpenAPI 文件為 Postman Collection 做 Web API 自動化測試

Web API 測試可以是後端工程師使用測試框架撰寫白箱測試,也可以是 QA 使用測試工具進行黑箱測試。對於後端工程師來說,如果 API 有異動,很容易找出對應...

鐵人賽 Modern Web DAY 8

技術 vok-orm 關聯性資料的新增/查詢 (上篇) -- d08

本節重點 延續先前己建立的學生資料範例,今天加上學生成績。 建立成績資料 在顯示單筆學生資料頁StudentView.kt上加上新增及顯示成績畫面 Ref...

鐵人賽 Modern Web DAY 18

技術 [Day 18] 重構我們的測試程式碼

隨著我們專案功能的增加,雖然目前只有兩個函數,但是我們的測試函數已經增加了不少。 為了減少我們未來閱讀測試程式的痛苦,也為了提升未來整個專案的可維護度,我們可以...

鐵人賽 Software Development DAY 18

技術 學校的白色咖啡屋(二):效率的勝利 Collections And Sequences

「既然已經知道了interface,就可以來看Collections三大interface——List、Set、Map。和陣列Array一樣,是放入多筆資料的資...

鐵人賽 Software Development DAY 18
Coroutine 停看聽 系列 第 18

技術 Day18:Flow 的中間運算子,資料輸出前還可以做很多事喔

我們在上一篇的文章中,介紹了 Flow 的基本概念,包括如何建立一個 Flow,以及 Flow 是一個 Cold stream,所謂的 cold stream...

鐵人賽 Mobile Development DAY 8

技術 day8 kotlin coroutine的 runBlocking, withContext

runBlocking 中文用戶如我們? 直譯一下就是,跑一個塞住 恩,三小? 他真正的意思是,執行一個程式碼區塊,但他的一個特點就是,他真的會塞住,有別於la...

鐵人賽 Mobile Development DAY 15

技術 [Day15] swift & kotlin 實作篇!(6) Layout排版

swift 這邊我們來玩一下簡單的排版不管是哪種APP開發都有許多 Layout 模式我們這邊先用Auto Layout 做討論 Auto Layout也有很多...

鐵人賽 Mobile Development DAY 8

技術 Data layer implementation (2)

上一篇的 repository 還欠一個 mapper 把 EtaResponse 轉成 EtaResult。我們首先準備一個通用的 interface: in...

鐵人賽 Mobile Development DAY 18

技術 Jetpack Compose - Stateful and Stateless

相較於傳統的 Android View,Jetpack Compose 在 Android 開發上還有一個新的概念,那就是 Stateful (有狀態的) 還有...

鐵人賽 Mobile Development DAY 18

技術 Logger 與 Extension Generator for Kotlin

Logger 在 compile time 的時候,不像我們一般再開發的時候很容易的去 log 一些我們要的資訊,這邊我們必須要透過 processor 提供的...

鐵人賽 Software Development DAY 17
Gradle 通靈術 系列 第 17

技術 第十七天:該用 implementation 還是 compile?

在定義 Gradle Build Script 裡的 dependencies 時,您是不是也曾跟筆者一樣看著網路上各種教學文件,彼此常有出入,搞不清楚到底該用...

鐵人賽 Mobile Development DAY 17

技術 Day 17: swiftUI與Coroutine強強聯手,迸出新滋味.

Keyword: swiftUI,Coroutine Scope 改寫ObservableObject 既然我們將拉取網路資料的部分下放到了shared中的新...

鐵人賽 DevOps DAY 17

技術 第十七天:TeamCity 通知機制

自從有了 TeamCity 後,很多原本需要人工操作的任務都可以交給 CI 主機做。因為它會在每一次發現變更的時候自動執行,一方面不會漏掉或忘了執行、另一方面在...

鐵人賽 Modern Web DAY 17

技術 [Day 17] 實作 Ktor OpenAPI Generator

先前有提到整個 OpenAPI 的運作流程是… 開發者為 route 撰寫 OpenAPI definition Generator 根據 OpenAPI S...