챕터 질문 답변1. 리스트의 기본 개념- 리스트의 개념에 대해 정리해주세요순서가 있는 요소들의 집합. 가변적(mutable)인 데이터 타입으로 선언 이후 추가, 제거, 수정할 수 있다. 대괄호로 정의하며 각 요소를 쉼표로 구분함. 2. 리스트의 효율성- 리스트의 임의 접근의 시간 복잡도는 무엇인가요?인덱스를 이용한 임의 접근의 시간 복잡도는 O(1) 이다. 즉 상수 시간. - 리스트의 맨 앞이나 중간에 데이터를 삽입할 때 시간 복잡도가 어떻게 달라지는지 설명해주세요.삽입 위치 이후의 모든 요소들을 한 칸씩 뒤로 이동시켜야 한다. 이로 인해 시간복잡도는 O(n)이 된다. 리스트의 맨 뒤에 데이터를 삽입하는 경우는 O(n)의 복잡도를 가진다. 3. 튜플- 튜플의 개념과 리스트와의 차이점을 설명해주세요.튜플은..
빌트인 데이터 타입정수형 :양의 정수, 음의 정수, 0사칙연산(+ ,- ,* ,/) 외 많은 연산(비교연산, 비트연산, 논리연산 등) 가능print(a / b) # 나누기 (소수점 포함) / 3.25print(a // b) # 나누기 (소수점 제외) / 3 부동소수형 : 소수를 저장할 때 사용. 사칙연산과 정수형 나누기, 모듈러(%), 제곱 연산(**), 논리 연산 등 가능print(10.0 // 3.2) # 정수형 나누기 / 3.0print(10.0 % 3.2) # 모듈러 / 0.39999999999999947print(2.0 ** 3.2) # 제곱 연산 / 9.18958683997628 부동소수형 코드 실행 결과를 보면 10 % 3.2의 연산 결과를 보면 결괏값이 0.4가 아니라 0...
한 때 쿠팡에서 위와 같은 에러로 전체 물품이 품절 처리 된 적이 있다. 원인 파악 결과 Redis DB 때문이라는 것이 드러났다. RedisRemote Dictionary ServerDB, Cache, Message BrokerIn-memory Data Structure Store (메모리 상에 데이터를 저장하는 서버)Supports rich Data Structure (다양한 자료구조 지원) Redis와 캐시의 이해Redis 는 Remote Dictionary Server라는 뜻. 말 그대로 외부에 있는 Dictionary자료구조를 쓰는 형태의 서버 라는 의미이다. Redis는 기본적으로 In-memory Data Structure Store로서, 데이터를 메모리에 저장하여 빠른 접근을 가능하게 하..
https://www.youtube.com/watch?v=x-Lp-h_pf9Q&t=0s프로세스와 스레드 개요 Process 는 단위이다. 어떤 관리의 단위이며, 관리의 주체는 OS이다. 프로세스 라고 하는것은 기본적으로 연산거리(명령어)의 집합 이다. 연산은 연속적이기 때문에 이어져서 하나의 흐름을 만든다.이 흐름은 프로세스 수준에서 기본적으로 하나 존재하며, 이를 컨텍스트(Context) 또는 플로우(flow)라고 부르기도 한다. 연산은 외부 자극에 의해 변경될 수도 있다. 기본적으로 하나의 프로세스에는 반드시 하나의 스레드가 존재한다. 그러나 이 흐름이 하나가 아닌 여러 개로 분리될 수 있다. 한 프로세스 내부에 두 개 이상의 독립적인 실행 흐름이 존재하여, 동시에 또는 각각 작동하는 경우를 멀..
이력서나 프로젝트 기술스택 등 적을 때 스프링/ 스프링부트/ 스프링 프레임워크 세 개의 선택지가 제시되곤 한다. 스프링과 스프링 부트는 새로운 기술이라기 보다는 스프링 프레임워크를 개선한 것이다. 대표적인 개선 사항은 다음과 같다. 스프링 부트1. 개발 환경 설정을 최소화스프링은 버전에 따라 동작하는 외부 라이브러리를 일일이 찾아 연동해야한다. 하지만 스프링 부트는 미리 설정된 스타터 프로젝트로 외부 라이브러리를 최적화해 제공하므로 사용자가 직접 연동할 필요가 없다. 2. 웹 애플리케이션 서버를 내장스프링 부트는 내부에 웹 어플리케이션 서버 (WAS, Web Application Server)인 톰캣을 가지고 있다. 따라서 웹 서비를 jar 파일로 간편하게 배포할 수 있다. 결론적으로 스프링부..