iT邦幫忙

software development相關文章
共有 70 則文章

技術 [C#] LeetCode 4. Median of Two Sorted Arrays 淺談中位數

Given two sorted arrays nums1 and nums2 of size m and n respectively, return the...

技術 [C#] LeetCode 3. Longest Substring Without Repeating Characters

Given a string s, find the length of the longest substring without repeating cha...

技術 [C]makefile範例實作,整理已有的程式碼

以現有的程式碼做整理 https://github.com/xhbang/C100 整理過後 main.c寫法 #include "direct....

鐵人賽 Software Development DAY 29

技術 Functional Programming in Practice - Part 3

接下來處理另一個狀態, LoginFormState ,他也是一個擁有眾多不可能狀態的 Product Type : data class LoginFormS...

鐵人賽 Software Development DAY 28

技術 Functional Programming in Practice - Part 2

Side effect operator 使用了 RxJava 之後,並沒有讓這邊的程式碼變得更複雜。但是,這邊有一件事需要被探討,在 LoginReposit...

鐵人賽 Software Development DAY 27

技術 Functional Programming in Practice - Part 1

接下來的三篇,打算要來完成一個登入頁面,使用的技術如下: Android framework Android Architecture component:...

鐵人賽 Software Development DAY 26

技術 所以 Monad 到底哪裡好用了?

在剛接觸 Monad 這名詞時,我相信一定很多人都很好奇 Monad 是甚麼,所以就會開始上網搜尋,然後就會找到下面這個版本,在這個版本中,使用了透明盒子來比喻...

鐵人賽 Software Development DAY 25

技術 Bind, Return and Monad laws

先複習一下上一篇的內容,一個 Monad,就是一種 Moniod ,而且中間有個特別的 operator ,而他,剛好就是我們熟悉的 flatMap 如下: M...

鐵人賽 Software Development DAY 24

技術 Monad: a Monoid in the Category of EndoFunctors

終於要來解釋這句話了,距離上一次出現這句話時,我們都還不知道 Monoid, Category, Endofunctor 是什麼,現在除了 Endofuncto...

鐵人賽 Software Development DAY 23

技術 Natural transformation

Definition 今天又回到 Category theory 的領域了,從一開始提到的 object 之間的 morphism - function,到 C...

鐵人賽 Software Development DAY 22

技術 Type system and nullability

應該很多人都是從 Java 轉到 Kotlin 陣營的吧?不管是面試或是隨意聊天,在我問別人喜歡 Kotlin 的什麼地方的時候,最常聽到的答案就是 null...

鐵人賽 自我挑戰組 DAY 19

技術 Day 19:如何寫一個好的 Pull Request 敘述

如果團隊有提交的範本需要遵守,以團隊的共識為優先。但無論是不是有提交原則,重點就是把標題跟內容寫清楚,讓 Review 的工程師能夠有效率把提交者的程式碼做檢視...

鐵人賽 Software Development DAY 21

技術 Missing features: Persistent data structure and Pattern Matching

上一篇的解答: fun <R> map(transform: (T) -> R): LinkedList<R> { ret...

鐵人賽 Software Development DAY 20

技術 Functional Data Structure

上次的解答: fun <P1, P2, P3, R> ((P1, P2, P3) -> R).curried(): (P1) -> (P...

鐵人賽 Software Development DAY 19

技術 Curried function

前面看過兩次,今天終於要來介紹咖哩(誤)了,坦白說,在我的日常開發中並不會使用到這個概念,所以我沒辦法說服自己說,這是一個很方便的東西,以下到內容是我查閱資料整...

鐵人賽 Software Development DAY 18

技術 Function type - Another Algebraic Data Type

在之前的 Algebraic Data Type 中介紹了加法與乘法,也就是 Sum Type and Product Type,今天再來介紹另外一種 Alge...

鐵人賽 Software Development DAY 17

技術 Composition, Abstraction and Principles

上一篇的解答: fun <D, A> List<Reader<D, A>>.liftReader(): Reader<...

鐵人賽 Software Development DAY 16

技術 Reader Monad

相依注入 - Dependency Injection ,對於 OOP 來說是一個很重要的概念,各框架、語言也都有非常多的函式庫可以用。主流的注入的方法主要有兩...

鐵人賽 Software Development DAY 15

技術 Lenses

今天來介紹點大家不是很常碰到的神奇用法,看看下面這段程式: data class Path(val content: String, val id: Strin...

鐵人賽 Software Development DAY 14

技術 Introduce Monoid

上一篇的解答: sealed class Either<A, B>() { class Left<A, B>(val valu...

鐵人賽 Software Development DAY 13

技術 Algebraic Data Type II

Algebraic Data Type 的 0 與 1 在數學中,我們都知道數字 0 ,0 乘任何數字都是 0 、 0 加上任何數字的話就是該數字本身 ,或是...

鐵人賽 Software Development DAY 12

技術 Algebraic Data Type

Algebra ,也就是代數,大家國小都學過,可以由簡單的加法與乘法組合而成,在 Category theory 中,也有著這樣的概念,甚至可以將這些概念應用在...

鐵人賽 Software Development DAY 11

技術 Introduce Functor

在前面的很多篇中介紹了許許多多不同的“容器”,那這些“容器”對於 Category theory 又有什麼樣的意義?今天就來介紹其中一個:Functor。 Fu...

鐵人賽 Software Development DAY 9

技術 More FlatMap : List and Try

今天再來講多一點 flatMap 的例子吧!首先從 List 開始! FlatMap for List 一樣先看例子,以下這個例子的目標是分解句子中的單字,其中...

鐵人賽 Software Development DAY 4

技術 [用舒服的姿勢開發 Python Project] Day 04 - Pyenv 的其他使用方法及原理

Pyenv 其他使用方法 除了上述安裝、解除安裝、在不同 Scope 切換不同的 Python 版本以外,以下還有一些比較特別的使用方法 使用 pyenv sh...

鐵人賽 Software Development DAY 8

技術 [RxJava] side effect operators and advanced operator

Side Effect Operator 前一篇介紹了 Observable 跟 Try 是如何處理Exception 這個 side effect,那麼可能有...

鐵人賽 Software Development DAY 3

技術 [用舒服的姿勢開發 Python Project] Day 03 - Pyenv 基本使用

Pyenv 基本使用方法 安裝 Pyenv (macOS) 安裝 Pyenv (macOS) 需要輸入下面的指令 brew update brew instal...

鐵人賽 Software Development DAY 7

技術 [RxJava] Observable and error handling

上次的解答, fold 在之後還會看到它的,在 functional programming 中是一個常見的 operator: fun fold(succes...

鐵人賽 Software Development DAY 2

技術 [用舒服的姿勢開發 Python Project] Day 02 - Python 版本管理問題

source: https://imgs.xkcd.com/comics/python_environment.png 以我第一次拿到 macOS 中的...

鐵人賽 Software Development DAY 6

技術 Non-deterministic, side effect and Try

今天要來談談“意外”這件事,沒有人喜歡“意外”對吧?尤其是 PM 或是 QA 的神之手,有時候就是會給你“意外”的操作出一些 bug ,而你又重現不出來時,要怎...