태그 목록
전체보기 (72)알고리즘(22)백준(21)Java(15)Spring(13)구현(5)BFS(4)DFS(3)문자열(3)aop(3)회고(2)DTO(2)Querydsl(2)동시성(2)그리디(2)명령어(2)docker(2)git(2)junit(2)aws(2)OOP(2)유니온파인드(2)di(2)Spring Framework(2)투 포인터(2)자료구조(2)next.js(2)Enum(2)test(2)CI/CD(2)JPA(2)IoC Container(1)프로그래머스(1)framework(1)library(1)List(1)Thread(1)GitLab Runner(1)S3(1)three.js(1)Mockito(1)배포 자동화(1)디미터 법칙(1)객체(1)iterator(1)validation(1)project(1)@DataJpaTest(1)lambda(1)캡슐화(1)Module(1)app.js(1)document.js(1)getServerSideProps(1)객체 종류(1)다형성(1)Spring Data JDBC(1)bean(1)service(1)shell script(1)POJO(1)oauth2(1)annotation(1)pointcut(1)class(1)entity(1)Heap Tree(1)transaction(1)프록시(1)Generic(1)stream(1)joinpoint(1)ec2(1)hash function(1)SLICE TEST(1)collection framework(1)템플릿 메서드 패턴(1)트랜잭션(1)github actions(1)tree(1)재귀함수(1)architecture(1)파싱(1)JVM(1)persistence context(1)프록시 패턴(1)Spring boot(1)core(1)memory(1)정렬(1)Binary Search Tree(1)재귀(1)피드백(1)데코레이터 페턴(1)github(1)상속(1)getStaticProps(1)spring security(1)메모리 제한(1)Map(1)spring mvc(1)Hash Table(1)디자인 패턴(1)그래프 탐색(1)inner class(1)탐색(1)영속성 컨텍스트(1)JDBC(1)PSA(1)docker compose(1)Handler Method(1)back tracking(1)set(1)RestDocs(1)Controller(1)exception(1)SOLID 원칙(1)Mapper(1)디자인패턴(1)ThreadLocal(1)시간 제한(1)순환 참조(1)예외 처리(1)cors(1)unit test(1)추상화(1)API 계층(1)쓰레드(1)instance(1)IoC(1)

프록시

클라이언트와 서버가 있다면 중간에서 대신 역할을 수행하는 것을 프록시라고 한다.단, 객체에서 프록시가 되려면 클라이언트는 서버에게 요청을 한 것 인지, 프록시에게 요청을 한 것인지 몰라야한다.접근 제어1.1 권한에 따른 접근 차단1.2 캐싱1.3 지연 로딩부가 기능 추

6일 전
·
0개의 댓글
·

개발 실수 교정 - 1

(참고) 객체의 구성 요소를 생각하기보다는 행동을 위주로 설계를한다면 OOP에 더 가까운 설계가 될 수 있다.변하지 않는 객체, 불변해야 하며, 동일하게 생성된 두 VO는 영원히 동일한 상태임을 유지해야한다. 잘못된 상태로는 만들어질 수 없으며 항상 유효한 객체여야 한

2023년 9월 6일
·
0개의 댓글
·

템플릿 메서드 패턴

공통된 부분이 있고 다른 부분이 있을때 abstract class로 정의하고 다른 부분을 abstract method로 정의하여 이를 상속 받아 따로 정의하여 사용하는 패턴쉽게 생각해서 템플릿을 만들어서 이를 사용하는 패턴이라고 보면 된다.abstract class 를

2023년 8월 29일
·
0개의 댓글
·

ThreadLocal

ThreadLocal을 이용해서 각 쓰레드마다 저장소의 개념으로 값을 저장할 수 있다.ThreadLocal을 사용하고 나서 꼭 ThreadLocal의 값을 비워줘야한다.\-> 이유예를 들어 Was 에서 ThreadLocal을 사용한다고 하자.Thread를 새로 생성하는

2023년 8월 28일
·
0개의 댓글
·

동시성 문제

동시성 문제의 발생 원인은 여러 쓰레드에서 값을 바꿀때 주로 발생한다. 단, 읽기만 한다면 발생하지 않는다.예를 들어 spring boot 기준에서 static으로 정의한 필드를 바꾼다거나 싱글톤으로 작성된 인스턴스의 필드 값을 여러 쓰레드가 바꿀때 발생한다.Threa

2023년 8월 24일
·
0개의 댓글
·

Spring Boot Docker 배포

토이프로젝트를 진행하던 중 프론트엔드 개발자 분들에게 테스트 API를 제공해줘야 하는 일이 발생한다. 프론트엔드 개발자 분들은 JVM이 설치되어 있지 않기 때문에 Docker를 이용하여 환경을 제공해준다.프로젝트 크기가 작을 경우에는 단순하게 Spring Boot 프로

2022년 12월 12일
·
0개의 댓글
·
post-thumbnail

QueryDSL TEST @TestConfiguration

QueryDSL을 적용한 Repository 테스트를 진행하는데 있어 다음과 같은 에러를 만났다. QueryDSL Configuration을 설정했는데도 다음과 같은 에러가 발생한다. 현재 JPA와 QueryDSL을 사용하고 있는 구조는 다음과 같다.BoardRepos

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

QueryDSL 적용

QueryDSL을 사용하면 복잡한 쿼리를 Java로 표현가능하며 동적인 쿼리도 작성이 가능하다. 기존의 복잡한 쿼리들을 JPQL이나 native query로 작성하였는데 이번 프로젝트를 진행하면서 JPA와 QueryDSL을 적용하려 한다.QueryDSL을 사용하기 위해

2022년 11월 10일
·
0개의 댓글
·

enum 타입에서의 == vs equals()

enum타입을 이용하여 ==과 eqauls() 연산을 했을때 같은 값을 비교한다는 연산에 있어서는 같다.==는 NPE를 발생시키진 않지만 equals()는 NPE를 발생시킨다.equals()는 컴파일 에러가 발생하지 않는 반면, ==는 컴파일 에러를 발생시킨다.eqau

2022년 11월 9일
·
0개의 댓글
·

프로젝트 멘토링 피드백

파이썬 경력 개발자로 자바측 백엔드로 커리어 전환을 위해 참여했으며, 전반적인 이해수준과 프로젝트의 이해도가 높아 프론트엔드, 백엔드 상관없이 모든 영역을 아우르며 프로젝트를 진행했고, 프로젝트 내내 기술적, 커뮤니케이션을 리드. 프로젝트 진행에 욕심이 많았기 때문에,

2022년 11월 1일
·
0개의 댓글
·
post-thumbnail

Github Actions

Github Action은 pull request나 push 같은 이벤트를 트리거로 Github 작업 workflow를 구성할 수 있다. workflow는 하나 이상의 작업이 실행되는 자돟화 프로세스이며, 각 작업은 자체 가상 머신 또는 컨테이너 내부에서 실행된다.wo

2022년 10월 22일
·
0개의 댓글
·
post-thumbnail

OAuth2

OAuth란? 정의 인증을 위한 표준 프로토콜의 한 종류로써 보안된 리소스에 엑세스하기 위해 클라이언트에게 권한을 제공한다. 즉 "특정 애플리케이션(Client)에서 사용자의 인증을 직접 처리하는 것이 아니라 사용자 정보를 보유하고 있는 신뢰할 만한 써드 파티 애플리

2022년 10월 21일
·
0개의 댓글
·
post-thumbnail

Quick-Book 프로젝트 회고

아이디어 선정 개발 시작 문제점 발생 회고

2022년 10월 14일
·
0개의 댓글
·
post-thumbnail

Spring Security

<span style="background-color:Interceptor나 Servlet Filter를 이용하여 보안 기능을 직접 구현가능하지만 Spring Security에서 안정적인 기능, 검증된 로직이기 때문에 Spring Security를 이용하는 것이

2022년 10월 11일
·
0개의 댓글
·

Spring RestDocs

Spring Rest Docs 적용 Spring Rest Docs API 문서 생성 흐름 스니핏은 코드의 일부 조각을 의미하며 여기서는 문서의 일부 조각을 의미한다. 테스트 케이스 하나당 하나의 스니핏이 생성되며, 여러개의 스니핏을 모아 하나의 API 문서를 생성할

2022년 10월 9일
·
0개의 댓글
·
post-thumbnail

테스팅

테스트 기능 테스트 "애플리케이션을 사용하는 사용자 입장에서 애플리케이션이 제공하는 기능이 올바르게 동작하는지를 테스트" 개발자 이외의 제 3자가 테스트의 주체가 된다. 통합 테스트 "API를 호출하는 테스트 코드를 통해 서비스 계층과 데이터 엑세스 계층을 거쳐 D

2022년 10월 9일
·
0개의 댓글
·
post-thumbnail

Docker

개발과 배포 환경을 일치쉬운 수평 확장각 서버에 쉽게 새로운 내용을 배포 컨테이너에 의해 격리되어 개별적으로 소유할 수 있는 자원프로세스네트워크파일 시스템리눅스 커널컨테이너 : 도커에 의해 관리/제공되는 애플리케이션 단위이미지 : 도커 컨테이너를 생성하는 데 사용되는

2022년 8월 4일
·
0개의 댓글
·

알고리즘 스터디 (나이순 정렬[백준 10814])

문제 나이순 정렬 - 실버 5 문제 이해 정렬 순서 : 나이순(1), 들어온 순서(2) Map을 사용하여 key, value 쌍으로 데이터를 저장하고 출력한다. 코드 코드 설명 시도(실패) 처음에 PriorityQueue를 사용하여 정렬을 하려고 시도하였다.

2022년 8월 2일
·
0개의 댓글
·

트랜잭션

🤔 트랜잭션이란? 데이터베이스에서 논리적 상태 변화, 즉 Insert, Update, Delete로 데이터베이스의 데이터가 변화가 있는 것을 트랜잭션(transaction)이라고 한다. 특징 >ACID 원칙 원자성(Atomicity) 둘 다 성공하던가 둘 다 실패하

2022년 7월 29일
·
0개의 댓글
·
post-thumbnail

Spring Data JPA

🤔 JPA란? JPA(Java Persistence API)는 Java 진영에서 사용하는 ORM 기술의 표준 사양이다. JPA 표준 사양을 구현한 구현체로는 대표적으로 Hibernate ORM이 있다. 데이터 엑세스 계층에서의 JPA 위치 데이터 엑세스 계층에서

2022년 7월 26일
·
1개의 댓글
·