wave to us 웨이브투어스언젠가 우리가 새로운 흐름이 되자. 밴드의 앨범을 차례대로 듣다보면 ‘사람’ 에 대해서 궁금해지곤 한다.그렇게 듣다보면 그들이 음악을 하며 지나온 삶에 느끼는 가치가 무르익는 과정을 음악을 통해서 느낄 수 있다.웨이브투어스의 음악을 듣다보면 ‘사랑’, ‘상처’, '설렘' 이 떠오른다. 상처뭐라고 할까 음악에 상처가 조금씩 느껴지지만, 그렇게 아프지 않은 마음의 상처라고 표현을 해야할까?나도 나이가 많은 건 아니지만, 웨어스의 음악은 작은 상처로 가득한 사랑 그리고 삶에 대한 고민을 음악을 통해 우리의 마음을 공감하며 함께 그냥 살아가자고 덤덤하게 이야기한다.(위로라고 표현하기 보다는 공감을 느꼈다.) 셀렘무엇인가 새로운 것을 하는것(사랑, 취미, 일 등등)은 에너지를 쏟아야..
스프링 JPA를 사용하여 many-to-many 를 표현하기 위해서는 중간 테이블을 '직접' 만들어야 한다. 반면에 django 는 many-to-many 를 중간 테이블을 자동 생성해준다. 그렇게 되는 원리와 왜 자동으로 생성해주는지를 알아보자 원문 -- Extra fields on many-to-many relationships When you’re only dealing with many-to-many relationships such as mixing and matching pizzas and toppings, a standard ManyToManyField is all you need. However, sometimes you may need to associate data with the re..
회사에 입사 한지 한 달 하고도 2주가 지났다. 6주 지남. 그런데 아직도 제대로 회사 서비스를 이해하기가 쉽지가 않다. 처음 접해보는 서비스면서 회사 코드를 보면서 드는 생각은 정말 코드를 많이 안쳐봤다는 거다. 개발자는 코드를 쳐야 개발자도 많은 코드를 쳐야 여러 코드를 빠르게 이해할 수 있고, 눈치껏 코드를 알아갈 수 있고 갖고 갈 수 있고 코딩할 수 있다. 부족함을 많이 느낀다. 개인의 속도대로 가야 오버페이스 하지 않고 지치지 않기에 개인의 페이스를 지키고 싶지만, 막상 마음의 조급함으로 그렇지 못하다. 많은 이야기를 들어봤기 때문에 그렇게 막... 심적으로 힘들지는 않지만, 못한다는게 좀 힘들다. 개인의 공부를 어떤식으로 가져가야할지 어떤 공부를 해야할지 고민이 많다. TIL 을 하도록 노력하..
JPQL (Java Persistence Query Language) JPA를 사용하면 엔티티 객체를 중심으로 개발 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색을 해야한다. 하지만 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능하다. 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검색 조건이 포함된 SQL이 필요하다. 그래서 JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어를 제공한다. SQL과 문법이 유사하고, SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN등을 지원한다. JPQL은 엔티티 객체를 대상으로 쿼리를 질의하고 SQL은 데이터베이스 테이블을 대상으로 쿼리를 질의한다. ----------------------------..
스프링 시큐리티를 적용하면서 직접 시큐리티를 커스텀 설정한다. Spring @EnableWebSecurity vs @EnableGlobalMethodSecurity Protecting Our Endpoints --> @EnableWebSecurity With Spring Security on the classpath, Spring Boot Security Auto-Configuration‘s WebSecurityEnablerConfiguration activates @EnableWebSecurity for us. AD This applies Spring's default security configuration to our application. Default security activates both ..

Spring Core 인 Bean과 Container의 관계를 알고 있습니다. 스프링은 좋은 객체 지향 어플리케이션을 만들 수 있도록 도와주는 하나의 프레임워크 입니다. 따라서 스프링의 핵심은 객체 지향입니다. 이러한 객체 지향의 방향으로 스프링의 bean과 container는 스프링의 core입니다. 스프링 컨테이너 는 객체의 생명주기를 관리, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것 인스턴스 생성부터 소멸까지의 인스턴스 생명주기 관리를 개발자가 아닌 컨테이너가 대신 해줍니다. 객체관리 주체가 프레임워크(Container)가 되기 때문에 개발자는 로직에 집중할 수 있는 장점이 있습니다. 그렇다면 스프링 Bean은 무엇인가? Bean 은 스프링 컨테이너에 등록된 객체를 말한다. 따라서 스..
일반 CRUD Repository와 다르게 JPA Repository의 차이는 무엇일까? 그리고 JPA Repository 가 제공하는 쿼리 메소드는 일반적으로 우리가 사용하는 쿼리와 어떤 차이가 있는것일까? Working with Spring Data Repositories The goal of the Spring Data repository abstraction is to significantly reduce the amount of boilerplate code required to implement data access layers for various persistence stores. Spring Data Repositories를 사용하는 이유 Spring Data repository abst..

Spring Framework Spring Core 인 Bean과 Container의 관계를 알고 있습니다. 스프링의 특징인 IoC/DI 를 관계를 알고 있습니다. Spring AOP를 관계를 알고 있습니다. Spring MVC 를 이용해 프로젝트를 진행하였습니다. MVC 패턴에 대해 설명해주세요 - jwt JWT는 JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 웹 토큰입니다. 토큰에서 사용할 정보 JWT는 헤더, 페이로드, 시그니쳐 3 부분으로 이루어지며 각 부분은 Base64Url로 인코딩 됩니다. 토큰의 헤더는 시그니쳐를 해싱하기 위한 알고리즘이 지정되어있고 페이로드는 토큰에서 사용할 정보가 담겨있습니다. 시그니쳐는 토큰을 인코딩 혹은 유효성 검증을 할 때 사용하는 고유한..