일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA
- Setter
- vue-cli
- di
- Stateless
- DB
- 로그인
- Kotlin
- dependency injection
- BEAN
- Vue.js
- 프로토타입
- 라이프 사이클
- js
- 싱글톤
- thymeleaf
- HTTP
- vuex
- Spring
- Singleton
- Excel
- VUE
- Java
- 의존성 주입
- cache
- Repository
- 캐시
- HTTP 메서드
- Security
- javascript
- Today
- Total
목록전체 글 (130)
jhhan의 블로그
이번 포스트에서부터는 싱글톤에 대해서 알아보겠습니다. 먼저 스프링에 대해 여담입니다. 태생 - 기업용 온라인 서비스 기술을 지원하기 위해 탄생 대부분의 스프링 애플리케이션 = 웹 애플리케이션 물론 Web이 아닌 것도 개발이 가능 웹 애플리케이션의 경우 보통 여러 명의 고객이 동시에 요청 하는 경우가 많습니다. 그리고 이전에 만든 것을 여기에 적용해 본다면 클라이언트A가 memberService를 호출합니다. 그러면 memberService1 객체가 생성됩니다. 클라이언트B가 memberService를 호출합니다. 그러면 memberService2 객체가 생성됩니다. .... 이렇게 된다면 100개의 요청이 들어오면 100개의 객체가 생성되고 소멸됩니다. (→ 그다지 좋은 시스템인 것 같지는 않습니다.....
이번에는 DBeaver 설치 및 MariaDB 연결까지 해보겠습니다. 제가 DBeaver를 잘 쓰고 있기는 한데,, 설치법도 알아놓으면 좋을 것 같아서 추가해봅니다. 다운로드는 2021-04-12 기준 + 윈도우 10 운영체제 64bit 기준입니다. 아래의 링크로 들어갑니다. dbeaver.io/download/ dbeaver를 설치하는 사이트입니다. 아래에 Windows 64 bit Installer가 있습니다. 클릭해서 다운로드를 받습니다. (참고로 Community 버전을 다운받아야 합니다. Enterprise Edition은 돈을 내야합니다.) 그리고 실행을 합니다. 시작~ all users로 갑니다. (본인만 사용하고 싶다면 For me를 선택해도 됩니다...) 기본 설정은 아마 저런 식으로 되..
이번 포스트에서는 package-lock.json에 대해서 알아보겠습니다. 사실 이 글을 vue.js 카테고리에 넣는게 맞나 하는 생각이 들기도 합니다. 하지만 package-lock.json이라는 파일이 사용되는 곳이 일단 저한테는 vue.js를 사용할 때입니다. 그래서 이 카테고리에 넣었습니다. 일단 vue.js 프로젝트를 하나 만들었을 때의 구조입니다. package.json과 package-lock.json 파일이 2개 다 보이죠. 일단 먼저 package.json에 대해서 먼저 알아봐야 겠네요. package.json 프로젝트의 정보 정의 의존하는 패키지 정보를 표시 이런 파일입니다. 그리고 프로젝트 정보 : name, version 패키지 정보 : dependencies, devdependen..
이번 포스트는 Vue.js에서 Excel을 바로 다운로드 하는 법에 대해서 다룹니다. 이전에도 Spring / Vue & Spring 카테고리에서도 이 주제를 계속 다뤘습니다. 사실 지금까지 다룰 줄 몰랐습니다. 이번에는 백엔드 처리를 거치지 않고 바로 프론트 작업만으로 엑셀 다운로드를 할 수 있게 할 것입니다. 라이브러리를 사용하는 경우와 안하는 경우 2가지를 보여드릴 것입니다. 물론 Vue.js 프로젝트 하나 만들어서 진행하셔야 합니다. 1. 라이브러리를 사용하지 않는 경우 참고한 사이트입니다. newehblog.tistory.com/3 먼저 코드입니다. id name age 1 aa 24 2 bb 46 3 cc 84 Excel4 엑셀로 다운받을 데이터를 먼저 테이블로 만들었습니다. 그리고 엑셀 다운..
스프링으로 엑셀 다운로드 3편입니다. 이렇게까지 오래 다룰 줄은 몰랐네요. 그래도 오류가 있다면 고쳐야겠죠 지난번까지 진행을 한다면 오류가 생기는 것을 볼 수도 있습니다(?) 이런 에러가 뜨는 것을 볼 수 있습니다. (사실 에러는 아니네요. warning이군요) 그리고 지금까지 createTempFile을 사용했기 때문에... 이런 로직을 계속 진행하면 val file = File.createTempFile("testExcel_", ".xlsx") 로컬 컴퓨터 혹은 서버로 사용되는 컴퓨터에 계속해서 temp 파일이 쌓이게 됩니다.. 그걸 계속해서 지워주지 않는다면, 컴퓨터의 용량을 언젠가는 굉장히 많이 차지하게 될 것입니다. 그걸 방지해줘야 합니다. 방법은 createTempFile로 생성된 임시파일을 ..
저번 포스트까지는 스프링 빈을 조회하는 것에 대해 알아봤습니다. 이번에는 개념적인 부분에 대해서 좀 더 알아보겠습니다. ApplicationContext를 지금까지 자주 써왔는데 이것보다 더 근본적인 녀석이 있습니다. 바로 BeanFactory입니다. 상속 관계입니다. BeanFactory는 인터페이스입니다. BeanFactory를 상속하는 ApplicationContext가 있습니다. 역시 인터페이스입니다. 그리고 나중에 ApplicationContext를 구현하는 AnnotationConfigApplicationContext가 등장합니다. 이런 상속관계를 가집니다. 그럼 BeanFactory에 대해 좀 더 알아보겠습니다. 스프링 컨테이너의 최상위 인터페이스 스프링 빈 - 관리 & 조회 가능 ex) g..
저번에 적었던 스프링 코어(1) - 스프링 컨테이너 & 빈 포스트에 이어서 합니다. 이번엔 스프링 빈 조회 시 - 상속관계에 대해 알아보겠습니다. 부모타입으로 조회 → 자식타입도 함께 조회 최상위 객체인 Object로 조회 시, 모든 스프링 빈이 조회되어서 나오게 됩니다. 프로젝트 구조입니다. beanfind 패키지 밑에 ApplicationContextExtendsFindTest라는 자바 클래스를 만듭니다. @Configuration static class TestConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy(); } @Bean public DiscountPolicy fixDiscountP..
이번 포스트는 저번 엑셀 다운로드에서 발생할 수 있던 에러를 수정해보려고 합니다. 저번에 마지막에서 void로 리턴값을 해놨지만, Vue.js에서는 잘 받아서 진행한다고 했습니다. 이번에는 정석적으로 리턴을 해보겠습니다. 리턴할 때 ResponseEntity를 사용하고, InputStreamResource를 바디에 담아 반환하도록 설계했습니다. 아 그리고 이번에는 갑자기 Kotlin으로 진행을 했습니다... 그래도 코틀린과 자바는 굉장히 비슷하므로, 자바를 잘 아신다면 코틀린 문법을 이해하는데 큰 어려움이 없을 것 같습니다. front코드는 변경할 것이 없습니다. 그대로 갑니다. back코드를 살펴보겠습니다. @PostMapping("/excel") fun getExcelFile(@RequestBody ..