일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Swift Package Manager
- UIPresentationController
- swift
- convert base64
- 개발자 면접
- Tuist
- 상단 탭바
- UIViewControllerTransitioningDelegate
- transformation.map
- List
- ios
- SwiftUI
- swift #swift keychain #keychain 사용법
- 스크롤 탭
- GeometryReader
- notifychanged
- url 추적
- pod install
- oberve url
- detect url
- Side Menu
- ViewBuilder
- scrolling tab
- url 관찰
- base64 변환
- 기존 앱
- DataBinding
- development language
- Android
- DevelopmentRegion
- Today
- Total
목록분류 전체보기 (170)
버그 잡이
우리는 시험 속에서 청년기를 보낸다. 초,중,고 학교 시험부터 대입 수능 시험 그리고 다시 공시, 고시, 인적성... 어떻게 보면 청년기의 삶은 공채라는 관문을 통과하기 위한 과정인 것 같다. 우리가 이런 공채를 통과하기 위해서 그 하기 싫은 공부를 하는 이유는 대부분 비슷하다. 시험에 통과한 이들은 일종의 계급을 얻고 주변 사람들한테 인정받는다. 안정을 찾게 되고 남들이 부러워하는 그런 삶을 시작할 수 있다. '공채 시스템은 정말 효율적인 시스템인가?' 공채 시험들은 사실 그 직무와는 크게 상관이 없다. 정말 그 분야에서 일을 잘하는 사람을 뽑으려면 그 사람의 직무와 관련된 경력을 봐야한다. 하지만 후자와 같은 방식은 비용이 너무 많이 소모된다. 그 많은 사람을 언제 다 확인하겠는가. 또 검토자의 주관..
내가 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의 사전적 정의를 살펴보면 '손으로 하는' 이라는 뜻이 있다. 즉, 수동으로 하는 테스트이다. 하지만 우리는 자..
WHAT? 이 책의 핵심은 우리의 사고가 얕고 가벼워 진다는 사실이다. WHY? & 그 과정 인터넷을 통해서 지식을 습득하는 요즘. 우리가 접하는 컨텐츠는 기존 책과 달리 분절되어있고 그 깊이가 얕다. 인터넷 콘텐츠 속에서 헤엄치는 우리의 뇌는 점점 분절되고 깊이를 잃어가는 것이다. 뇌의 신경가소성 뇌의 신경가소성은 우리의 뇌는 변한다는 것이다. 우리의 노력에 의해서 뇌가 원하는 능력을 얻을 수 있는 것이다. 하지만 반대로 다른 외부적인 요인에 의해 우리 뇌가 변화될 수 있다는 사실도 암시한다. 특히, 지식 습득 도구의 변화는 우리의 뇌를 급격하게 변화시킬 수 있다. 지금까지 지식의 습득 도구는 어떻게 변했는가? 구전 -> 책 -> 인터넷 *구전 -> 책 구전에서 책으로 변하면서 우리는 보다 축적된 지식..
다음과 같은 클래스가 필요하다. - data 클래스 - network api 인터페이스 - viewmodel - fragment 1. data 클래스 - 기본적으로 Article 클래스만 있어면 된다. - 나는 넘어오는 json이 json object가 3번 중첩되는 구조라 이를 처리하기 위해서 class를 추가로 만들었다. data class ResponseData( @Json(name = "tistory") val tistory: Tistory ) data class Tistory( @Json(name="item") val item: Item ) data class Item( @field:Json(name = "posts") val posts: List ) @Parcelize data class Ar..