본문 바로가기

Occhiolism96

동적 메모리 할당 (Dynamic Allocation) | 스택(Stack) vs 힙(Heap) 동적할당이란 ? 컴퓨터 프로그래밍에서 실행 중(런타임)에 사용할 메모리 공간을 할당하는 것 프로그램이 실행 되기 전 컴파일 시점에서 주로 소스 코드를 읽고 메모리 공간을 확보한다. 이를 정적 할당 (static allocation)이라고 한다. 동적 할당이란 컴파일 타이미 아닌 프로그램이 실행되는 중인 런타임에 필요한 만큼의 메모리 공간을 확보하는 것을 의미한다. 동적 할당을 해주면 적절한 메모리 할당을 통해 메모리 공간을 효율적으로 사용할 수 있다. 또한 다 사용했을 때 free 시켜줌으로써 메모리 공간을 헤제해 주어 한정되 메모리 공간을 효율적으로 사용할 수 있게 된다. Thread Stacks 1 thread 당 1 stack. thread에서만 사용되는 정적 데이터/메소드/함수프레임/포인터/객체 .. 2023. 12. 12.
[TIL • 20231211] #19 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 안드로이드 구성에 대해 공부했다. 메니페스트 파일은 앱의 기본 구성 요소 인 액티비티, 서비스, 앱 이름 그리고 앱 아이콘 등을 추가하 줄 수 있는 파일이다. 또한 앱 제체의 테마 스타일도 지정해 줄 수 있다. 참고로 액티비티를 추가해 줄 때마다 메니페스트 파일에 추가해 주어야 한다고 한다. 리소스 파일: 들어가는 사진, 레이아웃, 아이콘, 색깔, 문자열 등등 파일에 들어가는 자료들을 종류에 따라 모아놓은 파일이다. 기능이 구현되는 코드의 가독성을 높여 주기 위해 공통되는 특징이나 추가 자료들을 따로 모아놓은 파일이다. build.gradle : 최상위 파일로서 모듈에 적용되는 빌드 구성을 정의한다. View: 안드로이드 앱의 UI (User Int.. 2023. 12. 11.
[프로그래머스 - 코틀린] 내적 #70128 (dot product) #70128 🎄 Question ? https://school.programmers.co.kr/learn/courses/30/lessons/70128 class Solution { fun solution(a: IntArray, b: IntArray): Int { var answer: Int = 1234567890 return answer } } 🧩 Thought Process 인덱스가 같은 두 배열을 곱한 새로운 배열 만들기 새로 만들 배열의 sum() 구하기 🎀 Answer class Solution { fun solution(a: IntArray, b: IntArray): Int { var answer = 0 for (i in 0 until a.size) { answer += a[i]*b[i] } r.. 2023. 12. 11.
[TIL • 20231208] #18 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 너무 과제에 몰두하다 보니까 기록의 중요성을 조금 간과한 한 주였던 것 같다. 기능을 추가할 떄마다 커밋을 해주는 것 과 추가한 기능에서 배운 것들을 기록하는 것을 잊지 말아야 겠다. 오늘은 배열을 정의 하는 방법을 정말 정확하게 이해해주었다. 콜랙션이름(이름 소문자로 시작)Of라고하면 콜랙션을 만들어주고 그 안에 값도 바로 초기화 시켜주는 것이고 콜랙션이름(이름 대문자로 시작) 형태로 정의해주면 텅 빈 콜랙션을 만들어주는 것이니 혼동없이 사용해주어야겠다. 또한 파일을 중첩적으로 추가해서 장바구니에 메뉴를 추가한 후에는 장바구니 확인 및 주문하기 버튼이 뜰 수 있도록 메뉴 디렉토리를 하나더 만들어서 이 두 옵션을 추가해주었다. 이번 주말에는 작성했던.. 2023. 12. 8.