본문 바로가기

분류 전체보기

(90)
git revert - 커밋 변경, reset/revert 복구하기 * git revert git에서 commit 후 commit에 포함시키지 말아야 할 파일을 발견했을때, 즉 커밋한 내용에 실수가 있어서, 수정을 하고 싶을때 commit을 삭제하기 위해 revert를 쓰는 대참사의 경우가 있다. 하지만 이는 매우매우 위험한 행동이다... revert는 절대 함부로 쓰면 안된다 git revert HEAD git revert 는 해당 commit id로 파일을 되돌리는 명령어이기 때문에, 그 이후의 수정사항들이 모두 사라져버린다. 즉, commit을 한 뒤 revert를 사용하면 commit 이전의 상태로 되돌아간다. 나는 commit의 일부 내용을 없애거나 수정하고 싶었던 것인데, 로컬에서 내가 작업하고 수정한 모든 코드와 수정본들, 즉 commit한 파일들도 로컬에서..
VSCode Extension - Draw.io https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio&fbclid=IwAR2nEqDzT2ApVA7ZhB0qLQfNrJJkDu15BvPjlfdkwBc_KDtV4S7ela5yJYs
캡슐화(encapsulation) * 캡슐화 캡슐화는 중요한 데이터를 보존, 보호하는 것이다. 캡슐화는 객체 지향 프로그래밍에서 다음 2가지 측면이 있다 - 객체의 속성(data fields)와 행위(메서드, methods)를 하나로 묶고 - 실제 구현 내용 일부를 외부에 감추어 은닉한다 따라서 외부 객체는 객체가 노출해서 제공하는 필드와 메서드만 사용 가능하다 이는 외부의 잘못된 사용으로 객체가 손상되지 않도록 하고자 함이다 은닉의 정도를 접근지정자로 구분한다 일반 OOP에서의 접근지정자 종류 - public - protected - private
기본적인 입출력 - stream, stdin, stdout, EOF(End of File) * 스트림(Stream) - C 프로그램은 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림이라는 것을 통해 다룬다. - 스트림은 실제 입력이나 출력이 표현된 데이터의 이상화된 흐름이다. - 즉, 스트림은 운영체제에 의해 생성되는 가상의 연결 고리를 의미한다. - C언어에서 파일과의 연결을 위한 스트림은 사용자가 직접 생성하고 소멸시켜야 한다. - 하지만 콘솔 장치에 대한 스트림은 프로그램 실행 시 자동으로 생성되며, 프로그램 종료 시 자동으로 소멸된다. - stdin: 표준 입력 스트림 - stdout: 표준 출력 스트림 - stderr: 표준 오류 스트림 * EOF(End of File) - 운영체제마다 파일의 끝을 탐지하는 법은 조금씩 다르지만, C언어는 운영체제에 상관 없이 파일의 끝에 도달했을..
Compile, Build, Deploy 차이 * Complie(컴파일) - 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일 - 개발자가 작성한 소스코드를 바이너리 코드로 변환하는 과정을 말한다. (목적파일, object file이 생성된다) - 즉 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업이다. 이러한 작업을 해주는 프로그램을 가르켜 complier라고 한다. * Link(링크) - 여러개로 분리된 소스파일들을 컴파일한 결과물들에서 최종 실행가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해주는 작업 - 프로젝트를 진행하다 보면 소스파일이 여러개 생성되고, A라는 소스파일에서 B라는 소스파일에 존재하는 함수(메서드)를 호출하는 경우가 있다. - 이때 A와 B 소스파일을 각각 컴파일만 하면 서로를 못찾으므로, A와 B를 ..
Overloading(오버로딩) / Overriding(오버라이딩) 차이 * 언어에서 Polymorphism(다형성)을 지원하는 방법으로 메서드 오버로딩 / 오버라이딩이 있다 - Overloading(오버로딩): 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 - Overriding(오버라이딩): 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용
HTTPS와 SSL 인증서 * HTTP란 - HTTP는 HyperText Transfer Protocol로 www 상에서 정보를 주고 받는 프로토콜이다 - HTTP는 웹브라우저(client)와 서버간의 웹페이지같은 자원을 주고 받을 때 쓰는 통신 규약이다. - http는 텍스트로 된 html 페이지를 교환하는 것으로, 누군가 네트워크에서 신호를 가로채어 본다면 내용이 노출된다. 즉, 암호화되지 않은 방법으로 데이터를 전송하여 악의적으로 가로채거나 데이터 변조의 가능성이 있다. * HTTPS란 - 보안이 강화된 HTTP이다. 즉, https는 http의 하부에 SSL과 같은 보안 계층을 제공함으로써 동작한다. - 인터넷 상에서 정보를 암호화하는 SSL(Secure Socket Layer) 프로토콜을 이용하여 웹브라우저(클라이언트)와..
디지털 이미지 표현, 크기 - bitmap * Pixel(픽셀) - 이미지를 이루는 가장 작은 단위 - 이미지를 이루는 점이라고 생각하면 된다 - 640x480의 경우는 가로 640개, 세로 480개의 픽셀로 이루어진 이미지를 의미한다. * 이진 영상(binary image) - 디지털 이미지 중 가장 간단한 형태 - 각 픽셀이 1bit로 이루어져 있으며, 각 픽셀은 오직 밝음(1)과 어두움(0) 두 가지 만을 표현한다. * 흑백 영상(gray-scale image) - 각 픽셀의 밝기 값을 0~255 사이 값으로 표현한 이미지이다. - 8bit = 1Byte의 메모리를 사용한 것이다. - 픽셀 값들의 범위가 0~255 사이 값이기 때문에, 2^8 = 256개의 8bit로 표현한 것이 흑백 영상이다. * 컬러 영상(color image) - 컬러..