목록분류 전체보기 (151)
ultra_dev
DI란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. DI의 방법으로는 필드 주입, Setter 주입, 생성자 주입이 있다. 이 중 생성자 주입 방식이 추천된다. final 키워드를 사용할 수 있어서 컴파일 시점에 누락된 의존성을 확인 가능하고, 생성자 주입을 통해 변경의 가능성을 배제하고 불변성을 보장하며, 객체의 생성과 조립(의존관계 주입)이 동시에 실행되다 보니 순환참조에러를 사전에 잡을 수 있다는 장점이 있기 때문이다. 유사한 개념으로 IOC(INVERSION OF CONTROL)가 있다. IoC란 "제어의 역전" 이라..
오랜 시간 최종프로젝트를 진행하며 블로그에 많이 소홀했던 것 같다 이제부터라도 다시 글을 작성해야겠다. 이번 최종프로젝트를 통해서 많은 것을 얻을 수 있었다. 게시판 CRUD 및 조회 검색 기능에 대해 심도 깊게 알아갈 수 있었다. 쿼리의 중요성.. SQL의 중요성도 깨달을 수 있었다. aws s3를 활용한 이미지 업로드도 해봤고 그걸 개선 해보는 재미도 느낄 수 있었다. 어렵게만 느껴졌던 디버깅이나 테스트코드도 계속 짜보면서 친숙해졌다. 특히나 QueryDsl 같이 나중에 공부해서 써먹어야지 했던 것들도 공부해서 적용하니 꽤나 뿌듯한 감정이 생겼다. Jira같은 각종 협업 툴을 사용하고 github 커밋 메시지나 인텔리제이 코드 스타일도 통일하면서 협업의 재미를 느낄 수 있었다. 아쉬운 점 Spring..
아나그램(해쉬) 설명 Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아나그램이라고 합니다. 예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A(2), a(1), b(1), C(1), e(2)로 알파벳과 그 개수가 모두 일치합니다. 즉 어느 한 단어를 재 배열하면 상대편 단어가 될 수 있는 것을 아나그램이라 합니다. 길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세요. 아나그램 판별시 대소문자가 구분됩니다. 입력 첫 줄에 첫 번째 단어가 입력되고, 두 번째 줄에 두 번째 단어가 입력됩니다. 단어의 길이는 100을 넘지 않습니다. 출력 두 단어가 아나그램이면 “YES"를 출력하..