초난감 DAO DAO (Data Access Object) DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트 자바빈 (JavaBean, 빈) 다음 두 가지 관례를 따라 만들어진 오브젝트를 가리킨다. 디폴트 생성자 파라미터가 없는 디폴트 생성자를 갖고 있어야 한다. 툴이나 프레임워크에서 리플렉션을 이용해 오브젝트를 생성하기 때문에 필요하다. 프로퍼티 자바빈이 노출하는 이름을 가진 속성을 말한다. 수정자 메소드(setter)와 접근자 메소드(getter)를 이용해 수정/조회할 수 있다. 예시) UserDAO 사용자 정보를 DB에 넣고 관리할 수 있는 DAO 클래스를 만들어보자. JDBC를 이용하는 작업의 일반적인 순서는 다음과 같다. - DB 연결을 위한 Connection을 가져온..
템플릿 메소드 패턴 (Template Method Pattern) 알고리즘의 골격을 정의하는 패턴입니다. 템플릿 메소드를 사용하면 부모 클래스의 알고리즘 골격을 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수 있습니다. 구조 1. 추상 클래스: 알고리즘의 단계들을 선언하고, 이 메서드들을 순서대로 호출하는 템플릿 메서드도 함께 선언합니다. 알고리즘 중 일부는 구현되어 있을 수도 있어요! 2. 구상 클래스: 추상 클래스의 알고리즘들을 재정의할 수 있지만 템플릿 메서드를 재정의할 수는 없습니다. 예시 책에서는 카페인이 함유된 음료를 의미하는 CaffeinBeverage 추상 클래스를 예시로 들고 있습니다. prepareRecipe() 메소드는 음료를 준비하는 순서대로 알고리즘을 실행하는 ..
퍼사드 패턴(Facade Pattern) 퍼사드 패턴은 아주 복잡한 일련의 서브시스템 인터페이스들을 하나의 단순화된 통합 인터페이스로 묶어 줍니다. 또한 고수준 인터페이스를 정의하고 클라이언트가 정말로 중요하다고 여기는 기능들만 포함해 서브시스템을 더 편리하게 사용할 수 있도록 도와줍니다. 특징 - 하나 이상의 클래스 인터페이스들을 단순한 하나의 인터페이스로 제공하는 퍼사드 클래스를 구현합니다. - 클라이언트의 구성 요소인 서브시스템들을 분리하는 역할을 수행합니다. Q) 퍼사드 클래스에서 사용되는 서브시스템 클래스 메소드를 직접 호출하고 싶다면 어떻게 할까요? 퍼사드 클래스는 서브시스템 클래스를 캡슐화하지 않아요. 서브시스템 클래스를 그냥 사용하면 됩니다! 퍼사드 클래스 예시 스트리밍 플레이어, 프로젝터..
어댑터 패턴 호환되지 않는 모양의 인터페이스를 사용하고 싶을 때에는 어댑터 패턴의 어댑터를 이용해 클라이언트가 요구하는 모양의 다른 인터페이스로 변환하여 사용할 수 있습니다. 어댑터는 인터페이스가 호환되지 않아 함께 쓸 수 없었던 클래스를 사용할 수 있도록 도와줍니다. 클라이언트는 인터페이스를 사용하면서도 중간에 어댑터가 있다는 사실을 알지 못합니다. 구조 1. Client: 서비스 인터페이스를 사용하는 고객입니다. 2. Client Interface: Client가 사용하는 서비스들의 공통 로직(틀)을 의미합니다. 3. Adapter: Service를 Client가 사용할 수 있는 Client Interface 형식으로 변환합니다. 4. Service: Client가 사용하고자 하는 타사의 호환되지 않..
문제 상황 DB 연결 문제로 3일을 꼬박 삽질만 했다 ㅎ.ㅎ AWS RDS 데이터베이스를 EC2가 아니라 외부 IP의 MySQL Workbench와 스프링 부트 프로젝트에 연결하고 싶었다. 그러나 Workbench에서는 unable to connect to localhost, 그리고 Spring Boot에서는 connection timeout이라는 연결 오류가 발생했다. 혹시 다른 블로그 글을 따라해보며 AWS RDS의 보안 그룹을 수정하고 퍼블릭 액세스를 허용해봤지만 여전히 connection timeout, unable to connect to localhost와 같은 RDS 연결 오류가 뜬다면 꼭 이 글을 읽어보길 권한다. 해결 방법 일단 차근차근 AWS RDS 생성 과정부터 살펴보자. 1. RDS..
8월 1일, GDSC Sookmyung의 졸업식을 마지막으로 GDSC Sookmyung 2기의 모든 활동이 끝났다. 대학 생활하면 GDSC! 라고 말할 수 있을 만큼 좋은 기억만 남아있어서 GDSC 지원에 관심있을 분들을 위하여 후기와 추천글을 남겨본다 :) 담당 역할과 지원하게 된 이유 필자는 2021년 2학기부터 1년 동안 GDSC Sookmyung의 Core member(Android)를 담당했다. GDSC란 구글 기술에 관심있는 대학생 개발자 커뮤니티로 전세계 106개국, 우리나라에는 21개의 대학교가 함께하고 있다. GDSC 내부에서는 로컬 문제 해결을 위해 Solution Challenge라는 세계적인 해커톤 행사가 열리는데, 이 솔루션 챌린지가 너무 재미있을 것 같다는 생각에 Core mem..
- Total
- Today
- Yesterday
- 버추억박스오류
- 쇼미더코드
- virtualbox
- cron시스템
- baekjoon
- 리눅스
- linux파일
- 백준27211
- 코테
- Baekjoon27219
- cat
- 백준27219
- E_FAIL
- GithubAPI
- OnActivityForResult
- api문서
- Baekjoon27211
- 버추억박스에러
- GitHubAPIforJava
- awk프로그램
- whatis
- linuxtouch
- 리눅스cron
- 백준
- Linux
- linuxgedit
- SELECT #SELECTFROM #WHERE #ORDERBY #GROUPBY #HAVING #EXISTS #NOTEXISTS #UNION #MINUS #INTERSECTION #SQL #SQLPLUS
- 사용자ID
- linuxawk
- atq
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |