일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- ApplicationContext
- 남궁성
- 자바문제
- 국비지원
- devcamp
- 패스트캠퍼스
- 쿼리
- Spring
- 자바기초
- 기초쿼리
- SQL
- 클린빌드
- 오라클
- 소셜로그인
- Oracle
- 인프런
- cleanbuild
- 불친절한SQL
- 스프링
- 패캠
- oauth
- RDBMS
- MySQL
- 자바
- 스프링의정석
- mariadb
- 자바연습문제
- 자바의정석
- SpringFramework
- Today
- Total
목록분류 전체보기 (45)
Darren's Devlog
네이버 블로그에서 티스토리로 이전하는 중입니다. 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/222695066772 안녕하세요. 종종 코드를 수정 후 배포를 해도 반영이 안되서 고생하는 경우가 있습니다. 잘 안되는 원인들 중 하나는 이전 빌드들의 캐시가 남아있어서 그렇습니다. 해결 방법은 Maven 프로젝트를 Clean 빌드 후 재배포하시면 대부분 해결이 됩니다. IntelliJ에서 프로젝트를 Clean 빌드 하는 방법을 알려드릴게요. 상단 탭에 View -> Tool Windows -> Maven 클릭 우측 탭에 Maven → 프로젝트 선택 → Lifecycle → clean → 우측 마우스 → Run Maven Build 프로젝트 클린 성공! 이제 프로젝트를 다시 ..
네이버 블로그에서 티스토리로 이전하는 중입니다. 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..
관심사(concern) = 해야할 작업 위 main()은 입력, 처리, 출력 크게 세가지의 관심사를 가지고 있다. 관심사의 분리는 OOP(객체지향) 5개 설계 원칙 SOLID 중 첫번째에 해당하는 단일책임의 원칙에 해당한다. SRP -하나의 메서드는 하나의 책임만 지도록 설계하는 것. 객체지향적으로 좋은 코드를 작성하기 위해서는 아래 원칙에 맞춰 코드의 분리를 잘 해주어야한다. 1. 관심사의 분리 2. 자주 변하는 코드와 자주변하지 않는 코드의 분리 3.중복코드의 분리 각 컨트롤러에 입력 부분이 공통적으로 반복되는 것을 확인할 수 있다. 스프링에서 입력하는 부분은 request.getParameter()으로 처리되는데 공동 코드이니 입력을 공통적으로 처리한 후에 컨트롤러로 보내주는 방식으로 관심사의 분리..
데이터는 크게 문자와 숫자로 구성되어있다고 할 수도 있다. 바이너리 파일도 '문자와 숫자'가 저장되어 있는 파일이다. 텍스트 파일은 '문자'로만 저장되어있다. 첫번째 사진처럼 바이너리 파일(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요청과 ..
드디어 비트캠프를 수료하게 됐습니다! 사실 수료한지 이미 며칠이 지났지만 기록을 남기려고 포스팅을 합니다 ㅎㅎ 처음시작했을 때는 수료날이 언제 올까 싶었는데... 시간이 참 빠르네요. 주어진 환경속에서 열심히 하다보니 우수상과 개근상 모두 받게 되었네요. 수료 후, 바로 남궁성 선생님의 DevCamp를 참여하게 됐습니다!!! https://fastcampus.co.kr/dev_camp_nks 2022 DevCamp : Java의 정석 남궁성과 포트폴리오 Level Up! | 패스트캠퍼스 Java 교육계의 1타 강사 남궁성과 함께하는 5주(200시간) 취업 대비 오프라인 부트캠프 fastcampus.co.kr 좋은 타이밍에 아주 좋은 기회가 있어서 고민도 안하고 바로 지원하고 8월 1일부터 수업을 시작하게..
브라우저를 통해 특정 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..