본문 바로가기
728x90
반응형

study/Spring5

싱글톤(Singleton)방식에 대하여 - Spring 프레임워크와 싱글톤 컨테이너 웹 애플리케이션은 여러 고객이 동시에 서비스를 요청하게 된다. 사실 당연하다. 오프라인 패스트푸드 매장 줄 서서 주문하듯이 한 명씩 주문하는 거 아니잖아? 여러 명(세션)이 동일한 서비스를 요청하면 프로그램에서는 무슨 일이 벌어질까? 해당 서비스에 관한 객체를 그때마다 생성해야 할까? //20240209 V2.0 수정 - 결론을 상단에 배치 및 장표도 상단으로 당김, 결론 강조 싱글톤 방식은 그런 고민에서 출발했다. 클래스와 인스턴스를 딱 하나만 생성할 수 있도록 보장하는 디자인 패턴이다. 같은 서비스를 여러 사람(세션)이 호출할 때, 굳이 여러 개의 객체를 생성하지 않는다. package hello.core.singleton; import hello.core.AppConfig; import hello... 2024. 2. 9. 10:06
객체지향 설계에서 꼭 필요한 SOLID 5대원칙(SRP/OCP/LSP/ISP/DIP) SRP : Single Responsibility Principle, 단일책임 원칙 OCP : Open Closed Principle, 개방-폐쇄 원칙 LSP : Liskov Subtitution Principle, 리스코프 치환원칙 ISP : Interface Segregation Principle, 인터페이스 분리 원칙 DIP : Dependency Inversion Principle, 의존 역전 원칙 의 앞글자를 따서 SOLID 원칙이라고 말한다. 객체지향을 공부하면서 꼭 알아야할 원칙이라고 할 수 있다. 스프링을 공부하면서, 자바 밑단까지 파고 들어가려고 보니 현업에서 정말 안 지켜지고 있는 원칙이 많구나 싶다. 이러니 매년 제도 바뀔때마다 개정 하면서, 매달 마감하면서 코드가 누더기가 되는 걸까.. 2021. 9. 22. 21:49
JPA란 무엇인가? 사실 그간 자바나 관련 공부를 하면서, 실무에서 JDBC를 통해 데이터베이스와 프로그램을 연결했었다. 안 그런 적이 한 번도 없었는데, 그럴 필요가 없다고 해서 급하게 공부하고 글을 쪄봤다. 반복되는 코드를 줄이고, "기본적인 SQL을 직접 만들어서 실행"까지 해주는 게 있다? 이게 JPA다. ORM(Object-Relational Mapping)을 먼저 알아야 한다. 객체와 관계형데이터베이스를 별도로 설계해주는 방법을 총칭한다. 예전에는, 그리고 사실 내 지금 실무에서는 EJB 기반의 희한한 프레임워크를 사용하고 있다... 근데 이게 되게 복잡하고 지저분하고, 그렇다고 한다. 사실 일하면서 프레임워크 자체를 까볼 생각은 자주 해보지 않는 편이다.. 궁금해해본 적 없긴 하다. 그리하여 요즘 대세는 JPA.. 2021. 9. 11. 17:36
MVC 패턴 구조에 대하여 알아보자 스프링 강의를 듣다 맨 처음 나온 개념 MVC 사실 입문교육 때도 분명 들어보긴 한 것 같은데 그때는 스프링을 배우지도 못했고 그게 언제야 잘 기억도 나지 않고.... 요즈음의 웹개발에는 크게 3가지 방식이 있다. 1. 정적 컨텐츠 : 맨 처음 HTML 코딩 배울때 글자 찍는 페이지. 서버가 딱히 뭐 하는 거 없고, 그냥 파일째 보여주는 거. 스프링 컨테이너에 컨트롤러 없고 그냥 바로 서버가 처리해서 보여줌 2. API: JSON 포맷을 활용하여 클라이언트에게 데이터를 전달하는 방식으로, Vue.js, react 같은 게 있다는데. 오늘은 이 얘기 했다가는 옆길로 새버릴 것 같으니 일단 넘어가도록 하자. 나중에 쓸래.. 3. 오늘 얘기하려고 한 거 MVC Model + View + Controller 를.. 2021. 8. 21. 20:17
스프링 빌드가 안 돼요! 인텔리제이 설치 완료. 이게 고수들은 그렇게 좋아하는 에디터라는데 회사에서는 그 뭐시냐..RSA라고... 이클립스+WAS 기반의 희한한 구글링해도 나오지도 않는 툴을 사용하고 있다. 그리고 강의가 Java11 (11..이요..? 동공지진. 학교 다닐 때 설치한 버전이 8이었나 10이었나 그랬던 거 같은데) 기반이라 자바도 새로운 버전으로 설치 완료 여전히 내 컴퓨터는 대학생 때 산 그램이다. 노트북 외에는 모두 애플 디바이스(폰 패드 워치) 사용 중이고, 맥북이 그렇게 간지가 난다는데 현실적으로 컴 2대는 아직 무리다. 듣다보니 친절하게도 강사님의 강의 자료에 터미널을 윈도우에서도 사용할 수 있다고 나와있어서 Git bash 설치 완료. 사실 sftp 서버와 각종 솔루션들을 많이 쓰고, 보안 권한 등의 .. 2021. 8. 15. 17:30
728x90
반응형