Programming

checksum 이란? 데이터 전송, 저장 중에 에러가 발생하는 것을 감지하기 위해 사용하는 작은 크기의 데이터 블록 checksum 함수(function), checksum 알고리즘(algorithm) 이란? 체크섬을 만드는 절차
함수형 프로그래밍이란 ? 함수의 호출 방식을, Verb(동사) + Noun(명사) 형식으로 코드를 작성하는 것. ( 기존의 객체지향 프로그래밍은 Noun(명사) + Verb(동사) 형식으로 함 ) # example # 객체 지향 User.create(username, passcode); # 함수형 create(User); 장점 코딩의 자동화가 일정 수준까지 가능 ( 컴파일러 최적화 ) 코드가 간결함 ( 가독성 ) 논리가 명확함 ( 가독성 ) 상태관리가 편함 ( 불변성 - immutable ) 함수형 프로그래밍 언어 동사 + 명사 순서로 작성하도록 만들어진 프로그래밍 언어 Haskell Erlang Rust Elixir Clojure
결과 Details Dotfiles: here WM: yabai Color Scheme & Theme : Dracula Fetch: Neofetch Bar: simple-bar here Term: Alacritty Chrome Startup: nightTab System Monitor: btop Prompt: starship App Launcher: ueli Code Editor : DoomEmacs & VSCode Webpage Theme: Stylus Matrix: cmatrix 기능 리스트 Dotfiles - 설정 파일 모음 WM - Window Manager, 화면 맨위의 상태바, 화면 조절 Color Scheme & Theme - 색상, 테마 선택 Fetch - 터미널에서, 현재 시스템 정보를 ..
Install 저는 아래 게시글 중간에, minimal로 설치했습니다. How to Install Asahi Linux on Your M1 Mac - Make Tech Easier Asahi Linux is the first Linux distro to run natively on M1 Macs. It lets you dual boot macOS and Linux on your Mac with an M1 series chip. www.maketecheasier.com 비밀번호 of Initial Asahi Linux # 사용자 / 암호 root / root alarm / alarm Set Sudoer ( sudo 명령어 권한부여 ) # root 계정으로 로그인후, 진행합니다. # visudo 편집기 사용..
프로세스 vs 스레드 ( 모든것은 상대적임 ) 프로세스 스레드 크기 큼 작음 ( 프로세스 속에 들어있음 ) 에러 발생시 자기만 에러 남들 까지 에러 ( 스레드 ) 작업 변경 속도 ( Context Switching ) 느림 빠름 동시 작업 난이도 쉬움 어려움 논의할 점 여러개의 스레드를 써야하나, 여러개의 프로세스를 써야 하나? 프로세스 동시 작업 OS가 프로세스마다 자원 나눠줌 ( 할당 ) 근데 나눠주는데 시간 오래걸림 ㅋㅋ ( Context Switching ) 그럼 스레드를 써볼까? 스레드 동시 작업 하나의 자원에, 여러개의 스레드가 동시에 접근하면 안된다 그래서 그런 일이 일어나지 않도록, 한번에 하나의 스레드만 접근가능하도록 제한 하는 것을 "동기화" 라고 부른다. 근데 접근을 제한한다는 것은 ..
오버헤드란? 작업을 수월하게 진행하기 위한 준비 작업들 오버헤드가 과다하다? 중요한 일을 하는 시간에 비해, 준비작업을 너무 많이 하는 경우를 뜻한다
컴퓨터는 멀티 태스킹을 하는게 아니다? [ 멀티 태스킹 == 여러가지 일을 동시에 ] 컴퓨터(CPU)는, 여러가지일(Process)을 아주 조금씩 번갈아가면서 처리한다. 1번 > 2번 > 3번 ..... 다시 1번 > 2번.... 그러므로, CPU를 하나만 사용하는 싱글 코어 시스템에서는, 진정한 멀티 태스킹은 없다. 하지만, 현재는 반도체 크기를 줄이는데 거의 한계점에 다다르었으며, ( 3나노미터 공정 ) CPU의 코어수를 늘리는 방향으로 나가가고 있다. ( 이제 기본이 거의 8코어 .. ) Context Switching 위에서, 컴퓨터(CPU)가 다음작업(Process)으로 넘어가는 행위를 뜻한다 이후에 일어나는 일 다음 프로세스의 정보를 불러오기 위해 메모리 검색 CPU 캐시 메모리 초기화 프로세..
· Programming
[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 ..
· Programming
해당 내용을 이해하려면, 어셈블리와 레지스터에 관한 지식이 필요합니다 [프로그래밍] 어셈블리어, 어셈블러란? ( feat.레지스터 ) 기계어는 0과 1로 이루어졌기에, 간단한 프로그램도 코드가 매우길고, 읽기도 힘들다. 코드의 길이를 줄이고, 사람이 읽기 편하게 "어셈블리어"를 만들었다. 👉 어셈블리어 기계어를 사람이 읽 defineall.tistory.com 목적 운영체제가 하는 역할에 대해서 이해함으로써, C, Rust, Zig같은 고급언어의 장단점을 확실히 알 수 있고, 해당 언어를 어떤 방식으로 사용해야하는지 아는 것! 부트로더란? 컴퓨터가 맨처음 실행하는 프로그램 특징 512 byte로 이루어져 있다. 마지막 2byte는, 무조건 0x55aa 로 끝난다. 부트로더 만들기 ( x86 어셈블리 ) ..
MOONCO
'Programming' 카테고리의 글 목록 (2 Page)