본문 바로가기

면접

(24)
자료구조(3/10)- 목차와 실제 사례 [자료구조] 1. 배열 : 변수가 한 곳에 모여있으면 빠르다! 2. 연결리스트: 삽입과 삭제를 빠르게! 3. 스택, 큐, 덱: 스택: 데이터를 차곡차곡 큐: 데이터로 줄 세우기 덱: 스택으로도, 큐로도 사용할 수 있다! 4. 그래프 : 관련있는 데이터 연결하기 그래프의 모든 노드 방문 : 도시를 모두 여행하자 1) 너비 우선탐색: 인근 도시부터 2) 깊이 우선탐색: 한 방향으로 쭉 여행하기 5. 트리: 쓸 데가 많은 자료구조 1) 이진 탐색 트리 2) 레드 블랙 트리 3) B트리 4) 힙과 우선순위 큐 [다양한 그래프 알고리즘] .. 알고리즘 편에서 1. 위상 정렬 2. 최소 비용 신장트리 1) 탐욕 알고리즘 2) 크루스칼 알고리즘 3) 프림 알고리즘 3. 최단경로 1) 데이크스트라 알고리즘 실제 적용된..
자료구조(2/10) - 빅오 표기법, ADT 빅오 어떤 자료구조가 다른 자료구조에 비해 성능이 좋다고 이야기할수 있는 방법은? 어떤 기준을 설정하고 두 함수를 상대적으로 비교하는것 다시) 자료구조: 데이터를 저장하는 구조 데이터를 저장하는 방식(함수들의 조합)이 자료구조마다 다른데 함수 내에 있는 반복문, 분기문의 실행횟수, 혹은 덧셈이나 곱셈 같은 연산 횟수 등을 세면 실제 물리적인 실행 환경 말고, 추상적으로? 성능을 개략적으로 어떻다고 판단할수 있다. 입력값 n에 대해 이러한 연산횟수는 방정식T(n)으로 표기할수 있는데, 알고리즘 성능을 분석할때는 점근적 표기법을 주로 사용한다. 2n+3이라는 T(n)이 있을때 2n+3 = O(n) => 즉 2n+3의 빅오는 n이다라고 말할 수 있다. (n은 어느시점에서 반드시 2n+3보다 크다) 2n+3 =..
자료구조(1/10)- 시작 /* 이 시리즈의 글은 '파이썬으로 배우는 자료 구조 핵심원리' 책과 함께 합니다*/ 자료구조 데이터를 원하는 규칙, 혹은 목적에 맞게 저장하기 위한 구조 알고리즘 자료구조에 쌓인 데이터를 활용해 문제를 해결하기위한 여러 동작들의 모임 도서관의 책장이 자료구조라면 특정한 책을 찾는 행위가 알고리즘 어떤 상황에서 어떤 자료구조를 사용해야 좀 더 효율적으로, 성능이 좋은 프로그램을 만들수 있는지 각 자료구조의 연산 성능을 판단하는데 사용되는 알고리즘 성능분석 기법 빅오 자료구조를 구성하는 객체와 연산을 기술하는 방법 추상 자료형 그림이 째끔 촌스럽지만.. 익혀둬야할 자료구조를 도식화하면! 그리고 젤 중요한.. 왜 이걸 공부하냐면... 면접에 나와서.. 도 있지만 최적의 효율을 위해 자료(=data)를 구조화..
CSR , SSR https://www.sarah-note.com/%ED%81%B4%EB%A1%A0%EC%BD%94%EB%94%A9/posting2/ 👩‍💻 SSR vs CSR 비교 설명, Next.js가 탄생하게 된 이유 SSR(Server Side Rendering) 👆 위의 그림은 전통적인 방식인 SSR… www.sarah-note.com
SSO, OAuth 그리고 keycloak https://www.itworld.co.kr/howto/193849 "SSO란 무엇인가" SSO가 보안과 사용자 경험을 개선하는 방법 - ITWorld Korea 싱글사인온(Single Sign-On, SSO)은 하나의 로그인 인증 정보를 사용해 여러 애플리케이션에 접근할 수 있는 중앙화된 세션 및 사용자 인증 서비스다. SSO의 장점은 간편함이다. 지정된 플랫폼 하나에 www.itworld.co.kr SSO: 하나의 로그인 정보를 사용해 여러 애플리케이션에 접근할 수 있는 중앙화된 세션 및 사용자 인증 서비스! 간편함! 자동화된 인증 정보 관리 SAML, OAuth, openID 와 같은 공개 표준을 통해 상호 통신한다. OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자..
도커, 젠킨스
vpn.. 그리고 터널링 https://liveyourit.tistory.com/3 [네트워크] VPN이란 ? 정의/ 터널링/터널링 프로토콜(IPSecVPN, MPLSVPN, SSL 등) VPN(Virtual Private Network)는 의미 그대로 가상 사설망을 의미한다. VPN 이라는 말은 많이 들어봤는데... 가상 사설망이 정확히 뭔지? 왜 쓰는지? 관련 터널링 프로토콜에는 무엇이 있는지? 등을 이론적 liveyourit.tistory.com 나중에 깊게 알아보자 ^0^
동시성처리 처리해야할 컴퓨팅 작업(task)가 여러개일때, 단일 처리 장비에서 2가지 이상의 작업을 동시적으로 실행하는 방식으로 동시성 처리, 병렬성 처리가 있다. 동시성 처리 1개 코어는 한번에 한가지의 작업만 처리할수 있다. core에서 시분할, 시간을 쪼개서 두개의 작업을 번갈아가면서 처리 => 두개가 동시에 처리되는 것처럼 보인다. 로드시간(작업이 어디까지 처리됬는지에 대한 기록을 읽어오는것)이 필요하므로, 이 로드시간이 코어에 부하를 줄 수 있다. 윈도우에서 한번에 여러가지 작업이 되어야하는 경우(예를들어 브라우저를 돌리는 동시에 카톡을 켠다..) 병렬성 처리 2개 이상의 작업이 동일한 시간에 실제로 동시에 처리되는 방식 2개 이상의 core를 가진 컴퓨터에서 가능한 방식이다 동시성 &병렬성 혼용을 하여 ..
쓰레드, 멀티쓰레드 /* 프로세스: 운영체제로 부터 자원을 할당받는 작업의 단위 디스크로부터 메모리에 적재되어 운영체제로부터 주소 공간, 파일, 메모리 등을 할당 받으며 이것들을 총칭하여 프로세스라고 함 임시변수(함수의 매개변수, 복귀주소, 로컬 변수) 를 저장하는 프로세스 '스택'과 전역변수들을 저장하는 데이터 섹션, 프로세스 실행중에 동적으로 할당되는 메모리인 힙을 포함 쓰레드: 프로세스가 할당받은 자원을 이용하는 실행의 단위(얼만큼) 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의 heap, data, code 영역을 공유 */ 싱글스레드 공유되는 자원접근에 대한 동기화(접근 통제), 작업전환(시간과 노력이 든다)를 신경쓰지 않아도 되지만 여러개의 CPU를 활용하지못한다 -> 최대한 활용하려면 clust..
동기 vs 블로킹, 비동기 vs 논블로킹 동기 vs 블로킹, 비동기 vs 논블로킹 의 각각 차이점은?(async, async, blocking, non-blocking) Q. 성능의 차이를 어떻게 ? 알수있나? /* 제어권: 제어권은 자신(함수)의 코드를 실행할 권리 같은 것이다. 제어권을 가진 함수는 잣니의 코드를 끝까지 실행한후, 자신을 호출한 함수에게 돌려준다. 결과값을 기다린다 a함수에서 b함수를 호출했을때, a함수가 b함수의 결과값을 기다리느냐의 여부 */ 1)블로킹 a함수가 b함수를 호출하면, a함수가 b함수에게 제어권을 넘겨주고 결과값을 기다린다 b는 함수를 실행하고(제어권) 자신에게 호출한 함수에게 돌려주며 제어권도 다시 넘긴다 2) 논블로킹 a함수가 b함수를 호출해도 제어권은 자신이 그대로 가지고 있는다 b는 함수를 실행하고 a..