![[CS] 팩토리 패턴(factory pattern)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcgTO0v%2FbtrMEtt9okm%2FAAAAAAAAAAAAAAAAAAAAANKnMTZdLYvCNzc_IM0VFQOGUu8Kb-Wcs59KOLrgGTlr%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DdmaMMrm%252Fm%252BKaRrK9ae96oJnavuI%253D)
팩토리 패턴(factory pattern)이란? - 상속관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정, 하위 클래스가 객체 생성에 관한 구체적인 내용을 결정하는 패턴 - 즉, 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴 - 상위 클래스와 하위 클래스가 분리되어있음 ㄴ결합이 느슨함. ㄴ 상위 클래스의 유연성 증가 : 상위클래스가 인스턴스의 생성 방식에 대해 알 필요가 없기 때문. ㄴ 유지보수성 증가(코드를 리팩터링 하더라도 한 곳만 고치면 됨) : 객체 생성 로직이 따로 떨어져있기 때문. 1. 자바스크립트의 팩토리 패턴 - new Object()로 구현 가능. ㄴ 숫자를 전달하거나 문자열을 전달함에 따라 다른 타입의 객체를 생성함. 즉, 전달받은 값에 따라 다른 객체를 생..
디자인 패턴(Design pattern) 이란? - 프로그램을 설계 할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이요해 해결 할 수 있도록 하나의 규약 형태로 만들어 놓은 것. ㄴ 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 해결책으로 재사용 가능.(이미 만들어져서 잘 되는 것을, 다시 처음부터 만들 필요는 없다는 것) - 프로그래밍을 할 때 쓰는 React.js, Vue.js, Spring 등 라이브러리나 프레임워크의 기본이라고 할 수 있음. 더보기 라이브러리, 프레임워크 : 공통으로 사용 될 수 있는 특정한 '기능'을 모듈화 한 것. 라이브러리: 폴더명, 파일명 등에 대한 규칙이 없고, 프레임워크에 비해 자유로움 프레임워크: 폴더명, 파일명 등에 대한..
![[스파르톤-3rd 생존일지] 나 이제 웹스크레핑이랑 데이터 분석 및 시각화 할 수 있어~! 쏠 수 있어~!!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbHPiIv%2FbtrMkQYcwBt%2FAAAAAAAAAAAAAAAAAAAAAPrRxRhagv5Cy0rHutCRxlPeSO_XjYt1UD1W0_VAJ70H%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DJv275xZdGkezqTfEJccNxUpFhJM%253D)
[2022.08.17 10:55] 스파르타 코딩클럽에서 미리 보내주신 스파르톤 키트와 함께 스파르톤의 시작을 기다렸다..! 스파르톤 후 휴식 때 쓰라고 보내주신 안대와, 스파트론 진행 시간동안 심심한 입을 달랠 커피와 초콜릿 사탕 그리고 원기 회복을 위한 박카스 젤리까지..! 시작부터 신나는 밤샘코딩이다..! [11:00-11:10] 광장에서 오프닝 간단한 타임라인 소개와 진행 방법 안내 후 다함께 강의실로 이동했다! [11:10-11:20] 조 편성 및 이름 정하기 : "B-3 졸리지만 안잔다조" [11:20-11:30] 밤새 공부할 강의 선택(스파르톤 무료강의-파이썬 웹 스크래핑, 시간이 남으면 데이터 분석까지!) [12:00] 오랜만에 다시 보는 파이썬의 편리함에 취해 어느새 12시가 된지도 모르고..
![[JSTL] JSTL(JSP Standard Tag Library)란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FrOEOq%2Fbtrw8PesGn4%2FAAAAAAAAAAAAAAAAAAAAAMd86BHz0don_nqGL0un0wKDllqjd9hl2ikdwLpL2nBs%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DkrCCmo3M4T221pg9KMTnGk5coHg%253D)
0. JSTL(JSP Standard Tag Library)란? JSTL이란 JSP 표준 라이브러리(JSP Standard Tag Library)의 약어이다. 즉, JSP를 사용하는 여러 프로그램이 공통으로 사용할 수 있도록 JSP태그를 라이브러리 형태로 만들어놓은 것이다. 라이브러리란 코드의 집합이지만, JSTL의 경우 보통의 라이브러리와는 다르게 JSP 페이지 안에서 사용 할 수 있는 커스텀과 함수를 제공한다. 일반적으로 JSTL은 EL(Expression Language)과 함께 쓰이며, 이를 통해 HTML코드 내에서 자바코드를 사용 할 수 있게 해주는 스크립틀릿을 가독성 좋게 사용 할 수 있다. 최근에는 뷰와 비즈니스로직의 분리와 가독성 이슈로 스크립틀릿 대신 JSTL을 많이 사용하는 추세이다. ..
![[JAVA] 자바 String 값 비교(==연산자와 equals( ))](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FoEIQE%2FbtrwTZPKBK7%2FAAAAAAAAAAAAAAAAAAAAAL-sZsJ4lWyB1LEPQCTvXv4OEB4svgVlKjdbZYvMKpRz%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DLZ3bASjW4W0iumh%252F6hAUH2AsGBQ%253D)
0. 상황 ajax로 view페이지에서 받아온 파라미터 값 중 String값이, 내가 원하는 값과 같은지 비교하기 위해 비교연산자 '=='를 사용하였으나, 입력하는 값을 원하는 값을 입력하였음에도 불구하고, if문에서 조건문에 통과 되지 않아 false처리되어 원하는 방향과 다르게 논리구조가 흘러갔다. 1. 에러코드 전문 에러코드 없음. 논리 오류로 원하는 값이 안 나올 뿐이었다. 2. 원인 - JAVA에서 String값은 call by reference로, ==연산자를 사용할 경우 두 비교 대상의 '주소값'을 비교하게 되어있다. 3. 해결방안 1) 따라서 '주소값 비교' 가 아닌, '값 비교'를 하기 위해선 equals 메서드를 사용해야 한다. 즉, 조건문을 수정해준다. if(userid.equals(..
![[Spring Boot] 스프링부트 에러("Path with "WEB-INF" or "META-INF")](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc3jS0C%2FbtrwWhvRtBo%2FAAAAAAAAAAAAAAAAAAAAADycPdtXsYcTsEkYAzrXVzpc3NuNG017MRl4QeTN7XUQ%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D04xJQzXHSadswizn%252FcOv5lLFxc0%253D)
0. 상황 1. 에러코드 전문 1-1) STS 콘솔에러 WARN 31216 --- [nio-8090-exec-1] o.s.w.s.r.ResourceHttpRequestHandler : "Path with "WEB-INF" or "META-INF": [WEB-INF/views/loginFrm.jsp]" 1-2) 브라우저 화면 에러 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Mar 23 01:42:57 KST 2022 There was an unexpected error (type=Not Found, status=404). No message ..
![[Spring Boot] 스프링부트 에러 (Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.) DB연결 하지 않을 때..](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FZ9Wst%2FbtrwXyYlPCS%2FAAAAAAAAAAAAAAAAAAAAAFmf_RK4bKXg81wzTcxTWCq8m2nGHLX0plTfhaKzZ8mj%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DjBHuwhcPCEryZotLgl1wntlZRNU%253D)
0. 상황 스프링 부트 프로젝트 생성후, 처음으로 서버를 돌리고자 할 때 어플리케이션 시작에 실패하며 발생. 1. 에러코드 전문 *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded databa..