본문 바로가기

전체 글35

스프링 시큐리티(Spring Security) 간략히 정리 이번에 인증서버를 하나 만들면서 스프링 시큐리티를 사용해 보았다. 여태까지는 그냥 대충 구글링 해서 썼는데 이번 기회에 제대로 알고 좀 써볼까 싶어서 스프링 시큐리티 프레임워크의 철학과 동작 방식을 알아보았다. 스프링 시큐리티는 스프링 어플리케이션 보안 프레임워크이다. 어플리케이션 레벨에서 요청의 인증, 인가를 처리해 준다. 스프링 프레임워크의 필터 기능을 이용하여 스프링 디스패쳐 서블릿(Dispathcer Servlet)에 요청이 도달하기 전에 보안관련 작업을 할 수 있게 되어있다. 스프링 시큐리티를 쓰지 않을 시 필터나 인터셉터를 이용해서 필요한 기능을 일일히 구현하긴 할 수 있겠지만 튼튼하게 잘 나와있는 스프링 시큐리티를 좀 익혀서 쓰는 것이 좋아보인다. 다양한 방식의 인증을 구현할 수 있도록 되어.. 2021. 5. 27.
[JPA] JPA소개와 JPA의 Persistence Context 김영한님의 책 [JPA 프로그래밍]을 읽고 요약한 내용입니다. JPA는 무엇인가? JPA(Java Persistence API)는 자바진영의 표준 ORM(Object-Relational Mapping) 명세(인터페이스 모음) JPA의 명세에 맞게 구현되어 나와있는 ORM 프레임워크를 사용하여 개발을 하면 된다. 보통 하이버네이트(Hibernate)를 많이 쓴다. JPA를 사용하면 SQL에 의존적인 개발을 그만할 수 있게 된다. SQL 매퍼(MyBatis 같은 것들)를 사용해 데이터베이스 응답 결과를 객체에 매핑하여 사용하면 사실 어느정도 편하게 백엔드 개발을 할 수가 있긴 하지만 SQL을 계속 개발자가 관리를 해야한다. 이 점이 싫은 사람들을 위해 ORM이 생긴 것 아닐까? JPA는 자바 컬렉션에 데이터.. 2021. 5. 23.
스프링 없이 HTTP서버를 만들어 보았다. 자바 기초 다지기를 마무리 하는 차원에서 자바의 기본 HttpServer 를 이용해서 간단하게 서버를 만들어보았다. 이번에 새롭게 익히게 된 Stream API도 살짝 찍먹해 보았다. docs.oracle.com/javase/8/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/package-summary.html com.sun.net.httpserver (Java HTTP Server ) Interface Summary Interface Description HttpHandler A handler which is invoked to process HTTP exchanges. Class Summary Class Description Authenticato.. 2021. 4. 23.
JVM과 JRE와 JDK를 알아보았다. 자바로 프로그램을 사악 짜 보기 앞서서... 자바의 기초를 탄탄히 하고 시작해야 후환이 없으리라 여겨서 스윽 자바의 기본이라 하는 것들을 훑어 보았다. 제일 먼저 자바의 나와바리인 JRE와 JVM부터 알아보았다. 1. JDK, JRE, JVM JDK : Java Development Kit, 자바 개발 킷, 개발에 필요한 자바 컴파일러 같은 것들과 JRE와 JVM을 포함한다. JRE : Java Runtime Environment, 자바의 런타임, 개발에 유용한 자바 라이브러리를 잔뜩 담고 있음. 자바 프로그램을 실행만 한다면 JRE만 있어도 된다(JVM이 JRE에 있음). JVM: Java Virtual Machine, 가상 머신, 자바 바이트코드를 실행함. 2. 자바 코드의 실행 과정 자바후로그램 -.. 2021. 4. 20.
Optional 에 대해서 알아보았다. 나는 여태 Optional이 뭔지 제대로 모르고 그냥 대충 쓰고 넘어갔다. 그러다 어제 문득 Optional이 궁금해 져서 조금 알아보았다. 나중에 또 까먹고 궁금해 지면 내가 쓴 이 글로 돌아와서 상기해야지! Optional - 래퍼 클래스 중 하나로 T를 필드에 갖고 있다. 어떤 함수의 결과 등이 null을 반환할 경우가 있다면 Optional로 한 번 감아서 주고 받기를 기대하면서 만들어진 기능이라고 한다. 자바 8 부터인가 쓰기 시작했다고 한다. - null 체크하는 조건문을 줄일 수 있고(아예 안 쓸 수도 있을 것임), null을 참조하는 경우를 최대한 막을 수 있다(잘 쓰면) 사용하는 요-령 생성 요-령 : String을 갖고 해보기 1. Optional optional = Optional.o.. 2021. 4. 15.
TDD를 연습해 보았다... *주의* TDD 연습을 해 보고 느낀 점을 적은 글입니다. TDD에 대한 정보는 하나도 엄서요~~~~ Red...Green.....Refactor..... 중요한 것은 마음가짐... 하마터면 주객전도 될 뻔 했다.... 스프링 부트에서 어노테이션으로 엄청 지원해줘서 그거만 보다가 TDD의 핵심 철학을 놓칠뻔 했다... 중요한 것은 바로바로 테스트 코드를 먼저 쓰고 개발을 해 나가면서 클린 코드와 코드에 대한 자신감 등등 부수적인 효과를 얻는 것이다! 그리고 그걸 돕는 것이 바로바로 스프링부트의 테스트 도구들이다! 그러니 올바른 테스트 코드를 쓸 수만 있다면 도구는 그 때 그 때 찾아서 스면 된다!(그러려면 무엇무엇 있는지 알긴 해야함) 그렇다면 올바른 테스트 코드는 무엇인가??!! Fast ( 빠름 ) .. 2021. 4. 14.
나도 이제 TDD!! 할거야! 나는 여태 TDD를 안했다. TDD 방법론이란 것이 있다더라 하는 정도... 실제 테스트 주도 방식으로 개발해 본 적은 없다. 하지만 이제는 해볼라 한다! 왜냐하면!!! 요즘 TDD가 대세인 것 같아서!!!! 해보기 전에 일단 왜 하고 어떻게 해야하는 지에 대해 좀 알아봤다. TDD가 무엇? test-code first! 테스트가 개발을 이끌어가는 개발 방법론이다. 테스트를 먼저 짜고, 테스트를 만족하는 코드를 짜고, 그 코드를 이쁘게 만들기를 계속 반복함. Red - Green - Refactor Cycle로 요약할 수 있다고 합니다. Red - 어떤 결과를 기대하며 실패할 수 밖에 없는 테스트 코드를 짬 Green - Red를 동작하도록 만듦 -> 기대하는 결과를 만족하는 단위의 코드 작성(구현) R.. 2021. 4. 12.
ERD Cloud 정말 좋다. ERDCloud ERDCloud Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com 음청 쉽고 편하다. ERD Sample - My Contacts - YouTube 사용법도 대문에서 소개해준다. 나는 즐겨 쓰는데 다른 분들도 즐겨 쓰시어 부디 서비스 접는 일 없기를 바란다. 2021. 2. 11.