일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- mariadb
- 남궁성
- 국비지원
- 불친절한SQL
- cleanbuild
- Oracle
- 자바연습문제
- MySQL
- 인프런
- 쿼리
- 패스트캠퍼스
- Spring
- SpringFramework
- java
- 자바의정석
- oauth
- ApplicationContext
- devcamp
- 오라클
- 소셜로그인
- 자바기초
- 스프링
- 스프링의정석
- 자바문제
- RDBMS
- 기초쿼리
- 패캠
- 클린빌드
- 자바
- SQL
- Today
- Total
목록스프링 (12)
Darren's Devlog
안녕하세요. 오늘은 스프링배치에 대한 소개라는 주제로 포스팅해 보겠습니다. 최근에 저는 실무에서 스프링배치 관련 유지보수 업무를 맡게 되었습니다. 업무하다보니 단순한 유지보수 작업을 넘어, 프레임워크에 대한 이해와 성장에 대한 도전의식이 생기게 되었습니다. 실제 업무를 통해 스프링 배치에 대한 지식과 경험을 쌓으며, 단순히 코드를 고치는 것 이상의 가치를 찾고 싶었습니다. 뿐만 아니라, 직접 배치 프로그램을 설계하고 구현하는 것을 목표로 스프링배치를 주제로 스터디를 진행하게 되었습니다. 이번 스터디를 통해 실무에서의 역량을 더욱 향상시키며, 더 나은 개발자로 성장하고자 하는 목표를 가지고 시리즈로 이어나갈 계획입니다. 스프링배치의 등장 배경 스프링 배치는 Java 진영에서 대용량의 데이터를 일괄 처리를 ..
자바를 공부를 하다 보면 자연스럽게 스프링에 관심을 가지게 되고, 스프링을 공부를 하다 보면 한 번쯤은 다음과 같은 질문을 해보셨을 겁니다. "스프링과 스프링부트는 무엇이 다르지?" 저도 단순하게 스프링보다 설정이 간편하고 내장 톰켓을 지원한다 정도로만 넘겼었습니다. 이번에 개인적으로 공부를 하며 비슷하지만 서로 엄연히 다른 스프링과 스프링부트에 대해 알아보기로 했습니다. Java기반 웹 기술의 발전 시작하기 앞서 스프링의 등장 배경부터 스스로에게 질문해 보았습니다. 1989 - 1997 인터넷의 등장 이후, 1989년에 처음으로 Website가 등장하게 됩니다. 웹사이트의 첫 등장 이후 1997년에 100만 번째 도메인이 등록되고, 인터넷과 가정용 PC가 보급되면서 웹 사용자가 급격히 증가하게 되었습니..
ObjectMapper은 데이터 포맷 중 하나인 JSON을 간편하게 POJO로 다룰 수 있는 기능들을 제공합니다. 또한 매우 Customizable하기 때문에 고도한 Object 처리를 가능하게 해줍니다. 오늘은 JSON → POJO로 변환하는 과정(Deserialize, 역직렬화)에서 발생한 InvalidFormatException을 해결할 수 있는 CustomDeserializer클래스를 만들어보겠습니다. 1. 시나리오 Book JSON [ { "name":"자바의정석", "reviewCount":"735" }, { "name":"토비의스프링", "reviewCount":"2,413" } ] BookDto @Getter @Setter public class BookDto { private String..
네이버 블로그에서 티스토리로 이전하는 중입니다. https://blog.naver.com/darren_gwon/222703634581 episode 3. 강의 똑같이 따라한거 같은데 JUnit테스트 통과가 안됩니다 ㅠㅠ 질문자분께서 JUnit을 활용한 TDD(Test Driven Development) 파트 강의를 제대로 따라한 거 같은데 테스트 통과가 안된다는 질문을 해주셨습니다. 원인파악 테스트 코드를 보아하니, 참조변수 boardDao의 null 체크를 하여 bean주입이 제대로 되었는지 안되었는지를 테스트하는 작업인 것을 확인할 수 있었습니다. 가장 먼저, @Autowired가 제대로 작동하여 bean 주입이 되는지 확인해야할 것 같아 BoardDaoImpl 클래스에 @Repository 애너..
네이버 블로그에서 티스토리로 이전하는 중입니다. https://blog.naver.com/darren_gwon/222697364351 episode 2. View를 변경했는데 반영이 안됩니다. 질문자분께서 HomeController와 home.jsp를 삭제하셨는데도 맵핑이 유지되어 있고, index.jsp를 불러오지 못한다는 질문을 하셨습니다. 문제해결 먼저, servlet-context에 default 주소를 "/"에 view로 index.jsp맵핑을 하도록 안내해드렸습니다. 하지만 이미 설정을 해 놓은 상태라고 하셔서 프로젝트 파일 구성을 확인해보았습니다. HomeController와 home.jsp가 제대로 삭제되어있는 걸 확인했습니다. 제거도 이미 제대로 되어있는 상태네요. default 주소..
네이버 블로그에서 티스토리로 이전하는 중입니다. https://blog.naver.com/darren_gwon/222689697014 스프링의 정석 3-15을 수강하며 JUnit에서 TDD를 하는 중에 예상하지 못한 에러가 발생했습니다. java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125) at org.springframework.test.context.support.DefaultTes..
데이터는 크게 문자와 숫자로 구성되어있다고 할 수도 있다. 바이너리 파일도 '문자와 숫자'가 저장되어 있는 파일이다. 텍스트 파일은 '문자'로만 저장되어있다. 첫번째 사진처럼 바이너리 파일(JPG)이 깨지는 이유는, 숫자인 12를 문자로 강제로 변환하는 과정에서 일어난 문제이다. HTTP는 텍스트 기반 프로토콜이다. 그렇다면 텍스트만 전송이 가능한가? 라고 물었을 때, 그렇지 않다. MIME 타입을 지정하여 HTTP에 이미지, 동영상, 별도 첨부파일 등 텍스트가 아닌 바이너리 파일도 전송이 가능하다. Base64는 직역하면 64진법이라는 의미이다. A ~ Z: 26개 + a ~ z: 26개 + 0 ~ 9: 10개 총: 62개와 + / 문자 2개를 추가하여 총 64개의 문자로 데이터를 표현하는 방식이다. ..
프로토콜(Protocol)이란 서로간의 통신을 위한 약속, 규칙이다. 주고 받을 정보(데이터)에 대한 형식을 정의한 것이다. 실 생활 예) 편지 형식, 편지 봉투 데이터의 형식을 지정해주지 않으면, 데이터를 받아도 해석을 할 수 없기 때문에 데이터의 형식을 정하고 지켜주어야한다. HTTP(Hyper Text≒HTML Transfer Protocol)도 하나의 프로토콜이다. 1. 텍스트 기반으로 단순하고 읽기가 쉽다. 2. 상태를 유지하지 않는다(stateless) == 클라이언트 정보를 저장X == 요청자를 구별할 수 없다. 3. 내용을 확장 가능하다 - Custom Header 추가 가능 HTTP는 곧 편지와 비슷하다. 편지를 보낼 때 그 형식와 내용이 있고, 편지에 대한 답변을 받듯이 HTTP요청과 ..
브라우저를 통해 특정 URL에 요청을 보내면, 해당 서버의 톰캣이 요청을 받는다. 이때 톰캣에서 HttpServletRequest 객체를 생성하여 요청에 포함된 데이터들을 담아 매개변수로 제공한다. 같은 name값이 여러 개가 있으면 위와 같이 배열로 받을 수 있다. 한 PC에 여러 서버를 돌아가고 있으면, 포트 번호를 통해 그 요청을 구별할 수 있다. 0~1023은 예약된 포트이기에 이 포트번호를 피해 사용하면 된다. WAS: Web Application Server STS프로젝트는 각 독립된 Context에서 실행된다. - web.xml의 경우 2개가 존재를 하는데, 하나는 톰캣의 모든 web app의 공통 설정이다. -각 프로젝트(context) 별로 web.xml이 따로 존재하는데, 이 설정의 우..
psvm의 매개변수 String[] args으로 값이 넘어가는 것과 비슷한 원리로, URL로 GET요청을 보내게 되면, 톰캣에서 HttpServletRequest 객체를 생성을 하고, 요청과 함께 전송된 데이터를 request객체에 담아 매서드의 매개변수로 제공을 해준다. HttpServletRequest는 ServletRequest 인터페이스를 구현한 클래스이다. https://tomcat.apache.org/tomcat-9.0-doc/servletapi/javax/servlet/http/HttpServletRequest.html HttpServletRequest (Servlet 4.0 API Documentation - Apache Tomcat 9.0.65) Reconstructs the URL th..