Root

Svelte 그거 좋긴한데, 코드 생태계가 React보다 작아서 스벨트쓰긴 좀 이른 듯? 레딧, 트위터, 유튜브 댓글에 보면 이렇게 써진 글들을 볼 수 있다. 만약 여러 선택지를 주면, 사람들은 짜증 내고 혼란스러워 하고, 하는 소리라곤 "작은 생태계" 밖에 없다. 이게 진짠가? 대부분이 틀렸다. Svelte 생태계는 React 와 비교해도, 절대 작지 않다. Svelte는 UI component 라이브러리 개수가 적다는 말은 사실이지만, SkeletonUI, Flowbite Svelte, Svelte UI, DaisyUI등 충분한 라이브러리를 가지고 있다. 만약 더 많은 UI component 라이브러리를 원한다면, 바로 자신만의 라이브러리를 만들고 배포하면 된다. 그리고, 다른 사람들이 자신만의 라이..
서문 Rust에는 소유권이라는 개념이 있는데, 이는 Rust에만 존재하는 고유한 특성이다. 이 글에서는 소유권이란 것이 무엇인지 뿐만아니라, 어떤 상황에서 사용하는지, 왜 등장하게 되었는지 등 자세한 내용을 알아보겠다. 소유권이란? 메모리 공간을 OS에게 반납(drop)할 수 있는 권한 등장 배경 프로그램을 사용하다보면, 특정 메모리공간을 공유하는 일이 많다 => 왜? 엄청난 크기의 데이터를 복사하는 경우를 생각해보면, 데이터 자체를 통째로 복사하기 보다, ( deep copy 깊은 복사 ) 그 데이터가 저장된 주소를 대신 복사하는 방식이, ( shallow copy 얕은 복사 ) 메모리 공간을 절약하는데 도움이 된다. 또한, 메모리를 다 사용하고 나면 OS가 사용할 수 있도록 돌려주어야지 다른 프로그램..
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) ..
· Programming
메타 프로그램이란? 코드를 생성하는 코드 메타 프로그래밍이란? 코드를 직접 작성하지 않고, 코드를 생성하는 함수를 만들어 사용하는 것
checksum 이란? 데이터 전송, 저장 중에 에러가 발생하는 것을 감지하기 위해 사용하는 작은 크기의 데이터 블록 checksum 함수(function), checksum 알고리즘(algorithm) 이란? 체크섬을 만드는 절차
함수형 프로그래밍이란 ? 함수의 호출 방식을, Verb(동사) + Noun(명사) 형식으로 코드를 작성하는 것. ( 기존의 객체지향 프로그래밍은 Noun(명사) + Verb(동사) 형식으로 함 ) # example # 객체 지향 User.create(username, passcode); # 함수형 create(User); 장점 코딩의 자동화가 일정 수준까지 가능 ( 컴파일러 최적화 ) 코드가 간결함 ( 가독성 ) 논리가 명확함 ( 가독성 ) 상태관리가 편함 ( 불변성 - immutable ) 함수형 프로그래밍 언어 동사 + 명사 순서로 작성하도록 만들어진 프로그래밍 언어 Haskell Erlang Rust Elixir Clojure
MOONCO
'분류 전체보기' 카테고리의 글 목록 (3 Page)