Programming
Firmware 란?운영체제(OS) 없이, 기기(Hardware)를 직접 다루는 프로그램을 코딩하는 분야특정 목적에 특화된 (Embedded) 개발분야에 자주이용한다 MCU 란?Micro Controller Unit작은 CPU, 주로 PCB(Printed Circut Board)에 붙여 전자회로와 같이 구성한다 Board 예시 - STM32STMicro 사에서 제작한, MCU + PCB + 전자회로가 합쳐진 기기실제 예시를 보고싶다면, 해당 제품을 검색해보길 추천한다. 개발기초Firmware를 개발하려면, 주로 2가지 문서를 보게된다 DatasheetBoard의 전반적인 구성, 기능, 작동방식이 나와 있다.(전원, Clock 설정등, 전자 전기 기초지식이 부족하다면 이해가 어려울 수 있으나, 필수적이다)..
Pass: The Standard Unix Password Manager Introducing pass Password management should be simple and follow Unix philosophy. With pass, each password lives inside of a gpg encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be www.passwordstore.org Pass 란? UNIX 기반 운영체제에서 사용가능한 안전한, 비밀번호 관리 프로그램 사용법 1. 리스트 보기 pass 2. 비밀번호 추가하기 ..
런타임이란? ( 런타임 환경이란? ) 우리가 사용하는 프로그래밍 언어중 일정부분을, 컴파일 시간에 기계어로 변환하지 않고 프로그램이 실행되는 동안 기계어로 변환(컴파일)하는 시스템 javascript가 실행중에, 코드를 컴파일 - 런타임 : browser, Node.js..
👉 namespace 란? 변수나, 함수의 이름을 저장해 모아놓은 공간 👉 필요성 (목적) 변수나, 함수의 이름이 같아서, 이를 구분하고 싶을때, 같은 이름이나, 다른 곳에 존재한다는 사실을 알려주어야 한다. 같은 이름이여도, 다른 namespace에 존재하므로, 컴퓨터가 이를 구분해 올바른 작업을 한다.
attempt : 시도하다 arguments : 인수 (매개변수에 전달되는 값) abbreviate : 축약하다 address : 해결하다 (동사로 쓰는 경우) adjust : 조절하다 acquire : 얻다 absent : 존재하지 않는, 없는 annotation : 주석 aspect : 인공물, 기능 bind : 메모리 주소와 연결한다 boilerplate : 자주 사용하는 문장구 (상용구) concise : 간결한 concrete : 구체적인 corresponding : 일대일로 대응하는, 적합한, 맞는 conventional : 일반적인 ( ex : 코딩 컨벤션 ) comprehensive : 넓은의미의, 포괄적인 comprise : 구성하다 consider : 간주하다 contiguous : 가..
상수란? ( 프로그래밍에서 ) 컴파일 타임에 값이 정해지는 변수 상수의 특징, 활용 과정 1. 컴파일 시작 2. 상수 값을 계산하고, 이진수 (bytecode)로 바꿈 3. 값을 파일에 저장 4. 이후 절대 안변함 5. 실행 환경에서, 값을 가져다 씀 (read only) 상수를 사용하는 이유 개발자가 저장된 데이터를 쉽게 이해할 수 있도록 해준다. 유지보수를 편하게 해준다. ( ex => 1시간을 초단위로 표현 => 60 * 60 * 60 => 216,000 ) 실제로 216000이라는 숫자를 사용하고 싶지만, 코드에서는 60 * 60 * 60 이라고 작성하는 것이 이해하기 쉽고, 그렇다고 해서, 실제 프로그램이 실행될 때(runtime), 이 계산을 해버리면 불필요한 연산이 되어버리므로 컴파일 타임에..
불변성이란? 메모리에 한번 저장한 정보가, 삭제될때까지 변하지 않는 특징 불변성이 필요한 이유는? "불변성이 필요하다"는 말의 의미는 "변하면 안된다"와 동일하기 때문에, 메모리에 한번 저장한 정보가, 삭제될때까지 무한정 변할 수 있을때 발생하는 문제를 살펴보면 거꾸로 불변성의 필요를 알 수 있을 것이다. 문제 변하지 않아야하는 값이, 실행중(runtime)에 변한다. 변하지 않아야 하는 값: 게임 - 몬스터 레벨, 레벨당 레벨업 경험치 물리 - 중력 가속도, 원주율 원인 개발자가 프로그램을 잘못 작성했다. => 변하지 않아야 하는 값을 변경하는 코드를 작성했다. 결과 "많은 시간"을 들여, 컴파일과정을 모두 거침 => 실제 실행환경에서 에러가 "드물게" 발생 개발자가 오류를 수정하기는 커녕, 존재자체를..
최근에 디아블로4가 새로나와서 친구들과 간간히 하고 있는데 집에 있는 데스크탑을 사용하기에는 그래픽카드가 후달려서,(gtx760..) 데스크탑을 고민중이였다. 근데 이번 애플 개발자회의 WWDC에서 GAME porting Toolkit 이라는게 발표되면서, 상황이 급변했다 ㅋㅋㅋ 게임 포팅 툴킷을 이용하면, 맥북에 Direct X12?을 설치할 수 있게 해주는데, 이 덕분에 기존에 불가능했던 Window 게임을 Mac에서 할 수 있게 되어버렸다. 주의사항 아직 정식으로 출시된 기능이 아니라서, 안정을 책임지지는 못하지만 Ventura 13.4 버전 기준으로 설치를 해보도록 하겠다. * 주의 : Steam 게임을 하고 싶으면, Sonoma OS (beta) 를 사용해야한다고 한다. (2023.07.08) ..
메타 프로그램이란? 코드를 생성하는 코드 메타 프로그래밍이란? 코드를 직접 작성하지 않고, 코드를 생성하는 함수를 만들어 사용하는 것