2021년 8월 21일
Swift로 스크립트 작성하기
`참고:` 이 글은 [Using Swift for scripting](https://rderik.com/blog/using-swift-for-scripting/)를 간략 번역한 것입니다.
## Hello ...
2021년 8월 19일
iOS 시뮬레이터 타임존 변경하기
iOS 시뮬레이터에서 타임존을 변경하는 옵션이 현재는 없다. 좀 만들어 주지~~ 😭 방법을 찾아 보니 프로젝트의 Scheme 에 환경 변수 값을 등록하여 타임존을 변경할 수 있었다.
<img width="93...
2021년 8월 18일
vscode에서 Swift 자동 완성 사용하기
간단한 코드를 작성할 때는 프로젝트를 만들어야 하는 Xcode 보다는 vscode가 편할 때가 많다. Swift 자동 완성을 vscode에서 하기 위해선 `SourceKit-LSP` 를 vscode에 설치해야 한다...
2021년 8월 18일
Swift 알고리즘 클럽: Array2D
앞으로 시간이 생길 때마다 [Swift 알고리즘 클럽](https://github.com/raywenderlich/swift-algorithm-club) 내용을 공부해 보자😋 우선 쉬운 자료구조부터 살펴보자. [A...
2021년 8월 18일
git 여러 개의 로컬 브랜치 삭제하기
feature 단위로 나누어 작업하던 여러 개의 로컬 브랜치를 한 번에 지우고 싶을 때가 있다.
## 브랜치 목록
모든 브랜치 목록은 `--list` 옵션을 사용해 구할 수 있다.
```
$ git...
2021년 8월 17일
Swift 유닛테스트 환경 쉽게 만들기
Swift 로 UnitTest 작성 환경이 필요할 때, 가장 빠른 방법이 무엇일까?
코딩테스트나 간단한 알고리즘 구현시에 유닛테스트를 만들어 진행하면 편리한데, IDE를 실행하여 프로젝트를 만들거나 플레이그라운...
2021년 8월 13일
Hugo에 쉽게 글쓰기
Hugo에 쉽게 글쓰기를 고민하던 중에 Github Issue를 사용해 보면 어떨까? 라는 생각이 들었습니다. Github Issue는 이미지 업로드도 지원하기 때문에 마크다운 문서에 이미지를 포함하는 것도 아주 ...
2021년 8월 4일
Github Actions로 Hugo 배포하기
`travis-ci.org`를 사용해 `Hugo`를 배포해 오다가 `travis-ci.org`가 유료로 변경되어 `Github actions`로 배포 방법을 변경했다. `utterances` 로 코멘트를 관리하기 ...
2019년 11월 11일
Awesome Python
내가 쓰는 파이썬 모듈 모음 :)
2019년 11월 10일
Jetpack Compose 첫느낌
Android Studio 4.0 Canary 1이 배포된 이후로 Jetpack Compose에 대한 내용이 하나둘씩 채워지고 있다. Jetpack Compose에 대한 공식 튜토리얼이 나와서 따라해 보았다.
*...
2019년 11월 10일
Go 로컬 패지키 모듈
Go modules를 사용하면 `$GOPATH`를 신경쓰지 않고 Go 프로젝트를 시작할 수 있습니다. 이미 오픈되어 있는 Go모듈을 사용할 경우에는 아래처럼 `go.mod`파일에 패키지의 주소와 버전을 기입하면 패...
2019년 11월 10일
direvn로 $GOPATH 다루기
Go언어를 아직 많이 사용해 본 것은 아니지만 go modules를 사용할 때 로컬 패키지 처리가 번거러운 것 같아서 `$GOPATH`를 다루는 쉬운 방법이 없을까 찾아 보았습니다. 그러던 중 `direnv`를 발...
2019년 11월 3일
코틀린 코루틴 소개
`알림` 이 글은 [Everything you need to know about kotlin coroutines](https://medium.com/swlh/everything-you-need-to-know-abo...
2019년 11월 2일
Hello Go module, Goodbye GOPATH
`Go`언어를 접하면서 `$GOPATH`를 설정하는 점이 약간 부담스러웠다. 그러나 1.13 이후 버전부터는 `go module`기능을 사용하여 `$GOPATH`이외의 위치에서 프로젝트를 생성할 수 있다.
##...
2019년 11월 1일
모나드와 함수형 아키텍처 6장. 부록
## 6장. 부록
### 6-1. 타입 캐스팅 - C언어 타입 캐스팅이 위험한 이유
타입을 집합이라고 했을 때, C언어의 타입 캐스팅 연산자가 왜 위험한지 알 수 있습니다. 그리고 모던 프로그래밍 언어에는 타입...
2019년 11월 1일
모나드와 함수형 아키텍처 5장. 함수형 아키텍처
## 5장. 함수형 아키텍처
4부까지 모나드의 개념을 알아보고 몇 개의 간단한 모나드를 구현해 보았습니다. 이런 질문을 가질 수도 있습니다. `이렇게 배운 모나드 개념이 실제로 앱을 개발하거나 웹앱 그리고 백앤드...
2019년 11월 1일
모나드와 함수형 아키텍처 4장. Monad 실전 예제
## 4장. Monad 실전 예제
4부에서는 1부, 2부, 3부에서 배운 이론을 바탕으로 여러 모나드를 만들어 보겠습니다. 구현언어로 Kotlin을 사용하겠습니다.
### 4-1. Optional
Option...
2019년 11월 1일
모나드와 함수형 아키텍처 3장. 모나드
## 3장. 모나드
$$
a \circ b \circ c \circ ... \circ x \circ y \circ z
$$
함수 합성식입니다. 모나드뿐 아니라 함수형 프로그래밍의 본질이 모두 담겨 있는 식입니다...
2019년 11월 1일
모나드와 함수형 아키텍처 2장. 프로그래밍 패러다임
## 2장. 프로그래밍 패러다임
컴퓨터 프로그래밍 패러다임은 크게 구조적 프로그래밍, 객체지향 프로그래밍 그리고 함수형 프로그래밍으로 나눌 수 있습니다. 놀라운 사실은 이 패러다임들이 오래전에 모두 만들어졌다는 ...
2019년 11월 1일
모나드와 함수형 아키텍처 1장. 시작하기
안녕하세요. [데이블](https://dable.io)에서 모바일 서비스를 개발하고 있는 김성철입니다. 이 글은 모나드와 함수형 프로그래밍을 이해하기 위해서 지난 1년여간을 생각하고 정리한 내용을 담은 것입니다. ...