본문 바로가기

CS(Computer Science)

(18)
git 기본 명령어 commit : 디렉토리에 있는 모든 파일에 대한 스냅샷을 기록하는 것, -> 각 커밋은 변경 내역을 기록함 git commit : 새로운 커밋을 생성(저장) git branch noah : noah라는 브랜치를 해당 커밋에서 생성 (브랜치는 특정 커밋에 대한 참조에 지나지 않기에 가벼움) git checkout noah : noah브랜치로 이동. git merge noah : noah브랜치의 커밋내용을 합쳐서 생성 (해당 브랜치만 merge한 곳으로 이동) - noah가 해당브랜치의 자식이면 noah로 이동만함 git rebase noah : 분기한 이후의 커밋들을 모아서 복사한 뒤 noah 뒤로 이어 붙임 (커밋트리의 히스토리를 수정하게됨) merge vs rebase -> merge는 히스토리 이력..
프로그래머스 SQL 문제 (MySQL) - 2 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59039 -> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59407 -> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59410 -> SELECT ANIMAL_TYPE, IFNULL(NAME,"No name"), SEX_UPON_INTAKE FROM ANIMAL_..
프로그래머스 SQL 문제 (MySQL) - 1 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59034 -> SELECT * FROM animal_ins ORDER BY animal_id 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59035 -> SELECT name, datetime FROM animal_ins ORDER BY animal_id DESC 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59036 -> SELECT animal_id, name FROM animal_ins WHERE intake_condition = "Sick" ORDER BY animal_id 문제 링크 : programmers.co..
행동 패턴(Behavioral patterns) Strategy(스트레티지) 패턴 Strategy(스트레티지) : ex - interface를 상속받은 클래스들에서 각각 다르게 overriding하여, 같은 interface의 메소드를 호출해도 객체마다 다르게 동작 State (스테이트) 패턴 State (스테이트): Strategy와 비슷하지만 아래와 같이 다름 -Strategy 패턴이 지정된 특정 메소드가 모듈화된 모드에 따라 다르게 실행되도록 하는 거라면 State 패턴은 그 메소드가 실행될 때 모드도 전환되는 것 -TV가 꺼져 있을 대 누르면 켜지고, 켜져있을 때 누르면 꺼지는 방식 Command 패턴 command 패턴 : Strategy와 역시 비슷하지만 아래와 같이 다름 - Strategy는 같은 일을 하되 그 알고리즘이나 방식이 갈아끼워..
데이터 베이스 2(Database) 관계 대수 (Relational Algebra) -> 절차적 (Selection, Projection, Union, Intersection 등) 기본 연산 Selection : row들을 골라냄 Projection : column들을 골라냄 Cartesian product : 두 집합 곱셈 (ex - SQL에서 -> FROM S1, S2 ) Rename : relation 이름이나 속성 이름을 변경 ( SQL에서는 빈칸이나 as) 복합 연산 Join : Cartesian product 한 후 Selection 한 결과 Division : A/B -> B를 모두 만족하는 A의 값 (ex - a에서 b튜플을 모두 가지고 있는 튜플들) 부가 연산 Assignment Aggregate Functions -> a..
데이터 베이스 1(Database) Database System : DB , DBMS 등을 포함하는 전체적인 system DBMS(DataBase management Systems) : DataBase를 관리해주는 시스템 소프트웨어 (ex - MySQL , Oracle...) (DBMS밑에 운영체제) 필수 기능 : 1. 정의 기능 -> DDL(Data Definition Language) : (CREATE , DROP , ALTER) 2. 조작 기능 -> DML(Data Manipulation Language) : (SELECT, INSERT, DELETE, UPDATE) 3. 제어 기능 -> DCL (Data Control Language) : (GRANT-권한 부여, REVOKE-권한 회수) TCL(Transaction //) -> C..
메모리 (Memory) 레지스터 ,캐시 -> HW관리(CPU) 메인 메모리, 보조기억장치 -> SW관리 (OS) Block : 보조기억장치와 주기억장치 사이의 데이터 전송 단위 (1~4KB) Word : 레지스터와 주기억장치 사이의 데이터 전송 단위 (16~64bits) running 마다 주소 재설정) (명령어 실행 순간 결정) (대부분의 OS가 사용) Fragmentation (단편화) -> 낭비되는 메모리 - 내부 단편화 : pratition 크기 > process크기 - 외부 단편화 : 남은 메모리 크기 > process크기 Continous Memory Allocation (연속 할당) -> 하나의 process를 떨어뜨리지 않고 연속해서 올림 - Fixed partition (FPM) : 메모리를 미리 고정된 크기로..
프로세스 (Process) Job : 프로그램이 커널에 올라가기 전의 상태 (디스크에 있는 상태) Process : 프로그램이 커널에 등록되어 실행되는 상태 (하나 이상의 스레드) PCB(Process Control Block) : 프로세스의 관리에 필요한 정보 저장, 프로세스 생성할 때 생성. (커널의 영역에 저장되어 있음) Created : job을 커널에 등록해서 프로세스 생성, pcb 할당 Ready : 메모리 할당을 받고 cpu를 기다리고 있는 상태 Running : 프로세서를 할당받고 실행중인 상태 (interrupt나 time slice가 끝나면 교체 됨) Asleep(blocked) : I.O나 다른 이벤트를 기다리고 있는 상태 Suspended Ready : 메모리를 뺏긴 ready 상태, swap device 에..
(시작 전에) 운영 체제 기본 프로세서(중앙처리장치) : 컴퓨터의 두뇌 레지스터 : 프로세서 내부에 있는 메모리(가장 빠름) - 프로그램 카운터(PC), 명렁어 레지스터(instruction register), 누산기(ACCumulator) 등 메모리 : 데이터 저장 장치 - 속도,가격 : 레지스터 > 캐시 > 메인 메모리 > 보조기억장치 - 레지스터, 캐시 둘다 프로세서 내부에 있음. - 프로세서는 메인메모리까지 밖에 접근 못함. 지역성(Locality) : 공간적 지역성, 시간적 지역성(지역성은 캐시 적중률과 밀접)(캐시는 블록 워드 단위로 가져옴) (장치) 드라이버 : 어떤 하드웨어를 사용하기 쉽게 제공하는 인터페이스(API) 운영체제 : 컴퓨팅 자원을 효율적으로 관리하여 사용자에게 서비스를 제공하는 system 운영체제의 역할..
객체지향 프로그래밍(JAVA) 객체지향 프로그래밍 : 로직을 상태와 행위로 이루어진 객체로 만드는 것이다. 추상화 : 복잡함 속에서 필요한 관점만을 추출하는 행위 refactoring : 코드를 개선해서 더 효율적으로 만드는 행위 class -> 설계도 , 데이터 타입 정의 instance -> 제품 , 구현체 class member(static) : - class에 의해 만들어진 모든 instance가 class 변수를 공유함.(값의 변경도 모두 공유) - class member는 인스턴스화 하지 않고도 class로 직접 접근 가능 함. - instance 가 계속 새로 생성되어도 메모리 하나로 공유 instance member : 인스턴스 끼리 개별적으로 소유 함. instance 가 생성될 때 마다 메모리 새로 할당 -변수와 메..