본문 바로가기

전체 글119

안드로이드 앱의 동작 원리 안드로이드 앱은 JAVA 언어를 이용하여 작성JAVA 컴파일러에 의해 JAVA 바이트 코드로 컴파일 됨안드로이드는 ART/Dalvic 이라고 하는 가상머신에서 바이트 코드를 실행함 안드로이드 SDK가 제공하는 DEX 변환기를 이용하여 바이트 코드를 Dalvik의 실행 포멧(.dex)로 변환한다..dex 파일과 리소스 파일들을 설치할 수 있는 .apk파일로 만들어진다. .apk 파일은 AAPT라는 개발도구로 이용하고 이를 패키징이라고 한다..apk 파일을 플랫폼에 설치하면 런타임에서 실행될 수 있다. 패키징컴파일된 XML 리소스 파일들은 resources.arsc 라는 파일로 생성된다.설정 환경을 정의하는 AndroidManifest.xml 파일이 생성된다. 최종적으로,언컴파일드 리소스(이미지, 아이콘 파.. 2025. 2. 24.
안드로이드 스튜디오 기본 구성 파일 및 폴더 명설명java/MainActivity.java스마트폰 화면을 구성하는 "엑티비티"를 정의하는 파일로 앱 실행 시 처음으로 "실행"되는 코드를 정의build/R.java(R 클래스/R.jar)앱이 동작하면서 "참조하는 자원"들의 ID(문자열, 이미지, 소리 등)가 정의된 파일res/drawable화면에 표시되는 이미지 파일이 저장되는 폴더res/layout/activity_main.xmlMainActivity.java에 대한 "레이아웃"을 정의하는 XML 파일 (화면구성)res/values/string.xml앱이 동작하면서 참조하는 문자열들이 정의된 파일AndroidManifest.xml앱에 대한 전반적인 정보를 담고 있는 파일로 앱의 구성요소나 권한 등을 정의 (마이크 접근 권한, 주소록 .. 2025. 2. 24.
운영체제란 - 유튜브 강민철 강사님 시스템자원프로그램이 실행되기 위해 마땅히 필요한 요소컴퓨터의 네 가지 핵심 부품 또한 자원이다.운영체제자원을 관리하는 특별한 프로그램실행 중인 프로그램(프로세스)을 관리하는 특별한 프로그램운영체제 또한 프로그램이기 때문에, 메모리에 저장되어있다.특별한 프로그램이기 때문에 특정 영역에 저장되어있는데, 이를 커널 영역이라고 한다. 운영체제는 커널영역에 저장되어 있고, 사용자영역에 있는 응용프로그램들을 관리한다. 운영체제는 자원(메모리) 관리의 역할을 한다.메모리의 어느 번지 주소에 이 프로그램을 적재시킬지 지울지 생명주기를 결정한다. (추가로 응용프로그램이 물리적 메모리 크기보다 크더라도 운영체제에서 페이징, 스와핑 등의 기술을 통해 실행 될 수 있게 한다.) 메모리에는 프로세스가 동시에 실행되어있다. 그러.. 2025. 2. 13.
컴퓨터 구조란 - 유튜브 강민철 강사님 컴퓨터 구조를 알게 되면,컴퓨터의 근간을 이해할 수 있다. 만약 컴퓨터 구조를 모르고, 프로그래밍 언어 문법만을 알고 있는 개발자라면, 같은 코드라도 동작하지 않는 다른 환경에 대응할 수 없다. 컴퓨터 소스가 가장 밑 단부터 어떻게 동작하는지를 알게 되고, 컴퓨터를 미지의 대상에서 분석의 대상으로 관점을 바꿀 수 있다. 컴퓨터를 관조하며 다양한 문제를 해결 할 수 있는 개발자가 되어야 한다. 컴퓨터 구조는 결국 성능, 용량, 비용에 대한 이야기이다. 컴퓨터가 이해하는 정보명령어 : 명령을 처리하는 기계, 컴퓨터를 움직이는 정보, 데이터는 명령어의 재료이다.데이터 : 텍스트, 동영상, 그림 등의 정적인 정보 1 과 2 를 더하라(데이터와 명령어) 개발자가 작성한 소스 코드 >컴파일> 명령어로 치환 ( 01.. 2025. 2. 13.
자바 스크립트 개인 학습 1. 기본 개념변수와 상수: 자바스크립트에서는 let, const, var를 사용하여 변수를 선언할 수 있다.let: 값을 변경할 수 있는 변수.const: 한번 할당하면 값을 변경할 수 없는 상수.var: 예전 방식으로 변수를 선언할 때 사용되지만, let과 const에 비해 호이스팅(hoisting) 특성이 달라 지금은 잘 사용되지 않는다.자료형:기본 자료형: 숫자(Number), 문자열(String), 불리언(Boolean), undefined, null 등.복합 자료형: 객체(Object), 배열(Array), 함수(Function) 등.연산자: 자바스크립트에서는 산술 연산자(+, -, *, /), 비교 연산자(==, !=, >, 배열:#선언let arr1 = [];let arr2 = new.. 2025. 2. 7.
오픈소스 API 통해 치지직 후원 메시지 처리 치지직은 공식적으로 API를 제공하지 않았다.하지만 비공식 API를 만들어두신 분이 계셨다.나는 상업적인 활동을 하지 않고, 개인적으로 만들 것이기 때문에, 사용할 수 있지 않을까 생각한다.https://github.com/kimcore/chzzk API 중 도네이션에 대한 부분 chzzkChat.on('donation', donation => { console.log(`>> ${donation.profile?.nickname ?? '익명의 후원자'} 님이 ${donation.extras.payAmount}원 후원`); }); 후원자가 희망하는 음성 필터를 어떻게 식별할 지에 대해 고민했다.후원 메시지에 #로봇 #아이처럼 식별해볼까 했지만TTS가 이 메시지를 읽어버리기 때문에 이모.. 2025. 2. 5.