일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Operating System
- 데이터 통신
- Python
- Python challenge
- 자바
- 러스트
- 파이썬
- java
- 오라클
- OS
- 우분투
- 자바 개념
- 파이썬 챌린지
- 백준 러스트
- 러스트 예제
- 데이터베이스
- 자바 기초
- 파이썬 첼린지
- Rust
- Reversing
- 오라클DB
- ubuntu
- 백준
- 운영체제
- Database
- 러스트 프로그래밍 공식 가이드
- 파이썬 알고리즘
- C
- data communication
- 알고리즘
- Today
- Total
목록Development Study/Rust (43)
IT’s Portfolio
🦀 Rust Day 23 🏳️ More About Cargo and Crates.io 1️⃣ 릴리즈 프로필을 이용한 빌드 커스터마이징 개발자들이 코드의 컴파일을 더 상세히 제어할 수 있도록 다양한 설정의 커스터마이징이 가능한 프로필이 준비되어 있음 각 프로필은 서로 독립적 구성 카고에는 두 개의 주 프로필 cargo build : dev 프로필 개발 과정에 적합한 기본 설정을 갖춤 cargo build --release : release 프로필 릴리즈용 빌드를 위한 기본 설정을 갖춤 [profile.dev] opt-level = 0 [profile.release] opt-level = 3 dev와 release 프로필의 기본 opt-level 설정 러스트가 코드에 적용할 최적화 수준을 지정하며 유효한 범..
🦀 Rust Day 22 🏳️ Functional Language Features: Iterators and Closures Closures : 변수에 저장할 수 있는 함수 형식의 구조 Iterators : 일련의 원소들을 처리하는 방법 1️⃣ 클로저: 주변 환경을 캡처하는 익명 함수 변수에 저장하거나 다른 함수에 인수로 전달하는 익명 함수(anonymous functions) 일반 함수와 달리 클로저는 자신이 정의된 범위 내의 값들을 '캡처(capture)'함 🤔 클로저를 이용한 동작의 추상화 fn simulated_expensive_calculation(intensity: u32) -> u32 { println!("시간이 오래 걸리는 계산을 수행 중..."); thread::sleep(..
💻 The Elements of Computing System - 4 🤔 기계어 프로세서와 레지스터들을 이용해서 메모리를 조작할 수 있도록 미리 정의된 규칙 대상 하드웨어 플랫폼에서 직접 명령 실행 및 하드웨어 완전 제어가 목적 메모리 : 컴퓨터에서 데이터와 명령어를 저장하는 하드웨어 장치 프로세서 : CPU라고 불리는 프로세서는 미리 정해진 기초 연산들을 수행하는 장치 메모리와 레지스터에 있는 2진 값을 피연산자로 두고, 연산을 출력값은 선택된 메모리 주소나 레지스터에 저장됨 레지스터 : 항상 CPU와 거리가 있는 메모리와 데이터를 주고 받기에는 시간이 상대적으로 많이 걸리기 때문에 대부분의 프로세서는 값을 하나 저장할 수 있는 레지스터를 바로 옆에 여러 개 두고 있음 🤔 언어 기계어 프로그램은 명령어..
💻 The Elements of Computing System - 3 🤔 순차 논리 조합 논리의 결과 데이터는 연산이 종료된 후 소멸되기 때문에 더 복잡한 연산을 하기 위해서는 데이터를 기억할 필요가 있음 데이터를 기억하고 기억한 데이터를 사용하기 위해서 '순차 논리' 를 사용함 클록 마스터 클록(master-clock)이 연속적인 신호를 발생시킴 보통 0과 1로 표시된 두 상태를 연속해서 오가는 것으로 표현함 플립플롭 가장 기본적인 순차 논리 소자 1비트 데이터 입력과 클록 신호 입력에 따라 새로 입력된 데이터를 출력할지, 잠금상태가 되어 이전 입력을 유지할지 결정됨 레지스터 DFF(데이터 플립플롭)만으로는 데이터를 원하는대로 저장하고 가져올 방법이 없기 때문에, 이전 시간의 출력 데이터..
💻 The Elements of Computing System - 2 🤔 2진수 컴퓨터는 수를 2진수로 다룸 10진수 : 21 2진수 : 10101($2^4\times1+2^2\times1+1$) 🤔 2진 덧셈 최하위 비트부터 최상위 비트까지 같은 자리의 수끼리 자리올림수까지 고려해 더함 마지막 비트를 더하고 나서 자리올림수가 1이라면, 오버플로 발생 🤔 부호가 있는 2진수 컴퓨터는 2의 보수(2's complement) 방식 사용 $x$의 보수 = $2^n-x$ 0은 1로, 1은 0으로 뒤집은 뒤 +1 해주면 음수가 됨 모든 음수 코드는 1로 시작함 🤔 반가산기 두 비트를 더하는 기능을 함 덧셈한 값의 최하위 비트를 sum, 최상위 비트를 carry라고 함 🤔 전가산기 세 개의 비트를 더하는 기..
💻 The Elements of Computing System - 1 🤔 불 대수(Boolean Algebra) true/false, 예/아니오, 켜짐/꺼짐 같은 불값을 다루는 대수학 컴퓨터는 진수를 표현하고 처리하는 하드웨어이기 때문에 2진수 입력을 가공해 2진수 출력을 하는 불 함수를 정의하고 분석하는 것이 컴퓨터 아키텍쳐를 구축하는 첫 단계가 됨 🤔 하드웨어 기술 언어 CHIP Xor { IN x, y; OUT out; PARTS: Not(in=x, out=notx); Not(in=y, out=noty); And(x=x, y=noty, out=w1); And(x=notx, y=y, out=w2); Or(x=w1, y=w2, out=out); } HDL program(Xor.hdl) Xor(exclu..
구조체로 예약 단어 및 길이 정의 후 입력 텍스트 파일의 각 줄에 나타나는 단어들에 대하여 "줄번호-위치-단어-해당 길이" 출력(예약되지 않은 단어가 나타나면 "Undefined word" 메시지 출력 후 무시) 입력 파일 소스 코드 use std::{fs, io::Read, error::Error, process}; struct Optab { name: &'a str, len: i32, } impl Optab { fn new(name: &'a str, len: i32) -> Optab { Optab { name, len } } } fn read_file() -> Result { let mut f = fs::File::open("command.s")?; let mut buf = String..
단어를 모두 연결, 각 단어의 시작 위치를 단어와 함께 출력하고, 마지막에 총 길이 출력(16진수 사용) 입력 파일 소스 코드 use std::{fs, io::Read, error::Error, process}; fn read_file() -> Result { let mut f = fs::File::open("sample.s")?; let mut buf = String::new(); f.read_to_string(&mut buf)?; Ok(buf) } fn word_position(contents: String) { let mut text = String::new(); let mut p = 0; for word in contents.lines() { println!("{p:02X}: {word}"); t..