Posts by Category

프로그래밍 문제

Back to Top ↑

안드로이드

안드로이드 소프트 키보드 숨기기

1 minute read

앱을 사용하다보면 사용자 텍스트 입력이 필요한 필드를 입력하다 필드 바깥쪽을 터치 시 소프트 키보드가 숨겨지는 모습을 볼 수 있다. 안드로이드의 경우 그런 동작이 EditText를 사용한다고 해서 자동으로 적용되지 않기 때문에 그것을 적용하는 방법을 작성해본다. 적용 전 ```xm...

안드로이드의 inflate

1 minute read

안드로이드에서 화면에 나타나는 UI 구성은 xml 파일에 담겨있다. 화면을 구성하는 레이아웃과 뷰는 xml에 정의돼있는데, 이를 코드 상에서 접근할 수 있게 만들어야 한다. inflate는 ‘부풀리다’라는 뜻을 갖고 있는데, xml에 정의된 뷰를 부풀려 객체화시키는 것을 뜻한다.

Kotlin Scope 함수

2 minute read

코틀린에는 객체의 context 내에서 코드 블록을 실행하기 위한 함수들이 있는데 이를 scope 함수라고 한다. Scope 함수에 람다 표현식을 전달하면 해당 코드 블록이 실행되며 이름 없이 객체에 접근할 수 있다. Scope 함수에는 let, run, with, apply, a...

Kotlin ‘by’ 키워드

2 minute read

안드로이드 코드를 짜면서 by lazy, by viewModels()를 쓸 때 by라는 키워드를 사용했는데 이것이 어떤 역할을 하는지 작성해보려고 한다.

브로드캐스트 리시버

1 minute read

브로드캐스트 리시버는 안드로이드 4대 구성 요소 중 하나다. 브로드캐스트 리시버에 대해 이해한 것을 정리해보려 한다.

서비스

1 minute read

안드로이드 개발을 공부하며 서비스를 처음 마주했을 때 느낀 당황함은 적지 않았다. 액티비티와 프래그먼트만 다루고 있었는데, 눈에 보이지도 않는 것이 생명 주기는 액티비티에 종속돼있지 않으면서도 일을 할 수 있다는 것이 참 낯설었다. 지금까지 이해한 서비스의 개념을 정리하고자 한다....

Intent

1 minute read

Intent란? Intent는 앱 구성 요소 간 정보를 전달할 수 있는 메시지 객체다. 안드로이드 앱의 4대 구성 요소는 다음과 같다. 액티비티 서비스 브로드캐스트 리시버 콘텐츠 제공자

코틀린과 자바

3 minute read

안드로이드 개발 공부를 늦게 시작하여 코틀린으로 했지만, 코틀린 이전의 코드들은 전부 자바 코드여서 자바도 어느 정도 이해를 하고 있어야 한다. 비슷한 두 언어 자바와 코틀린의 공통점과 차이점을 몇가지 정리해보려 한다.

프래그먼트

1 minute read

개요 프래그먼트는 UI의 재사용 가능한 부분을 나타낸다. 프래그먼트는 독립적으로 존재할 수 없고 액티비티 또는 다른 프래그먼트를 호스트로 하여 존재해야 한다. 프래그먼트는 액티비티와 마찬가지로 자체 생명 주기를 가지고 자체 입력 이벤트를 처리할 수 있다. 또한 액티비티와 마찬가지로...

액티비티

1 minute read

액티비티란? 액티비티는 앱을 만드는 주요 요소 중 하나로, 사용자와 상호작용을 하기 위한 진입점 역할을 한다. 쉽게 말하면, 유저에게 보이고 상호작용을 하는 하나의 화면을 의미한다.

Back to Top ↑

여러가지

카드 결제 부당 대우 신고 후기

less than 1 minute read

예전부터 옷가게나 작은 음식점에서는 카드 결제를 하면 부가세 명목으로 10% 더 비싸게 가격을 책정하는 곳이 있었다. 알고보니 카드와 현금가를 다르게 하는 것은 카드 결제 부당 대우로 신고가 가능하다고 한다.

귀귀 개인전 후기

less than 1 minute read

희대의 천재 예술가 귀귀의 개인전이 인사동에 열려서 보러 갔다. 가격은 인터파크 기준 9000원

Back to Top ↑

알고리즘 & 자료구조

세그먼트 트리

6 minute read

변하는 배열의 구간 합 구하기 크기가 $N$인 정수 배열 $Arr$가 있는데, 다음과 같은 연산을 수행하려고 한다. 구간 $[l, r] (0 \leq l \leq r \leq N - 1)$의 합 $A[l] + A[l+1] + \cdots + A[r]$ 구하기 $A[i] =...

희소 테이블(Sparse Table)

5 minute read

설명 희소 테이블이란 정적 데이터에서 구간 쿼리를 빠르게 계산할수 있는 자료 구조다. 예를 들어 Array[0] - Array[N]과 함수 $F$가 존재할 때, $0 \leq i \leq j \leq N$을 만족하는 $F(i, j)$를 빠르게 구할 수 있다. 이를 사용하면 희소 테...

위상 정렬

4 minute read

설명 위상 정렬(topological sort)는 순서가 정해진 원소를 정렬하는 알고리즘이다. 대학교 강의의 선수과목처럼 한 강의를 수강하기 전에 무조건 들어야 하는 강의가 있다면 그것을 고려해 강의 순서를 정렬하는 알고리즘이 바로 위상 정렬이다. 위상정렬은 DAG(Directed...

Back to Top ↑

프로젝트

등산왕 – 안드로이드 앱 프로젝트

2 minute read

배경 약 4개월 동안 네이버 커넥트재단에서 진행하는 부스트캠프 웹·모바일 6기 멤버십 과정을 마무리했다. 멤버십 과정의 마지막 6주동안 진행한 프로젝트 등산왕에 대한 정리를 하려고 한다. 앱 소개

얌마맘마

less than 1 minute read

얌마 우리집은 개를 키우는데 이름이 얌마다. 그래서 얌마!하고 부른다. 종은 미니 비숑인데 생긴 건 좀 많이 말티즈같다.

Back to Top ↑