Posts by Year

2023

Back to Top ↑

2022

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

Programming - Canary Deployment

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

Back to Top ↑

2021

Programming - Batch Cron

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

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

Network - IPC

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

[AWS] General Immersion Day

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

Programming - CI/CD

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

AWS - AWS SAA test preparation

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

Programming - PROCESS THREAD

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

[ETC] - Code Comment on constructor handling

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

Network - OSI 7 Layer && TCP/IP model

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

AWS - S3

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

AWS - SDK

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

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이 있음

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

Programming - Understanding Makefile

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

Jenkins - 젠킨스 이해

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

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 종속성을 정의 하고 한 객체의 상태가 변하면 종속된 다른 객체에 통보가 가고 자동으로 수정이 일어나게 한다.

C++ - 함수 호출

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

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

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

C++ - resize()

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

JavaScript - Clock

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

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

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

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

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

Tensorflow - Python (4) 히든레이어

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

C++ - Default Parameter

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

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

Tensorflow - Python (2) Perceptron, Weight, Bias

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

Machine Learning이란?

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

Back to Top ↑

2020

[ETC] - Fix Double indirection

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

Git - refs

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

[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을 어떻게 할 것인가

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) 정렬 알고리즘

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

Data Structure - (8) 힙 Permalink

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

암호화 복호화

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

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

Git Basic

Git Basic Git Pro Book sourcetree program visual studio code

Data Structure - (4) 스택 Permalink

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

Back to Top ↑