Posts by Year

2020

apk가 빌드되는 과정 - signing key, upload key, certificate

1 minute read

안드로이드 스튜디오에서 assembleDebug, bundleRelease 등의 커맨드로 apk/aab 파일이 만들어지면 보통 그 결과물 그대로 마켓에 올리던지 설치하던지 하는데, 이 과정에서 gradle이 자동으로 해주는 과정들이 있다. 바로 zipAlign과 signing인데,...

오픈소스 컨트리뷰톤 - Flutter Moum

1 minute read

2020년 8월 1일부터 9월 13일인가? 까지 오픈소스 컨트리뷰톤이라는 행사에서 Flutter Moum이라는 팀의 멘토로 참여했다. 아, 최종발표 이런거까지 합하면 9월 26일까지 했다고 봐야겠다. 요 깃헙에 모든 일정과 기록을 남겨놨다.

안드로이드 apk에서 aab(앱번들)로 변경하기

1 minute read

플레이스토어에 apk 형식으로 앱을 기재하면 aab(앱번들)를 사용하라는 워닝이 뜬다. 2021년 말인가? 즈음엔 aab로 강제한다고 했던거같은데.. (내 기억이 맞다면) 그래서 슬슬 aab로 갈아타야하는데, 기존에 apk로 올리던 앱들을 aab로 변경하는건 엄청 간단하다!

안드로이드 App Bundle

3 minute read

Android App Bundle (.aab 확장자)은 플레이스토어에 앱을 기재할 수 있는 새로운 방법이다. 앱을 기재할때는 크게 3가지의 방법이 있는데:

즐겨쓰는 ADB 커맨드들

less than 1 minute read

ADB(Android Debug Bridge)는 “USB 디버깅”이 켜져있는 기기들에 대해 여러 디버깅을 가능하게 해주는 도구이다. 웬만하면 Android Studio로 커버가 가능하지만, 몇 가지 adb를 직접 쓰는 경우들에 대해 내가 자주 쓰는 기능들만 적어본다.

안드로이드 Room 데이터베이스

1 minute read

Room 공식 문서를 보면 상당히 잘 정리되어 있어서, 그대로 따라하면 웬만하면 사용하는데 문제는 없을 것이다. 유사하지만, 자그만 팁들과 함께 짧게 여기에도 정리해본다.

안드로이드의 아이콘 뱃지

1 minute read

앱에 새 알림이 오면 아이콘 옆에 자그만 똥글뱅이나 숫자가 달리는데 그걸 아이콘 뱃지라고 한다. 원래는 Android 8.0부터 지원되는 기능이지만, 삼성같은 단말에선 8.0 미만에서도 자기들끼리 만들어서 쓰고 있었다고 한다. 그래서 Pixel, Nexus같은 구글 레퍼런스 폰들은...

안드로이드의 애니메이션 api 정리

2 minute read

안드로이드에서 애니메이션을 구현하기 위한 방법은 정말 다양하다. 너무 다양해서 뭘 써야할지 선택 장애가 올텐데, 안드로이드 팀도 그걸 알아서 그런지 쭉 비디오로 정리해 주었다. 아래 내용은 이 비디오와 이 비디오를 참고하여 만들어졌으니, 비디오만 봐도 내용은 비슷하다.

2019

인터넷이란?

1 minute read

인터넷은 정말 복잡한 시스템이다. 이 시스템을 구성하는 여러 기기들(e.g. router, modem)과 통신 규약들(e.g. HTTP, TCP)을 제대로 공부하려면 많은 시간을 투자해야 한다. 하지만, 이 포스트에서는 인터넷이라는 개념에 대해 아주 단순하게만 알아보자. (제대로 ...

1일 1커밋 시즌2 : 실력 쌓고 친구도 사귄 최고의 모임!

1 minute read

1일 1커밋 시즌2가 며칠 전에 끝났다. 후련함과 아쉬움이 든다. 1일 1커밋이란, 100일동안 매일 자신의 깃헙에 적어도 하나의 커밋을 하는 것이다. 시즌1은 2018/6/1일부터 9/8일까지 진행했고, 반응이 워낙 좋아서 2018/10/15일부터 시즌2를 다시 시작했다. 그리고...

주례사

3 minute read

뼈 있는 아무 말 대잔치를 읽다가 마음에 드는 주례사를 찾았다. 내가 지금 주례사를 할 입장은 아니지만 단순히 글이 마음에 들어서 옮겨 적어본다. 글쓴이가 출처도 밝힐 필요 없이 마음대로 써도 된다고 하였기 때문에, 이 글을 보는 분들도 마음껏 사용해도 된다. 참고로, 유튜브에 ‘...

How to Start Vim

1 minute read

Vim은 메모장, Sublime Text와 같은 범용적인 텍스트 에디팅 프로그램이다. 이 프로그램의 핵심은, 다른 프로그램들에서는 볼 수 없는 독자적이고 창의적인 단축키들이다. 그래서 vim의 단축키들을 아예 모르는 사람은 단 한 글자도 쓰기 어려워할 것이다. Vim을 사용한지 ...

안드로이드 View의 clipChildren에 대하여

2 minute read

기본적으로 안드로이드의 모든 view는 자신이 물리적으로 차지하는 영역 만큼만 그릴 수 있다. 즉, 전체 화면을 기준으로 (left=100, top=100, right=200, bottom=200)만한 영역을 차지하는 view가 (left=200, top=200, right=300...

The Computer Myth - Boolean Arithmetic (Part 03)

3 minute read

컴퓨터가 수행하는 모든 수학적, 논리적 연산은 ALU(Arithmetic Logic Unit)라는 칩이 담당한다. 우리가 지난번까지 본 NAND, AND 게이트들은 논리 연산을 수행하는 애들이다. 이들은 하나 이상의 boolean 값을 입력받아 특정한 논리 연산을 수행하고 하나 이...

Writing for Web

less than 1 minute read

약 1년 전 (지금은 폐쇄된) 블로그를 시작할 때 어떻게 글을 써야 할까 고민하면서 책을 찾아본 적이 있다. 핵심은 “무조건 짧게!” 웹페이지에 100줄의 글이 있으면 유저가 100줄을 차근차근 읽어줄거란게 가장 큰 오산이다. 글쓴이는 ‘친절한’ 마음에 최대한 자세히 써주려고 설...

The Computer Myth - Boolean Logic (Part 02)

2 minute read

게이트(또는 칩)는 하나 이상의 bit를 받고 하나 이상의 bit를 출력하는 함수 역할을 하는 조그마한 부품이다. 그 중 우리에게 주어진 최초의 게이트는 NAND 게이트였다:

2018

나의 2018년

2 minute read

2018년을 되돌아보며 글을 써본다. 이런 글을 써본 적이 거의 없는데, 마침 1일1커밋으로 준비한 것도 딱히 없고, 무엇보다도 블로그가 생겨서 쓸 맘이 생겼다. 평소에 다이어리를 쓰는 습관이 있어서 다행이다. 다이어리가 없었으면 아무것도 기억 안날뻔…

The Computer Myth - NAND Gate (Part 01)

2 minute read

컴퓨터는 디지털(digital) 기계다. 디지털은 0과 1, 이 두 가지 값으로만 나뉜다는 것이다. 컴퓨터는 오로지 0과 1로만 연산을 수행하기 때문에 디지털 기계다. 컴퓨터는 전기를 연료로 작동하는데, 그럼 전기 신호도 0과 1로만 들어오나?

The Computer Myth - Intro (Part 00)

1 minute read

컴퓨터공학과에서 어셈블리, 운영체제 등을 공부하며 컴퓨터 내부에 대한 이해를 다진다(고 한다.. 내가 들어본적은 없어서..). 하지만 각각의 수업에서 배운 컴퓨터 구조의 부분들을 연결해서 큰 그림을 그려보는 시간은 없다(고 한다). 그래서 메모리, 어셈블리, 운영체제 등을 각자 공...

Where to Put Script in HTML?

2 minute read

<script>태그를 마주친 순간 브라우저는 DOM 프로세싱을 멈추고 <script>의 다운로드 및 실행을 진행한다. 그리고 이 <script>의 실행이 끝나야 비로소 다시 DOM 프로세싱을 진행한다. 이는 <script> 안에서 어떤 짓...

32bit vs 64bit Processors

1 minute read

요즘 나오는 프로세서는 32bit와 64bit 두 개로 나뉘어진다. 사실상 이제는 64bit만 나온다고 볼 수 있다. xxbit 프로세서라는 것은, 컴퓨터가 한번에 xxbit 길이의 명령어를 수행한다는 뜻이다. 32bit 프로세서는 한번에 32bit 길이의 명령어를, 64bit는 ...

Emulator vs Simulator

1 minute read

Emulator와 simulator는 둘 다 테스트용 툴로써 사용된다는 점에서 동일하다. 평소엔 그냥 혼용해서 사용하기도 하는데, 구분할 때는 확실히 구분해서 사용한다. 예컨대, 안드로이드 가상 머신은 emulator라고 부르고, 아이폰 가상 머신은 simulator라고 부른다.

Odysseus Contract

1 minute read

목표를 달성할 수 있게 해주는 가장 확실한 방법. Odysseus Contract는The 4-Hour Chef라는 책에서 사용한 표현으로, 반드시 이루고 싶은 목표를 위한 필사의 노력을 의미한다. 오디세우스가 세이렌의 바다를 건너기 위해 자신을 포함한 선원들의 몸을 배에 묶고 귀...

아웃라이어에 주목해야 하는 이유

1 minute read

우리는 보통 의사결정을 내릴 때 평균을 많이 참고한다. 아이가 갈 학교를 고를 때 평균 성적이 좋은 학교는 어디인가? 이사할 장소를 고를 때 평균적으로 잘 사는 동네는 어디인가? 평균이란 어떤 집단의 성격을 빠르게 파악하기에 훌륭한 도구이다. 우리는 의식적으로나 무의식적으로 그 값...