kubeadm 기반 클러스터 구성 연습
설치가이드
설치가이드
Virtualization
Architecture overview
Virtualization
OS 선정
서버와 일반 컴퓨터의 차이
인프라 엔지니어의 역활
1. 프롤로그 컨테이너 가상화 기법을 사용하면 환경의 제약없이 큰 성능 저하 없이 프로젝트를 딜리버리 할수 있습니다. 이 포스팅에서는 Django 기반의 웹 어플리케이션을 동작하기 위한 가벼운 이미지를 만들기 위한 시도들에 대해 작성합니다.
DHCP 란? DHCP는 “Dynamic Host Configuration Protocol”의 약어로, 동적 호스트 구성 프로토콜을 나타냅니다. 이 프로토콜은 네트워크에서 컴퓨터나 장치가 IP 주소 및 기타 네트워크 구성 정보를 동적으로 할당받을 수 있게 해주는 표준화된 프로토콜입...
스트림 스트림(Stream)은 시간이 경과하며 쌓인 연속적인 데이터를 의미한다.
운영체제란 무엇인가? OS is software that operates computer system.
파일 이란 무엇인가? field: attribute, data item: object의 특정 정보를 나타냅니다. record: field 등의 모음 = object file: 레코드들의 모임
루트 파일시스템의 용량 초과 루트 파일시스템이 가득 차면 새로운 데이터나 파일을 저장할 수 없게 됩니다.
Spring? 넓은 의미의 Spring은 주로 엔터프라이즈급 자바 어플리케이션을 개발하기 위한 자바 기반의 오픈 소스 프레임워크 생태계이다. 좁은 의미의 Spring은 의존성 주입(Dependency Injection)을 통해 객체 간의 결합도를 낮추는 컨테이너 기술을 의미합니다....
0. 객체지향 프로그래밍 실세계를 참고하여 객체들을 창조하고, 그 객체들 간의 협력을 통해 프로그램을 개발하는것이다. 객체는 상태를 가지고 있다. 현재 상태 기반으로 책임에 맞는 행동(메소드)를 수행하여 성공/실패여부를 판단하고, 새로운 상태로 갱신한다.
1. 개요 https://www.acmicpc.net/problem/2616
1. 개요 https://www.acmicpc.net/problem/1726
1. 개요 https://www.acmicpc.net/problem/1613
1. 개요 https://www.acmicpc.net/problem/2234
1. 개요 https://www.acmicpc.net/problem/13904
1. 개요 https://www.acmicpc.net/problem/16637
1. 개요 https://www.acmicpc.net/problem/1774
1. 개요 https://www.acmicpc.net/problem/14442
1. 개요 https://www.acmicpc.net/problem/1939
1. 개요 https://www.acmicpc.net/problem/2342
1. 개요 https://www.acmicpc.net/problem/2143
1. 개요 https://www.acmicpc.net/problem/4386
1. 개요 https://www.acmicpc.net/problem/11066
1. 개요 https://www.acmicpc.net/problem/11066
1. 개요 https://www.acmicpc.net/problem/10986
1. 개요 https://www.acmicpc.net/problem/9466
트랜잭션 코드의 문제 ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;
ORM(Object Relational Mapping) ORM은 객체 지향 프로그래밍 언어에서 관계형 데이터베이스의 데이터를 객체로 매핑하여 데이터베이스와의 변환 작업을 자동화하는 기술을 의미한다.
0. 하이퍼텍스트 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 바로 접근할 수 있는 텍스트
개요 네트워크 계층은 네트워크에서 다른 네트워크로의 데이터 패킷을 송수신하는 데 중요한 역할을 하는 OSI(Open Systems Interconnection) 7계층 중 3계층에 속하는 계층이다.
개요 OSI 7계층안에서, 프로세스와 프로세스간의 통신을 담당하는 계층을 전송계층이라고 한다. 전송계층의 경우 송신측에서 데이터를 여러조각으로 쪼개는 세그맨테이션과 수신측에서 다시합치는 과정을 진행한다. 만약 데이터를 통으로 보냇을때 실패하면 다시 전송해야 하고, 이는 네트워크 트...
조인 데이터베이스에서의 “조인 (Join)”은 둘 이상의 테이블에서 가져온 데이터를 결합하여 단일 결과 집합을 생성하는 작업을 말한다. 여러 개의 테이블에 분산된 데이터를 합쳐서 하나의 테이블 형태로 만들어주는 것인데 이를 통해 서로 관련된 데이터를 함께 조회하거나 분석할 수 있...
키 데이터베이스에서의 “키”는 데이터베이스 테이블에서 각 레코드를 식별하는 데 사용되는 필드 또는 컬럼이다. 데이터베이스의 내용에의한참조 특징을 잘보여준다.
인덱스? 데이터베이스에 빠른 접근을 위해 생성한 자료구조
트랜잭션 데이터베이스상에서 더이상 쪼갤수 없는 작업의 단위
데이터베이스란 무엇인가 조회와 조작을 위한 조직화된 데이터
자바언어의 단점 자바는 타입 시스템과 객체 지향 특성을 강조하기 때문에 코드가 다소 길어질 수 있다. Getter와 Setter 메서드, 예외 처리 등은 간단한 작업에도 많은 코드를 필요로 하게 한다.
트리 트리는 순환이 발생하지 않는 그래프 자료구조이다. 이 특징으로 인해 한 노드를 특정하여 루트노드로 정하게 되면, 각 노드들은 한개의 부모노드와 여러 자식노드를 가질수 있어 데이터를 계층적으로 구조화 할수 있다.
1. 개요 https://www.acmicpc.net/problem/1256
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/154539
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/77485
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/77485
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12936
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150368
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150369
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150367
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/42889
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12902
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/17682
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/42576 https://school.programmers.co.kr/learn/courses/30/lessons/42862
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/64061 https://school.programmers.co.kr/learn/courses/30/lessons/67256
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/133499
STDIN, STDOUT, STDERR 표준 스트림(standard stream)이라고 하며 POSIX 기반의 OS에서 기본적으로 제공하는 추상화된 입출력 장치를 의미합니다. 표준입력(STDIN): 표준 입력 장치의 ID 는 숫자로는 0 이며 일반적으로는 키보드가 됩니다. ...
DNS란
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/72410
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/118666
인터넷 인터넷(Internet)은 인터넷 프로토콜 스위트(TCP/IP)를 기반으로 하여 전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망을 일컫는 말이다. 인터넷은 월드 와이드 웹, 전자 메일, 파일 공유, 웹캠, 동영상 스트리밍, 온라인 게임, VoIP, 모바일 앱 등 다양한 서...
메인 메모리 메인메모리(주기억장치)로 프로세스에 필요한 정보를 담는 휘발성 공간
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/148653
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12920
1. 합성수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/120846
1. 피자나눠먹기2 https://school.programmers.co.kr/learn/courses/30/lessons/120815
프로세스(테스크) 프로그램을 메모리에 올린 동적인 상태이다. 구체적으로 설명하면 OS가 프로그램을 메모리에 올리고 CPU를 위한 PCB(Process Control Block : 프로세스 제어 블록)을 할당한 상태이다. 프로세스들은 커널 공간에서 실행될 때 각자 스택 공간을 할당받...
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/131129
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/120902 https://school.programmers.co.kr/learn/courses/30/lessons/120913 https://school...
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150369
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/148653
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/148653
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12907
0. 해시함수 임의의 길이의 데이터를 고정된 길이의 데이터로 변환하는 함수이다
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/77886
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/120884
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/142085
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/120882
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120880 https://school.programmers.co.kr/learn/courses/30/lessons/120878
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120863 https://school.programmers.co.kr/learn/courses/30/lessons/120871
출처 https://school.programmers.co.kr/learn/courses/30/lessons/70130
1. Stateless 의 문제점 우리가 인터넷 뉴스 게시판에 댓글을 다는 상황을 예시로 들어보자. 댓글을 달기 위해서는 해당 웹서비스에 회원가입을 한후 로그인을 먼저 진행해야 한다. HTTP는 Stateless 하다는 원칙을 따져보면 사용자와 서버사이에 연결이 이루어지고 로그인을...
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120923 https://school.programmers.co.kr/learn/courses/30/lessons/120808
??
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120876
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120875
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12987
링크 https://school.programmers.co.kr/learn/courses/30/lessons/84021
출처 https://school.programmers.co.kr/learn/courses/30/lessons/42860
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12971
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12923
Equals 메소드를 꼭 오버라이딩 해야할까? 반드시 할필요가 없으며, 하더라도 제대로 안하면 찾기 힘든 버그를 발생시킬수 있다. 다음 사항에 속한다면 equals 메소드를 오버라이딩을 하지 않는것이 좋다. 클래스의 인스턴스가 unique 하다면 (equals를 통해 비교할일...
출처 https://school.programmers.co.kr/learn/courses/30/lessons/140107
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12923
풀이 ```python 문제요약 셔틀은 09:00부터 총 n회 t분 간격으로 역에 도착하며 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 가장 늦은 셔틀을 타고 사무실로 갈수 있는 시각을 구하자 같은 시각에 도착한 크루들이 있다면 대기열중에 제일 뒤에 선다. 다음날 셔틀을 타는...
출처 https://school.programmers.co.kr/learn/courses/30/lessons/131704
출처 https://school.programmers.co.kr/learn/courses/30/lessons/135807
ExecutorService JVM에서의 비동기적 작업을 관리해주는 기능을 제공한다. 왜 만들어졌을까 AS-IS: thread를 생성해서 작업을 처리한후, 처리가 완료되면 해당 Thread를 제거하는 작업을 진행해야 한다. TO-BE: Exe...
문제가 있는 예제 1 (예외발생) ```java import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Set;
Mutial Exclusion (상호배제)
출처 https://school.programmers.co.kr/learn/courses/30/lessons/72412
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12938
컴퓨터공학에서의 프레임워크? 특정된 분야(웹, 앱, 윈도우 어플레케이션) 의 앱을 구축하기 위한 필요한 기반 소프트웨어
풀이 ```python 문제요약 전우승자 라이언 중심부터 10점으로 시작 같은 지점에 더 많은 화살을 맞춘 자가 점수 한번만 가져간다. 화살의 갯수가 같으면 어피지가 가져간다. 화살을 둘다 한개도 못맞쳣으면 점수가 없다. 최종점수가 높은사람이 우승자, 최종점수가 같으면 어피치를 우...
정의
OSI 7 네트워크의 통신과정을 7단계로 나눈것이다. 왜 나누었는가? 책임을 명확히 분리하면서, 장애발생시 계층별로 살펴보면서 문제의 원인에서 배제시켜가면서 대응을 도울수 있다. 인터넷이 안되면, 랜선을 확인하고, 설정을 확인하고 … ...
풀이 ```python from itertools import permutations
jqGrid 란 ?
예시 프로젝트 링크
1. Serializable ? java.io 패키지에서 제공하는 직렬화/역직렬화 기능을 제공하는 인터페이스다. 이 인터페이스는 구현해야 하는 메소드는 없지만 jvm에게 표시해주는 marker의 역활을 한다. 이 인터페이스를 상속 받은 클래스는 JVM을 통해 직렬화/역직렬화가 가...
1. enum 상수들의 그룹 기능을 제공하는 프로그래밍 언어의 기능이다. java에서는 클래스를 통해 enum 기능이 구현된다.
1. 스프링 스프링 프레임워크와 스프링 프로젝트 생태계의 라이브러리를 Spring으로 통으로 일컬어서 부른다.
2. 풀이 ```python from collections import Counter from itertools import combinations
1. 문제 출처 문제 바로 가기
1. 문제 출처 문제 바로 가기
1. 개요 다익스트라 알고리즘은, 그래프 상의 한 vertex에서 다른 vertex들에 대해 최단거리를 계산하는 알고리즘이다. BFS 역시 그래프상에서 최단거리를 구하는데 활용할수 있지만, 각 edge에 가중치가 있는 경우 다익스트라 알고리즘등의 다른 방법을 사용해야 한다.
1. 개요 Amazon EKS는 자체 Kubernetes 컨트롤 플레인이나 작업자 노드를 설치 및 운영할 필요 없이 AWS에서 Kubernetes를 손쉽게 실행할 수 있도록 지원하는 관리형 서비스이다.
1. 개요 Transit Gateway는 완전관리형 hub-spoke model 서비스 이다. Transit Gateway는 수천개의 VPC와 연결할수 있고 VPN, Direct Connect와 연결이 가능하며 VPC peering 과 다르게 전이적 라우팅이 가능하다.
1. 개요 AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스이다. Lambda를 사용하면 대부분의 인터프리터 언어로 코딩된 애플리케이션(백엔드) 서비스를 실행할수 있다. Zappa는 파이썬 어플리케이션을 쉽게 서버리스 배포...
1. 개요 cloudfront는 edge location을 통한 컨텐츠의 빠른 다운로드, 업로드를 지원하는 서비스이다. 이외에도 signed cookie, signed url을 통해 허가된 사용자들에게만 컨텐츠를 제공하는 서비스를 구축할수 있다. 이번 시나리오에서 간단한 비디오 스...
1. 개요 elastic ip는 변하지 않는 정적 공인 ip 주소 서비스이다. 이미 ec2에 할당된 elastic ip를 다른 ec2에 할당해도 ip주소는 변하지 않기 때문에, 동일한 ip주소로 서비스를 유지할수 있는 장점이 있다. 하지만 로드밸런서와 오토스케일링그룹등의 서비스의 ...
1. 개요 s3 는 기본적으로 아마존 VPC에서 다루는 오브젝트로, ec2에서 s3를 접근하고자 할때 인터넷을 통해서 접근한다. 이걸 방지하기 위해서 나온 개념이 vpc endpoint이며, 이를 통해 ec2에서 아마존 사설망을 통해 s3에 접근할수 있고 인터넷을 통한 부정한 엑세...
1. 개요 Infrastructure as a code 도구 를 활용하면 GUI가 아닌 코드를 통해 인프라를 구축할수 있다. 여기까지 들어보면 어떤 장점이 있을가 싶은데, 마우스를 통해 클릭하여 인프라를 생성하는것보다 코드를 작성하는것이 조금더 빠르고, 작성해둔 코드를 똑같은 인프...
데이터베이스 관련되어있는 데이터의 모임이다.
1 인증서 제발급후 반영 예제 sudo kubectl create secret tls freshtuna-me --key="/etc/letsencrypt/live/freshtuna.me/privkey.pem" --cert="/etc/letsencrypt/live/freshtuna.m...
1. 서론 데이터베이스 시스템이나 어플리케이션 서버, 웹 서버를 운용하다 보면 어느순간 쌓여 있는 로그들을 확인할수 있다. 이렇게 쌓인 로그들은 운영중인 시스템에 장애가 발생했을때 원인을 찾기위해 자료로 활용되기 때문에, 로그를 확인하는 습관은 엔지니어가 가져야할 덕목이기도 하다....
1. kubeadm 소개 & 인프라 구성 kubeadm은 쿠버네티스가 제공하는 클러스터를 빠르게 구축할수 있도록 도와주는 도구입니다. kubeadm 외에도 로컬환경에서 간단하게 쿠버네티스를 구축해볼수 있는 minikube, 클라우드 프로비저닝을 기본으로 제공해주는 kops ...
1. 공개키 암호화 방식 출처: https://commons.wikimedia.org/wiki/File:Public_key_encryption.svg 공개키 방식은 암호화와 복호화에 같은 키를 사용하는 대칭키 방식과 다르게 누구나 알수 있는 공개키와 소유자만이 알고 있는 비밀키...
1. 개요 “knufesta2019.freshtuna.me” 와 “floweryroad-api.freshtuna.me” 로 접근할수 있는 두개의 웹서비스들을 k8s 오브젝트 ingress 를 통해 가상호스팅 하는 예제를 다루어보고자 한다.
1. CASE 1 미국 유명 커뮤니티 사이트인 reddit의 무한 대댓글을 모방하여 구현하는 과정을 정리했다.
1. 개요 Django가 기본적으로 제공해주는 User 모델에 부족함을 느낄때 직접 정의하여 사용할수 있다.
1. HATHOAS 클라이언트가 서버에 요청을 할때, 서버에서 미리 받아온 URL을 사용하는 기법
1. wsgi.py 웹서버와 비즈니스 로직 사이를 연결해주는 인터페이스
1. locality locality는 temporal locality와 spatial locality가 있다. temporal locality란 어떤 아이템의 일부분이 참조되면, 그부분은 짧은시간내에 재참조될 확률이 높은 성질을 의미한다. spatial locality란 어떤...
1. 정의
```bash #!/bin/bash
1. LAN L2 switch는 3계층의 RIP, OSPF 등의 라우팅 알고리즘을 사용하지 않는다. 오로지 MAC주소만을 사용하여 스위치가 구성한 네트워크안에서 페킷을 주고 받는다.
1. Internet 인터넷은 전세계에 걸친 수백만대의 컴퓨터들의 데이터통신을 위한 네트워크이며 분산 어플리케이션을 위한 infrastructure를 의미한다. 인터넷의 경계 부분에 연결되어있는 컴퓨터들을 host나 endsystem 이라고 부른다. endsystem들은 네트워크의...
1. 프롤로그 django는 프로젝트 구성에 있어서 자유도가 높은 프레임워크이다. 하지만 자유도가 너무 높은 나머지, 나는 프로젝트 구조를 짜면서 항상 방황해왔었다. 프로젝트 구조에 있어서 항상 정답은 없지만 우리가 개발했던 대학교 축제사이트 ‘머동머동’을 통해 best-pr...
1. 서론 CI/CD 파이프라인은 크게 형상관리, 빌드, 테스트, 배포, 모니터링으로 구성되어있다. 그중 ‘레지스트리’ 는 CI/CD 파이프라인을 통해 빌드된 이미지를 관리하는 서비스이며, 대표적으로 우리가 가장 많이 사용하는 docker hub, AWS ECR 등의 서비스가 ...
1. 거시적인 관점에서의 CI/CD
1. D O C K E R 도커는 사용자가 원하는 응용 프로그램들을 컨테이너(프로세스) 안에 격리시켜 활용할수 있게 해주는 오픈소스 프로젝트이다. 만약 여러분이 파이썬 환경에서 개발을 한다고 가정해보자. 기존 방식이라면 로컬환경에 루비를 깔고 개발을 시작했겠지만, Docker를 ...
1. 프롤로그 컨테이너 가상화 기법을 사용하면 환경의 제약없이 큰 성능 저하 없이 프로젝트를 딜리버리 할수 있습니다. 이 포스팅에서는 가벼운 이미지를 만들기 위한 시도들에 대해 작성합니다.
1. docker 설치하기
1. 현재 디렉토리에서 특정 확장자와 문자열을 포함한 파일검색 (find, grep, xargs, sed, sort) 특정 디렉토리의 파일들을 검색하기 위해서 find 명령어를 사용합니다. # 현재 디렉토리 하위에 있는 모든 파일들을 출력 find .
1. Lambda 1. Lambda란 무엇인가 람다 함수는 다음과 같은 특징을 같는다. 람다 함수는 이름을 지정하지 않아도 된다. 함수의 입력 변수의 이름 또한 필요 없다. 두 개 이상의 입력을 받는 함수는 하나의 입력을 받아 또다른 함수를 출력하는 함수로 다시 쓸 ...
1. network를 이용한 이미지 실행 ```bash docker network create floweryroad
1. 프롤로그 파이썬 기초 과정에서 다루기 힘든 예제들이나 원리, 패턴등을 정리해보고자 한다.
1. 생명주기 리액트에서 아용되는 모든 컴포넌트들은 라이프사이클을 따라서 통해 생성, 업데이트, 제거 된다. 리액트 개발시 생명주기에 대해 이해하는것은 중요하다고 생각하여 이번기회에 정리해보고자 한다. 그리고 개발하면서 새로 알은 지식이 있디면 추가적으로 수정해서 보완해 나가려 한...
1. 관계 데이터 모델의 뜻과 용어정리 자료의 저장형태를 행과 열의 2차원구조로 나타내는것을 의미한다.
1. 함수적 종속 Attribute A와 B가 있을때 A의 값을 알면 B의 값 혹은 값의 집합이 결정되면 B는 A에 함수적으로 종속되었다고 한다.
1. 프롤로그 DRF가 제공하는 Viewset을 활용하면 APIView와 달리 router와 filter class, 인증 클래스와 연계하여 하이레벨틱한 코딩을 할수 있다. 하지만 풀꽃길 프로젝트를 진행하면서 꽃들을 반환하는 Viewset 로직을 보고 걱정에 휩싸였다. 만약 특수...
2019년 5월 ‘우물 128번지’에서 주최한 뉴비톤 행사를 통해 처음으로 해커톤을 경험할수 있었다. 그렇게 신나게(?) 웹개발을 공부하고 팀원들과 개발하던 어느날, 우물 128번지에서 네트워킹을 위한 새로운 행사가 열린다는 소식을 들었다. ‘우물 128번지’가 주최하는 행사는...
1. Django Router 란 Django rest framework를 사용하면 Json object로 decode하거나 object를 json으로 encode 해야하는 수고를 덜어준다. django-router는 drf가 제공하는 viewset과 연계하여 url의 하드코딩을 ...
1. HttpResponse 모든 view는 요청에 대해 httpResponse를 반환하도록 설계해야 한다.
1. Docker compose를 활용하여 쉽게 컨테이너 생성하기 먼저 db_credential.env 를 만들어서 다음과 같이 작성해주자 POSTGRES_DB=5432 POSTGRES_USER=hoho POSTGRES_PASSWORD=hoho POSTGRES_INITDB_ARGS...
1. 프롤로그 ORM이란 프로그래밍언어상의 객체와 관계형 데이터베이스 간의 매핑을 의미한다. RDBMS를 연동할 때, SQL이나 Stored Procedure를 사용할수 있지만 ORM을 사용하면, 좀더 효율적으로 개발이 가능하다.
1. 프롤로그 ORM에서 제공하는 aggregate와 annotate를 활용한 사례를 적어보고자한다.
1. 프롤로그 Django ORM을 활용하면 편리하게 RDBMS의 Relation을 파이썬의 object로 mapping하여 제어 할수 있다.
1. 프롤로그 ORM이란 프로그래밍언어상의 객체와 관계형 데이터베이스 간의 매핑을 의미한다. RDBMS를 연동할 때, SQL이나 Stored Procedure를 사용할수 있지만 ORM을 사용하면, 좀더 효율적으로 개발이 가능하다.
1. 프롤로그 Django DRF의 꽃(?)인 시리얼라이저에 대해 연구해본 흔적을 남겨보려 한다.
5월 4일, 바야흐로 어른이날 전날, ‘우물128번지’ 에서 주관하는 해커톤에 참가하게 되었다. 개발경력 6개월을 위한 뉴비들을 위한 헤커톤, 이름도 Newbieton이다!! 과연 24시간동안 내가 잠안자고 코딩을 할수 있을것인가 걱정이 앞섰지만, 군대에서 오랫동안 야간...
1. Django란 무엇인가?
1. 개요 https://www.acmicpc.net/problem/2616
1. 개요 https://www.acmicpc.net/problem/1726
1. 개요 https://www.acmicpc.net/problem/1613
1. 개요 https://www.acmicpc.net/problem/2234
1. 개요 https://www.acmicpc.net/problem/13904
1. 개요 https://www.acmicpc.net/problem/16637
1. 개요 https://www.acmicpc.net/problem/1774
1. 개요 https://www.acmicpc.net/problem/14442
1. 개요 https://www.acmicpc.net/problem/1939
1. 개요 https://www.acmicpc.net/problem/2342
1. 개요 https://www.acmicpc.net/problem/2143
1. 개요 https://www.acmicpc.net/problem/4386
1. 개요 https://www.acmicpc.net/problem/11066
1. 개요 https://www.acmicpc.net/problem/11066
1. 개요 https://www.acmicpc.net/problem/10986
1. 개요 https://www.acmicpc.net/problem/9466
1. 개요 https://www.acmicpc.net/problem/1256
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/154539
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/77485
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/77485
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12936
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150368
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150369
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150367
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/42889
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12902
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/17682
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/42576 https://school.programmers.co.kr/learn/courses/30/lessons/42862
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/64061 https://school.programmers.co.kr/learn/courses/30/lessons/67256
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/133499
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/72410
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/118666
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/148653
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12920
1. 합성수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/120846
1. 피자나눠먹기2 https://school.programmers.co.kr/learn/courses/30/lessons/120815
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/131129
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/120902 https://school.programmers.co.kr/learn/courses/30/lessons/120913 https://school...
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/150369
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/148653
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/148653
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/12907
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/77886
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/120884
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/142085
1. 개요 https://school.programmers.co.kr/learn/courses/30/lessons/120882
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120880 https://school.programmers.co.kr/learn/courses/30/lessons/120878
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120863 https://school.programmers.co.kr/learn/courses/30/lessons/120871
출처 https://school.programmers.co.kr/learn/courses/30/lessons/70130
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120923 https://school.programmers.co.kr/learn/courses/30/lessons/120808
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120876
출처 https://school.programmers.co.kr/learn/courses/30/lessons/120875
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12987
링크 https://school.programmers.co.kr/learn/courses/30/lessons/84021
출처 https://school.programmers.co.kr/learn/courses/30/lessons/42860
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12971
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12923
출처 https://school.programmers.co.kr/learn/courses/30/lessons/140107
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12923
풀이 ```python 문제요약 셔틀은 09:00부터 총 n회 t분 간격으로 역에 도착하며 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 가장 늦은 셔틀을 타고 사무실로 갈수 있는 시각을 구하자 같은 시각에 도착한 크루들이 있다면 대기열중에 제일 뒤에 선다. 다음날 셔틀을 타는...
출처 https://school.programmers.co.kr/learn/courses/30/lessons/131704
출처 https://school.programmers.co.kr/learn/courses/30/lessons/135807
출처 https://school.programmers.co.kr/learn/courses/30/lessons/72412
출처 https://school.programmers.co.kr/learn/courses/30/lessons/12938
풀이 ```python 문제요약 전우승자 라이언 중심부터 10점으로 시작 같은 지점에 더 많은 화살을 맞춘 자가 점수 한번만 가져간다. 화살의 갯수가 같으면 어피지가 가져간다. 화살을 둘다 한개도 못맞쳣으면 점수가 없다. 최종점수가 높은사람이 우승자, 최종점수가 같으면 어피치를 우...
풀이 ```python from itertools import permutations
2. 풀이 ```python from collections import Counter from itertools import combinations
1. 문제 출처 문제 바로 가기
1. 문제 출처 문제 바로 가기
1. 개요 다익스트라 알고리즘은, 그래프 상의 한 vertex에서 다른 vertex들에 대해 최단거리를 계산하는 알고리즘이다. BFS 역시 그래프상에서 최단거리를 구하는데 활용할수 있지만, 각 edge에 가중치가 있는 경우 다익스트라 알고리즘등의 다른 방법을 사용해야 한다.
1. 프롤로그 컨테이너 가상화 기법을 사용하면 환경의 제약없이 큰 성능 저하 없이 프로젝트를 딜리버리 할수 있습니다. 이 포스팅에서는 Django 기반의 웹 어플리케이션을 동작하기 위한 가벼운 이미지를 만들기 위한 시도들에 대해 작성합니다.
0. 하이퍼텍스트 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 바로 접근할 수 있는 텍스트
1. Stateless 의 문제점 우리가 인터넷 뉴스 게시판에 댓글을 다는 상황을 예시로 들어보자. 댓글을 달기 위해서는 해당 웹서비스에 회원가입을 한후 로그인을 먼저 진행해야 한다. HTTP는 Stateless 하다는 원칙을 따져보면 사용자와 서버사이에 연결이 이루어지고 로그인을...
1. 개요 Amazon EKS는 자체 Kubernetes 컨트롤 플레인이나 작업자 노드를 설치 및 운영할 필요 없이 AWS에서 Kubernetes를 손쉽게 실행할 수 있도록 지원하는 관리형 서비스이다.
1. 개요 Transit Gateway는 완전관리형 hub-spoke model 서비스 이다. Transit Gateway는 수천개의 VPC와 연결할수 있고 VPN, Direct Connect와 연결이 가능하며 VPC peering 과 다르게 전이적 라우팅이 가능하다.
1. 개요 AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스이다. Lambda를 사용하면 대부분의 인터프리터 언어로 코딩된 애플리케이션(백엔드) 서비스를 실행할수 있다. Zappa는 파이썬 어플리케이션을 쉽게 서버리스 배포...
1. 개요 cloudfront는 edge location을 통한 컨텐츠의 빠른 다운로드, 업로드를 지원하는 서비스이다. 이외에도 signed cookie, signed url을 통해 허가된 사용자들에게만 컨텐츠를 제공하는 서비스를 구축할수 있다. 이번 시나리오에서 간단한 비디오 스...
1. 개요 elastic ip는 변하지 않는 정적 공인 ip 주소 서비스이다. 이미 ec2에 할당된 elastic ip를 다른 ec2에 할당해도 ip주소는 변하지 않기 때문에, 동일한 ip주소로 서비스를 유지할수 있는 장점이 있다. 하지만 로드밸런서와 오토스케일링그룹등의 서비스의 ...
1. 개요 s3 는 기본적으로 아마존 VPC에서 다루는 오브젝트로, ec2에서 s3를 접근하고자 할때 인터넷을 통해서 접근한다. 이걸 방지하기 위해서 나온 개념이 vpc endpoint이며, 이를 통해 ec2에서 아마존 사설망을 통해 s3에 접근할수 있고 인터넷을 통한 부정한 엑세...
1. 개요 Infrastructure as a code 도구 를 활용하면 GUI가 아닌 코드를 통해 인프라를 구축할수 있다. 여기까지 들어보면 어떤 장점이 있을가 싶은데, 마우스를 통해 클릭하여 인프라를 생성하는것보다 코드를 작성하는것이 조금더 빠르고, 작성해둔 코드를 똑같은 인프...
데이터베이스 관련되어있는 데이터의 모임이다.
1 인증서 제발급후 반영 예제 sudo kubectl create secret tls freshtuna-me --key="/etc/letsencrypt/live/freshtuna.me/privkey.pem" --cert="/etc/letsencrypt/live/freshtuna.m...
1. 서론 데이터베이스 시스템이나 어플리케이션 서버, 웹 서버를 운용하다 보면 어느순간 쌓여 있는 로그들을 확인할수 있다. 이렇게 쌓인 로그들은 운영중인 시스템에 장애가 발생했을때 원인을 찾기위해 자료로 활용되기 때문에, 로그를 확인하는 습관은 엔지니어가 가져야할 덕목이기도 하다....
1. kubeadm 소개 & 인프라 구성 kubeadm은 쿠버네티스가 제공하는 클러스터를 빠르게 구축할수 있도록 도와주는 도구입니다. kubeadm 외에도 로컬환경에서 간단하게 쿠버네티스를 구축해볼수 있는 minikube, 클라우드 프로비저닝을 기본으로 제공해주는 kops ...
1. 공개키 암호화 방식 출처: https://commons.wikimedia.org/wiki/File:Public_key_encryption.svg 공개키 방식은 암호화와 복호화에 같은 키를 사용하는 대칭키 방식과 다르게 누구나 알수 있는 공개키와 소유자만이 알고 있는 비밀키...
1. 개요 “knufesta2019.freshtuna.me” 와 “floweryroad-api.freshtuna.me” 로 접근할수 있는 두개의 웹서비스들을 k8s 오브젝트 ingress 를 통해 가상호스팅 하는 예제를 다루어보고자 한다.
1. locality locality는 temporal locality와 spatial locality가 있다. temporal locality란 어떤 아이템의 일부분이 참조되면, 그부분은 짧은시간내에 재참조될 확률이 높은 성질을 의미한다. spatial locality란 어떤...
1. 정의
```bash #!/bin/bash
1. LAN L2 switch는 3계층의 RIP, OSPF 등의 라우팅 알고리즘을 사용하지 않는다. 오로지 MAC주소만을 사용하여 스위치가 구성한 네트워크안에서 페킷을 주고 받는다.
1. Internet 인터넷은 전세계에 걸친 수백만대의 컴퓨터들의 데이터통신을 위한 네트워크이며 분산 어플리케이션을 위한 infrastructure를 의미한다. 인터넷의 경계 부분에 연결되어있는 컴퓨터들을 host나 endsystem 이라고 부른다. endsystem들은 네트워크의...
1. 서론 CI/CD 파이프라인은 크게 형상관리, 빌드, 테스트, 배포, 모니터링으로 구성되어있다. 그중 ‘레지스트리’ 는 CI/CD 파이프라인을 통해 빌드된 이미지를 관리하는 서비스이며, 대표적으로 우리가 가장 많이 사용하는 docker hub, AWS ECR 등의 서비스가 ...
1. 거시적인 관점에서의 CI/CD
1. D O C K E R 도커는 사용자가 원하는 응용 프로그램들을 컨테이너(프로세스) 안에 격리시켜 활용할수 있게 해주는 오픈소스 프로젝트이다. 만약 여러분이 파이썬 환경에서 개발을 한다고 가정해보자. 기존 방식이라면 로컬환경에 루비를 깔고 개발을 시작했겠지만, Docker를 ...
1. 프롤로그 컨테이너 가상화 기법을 사용하면 환경의 제약없이 큰 성능 저하 없이 프로젝트를 딜리버리 할수 있습니다. 이 포스팅에서는 가벼운 이미지를 만들기 위한 시도들에 대해 작성합니다.
1. docker 설치하기
1. 현재 디렉토리에서 특정 확장자와 문자열을 포함한 파일검색 (find, grep, xargs, sed, sort) 특정 디렉토리의 파일들을 검색하기 위해서 find 명령어를 사용합니다. # 현재 디렉토리 하위에 있는 모든 파일들을 출력 find .
1. network를 이용한 이미지 실행 ```bash docker network create floweryroad
1. 관계 데이터 모델의 뜻과 용어정리 자료의 저장형태를 행과 열의 2차원구조로 나타내는것을 의미한다.
1. 함수적 종속 Attribute A와 B가 있을때 A의 값을 알면 B의 값 혹은 값의 집합이 결정되면 B는 A에 함수적으로 종속되었다고 한다.
1. Docker compose를 활용하여 쉽게 컨테이너 생성하기 먼저 db_credential.env 를 만들어서 다음과 같이 작성해주자 POSTGRES_DB=5432 POSTGRES_USER=hoho POSTGRES_PASSWORD=hoho POSTGRES_INITDB_ARGS...
Virtualization
DHCP 란? DHCP는 “Dynamic Host Configuration Protocol”의 약어로, 동적 호스트 구성 프로토콜을 나타냅니다. 이 프로토콜은 네트워크에서 컴퓨터나 장치가 IP 주소 및 기타 네트워크 구성 정보를 동적으로 할당받을 수 있게 해주는 표준화된 프로토콜입...
스트림 스트림(Stream)은 시간이 경과하며 쌓인 연속적인 데이터를 의미한다.
운영체제란 무엇인가? OS is software that operates computer system.
파일 이란 무엇인가? field: attribute, data item: object의 특정 정보를 나타냅니다. record: field 등의 모음 = object file: 레코드들의 모임
루트 파일시스템의 용량 초과 루트 파일시스템이 가득 차면 새로운 데이터나 파일을 저장할 수 없게 됩니다.
Spring? 넓은 의미의 Spring은 주로 엔터프라이즈급 자바 어플리케이션을 개발하기 위한 자바 기반의 오픈 소스 프레임워크 생태계이다. 좁은 의미의 Spring은 의존성 주입(Dependency Injection)을 통해 객체 간의 결합도를 낮추는 컨테이너 기술을 의미합니다....
0. 객체지향 프로그래밍 실세계를 참고하여 객체들을 창조하고, 그 객체들 간의 협력을 통해 프로그램을 개발하는것이다. 객체는 상태를 가지고 있다. 현재 상태 기반으로 책임에 맞는 행동(메소드)를 수행하여 성공/실패여부를 판단하고, 새로운 상태로 갱신한다.
트랜잭션 코드의 문제 ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;
개요 OSI 7계층안에서, 프로세스와 프로세스간의 통신을 담당하는 계층을 전송계층이라고 한다. 전송계층의 경우 송신측에서 데이터를 여러조각으로 쪼개는 세그맨테이션과 수신측에서 다시합치는 과정을 진행한다. 만약 데이터를 통으로 보냇을때 실패하면 다시 전송해야 하고, 이는 네트워크 트...
조인 데이터베이스에서의 “조인 (Join)”은 둘 이상의 테이블에서 가져온 데이터를 결합하여 단일 결과 집합을 생성하는 작업을 말한다. 여러 개의 테이블에 분산된 데이터를 합쳐서 하나의 테이블 형태로 만들어주는 것인데 이를 통해 서로 관련된 데이터를 함께 조회하거나 분석할 수 있...
키 데이터베이스에서의 “키”는 데이터베이스 테이블에서 각 레코드를 식별하는 데 사용되는 필드 또는 컬럼이다. 데이터베이스의 내용에의한참조 특징을 잘보여준다.
인덱스? 데이터베이스에 빠른 접근을 위해 생성한 자료구조
트랜잭션 데이터베이스상에서 더이상 쪼갤수 없는 작업의 단위
데이터베이스란 무엇인가 조회와 조작을 위한 조직화된 데이터
자바언어의 단점 자바는 타입 시스템과 객체 지향 특성을 강조하기 때문에 코드가 다소 길어질 수 있다. Getter와 Setter 메서드, 예외 처리 등은 간단한 작업에도 많은 코드를 필요로 하게 한다.
STDIN, STDOUT, STDERR 표준 스트림(standard stream)이라고 하며 POSIX 기반의 OS에서 기본적으로 제공하는 추상화된 입출력 장치를 의미합니다. 표준입력(STDIN): 표준 입력 장치의 ID 는 숫자로는 0 이며 일반적으로는 키보드가 됩니다. ...
DNS란
인터넷 인터넷(Internet)은 인터넷 프로토콜 스위트(TCP/IP)를 기반으로 하여 전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망을 일컫는 말이다. 인터넷은 월드 와이드 웹, 전자 메일, 파일 공유, 웹캠, 동영상 스트리밍, 온라인 게임, VoIP, 모바일 앱 등 다양한 서...
메인 메모리 메인메모리(주기억장치)로 프로세스에 필요한 정보를 담는 휘발성 공간
프로세스(테스크) 프로그램을 메모리에 올린 동적인 상태이다. 구체적으로 설명하면 OS가 프로그램을 메모리에 올리고 CPU를 위한 PCB(Process Control Block : 프로세스 제어 블록)을 할당한 상태이다. 프로세스들은 커널 공간에서 실행될 때 각자 스택 공간을 할당받...
??
Equals 메소드를 꼭 오버라이딩 해야할까? 반드시 할필요가 없으며, 하더라도 제대로 안하면 찾기 힘든 버그를 발생시킬수 있다. 다음 사항에 속한다면 equals 메소드를 오버라이딩을 하지 않는것이 좋다. 클래스의 인스턴스가 unique 하다면 (equals를 통해 비교할일...
ExecutorService JVM에서의 비동기적 작업을 관리해주는 기능을 제공한다. 왜 만들어졌을까 AS-IS: thread를 생성해서 작업을 처리한후, 처리가 완료되면 해당 Thread를 제거하는 작업을 진행해야 한다. TO-BE: Exe...
문제가 있는 예제 1 (예외발생) ```java import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Set;
Mutial Exclusion (상호배제)
컴퓨터공학에서의 프레임워크? 특정된 분야(웹, 앱, 윈도우 어플레케이션) 의 앱을 구축하기 위한 필요한 기반 소프트웨어
정의
OSI 7 네트워크의 통신과정을 7단계로 나눈것이다. 왜 나누었는가? 책임을 명확히 분리하면서, 장애발생시 계층별로 살펴보면서 문제의 원인에서 배제시켜가면서 대응을 도울수 있다. 인터넷이 안되면, 랜선을 확인하고, 설정을 확인하고 … ...
1. Serializable ? java.io 패키지에서 제공하는 직렬화/역직렬화 기능을 제공하는 인터페이스다. 이 인터페이스는 구현해야 하는 메소드는 없지만 jvm에게 표시해주는 marker의 역활을 한다. 이 인터페이스를 상속 받은 클래스는 JVM을 통해 직렬화/역직렬화가 가...
1. enum 상수들의 그룹 기능을 제공하는 프로그래밍 언어의 기능이다. java에서는 클래스를 통해 enum 기능이 구현된다.
1. CASE 1 미국 유명 커뮤니티 사이트인 reddit의 무한 대댓글을 모방하여 구현하는 과정을 정리했다.
1. 개요 Django가 기본적으로 제공해주는 User 모델에 부족함을 느낄때 직접 정의하여 사용할수 있다.
1. HATHOAS 클라이언트가 서버에 요청을 할때, 서버에서 미리 받아온 URL을 사용하는 기법
1. wsgi.py 웹서버와 비즈니스 로직 사이를 연결해주는 인터페이스
1. 프롤로그 django는 프로젝트 구성에 있어서 자유도가 높은 프레임워크이다. 하지만 자유도가 너무 높은 나머지, 나는 프로젝트 구조를 짜면서 항상 방황해왔었다. 프로젝트 구조에 있어서 항상 정답은 없지만 우리가 개발했던 대학교 축제사이트 ‘머동머동’을 통해 best-pr...
1. 프롤로그 DRF가 제공하는 Viewset을 활용하면 APIView와 달리 router와 filter class, 인증 클래스와 연계하여 하이레벨틱한 코딩을 할수 있다. 하지만 풀꽃길 프로젝트를 진행하면서 꽃들을 반환하는 Viewset 로직을 보고 걱정에 휩싸였다. 만약 특수...
1. Django Router 란 Django rest framework를 사용하면 Json object로 decode하거나 object를 json으로 encode 해야하는 수고를 덜어준다. django-router는 drf가 제공하는 viewset과 연계하여 url의 하드코딩을 ...
1. HttpResponse 모든 view는 요청에 대해 httpResponse를 반환하도록 설계해야 한다.
1. 프롤로그 ORM이란 프로그래밍언어상의 객체와 관계형 데이터베이스 간의 매핑을 의미한다. RDBMS를 연동할 때, SQL이나 Stored Procedure를 사용할수 있지만 ORM을 사용하면, 좀더 효율적으로 개발이 가능하다.
1. 프롤로그 ORM에서 제공하는 aggregate와 annotate를 활용한 사례를 적어보고자한다.
1. 프롤로그 Django ORM을 활용하면 편리하게 RDBMS의 Relation을 파이썬의 object로 mapping하여 제어 할수 있다.
1. 프롤로그 ORM이란 프로그래밍언어상의 객체와 관계형 데이터베이스 간의 매핑을 의미한다. RDBMS를 연동할 때, SQL이나 Stored Procedure를 사용할수 있지만 ORM을 사용하면, 좀더 효율적으로 개발이 가능하다.
1. 프롤로그 Django DRF의 꽃(?)인 시리얼라이저에 대해 연구해본 흔적을 남겨보려 한다.
1. Django란 무엇인가?
설치가이드
Virtualization
OS 선정
서버와 일반 컴퓨터의 차이
인프라 엔지니어의 역활
ORM(Object Relational Mapping) ORM은 객체 지향 프로그래밍 언어에서 관계형 데이터베이스의 데이터를 객체로 매핑하여 데이터베이스와의 변환 작업을 자동화하는 기술을 의미한다.
예시 프로젝트 링크
1. 스프링 스프링 프레임워크와 스프링 프로젝트 생태계의 라이브러리를 Spring으로 통으로 일컬어서 부른다.
1. 프롤로그 컨테이너 가상화 기법을 사용하면 환경의 제약없이 큰 성능 저하 없이 프로젝트를 딜리버리 할수 있습니다. 이 포스팅에서는 Django 기반의 웹 어플리케이션을 동작하기 위한 가벼운 이미지를 만들기 위한 시도들에 대해 작성합니다.
1. 프롤로그 컨테이너 가상화 기법을 사용하면 환경의 제약없이 큰 성능 저하 없이 프로젝트를 딜리버리 할수 있습니다. 이 포스팅에서는 가벼운 이미지를 만들기 위한 시도들에 대해 작성합니다.
1. Docker compose를 활용하여 쉽게 컨테이너 생성하기 먼저 db_credential.env 를 만들어서 다음과 같이 작성해주자 POSTGRES_DB=5432 POSTGRES_USER=hoho POSTGRES_PASSWORD=hoho POSTGRES_INITDB_ARGS...
2019년 5월 ‘우물 128번지’에서 주최한 뉴비톤 행사를 통해 처음으로 해커톤을 경험할수 있었다. 그렇게 신나게(?) 웹개발을 공부하고 팀원들과 개발하던 어느날, 우물 128번지에서 네트워킹을 위한 새로운 행사가 열린다는 소식을 들었다. ‘우물 128번지’가 주최하는 행사는...
5월 4일, 바야흐로 어른이날 전날, ‘우물128번지’ 에서 주관하는 해커톤에 참가하게 되었다. 개발경력 6개월을 위한 뉴비들을 위한 헤커톤, 이름도 Newbieton이다!! 과연 24시간동안 내가 잠안자고 코딩을 할수 있을것인가 걱정이 앞섰지만, 군대에서 오랫동안 야간...
1. Lambda 1. Lambda란 무엇인가 람다 함수는 다음과 같은 특징을 같는다. 람다 함수는 이름을 지정하지 않아도 된다. 함수의 입력 변수의 이름 또한 필요 없다. 두 개 이상의 입력을 받는 함수는 하나의 입력을 받아 또다른 함수를 출력하는 함수로 다시 쓸 ...
1. 프롤로그 파이썬 기초 과정에서 다루기 힘든 예제들이나 원리, 패턴등을 정리해보고자 한다.
개요 네트워크 계층은 네트워크에서 다른 네트워크로의 데이터 패킷을 송수신하는 데 중요한 역할을 하는 OSI(Open Systems Interconnection) 7계층 중 3계층에 속하는 계층이다.
1. 생명주기 리액트에서 아용되는 모든 컴포넌트들은 라이프사이클을 따라서 통해 생성, 업데이트, 제거 된다. 리액트 개발시 생명주기에 대해 이해하는것은 중요하다고 생각하여 이번기회에 정리해보고자 한다. 그리고 개발하면서 새로 알은 지식이 있디면 추가적으로 수정해서 보완해 나가려 한...
jqGrid 란 ?
0. 해시함수 임의의 길이의 데이터를 고정된 길이의 데이터로 변환하는 함수이다
트리 트리는 순환이 발생하지 않는 그래프 자료구조이다. 이 특징으로 인해 한 노드를 특정하여 루트노드로 정하게 되면, 각 노드들은 한개의 부모노드와 여러 자식노드를 가질수 있어 데이터를 계층적으로 구조화 할수 있다.
Architecture overview