전체 글

행복한띠용이의 코딩 블로그입니다.
·Programming/Coding
개요백엔드 개발 시 main 브랜치 push 에 따라 자동 배포를 통해 개발 서버를 유지하고자 한다. 이를 위해 Github action 와 AWS 의 S3, CodeDeploy, EC2 를 사용해서 배포한다.서버는 Spring Boot 를 사용하였다!전체적인 구조는 위와 같다.Github 에 push 시에 Github Action 이 동작한다.Github Action 을 통해 S3 에 코드가 저장되며 CodeDeploy 가 실행된다.AWS CodeDeploy 는 S3 에 존재하는 코드를 EC2 에 복사하고 실행시킨다.해당 프로세스를 통해 Github push 를 통해 개발 서버를 배포할 수 있다!1. AWS 세팅IAM1. IAM 유저 생성가장 먼저 IAM 유저를 생성해야한다.User 를 생성하면 use..
·Programming/JAVA
개요GC, 가비지 컬렉션은 메모리 관리 기법 중 하나이다.실제 C 에서 동적할당하기 위해서는 malloc 을 사용하며 개발자는 free 메서드를 통해 명시적으로 메모리를 꼭 해제해주어야한다. 그 이유는 C 언어에 Garbage Collector 가 없기 때문이다. 그럼 Java 에서 메모리를 할당하고 해제한 경험이 있는가? 아마 대부분은 없을 것이다. 이는 Java 에서 GC 가 존재하기에 언어 자체적으로 메모리 누수를 막아주기 때문이다. 그렇다면 Java 에서는 메모리 누수에 대해 걱정할 필요가 없는가??GCGC 알고리즘Reference Counting루트 스페이스에 대해 먼저 설명하자면 이는 스택 변수, 전역 변수 등 heap 영역 참조를 담은 변수이다. 실제 heap 공간에 존재하는 변수들을 참조하..
·Programming/JAVA
개요Spring 프레임워크 없이 웹 서버를 구현해보고 실제 Spring Boot 에서 사용하는 방법과 비교해보고자 한다. 웹 서버 Without Spring실제 웹 서버를 Spring 없이 구현해보자. try (ServerSocket listenSocket = new ServerSocket(port)) { logger.info("Web Application Server started {} port.", port); // 클라이언트가 연결될때까지 대기한다. Socket connection; while ((connection = listenSocket.accept()) != null) { T..
·Programming/JAVA
Thread in Java쓰레드란 프로그램 실행의 가장 작은 단위이다. 일반적으로는 Main 하나로 동작시키겠지만 웹 서버 등에서는 계속해서 클라이언트의 연결 요청을 받아줘야하기에 매 요청에 대해서 동시성을 지원해줘야한다.Java 버전에 따른 스레드의 발전 과정 등에 대해서 알아보자.  Java 버전ThreadJava5 이전Runnable, ThreadJava6Callable, Future 및 Executor, ExecutorService, ExecutorsJava7Fork/Join 및 RecursiveTaskJava8CompletableFutureJava9FlowRunnable@FunctionalInterfacepublic interface Runnable { public abstract void..
·Programming/JAVA
Java의 stream의 Mapping 메서드 중에는 boxed 메서드가 있다. Mapping은 stream의 요소를 다른 요소로 대체하는 중간 처리 기능인데 boxed()는 아래와 같은 기능을 가진다. int -> Integer long -> Long double -> Double Mapping의 한 종류이기 때문에 눈으로 보이는 것은 대소문자 차이밖에 없지만 분명히 다른 요소들이다. 그럼 무엇이 다른 것인가?? 먼저 정수형 변수를 선언한는 세 가지 방법에 대해 알아보자. int a = 1; Integer b = 1; Integer c = new Integer(1); 세 번째 줄에서는 The constructor Integer(int) has been deprecated since version 9 a..
행복한띠용이
행복한띠용이의 코딩