일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DB
- javascript
- HTTP 메서드
- vue-cli
- 의존성 주입
- 로그인
- JPA
- BEAN
- Repository
- dependency injection
- Spring
- Singleton
- 캐시
- js
- 프로토타입
- VUE
- 라이프 사이클
- Excel
- Setter
- vuex
- 싱글톤
- Stateless
- thymeleaf
- di
- Java
- Security
- Kotlin
- cache
- HTTP
- Vue.js
- Today
- Total
목록Java (5)
jhhan의 블로그
이번 포스트는 저번 엑셀 다운로드에서 발생할 수 있던 에러를 수정해보려고 합니다. 저번에 마지막에서 void로 리턴값을 해놨지만, Vue.js에서는 잘 받아서 진행한다고 했습니다. 이번에는 정석적으로 리턴을 해보겠습니다. 리턴할 때 ResponseEntity를 사용하고, InputStreamResource를 바디에 담아 반환하도록 설계했습니다. 아 그리고 이번에는 갑자기 Kotlin으로 진행을 했습니다... 그래도 코틀린과 자바는 굉장히 비슷하므로, 자바를 잘 아신다면 코틀린 문법을 이해하는데 큰 어려움이 없을 것 같습니다. front코드는 변경할 것이 없습니다. 그대로 갑니다. back코드를 살펴보겠습니다. @PostMapping("/excel") fun getExcelFile(@RequestBody ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/rfPzH/btqRrPuvDMt/lrqu7ujpMqOtNNmnDHSij1/img.png)
2편에 이어서 진행합니다. 저번에 DIP를 지켜보려고 노력하다가 에러가 뜨는 것을 마지막으로 마무리 했습니다. 이번에는 그것을 한 번 고쳐보도록 하죠. 이전의 코드는 인터페이스 A 존재 A를 구현한 구현체 A'이 있다. 인터페이스 B 존재 B를 구현한 구현체 B'이 있다. 원래라면 A'과 B'은 별개이다. 그래서 서로 관여할 일이 없다. 하지만 현재 A'이 B'을 직접 선택하는 것 과 같습니다. 이전 포스트에 적은 제 글을 한 번 보겠습니다. public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository = new MemoryMemberRepository(); private final..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/sczxM/btqRt5bK6S0/aVIj4mdk0RJSfJvckTWNZ0/img.png)
1편에 이어서 진행하겠습니다... 전에는 회원을 만들 수 있는 파트를 진행했습니다. 이제는 회원과 관련된 할인을 적용해보겠습니다. 일단 할인의 경우 VIP에 한해서 1000원 할인만 해보겠습니다. 프로젝트 구조입니다. 할인에 대한 도메인을 만들기 때문에 discout 라는 패키지를 추가했습니다. 그리고 인터페이스를 하나 만듭니다. public interface DiscountPolicy { /** * @return 할인 대상 금액 */ int discount(Member member, int price); } 현재는 1000원 할인만 진행하지만, 나중에 다른 방식으로 할인을 진행할 수 도 있기 때문에 인터페이스를 이렇게 만듭니다. (할인 금액만 반환하는 아주 단순한 인터페이스... ㅎ) 다음으로 인터페이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lPQYf/btqQjnljJW3/1xuzR4Myh60drkVAre3wVk/img.png)
이번 포스트는 이전에 다뤘던 SOLID원칙을 이용해서 진행할 것입니다. 특히 DIP와 OCP를 지켜볼려고 노력하면서 진행합니다. 자바를 사용해서 코드를 진행합니다. 하지만 프로젝트 설정은 스프링으로 시작합니다. 처음에는 자바로 코딩을 하다가 나중에 스프링으로 넘어가기 위해서입니다. 지금은 자바 쪽에 넣어놨지만, 나중에는 스프링으로 옮겨서 글을 이어서 쓸 것 입니다. 그래서 처음 설정은 스프링으로 시작합니다.. 스프링을 설정을 하기 위해 다음의 사이트로 들어갑니다. start.spring.io 여기로 들어가면 스프링 설정을 할 수 있습니다. 혹은 인텔리제이 얼티메이트 버전을 사용한다면 여기에 들어가지 않고 스프링 프로젝트를 바로 만드실 수 있습니다. 사이트에 들어가시면 왼쪽 위쪽에 이런 것들이 보입니다. ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/CsFgo/btqBS5lMnOa/jZKbBkP73T8nTTarVQjudK/img.png)
Java의 정석:기초편 2019년 버전을 기준으로 작성했다. 나는 C,C++을 알고있는 상태로 JAVA를 공부하는 것이어서 중간중간 C++과의 차이점을 적을 수도 있다. 2020.02.19 수정) 다른 사람에게 가르쳐주는 형식으로 바꿔보기로 하였다. 1장. 자바를 시작하기 전 -자바의 특징에 대해 먼저 알아보도록 합시다. 운영체제 독립적 : 어떤 운영체제에서도 동작합니다. (물론 일부분 운영체제 종속적인 부분도 있습니다. 하지만 대부분 독립적입니다.) 객체지향언어 C++의 장점을 택해서 Java로 발전 -> C++에 비해 배우기가 쉬운 편입니다. 자동 메모리 관리 네트워크와 분산처리 가능 멀티 쓰레드 지원 동적 로딩 지원 이렇게 7가지가 자바의 특징입니다.(책에서 꼽은 특징이기도 합니다.) -JVM(Ja..