C++ - transform, back_inserter
std::transform
std::transform
Why using lambda function Iterating Containers - for-loop보다 algorithm을 사용하라고 권장
Map operator ==()
push_back
overloading overloading assignments c++
preprocessor 전처리문
조합
return return 문이 실행 될 때 함수가 제어를 호출측으로 되돌려주게 된다.
std::basic_stringstream
C++ Class Inheritance
Bitwise Operators c++ reference:Bitwise Operators
What is reserve() reserve(10) reserves memory so you can e.g. push_back(10) elements without having a reallocation.
resize() void resize (size_type n); void resize (size_type n, const value_type& val);
assert void assert (int expression); If the argument expression of this macro with functional form compares equal to zero (i.e., the expression is false)...
deault parameter 디폴트 매개 변수(default parameter)는 기본값이 제공된 함수 매개 변수다. 사용자가 이 매개 변수의 값을 제공하지 않으면 기본값(default value)이 사용된다.
compare two strings in C++
ABOUT Vector index
BOJ 5430 문제 풀이
상속 ```c++
C++ STL sort() std::sort
namespace의 필요성 함수의 구조체등의 이름 충돌 해결
g++ https://nuwen.net/ C++ MinGW Distro Download > mingw-…-without-git.exe 실행파일 눌러서 저장경로 변경 Extract 해당 폴더로 이동 open...
1. 구조체를 만들 때 멤버를 초기화 할 수 있다. (from C++11) C++98, 03에서는 멤버를 초기화하지않고 선언하면 0으로 초기화됨
C++ Notice malloc 과 new의 차이 malloc : 메모리 동적 할당 new : 메모리 동적할당 + 생성자 호출 구조체와 클래스 차이 structure : 접근지정자가 default로 publi...
0xff is the hexadecimal number FF which has a integer value of 255. 0xff means “the hexadecimal number ff “ - in other words, the integer 255 , which ha...
시퀀스 설명할때 function call이랑 메시지 보내는것은 다르고 듣는사람 헷갈릴 수 있으니까 조심할 것 2021.10.29 2022.01.19 What is callback function? A Callba...
지속적인 통합 (Continuous Integraion) 여러 개발자가 작성하거나 수정한 소스를 지속적으로 통합하고 테스트하는 것
프로그램(Program) 이란 사전적 의미 “어떤 작업을 위해 실행할 수 있는 파일” 프로세스(Process) 란 사전적 의미 “컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램” 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체)
Code Comment on constructor handling 멤버변수 default value 를 특별히 세팅해야하는 경우에, constructor 에서 default value를 세팅하고 추가적으로 바꿀 필요가 있다면, 생성자에서 생성자 멤버 초기화 리스트 (Const...
Code Comment(09/03/2021)
Assertion If the argument expression of this macro with functional form compares equal to zero (i.e., the expression is false), a message is written to th...
STL - vector clear() : Erases all elements from the container. After this call, size() returns zero.Leaves the capacity() of the vector unchanged. shrin...
Feedback Clean Code Book by Robert Cecil Martin is a book that I personally like on the subject of making code that is easily understood.
Code Review
Double indirection ```cpp struct StructTransaction { StructTransaction(std::shared_ptr trans) sTrans(trans) {} std::shared_ptr sTrans; };
Code Review
C++ Google C++ style guide
디자인 패턴 - Visitor Pattern C++ Union 과 비슷한 원리
Concept Client : The originator of a request. The destinaction endpoint of a response. Server : The destination endpoint of a request. The originator o...
string ```cpp string s1;
const static constexpr
call-by-reference call-by-reference 개념
graph에서 parent node를 삭제하는데 자식노드가 존재하는 경우에 대해서 handling을 어떻게 할 것인가
AWS Certification Challenge Program AWS Certification Challenge Program
Udemy - Ultimate AWS Certified Solutions Architect Associate 2021 Section3 Getting started with AWS Section4 IAM & AWS CLI Section5 EC2 Fundamentals S...
Work hard, have fun, and make history. Introduction to AWS Identity and Access Management
EC2 Amzone Elastic Compute Cloud (EC2) 서버 Arm / x86 아키텍쳐 지원 ARM 아키텍쳐 ARM 아키텍처(ARM architect...
Work hard, have fun, and make history. Introduction to AWS Identity and Access Management
Work hard, have fun, and make history. AWS Cloud Technical Essentials
Work hard, have fun, and make history. AWS Cloud Technical Essentials
시험은 총 65문제이고 1000점 만점에 720점 이상이어야 합격 Associate(130분, 65문제, 약 $150) : (객관식이며, 다중응답형 문제 다수(5개의 보기 중 2개 선택)
Work hard, have fun, and make history. AWS Cloud Technical Essentials
Work hard, have fun, and make history. AWS Cloud Technical Essentials
AWS Network - General Immersion Day
생활코딩
생활코딩 AWS의 파일서버 서비스인 S3(Simple Storage Service)
생활코딩 PHP를 위한 AWS SDK nodejs를 위한 AWS SDK
생활코딩 What is Amazon EC2
생활코딩
다익스트라 알고리즘은 다이나믹 프로그래밍을 활용한 대표적인 최단 경로 탐색알고리즘 다이나믹프로그래밍 : 큰 문제를 한 번에 해결하기 힘들 때 작은 여러 개의 문제로 나누어서 푸는 기법 흔히 인공위성 GPS 소프트웨어등에서 가장 많이 사용 ...
MST (Minimun Spanning Tree) : 최소비용신장트리
UnionFind UnionFind : A disjoint-set data strsubsetsucture is a data structure that keeps track of a set of elements partitioned into a number of disjoin...
memoization 메모이제이션(memoization) 은 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 중복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술이다.
1. 탐욕 알고리즘 이란? Greedy algorithm 또는 탐욕 알고리즘 이라고 불리움 최적의 해에 가까운 값을 구하기 위해 사용 여러 경우 중 하나를 결정해야할 때마다, 매순간 최적이라고 생각되는 경우를 선택하는 방식으로 진행해서, 최종적인 값을 구하는 방식 여러가지 경...
DFS (Depth-First Search) 대표적인 그래프 탐색 알고리즘 너비 우선 탐색 (Breadth First Search): 정점들과 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 탐색하는 방식 깊이 우선 탐색 (D...
BFS (Breadth-First Search) 대표적인 그래프 탐색 알고리즘 너비 우선 탐색 (Breadth First Search): 정점들과 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 탐색하는 방식 깊이 우선 탐색 (Depth First Search): 정점...
그래프 (Graph) 그래프는 실제 세계의 현상이나 사물을 정점(Vertex) 또는 노드(Node) 와 간선(Edge)로 표현하기 위해 사용
순차탐색 (Sequential Search) 탐색은 여러 데이터 중에서 원하는 데이터를 찾아내는 것을 의미 순차 탐색: 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해서 원하는 데이터를 찾는 방법
퀵 정렬 (Quick sort) 퀵!소트인만큼 시간복잡도가 낮다 데이터중에서 기준점(pivot 이라고 부름)을 정해서, 기준점보다 작은 데이터는 왼쪽(left), 큰 데이터는 오른쪽(right) 으로 모으는 함수를 작성함 각 왼쪽(left), 오른쪽(rig...
병합 정렬 (merge sort) 병합 정렬(합병 정렬): 합병정렬이라고도 부르며, 분할 정복방법을 통해 구현 큰 문제를 작은 문제로단위로 분리, 정렬, 합병(취합)하는 알고리즘 요소를 쪼갠 후 다시 합병시키면서 정렬해나가는 방식
동적 계획법 (Dynamic Programming)과 분할 정복 (Divide and Conquer)
재귀 용법 (recursive call, 재귀 호출) 함수 안에서 동일한 함수를 호출하는 형태 함수는 내부적으로 스택처럼 관리(프로세스 내의 스택)
삽입 정렬 맨앞에서부터 정렬이 되는 알고리즘 데이터의 모든 요소를 앞에서부터 차례대로 이미 정렬된 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘
버블 정렬 버블 정렬: 두 인접한 데이터를 비교해서, 앞에 있는 데이터가 뒤에있는 데이터보다 크면, 자리를 바꾸는 정렬 알고리즘
알고리즘 공부 방법 기술면접에서도 화이트보드에 알고리즘 수도코드작성하라고함 따라서 연습장과 펜은 필수 알고리즘 문제 분석 후 구현알고리즘 세부항목으로 나누기 코드화하기 위한 데이터 구조 또는 사용할 변수 정리 연습장에 각 문장을 코드레벨로 정리 임의 데이터로 코...
shell script study
df -h /repo
Background executed Ctrl + Z : background로 전환(실행중인 프로세스를 일시정지) fg : background 에 있다가 foreground로 전환되게 하는 명령어
locate ~$ locate *.log
Process
Linux Directory Structure
Shell 입력받은 명령어를 Kernel이 이해할 수 있도록 전달 사용자 명령을 해석
IO Redirection ~$ ls -l > result.txt ~$ rm rename2.txt > result.txt ~$ rm rename2.txt 2> error.log
GUI and CUI GUI대비 CUI를 사용하면 용량덜차지, 메모리덜차지, 컴퓨터의 CPU도 덜씀
git ~$ git
wget ~$ wget http://~~~.com/download wget [다운로드 링크]
Package Manager package program/application/app 컴퓨터를 사용한다 == package의 기능을 사용한다. 리눅스에서 기본적으로 컴퓨터에 포함되진않았지만 설치해야하는 경우 package manager...
sudo superuser do 관리자 권한 운영체제에서는 super user (root user) 가 있음 임시로 super user의 권한으로 명령어를 실행do할때 sudo를 씀 The sudo command allows you to run programs ...
–help 명령어 사용방법
가상머신 실재하는 컴퓨터 상에 가상으로 컴퓨터를 구동시키는 것으로 물리적인 하드웨어를 가상화
IPC (Inter Process Communication) 프로세스간 데이터통신 종류 시그널(Signal) Pipe Message Queue Shared Memory Mailbox
알기쉬운 LTE 와 5G
Layer1 (Physical Layer) 두 대의 컴퓨터가 통신하려면? 모든 파일과 프로그램은 0과 1의 나열이다. 결국 0과 1만 주고받을 수 있으면 된다.
생활코딩 - HTTPS와 SSL 인증서
Dynamic & Static IP address
DNS (Domain NameServer)
Transport Layer Endpoint 간 신뢰성 있는 데이터 전송을 담당하는 계층 신뢰성 : 데이터를 순차적, 안정적인 전달 전송 : 포트번호에 해당하는 프로세스에 데이터를 전달
Port
원력으로 쉘을 제어 - SSH Secure Shell 내앞에 없는 컴퓨터를 내앞에 있는 것처럼 원격으로 제어 Server : SSH Server 설치 내 컴퓨터 (노트북): SSH Client 설치 e...
server server : client로 부터 request를 받고 response를 줌 client : server로 request를 요청
IP IP주소 : Internet Protocol Address 인터넷 체계가 동작하기 위해서 이 체계위에 접속하는 컴퓨터/통신장비가 각자 지켜야하는 준수해야할 protocol이 있음
힙(Heap) 힙: 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) 완전 이진 트리: 노드를 삽입 할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 힙 (자료구조)
Hash Table 구조 Hash Table: 키에 대한 데이터를 저장하는 데이터 구조 키만 알면 데이터가 어디에 저장되어있는지 알 수 있는 데이터 구조
알고리즘 복잡도 시간복잡도 (Time Complexity) : 알고리즘 실행속도 공간복잡도 : 알고리즘이 사용하는 메모리 사이즈
C++ list STL 바로가기
Stack (스택의 구조) 가장 나중에 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 stack은 배열, 연결리스트를 이용하여 구현
Queue (큐의 구조) First In First Out(FIFO)
Array 같은 데이터 타입의 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조
1. Data Structure - 자료구조 대량의 데이터를 효율적으로 관리할 수 있는 데이터 구조 코드상에서 효율적으로 데이터를 처리하기 위해서 체계적으로 데이터를 구조화해야함 Efficiently manage large amounts of data In order to...
DAY9 : Chapter10 Unit Tests 오늘읽은 범위: ~ 10장. 클래스
DAY8 : Chapter9 Unit Tests 오늘읽은 범위: ~ 9장. 단위테스트
DAY7 : Chapter7 Error Handling
DAY6 : Chapter6 Objects and Data Structures 오늘읽은 범위: ~ 6장. 객체와 자료구조 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체타입을 추가하기는 쉬운 반면, 기존 객체에 새 동작을 추가하기는 어렵다...
DAY5 : Chapter5 Formmating 오늘읽은 범위: ~ 5장.형식맞추기 Formatting 은 의사소통이다. 의사소통은 전문개발자의 일차적인 의무다. Code formatting is important. Code formatting is about commun...
DAY4 : Chapter4 Comments 오늘읽은 범위: ~ 4장.주석
DAY3 : Chapter3 Functions 오늘읽은 범위: ~ 3장.함수
DAY2 : Chapter2 Meaningful Names 오늘읽은 범위: ~ 2장.의미있는 이름
DAY1 : Chapter1 Clean Code 오늘읽은 범위:시작 ~ 1장, 깨끗한 코드
학습이 잘 되는 모델 학습이 잘되는 인공 신경망을 만드는 방법
데이터 타입 조정 pandas 제공함수 활용 변수(칼럽) 타입 확인 : 데이터.dtypes 변수를 범주형으로 변경: 데이터[‘칼럼명’].astype(‘category’) 변수를 수치형으로 변경 : 데이터[‘칼럼명...
Hidden Layer perceptron하나로 연결된 모델이아닌 신경망을 더 깊게만드는 것 Hidden Layer 독립변수와 종속변수사이에 추가되는 layer input layer 과 output layer사이에 추가되는 layer ...
분류 종속변수가 양적데이터(숫자) : 회귀 regression 종속변수가 범주형 데이터(이름) : 분류 classification
보스턴 집 값 예측 각각의 행 : town 열 : 해당 town에 영향을 미치는 변수 medv : 집값의 중간값 첫번째 행의 medv 24 : 해당 town의 주택 값의 중간값이 24 이 값이 클 수록 비싼 주택이 많은 지역이 됩니다. ...
Tensorflow Tensorflow 라이브러리를 이용하여 딥러닝을 구현하기
HTML - class form input placeholder class
<div> <div> tag : The <div> tag defines a division or a section in an HTML document. <div> 요소는 컨테이너로서 아무것도 표현하지 않습니다. 대신 다른 요소 여...
Variable variable : something that can be changed
How to check JavaScript code in Browser Ctrl+Shift+J
Connection-Oriented Request-Response with Notifications
Server 이토록 다양한 서버의 세계
Disk RAID RAID : Redundant Array of Independent Disks
Git refs/for git push [option] [ < repository > [< refspec >]]
Merge Squash 여러개의 커밋 로그를 하나로 묶기
link Jekyll docs for more info on how to get the most out of Jekyll.
Git Basic Git Pro Book sourcetree program visual studio code
Canary Release; Canary Deployment; Canary Development, Canary Test 아주 작은 변경사항만 적용하고 문제가없으면 버전을 적용 조금씩 조금씩 배포하는 것 Canary deployments are a pattern for roll...
배치 배치(batch)란: a group of things or people that are dealt with at the same time (일괄적으로 처리되는)집단, 즉 일괄적으로 뭔가가 처리되는
What is the difference between runtime and compile time? Runtime and compile time are programming terms that refer to different stages of software program...
Makefile Makefile 반복되는 컴파일 작업의 시간을 줄이기 위해 수정된 파일만 컴파일 할 수 있게 함 대규모 프로젝트, 공동 프로젝트에서 반드시 필요
Singleton Pattern Singleton : 클래스의 인스턴스는 오직하나임을 보장하며 이에대한 접근은 어디에서든지 하나로만 통일하여 제공한다.
Proxy Pattern 어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인이나 대변인에 해당하는 객체를 제공하는 패턴 Proxy Pattern : 프로세스간 통신 (Inter-Process Communication, IPC) 기반의 Client-Server 프로그램 모델
Observer Pattern 관찰자 패턴 객체 사이의 1:N 종속성을 정의 하고 한 객체의 상태가 변하면 종속된 다른 객체에 통보가 가고 자동으로 수정이 일어나게 한다.
Docker
Docker Docker explain Docker start
패스워드 시스템 유저는 회사에서 주는 key로 로그인 암호를 해제하고 패스워드가 맞으면 로그인! 로그인이후로 다시 패스워드는 암호화 key를 훔치게 되는 경우에는 안좋은 방법 hash함수 hash함수를 이용한...
Kubernetes Kubernetes Explain
머신러닝 머신러닝은 기계를 학습시켜 인간의 판단을 위임하기 위해서 고안된 기술입니다. AI를 달성하기 위한 수단이 머신러닝 (How to teach AI? - By Machine Learning) 딥러닝은 머신러닝을 달성하기 위한 방법 deep learning > M...
boost::optional Class template optional is a wrapper for representing ‘optional’ (or ‘nullable’) objects who may not (yet) contain a valid value. Introd...
CI/CD 파이프라인의 기본 개념 CI (Continous Integration) : 지속적 통합 Continous : 자동화 : 코딩을 마칠때마다 지속적으로해줌 보통 Git과 같은 버전 컨트롤 시스템을 사용해서 각자가 작업한 코드들을 출시할 결...
AZ900 fundatmentals aka.ms/msdevkr/az900 aka.ms/msdevkr/az900/1
GCP - Calling Cloud Functions from other functions