출처 : https://butter-shower.tistory.com/101 , https://simuing.tistory.com/entry/2021-%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%ED%95%84%EA%B8%B0%EC%9A%94%EC%95%BD-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%96%B8%EC%96%B4-%ED%99%9C%EC%9A%A9
230122추가 : 다빈도 내용은 빨간글씨 처리합니다 (회색바탕은 개인적 중요도를 나타냄)
운영체제 (OS)
- 컴퓨터 자원(CPU 메모리공간 장치)을 효율 관리하고 스켸줄링을 제공하는 환경의 모임
- 입출력 장치, 사용자 프로그램을 제어
[ OS 구성 ]
- 쉘 : 명령 해석을 통해 프로그램을 호출하는 사용자 인터페이스 , 명령어 포함된 파일 형태, 보조기억장치에서 교체
- 커널 : 하드웨어 자원을 관리하는 하드웨어 인터페이스 , 핵심요소 , 주기억 장치에 존재하고 실행됨
[ OS 종류 ]
- WINDOWS
- LINUX : 자유도 높음 , UNIX와 호환
- UNIX : 시분할 시스템으로 설계된 대화식 OS, 개방형 소스, 다중사용자 다중작업 지원 , 작은 크기
- 파일시스템 : 운영체제가 파티션, 디스크 파일 사용을 위한 자료구조, 저장 공간을 파일에 할당 후 회수
- 유닉스쉘 = 파이프필터 패턴(각단계를 캡슐화하여 파이프로 전달), 사용자 생성 변수는 그 쉘 국한, 매개변수 없이 쓰이면 현 설정된 환경변수가 출력됨
- 명령어 모음
is = 현재 디렉토리의 파일 목록 출력 | chmod = 접근 권한 변경 | env = printenv = setenv = 환경변수 출력 |
cat = 파일 내용 출력, 두개이상 파일 연결 | fork = 새프로세스 생성 | sleep n = n초만큼 대기 |
echo $변수명 = 변수 출력 | pwd = 현재 디렉토리 출력 | uname = 버전 확인 |
du = 디스크 사용현황 출력 | cd = 지정 디렉토리 경로로 이동 | cp = 지정 경로에 파일 복사 |
export = 환경 변수 설정 |
- MacOS
- Andriod
언어
- 현실의 1번 = 0번 (0 , 1 ,2, 3 ..)
[ 데이터 타입 ] 블 문 열 정 부
- 데이터 타입 = 자료형
- Boolean(블) 논리형
- Char (문)자형 : 문자 하 나
- String 문자(열) : 문자 묶음
- Int (정)수 : Long, Byte, Short로 세분화
- Float (부)동소수 = 실수형 : float보다 큰 실수형이 Double
(+) void = 리턴이 없는 자료형
- Static : 보통 {}범위 내 사용 후 벗어나면 변수는 사라짐. Static이 붙으면 사라지지 않고 0으로 초기화함
[ 데이터 타입별 크기 ]
- 차이나는 경우
- Long(C는 4 , JAVA는 8)
- CHAR(C는 1, JAVA는 2)
[ 변수 정의 ]
- 사용된 예약어 활용불가 , 공백불가, 첫글자 대문자나 _ 가능 , _ $ 영문 숫자 만 사용가능
[ 연산자 ]
- 산술연산자 : %(나눈나머지) /(나누기) 등
- 비트논리 연산자
- !a && b = a의 반대를 구한 결과 그리고 b가 참이면 참
- & AND : 모두1이면 1
-
- a&&b = a와 b가 모두 참일경우만 참
- ^ XOR : 서로 다르면 1
- | : 하나라도 1이면 1
- a||b = a나 b중 하나가 참이면 다 참
- ~ NOT : 1이면 0 , 0이면 1
* 모두 NOT은 0처리 (~ 제외)
- 시프트 연산자 : <<(좌측으로 이동) , >>(우측으로이동)
- 삼향 연산자 중 조건연산자
- (조건식)? a:b 의미 = 조건식이 참이면 a도출 거짓이면 b 도출
- 순수 연산자 (3팥 관계대수 연산자에서 설명)
- Select σ : 릴레이션에서 조건을 만족하는 튜플 반환
- Project π : 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플 반환
- Join ⋈ : 공통 속성을 이용해 두개의 릴레이션 튜플들을 연결해 만들어진 튜플 반환
- Division ÷ : [R%S] 릴레이션S의 모든 튜플과 관련있는 릴레이션R의 튜플 반환
[ 언어 처리 ]
- 라이브러리 : 모듈화된 프로그램
- 구성) 표준(입출력,문자열,시간처리,수학력) + 외부
- 데이터입출력 : 표준을 바탕한 입력/출력/오류
- 예외처리 : 오류 발생시 대응하는 구문
- Throw , Try , Catch
- 프로토타입 : 속성과 메소드를 타클래스에 추가하는 과정 간소화
- 복제, 객체생성, 마스터 객체
[ 언어 종류 : 절차적 프로그래밍어 (명령형) ]
- 프로시저 호출 바탕 = 흐름 파악 용이 , 모듈화 , 구조화 , 코드 재사용 가능
- 대표언어 : C언어 & ALGOL & FORTRAN
- C언어 라이브러리
- stdlib.h(문자열 변환&난수생성&동적메모리관리)
- Stdio.h(데이터 입출력 기능)(문자열을 수치 데이터로 바꾸는 문자 변환함수 포함)
- Time.h
- Math.h
- String.h
- C언어 예약어 : float, long, double 등(변수로 사용불가)
- C언어 다빈도 함수
- For (지정값 반복) / Scnf(값 입력용도) / struct(데이터처리) / abstract(자식클래스가 해당 추상 메서드 구현)
- atoi char to int 문자열의 정수형화) / atof char to float(문자열의 부동소수점화) / itoa int to radix (정수의 문자형화) / ceil(소수점 등장시 올림처리)
- 연산자 구분 : 산술연산자 % * / 대입연산자 =
- 연산자 우선순위(왼이 가장 높음) : () / << < == ||
- C연산자 우선순위
[ 언어 종류 : 객제 지향 프로그래밍어 ]
- 특징 : 상(속) 추(상화) 다(형성) 동(적 바인딩)
- 대표 언어 : JAVA , Delphi , C++ , C#, Cobol
- JAVA 라이브러리
- Java.lang (import문없이 다양한 기능 사용가능)
- Java.util : 날짜 등 복잡 문자열 처리
- Java.io(입출력, 프로토콜 제공)
- Java.net
- Java.awt(UI 관련 기능 제공)
- JAVA 다빈도 함수 : Print = printf = Printin= 출력함수 , While문 결과는 항상 Boolean(논리형) , 예외처리구문 : try~catch~finally
- for문구조 = for(초기화; 조건; 증감)
- 전위 증감 연산자 = ++X = 연산자가 있는 라인부터 반영 / 후위 증감 연산자 = X++ = 연산자가 있는 라인 이후 라인에 반영
- ++a : 변수 증가 후 코드 실행
- a++ : 코드 실행 후 변수 증가
- X++ = X는 X+1과 동일 = 대입연산 후 X값 증가 / --X = X는 X-1과 동일 = 대입연산 후 X값 감소
- JAVA 접근 제한자 (정말중요)
[ 언어 종류 : 스크립트어 ]
- 소스코드없이 실행 = 쉬움 , 서버스크립트언어 / 클라이언트언어
- 대표 연산자 : @(오류억제) | <>(값이다름) | ===(값과타입동일) | XOR(하나가 참일때만 1)
- 대표 언어 : PHP , BASIC , PYTHON , ASP , JSP, JAVASCRIPT
- PYTHON 라이브러리
- Io : 운영체제 상호작용 기능 제공
- Re : 고급문자열 기능
- Math
- Random
- Statistics : 통계값 산출
- Datatime : 날짜 및 시간 조작
- PYTHON 문법 : while(무한반복) / continue(이후문장 건너뛰기) / Fourcal(클래스 생성)
- PYTHON 예약어 = 변수명으로 사용 불가 : true, false, def, not , or , None, from, expect, for, if, while
- for(시작값, 종료값, 증가값) : 시작값 생략이 0부터 시작
[ 언어 종류 : 선언형어 ]
- 함수형(순수,익명,고계) / 논리형(사실 규칙 질문)
- 대표 언어 : SQL / 하스켈 / 프롤로그
- SQL을 통한 절차적 트랜잭션언어는 Procedure
배열 선언
- 배열 크기보다 작은 초기화 리스트를 사용하면, 배열의 나머지 부분은 0으로 초기화 됨
- EX) INT b[9] = { 1 2 3 } => 초기화 리스트가 3이므로 나머지 4~9는 0으로 채워짐