본문 바로가기
반응형

전체 글181

성격 검사 페이지 구현 회고 1 - github pages에서 react 배포하기 https://16ssss.github.io/ Sixteens. site 16ssss.github.io 해당 페이지를 만들고 배포하면서 겪었던 문제들을 회고하기 위해서 이 글을 작성하게 되었다. 구현하게 된 계기 현재 진행하고 있는 프로젝트에서 웹을 다룰 줄 아는 팀원이 없었다... 그나마 내가 리액트를 접해본 적이 있었기에 내가 담당하게 되었다. (백엔드에서 어느 정도 성장을 이루면 프런트엔드도 맛보리라 생각했기에 이 기회에 맛을 봐보자라고 생각했었음) 그렇게 나만 믿으라며 의기양양하게 시작하게 된 리액트... 하지만 시작부터 순조롭지 않았다. gh-pages 리액트를 깃허브 페이지에 배포하기 위해서는 빌드한 파일을 레파지토리에 올리고 github pages 설정을 해주어야 한다. 이걸 직접 했었는데 .. 2023. 6. 14.
MacOS에서 JDK (Java Developer Kit) 설치하기 맥북을 사용 중에 Java의 버전을 관리하고 싶어 설치방법을 알아보던 중 기록해두어야 할 것 같아서 글을 작성하게 되었다 맥북을 사용하는 사람이라면 대부분 설치되어있는 homebrew를 사용하여 설치하려고 한다. (그게 아니라면 직접 openjdk의 레파지토리에 들어가서 다운로드해주면 된다.) 주소 : https://jdk.java.net/java-se-ri/17 Java Platform, Standard Edition 17 Reference Implementations Java Platform, Standard Edition 17 Reference Implementations The official Reference Implementation for Java SE 17 (JSR 392) is based.. 2023. 6. 13.
[Spring boot] 설정 정보(application.yml / properties) 분리시키기 - spring profiles 사용 이유 현재 진행 중인 프로젝트에서 오라클 클라우드 프리티어를 이용해서 배포 테스트를 진행하게 되었다 현재 application.yml을 서브 모듈 ( https://teching.tistory.com/144 )을 사용해서 관리하고 있는 상황이었다. spring boot 설정 정보 외부에서 관리하기 2 - submodule https://teching.tistory.com/143 [spring boot 설정 정보 외부에서 관리하기 Spring boot 설정 정보 관리하기 서버를 github를 사용해서 형상관리를 할 생각인데 레파지토리를 public으로 열어두려고 한다... 공개 teching.tistory.com 오라클 클라우드의 DB는 특이하게 지갑을 이용해서 접속해야 하는데 그 경로를 지정해주어야.. 2023. 6. 12.
JVM (Java Virtual Machine), 자바 가상 머신 JVM JVM이란? Java Virtual Machine의 줄임말로 자바를 실행하기 위한 가상 머신을 의미한다. Java는 OS에 종속적이지 않다는 특징이 있는데 이를 위해서 OS와 독립적으로 JAVA를 실행시켜 주는 역할을 하게 된다. 자바의 컴파일 과정 일종의 가상 머신이다. 우리가 작성한 java 코드 (원시 코드)는 CPU가 인식하지 못하기 때문에 기계어로 번역을 해주어야 한다. JVM이 기계어로 번역해 주기 때문에 JVM이 읽을 수 있는 코드인 Java Bytecode (. class) 파일로 번역을 해서 JVM에 전달해 주게 된다. 우리는 java코드만 작성하여 class 파일만 생성하면 JVM을 통해 OS에 무관하게 실행시킬 수 있는 것이다. 자바 컴파일러 JDK 설치하면 bin에 존재하는 .. 2023. 6. 11.
트랜잭션 (tansaction) 트랜잭션 (tansaction) 트랜잭션이란? 트랜잭션이란 서비스에서 쪼갤수 없는 쪼갤수없는 로직의 단위이다. 예로 은행업무에서 이체를 할때 두가지 로직을 수행하게 된다. A의 통장에 X만큼의 금액을 감소시킨다. B의 통장에 X만큼의 금액을 증가시킨다. 이 두개의 로직중 한개만 동작해서는 안되고 항상 두개가 동작하거나 두개다 동작하지 않아야 한다. 따라서 이 두개의 로직은 하나의 트랜잭션으로 묶여야 한다. 트랜잭션의 속성 ACID 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability)이 존재한다. 이 4가지 속성의 앞글자를 따서 ACID라고 부른다. 원자성(Atomicity) 트랜잭션에 속한 각각의 문(데이터를 읽기, 쓰기, 업데이트 또는 삭.. 2023. 6. 11.
AWS 알아보기 6 - DynamoDB & Elasticache DynamoDB & Elasticache AWS DynamoDB 완전관리형 NoSQL 데이터베이스 서비스로서 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공 서버리스이므로, 따로 유지비용 없이 사용한 만큼한 지불 보조 인덱스를 통한 빠른 조회를 지원 NoSQL 특성상 관계가 없기 때문에 일반적으로 데이터를 찾기에는 인덱싱이 없으면 속도가 느려지지만 그 부분을 해결해 줍니다. 서버리스(람다) 서버와의 궁합이 매우 잘 맞는다. 람다에는 RDS를 사용하는 것은 기피해야 하고 다이나모 DB를 만들어야 한다. 람다는 서버리스이기 때문에 오토스케일링이 자유롭다. 따라서 DBMS의 connection pool을 넘어갈 수 있기 때문에 위험하다. 혹은 planetscale라는 서버리스 서비스를 사용한다. 파티션키.. 2023. 6. 11.
AWS 알아보기 5 - AWS RDS & Aurora AWS RDS & Aurora AWS RDS란? 클라우드 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있는 관리형 서비스 모음 RDS는 EC2위에서 동작하는 서비스 ( DB를 사용하기 위해서는 인스턴스가 필요하기 때문) 굳이 그렇게 하지 않는 이유는 DB를 좀 더 손쉽게 관리, 모니터링하기 위해서 RDS를 사용 RDS를 왜 사용? → 주요 기능들 때문 RDS 백업: 자동 백업, DB 스냅샷 멀티 AZ: 두 개 이상의 AZ에 걸쳐 DB를 구축하고 원본과 다른 DB(standby)를 자동으로 동기화(Snyc), 읽기 전용 복제본 CloudWatch 연동: DB인스턴스의 모니터링 (디테일 모니터링, CPU, Storage 사용량, 그 이외의 Error Log 등) → 클라우드 워치에 익숙해져야 한.. 2023. 6. 11.
AWS 알아보기 4 - 메시지 큐 (Message Queue) Message Queue AWS SQS, AWS Kinesis Queue? https://www.codenary.co.kr/architecture/list?category=실시간 스트리밍 https://www.codenary.co.kr/architecture/list?category=Event Driven https://www.codenary.co.kr/architecture/list?category=대용량 처리 비동기로 이벤트를 처리하기 위해 사용 AWS SQS Amazon Simple Queue Service 마이크로서비스, 분산 시스템 및 서버리스 애플리케이션을 위한 완전관리형 메시지 대 기열 표준 대기열 무제한 처리량 / 최소한 한 번 전달 (여러번 전달 될 수도 있음) / 최선 노력 순서 보통 .. 2023. 6. 11.
AWS 알아보기 3 - 컴퓨팅 파워 (Computing Power) Computing Power (서버) AWS EC2, AWS Elastic Beanstalk, AWS ECS, AWS Fargate, AWS Lambda (Serverless) AWS EC2 (Amazon Elastic Cloud Compute) 가장 기본적인 형태의 클라우드 컴퓨팅 (= 클라우드 컴퓨터 한 대) 온디맨드 선결제 금액이나 장기 약정 없이 저렴하고 유연하게 Amazon EC2를 사용하기 원하는 사용자 스팟 인스턴스 시작 및 종료 시간이 자유로운 애플리케이션 (노는 자원 활용하기) 안정성이 보장되는 서버에는 사용하면 안된다 보통 배치에 사용, 머신러닝에 사용 Saving Plans 1년 또는 3년 기간의 일정 사용량 약정을 조건으로 EC2 및 Fargate 사용량에 대해 저렴한 요금을 제공하.. 2023. 6. 11.
반응형