목록전체 글 (80)
'll Hacker

그래프란?노드(Node)와 간선(Edge)으로 표현되며 이때 노드를 정점이라고도 말한다.그래프 탐색이란 하나의 노드를 시작으로 다수의 노드를 방문하는 것을 말한다.또한, 두 노드가 간선으로 연결되어있다 = 두 노드는 인접하다 인접행렬(Adjacency Matrix) : 2차원 배열로 그래프의 연결 관계를 표현하는 방식연결리스트라는 자료구조를 이용해 구현하는데, C++이나 자바와 같은 프로그래밍 언어에서는 별도로 연결 리스트 기능을 위한 표준 라이브러리를 제공 인접 리스트(Adjacency List) : 리스트로 그래프의 연결 관계를 표현하는 방식 vector의 배열을 사용하면 편리함.실제로 연결된 노드들에 대한 정보만 저장하기 때문에, 모든 벡터들의 원소의 개수의 합이 간선의 개수와 같음. 간선의 개수..

인덱싱은 넘파이에서 ndarray 내의 일부 데이터 세트나 특정 데이터만을 선택할 수 있도록 한다.특정한 데이터만 추출SlicingFancy IndexingBoolean Indexing단일 값 추출 ▶️ 한 개의 데이터만 추출하는 방법1개의 데이터값을 선택하려면 ndarray 객체에 해당하는 위치의 인덱스 값을 [ ]안에 입력하기# 1부터 9까지의 1차원 ndarray 생성array1 = np.arange(start=1, stop=10)print('array1:',array1)value = array1[2]print('value:',value)print(type(value))인덱스는 0부터 시작해서array1[2]은 3번째 인덱스 위치의 데이터값을 의미함. array1[2]은 ndarray 내의 데이터값..

위 블로그는 공부 목적으로 기록한 블로그입니다. (책 광고x)NumPy 개요.넘파이는 Numerical Python을 의미함.파이썬에서 선형대수 기반의 프로그램을 쉽게 만들 수 있는 패키지이다.루프를 사용하지 않고, 대량 데이터의 배열 연산 가능 -> 빠른 속도 연산 처리가 가능하다.C/C++ 기반의 코드로 작성하고 이를 넘파이에서 호출하는 방식으로 쉽게 통합가능구글의 대표적인 딥러닝 프레임워크인 텐서플로는 배열 연산 수행 속도를 개선하고 넘파이와 호환할 수 있다. import numpy as np ⏫넘파이 모듈 임포트넘파이 기반 데이터 타입 : ndarray넘파이에서 다차원 배열을 쉽게 생성하고 다양한 연산 수행할 수 있음. 1. array( ) 함수array1 = np.array([1,2,3])p..

1158, 요세푸스 문제, C++이 문제를 그대로 이해하면 될 것 같다.그니까, 문제의 예를 보면 입력을 7 3 로 받는다면 이 7의 의미는 앉아있는 사람의 수라고 생각할 수 있고,1, 2, 3, 4, 5, 7을 나타낼 수 있다. 3은 제거되는 사람의 번호를 의미를 하게 되는데나는 반복문을 구현할 때 1~3까지 큐에 삽입 후 그 인덱스 번호가 3인 경우, remove 동적배열에 삽입하고,인덱스 번호가 3이 아닌 경우 큐 맨 뒤에 삽입 #include #include #include using namespace std;vector calcJosephus(queue Q,int N,int K){ vector remove; int q_front, j=0; while(N!=remove.size()) { for..

그리디 알고리즘 눈앞의 이익만 우선 추구하는 알고리즘최적해를 찾을 수 있으면 그것을 목표로 삼고 찾기 어려운 경우에는 주어진 시간 내에 그런대로 괜찮은 해를 찾는 것을 목표로 삼는다 - 그래서 대부분 최적화 문제를 대상으로 함 예를 들어, n개의 정점을 가지고 사이클을 이루지 않은 총 n-1개의 간선으로 이뤄지는 최소 신장 트리를 만들고자 한다.아직 간선이 하나도 없는 상태라고 하면, n-1개의 간선이 될 때까지 집합을 키워나가게 된다. 이때, 어떤 간선을 선택할지 결정해야한다.최소신장트리같은 경우에는 간선을 하나 더할 때마다 해당 간선이 기존에 선택된 간선들과 사이클이 형성되면 안된다.Greedy(c){ s 1) 원소를 선택하는 기준이 눈앞의 이익을 우선2) 원소를 하나 더하기 전에 해당 원소를 더함으..

모놀리식 아키텍처 vs 마이크로 서비스 아키텍처모놀리식 아키텍처= 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 어떤 기능이 통합되어 있는 구조장점 : 초기 단계에서 설계하기 용이함, 단순한 구현과정, 코드 관리 간편.단점 : 서비스가 성장할수록 서비스 간의 관계가 매우 복잡 마이크로 서비스 아키텍처= 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 각 기능이 독립된 서비스로 분리되어 실행되며, API Gateway 등을 통해 서로 통신.장점 : 서비스 재사용, 서비스 변경 시 전체 영향 안 미침, 사용자의 요구사항에 따라 가용성을 즉각적으로 확보해야 하는 IaaS 환경에 적합함 IaaS클라우드 서비스의 한 종류로, 물리적 하드웨어 대신 가상화된 인프라를 클라우드에서 제공단점 : 관리가 복잡하며,..

Django Authentication이란?HTTP 헤더에 사용자 이름과 비밀번호를 포함하여 인증하는 방식, 주로 테스트 용도로 사용 설정이 간단하고 빠르게 구현이 가능하지만, 보안이 낮아서 HTTPS와 함께 사용해야 안전하다.매 요청마다 자격 증명을 포함하므로, 인증 정보가 노출될 수 있다. Session-Based AuthenticationDjango의 기본 인증 방식,사용자가 로그인하면 서버에 세션을 생성하고 세션ID를 클라이언트에 쿠키로 저장함.💡쿠키?웹 서버가 생성하여 웹브라우저로 전송하는 작은 정보 파일웹 브라우저는 수신한 쿠키를 미리 정해진 기간 동안 또는 웹 사이트에서의 사용자 세션 기간 동안 저장함.웹 브라우저는 향후 사용자가 웹 서버에 요청할 때 관련 쿠키를 첨부함.사용자 기기의 지정..

django 웹 프레임워크를 기반으로 한 도구세트로, django를 이용해서 REST api를 만들기 위한 라이브러리 DjangoDjango REST Framework자체 웹 템플릿에게 데이터 전달풀스택 개발을 위한 목적으로 사용html을 응답플랫폼의 클라이언트에게 데이터를 전달백엔드 API 서버 개발을 위한 목적으로 사용됨.json 형태의 response 응답 RESTful API? 간단하고 효율적이고 호환성이 높음!REST : 인터넷에서 컴퓨터 또는 시스템 간 정보를 주고 받는 방식의 하나- URL과 웹 페이지를 보거나 변경하는 행위를 사용하여 정보를 쉽고 간단히 찾을 수 있게 함.- 웹 아키텍처 스타일로 리소스의 상태를 HTTP 메서드를 통해 전송하는 방식 REST 원칙에 기반해 서버의 리소스를..