전체 글
-
안드로이드 15 16kb 페이지 지원카테고리 없음 2026. 4. 10. 08:27
최근 안드로이드 16kb 페이지 크기를 대응해야 하는 상황이 있어 공식 문서를 보고분석을 해보겠다!1. 용어정리* ELF.so 파일(네이티브 라이브러리) 자체라고 생각하면 된다.즉, 네이티브 코드가 담긴 파일이고, 그 파일이 16kb로 올라올 때 정렬을 잘 맞춰서 다시 빌드해줘 한다.* TLBCPU가 가상 주소이고 실제 주소를 바꾸는 초고속 주소 캐시이다.4kb에서 16kb로 페이지를 키우면 TLB 한 개가 더 넓은 메모리를 커버하게 되고 TBL를 못 쓰는 상황이 줄어든다.* 메모리 페이지 크기os가 메모리를 몇 kb짜리 칸으로 쪼개 쓰느냐를 정하는 숫자이고, 16kb 페이지 크기를 그 값 중에서 1칸을 16kb로 키워서 쓰는 방식이다.2. 개요이전에는 Android에서 4kb 메모리 페이지 크기만 지원..
-
2025년에 난 뭘 했을까..?카테고리 없음 2026. 2. 9. 02:07
오늘은 25년에 나는 무엇을 했는지 회고하는 블로그를 작성해보려 한다.상반기 중반기 하반기 이렇게 3단계로 나눠서 이야기하겠다!1. 상반기(1월 ~ 4월)나는 2학년 때 포트폴리오와 이력서를 완성시켜 두고 방학 때 계속해서 피드백을 받아가며 수정하던 시기였다.겨울방학을 시작하자마자 태윤이와 주말을 제외하고 하루도 빠지지 않고 학교로 나와서 같이 공부하며 시간을 보냈다.(1달? 2달 정도) 방학에 매일 늦게라도 학교에 나오는 게 지금 생각하면 정말 귀찮을 것 같은데 그때는 어떻게 그렇게 했는지 모르겠다.. 때로는 학교에서 공부하다가 24시간 카페로 가서 또 공부를 하곤 했다.(정신력으로 버텼다..) 그냥 이때는 개발이나 공부나 모든 것이 재밌던 시기였다.이렇게 생활을 하다 보니 1차 포트폴리오와 이력서가 ..
-
로버트 C. 마틴 "Clean Code"를 읽어보여 느낀점 - part1카테고리 없음 2025. 11. 25. 18:27
이번 포스트에서는 로버트 C. 마틴의 "Clean Code"라는 도서를 읽어보며 느낀 점을 써보려 한다.1. "Clean Code"를 읽게 된 이유요즘 필자 본인은 학교에 있는 시간이 많아지면서 그동안 생각만 하고 읽어보지 못했던 도서들을 읽을 시간이 생겨 이번 기회에 많은 책들을 읽게 되었다.그중 하나가 로버트 C. 마틴의 "Clean Code"이다. 매일 아침에 하루 계획을 세울 때 하루 한 파트씩 읽기로 고정시켜 두고 계속해서 읽는 중이다.지금은 제11장 "시스템"까지 읽었다. 2. 제11장까지 읽으며 느낀 점 먼저 이해하기 어려운 파트들을 존재해서 읽는데 시간이 조금 오래 걸렸다.이번에는 제1장, 2장, 4장에 대한 이야기를 해보겠다. 제1장 - 깨끗한 코드깨끗한 코드는 단순히 동작만 하면 되는..
-
내가 만든 프로젝트를 구글 스토어에 올려보자! - part2카테고리 없음 2025. 9. 1. 20:48
오랜만에 블로그를 써보려 한다.이번 주제는 저번 "내가 만든 프로젝트를 구글 스토어에 올려보자! - part1 [블로그]"에 이어 part2를 작성해보려 한다.1. 비공개 테스트 완료??먼저 모두가 알다시피 비공개 테스트를 완료해야 다음 단계로 넘어갈 수 있다.하지만 필자 본인은 아쉽게도 2주 동안 진행한 비공개 테스트에 실패하였다.한동안 실패한 이유에 대해 생각하다 "진돕게(진짜 개발자는 개발자를 돕는다.)"라는 비공개 테스트나 다른 질문들에 대해서 질문과 답변을 주고받는 커뮤니티를 찾게 되어 들어가게 되었다.그러다? 해당 커뮤니티의 노션 페이지를 보게 되었다.이럴 수가.. 나는 항상 테스터 인원을 모을 때 학교메일(s000000@gsm.hs.kr)로 모으고 있었다..다시 학교메일이 아닌 일반 계정을 ..
-
접근 제한자 알맞게 사용하고 있니?카테고리 없음 2025. 6. 24. 11:57
우리가 보통 개발을 할 때 해당 언어의 접근 제한자의 사용에 대해서 고민해 보는 일이 생기게 될 것이다.그렇기 때문에 오늘은 안드로이드 개발에서 접근 제한자를 어떤 상황에 따라서 사용하게 되는지에 대해서 알아보겠다!1. 코틀린 접근 제한자 먼저 모두가 알듯.코틀린 접근 제한자의 종류는 public, private, protected, internal 이렇게 4가지가 있다. 각각 간단하게 알아보자면... 1.1) public모든 모듈 및 패기지에서 사용이 허용된다.즉, 가장 넓은 범위의 제한자이다. 1.2) private오직 선언된 클래스 안에서만 접근 가능하다. 1.3) protected상속받는 인터페이스, 클래스 또는 자식 클래스에서만 접근이 가능하다. 1.4) internal같은 패키지, 클래스 안의..
-
GC, 넌 누구야....카테고리 없음 2025. 6. 17. 19:51
오늘은 평소에 생각하지 않고 넘겼었던 GC(가비지 컬렉터)에 대해서 알아보도록 하겠다.1. GC가 뭐야?GC는 메모리 관리 기법 중 하나이고, 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 알아서 해제해 주는 기법이다.* 동적으로 할당했던 메모리 영역은 Heap 영역. -> 여기서 힙 영역은 애플리케이션 실행 중에 생성되는 객체 인스턴스를 저장하는 영역이다.* 필요 없게 된 영역은 어떤 변수도 가리키지 않게 된 영역을 의미. C나 C++ 같은 경우는 Heap 영역의 메모리를 관리하기 위해 코드 레벨에서 할당받고 해제를 해주어야 했다. 또한 할당받은 메모리 영역을 제대로 해제하지 않아 Memory Leak이 발생하기도 하였다. GC를 도입한다면 수동으로 메모리를 관리하던 것에 대한 에러를 해결..
-
프로젝트의 의존 관계와 그래프를 뽑아보자카테고리 없음 2025. 5. 7. 16:19
오늘은 Android Module 간의 관계를 그래프와 텍스트로 출력해 주는 Gradle 플러그인을사용하여 간단하게 프로젝트의 의존 관계와 그래프를 알아보도록 하겠다.1. 계기먼저 의존 관계에 대한 그래프를 뽑아보게 된 계기는..최근에 불필요한 중간 계층을 삭제하는 리팩터링을 하게 되었다. 하지만? 리팩터링을 한 이후에 잘 변경이 되었는지 각 모듈 간 의존 관계를 확인할 수 있는 방법이 없어 고민을 하다...의존 관계에 대한 그래프를 출력해 주는 플러그인을 사용하여 확인하면 좋겠다!라는 생각을 하여 사용하게 되었다. 2. 사용법 1. Root Project단의 build.gradle.kts 파일에서 plugins에 아래와 같이 코드를 입력해 준다.plugins { id("com.vanniktech..
-
내가 만든 프로젝트를 구글 스토어에 올려보자! - part1카테고리 없음 2025. 4. 29. 14:34
오늘은 지금 현재 본인이 진행 중인 구글 스토어에 앱을 배포하는 과정에 대해 말해보겠다.1. 구글 플레이 콘솔에서 계정 구매하기 구글 스토어에 본인이 개발한 앱을 올리기 이전에 먼저 구글 플레이 콘솔 계정을 구매해야 한다.여기서 주의할 점은 미성년자의 신분으로 결제나 계정을 생성하게 되면 추후에 진행할 본인인증과 같은 절차에서 제출해야 하는 서류에서 어려움을 겪을 수 있어 되도록이면 성인의 신분으로 계정을 생성하는 것을 추천한다. * 필자 본인은 담당 선생님이 대신 결제해 주셨다. 2. 본인인증하기 계정을 구매 후 생성이 되었다면.. 이제는 본인 인증을 해야 한다..필자 본인은 본인인증 부분에서 가장 애를 먹었다.그 이유는 본인임을 증명하기 위해 첨부해야 하는 서류들을 구하기 너무 어려웠기 때문이다.담..