본문 바로가기

전체 글

(103)
Android Base64 Decoding 🎉 개요 안드로이드에서 서버측에 이미지를 받는 과정에서 Base64로 인코딩하여 전달 받습니다. 이 과정에서 이미지 처리가 정확히 어떻게 이루지는 것인지 한번 알아보겠습니다. 🎉 이미지 전송 갤러리에서 가져온 이미지의 Uri를 절대 경로로 반환합니다. 상대 경로를 사용하는 이유는 상대 경로보다 절대 경로를 사용하는 것이 더 정확하다고 하네요! // 절대경로 변환 fun absolutelyPath(path: Uri, context : Context): String { val proj: Array = arrayOf(MediaStore.Images.Media.DATA) val c: Cursor? = context.contentResolver.query(path!!, proj, null, null, null) ..
[TEKHIT] 객체 지향 프로그래밍 출처 : Tekhit Android App School / Soft campus 윤재성 강사님 객체 지향 프로그래밍을 정확히 딱 이거다! 라고 이해할 수 있는 말을 찾지 못했는데 훌륭하신 강사님 덕에 드디어 명확하게 정의를 내릴 수 있게 되었습니다. 객체 지향 프로그래밍 (OOP, Object Oriented Programming) 이란 프로그램이 가져야 하는 다양한 기능이나 변수들을 객체라는 단위로 나눠서 관리하는 기법 📌 객체와 클래스 클래스 : 객체를 만들기 위한 설계도로 멤버 변수(Field)와 멤버 함수(Method)로 구성되어 있습니다. 객체 : 이 클래스를 바탕으로 만든 구현체 또는 클래스의 인스턴스 📌 객체의 생성과정 1. 코틀린 프로그램이 컴파일 되면 코틀린 컴파일러에 의해 Java By..
Anroid Jetpack [ ViewBinding ] [ 안드로이드 공식 문서 ] 뷰 결합 | Android 개발자 | Android Developers 뷰 결합 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정 developer.android.com 3년전 안드로이드를 처음 공부할 때 만 해도 findViewByID를 사용했던 기억이 납니다. 지금은 이를 대체하기 위한 아주 좋은 도구가 하나 생겼는데 그것이 바로 viewBinding 기법입니다. 📌 ViewBinding 이란 ? xml과 연결되는 바인딩 클래스가 자동으로 생성되어 이 클래스의 멤버로 해당 클래스가 가진 view들을 간편하게 참조할 수 있습니다. 바인딩 클래스는 정해..
자바 프로그램 실행 과정 및 기본 구조 📌 자바 프로그램 실행 과정 1. Java로 프로그래밍된 파일을 실행하면 자바 컴파일러가 Java Byte Code 형태의 .class 파일을 생성합니다. 2. JVM은 .class 파일을 메모리에 로드 시키고 인터프리터나 JIT 컴파일러에 의해 한줄씩 실행됩니다. 📌 Java Byte Code JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미합니다. 자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1 Byte라서 Java Byte Code라고 불립니다. 💡 Java complier는 JDK를 설치하면 bin 폴더에 존재하는 javac.exe를 말합니다. 📌 JVM Java Virtual Machine의 줄임말로 자바를 실행하기 위한 가상 머신으로 OS에 종속 받지 않고 CPU가 자바를 ..
프로세스와 스레드 📌 프로세스(Process)란? 프로세스란 하나의 실행 중인 프로그램을 뜻합니다. 먼저 MS Word 프로그램을 실행한다고 가정해 보겠습니다. 프로그램을 실행하면 운영체제의 프로세서가 하나의 인스턴스를 생성하는데 이 것을 Process라고 하며 이 일련의 과정을 하나의 Task라고 표현합니다. 이때 다수의 Task를 수행하는 것을 Multi Tasking이라고 합니다. 프로세스는 독립적으로 실행되고 커널로부터 자원을 할당받습니다. 각각의 고유한 프로세스 아이디(PID)를 가집니다. 📌 프로세스(Process)의 구조 프로세스를 실행하기 위해선 코드 데이터를 메모리에 올려 실행시켜야 합니다. 프로세스마다 고유한 가상 메모리 공간을 가지고 있는데 이 공간은 4개로 나눌 수 있습니다. STACK 영역 함수, ..
나도 할 수 있다 REST API 채용 공고를 보면 REST에 대한 내용이 정말 많습니다. 그래서 저도 정말 많이 찾아봤는데 처음엔 도통 무슨 말인가 이해가 하나도 되질 않았습니다. 안드로이드에서 Retrofit으로 서버와 통신을 할 때 도, 심지어 그 서버를 내가 만들어 놓고도 REST 방식인지도 몰랐습니다. 그래서 저 같은 사람도 쉽게 이해할 수 있도록 제 방식대로 쉽게 풀어보고자 합니다. 📌 REST 의 정의 우선 REST가 뭔지 검색을 해보면 대개 이렇게 설명을 합니다. REST는 "Representational State Transfer"의 약자로, 자원을 URI(Uniform Resource Identifier)로 표현하고 해당 자원의 상태를 주고 받는 웹 아키텍처 스타일입니다. HTTP 프로토콜을 기반으로 하며, 클라이언트와..
[TEKHIT] 기본 문법 출처 : Tekhit Android App School / Soft campus 윤재성 강사님 Tekit Android App School의 2일차까지의 내용을 정리하는 글입니다. 사실 이 과정을 할까 말까 고민을 정말 많이 했습니다.🤔 교육 과정에 Jetpack이나 Coroutine에 대한 내용이 없고 내가 못봤나? 다른 국비 과정을 수료한 친구는 그냥 인프런 강의만 떤져줬다고 ... 게다가 5년에 한 번 하는 과정인데 사실상 저 한탠 마지막인... 막상 수업을 들어보니까 듣길 너무 잘한거 같아요 ! 제가 원하는 교육 과정도 다 들어있고 무엇보다 과제가 많은게 너무 좋았어요! 운영진 스탭 분들도 질문 올리면 거의 10초만에 대답해주시고 강사님 교육 방식도 저한태 딱 맞는 스타일이더라구요 😁 Kotlin..
Android LayoutInflater 제가 안드로이드를 처음 시작했을 때는 용어를 이해하는게 제일 힘들었습니다. Context, Activity, Intent, Coroutine 등등... 처음엔 저도 뭐가 뭔지도 모르고 그냥 막 했던 기억이 나네요... 곧 있을 면접을 준비하면서 안드로이드의 기본적인 요소를 하나 하나 다 뜯어보고 있습니다. 그러면서 느낀게 제가 처음엔 이해 못했던 용어들이 이제는 다 이해가 되는겁니다. 그 동안 나 열심히 했구나 ㅠㅠ 내가 한게 틀린게 아니었어 잘했어😭 😭 😭 😭 심지어 면접 보는 회사 본사가 판교에 위치했습니다. 판교라니... 판교라니... 제 평생의 꿈이 판교에 있는 회사에서 일하는 건데 지금 제 실력으론 면접을 보는거 자체가 너무 영광인지라 가슴이 두근 거립니다 🤗🤗 합격하면 평생 꿈을 이루는거라 너..