Root

컴퓨터는 멀티 태스킹을 하는게 아니다? [ 멀티 태스킹 == 여러가지 일을 동시에 ] 컴퓨터(CPU)는, 여러가지일(Process)을 아주 조금씩 번갈아가면서 처리한다. 1번 > 2번 > 3번 ..... 다시 1번 > 2번.... 그러므로, CPU를 하나만 사용하는 싱글 코어 시스템에서는, 진정한 멀티 태스킹은 없다. 하지만, 현재는 반도체 크기를 줄이는데 거의 한계점에 다다르었으며, ( 3나노미터 공정 ) CPU의 코어수를 늘리는 방향으로 나가가고 있다. ( 이제 기본이 거의 8코어 .. ) Context Switching 위에서, 컴퓨터(CPU)가 다음작업(Process)으로 넘어가는 행위를 뜻한다 이후에 일어나는 일 다음 프로세스의 정보를 불러오기 위해 메모리 검색 CPU 캐시 메모리 초기화 프로세..
[Elixir] Elixir 란? / 사용법 Elixir 란? erlang(얼랭) 이라는 어려운 언어에서, 좋은점만 쏙쏙빼서 간단하게 만든 프로그래밍 언어 필요성 erlang의 장점을 가져온 결과, 어마무시하게 많은 일을 동시에 처리할 수 있다 ( 동시성 ) defineall.tistory.com Phoenix란? Elixir로, 웹 개발을 쉽게 만들어주는 도구 ( 웹 프레임워크 ) 환경 구성 / 설치 Elixir는, Erlang 가상머신에서 동작하므로, Phoenix에도 설치되어 있어야 합니다. ( 1.14 버전 이상 / 이전 게시글 참고 ) # hex 패키지 관리자 설치 mix local.hex DB 연동 공식 홈페이지에서 권장하므로 PostgreSQL을 선택 ( 다른 것도 사용 가능 ) Elixir..
· OS
[OS] 운영체제 만들기 / (1) 부트 로더 해당 내용을 이해하려면, 어셈블리와 레지스터에 관한 지식이 필요합니다 [프로그래밍] 어셈블리어, 어셈블러란? ( feat.레지스터 ) 기계어는 0과 1로 이루어졌기에, 간단한 프로그램도 코드가 매 defineall.tistory.com BIOS 란? 컴퓨터의 기본 입출력 시스템으로, 메인보드 안쪽 메모리에 설치되어 있다. Basic Input Output System 기능 하드웨어 상태 검사 HDD에 접근, 부트로더 실행 ( 이전 게시글 참고 ) BIOS 사용법 문자 출력하기 # 문자(char) 출력 모드(0x0e)로 변경하기 mov ah, 0x0e # 출력할 문자 저장하기 ( 10,2,16 진수 가능 ) mov al, 65 # 출력하기 - interupt ..
· OS
해당 내용을 이해하려면, 어셈블리와 레지스터에 관한 지식이 필요합니다 [프로그래밍] 어셈블리어, 어셈블러란? ( feat.레지스터 ) 기계어는 0과 1로 이루어졌기에, 간단한 프로그램도 코드가 매우길고, 읽기도 힘들다. 코드의 길이를 줄이고, 사람이 읽기 편하게 "어셈블리어"를 만들었다. 👉 어셈블리어 기계어를 사람이 읽 defineall.tistory.com 목적 운영체제가 하는 역할에 대해서 이해함으로써, C, Rust, Zig같은 고급언어의 장단점을 확실히 알 수 있고, 해당 언어를 어떤 방식으로 사용해야하는지 아는 것! 부트로더란? 컴퓨터가 맨처음 실행하는 프로그램 특징 512 byte로 이루어져 있다. 마지막 2byte는, 무조건 0x55aa 로 끝난다. 부트로더 만들기 ( x86 어셈블리 ) ..
[Rust] Rust란? Rust 란? 서버, 클라이언트 프로그램을 만들기 위한 프로그래밍 언어 ( with Mozilla ) 특징 & 필요성 1. Null Safety ( 에러 초기 감지 ) 모든 변수는 초기값을 가져야만 한다 ( 없으면 컴파일 에러! ) - C 언 defineall.tistory.com 목적 Rust 가 다른 언어와 다른 점이 무엇인지 살펴보고, 어떤 장단점을 가졌는지 이해하여, 필요한 분야를 파악하고, 알맞은 곳에 사용할 수 있도록 한다. Rust의 변수 기본적으로 변수는, 아직 정해지지 않은 수를 의미한다. Rust에서도, 변수가 존재한다. 하지만 Rust는, "상수화된 변수" 라는 새로운 형식을 "기본"으로 사용하고, 기존의 변수는 "보조" 로 사용한다. fn main() { /..
· Languages
Zig 란? 숨겨진 제어 숨겨진 메모리 할당 숨겨진 전처리기 숨겨진 매크로 이 모든 숨겨진 것들을 없앤 프로그래밍 언어! 필요성 작고 간단하다. var a = b + c.d; foo(); bar(); # C++,D,Rust 에는 "오버로딩"이 존재, + 연산자가 함수 호출 가능 // Zig 는 불가능 # C++,D,Go 에는 throw/catch가 존재, foo()에서 예외처리(throw)를 하고, bar() 호출 방지 // Zig는 호출 Zig에서, "보이는게 전부이다." Zig는 모든 제어 흐름이 "언어 키워드, 함수 호출" 로만 관리된다 - 가독성 좋음(이해하기 쉬움), 유지보수 좋음 그럼 에러는 어떻게 관리함?? 여러 빌드 모드 사용 에러를 어디까지 볼것인지, 선택가능! - Zig는 모든 에러를,..
Elixir 란? erlang(얼랭) 이라는 언어에, 평소에 자주쓰는 좋은기능들을 추가한 프로그래밍 언어 필요성 erlang의 장점을 가져온 결과, 어마무시하게 많은 일을 동시에 처리할 수 있다 ( 동시성 ) 기존의 erlang은, 가독성이 좋지 않아 배우기가 쉽지 않은데 반해 ( 러닝커브 높음 ) elixir는 가독성이 좋고, 간단한 구조를 추구하므로, ( 러닝커브 낮아짐! ) 한 프로그램의 오류가, 다른 프로그램에 미치는 일이 매우 적다 ( 의존성 문제 적음 ) 의존성이 적으므로 (위의 내용), 확장성이 뛰어나다! 사용처 프론트엔드부터, 백엔드까지, 전부 Elixer 하나 만으로 구현할 수 있다!!! ( 최근 우리나라 한국축산데이터에서 올린 유튜브영상이 있다. ) Elixir의 특별한 점 = 연산자의..
Doom Emacs 문서 편집기에 거의 모든기능을 쳐 때려박아 넣은 프로그램 기본적으로 VIM 단축키를 사용 설치하기 MacOS 의존성 라이브러리 # required dependencies brew install git ripgrep # optional dependencies brew install coreutils fd # Installs clang xcode-select --install 이맥스 플러스 brew tap d12frosted/emacs-plus brew install emacs-plus ln -s /usr/local/opt/emacs-plus/Emacs.app /Applications/Emacs.app 둠 git clone --depth 1 https://github.com/doomema..
three.js 란? 웹 페이지에서, 3d 모델을 렌더링할 수 있게 해주는 javascript 라이브러리 Three.js – JavaScript 3D Library threejs.org Solid App www.logosevens.com 필요성 3D공간 인테리어, 3D제품 소개 등등 눈에 확띄고, 웹 사이트에서 더 다양한 경험을 할 수 있도록 해줌 ( 진정한 반응형이 되어가는..! ) 아이디어 3D 작업 프로그램의 용량이 높은 것으로 알고 있는데, 웹 사이트에서 3D작업을 진행한다면 더 효율적이지 않을까? 속도가 중요할 것 같다. 일반 사용자들에게 3D작업을 쉽게 해주는 툴? 실시간 동시 3D 작업??? 게임 호텔 내부 공간 확인 가능한 사이트..! 제품 맞춤 생산 사용자가 사이트에서 직접 제품을 바꿔가..
MOONCO
'분류 전체보기' 카테고리의 글 목록 (4 Page)