일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Reactive
- Koin
- node
- SWIFTUI
- GCP
- SwiftUI Tutorial
- mvvm
- MediaSession
- Android
- 테스트 자동화
- mysql
- RxKotlin
- MotionLayout
- MediaPlayer
- Android 13
- list
- databinding
- node.js
- 인앱결제
- google play
- junit
- Kotlin
- paging
- android13
- Animation
- PagingLib
- rx
- Observable
- php
- 동영상
- Today
- Total
목록분류 전체보기 (146)
봄날은 갔다. 이제 그 정신으로 공부하자

"node.js로 웹서버 만들기" 시리즈는 제가node.js를 사용해 웹서버를 만들면서 공부하는 내용을 잊어버리지 않고 기억하기 위해 기록하는 글 입니다. 이번 글은 그 첫번째 글로 내 Mac에 node.js와 웹 서버 개발에 필요한 각종 라이브러리들을 설치하는 부분에 대한 기록 입니다. 사전 작업 (작업 환경 설정) 가장 기본이되는 node.js와 mysql을 command 창에서 아래 명령어를 사용해 설치합니다. $ brew install node $ brew install mysql 아래 경로에서 코딩에 사용할 Visual studio code를 다운로드 받아 설치합니다. https://code.visualstudio.com 아래 경로에서 DB Tool인 DBeaver을 설치합니다. https://..

이 글은 제가 그간 개발하면서 경험한 애자일과 MVVM 구조 패턴에 대한 내용을 정리 글입니다. 애자일을 처음 접했을 때 서비스를 기준으로 팀을 구성하고 하나의 공통된 목표를 가지고 일하는 방법이 생소하지만 너무 마음에 들었습니다. 하지만 3~4개월이 지났을 때는 앱의 기능을 변경하는 것도 추가하는 것도 두려웠습니다. 전체 서비스에 대한 기획이 존재하는 것도 아니었고 처음 개발할 때부터 모든 기능을 염두해두고 개발한 것이 아니었기에 코드 복잡도는 계속 증가하고 있었고 그에 따라 기능 하나 변경할때도 다른 곳에서 사이드 이펙트가 발생할까 걱정이 되어 마음이 조마조마했습니다. 코드 복잡도가 한순간에 올라간 것이 아닌 차근 차근 올라간 것이라 처음에는 무슨 문제인지 인지를 못하고... 왜 이렇게 힘들지? 애자..
Singleton Pattern이란? 객체의 인스턴스가 오직 한개만 생성되는 패턴을 의미합니다. 싱글톤 패턴으로 생성된 인스턴스는 오직 한개만 생성되니 고정된 메모리 영역을 사용하기 때문에 해당 인스턴스에 접근할 때 메모리 낭비를 방지할 수 있고 이미 생성된 인스턴스를 활용하니 속도 측면에서도 이점이 있다고 볼 수 있습니다. 하지만 가장 큰 장점은 앱의 다른 화면 또는 클래스간에 데이터 공유가 쉽다는 장점이 있습니다. 싱글톤 인스턴스가 전역으로 사용되는 인스턴스이기 때문에 다른 클래스의 인스턴스들이 접근하여 사용할 수 있기 때문 입니다. 싱글톤 클래스는 멀티쓰레딩 환경에서 오직 한개의 인스턴스만 생성됨을 보장해야하기 때문에 이와 관련된 처리가 필요합니다. 예를 들어 내정보 관리 Class를 싱글톤 패턴으..
앞선 글(https://als2019.tistory.com/123)에서 설명한 것 처럼 iOS는 비동기 환경에서 실행된 다수 개의 Task 처리 완료 시 결과를 받아 처리할 수 있는 Dispatch Group을 지원합니다. android는 Dispatch Group을 지원하지 않지만 @Synchronized를 사용하면 iOS의 Dispatch Group과 동일하게 사용할 수 있습니다. 이글에서는 android 개발자를 위한 Dispatch Group에 대해 설명하도록 하겠습니다. 아래와 같이 두개의 Network API를 호출하고 비동기로 결과를 받는 코드가 있다고 가정해보겠습니다. MyNetworkModel.getList(offset: 0, limit: 20){ result -> // 작업할 내용 } ..

Dispatch Queue란? GDC(Grand Central Dispatch) Dispatch Queue는 동기 or 비동기식으로 Task를 수행할 수 있는 강력핟 도구 입니다. 개발자는 Dispatch Queue를 사용하여 그동안 별도의 Thread를 통해 수행하던 거의 모든 Task를 수행할 수 있습니다. Dispatch Queue의 장점은 사용하기 쉽고 Thread 코드보다 Task를 실행이 더 효울적이라는데 있습니다. Dispatch Queue는 "큐"라는 이름에서 알 수 있듯이 FIFO(First-In, First-Out) 형태의 자료 구조를 가지므로 Dispatch Queue에 추가된 Task는 항상 추가된 순서대로 시작되며 Serial과 Concurrent 두가지 타입을 가집니다. Seri..

이번 글에서는 Text에 따라 동적으로 변하는 영역을 가지는 레이아웃을 만들어보도록 하겠습니다. 이전 글과는 다르게 이번에는 3가지 방법을 사용해볼까 합니다. - 첫번째는 스토리보드를 사용한 방법 - 두번째는 스토리보드 사용을 최소화하고 프로그래밍으로 처리하는 방법 - 마지막 세번째 방법은 프로그래밍으로 처리하지만 오토레이아웃을 사용하지 않는 방법 무엇을 만들 것인가? 아래와 같은 레이아웃을 만들어보겠습니다. 개발하다 보면 자주 접하는 아주 흔한 레이아웃이네요. ^^ 정석적으로 하면 왼쪽에 UILabel 한개만 놓고 Text의 일부 색상만 변경해 레이아웃을 구성하는게 맞는 방법이지만 지금은 그렇게하면 곤란하므로 여기에서는 일부러 복잡하게 "총 1,234 건"을 3개의 UILabel로 나누어 만들어보도록 ..

이번 글에서는 "라운드 프레임 버튼"을 두가지 방식("스토리 보드"와 "코딩으로 직접 추가")으로 만들어 보겠습니다. 스토리 보드로 라운드 프레임 버튼 만들기 우선 ViewController 중앙에 아래와 같이 UI 버튼을 추가합니다. 버튼을 중앙에 정렬 되도록 아래 그림과 같이 오토레이아웃 값을 설정해줍니다. 라운드 프레임 처리를 위해 Identity Inspector의 User DefinedRuntime Attributes에 아래와 같은 속성값을 입력해 줍니다. 추가로 Attributes Inspector로 이동해 View 부분의 Drawing 관련 부분의 Clip to Bounds를 체크해 줍니다. 추가로 오토레이아웃 설정에 width 값을 추가해줍니다. 자 이렇게 스토리보드를 사용해 1dp의 검은..
예전에 숫자에 콤마를 추가하는 글을 게시한 적이 있었는데 거기에 iOS 관련된 부분이 없어 이번 글을 통해 iOS에서 숫자에 콤마를 추가하는 방법에 대해 설명하도록 하겠습니다. https://als2019.tistory.com/23 숫자에 콤마 추가 시 주의할 점 개발하다보면 숫자에 콤마를 추가하는 경우(통화 표시)가 자주 발생합니다. 이러한 경우 대부분 아래와 같이 DecimalFormat를 사용해 통화 표시를 추가해 줍니다. val formatter = DecimalFormat("#,###") val cS. als2019.tistory.com 노파심에서 다시 한번 설명하자면 우리나라를 포함한 미국과 영국은 소수 자리수 구분은 마침표(“.”)로 구분하고 3자리를 단위로 콤마(“,”)기호를 표시하지만 소..