일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UIPresentationController
- swift #swift keychain #keychain 사용법
- 개발자 면접
- pod install
- ios
- 기존 앱
- base64 변환
- GeometryReader
- Swift Package Manager
- 상단 탭바
- convert base64
- scrolling tab
- swift
- development language
- transformation.map
- detect url
- url 관찰
- 스크롤 탭
- ViewBuilder
- List
- notifychanged
- SwiftUI
- url 추적
- Side Menu
- DevelopmentRegion
- DataBinding
- oberve url
- Android
- UIViewControllerTransitioningDelegate
- Tuist
- Today
- Total
목록분류 전체보기 (172)
버그 잡이
내가 지금 만들고 있는 것은 LiveData+ViewModel+Room을 활용한 간단한 todo앱이다. viewmodel에 있는 나의 LiveData이다. 리스트를 LiveData로 만들었다. var todoList = MutableLiveData().apply { value = mutableListOf("initial") } 내가 원하는 것은 아래 명령을 수행하면 ui가 초기화 되는 것이었다. todoList.value!!.add(todo) 하지만 최신화 되지 않았다. *문제의 원인 list를 감싼 LiveData는 observer에 변화를 알려주지 않는다는 사실을 알게되었다. *해결방안 1. https://www.charlezz.com/?p=989 위 블로그에서 해당 문제를 자세히 다루고 있다. 2...

Room이란? The Room persistence Library provides an abstraction layer over SQLite - SQLite를 편하게 쓸 수 있게 도와주는 라이브러리다. - 일반적으로 내부DB의 개념으로 활용된다. 용어 정리 Room을 이해하기 위해서는 다음 용어를 이해할 필요가 있다. 1. Entity Table row로 table에 저장되는 한 행의 자료이다. ex) 하룻밤 수면 데이터 2. Query "request for data or information from DB table" DB테이블에 대해서 데이터나 정보를 요청하는 행위다. 3. Annotation DB와 연결되는 interface다. ex) @PrimaryKey라는 annotation을 달아주면 해당 ..
오늘은 과제의 일환으로 github pull request를 시도했다. 지금까지 깃허브는 그냥 포트폴리오 게시용으로만 사용했었는데 이렇게 새로운 작업을 하려니 마음대로 되지 않았다. *PullRequest 과정 https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/ 구체적인 과정은 위 블로그를 참고. 이번 글에서는 하면서 내가 느낀점만 정리하고자 한다. https://imasoftwareengineer.tistory.com/5 더 깔끔하게 정리된 글이다. 1. fork - 버튼만 누르면 끝 2. clone - 나는 특정 brach에서 작업을 해야해서 아래 내용을 참고했다. - https://www.slipp.net/question..
나는 보통 책을 여러번 읽지 않는데 이 책은 이번까지 치면 3회독이다. 여러번 읽게 되는 책들은 나에게 각기 다른 이유들이 있다. 사랑이라는 것이 궁금할때 "사랑의 기술" 일을 하면서 '언제까지 이렇게 살아야하지?'라는 생각이 들면 "퇴사학교" 그리고 '청춘... 어떻게 살아야 하는가?' 라는 의문이 들땐 이 책 "조선에서 백수로 살기" 책을 펼쳐든다. 고미숙 작가님은 정말 쉬운 문장으로 우리의 답답한 현상의 본질을 정확하게 집어주신다. 나는 그 문장들을 보며 나의 지나온 길을 뒤돌아 보고 나아길 길의 주변을 다시금 돌아본다. "지금 청년들의 마음은 정처도 없고 방향도 없다. 한마디로 끊임없이 유동한다. 수많은 질문들이 범람하지만 포착하기가 쉽지 않다. 그럼에도 그 흐름을 관통하는 기저음이 있으니 그것이..

내가 만들었던 앱 중에서 핸드폰 센서를 이용해서 벌레를 잡는 게임이 있다. 벌레는 4가지 종류가 랜덤으로 선택 되어 나타나고 열심히 흔들어서 카운트가 10까지 세지면 벌레가 잡히는 게임이다. 여기에는 문제가 있는데 화면이 가로/세로 전환이 될때 벌레 이미지와 카운트가 초기화 된다는 것이다. 이번에 배운 ViewModel과 LiveData를 활용해서 이 문제를 해결해보자. GetBugActivity에서 사용되는 메소드는 다음과 같다. - selectBug() : bugImg 랜덤 선택 - getBugImg() : bugImg 받아서 업데이트 - showAlert() : 카운트가 10이 될 경우 다이얼로그 띄워주기 - countUp() : 흔들림 감지될때마다 카운트 올리기 +SenSonEventListene..

(3번을 패스하고 4번으로 넘어갔다. 3번은 navigation인데 아직 나의 이해가 부족해 기회가 되면 나중에 다시 정리해서 올려야 겠다.) 4번째 레슨은 바로 생명주기이다. 아직 면접을 봐보지는 않았지만 안드로이드 개발자 면접 필수 질문으로 등장하는 것이 '생명주기'라고 한다. 다음 질문에 답해보자. "startActivity 메소드를 실행했을대 A(현재 액티비티), B(다음 액티비티)의 생명주기 변화는?" '음... A pause, A stop, B create, B start, B resume 아닌가?' 라고 생각했었다. 정답은 A pause , B create, B start, B resume, A stop 두번째 액티비티가 포커스를 받은 이후에 이전 액티비티가 사라지는 것이었다. 왜 onSto..

오늘은 Android with Kotlin 두번째 강의 Layout편을 들었다. 이번 강의에서 새롭게 알게 된것은 3가지였다. 1. layout Editor의 활용 2. DataBinding 3. Constraint의 다양한 활용 Layout Editor의 활용 강의에서는 레이아웃을 만들때 editor를 적극적으로 사용한다. 이를 보면서 지금까지 코드로만 작성했던 나의 모습이 얼마나 비효율적이었는지 깨달았다. 높이, 넓이와 같은 기본적인 사항에 대한 수정은 코드로 작성하는 것과 크게 차이가 없다. 하지만 다음과 같은 작업으로 효율성을 높일 수 있다. - String, Dimen과 같은 value를 간편하게 추가할 수 있다. - 특정 뷰의 style을 extract해서 공통의 style로 지정할 수 있다...

udacity android with kotlin 강의 수강을 시작했다. 강의의 소개 문구를 보면 다음과 같다. The course gives you hands on experience as you build real Android apps using industry best practices, with modern app architecture. "실제 산업에서 사용되는 방식과 모던 아키텍처를 활용하여 앱을 개발하는 방법을 알려준다." 지금까지는 자바로 앱을 개발했고, 코드도 블로거들의 코드, 설계는 없다시피 했다. 진짜 사용할 수 있는 코드, 모던한 설계의 앱을 만들 수 있도록 강의를 열심히 수강해야겠다. 그 첫번째로 "1. Build your first app" 이다. 말 그대로 andrroid s..