전체 글

https://github.com/binary-ho
✏️ Study ✏️

[Git] Git file status lifecycle

오늘 수업에선 깃의 유래와 그 강력한 기능들, 그리고 기본 원리에 대해 다루었다. 나름 쉽게 알려주려 노력했으나, 어려움을 호소하는 학우분들이 많았다. 수업 이후 수강 학우분 께서 깃이 관리하는 파일의 라이프 사이클에 대해 자세한 질문을 주셨다. 수업 중 제대로 짚고 넘어가지 못한 부분에 대해 설명하겠다. 1. 추적하거나, 추적하지 않거나 위 그림은 깃이 관리하는 파일 상태의 라이프 사이클이다. 기본적으로 Git이 관리하는 파일의 상태는 두 가지 상태를 가진다. 1. 추적 하거나 2. 추적하지 않거나 (tracked, untrackted) 수업에서 언급했듯이 git은 파일의 변경 사항들을 기록해준다. 그런데 프로젝트 내에 모든 파일이 관리될 필요가 있을까? 저장소에 올리고 싶지 않은 비밀스런 파일이나 잠..

🌱 Java & Spring 🌱

Bucket4J 사용하는 법 자세히 알랴드림

Bucket4J Bucket4J는 쓰로틀링을 위한 라이브러리다. 짧은 순간 너무 많은 요청으로 서버에 심각한 부하가 발생하는 것을 막아주기 위한 쓰로틀링에 적합하다. 어플리케이션 레벨에서 요청 갯수 제한을 위한 쓰로틀링이 필요할 때, 자바 라이브러리인 Bucket4J를 활용하면 간단하게 적용할 수 있다. 요청의 최대 제한을 정해두고, 요청이 들어올 때마다 토큰을 하나씩 소비한다. 위 사진처럼 토큰을 모두 소비하면 요청을 막는 형태다. 작동 원리는 무엇일까? Bucket4J는 내부적으로 Token Bucket 알고리즘을 통해 입력이 들어오는 속도를 조절한다. 과자가 담겨있는 마법의 항아리가 있다고 생각해보자. 마법의 항아리는 총 10개의 과자를 담을 수 있고, 10개 보다 작은 갯수의 과자가 남게 되면 1..

🌱 Java & Spring 🌱

[Spring] Template Callback Pattern in Spring

Template Callback Pattern in Spring 템플릿 콜백 패턴은 전략을 익명 내부 클래스로 구현한 전략패턴이다. 템플릿 콜백 패턴은 전략 패턴의 변형으로, 스프링 3대 프로그래밍 모델 중 하나인 DI에서 사용하는 특별한 형태의 전략 패턴이다. 템플릿 콜백 패턴과 전략 패턴은 전략을 익명 내부 클래스를 사용하는 점이 다르다. 결합도가 조금 증가하지만, 전략마다 팩토리 객체를 일일이 만들 필요가 없다. 유연하게 내부 구현체만 바꿔주면 로직 가능하다. 외부에서 어떤 전략을 사용하는지 감추고, 중요한 부분에만 집중할 수 있습니다. 스프링은 Template Callback Pattern을 DI에 적극 활용하고 있기 때문에, 스프링을 제대로 이해하고 활용하려면, 전략 패턴과 템플릿 콜백 패턴을 ..

🔥 Projects 🔥

[AWS] 하나의 EC2 인스턴스에 client, server 프로젝트 전부 배포하기! - React + Spring boot

[AWS] 한 EC2 인스턴스에 frontend, backend 전부 배포하기! - React + Spring boot 오늘은 하나의 EC2 인스턴스에 2개의 프로젝트를 배포하는 법에 대해 설명하겠습니다. 저도 EC2에 프로젝트를 배포하는 방법을 공부하기 위해 검색을 하고, 책까지 구매하여 공부하였으나, 두 프로젝트를 하나의 인스턴스에 넣고 배포하는 법에 대한 자세한 정보를 얻기는 어려웠습니다. (보통은 한 가지 프로젝트를 올리는 방법만 적혀 있습니다 ㅠ.ㅠ) 그래서 여기 저기서 정보들을 얻고 취합하고.. EC2에 배포한다는 것의 실제적인 의미를 파악하는 과정들을 통해 성공할 수 있었습니다. 기본적으로 EC2 인스턴스를 만든 후, putty를 통해 접속한 상황이라고 가정하겠습니다.(windows) 만드는..

진호우!
binary-ho 블로그