일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- konga
- 자료구조
- DI
- fosslight
- pyannote
- 메소드
- prometeus
- ELK
- kong
- umc
- elastic search
- 하이브리드 데이터 모델
- OpenSource
- jwt-java
- 화자분리
- devops
- monitoring
- metricbeat
- java
- template/callback
- mybatis
- C++
- API Gateway
- roll over
- supabase
- docker
- Spring
- Nice
- 파이썬
- curl
- Today
- Total
목록BackEnd (50)
youngseo's TECH blog

개요 이번에는 이어서 GCR을 이용해 CD를 구현해보자 ! CD란 지속적 배포를 의미하며, Github 저장소에 있는 code를 변경했을 경우 자동으로 새롭게 배포된다. 소스코드를 수정하여 배포해야 하는 상황들이 다수 발생하게 된다면 CD 작업은 필수다. CD 설계에서 Deploy 시 서비스가 다운될 수 있다는 점을 주의해야 한다. GCP는 블루 그린 전략 무중단 배포를 지원하기 때문에 다운타임에 대해 걱정하지 않아도 된다 ! 👏 이번에도 Cloud Run에서 서비스를 만들거다. 아래와 같이 서비스를 만든다. 나는 프로젝트 koala에서 서비스를 만들거다. 이번에는 [소스 저장소에서 지속적으로 새 버전 배포]를 선택하고, 아래와 같이 CD를 적용할 Github 저장소를 선택한다. GCR은 도커 기반 배포..

개요 이번에 Koala 자동화 출석부를 만들게 되면서 서버 단은 어떤 형태로 서비스할지 고민해보게 되었다. 기능이 추가될 수는 있으나, 많은 트래픽이 들어오거나 데이터가 압도적으로 많아지는 서비스가 아니기 때문에 Serverless 형태를 고민하게 되었다. 크롤링 또한 Serverless 작업이지만, 서버 자체도 Serverless로 구현하여, 서버 비용을 최소화하여 구현하기로 하였다 ! JSP + Java/Spring 배포하기 우선 CI/CD를 구현하기 전에 꼭 ! "그냥 배포"를 먼저 시도해보길 바란다. 오히려 시간을 단축시켜줄 것이다.. 오류 뜨면 골치가 너무 아파요ㅠㅠ 그리고 CI/CD는 꼭 코드 구현 전에 미리미리 해두자.. 우선 내가 만든 프로젝트 툴은 JSP + Java/Spring 이었다...

개요2년간 열심히 활동했던 Koala 동아리를 이제 내려놓게 되었다 ! 지금껏 Koala 출석부 작성은 노가다성이었기 때문에 다음 기수 친구들의 고통을 덜어주고자 급하게 12월부터 코알라 출석부를 제작하기 시작했다. front부터 back까지 전 과정을 내가 스스로 구현하는(하지만 front는 매우 허접한) 프로젝트를 완성시켜보고 싶은 바램도 있었기에 의미있는 작업이었다.Serverless서버리스란 ‘서버가 없다’는 것이 아니고, ‘필요할때만 서버가 존재한다’는 것을 의미한다. EC2에 Docker image를 가동시켜 서버를 띄울 때에는 24시간 내내 서버가 떠있다. 하지만 스케줄링에 의해 작업되는 크롤링이라던가 특정 시간에만 서버를 사용하는 서비스라면, 굳이 24시간 내내 서버를 띄울 필요가 없다. ..

URI 와 URL URI와 URL의 차이 URI는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)를 의미한다. ex.ISBN 0-486-52847-7 URL은 웹주소로, 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약을 의미한다. scheme(https), host(youngseo-computerblog.tistory.com), port(80), path(137), query(key=value 형식) 등으로 이루어진다. ex. https://www.naver.com/ ex.https://youngseo-computerblog.tistory.com/137?name=restful&date=20231220 쉽게 말하면 URI는 식별하는 역할을 하고, URL..

다음은 토비의 스프링 7.3~7.4장 을 공부하고 정리하였습니다. 7.1~7.2장 내용 간단 요약 SQLReader - SQL을 어떻게 읽어오는지 SqlRegistry - SQL을 어떻게 저장해둘 건지 SqlService 이란? @PostConstruct 가 달린 빈 초기화 메소드와 SqlService 인터페이스에 선언된 메소드인 getFinder()을 sqlReader과 sqlRegistry를 이용하도록 변경 자기 자신을 참조하는 빈이다. → sqlService를 구현한 메소드와 초기화된 메소드는 외부에서 DI 된 오브젝트라고 생각하고 결국 자신의 메소드에 접근하므로 이 셋을 이용하여 디폴트 의존관계를 갖는 빈을 만들 수 있다. 디폴트 의존관계란 외부에서 DI 받지 않는 경우 기본적으로 자동 적용되는 ..

다음은 토비의 스프링 6장 AOP 를 공부하고 정리하였습니다. AOP를 이해하기 전에 먼저 아래 개념이 선행되어야 한다. 빈 생명주기 (그냥 훑어봐도 이해하기 쉽다. 아래 빈 후처리~ 로직을 이해하려면 필연적으로 알아야 함 !) DI Transaction (DataBase 관련 개념) 프록시 개념 아래 여러 혼란스러운 개념들이 나오니 단어들을 헷갈리지 않고 정리하면서 보는 과정이 필요하다.. AOP를 한 마디로 말하면, 공통된 기능을 재사용하는 기법이다. spring에서 볼 수 있는 AOP의 적용 대상은 바로 @Transactional 기능이다. 우선 Transactional 의 기본 코드는 아래와 같다는 사실을 알아두자. public void upgradeLevels() { PlatformTransac..
아래 글은 로버트 마틴의 클린코드 책 14장 ~ 끝까지를 읽고 작성한 글입니다. 아래 내용은 저자가 코드를 짜면서 사용하는 기교와 휴리스틱이다. 앞단의 내용과 조금 겹치는 부분도 존재하고, 내용이 이어지기 때문에 앞의 내용을 다 읽어야 이해가 쉽다. 주석 부적절한 정보 작성자, 최종 수정일, SPR 번호 등과 같은 메타 정보만 주석으로 넣는다. 쓸모 없는 주석 오래된 주석, 엉뚱한 주석, 잘못된 주석 등 쓸모 없는 주석은 코드를 그릇된 방향으로 이끈다. 중복된 코드 코드만으로 충분한데 구구절절 설명하지 말자. 성의 없는 주석 주석을 달 참이라면 시간을 들여 최대한 멋지게 작성한다. 단어를 신중하게 선택하고, 문법과 구두점을 올바로 사용하며, 간단하고 명료하게 작성하자. 주석 처리된 코드 주석으로 처리된 ..
아래 글은 로버트 마틴의 클린코드 책 1장 ~ 13장 을 읽고 작성한 글입니다. 개요 이 책을 읽게 된 이유는 최근에 내가 너무 '어쨌든 굴러가는 코드'에만 집중해 코드를 작성하려고 해서였다. 구현이 빨리 되어 결과물이 바로 눈에 보이는 게 좋긴 하였으나 너무 성급하게 짠 코드는 정신이 하나도 없었다. 이 책을 읽어보면서 내가 작성한 코드를 리팩토링하기로 했다. 내가 개발한 코드와 서비스를 이어받아 운영할 분들에게 어느 정도 도움이 되고 싶다. 클린 코드란? 깨끗한 코드는 ‘보기에 즐거운’ 코드다. 클래스, 함수 , 메서드 등을 최대한 줄인다. 중복이 없다. 세세한 사항까지 꼼꼼하게 처리하는 코드다. 모든 테스트를 통과한다. 한가지에 ‘집중’한다. 의미있는 이름 함축성을 담자. 특히나 for문에 i,j,..