분류 전체보기252 스프링 부트 기본편 - 섹션 5. 싱글톤 컨테이너(하) 싱글톤 방식의 주의점 무상태(stateless)로 설계해야 하는 이유 웹 어플리케이션 설계에서 유용한 싱글톤 방식을 사용할 때는 싱글톤 클래스를 반드시 무상태로 설계해야 한다. 다음 예제를 보자. : StatefulService.java : StatefulServiceTest.java 해당 코드에서는 ThreadA에서 userA가 주문을 하고, 가격을 확정하기 전에 ThreadB에서 userB가 다른 상품을 주문한다. 싱글톤 클래스라 클래스 안의 필드도 공유하고 있기 때문에, 이 경우 userA가 주문했던 금액과는 다른 금액이 나오게 된다. 무상태로 설계하기 위해서는 기존의 클래스 안의 멤버 변수(필드)를 지역 변수로 바꾸거나, ThreadLocal을 사용해야 한다. 지역 변수를 사용한 예시 Statel.. 2022. 5. 16. express: getting started 요약 생활코딩 express 강의 1강~22강을 듣고 정리한 내용입니다. https://youtu.be/hwknmhLKgYg 1. Middleware(미들웨어) + Third-party middleware(제3자가 만든 미들웨어) 2. Routing(라우팅) 3. Error Handling(에러 처리하기) 4. Static contents(정적 컨텐츠 제공하기) 1. Middleware 1) 미들웨어란? 다른 사람(express 공식 개발팀 또는 제 3자)이 개발한 모듈 코드를 외부에서 가져와서 사용하는 것. 미들웨어는 코드의 재사용성을 높여주고 코드를 간결하게 짤 수 있도록 도와준다. 2) 미들웨어의 원리 const 변수 = require('미들웨어 이름'); app.use(미들웨어()); 1. 미들웨어().. 2022. 4. 9. 비동기 처리방법 3가지 [공부한 자료] https://youtu.be/TAyLeIj1hMc -> JavaScript - callback https://youtu.be/Sn0ublt7CWM -> JavaScript - Promise https://youtu.be/1z5bU-CTVsQ -> JavaScript - async & await JS의 문법은 '비동기 처리'와 관련이 있다는 글을 정말 많이 보았다. '비동기 처리'란 브라우저를 지원하는 js의 언어 특성상, 코드를 실행하다 중간에 시간이 걸리더라도, 브라우저에 응답을 띄워야 하기 때문에 시간이 걸리는 부분에서 기다리지 않고 다음 코드를 실행하는 js의 문법 특성이다. 비동기 처리 웹 브라우저와 서버는 서로 즉각적으로 통신해야 한다. 그러므로 만약에 js 언어로 통신하던 중.. 2022. 4. 5. spring 개발일지 21-22강 * 이 포스트는 인프런에 있는 김영한 님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 들으면서 내용을 정리한 글입니다. * [메인 컨텐츠] [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 (inflearn.com) # 2022-03-04 # #목차# 21. 순수 JDBC 22. 스프링 통합 테스트 21. 순수 JDBC 이번 시간에서는 데이터를 다루는 스프링 라이브러리 중 하나인 Spring JPA를 살펴보기 전, 이전에는 데이터를 어떻게 처리했는지를 보았다. 지금은 사용하지 않는 방법이므로 가볍게 보려고 한다. 이전에는 'JDBC'를 사용했으며, (1) build.gradle 파일에서 implementation.. 2022. 3. 8. spring 개발일지 18-19강 * 이 포스트는 인프런에 있는 김영한 님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 들으면서 내용을 정리한 글입니다. * [메인 컨텐츠] [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 (inflearn.com) # 2022-03-04 # #목차# 18. 회원 웹 기능 - 등록 19. 회원 웹 기능 - 조회 18. 회원 웹 기능 - 등록 폼(form)을 사용해서 회원가입을 위한 이름을 입력값으로 받고, 이를 저장소에 반영하는 기능이다. 여기서는 MemberForm.java 파일을 따로 만들어서 폼 기능을 구현하였다. + django에서는 forms.py로 아예 폼들을 따로 모아서 models.py에 있는 모델.. 2022. 3. 8. spring 개발일지 15-16강 * 이 포스트는 인프런에 있는 김영한 님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 들으면서 내용을 정리한 글입니다. * [메인 컨텐츠] [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 (inflearn.com) # 2022-03-04 # #목차# 15. 컴포넌트 스캔과 자동 의존관계 설정 16. 자바 코드로 직접 스프링 빈 등록하기 15. 컴포넌트 스캔(Component scan)과 자동 의존관계 설정 컴포넌트 스캔이란? 컴포넌트(@Component)는 스프링에서 관리하는 클래스 앞에 붙는 annotation(@)이다. @Component가 붙은 클래스는 자동으로 스프링이 관리한다. 앞서 컨트롤러 클래스에는.. 2022. 3. 5. 이전 1 ··· 34 35 36 37 38 39 40 ··· 42 다음