Study note 45

디자인 패턴 1

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! Singleton 패턴 setting처럼 object을 딱 하나만 생성해야할 때 이 패턴을 사용 생성자를 private으로 선언 => 다른 클래스에서 new로 생성 못하게 하기 위함 static으로 자기 자신의 객체 만들기: 정해진 공간에 하나만 생성하도록 구현 방법: 다른 클래스에서 get할 때 처음에만 new로 만들고, 다음부터는 만들어놓은 object을 get Strategy 패턴 Interface로 공통적인 기능을 만들 수 있..

Study note/CS 2024.04.12

네트워크

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! HTTP의 GET과 POST 비교 GET: HTTP Request Message의 header 부분에 있는 url에 데이터가 담겨서 전송 크기에 제한이 있음. 보안이 필요한 것에는 적절하지 않음. Select적인 성향. 서버의 값을 변경하지 않음. POST: HTTP Message의 Body에 담겨서 전송 크기, 보안 면에서 GET보다 낫다. 서버의 값을 변경/추가 등 Handshake 연결 성립(3-way-handshake): 클라..

Study note/CS 2024.04.12

DB 데이터베이스

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! 인덱스 (Index) 책 부록에 '찾아보기(index)'처럼 모든 변수 다 검색할 필요 없이 빠르게 조회 가능 해시 테이블 or B-Tree 구조로 되어 있다. 주로 B-Tree 해시 테이블로 하면 검색은 빠르지만($O(1)$), 등호 연산 밖에 되지 않아 순차 검색이 불가하다. B-Tree는 $O(NlogN)$이지만, 부등호 연산이 가능해서 순차 검색이 가능하다. 관계형 데이터베이스 vs 비관계형 데이터베이스 관계형: key와 va..

Study note/CS 2024.04.12

개발 상식

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! RESTful API REST의 기본 원칙을 지킨 API 개발자들 사이에서 널리 알려진 약속. 어떤 URI에 어떤 Method를 사용할지 URI: 자료를 구조와 함께 나타내는 구분자. 리소스. 명사. 소문자 HTTP Method: 자원에 대한 행위. CRUD POST, GET, PUT/PATCH, DELETE TDD (Test-Driven Development) 새로운 기능을 추가하기 전에 테스트 코드를 먼저 작성 (TDD라는 걸 몰..

Study note/CS 2024.04.12

Operation System

기술면접을 위해 기초 CS에 대한 복습중이다. 공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다. 내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의! 시분할 시스템 CPU가 하나일 때 어떻게 스케줄링 하는지에 대한 방법론 중 하나 다중 프로그래밍의 장점 + 아주 짧은 주기로 분할함 ex) 리눅스(웹서버, DB 등)에 여러 User가 동시 접속을 해도 혼자 독점한 것처럼 느낀다. 다중 처리 시스템 (Multiprocessor) CPU가 여러 개일 때 (CORE) 대칭적 다중 처리 시스템: 모든 CPU가 동등한 준위 비대칭적 다중 처리 시스템: Master-slave처럼 준위가 다름 ..

Study note/CS 2024.04.12

C++ 코딩 인터뷰에서 기초 질문 모음

[기초 질문]: 어휘력 테스트와 비슷함/사용 예시/왜 사용하는지 네임스페이스의 기본 사용법 스택과 힙의 차이 const, static 포인터와 레퍼런스의 개념과 차이점 표준 라이브러리 컨테이너 기본 사용법 구조적 바인딩(C++17) C++17부터 추가된 중첩된 네임스페이스를 쉽게 사용하도록 개선된 부분 ** 참고한 페이지 C++ 면접에 자주 등장하는 질문 유형이 있다고?! C++ 개발자를 꿈꾼다면 필독! (1) C++ 전문 개발자를 꿈꾼다면 필독! C++ 면접에 자주 등장하는 예상 질문 유형을 알아보자! (1) C++는 엔터프라이즈급 객체지향 프로그램을 위한 빠르고 강력한 업계 표준 언어입니다. 기능이 풍부하 www.hanbit.co.kr

Study note/CS 2021.01.08

React Native Study Note - Redux 패턴

학부생 때는 MVC 패턴으로 웹앱 만들곤 했었는데, 그리고 대기업 인턴 면접 때도 MVC에 대해서 질문 받았던 기억이 나는데, 이게 이미 옛날 패턴이라고 하니 뭔가 마음이 싱숭생숭하다. 웹이 그만큼 오랜만인 거겠지,, 어쨌든! 이제 React Native를 할 거니까 어떤 패턴을 사용하지? 하고 검색해봤는데, Redux라는 패턴을 가장 많이 추천하는 것 같다. 약 6년 전 쯤, 페이스북에서 Flux라는 패턴을 발표했었고, 그 이후에 Flux와 Reducer를 혼합(?)하여 다시 탄생시킨 Redux 패턴이 발표되었다. Action → Dispatcher → Store →View 앱의 상태 State를 하나의 저장소 Store에 트리 형태로 저장한다. Component끼리 state와 props를 거치지 않..

Study note/WebApp 2020.12.10

[Solved] React Native CLI 설치 시 환경 변수 설정 안될 때 해결방법

역시 개발에서 환경 구축이 제일 일이다.. 그래서 Expo 같은 게 다 나오는구나 싶다. 이런 의미로는 진짜 좋을 툴이네, 인정. 특히 비전공자들에게는 얼마나 힘든 일일까.. 결론적으로 위와 같은 화면을 보게 되었다. 해결방법이 인터넷에 제각각, 혹은 자세하게 나와있지 않아서 헷갈렸는데, (나도 가끔 나만 알 수 있게 올림.. 반성 ㅠㅠ) 자세하게 적어보고자 한다. 1. 윈도우 검색 창에서 '환경 변수 편집'을 검색해서 창을 띄운다. 2. 시스템 속성 창 - 고급 탭 - 환경 변수(N)... 버튼 클릭 3. 환경 변수 창에서 '사용자 변수' 아래 있는 '새로 만들기' 버튼 클릭: 나는 여기서 가장 많이 헷갈렸다. 시스템 변수 아래에도 새로 만들기 버튼이 있는데, 어디서 새로만들기를 해야 하는지 제대로 안..

Study note/WebApp 2020.12.09