전체 글

전체 글

    자바스크립트 배우기 좋은 사이트

    이 글에서는 리디아(Lydia)라는 사람의 Github과 Blog를 소개한다. 얼마나 퀄리티가 좋으면 특정 인물의 깃허브와 블로그를 소개하는지 직접보면 알 수 있다. 💡 자바스크립트 퀴즈 GitHub - lydiahallie/javascript-questions: A long list of (advanced) JavaScript questions, and their explanations A long list of (advanced) JavaScript questions, and their explanations :sparkles: - GitHub - lydiahallie/javascript-questions: A long list of (advanced) JavaScript questions, and ..

    어노테이션의 요소는 항상 상수여야 하는가?(컴파일 타임 상수)

    어노테이션에 Enum 값 사용하기어노테이션에 Enum을 통해 String 값을 넣으면 이런 에러를 마주친다.하지만 value 요소에 직접 String을 넣는 두번째 코드는 에러가 나지 않는다. 왜 같은 String인데 Enum을 사용했을 때 에러가 나는 것일까?에러 내용을 살펴보자.Attribute value must be constant어노테이션의 속성 값은 항상 상수여야 한다라는 뜻이다. 상수라 함은 Java에서 Final로 선언된 값을 의미하며 변경할 수 없는 값을 뜻한다.왜 String을 그대로 넣으면 변경할 수 없는 값이고 Enum을 통해 String을 넣으면 변경할 수 있는 값으로 판단하는 걸까? 어노테이션은 전부 컴파일 타임에 정해지는 값이다.그렇기에 어노테이션에 사용하는 값들은 런타임에 수..

    2022년의 회고

    기술보다는 비즈니스를 여러 기술을 아는 것만이 경쟁력이라고 생각했었다. 채용 조건이나 우대 사항을 보면 기술에 대한 나열이 그 회사를 들어가기 위한 최소 조건이라고 생각했기 때문이다. 하지만 그것보다 중요한 것이 있었는데 그건 바로 비즈니스 설계다. 이 능력은 기술이라는 단편적인 지식보다 더 고차원적인 지식을 말한다. 예를 들어 하나의 코드를 짜더라도 어떠한 방식으로 설계할 것인지, 어떠한 방식이 다른 개발자들에게 도움이 되고 편할 것인지, 어떠한 방식이 서비스를 이용하는 클라이언트에게 더 이롭게 다가갈 것인지, 어떤 방식이 의사소통이 쉬운 개발이 될 것인지에 대한 부분이다. 개발자는 개발만 하는 것이 아닌 서비스를 다뤄야한다라는 생각을 하게됐던 한 해 였다. 당연히 채용 조건에는 이런 부분이 담겨있진 ..

    스프링 로그인 권한 검사에 대한 설계 방법

    스프링을 개발해오면서 봐왔던 로그인 권한 검사에 대해 설계 방법을 정리할 겸 적어보고자 합니다. 특정 방식이 무조건 좋거나 혹은 무조건 나쁘다고 할 수 없을 만큼 각각의 방식들이 Trade-Off가 존재합니다. 아래의 리스트 중 API 권한 검사에 대한 코드만 Github에 올려놨으니 참조하시길 바랍니다. 계정에 대한 DB는 H2를 이용 했으니 아래와 같이 사용해주세요. Session을 이용한 권한 검사 ① Interceptor에서 Redirect 처리 가장 일반적인 방식에 속한다. Session 방식을 이용한 권한 검사 방식에서는 로그인한 사용자의 정보를 Session에 담게 되는데, Interceptor에서 해당 Session 정보가 존재하지 않는다면 로그인 화면으로 보내는 방식으로 개발한다. ② 여..