일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IntelliJ
- library
- Version
- programmers
- leetcode
- Java
- rxjava
- FRAGMENT
- github
- Jetpack
- Android
- ReactiveProgramming
- homebrew
- androidstudio
- livedata
- Kotlin
- git
- Room
- Java8
- Database
- ViewModel
- sourcetree
- Algorithm
- Today
- Total
목록분류 전체보기 (54)
Learn & Run
Android 공부를 시작하다보면 여러개의 아이템을 보여줄 수 있는 ListView를 접하게 된다. 좀 더 진도를 나아가보면 훨씬 더 중요하고 자주 쓰이는 RecyclerView를 접하게 되지만, 이번 포스팅에서는 ListView에 초점을 두어 작성해보려고 한다. 이전 포스팅에서 BaseAdapter를 상속한 Adapter의 getView() 메서드에서 인플레이션 과정이 일어나는 것을 설명했다. 다시 한 번 알아보도록 하고, 이것을 개선시킬 수 있는 방법인 ConvertView와 ViewHolder pattern에 대해서도 알아보도록 하자. 1. BaseAdapter의 getView() 메서드 다시 확인하기 2. ConvertView란 무엇인가 우선 converView를 알아보기전에 ListView에 먼..
이전 포스팅에서는 setContentView 메서드를 통해서 전체 화면이 인플레이션 과정을 거친 후 실제 화면으로 보여지게 된다는 것을 알수 있었다. 하지만 FrameLayout이나 Adapter를 사용할 때처럼 전체 화면 중에서 일부분만을 차지하는 화면 구성요소들을 XML레이아웃에서 로딩하여 보여주고 싶을 때 (부분화면일 경우) LayoutInflater의 inflate 메서드를 사용할 수 있다. 이번 포스팅에서 직접 다루어 봄으로써 부분 화면에 대한 사용 예시를 확인해 보도록 하자. 1. 부분 화면 띄우기 사용자로써 우리가 사용하는 대부분 앱들은 시작하면서 초기화된 전체 화면뿐만 아니라 다양한 화면들이 보여지고 사라진다는 것을 알고있다. 전체 화면이 보여진 이후에도 부분 화면들로 보이는 것들을 제어할..
안드로이드를 공부한지 꽤(내 기준) 되었음에도 불구하고, 인플레이션이란 것이 무엇인지 정확하게 설명할 수 없어 내 것으로 만들어보고자 한다. 도대체 안드로이드에서 인플레이션이란 무엇일까? 또한, 인플레이션이 어디에서 일어나고 있는 것일까? 라는 궁금증이 생기곤 한다. 흔히 보던 Activity내의 setContentView 메서드는 어떤 역할을 하는지, 그것이 인플레이션과 어떤 연관성이 있는지 알아보고자 합니다. 1. Inflation이란 무엇인가 아마 다들 경제학 용어로 많이 들어봤을 것이다. 안드로이드에서 Inflation이 의미하는 것은 팽창이라는 의미에 가깝다고 생각한다. 뒤에서 다시 한 번 언급하겠지만, Inflation이란 과정은 눈에보이지 않던(코드로만 작성되어 있는) XML 파일이 실제 메..
목표 Tag가 언제 쓰이는지, 어떻게 쓰이는지에 대해서 알아보도록 합니다. Tag를 생각해보면 무엇인가를 설명해준다는 느낌을 받을 수 있습니다. 예를 들면 어떤 물건이 있을 때 이 물건이 어떤 것인지를 간단하게 또는 자세하게 설명해주는 것이 Tag의 목적이라고 할 수 있습니다. 수많은 버전들이 존재할 때 각 버전들 중에서도 의미있는 버전들이 있을 수 있습니다. 버전관리 시스템에서 Tag는 기록할만한, 기념할만한 버전이 있을 때 기록해주는 기능을 하고 있습니다. 1. Tag를 추가하는 방법에 대해 알아보도록 합니다. 2. 새로운 브랜치를 만들 때 특정한 Tag가 있는 버전으로부터 시작하는 방법을 알아보도록 합니다. 3. 로컬 저장소의 Tag를 원격 저장소에 Push 하기
목표 Stash가 무엇인지 그리고 어떤 기능을 하는지에 대해 알아보도록 합니다. 우리는 종종 어떤 일을 하는 도중에 급한 개선 건에 대한 처리를 요구받을 때가 있습니다. 또한 다른 기능에 대한 버그가 발생하여 하던것을 제쳐두고 그것을 우선적으로 해결하고 싶을때가 있습니다. 이런 경우에 쓰이는 기능에 Stash라는 기능입니다. 1. Stash가 의미하는 것이 무엇인지 알아보도록 합니다. 2. Stash가 쓰이는 구체적인 상황을 예로 들어보겠습니다. 3. Stash를 사용하면서 주의해야할 점이 무엇이 있는지 알아봅니다. Staged files, Unstaged files 둘 다 공존할 때 어떤식으로 Stash에 저장되는지 알아보도록 합니다. Stash file이 포함하고 있는 작업을 변경했을 때 일어나는 충..
목표 Git 명령어 Pull과 Push에 대해 알아보도록 합니다. 이전 포스팅까지 우리는 지금까지 Push라는 작업을 해왔습니다. 그렇다면 Pull은 무엇을 의미할까요? 영어가 의미하는 그대로입니다. Push가 로컬 저장소에서 원격 저장소로 버전을 업로드하는 과정이였다면 Pull은 반대로 원격 저장소에 관리되던 버전을 로컬 저장소로 가져오는 행위를 의미합니다. 1. 우선 두개의 로컬 저장소를 준비해둡니다. 저는 test와 test2 총 두개의 로컬 저장소를 준비해두었습니다. 실제 협업 환경을 위한 구성이라고 생각하시면 좋습니다. 2. test 로컬 저장소에서 Push를 통해 원격 저장소의 버전을 업데이트 합니다. 간단하게 파일을 변경하고 Commit 후에 Push까지 완료합니다. 2. 여기서 test2 ..
목표 저장소를 복제하는 방법에 대해 알아보도록 합니다. 회사에 새로운 직원이 들어왔고, 그 직원은 진행중인 프로젝트를 불러와야한다고 생각해봅니다. 어떻게 가져올까요? 바로, 원격 저장소에 저장되어있는 프로젝트를 로컬 저장소로 불러와야 합니다. 이 때 사용하는 개념이 Clone(복제) 입니다. 1. 로컬 저장소로 택할 폴더를 하나 만들어 줍니다. 저는 바탕화면에 test라는 폴더를 하나 생성해 두었습니다. 2. 아래와 같은 과정을 통해 복제할 test 폴더를 지정해줍니다. 3. test폴더에 복제가 잘 되었는지 확인합니다.
목표 - 원격 저장소를 사용하는 목적에 대해 알아보도록 합니다. - 이 포스팅을 참고하여 오픈 소스 프로젝트를 진행해 보도록 합니다. 로컬에서 큰 프로젝트를 하고 있다고 가정해 봅시다. 하지만 어느 날, 프로젝트를 진행하고 있는 PC가 고장났다던지 의도치 않은 사고로 PC가 부셔졌다던지 다양한 상황이 일어날 수 있습니다. 이러한 상황에 대비하기 위해서 우리는 로컬에 있는 소스 코드를 로컬이 아닌 다른 서버에 저장시켜 놓을 필요성을 느낄 수 있습니다. Git의 세계에서는 여러가지 원격 저장소를 제공하는 서비스들이 있는데, 그중에서 가장 일반적이고 보편적으로 사용하는 것은 Github이라는 서비스입니다. 원격 저장소 뿐만 아니라 사람들이 협업을 하기 위한 다양한 서비스를 제공하기도 합니다. 1. Github..
leetcode.com/problems/insert-interval/ Insert Interval - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 번역 : 겹치지 않는 간격에 대한 입력값이 주어지면 간격에 새 간격을 삽입합니다 (필요한 경우 병합). 간격이 처음에 시작 시간에 따라 정렬되었다고 가정 할 수 있습니다. 1. 접근 아이디어 반복문을 돌면서 intervals 배열의 첫 번째 값과 두 번째 값을 비교하면서 list에 저장합니다. newInterval값..
leetcode.com/problems/multiply-strings/ Multiply Strings - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 번역 : 문자열로 표현된 두 개의 음이 아닌 정수 num1과 num2가 주어지면 문자열로 표현되는 num1과 num2의 곱을 반환합니다. 또한, 내장 BigInteger 라이브러리를 사용하거나 입력을 정수로 직접 변환해서는 안됩니다. 1. 접근 아이디어 가장 끝의 숫자를 먼저 곱하기위해 num1과 num2중에 작..