본문 바로가기

전체 글

(380)
3. 장식(Decorator)패턴 장식패턴이 사용되는 경우(문제상황): 어떤 클래스의 전체 객체에 적용하는 것이 아니라 그 클래스의 특정 객체에게만 동적으로 기능(행위)을 적용하고 싶을 때(이 때문에 상속이 아닌 has-a를 통한 메서드의 재정의를 하는 것임) (물론 전략패턴도 이런 측면이 있다. 하지만 앞에서도 말했듯이 장식패턴은 어떤 본연의 기능이 있을때 그것을 없애지 않고 그 위에 추가를 해주는 것이지만 전략패턴은 통째로 바꾸는 것). 디자인 패턴도 역시 패턴이므로 OCP원칙을 저버리지 않는다. 즉 코드의 수정없이 기능을 확장한다. 디자인패턴의 형식: 상속과 포함(has-a)을 모두 활용한다(많은 경우 OCP는 DIP를 통해 이루어지고 DIP는 느슨한 has-a를 통해 이루어진다) (상속과 포함이 구체적으로 어떻게 활용되는지는 같은..
디자인 패턴(Design Pattern)이란? 출처: https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EB%94%94%EC%9E%90%EC%9D%B8_%ED%8C%A8%ED%84%B4 앞으로도 쭈욱 도움이 될 출처: https://readystory.tistory.com/114 출처: https://m.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS6705039023 디자인패턴이란? 특정 문맥에서 공통적이고 반복적으로 발생하는 문제에 대해 재사용 가능한 해결책이다(따라서 나는 어떤 문제상황에 어떤 해결책이 쓰이는지 짝지어서 학습해야 한다). 디자인 패턴이란? 객체지향 설계원리들(SOLID)이 잘 적용..
[intellij] Cannot start compilation: the output path is not specified for module 오류 해결 출처: https://118k.tistory.com/856 intellij에서 프로그램 git에서 프로젝트를 내려 받거나 외부의 프로젝트를 가져오는 경우 프로젝트 설정이 되어 있지 않아서 이런 오류가 발생합니다. 이때 'OK'를 클릭하거나, File - Project Strecture를 클릭하면 다음의 설정이 나옵니다. 여기서 Project compiler output: 부분을 설정하여 주면 됩니다.
Error: JavaFX runtime components are missing, and are required to run this application 쉽게 말해 runtime에 관한 재설정이 필요하다는 것이다. Run-> Edit Configurations 로 들어가 --module-path C:\javafx-sdk-11.0.2\lib --add-modules=javafx.controls,javafx.fxml 아래는 해결에 도움을 받은 출처다. 출처: https://streamls.tistory.com/entry/JAVA-Intellij-JavaFX-%EC%84%A4%EC%B9%98Java-11-%EC%9D%B4%ED%9B%84-%EB%B2%84%EC%A0%84%EC%9A%A9 혹시 위 방법으로도 안된다면 Runtime Configuration이 아래의 그림과 전부 같은지도 확인해야한다. 사소한 설정 잘못 건드려서 안된적도 있음(정상적으로 굴러가는 프..
템플릿 엔진? thymeleaf템플릿 엔진이란? JSP와 servlet의 다른점? 출처: https://code-lab1.tistory.com/211 (꼭보기) https://javacpro.tistory.com/43 (꼭 보기) https://jin2rang.tistory.com/entry/Spring-Boot-thymeleaf-%ED%85%9C%ED%94%8C%EB%A6%BF-%EC%97%94%EC%A7%84 Thymeleaf 템플릿 엔진: 웹페이지를 동적으로 생성하는 서버사이드 프로그램. 템플릿엔진은 크게 클라이언트 사이드 템플릿 엔진과 서버 사이드 템플릿 엔진으로 구분됨. 내가 배운 React, Vue는 클라이언트 사이드 템플릿 엔진이고 Thmeleaf, JSP같은 경우가 서버 사이드 템플릿 엔진임. 서버사이드 템플릿 엔진의 경우 지정된 템플릿에 동적인 데이터를 결합하여 하나의..
A bean with that name has already been defined in file~~ 에러 해결 보호되어 있는 글입니다.
controller의 메서드의 매개변수로 오는 model객체란? Model객체란? Controller에서 생성한 데이터를 View로 전달할때 사용하는 객체 addAttribute("키","값")메서드를 사용하여 전달할 데이터 세팅. 뷰측 코드에서는 키로 지정된 이름을 통해서 값을 사용 출처: https://iamdaeyun.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC https://velog.io/@msriver/Spring-Model-%EA%B0%9D%EC%B2%B4 model 객체 Controller에서 생성한 데이터를 담아서 View로 전달할 때 사용하는 객체. Servelt의 request.setAttribute()와 유사한 역할. addAttribute("..
디스패처 서블릿(Dispatcher servlet), Intercept, 출처:https://mangkyu.tistory.com/18#recentComments https://to-dy.tistory.com/21 서블릿: 웹페이지를 동적으로 생성하는 서버측 프로그램 (복습. Controller는 MemberService를 통해 회원가입하고 데이터를(회원목록을) 조회할 수 있다. 즉 Controller는 MemberService에 의존하게 됨. 서블릿: 웹페이지를 동적으로 생성하는 서버측 프로그래미. Dispatcher Servlet이란?프론트 컨드롤러라고도 함. 사용자 측으로부터 오는 요청을 가장먼저 처리하여 웹페이지를 동적으로 생성하는 서버측 프로그램 (여기서 Controller(컨트롤러)는 MVC의 그 Controller임. 즉, 페이지를 직접적으로 생성해주는 그 Cont..