일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 예외 커스텀
- JavaScript
- nestjs
- 분산시스템
- 예외 핸들링
- 스프링
- 스프링jpa
- 스프링기초
- 자바
- 동시성 제어
- 3WayHandshake
- 대규모 트래픽
- 유난한 도전
- docker
- OS
- 트러블슈팅
- 동시성 문제
- 토스팀
- 예외필터
- nginx
- 스프링Entity
- 토스책
- 동시성문제
- Jenkins
- nestjs 예외
- connection reset by peer
- 스프링오류
- nodejs
- 스프링 이미지
- Mysql이미지
- Today
- Total
목록자바스프링 (7)
삽질블로그
JPA와 스프링을 공부하면서 db에 JPA로 값을 넣는 것을 진행하고 있었다. 순조롭게 진행되고 있었는데, 스프링에서 Entity를 인식하지 못하는 오류가 발생했다. domain -> Member package com.example.spring.domain; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.context.annotation.Configuration; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Member { @I..
전에 나는 자바에서 프로젝트를 진행했었는데, 순수 자바로 코드를 작성했을 때는 서로 다른 클래스에서 같은 하나의 객체를 생성하는 것이 불필요하므로 인자를 통해 넘겨주는 방식으로 작성을 했다. 예를 들어 test1, test2, test3 클래스가 있고 각각 test1, test2클래스에서 test3 클래스를 사용하고 싶을 때 package com.example.springStudy.controller; public class test1 { test3 test = new test3(); } package com.example.springStudy.controller; public class test2 { test3 test = new test3(); } 이렇게 각 클래스마다 객체를 생성해서 사용하면 데이터..
저번 회원관리 예제에 대한 코드를 테스트 코드로 작성해보았다. 실무에서 실제 코드를 작성하는 시간보다 테스트 코드를 작성하는데 비중을 더 쏟는다는 말이 신기했다. 테스트 코드먼저 작성하고 후에 실제 코드를 작성하는 것을 테스트 주도 개발이라고 한다. 종종 기업에서 테스트 주도 개발 경험관련 유무자라는 글을 본 적이 있는데, 그냥 흘러넘겼다가 이번에 김영한 강사님께서 하시는 말씀을 듣고 테스트 주도 개발에 대해서 알게 되었다. 나중엔 테스트 주도 개발도 간단한 프로젝트로 진행 해봐야겠다는 생각을 했다. package com.example.springStudy.repository; import com.example.springStudy.domain.User; import org.junit.jupiter.ap..
스프링 김영한 강사님의 강의를 듣고 따로 코드를 작성해보고 싶어서 복습겸 해본 내용을 정리하고자 한다. 일반적인 웹 애플리케이션의 계층 구조의 모습이다. - 컨트롤러: 웹 MVC의 컨트롤러 역할 - 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 각 계층에 대해서 위와 같이 간략하게 설명을 해주셨는데, 나는 Service와 Repository 코드가 거의 비슷한데 굳이 나눠서 작성하는 이유가 궁금해서 찾아보니 질문 글에 나와 똑같은 생각을 한 사람이 있었다. 정리를 하자면 Repository는 DB에 접근하는 모든 코드가 모여있고, Service는 ..
스프링은 크게 세 가지로 구분된다. 1. 정적 컨텐츠 2. 스프링 MVC와 템플릿 엔진 3. API 1. 정적 컨텐츠란 쉽게말해서 정적인 페이지를 보여준다. 그냥 정보성 페이지를 전달하기 위해 만들 때 사용하는 것 같다. 프론트 코드 작성은 스프링 프로젝트 안의 resources/static/ 의 경로에서 한다. 정적컨텐츠는 관련 컨트롤러가 없기 때문에 요청이 들어온다면 스프링에서 바로 웹 브라우저로 페이지를 응답해준다. 2. 스프링 MVC와 템플릿 엔진이란(model, view, controller) 모델과 뷰 컨트롤러를 각각 분리해서 사용을 한다. Controller에선 @Controller 어노테이션을 사용해줘야 한다. @Controller 어노테이션은 해당 클래스를 컨테이너에 Bean으로 등록해주..
저번 글에선 안드로이드에서 이미지를 비트맵으로 변환 후 바이트스트링값으로 스프링에 전송하는 코드를 작성했다. 이번 글에선 스프링에서 이미지를 받아와서 mysql에 저장하는 코드를 작성하고자 한다. application properties에 mysql에 접근하기 위한 코드를 작성해줬다. spring.datasource.url=jdbc:mysql://localhost:3306/jojunhee?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul spring.datasource.username=root spring.datasource.password=00000000 UserProfileMapper.Interface SQL 쿼리문을 호출하기 위해 @..
이번에 팀 프로젝트를 안드로이드로 진행하면서 이미지를 업로드하고 불러오는 코드를 작성해야 했다. 구글링을 통해 많은 Multipart로 올리는 방식?, 웹서버에 이미지를 업로드 하고 데베에는 그 경로를 저장하는 방식 같이 다양한 방법이 있는 것은 확인했는데 스프링도 안드로이드도 처음이라 모든게 어려웠다. 나는 이번 프로젝트에서 안드로이드에서 이미지 -> 비트맵 -> 바이트 배열 -> 스트링으로 변환 후 mysql에 직접 저장하는 방식으로 했다. 프로젝트가 끝나서 이미지를 저장했던 코드를 보기쉽게 새로 작성해서 정리해보고자 한다. 프로필에 사진을 추가하는 화면 UI 프로필 화면 클릭 시 권한 부여 프로필 사진 누르면 두 가지 옵션 선택 가능 에뮬레이터로 사진 촬영 후 이미지 등록했을 때 화면 앨범에서 이미..