본문 바로가기

전체 글

Part 01) 01. 개발 환경을 구축하자! [✔️안드로이드 Version ] 안드로이드의 OS의 일반적인 버전의 표현방식은 아래의 세가지로 표현한다. 1. 버전 2. 코드명 3. API Level 1.버전 숫자를 사용해 버전을 표시하는 방법. 정식 버전 1.0을 시작으로 현재 기준 13.0 버전까지 나옴 2. 코드명(별칭) 알파벳 A부터 순서대로 표현하는 방법 (L)ollipop, (M)arshmallow, (N)ugat, (O)reo.. 등 10.0 이전까지는 1.0을 제외한 버전별 코드명이 전부 캔디나 과자 등 디저트명을 코드명으로 사용했지만 10.0에서는 Q로 시작하는 디저트 이름을 OS 네이밍에 사용하지 않게 되었고, 버전 10.0은 안드로이드 10이라고 공식적으로 명명되었다. 앞으로 구글은 차후의 버전들도 숫자를 이용하여 네이밍을 하기로.. 더보기
[C++]STL ✔️ Sequence Containers - 데이터를 순차적으로 저장하는 자료구조 - 데이터가 정렬상태를 계속 유지할 필요가 없을 경우 좋음 📌 std::vector (std::array) 1) 정의 및 특징 - 메모리상에서 데이터가 연속적으로 위치하는 배열 - vector는 런타임에서 배열 크기 조절 O -> 크기를 미리 알 수 없거나, 크기가 변하는 경우 - array는 런타임에서 배열 크기 조절 X -> 크기를 미리 알 수 있고 변하지 않는 경우 - 포인터를 통해 만드는 동적 배열은 delete를 일일이 해줘야하지만 vector는 알아서 메모리 해제 2) 시간복잡도 - 임의 접근 (Random Access) = O(1) - 벡터의 끝에 원소를 삽입하거나 삭제 = O(1) - 원소의 삽입과 삭제 = .. 더보기
[운영체제]면접대비 📌 프로세스와 쓰레드의 차이에 대해 설명해주세요. - 프로세스는 실행 중인 프로그램을 말하며, 완벽히 독립적이기 때문에 메모리 영역(Code, Data, Heap, Stack)을 다른 프로세스와 공유하지 않습니다. 프로세스는 최소 1개의 쓰레드(메인 쓰레드)를 가지고 있습니다. - 쓰레드는 프로세스 내에서 Stack만 따로 할당 받고, 그 이외의 메모리 영역(Code, Data, Heap)영역을 공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있습니다. 쓰레드는 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용하여 실행됩니다. - 멀티태스킹은 하나의 운영체제 안에서 여러 프로세스가 실행되는 것 입니다. - 멀티스레드는 하나의 프로세스가 여러 작업을 여러 스레드를 사용하여 동시에 처리하는 .. 더보기
[OS과제] SYS 보호되어 있는 글입니다. 더보기
[CS면접 질문 정리] 데이터베이스 📌 DBMS는 무엇인가요? - DBMS는 데이터베이스 관리 시스템을 나타냅니다. 사용자가 데이터에 관한 정보를 가능한 한 효율적이고 효과적으로 구성, 복원 및 검색 할 수 있도록하는 응용 프로그램 모음입니다. 널리 사용되는 DBMS 중 일부는 MySql, Oracle 등입니다. 📌 데이터베이스 종류 별로 설명해 주세요 - 데이터를 보존하는 형식에 따라 나뉩니다. - 계층형 데이터 베이스는 데이터를 폴더와 파일 등 계층 구조로 데이터를 저장하는 방식입니다. 하드디스크가 예시로 있고, 최초로 등록된 데이터베이스 타입입니다. - 관계형 데이터베이스는 데이터를 2차원의 표 형식으로 관리하는 데이터베이스입니다. 데이터를 column과 row로 구성된 하나 이상의 테이블로 나타내며, primary key가 각 ro.. 더보기
[CS면접 질문 정리] : 네트워크 📌 웹 통신의 큰 흐름: https://www.google.com/ 을 접속할 때 일어나는 일 1) Host가 google.com을 검색하면 OS에서 NIC(network Interface Card, 이거 하나 당 IP하나씩 받을 수 있음)를 통해 요청을 보내야 한다. Host는 google의 IP주소를 알아야 한다. 2) 내가 IP주소를 아는지 모르는지 판단하기 위해 hosts와 DNS cache에서 mapping 정보를 확인한다.(DNS Lookup) 3) 2)에서 없으면 DNS서버로 요청을 보내서 응답을 받는다. (공유기 / 라우터가 DNS를 알고있음. 인터넷 망을 통해 DNS서버로 요청을 한다.) 4) 그 IP주소로 http request를 보내고 응답을 받는다. (해당 IP로 가는 경로는 중간중.. 더보기
[코딩테스트]코테 준비 및 정리 ✔️ 알고리즘 종류 1. 문제가 나왔을 때 (어려운 난이도 코테 빼고) 예상할 수 있는 유형들 - 시뮬레이션(구현) - DFS / BFS - DP - 그리디 - 이분탐색 - 최단경로 - 자료구조 구현 - 정렬 - 백트래킹 - 브루트포스 - 분할정복 - 투포인터 2. 난이도 중일 경우 예상할 수 있는 유형들 - DFS / BFS - 자료구조(힙,스택,큐,트리) - 시뮬레이션 혹은 브루트포스 - DP - 이분탐색 3. 난이도 중상일 경우 예상할 수 있는 유형들 - DP - 자료구조(트리 포함) - 투포인터 - 어려운 시뮬레이션 - 그리디 / 그래프 4. 난이도 상일 경우 예상할 수 있는 유형들 - 트리 - 어려운 시뮬레이션 - 문자열 - DP - 이분탐색 - 그리디 등등... ✔️ 문제 분석 1. 문제 접근.. 더보기
[네트워크] CS 지식 정리1 ✔️ TCP flag 1. FLAG 순서 +-----+-----+-----+----+-----+----+ | URG | ACK | PSH | RST | SYN | FIN | +-----+-----+-----+----+-----+----+ 각각 1비트로 TCP 세그먼트 필드 안에 cONTROL BIT 또는 FLAG BIT 로 정의 되어 있다. 1) SYN(Synchronization:동기화) - S : 연결 요청 플래그 TCP 에서 세션을 성립할 때 가장먼저 보내는 패킷, 시퀀스 번호를 임의적으로 설정하여 세션을 연결하는 데에 사용되며 초기에 시퀀스 번호를 보내게 된다. 2) ACK(Acknowledgement) - Ack : 응답 상대방으로부터 패킷을 받았다는 걸 알려주는 패킷, 다른 플래그와 같이 출력.. 더보기