일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UIViewControllerTransitioningDelegate
- DataBinding
- convert base64
- Tuist
- swift
- development language
- 스크롤 탭
- GeometryReader
- transformation.map
- url 추적
- 기존 앱
- UIPresentationController
- ViewBuilder
- Android
- pod install
- oberve url
- ios
- base64 변환
- SwiftUI
- 상단 탭바
- Swift Package Manager
- detect url
- scrolling tab
- 개발자 면접
- notifychanged
- url 관찰
- List
- DevelopmentRegion
- Side Menu
- swift #swift keychain #keychain 사용법
- Today
- Total
목록분류 전체보기 (172)
버그 잡이
1. gradle 설정 implementation 'io.reactivex.rxjava3:rxjava:3.0.3' implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' *RxJava vs RxAndroid - RxJava가 핵심 라이브러리고 RxAndroid는 RxJava를 안드로이드 환경에서 보다 쉽게 사용할 수 있도록 도와주는 라이브러리이다. - 예를 들어, RxAndroid에서는 Scheduler라는 기능을 제공하는데 이는 안드로이드에서 스레드 처리를 보다 쉽게 도와준다. 3. Flowable - flowable 는 'back-pressure' 라는 문제로 인해서 도입되었다. back-pressure Backpressure is when in a Flowa..
리액티브 프로그래밍이란? Declarative programming concerned with data stream and the propagation of change 두 가지 키워드로 리액티브 프로그래밍을 이해해보자. 1. Declarative programming(선언형 프로그래밍) 우리가 흔히 하는 프로그래밍은 명령형 프로그래밍이다. 명령형 프로그래밍이란 '실행할 동작을 구체적으로 명시하고 이를 실행하는 프로그램'이다. 예를 들어 sum()이라는 함수가 있고 sum(){number += 1} 처럼 실행할 동작이 구체적으로 명시되어있다. 반면, 선언형 프로그래밍은 단순히 목표를 선언하는 것이다. 명령형 처럼 구체적인 동작이 명시되어 있지 않다. 명령형은 How , 선언형은 What 에 비유할 수 있..
우리는 시험 속에서 청년기를 보낸다. 초,중,고 학교 시험부터 대입 수능 시험 그리고 다시 공시, 고시, 인적성... 어떻게 보면 청년기의 삶은 공채라는 관문을 통과하기 위한 과정인 것 같다. 우리가 이런 공채를 통과하기 위해서 그 하기 싫은 공부를 하는 이유는 대부분 비슷하다. 시험에 통과한 이들은 일종의 계급을 얻고 주변 사람들한테 인정받는다. 안정을 찾게 되고 남들이 부러워하는 그런 삶을 시작할 수 있다. '공채 시스템은 정말 효율적인 시스템인가?' 공채 시험들은 사실 그 직무와는 크게 상관이 없다. 정말 그 분야에서 일을 잘하는 사람을 뽑으려면 그 사람의 직무와 관련된 경력을 봐야한다. 하지만 후자와 같은 방식은 비용이 너무 많이 소모된다. 그 많은 사람을 언제 다 확인하겠는가. 또 검토자의 주관..
내가 AlarmManager를 활용해서 만들고 싶은 앱은 notification을 띄우는 알람이 아니고 우리가 아침마다 쓰는 알람앱이다. 1. AlarmManager 기본 사용법 기본적인 흐름은 아래의 세단계이다. 1) AlarmManager 객체를 만들고 2) PendingIntent를 만들고 3) AlarmManager를 셋팅한다. (이와 관련해서 안드로이드 공식 문서에 코드와 세부 셋팅까지 친절하게 잘 나와있다.) https://developer.android.com/training/scheduling/alarms 2. Doze 모드 대응 안드로이드 앱은 화면이 꺼진 경우 배터리 최적화를 위해서 도즈가 진행된다. 이로 인해 각종 기능들이 제한을 받을 수 있다. 알람 매니저도 이에 해당한다. 기존의 ..
Room에서 다음과 같이 선언하면 그냥 쓸 수 있을 줄 알았다. @ColumnInfo(name = "word_list") var wordList: List ?= null 하지만 다음과 같이 선언하고 build를 시작하면 error가 뜬다. 에러내용은 "typerConverter를 사용할 것을 고려해봐라" 이다. 그래서 TypeConverter에 관해 찾아보니 다음 글을 찾을 수 있었다. https://stackoverflow.com/questions/44986626/android-room-database-how-to-handle-arraylist-in-an-entity 방법은 아래와 같다. 1. Converter 클래스를 만든다. - 해당 data 클래스와 같은 파일에 만들던 다른 곳에 만들던 상관없다...
* 나는 한줄을 초과해서 입력시 우측으로 계속 작성되면 좌우 스크롤이 가능한 상태를 만들고 싶었다. 찾아보니 이를 가능하게 하는 singleLine 이라는 속성이 있는데 deprecated되었다. 이를 대체할 방법으로 inputtype을 설정하면 내가 원하던 대로 우측으로 계속 생성된다.(+maxLine, line 속성이 먹히질 않는다.) '왜 그럴까?' 내 뇌피셜이지만 구글이 inputType으로 edittext 속성을 단순화 하려고 하는 것 같다. 사실 여러줄 입력할 속성은 줄 글인 경우를 제외하면 크게 없으니까 그런 경우 inputType="textMultiline" 을 쓰고 나머지는 한줄 입력이 대부분이니 취향에 맞게 inputType에서 골라쓰라는 것 같다. * 조사하면서 알게된 EditText..
비전공자 출신으로 CS 부분에 대한 지식이 약한데 독서를 통해서 이를 보충하고자 한다. 그 첫번째 책으로 "CODE - 하드웨어와 스프트웨어에 숨어 있는 언어(찰스 펫졸드 지음)" 이다. 노마드 코더를 운영하는 니콜라스가 추천하는 책이고 컴퓨터가 작동하는 원리에 대해 이해하기 좋은 책이라고 한다. 자 그럼 시작해보자. 뭐에 관한 책인가요? "CODE라는 책은 컴퓨터가 어떻게 동작하는지 설명하는 책이다!" - 5p "이 책 CODE의 구성과 같이 컴퓨터를 구성하는 각 계측을 이동하면서 하나씩 살펴나가면 많은 이들이 생각하는 것보다는 컴퓨터가 이해하기 쉽다는 사실을 느끼실 겁니다." - 6p 그렇다 이 책은 컴퓨터가 어떻게 동작하는지 설명하는 책이고 컴퓨터를 구성하는 각 계층을 하나씩 살펴보면서 컴퓨터에 대..

AAC 관련 공부를 하면서 나는 '왜 이걸 써야하나?' 라는 질문을 계속 던졌다. 항상 나오는 답변이 "Test가 용이하다" 였다. 안타깝게도 지금까지 test를 공부해본 적이 없어서 이에 대해 공감할 수 없었는데 advanced android with kotlin 과정에 서 이와 관련된 갈증을 다소 해결할 수 있었다. 1. Test란 무엇인가? 앱이 버그 없이 잘 돌아가는지 실험해보는 것이다. 예를 들어 TodoList 앱을 만든다고 하였을때 목록이 잘 추가되는지 삭제는 잘 되는지 우리는 실험해보고 버그를 찾고 이를 고친다. 이러한 과정을 정확하게는 Manual Test라고 한다. Manual의 사전적 정의를 살펴보면 '손으로 하는' 이라는 뜻이 있다. 즉, 수동으로 하는 테스트이다. 하지만 우리는 자..