전체 글
![[RabbitMQ] 기능 및 아키텍처](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxdPaY%2FbtsrDcsZtpY%2FFTIPuePw0mi5HZ0YPbGsk0%2Fimg.png)
[RabbitMQ] 기능 및 아키텍처
RabbitMQ란? AMQP를 구현한 오픈 소스 메시지 브로커 소프트웨어로 메시지를 생산하는 생산자(Producer)가 메시지를 큐에 저장해 두면, 메시지를 수신하는 소비자(Consumer)가 메시지를 가져와 처리하는 Publish/Subscribe 방식의 메시지 전달 브로커이다. 왜 사용하는 것인가❓ 비동기 통신 지원: RabbitMQ는 비동기 통신을 지원하여 시스템 간의 통신을 느리거나 부하가 많이 걸리는 작업으로부터 분리시킬 수 있습니다. 이로써 시스템이 더 빠르고 확장 가능하게 작동할 수 있습니다. 확장성: RabbitMQ는 메시지 큐를 사용하여 수평 확장이 가능합니다. 필요에 따라 큐, 프로듀서 및 컨슈머를 추가하거나 제거하여 시스템을 쉽게 확장할 수 있습니다. 작업 조정: RabbitMQ는 작..
Docker Springboot Container에 외부 환경 변수 적용하기
설명 Springboot 프로젝트의 application.yml에 적용되어 있는 값중 AWS 설정 값 ..등 민감한 정보들에 대해 변수화 하고 서버내.env파일을 두어 Docker 컨테이너 실행시 .env를 읽어 들여 application.yml에 변수에 값이 적용 되도록 처리 application.yml # S3 config cloud: aws: s3: bucket: ${AWS_S3_BUCKET_NAME} stack.auto: false region: static: ${AWS_S3_REGION} credentials: accessKey: ${AWS_S3_BUCKET_ACCESS_KEY} secretKey: ${AWS_S3_BUCKET_SECRET_KEY} .env AWS_S3_REGION=ap-nort..
[SpringBoot] profiles 환경별 설정
Spring Boot에서 Profile 환경별 설정 Springboot 2.4 버전 이전과 이후 버전에 대한 profile 설정이 바뀐 부분이 담겨 있으며 설정파일을 여러개로 나누는 것이 아닌 application.yml 하나로 환경별 분리를 한다. (참고용으로 기록) SpringBoot 2.4 이전 # default spring: profiles: active: local --- # local spring: profiles: local ..하위 추가 설정 --- # dev spring: profiles: dev ..하위 추가 설정 --- # prod spring: profiles: prod ..하위 추가 설정 SpringBoot 2.4 이후 # default spring: profiles: active..
[Unity] 이벤트 함수 실행 순서
❓ 이벤트 함수란? Unity 게임 엔진은 기본적으로 유니티가 제어권을 갖지만 특정 시기가 되면 스크립트(C# 응용 소프트웨어 제어 코드) 안에 선언된 함수가 실행되며 제어권을 스크립트에게 넘겨줍니다. 스크립트에 작성된 함수가 실행이 완료 되면 다시 제어권은 유니티로 넘어오는 형태가 됩니다. 이러한 함수는 게임 플레이 중에 발생하는 이벤트에 대응하여 유니티에서 활성화되기 때문에 이벤트 함수라고 합니다. 특정 시기마다 게임 오브젝트를 검토하여 이벤트 함수 호철 조건이 충족 되는 게임 오브젝트가 있으면 해당 오브젝트가 가지고 있는 스크립에 선언되어 있는 이벤트 함수를 호출합니다. 초기화(Initialization) ➡ 에디터 실행(Editor) ➡ 물리(Physics) ➡ 입력 이벤트(Input Events..
![[React] - 설치 및 기본 환경 세팅](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdqHsP%2FbtrPTjIxLJt%2FA5NKmKFqCg1vLxWmrp3Rr1%2Fimg.png)
[React] - 설치 및 기본 환경 세팅
1️⃣. Node.js 설치 https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 최신버전도 있지만 안정화된 LTS 버전을 다운로드 받는다. 💡 Node.js란? Chrome의 V8엔진을 이용하여 Javascript로 브라우저가 아니라 서버를 구축하고, 서버에서 JavaScript가 작동되도록 해주는 런타임 환경 쉽게 말하면 Javascript를 서버사이드로 사용할 수 있도록 만든 프로그램이다. 이전까지는 Java로만 서버사이드를 구축을 했다면 javascript 언어 한가지로 서버 사이드와 클라이언트 사이드를 모두 한 가지 언어로 웹을 구현할 수 있도록..
![[Design Pattern] 스트레티지 패턴 (Strategy Pattern)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCrDWV%2FbtrIcG6CH4p%2F9RULv9kgRiQofHtI95RNc1%2Fimg.png)
[Design Pattern] 스트레티지 패턴 (Strategy Pattern)
❓스트레티지 패턴(Strategy Pattern) 이란 여러 알고리즘을 하나의 추상적인 접근점을 만들어 접근점에서 상호교환 가능하도록 하는 패턴으로 유연하고 재사용 가능한 OOP 설계를 위해 반복되는 디자인 문제를 해결 하는 방법론 카페에서 작성하다 문득 든 간단한 예시로 내가 세워볼 전략은 커피머신에서 다양한 커피를 내리는 것! ❗️요구사항 커피머신에서 다양한 커피를 내릴 수 있도록 구현 (추후에 커피의 종류가 추가 될 수도 있음) 커피의 종류 1. 아메리카노 2. 카페라떼 3. 콜드브루 ⚙️ Class Diagram Class Diagram 설명을 하자면 execute에서 실행이 되며 CoffeeMachine 객체에 Coffee 라는 추상적인 접근점을 통해 다양한 Coffee를 선택(교체)(setCo..
![[Mac] home brew 설치 및 명령어를 알아보자](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtjfTz%2FbtrruANOCyr%2FkmM6Y8A6mZEd4LeD8MeBO1%2Fimg.jpg)
[Mac] home brew 설치 및 명령어를 알아보자
https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh Homebrew란? mac용 패키지 관리자, 다양한 애플리케이션이나 오픈소스 소프트웨어 설치 시 패키지 및 버전을 관리해주는 패키지 관리도구이다. 설치 - 버전관리 - 삭제까지 편하게 CLI 명령어로 처리 할 수 있다. Fomula - 패키지 정의 파일. 혹은 패키지 명(CLI) Ex) git, node .... Cask - 그래픽 GUI 응용 프로그램 명 (Homebrew의 확장) Ex) Chrome, firefox, mysqlworkbench.... terminal이나 iTerm에서 쉽게 설치 가능 1. 설치 명령어 $ /bin/bash ..
[MAC M1] Apple Silicon - Rosetta2 install
개요 1. 맥 m1을 사용하면서 필요한 정보들을 기록하려고 함 2. 개발관련 툴과 기본 세팅을 하면서 평소 자주 쓰는 ide를 설치 함에 있어 Apple Silicon을 지원하는 IntelliJ 와는 다르게 Eclipse에서는 Rosetta가 필요했음 Intel Mac에는 해당되지 않음. Mac에 Rosetta를 설치해야하는 이유? Apple Silicon이 탑재된 Mac에서 Intel기반의 Mac용으로 빌드된 앱을 실행할 때 Rosetta를 설치하라고 한다 https://support.apple.com/ko-kr/HT211814 Apple Silicon이 탑재된 Mac 컴퓨터 Apple은 2020년 말에 출시된 특정 Mac 컴퓨터 모델부터 Intel 프로세서에서 Apple Silicon으로 전환하기 시..
![[JAVA] JVM(Java Virtual Machine)에 대해서](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd1Kpp%2Fbtrp6daJae9%2FAHIIBKjpF2bQ29wIzBMOAk%2Fimg.jpg)
[JAVA] JVM(Java Virtual Machine)에 대해서
개요 Check JVM의 용어와 개념은 알고 있었지만 메모리구조, 작동방식에 대해 거의 무지한 상태 > 잘못된 코드를 작성하여 문제 발생 ↑ Java application을 실행하는데 힙 메모리가 부족했던 경험 > 대처 부족 Java로 개발을 하는데 JVM에 대한 지식이 없다는 것은 "요리를 하는데 요리법을 제대로 숙지하지 못한 상태에서 요리를 하는 것이다. " JVM에 대한 지식을 가지고 더 나은 개발을 해 나가기 위해 알아보았다. JVM(Java Virtual Machine)이란? JVM은 자바가상머신이라 불리며, 자바 바이트코드를 실행 할 수 있는 주체이며, 각종 운영체제에 구애받지 않고 프로그램을 실행할 수 있게 해준다. 자바 애플리케이션을 클래스 로더(Class Loader)를 통해 읽어 들여서..
![서버 사이드 렌더링(SSR)과 클라이언트 사이드 렌더링(CSR)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccaV90%2FbtrpU1GQ5oQ%2F52KJarEkxjtKIWGSp5WLe0%2Fimg.jpg)
서버 사이드 렌더링(SSR)과 클라이언트 사이드 렌더링(CSR)
렌더링이란? HTML, CSS, 자바스크립트 등 개발자가 작성한 문서의 내용들이 브라우저에서 출력되는 과정 (간단하게, 브라우저를 통해 사용자가 웹사이트에 접속하면 화면의 내용들이 뿌려지는 것. ) Server Side Rendering(SSR)은 무엇인가? 서버에서 사용자에게 보여질 페이지를 모두 구성하여 사용자에게 페이지를 보여주는 방식이다.(JSP/Servlet 방식) 각 HTML 페이지는 이미 구성이 완료되어있는 상태 페이지이며 이동시 각각의 이미 완성된 페이지를 불러옴 장점 초기 페이지 로딩 속도가 CSR보다 빠름 JS를 이용한 렌더링이 아니기 때문에 검색엔진최적화(SEO)에 효과적이다.(이미 다 만들어진 페이지를 검색엔진 크롤러가 요청에 대한 응답으로 받기 때문이다.) 서버에서 페이지 로직 및..