분류 전체보기
-
[Design Pattern] Factory Pattern 팩토리 패턴Study/Design Pattern 2021. 7. 17. 21:24
인터페이스를 상속받는 구현 클래스들의 객체를 생성할 때, 생성자를 통해 직접 생성하는 것이 아닌 해당 인터페이스를 상속하는 하위 클래스에서 객체를 생성하는 것을 팩토리 패턴이라고 한다. 즉 객체 생성을 다른 서브 클래스로 캡슐화하여 구현 클래스에 대한 의존성을 줄이는 것이다. 이를 통해 얻을수 있는 효과는 클래스간의 결합도를 낮춰, 변경과 제거를 최소화 할 수 있다. 만약 음식이라는 클래스를 상속받는 여러 음료수 하위 클래스가 존재하는 상황을 가정해 보겠다. // Food 추상 클래스 public abstract class Food{ public abstract String eat(); } /////////////////////////////// public class Pizza extends Food{..
-
[Design Pattern] Singleton Pattern 싱글톤 패턴Study/Design Pattern 2021. 7. 15. 19:16
싱글턴 패턴이란(Singleton Pattern) 어떤 구현 클래스의 인스턴스를 단 1개만 생성하는 패턴입니다. 인스턴스가 남용돼서 자원을 낭비하는 경우를 없애고, 시스템 전반에 걸쳐 하나의 자원을 공유하여 사용하고자 할때 유용한 패턴입니다. 그래서 싱글톤 패턴을 간단하게 구현해보면 아래와 같이 구현 가능합니다. 기본생성자, 복사생성자, 제거자를 private으로 지정하여 외부의 접근을 막고, getInstance 맴버함수로만 instance를 생성할 수 있게 하는 것입니다. locking Eng 1.locking [명사] (브레이크댄스의) 로킹(과장된 동작의 코미디 댄스); 〈컴퓨터〉 잠그기. 2.locking [명사] (기계공학) 로킹 3.lock [동사] (자물쇠로) 잠그다[잠기다] 4.lock1 ..
-
Spring boot #8 AOPStudy/Spring boot 2021. 7. 14. 17:22
execution [ˌeksɪˈkjuːʃn] Eng 1.execution [명사] 처형, 사형 (집행) 2.executive (←execution) [명사] (기업이나 조직의) 경영[운영] 간부[이사/중역] 3.execute (←execution) [동사] (주로 수동태로) ~ sb (for sth) 처형[사형]하다 4.public execution 공개 처형 5.a stay of execution 형의 집행 정지 6.처형2 處刑 execution, execute (sb for sth) 7.이행1 履行 [명사] (실행) (약속의) fulfillment; (의무의) performance; (계약의) (formal) execution; (조약의) implementation [동사] (약속을) fulfill,..
-
Spring boot #7 JPAStudy/Spring boot 2021. 7. 14. 00:06
JDB Eng 1.JDB A hot (usually younger) male with the ability to make women grin from ear to ear when thinking about them. Usually characterised by a cute smile and dimples, they are genuine and caring partners ... 2.James Dean Bradfield (←JDB) JDB 3.Java Debugger binary (←JDB) JDB (Java) 4.Java Drive By (←JDB) JDB (Java) 5.Jernigan Dias Brandle (←JDB) JDB {"mean":["JDBC [약어]\n\t\t (컴퓨터/통신)\n\t\t ..
-
Spring boot #6 JdbcTemplate로 DB 접근Study/Spring boot 2021. 7. 13. 23:55
앞에서 Jdbc로 DB에 접근해보았으니 이번에는 jdbctemplate을 사용해보자. jdbctemplate는 기존 Jdbc에서 중복되는 부분을 상당수 줄여준 라이브러리로 코드양을 확 줄일 수 있다. 먼저 JdbcTemplateMemberRepository라는 파일을 생성하고 앞에서 만든 MemberRepository 인터페이스를 상속해주자. 템플릿을 사용할려면 JdbcTemplate 클래스를 생성해줘야한다. 아래처럼 DataSource를 생성자에서 주입받아 생성해주자. private final JdbcTemplate jdbcTemplate; @Autowired public JdbcTemplateMemberRepository(DataSource dataSource) { this.jdbcTemplate =..
-
백준 2473번 : 세 용액 (C++)알고리즘/BOJ 2021. 7. 13. 21:42
문제 : https://www.acmicpc.net/problem/2473 2473번: 세 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 3 이상 5,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 www.acmicpc.net 정수 배열에서 3개의 수를 골라 그 3개의 합이 최대한 0에 가까운 조합을 찾는문제이다. 먼저 N의 범위를 보자. N의 범위는 5000이하인 수로 O(N^2) 방법으로 시간내 풀 수 있음을 추측가능하다. 만약 골라야 하는 수가 3개가 아니고 2개라면 투 포인터나 해쉬맵으로 쉽게 해결할 수 있을 것이다. 그런 경우에는 배열의 사전에 정렬해줘야하므로 O(NlogN + N..
-
Spring boot #5 JDBC로 db접근Study/Spring boot 2021. 7. 10. 14:40
{"mean":["feature [명사]\n\t\t \t\t특색, 특징, 특성\n\n\t\t 참조 water feature","the [정관사]\n\t\t \t\t","engine [명사]\n\t\t \t\t엔진\n\n\t\t 참조 internal-combustion engine, jet engine, traction engine","welcome [동사]\n\t\t ~ sb (to sth)\n\t\t \t\t(다정하게) 맞이하다, 환영하다","to [전치사]\n\t\t \t\t(이동 방향을 나타내어) …로[에], …쪽으로"],"word":"\n\t\t\t\t\t\tfeature\n \t\t\t\n\t \t\n\t ","soundUrl":"https://dict-dn.pstatic.net/v?_lsu_s..
-
Spring boot #4 bean과 의존관계Study/Spring boot 2021. 7. 9. 02:04
이제 회원의 정보에 대한 레포지토리랑 서비스는 구현이 끝났으므로 컨트롤러를 구현해보자. 만들어둔 controller/ 패키지내에 MemberController.java 파일을 생성하자. 이제 Controller가 서비스를 이용하기 위해 서비스 객체가 필요할것이다. 그럼 이것을 Controller 클래스내에서 new 연산자로 새로 생성하여 사용하면 어떻게 될까? 그럼 다른 Controller가 이 맴버서비스를 가져다가 쓸때 서로간 맞지않는 문제가 생길것이다. 그래서 이러한 문제를 해결하기 위해 Spring은 container내에 bean을 통해 관리한다. container 내에 bean으로 등록한 클래스들의 객체를 두고 이를 싱글톤 패턴처럼 활용하는것이다. 이 bean으로 등록하는 방법은 2가지 방법이 있..