23.12.06 수정 좋은 코드란? 가독성(코드 컨벤션), 중복 x, 테스트하기 좋은 코드 파이썬 DRY ... RESTful API란? REpresentational State Transfer RESTful 하게 API를 디자인한다는 것은 무엇을 의미하는가? 1. 리소스와 행위를 명시적이고 직관적으로 분리한다. 2. Message는 Header와 Body를 명확하게 분리해서 사용한다. 3. API 버전을 관리한다. 4. 서버와 클라이언트가 같은 방식을 사용해서 요청하도록 한다. 장점 1. Open API를 제공하기 쉽다. 2. 멀티플랫폼 지원 및 연동이 용이하다. 3. 원하는 타입으로 데이터를 주고받을 수 있다. 4. 기존 웹 인프라(HTTP)를 그대로 사용할 수 있다. 단점 1. 사용할 수 있는 메서..
https://hyonee.tistory.com/136 더 작성하기..........ㅠ 네트워크란? https://www.whatap.io/ko/blog/149/ 네트워크 개념 잡기 네트워크에 필요한 물리적 장치부터 통신 규약인 프로토콜까지, 네트워크 기초 다지기! www.whatap.io 네트워크의 종류, LAN과 WAN LAN(Local Area Network, 근거리 영역 네트워크)이란 지리적으로 가까운 기기들이 서로 연결된 소규모의 네트워크. 구리선을 짜 넣은 LAN 케이블 사용. 통신에 필요한 선이 짧으므로 데이터를 주고받는 데에 오류가 적고 속도가 빠르다. WAN(Wide Area network)이란 지역이나 국가와 같이 넓은 영역을 연결하는 광역 네트워크. 광섬유 케이블이나 회선을 이용. L..
https://hoons-dev.tistory.com/95 내용 추가하기 운영체제 운영체제란? 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어. 최근에는 가상화 기술의 발전으로 실제 하드웨어가 아닌 하이퍼바이저(가상 머신) 위에서 실행되기도 함. 커널이란? .... 운영체제의 역할 1. 자원관리 2. 메모리 관리 3. 프로세스 관리 4. 디스크 및 파일 시스템 관리 5. 입출력 관리 6. 사용자 인터페이스 7. 네트워킹 8. 오류 처리 9. 시스템 보안 Process and Thread 프로세스와 스레드의 차이 프로세스 실행 중인 프로그램. 완벽히 독립적이기 때문에 메모리 영역(Code, Data, Heap, Stack)을 다른 프로세스와 공유하지..
23.12.06 수정 OOP란? 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜서 상태(속성, Attribute)와 행위(Method)를 가진 객체로 만들고, 그 객체 간의 상호작용을 통해 로직을 구성하는 방법. 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것. 장점 코드의 재사용에 용이(다른 클래스를 가져와 사용할 수 있고, 상속받을 수 있기 때문), 대형 프로젝트에 용이 유지보수 용이(객체 단위로 코드가 나눠져 작성되기 때문) 강한 응집력(Strong Cohesion), 약한 결합력(Weak Coupling) 단점 상대적으로 처리 속도 느림 설계 시 많은 시간과 노력 필요 객체가 많으면 용량..
타이핑하며 학습. 23.11.21 수정 Sorting Algorithm Github에 정리했었던 버블, 삽입, 선택 알고리즘 정렬 https://github.com/SikHyeya/TIL/blob/main/Algorithm/Sorting.md 1. 버블 정렬(Bubble Sort)이란? 버블 정렬은 서로 인접한 두 원소를 비교해서 정렬하는 알고리즘. 시간복잡도 : O(n^2) 2. 선택 정렬(Selection Sort)이란? 선택 정렬은 첫 번째 값을 두 번째 값부터 마지막 값까지 차례대로 비교하여 최솟값을 찾아 첫 번째에 놓고, 두 번째 값을 세 번째 값부터 마지막 값까지 비교해 최솟값을 찾아 두 번째에 놓는 과정을 반복해 정렬하는 알고리즘. 시간복잡도 : O(n^2) 3. 삽입 정렬(Insertion..
23.11.20 수정 자료구조와 알고리즘의 정의 자료구조란? 데이터를 원하는 규칙 또는 목적에 맞게 저장하기 위한 구조 알고리즘이란? 자료구조에 쌓인 데이터를 활용해 어떠한 문제를 해결하기 위한 동작들의 모임 Array, LinkedList 1. Array와 List의 차이 Array 크기가 정해져 있다. cache hit의 가능성이 커져서 성능에 도움 됨 cache란? 프로그램이 수행될 때 나타나는 지역성을 이용하여 메모리나 디스크에서 사용되었던 내용을 특별히 빠르게 접근할 수 있는 곳에 보관하고 관리함으로써, 재 접근 시 보다 빠르게 참조하도록 하는 것. cache hit란? CPU가 참조하고자 하는 메모리가 캐시에 존재하고 있는 경우를 말한다. 반대의 용어는 cache miss. 데이터에 대한 인덱..