profile
Android Developer
post-thumbnail

[Android] Layout을 파헤치자 🧤

ConstraintLayout > 레이아웃에 배치되는 뷰들에 여러 제약을 적용하여 각 뷰의 위치와 크기를 결정하는 레이아웃 RelativeLayout의 상대적 위치 관계에 따른 배치 + LinearLayout의 가중치가 가진 장점 + chain 사용을 다른 레이아웃

2021년 6월 15일
·
0개의 댓글
post-thumbnail

[Android] View가 렌더링되는 과정 📱

위 글의 대부분의 내용은 안드로이드 View가 렌더링 되는 과정 해당 글을 참고하여 적었습니다. 안드로이드의 화면은 아래와 같은 단위로 구성된다. 화면을 구성하는 최소단위는 View이며 최대 단위는 Window이다.Window > Surface > Canvas > Vi

2021년 6월 15일
·
0개의 댓글
post-thumbnail

[Android] Runtime & Compiletime ⌛️

우선 두 용어는 모두 SW 프로그램 개발의 서로 다른 두 계층의 차이를 설명하기 위한 용어이다.프로그램을 생성하기 위해 개발자는 첫째로 소스코드를 작성하고 컴파일이라는 과정을 통해 기계어 코드로 변환되어 실행 가능한 프로그램이 된다.컴파일 과정을 마친 프로그램은 사용자

2021년 6월 14일
·
0개의 댓글
post-thumbnail

[Android] MultiDex ?

Android는 JVM 기반의 ART 위에서 동작한다.ART 위에서 동작하기 위해 안드로이드 코드는 dex 파일로 컴파일 된다.이때, 메서드 수가 64k(65535)개를 초과할 수 없어서 나오게 된 개념이 Multidex이다.Multidex는 메서드가 64k(65536

2021년 6월 14일
·
0개의 댓글
post-thumbnail

[Android] Proguard 🛡

코드를 난독화 및 최적화 시켜주는 오픈 소스 툴무료 자바 클래스 파일 축소기, 최적화기, 난독화기, 프리버레이터.사용되지 않는 클래스, 필드, 방법, 속성을 검출해 제거한다.bytecode를 최적화하고 사용하지 않는 지시사항을 제거한다.짧은 의미 없는 이름을 사용하여

2021년 6월 13일
·
0개의 댓글
post-thumbnail

[Android] WebRTC 📲

최근 여러 서비스에서 WebRTC를 사용하여 많은 서비스를 제공한다는 글을 보았다. 화상회의, 소셜 소개팅 등 여러 부분에서 쉽게 쓰일 수 있기에 최근 인기를 끌고 있다. WebRTC라는 단어를 하도 많이 보게되서 내가 정리를 해두려 한다.Web Real-Time Co

2021년 6월 13일
·
0개의 댓글
post-thumbnail

[Android] [번역] A Garbage Collection Story

해당 글은 A Garbage Collection Story를 번역한 글이며 아주 조금의 첨언이 되어있는 글입니다. 출처는 ProAndroidDev몇몇 안드로이드 관련 아티클을 찾아보는 곳 중 공식 미디엄 말곤 proandroiddev를 많이 보게 된다. 생각해보지 못한

2021년 6월 13일
·
0개의 댓글
post-thumbnail

[Android] Android 위치 권한 변경 사항 🧭

Android 11 버전 여러 업데이트 사항 중 개인정보 보호기능에서 크게 달라졌다는 글을 보았다.곧 Android 12가 출시 되겠지만 그래도... 여러 프로젝트를 해보면서 지도에서 사용자 위치 접근에 대한 퍼미션을 많이 다뤘었다. 근데 정작 허용 여부를 물어보고 허

2021년 6월 11일
·
0개의 댓글
post-thumbnail

[Android] DiffUtil이 뭔지 설명해주시겠어요? 👀

면접에서 참 많이 받게 되는 질문이다. 면접을 떠나서 안드로이드 개발자는 안드로이드 어플 개발을 하면서 RecyclerView를 정말 많이 만들어보고 다양한 adpater를 사용해본다. 수 많은 리스트의 데이터의 내용 중 변화가 생기게 된다면 우린 를 통해 변화를

2021년 6월 11일
·
0개의 댓글
post-thumbnail

[Android] Android dp dpi dpi sp 우린 뭘 써야 할까?

Android는 해상도를 지원한다. 그 종류는 많고 안드로이드 개발자라면 반드시 알아야 한다. 왜 알아야 해? 디자이너와 협업을 해야하니까. 여러 화면에 대응해야 하니까 🧐 다양한 디바이스 크기에 대응? 그게 뭔데? dp는 픽셀 독립 단위이다. (Device In

2021년 6월 10일
·
0개의 댓글
post-thumbnail

[OS] 세그멘테이션

페이징은 프로세스를 물리적으로 일정한 크기로 나눠 메모리에 할당하였다.프로세스를 논리적 내용일 기반으로 나눠 메모리에 배치하는 것을 말한다.세그먼트의 집합으로, 각 세그먼트의 크기는 일반적으로 같지 않다.프로세스를 code, data, stack으로 나누는 것 역시 세

2021년 5월 4일
·
0개의 댓글
post-thumbnail

[OS] 페이징

외부 단편화로 인한 메모리 낭비가 심하다.Compaction을 사용하면 외부 단편화를 해결 할 수 있지만 오히려 이로인해 발생하는 오버헤드, 비효율적인 성능으로 사용하기 어렵다.그래서 나온게 페이징이다.hole을 가지고 해결하려 하지 않고 프로세스를 작은 단위로 나눠서

2021년 5월 4일
·
0개의 댓글
post-thumbnail

[알고리즘] 투 포인터(Two Pointers)

가장 단순하게는 2중 반복문을 돌리는 것이다. 아주 쉽게 볼수 있는 형태이다.근데 이렇게 하면 시간복잡도가 O(N^2)이 나온다. (2중 반복문이니까)배열의 크기가 커질 수록 느려지게 된다.결국, 1차원 배열의 연속된 구간에 대해 2중 반복문을 개선하기 위해 나온 것이

2021년 5월 3일
·
0개의 댓글
post-thumbnail

[Algorithm] 수식 최대화

IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다.이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다.해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3

2021년 5월 1일
·
0개의 댓글
post-thumbnail

[OS] 주기억장치

OS에서 CPU자원을 관리하는 프로세스 관리 뿐 아니라 메모리 관리 역시 매우 중요한 사항이다!현재에도 여전히 메모리를 최대한 효율적으로 사용하기 위한 여러 방법들이 연구되고 OS 기능에서 매우 중요한 부분을 차지 한다.이 글은 KOCW 운영체제 강의를 토대로 작성되는

2021년 5월 1일
·
0개의 댓글
post-thumbnail

[OS] 운영체제 서비스

HW 자원을 각 사용자 어플리케이션에 적절히 분배해주는 것.HW 자원은 CPU, Main Memory, 하드디스크, 키보드, 마우스, 프린터 등이 존재한다.이러한 하드웨어 자원을 사용자 어플리케이션이 요구하거나 OS내의 규칙에의해 적절히 분배하여 컴퓨터의 성능을 최대한

2021년 4월 26일
·
0개의 댓글
post-thumbnail

[OS] 시스템 호출 (System. Calls)

OS의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스보통 C,C++과 같은 고급 언어로 작성된 프로그램들은 직접 시스템 호출을 사용할 수 없기에 고급 API를 통해 시스템 호출에 접근하게 하는 방법연관지어 나오는 내용Q.

2021년 4월 19일
·
0개의 댓글
post-thumbnail

[OS] 인터럽트 (Interrupt)

프로그램을 실행하는 도중, 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 즉시 중단하고, 발생된 상황을 우선 처리한 후 실행 중이던 작업으로 복귀하여 계속 처리하는 것.인터럽트 당한 시점의 레지스터와 PC(Program Counter : 다음 번에 실행할 명령어

2021년 4월 19일
·
0개의 댓글
post-thumbnail

[OS] 캐시 메모리(Cache Memory)

ex1) CPU 코어와 메모리 사이의 병목 현상 완화ex2) 웹 브라우저 캐시 파일은, 하드디스크와 웹페이지 사이의 병목 현상 완화CPU가 주기억장치에서 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메

2021년 4월 19일
·
0개의 댓글
post-thumbnail

[OS] IPC(Inter-Process Communication)

Process는 독립적그렇기에 다른 프로세스에게 영향을 받지도 않는다.(스레드는 프로세스 안에서 자원을 공유하기에 영향을 받는다.)이런 독립적 구조를 가진 프로세스 간 통신 상황에서 가능하도록 해주는 게 IPC이다.프로세스는 커널이 제공하는 IPC 설비를 이용하여 프로

2021년 4월 18일
·
0개의 댓글