일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 운영체제
- 자바 기초
- 파이썬 첼린지
- 백준
- 데이터 통신
- 파이썬
- Python challenge
- Database
- Rust
- 알고리즘
- 러스트 프로그래밍 공식 가이드
- 자바 개념
- 파이썬 알고리즘
- 자바
- 데이터베이스
- java
- 우분투
- Reversing
- Operating System
- data communication
- 오라클
- 러스트
- Python
- C
- 오라클DB
- OS
- 백준 러스트
- 러스트 예제
- ubuntu
- 파이썬 챌린지
- Today
- Total
목록분류 전체보기 (201)
IT’s Portfolio
🖥 Basic Java - Day 4 👉🏻 [Chapter 03] 반복문과 배열, 그리고 예외 처리 반복문 for(초기문; 조건식; 반복 후 작업) { .. 작업문 .. } for : 가장 많이 사용하는 반복문 while(조건식) { .. 작업문 .. } while 조건식이 '참'인 동안 반복 실행 do { .. 작업문 .. } while(조건식); do-while 조건식이 '참'인 동안 반복 실행 작업문은 한 번 반드시 실행 for(초기문; 조건식; 반복 후 작업) { for(초기문; 조건식; 반복 후 작업) { ... } ... } 중첩 반복 반복문이 다른 반복문을 내포하는 구조 continue 문 for(초기문; 조건식; 반복 후 작업) { ... continue; ....
🖥 Basic Java - Day 3 Constant final 키워드를 사용해서 선언 선언 시 초기값 지정 필수 실행 중 값 변경 불가 var Java 10부터 도입 기존에는 변수의 타입을 반드시 지정하여 선언했음 var 키워드로 변수 선언 시 타입 생략이 가능하며 타입은 컴파일러가 추론하여 결정함 초기값이 주어지지 않으면 컴파일 오류 지역 변수 선언에만 한정됨 타입 변환 한 타입의 값을 다른 타입의 값으로 변환 자동 타입 변환 컴파일러에 의해 원래의 타입보다 큰 타입으로 자동 변환 치환문이나 수식 내에서 타입이 일치하지 않을 때 발생 강제 타입 변환 개발자의 의도적 타입 변환 괄호 안에 개발자가 명시적으로 타입 변환 지정 강제 변환은 값 손실 우려가 따름 System.in 키보드와 연결된 자바의 표준..
🖥 Basic Java - Day 1~2 👉🏻 [Chapter 01] 자바 시작 프로그래밍 언어 컴퓨터가 실행할 프로그램을 작성하기 위한 언어 Machine Language 이진수로 구성된 언어 컴퓨터 CPU는 기계어만 이해하고 처리 가능 Assembly Language 기계어 명령을 니모닉 기호로 일대일 대응시킨 언어 고급 언어 사람이 이해하기 쉽고, 복잡한 작업, 자료 구조, 알고리즘을 표현하기 위해 고안된 언어 절차 지향 언어와 객체 지향 언어로 나눌 수 있음 Source File : 프로그래밍 언어로 작성된 텍스트 파일 Compile : 소스 파일을 컴퓨터가 이해할 수 있는 기계어로 만드는 과정 Java : .java -> .class C : .c -> .obj -> .exe Cpp : .cpp ..
🦀 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라고 함 🤔 전가산기 세 개의 비트를 더하는 기..