[Docker] Application Build & Test with Docker & Docker compose
·
DevOps/Docker & Kubernetes
📕 목차 1. CI(Continuous Integration) 2. Build Infrastructure 3. Build Setting : Docker compose 4. CI that only requires Docker 5. Containers related to the CI Pipeline 6. Practice 1. CI(Continuous Integration) 지금까지 우리는 아래의 두 가지를 배웠다. Docker를 이용해 Packaging 절차를 Docker 명령 하나로 전체 Application packaging 자동화 Docker compose로 Application Architecture를 구축하여, Application 종료 및 시작 절차 자동화 그렇다면, 명령행 스크립트를 작성하여 정..
[OS] CPU Scheduling
·
Computer Science/Computer Structure & OS
강민철님의 "혼자 공부하는 컴퓨터 구조+운영체제"을 기반으로 학습한 게시물입니다. 📕 목차 1. Overall 2. Scheduling Algorithm 1. Overall 📌 CPU Scheduling Process들에게 공정하고 합리적으로 CPU 자원을 배분할 지 정책을 만드는 것 (우선순위) CPU 이용률을 증가시키고, overhead, 응답 시간(Response time / Turnaount time), 대기 시간을 최소화하는 것이 목적 선점형 스케줄링과 비선점형 스케줄링으로 나뉜다. Memory에 여러 Process를 올려놓고(다중 프로그래밍), CPU 가동 시간을 적절히 나누어(시분할) 각각의 Process에게 분배하여 실행한다. 종류 특징 장기 스케줄러 (Long-term Scheduler)..
[SQL] Stored Procedure
·
Backend/MySQL
우재남님의 "혼자 공부하는 SQL"을 기반으로 학습한 게시물입니다. 📕 목차 1. What is Stored Procedure? 2. Stored Funcion & Cursor 3. Trigger 1. What is Stored Procedure? 📌 Concept Stored Procedure = SQL + 프로그래밍 기능 예컨데 일련의 쿼리를 모아 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. 🟡 개념과 형식 DELIMITER $$ CREATE PROCEDURE [스토어드 프로시저 이름](IN 또는 OUT 매개변수) BEGIN -- SQL 프로그래밍 코드 END $$ DELIMITER; CALL [스토어드 프로시저 이름](); 자주 사용하는 쿼리를 묶어 호출만 하면 사용할 수 있다. 장점 하나의 요..
[Effective-Java] Chapter10 #76. 가능한 한 실패 원자적으로 만들라
·
Reference/Effective-Java
📌 실패 원자적(failure-atomic) 💡 호출된 메서드가 실패하더라도 해당 객체는 메서드 호출 전 상태를 유지해야 한다 대충 트랜잭션의 ACID와 같은 이야기를 하는 거 같다. 1️⃣ 불변 객체(Item 217)로 설계하는 방법 public class String { ... public String substring(int beginIndex, int endIndex) { int length = length(); checkBoundsBeginEnd(beginIndex, endIndex, length); int subLen = endIndex - beginIndex; if (beginIndex == 0 && endIndex == length) { return this; } return isLatin..