Posts by Category

C++

C++ - 함수 호출

return return 문이 실행 될 때 함수가 제어를 호출측으로 되돌려주게 된다.

C++ - resize()

resize() void resize (size_type n); void resize (size_type n, const value_type& val);

C++ [Error Handling] assert

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)...

C++ - Default Parameter

deault parameter 디폴트 매개 변수(default parameter)는 기본값이 제공된 함수 매개 변수다. 사용자가 이 매개 변수의 값을 제공하지 않으면 기본값(default value)이 사용된다.

C++ Practice Environment

g++ https://nuwen.net/ C++ MinGW Distro Download > mingw-…-without-git.exe 실행파일 눌러서 저장경로 변경 Extract 해당 폴더로 이동 open...

C++ [Basic] 변수

1. 구조체를 만들 때 멤버를 초기화 할 수 있다. (from C++11) C++98, 03에서는 멤버를 초기화하지않고 선언하면 0으로 초기화됨

C++ Notice

C++ Notice malloc 과 new의 차이 malloc : 메모리 동적 할당 new : 메모리 동적할당 + 생성자 호출 구조체와 클래스 차이 structure : 접근지정자가 default로 publi...

Back to Top ↑

CodingInOffice

[ETC] 0xff handling

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...

[ETC] Sharing comment

시퀀스 설명할때 function call이랑 메시지 보내는것은 다르고 듣는사람 헷갈릴 수 있으니까 조심할 것 2021.10.29 2022.01.19 What is callback function? A Callba...

Programming - CI/CD

지속적인 통합 (Continuous Integraion) 여러 개발자가 작성하거나 수정한 소스를 지속적으로 통합하고 테스트하는 것

Programming - PROCESS THREAD

프로그램(Program) 이란 사전적 의미 “어떤 작업을 위해 실행할 수 있는 파일” 프로세스(Process) 란 사전적 의미 “컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램” 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체)

[ETC] - Code Comment on constructor handling

Code Comment on constructor handling 멤버변수 default value 를 특별히 세팅해야하는 경우에, constructor 에서 default value를 세팅하고 추가적으로 바꿀 필요가 있다면, 생성자에서 생성자 멤버 초기화 리스트 (Const...

Programming - assertion

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...

[ETC] - Feedback

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.

[ETC] - Fix Double indirection

Double indirection ```cpp struct StructTransaction { StructTransaction(std::shared_ptr trans) sTrans(trans) {} std::shared_ptr sTrans; };

[ETC] - C++ Concept

Concept Client : The originator of a request. The destinaction endpoint of a response. Server : The destination endpoint of a request. The originator o...

[ETC] - Tree

graph에서 parent node를 삭제하는데 자식노드가 존재하는 경우에 대해서 handling을 어떻게 할 것인가

Back to Top ↑

AWS

[AWS] General Immersion Day

EC2 Amzone Elastic Compute Cloud (EC2) 서버 Arm / x86 아키텍쳐 지원 ARM 아키텍쳐 ARM 아키텍처(ARM architect...

AWS - AWS SAA test preparation

시험은 총 65문제이고 1000점 만점에 720점 이상이어야 합격 Associate(130분, 65문제, 약 $150) : (객관식이며, 다중응답형 문제 다수(5개의 보기 중 2개 선택)

AWS - S3

생활코딩 AWS의 파일서버 서비스인 S3(Simple Storage Service)

AWS - SDK

생활코딩 PHP를 위한 AWS SDK nodejs를 위한 AWS SDK

Back to Top ↑

Algorithm

Algorithm - (15) Dijkstra

다익스트라 알고리즘은 다이나믹 프로그래밍을 활용한 대표적인 최단 경로 탐색알고리즘 다이나믹프로그래밍 : 큰 문제를 한 번에 해결하기 힘들 때 작은 여러 개의 문제로 나누어서 푸는 기법 흔히 인공위성 GPS 소프트웨어등에서 가장 많이 사용 ...

Algorithm - (14) UnionFind

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...

Algorithm - (13) memoization

memoization 메모이제이션(memoization) 은 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 중복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술이다.

Algorithm - (12) 탐욕 알고리즘 Permalink

1. 탐욕 알고리즘 이란? Greedy algorithm 또는 탐욕 알고리즘 이라고 불리움 최적의 해에 가까운 값을 구하기 위해 사용 여러 경우 중 하나를 결정해야할 때마다, 매순간 최적이라고 생각되는 경우를 선택하는 방식으로 진행해서, 최종적인 값을 구하는 방식 여러가지 경...

Algorithm - (11) DFS Permalink

DFS (Depth-First Search) 대표적인 그래프 탐색 알고리즘 너비 우선 탐색 (Breadth First Search): 정점들과 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 탐색하는 방식 깊이 우선 탐색 (D...

Algorithm - (10) BFS Permalink

BFS (Breadth-First Search) 대표적인 그래프 탐색 알고리즘 너비 우선 탐색 (Breadth First Search): 정점들과 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 탐색하는 방식 깊이 우선 탐색 (Depth First Search): 정점...

Algorithm - (9) 그래프

그래프 (Graph) 그래프는 실제 세계의 현상이나 사물을 정점(Vertex) 또는 노드(Node) 와 간선(Edge)로 표현하기 위해 사용

Algorithm - (8) 순차탐색과 이진탐색 Permalink

순차탐색 (Sequential Search) 탐색은 여러 데이터 중에서 원하는 데이터를 찾아내는 것을 의미 순차 탐색: 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해서 원하는 데이터를 찾는 방법

Algorithm - (7) 퀵 소트 Permalink

퀵 정렬 (Quick sort) 퀵!소트인만큼 시간복잡도가 낮다 데이터중에서 기준점(pivot 이라고 부름)을 정해서, 기준점보다 작은 데이터는 왼쪽(left), 큰 데이터는 오른쪽(right) 으로 모으는 함수를 작성함 각 왼쪽(left), 오른쪽(rig...

Algorithm - (6) 병합 정렬 Permalink

병합 정렬 (merge sort) 병합 정렬(합병 정렬): 합병정렬이라고도 부르며, 분할 정복방법을 통해 구현 큰 문제를 작은 문제로단위로 분리, 정렬, 합병(취합)하는 알고리즘 요소를 쪼갠 후 다시 합병시키면서 정렬해나가는 방식

Algorithm - (4) 재귀 용법 Permalink

재귀 용법 (recursive call, 재귀 호출) 함수 안에서 동일한 함수를 호출하는 형태 함수는 내부적으로 스택처럼 관리(프로세스 내의 스택)

Algorithm - (3) 삽입 정렬 Permalink

삽입 정렬 맨앞에서부터 정렬이 되는 알고리즘 데이터의 모든 요소를 앞에서부터 차례대로 이미 정렬된 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘

Algorithm - (1) 버블 정렬 Permalink

버블 정렬 버블 정렬: 두 인접한 데이터를 비교해서, 앞에 있는 데이터가 뒤에있는 데이터보다 크면, 자리를 바꾸는 정렬 알고리즘

Algorithm - (0) 정렬 알고리즘

알고리즘 공부 방법 기술면접에서도 화이트보드에 알고리즘 수도코드작성하라고함 따라서 연습장과 펜은 필수 알고리즘 문제 분석 후 구현알고리즘 세부항목으로 나누기 코드화하기 위한 데이터 구조 또는 사용할 변수 정리 연습장에 각 문장을 코드레벨로 정리 임의 데이터로 코...

Back to Top ↑

Linux

Linux - Background

Background executed Ctrl + Z : background로 전환(실행중인 프로세스를 일시정지) fg : background 에 있다가 foreground로 전환되게 하는 명령어

Linux - Shell

Shell 입력받은 명령어를 Kernel이 이해할 수 있도록 전달 사용자 명령을 해석

Linux - IO Redirection

IO Redirection ~$ ls -l > result.txt ~$ rm rename2.txt > result.txt ~$ rm rename2.txt 2> error.log

Linux - CLI

GUI and CUI GUI대비 CUI를 사용하면 용량덜차지, 메모리덜차지, 컴퓨터의 CPU도 덜씀

Linux - Package manager (apt, yum)

Package Manager package program/application/app 컴퓨터를 사용한다 == package의 기능을 사용한다. 리눅스에서 기본적으로 컴퓨터에 포함되진않았지만 설치해야하는 경우 package manager...

Linux - sudo

sudo superuser do 관리자 권한 운영체제에서는 super user (root user) 가 있음 임시로 super user의 권한으로 명령어를 실행do할때 sudo를 씀 The sudo command allows you to run programs ...

Back to Top ↑

Network

Network - IPC

IPC (Inter Process Communication) 프로세스간 데이터통신 종류 시그널(Signal) Pipe Message Queue Shared Memory Mailbox

Network - OSI 7 Layer && TCP/IP model

Layer1 (Physical Layer) 두 대의 컴퓨터가 통신하려면? 모든 파일과 프로그램은 0과 1의 나열이다. 결국 0과 1만 주고받을 수 있으면 된다.

Network - TCP UDP

Transport Layer Endpoint 간 신뢰성 있는 데이터 전송을 담당하는 계층 신뢰성 : 데이터를 순차적, 안정적인 전달 전송 : 포트번호에 해당하는 프로세스에 데이터를 전달

Network - ssh

원력으로 쉘을 제어 - SSH Secure Shell 내앞에 없는 컴퓨터를 내앞에 있는 것처럼 원격으로 제어 Server : SSH Server 설치 내 컴퓨터 (노트북): SSH Client 설치 e...

Network - Internet

IP IP주소 : Internet Protocol Address 인터넷 체계가 동작하기 위해서 이 체계위에 접속하는 컴퓨터/통신장비가 각자 지켜야하는 준수해야할 protocol이 있음

Back to Top ↑

Data Structure

Data Structure - (8) 힙 Permalink

힙(Heap) 힙: 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) 완전 이진 트리: 노드를 삽입 할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 힙 (자료구조)

Data Structure - (4) 스택 Permalink

Stack (스택의 구조) 가장 나중에 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 stack은 배열, 연결리스트를 이용하여 구현

Back to Top ↑

Clean Code

[Clean Code] Chapter 6: Objects and Data Structures

DAY6 : Chapter6 Objects and Data Structures 오늘읽은 범위: ~ 6장. 객체와 자료구조 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체타입을 추가하기는 쉬운 반면, 기존 객체에 새 동작을 추가하기는 어렵다...

[Clean Code] Chapter 5: Formmating

DAY5 : Chapter5 Formmating 오늘읽은 범위: ~ 5장.형식맞추기 Formatting 은 의사소통이다. 의사소통은 전문개발자의 일차적인 의무다. Code formatting is important. Code formatting is about commun...

Back to Top ↑

Tensorflow

Tensorflow - Python (5) 데이터를 위한 팁 1

데이터 타입 조정 pandas 제공함수 활용 변수(칼럽) 타입 확인 : 데이터.dtypes 변수를 범주형으로 변경: 데이터[‘칼럼명’].astype(‘category’) 변수를 수치형으로 변경 : 데이터[‘칼럼명...

Tensorflow - Python (4) 히든레이어

Hidden Layer perceptron하나로 연결된 모델이아닌 신경망을 더 깊게만드는 것 Hidden Layer 독립변수와 종속변수사이에 추가되는 layer input layer 과 output layer사이에 추가되는 layer ...

Tensorflow - Python (2) Perceptron, Weight, Bias

보스턴 집 값 예측 각각의 행 : town 열 : 해당 town에 영향을 미치는 변수 medv : 집값의 중간값 첫번째 행의 medv 24 : 해당 town의 주택 값의 중간값이 24 이 값이 클 수록 비싼 주택이 많은 지역이 됩니다. ...

Back to Top ↑

JavaScript

JavaScript - Clock

<div> <div> tag : The <div> tag defines a division or a section in an HTML document. <div> 요소는 컨테이너로서 아무것도 표현하지 않습니다. 대신 다른 요소 여...

Back to Top ↑

System Design

Back to Top ↑

Git

Git - refs

Git refs/for git push [option] [ < repository > [< refspec >]]

Git Basic

Git Basic Git Pro Book sourcetree program visual studio code

Back to Top ↑

Programming

Programming - Canary Deployment

Canary Release; Canary Deployment; Canary Development, Canary Test 아주 작은 변경사항만 적용하고 문제가없으면 버전을 적용 조금씩 조금씩 배포하는 것 Canary deployments are a pattern for roll...

Programming - Batch Cron

배치 배치(batch)란: a group of things or people that are dealt with at the same time (일괄적으로 처리되는)집단, 즉 일괄적으로 뭔가가 처리되는

Programming - Understanding Makefile

Makefile Makefile 반복되는 컴파일 작업의 시간을 줄이기 위해 수정된 파일만 컴파일 할 수 있게 함 대규모 프로젝트, 공동 프로젝트에서 반드시 필요

Back to Top ↑

Design Pattern

Design Pattern - Singleton Pattern

Singleton Pattern Singleton : 클래스의 인스턴스는 오직하나임을 보장하며 이에대한 접근은 어디에서든지 하나로만 통일하여 제공한다.

Design Pattern - Proxy Pattern

Proxy Pattern 어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인이나 대변인에 해당하는 객체를 제공하는 패턴 Proxy Pattern : 프로세스간 통신 (Inter-Process Communication, IPC) 기반의 Client-Server 프로그램 모델

Design Pattern - Observer Pattern

Observer Pattern 관찰자 패턴 객체 사이의 1:N 종속성을 정의 하고 한 객체의 상태가 변하면 종속된 다른 객체에 통보가 가고 자동으로 수정이 일어나게 한다.

Back to Top ↑

Docker

Back to Top ↑

Security

암호화 복호화

패스워드 시스템 유저는 회사에서 주는 key로 로그인 암호를 해제하고 패스워드가 맞으면 로그인! 로그인이후로 다시 패스워드는 암호화 key를 훔치게 되는 경우에는 안좋은 방법 hash함수 hash함수를 이용한...

Back to Top ↑

Kubernetes

Back to Top ↑

MachineLearning

Machine Learning이란?

머신러닝 머신러닝은 기계를 학습시켜 인간의 판단을 위임하기 위해서 고안된 기술입니다. AI를 달성하기 위한 수단이 머신러닝 (How to teach AI? - By Machine Learning) 딥러닝은 머신러닝을 달성하기 위한 방법 deep learning > M...

Back to Top ↑

Boost

Boost::Optional

boost::optional Class template optional is a wrapper for representing ‘optional’ (or ‘nullable’) objects who may not (yet) contain a valid value. Introd...

Back to Top ↑

Jenkins

Jenkins - 젠킨스 이해

CI/CD 파이프라인의 기본 개념 CI (Continous Integration) : 지속적 통합 Continous : 자동화 : 코딩을 마칠때마다 지속적으로해줌 보통 Git과 같은 버전 컨트롤 시스템을 사용해서 각자가 작업한 코드들을 출시할 결...

Back to Top ↑

Azure

Back to Top ↑

Go

Back to Top ↑

GCP

Back to Top ↑