일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- .github
- 2레벨
- suspend programming
- 실버2
- 프로그래머스
- navigation component
- kotlin
- Bitrise
- gradlew
- LazyRow
- keystore
- 성빈랜드
- DB
- compose
- 브론즈1
- capitalize
- 피보나치 수 2
- DB 기능
- 최댓값 최솟값
- 데이터베이스 첫걸음
- github action
- 실버 4
- LazyColumn
- 백준
- 데이터베이스
- 개발하는 정대리
- Android
- 브론즈 1
- Activirty
- Myungpyo Shim
- Today
- Total
목록전체 글 (52)
Rather_Happy의 개발 블로그

Compose에서 쓰이는 기존 레이아웃 요소에는 Column Row Box 3가지가 있다. 각각 어떻게 쓰이는지 알아보자. Column column의 하위 요소는 세로로 그려진다. 이 코드를 봐보자. Column( modifier = Modifier .fillMaxWidth() .padding(24.dp) ) { Text(text = "hello.") Text(text = name) } 이 코드를 preview로 봐보면 이러한 상태가 되며 각 Text가 세로로 그려진다. Row row의 하위 요소는 가로로 그려진다. 이 코드를 봐보자. Row( modifier = Modifier .fillMaxWidth() .padding(24.dp) ) { Text(text = "hello.") Text(text = ..

이전 포스팅에서는 코틀린이 무엇인가 에 대한 포스팅을 해봤다. 이번 포스팅은 코틀린의 철학이다. java의 뒤를 나온 kotllin 어떤 철학이 있을까? 실용성 kotlin을 처음 만들 때 대규모 it 프로젝트를 경험을 바탕으로 만들어졌다고 한다. 또한 코틀린은 어떠한 패러다임에 의존하는 것이아닌 프로그래머의 스타일에 따라 자유자재로 변환하여 쓸 수 있다. 객체지향이나 함수형 등 취향에 맞게 쓰면 된다. 그리고 kotlin은 연구를 위한 언어가 아닌 다른 언어의 성공적인 해법과 기능을 의존한다. 그래서 좀 더 익숙하고 쉽게 배울 수 있다. kotlin은 인텔리 J의 IDE에 편리한 개발환경이다. 생산성이 뛰어나다. 간결성 코드를 쓰는 것보다 읽는것이 시간이 더 오래 걸린다고 한다. 버그를 수정할 때 많은..
협업을 하던중 merge후 자동으로 branch를 삭제하는 기능이 있었으면 좋겠다고 생각하던 찰나 같이 개발자는 팀원이 .gihub에 .yml를 추가하면 된다고 했다. 이렇게 편리한 기능이 있었다니. 어떤것들이 있는지 알아보도록하겠다. merge후 branch를 자동으로 삭제해주기. 이 기능을 사용하려면 .github에 delete-merged-branch-config.yml를 추가해주면 된다. exclude: - main - develop - release delete_closed_pr: true이 코드를 추가해주면 .merge 시 자동으로 branch를 삭제해 준다. pr시 자동으로 reviewr 추가해주기 이 기능을 사용할려면 .github에 CODEOWNERS 를 추가해주면 된다. /src/ @c..

Android 개발을 할 때 java언어에서 kotlin 언어로 변경되고 있는 추세이다. 어떤 이유에서 kotlin으로 변경되는 걸까? 그걸 알기 전에 kotlin먼저 알아보자. Kotlin 이란? kotlin이란 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 자바와 코드가 호환이 되며 코드가 간결하고 간단하다. 성능도 자바와 같은 수준이니 kotlin을 안 쓸 이유는 없다. 이 말은 죽순 java가 쓰이는 곳에 kotlin이 다 쓰일 수 있다는 것이다. ex) 구글, 트위터, 링크드인 등 java를 사용하고 있는데 kotlin을 쓰면 더 쉽게 개발할 수 있을 것이다. 정적 타입 언어 Kotlin은 Java와 마찬가지로 정적 타입 언어이다. 컴파일 시 타입을 검증해준다. 동적 타입 언어는 타입에 ..

기존 리사이클러뷰를 사용할 때 리사이클러뷰 어뎁터로 가져왔을 것이다. 데이터가 적다면 상관없지만 리사이클러뷰 아이템의 데이터가 1만 개, 10만 개 등등 커지면 어떻게 될까? 데이터를 불러오는데의 작업이 오래 걸리고 서버에 과부하가 될 수 있다. 이를 해결하기위해 Android에서는 paging이라는 라이브러리가 존재한다. paging이란? 페이징이란 network나 database에 있는 데이터를 불러올 때 page대로 데이터를 분리해서 가져오는 것이다. 기존 데이터를 한꺼번에 가져왔다면 page대로 가져와 리소스 관리에 효율적이다. Android에서는? Android에서 flow, liveData로 비동기 작업까지 쉽게 할 수 있다. 또한 하나의 page의 데이터에 끝에 도달했을 때 자동으로 adap..
나는 기존 프로젝트에 LiveData를 중점적으로 썼었다. 이로 인해 여러 에러 사항이 많았는데 특히 A의 activity에 데이터를 호출 한 후 B의 Activity로 이동했다가 다시 돌아오면 기존에 있던 observe가 남아 있어 다시 호출되는 현상이 있었다. 이를 해결하기 위해 SingleLiveData, EventLiveData 등 여러 해결책이 있었지만, 각각 해결책마다 또 다른 이슈가 있어 이번 기회에 flow에 대해 공부하고 정리한다. flow를 알기 전에 먼저 리액티브 프로그래밍의 개념부터 알아야 한다. 왜냐하면 flow는 기존 중단 함수와 달리 여러 값을 순차적으로 내보낼 수 있다. 리액티브 프로그래밍의 개념을 다시 짚어보자면 리액티브 프로그래밍이란? 리액티브 프로그래밍이란 함수형 프로그..

[Silver IV] 덱 - 10866 문제 링크 성능 요약 메모리: 27332 KB, 시간: 276 ms 분류 자료 구조(data_structures), 덱(deque) 문제 설명 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있..
Deque를 알기 전에 Stack과 Queue에 대해 먼저 알아야 한다. 왜냐하면 Stack과 Queue의 단점을 보완한 게 Deque이기 때문이다. Stack란 무엇인가? stack은 후입 선출(LIFO)로 풀이하자면 마지막으로 들어간 데이터가 가장 먼저 나온다.라는 뜻이다. Kotlin에서의 Stack은 다른 Collection처럼 Interface가 존재하지 않고, 단일 클래스로 존재한다. 데이터를 입력하는 것을 push라고 하고 데이터를 꺼내는 게 pop이라고 한다. Queue란 무엇인가? queue는 선입선출(FiFO)로 풀이하자면 먼저 들어간 데이터가 가장 먼저 나온다.라는 뜻이다. 우리가 학창 시절 급식실에 줄을 설 때처럼 먼저 줄 선 사람은 먼저 밥 먹을 수 있고, 마지막에 들어온 사람은 ..