일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 자바스크립트
- 소켓
- 프로그래머스
- type challenge
- Node.js
- Nestjs
- Algorithm
- 크롤링
- 그래프
- javascript
- HTTP
- 백준
- 타입 챌린지
- typescript
- ip
- HTTP 완벽 가이드
- dp
- dfs
- Crawling
- BFS
- 수학
- 알고리즘
- TCP
- 가천대
- 문자열
- 쉬운 문제
- socket
- 타입스크립트
- 레벨 1
- 프로그래머스 레벨 2
- Today
- Total
목록2024/03 (18)
kakasoo
// main.rs fn main() { println!("Hello, world!"); } 함수의 호출은 위와 같이 작성해서, 다른 프로그래밍 언어와 다르지 않다. 앞서 ‘println!’을 따로 설명하지 않고 넘어갔는데 이는 함수가 아니라 러스트에서는 매크로라고 부르는 대상이다. 매크로는 메타 프로그래밍의 줄임말로 더 많은 코드를 작성하는 코드 작성의 한 가지 방법이라고 한다. 함수 시그니처는 이 함수가 받는 매개변수와 타입 ( = 데이터 유형 )을 반드시 명시해야 하는데, 매크로는 매번 다른 개수의 매개변수와 타입을 받을 수 있도록 작성하는 것이다. 단점은 매크로를 정의하는 게 함수보다 더 복잡하다는 점이 있지만 범용적으로 사용가능한 좋은 기능이다. fn main () { println!("Numb..
바이너리에 대한 메모리 레이아웃 fn main() { let a = 2; let result = stack_only(a); dbg!(result); } fn stack_only(b: i32) -> i32 { let c = 3; return b + c + stack_and_heap(); } fn stack_and_heap() -> i32 { let d = 5; let e = Box::new(7); return d + *e; } main : 함수의 진입점으로, 여기서부터 프로그램이 시작된다. i32 : 32비트 정수를 의미한다. Bow::new(7) : 러스트의 스마트 포인터 타입 이 코드를 해석하기 위해 일단 gdb를 설치하자. gdb는 GUI 환경에서 debugging을 도와주는 도구로, homebrew..
모던 언어 Modern languages 변수들은 기본적으로 불변입니다. 타입 추론을 합니다. 타입 세이프티를 강조합니다. 반환 유형을 가진 함수를 사용합니다. 여러 프로세스, 스레드에서 동시에 실행될 수 있는 쉬운 방법을 제공합니다. 프로세스간 통신을 위한 쉬운 방법을 제공합니다. 함수형 프로그래밍을 강조합니다. 세미콜론을 끝에 필요로 하지 않습니다. REPL을 제공합니다 (컴파일 없이 즉석에서 코드를 실행해서 바로 결과를 알 수 있는 방식) 대부분을 정적 타입으로 선언합니다. 복잡하고 장황하지 않은 깨끗하고 우아한 구문을 가지고 있습니다. 일반적으로 모던 언어라고 하면 말하는 장점들은 위와 같다. 모던 시스템 프로그래밍 언어 Rust는 런타임이나 가비지 컬렉터 없이도 엄청나게 빠르고 효율적인 메모리를..
type Split = T extends `${infer FirstLetter}${infer Rest}` ? [FirstLetter, ...Split] : []; type StringLength = Split['length']; type Push = [...T, P]; type NTuple = P['length'] extends N ? P : NTuple; type Add = [...NTuple, ...NTuple]['length']; type ToNumber = T extends number ? T : never; type RemoveFirstLetter = T extends `${infer F}${infer Rest}` ? Rest : ''; type FindAll = P extends '' ? []..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCJKHZ/btsGoc52Mrf/QKEXYamirio70tvnMvsuJK/img.jpg)
리드, 핵심이 되는 메시지 문제는 지역 신문에 지역 사람들의 이름이 충분히 실리지 않는다는 것이다. 지면을 채울 이름들만 충분하다면, 나는 기꺼이 발행 지면을 두 페이지 늘리고 식자공을 두 명 더 고용할 것이다. 지역 중심을 이루기 위해서라면 신문이 지루해져도 상관없다. 만일 가 오늘 석간에 던 마을 전체의 전화번호부를 인쇄한다면, 나는 주민들의 절반 이상이 의자에 앉아 자기 집 전화번호가 있는지 훑어볼 것이라고 확신한다. - 스틱 78p 머리를 띵하게 만드는 구간은, 신문에 온통 전화번호만 출력해서 내보내더라도 절반이 볼 거라는 통찰력이었다. 노스캐롤라이나주의 던이라는 마을은 인구가 1만 4천명 정도인데 지역 신문 구독률이 112%라고 한다. 이 수치는 신문을 2부 이상 읽는 가구가 있거나, 해당 지역..
최초의 풀이와 오답 type Int = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0'; type February = '02' type MonthsHasDays30 = '04' | '06' | '09' | '11'; type MonthsHasDays31 = '01' | '03' | '05' | '07' | '08' | '10' | '12'; type Months = February | MonthsHasDays30 | MonthsHasDays31; type Days = Exclude type DaysByMonth = T extends February ? Exclude : T extends MonthsHasDays30 ? Exclude : Days ty..