한국은 자바의 왕국이다. 자바를 사용한지 오래되었기 때문에 이미 개발된 서비스들이 자바로 구현된 것이 많이있다. 하지만 시간이 지날수록 점점 쉽고 더 발전한 프레임워크 등이 나타나면서 기존의 서비스들이 비효율적으로 보이기 시작했다. 하지만 이미 기존에 완성된 서비스를
스프링 이전에는 servlet이라는 클래스를 사용하여 서버를 만들었다. 새로운 기술이 만들어지고 만들어진 기술이 많이 사용되는 이유는 대게 이전의 기술의 불편한 점을 개선해서 새로운 기술이 개선되서 나오기 때문이다.그럼 서블릿의 불편한 점은 어떤 점이였을까?쉽게 그림으
이렇게 간단한 스프링은 크게 3가지 계층으로 분리된다.controller는 쉽게 말하자면 접수처이다. 병원을 생각해보면 처음에 병원을 방문하면 접수처에서 등록을 한다. 그리고 병원에서의 서비스가 끝난뒤 다시 접수처에서 계산을 한다. controller는 딱 그런 역할을
Ioc(Inversion of Control)이란 '제어의 역전'이라는 의미이다. 이는 타 블로그나 위키에 자세히 나와있다. 내가 공부하고 이해한 바로는 초기에 자바로 만드는 서버에서는 개발자에게만 모든 권한이 있었다. 이는 아주 강력한 권한이 있어 개발자 마음대로 모
이전에도 언급하였지만 개발의 기술(도구)의 발전은 이전 기술의 불편함에서 시작된다. 따라서 ORM이라는 것도 이전의 어떤 기술의 불편함을 해결하고자 탄생한 개념이다.이전의 서버 개발자들은 서버에 연결되어 있는 데이터베이스를 직접 관리했어야 했다. 이는 안그래도 많은 것
기존에는 flask를 기반으로 서버를 만들어왔는데 이번에 spring으로도 서버를 만들고 싶어서 스프링을 학습하였다. 벡엔드를 공부하고 학습하는데는 게시판만한 프로젝트가 없기 때문에 게시판 프로젝트를 만들었다.spring으로는 처음 어떤 것을 만들다보니 flask에서는
기존에 만들었던 spring 게시판 ver1에 다양한 기능을 추가하였다. 이번 프로젝트를 시작할 때 스프링에 관한 개념들을 몰라서 힘들었다. ioc와 di의 개념을 이해하기가 힘들었고 의존성 주입을 하는 알고리즘 또한 이해하기 힘들었다. 로그인을 관리해주고 권한을 부여
테스트 코드란 내가 작성한 코드가 실제 서비스에서도 잘 동작을 하는가? 내가 예상했던 결과가 나오는가를 테스트 해보는 행위이다. 지금까지 개발을 하면서 왜 구지 따로 테스트 코드를 작성 해야되는지 이해가 되지 않았다. 그냥 코드를 작성하고 서버를 실행시켜서 어느 부분에
웹 개발을 하는 사람들이 가장 많이 사용하는 기능중 하나는 로그인 기능일 것이다. 새로운 프로젝트를 생성 할 때 마다 로그이 기능을 만들고 보안을 신경쓰는 작업은 매우 불편한 작업이다. 이런 반보되는 불편함을 싫어하는 개발자들이 이것을 가만히 뒀을리가 없다. 스프링은
Spring ORM자바와 데이터베이스 관계를 정의한 JPA를 개발자가 사용 할 수 있게끔 만들어준 구현체가 Hibernate이다. 사실 JPA를 구현하는 구현체에는 Hibernate 말고도 DataNucleus, EclipseLink 등 다른 구현체들도 존재하고 원한
컨테이너는 객체의 생성과 소멸을 컨트롤하고 이런 객체들로 만들어진 인스턴스에 추가적인 기능을 제공하는 것객체(Object)는 소프트웨어 세계에 구현할 대상 (목표)클래스(Class)는 객체를 구현하기 위한 설계도 (방법)인스턴스(Instance)는 클래스에 따라 소프트
Spring Seucurity 아키텍쳐 스프링 흐름 Request 요청이 들어오면 우선 Dispatch Servlet에서 맞는 controller에 값을 전달하주는 방식으로 서비스가 운영이 된다. 여기서 스프링 security는 1단계에 해당하는 Request에서
이전에 프로젝트를 진행하면서 매일 00시에 테이블을 일괄적으로 갱신해는 작업이 있었다. 경험이 부족했던 그땐 spring batch라는 기능의 존재만 알고 결국에는 스케쥴러로 구현했는데 결국 돌고돌아 spring batch를 맞이하게 되었다.이 둘의 차이는 동작이 일어