Docker로 MySQL 오늘은 개인 프로젝트 API를 간단하게 작성해보고 MySQL을 설치해 보았다. 로컬에선 Docker와 MySQLWorkbench를 연결해 사용하고, 배포할 때 RDS를 사용하기로 했다. 오늘은 그래서 도커를 설치하고 워크벤치에 연결을 시도해보았다. 도커를 설치하고 워크벤치에 연결을 하는 데 테스트에 계속 실패했다;...
✨TIL - 사이드 프로젝트 크롤링 공부
크롤링 공부 오늘은 백엔드끼리 사이드 프로젝트 관련해 회의를 하려했는데 어디서 크롤링을 해올걸인가, 크롤링의 범위에 관련된 이야기를 하게되었다. 그러다보니 자연스럽게 먼저 크롤링에 대한 공부부터 해와야할 것 같았고, 이번 시간에는 항해99 초반에 진행했던 파이썬을 사용해 작성했던 크롤링관련 코드를 다시 살펴보았고, 크롤링에 관한 강의를 찾...
/Java/ 깊은복사, 얕은복사
0. 배열의 깊은 복사, 얕은 복사 Java의 복사 얕은 복사(Shallow copy): 원본 배열이나 복사된 배열이 변경될 때 상대 배열의 값이 같이 변경된다. 깊은 복사(Deep copy): 원본 배열이나 복사된 배열이 변결될 때 서로간의 값은 바뀌지 않는다. primitiv...
/Spring/ Spring bean container
Spring bean container 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할 여기서 말하는 자바 객체를 스프링에서는 빈(Bean)이라고 부른다. IoC와 DI의 원리가 이 스프링 컨테이너에 적용됨 개발자는 new 연산자, 인터페이스 호출, 팩토리 호출 방식으로 객체를 생성하고 ...
/Spring/ AOP, Interceptor, Filter
AOP, Interceptor, Filter 웹 개발을 하다 보면 실제 비즈니스 로직이 호출되기 이전, 이후에 공통적으로 처리해야 할 기능들이 존재하는데 대표적인 예로 Logging, 인증, 인가, 인코딩 변환 등등이 있다. 공통적인 기능의 코드를 모든 모듈 및 페이지에서 작성하게 되면 코드의 중복이 발생하게 되고 MSA 기반에서는 각 ...
/Spring/ Spring Security, JWT
Spring Security Spring 기반의 어플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크 ‘인증’과 ‘권한’에 대한 부분을 Filter 흐름에 따라 처리 Spring Security의 구조 세션-쿠키방식으로 인증 세션에 사용자 정보를 저장한다는 것 = 전통적인...
/Algorithm/ 💬 정렬알고리즘
정렬 알고리즘 안정된 정렬 키값이 같은 요소의 순서가 정렬 전후에도 유지되는 것 안정되지 않은 정렬 키값이 같은 요소의 순서가 정렬 전후에도 유지되지 않는 것 내부 정렬 정렬할 모든 데이터를 ...
✨TIL - EC2, RDS 설정
RDS 오늘은 사이드프로젝트를 하면 크롤링한 내용을 저장도 해야하고 MySQL을 팀원과 공유해 사용해야할 것 같아 수진님과 함께 EC2 인스턴스 하나 생성하고 RDS 데이테이스 생성해 연결하는 것을 했다. 하지만 아직 프로젝트를 만들어 놓지 않은 상황이라 사이드프로젝트에 연결해보진 못하고 결국 내 개인 프로젝트에 연결해보았다. 성공했고,...
✨TIL - 사이드프로젝트 진행중
지난 프로젝트를 함께한 일탈(일상의 방탈출)팀과 함께 이번 사이드 프로젝트는 지난번 방탈출 정보 사이트인 “일탈(일상의 방탈출)” 팀 일부와 진행하는 사이드 프로젝트이다. 이전의 일탈 서비스에서는 방탈출 업체의 각 사이트에 있는 업체 정보와 테마 정보(난이도, 장르, 시놉시스 등)을 가지고 왔어야 했다. 원래는 크롤링으로 엑셀이나 구글시트...
/Java/ 가비지컬렉터(GC)
Garbage Collection(GC) 메모리 관리 방법중 하나 시스템에서 더이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것 ➡️ 가비지 컬렉터 가비지컬렉션을 수행하는 부분 Garbage Collector의 원리...