전체 글

요런 조런 시도들
· Language/SQL
칼럼의 default 값을 가져오는 방법 Query select COLUMN_DEFAULT from information_schema.'COLUMNS' C where table_schema='스키마 명' and table_name='테이블 명' and column_name='칼럼 명'; COLUMN_DEFAULT, ‘COLUMNS’ C 부분 대문자로 작성할 것 소문자로 쓰면 쿼리 오류가 나는 것을 볼 수 있었음 예시 schema: test table: user column: name default: “이름을 입력하세요.” select COLUMN_DEFAULT from information_schema.'COLUMNS' C where table_schema='test' and table_name='use..
본 포스트는 이펙티브 자바 ‘Ch 2, Item 1 생성자 대신 정적 팩토리 메서드를 고려하라’ 참고하여 작성한 글입니다. 헤드퍼스트 디자인패턴 책의 ch4 팩토리 패턴에서는 '정적 팩토리 메서드'를 언급한다. 그 내용을 보충하기 위하여 자료를 찾아보던 중, 이펙티브 자바에서 정적 팩토리를 다룬다는 것을 알게 되어 참고하였다. 팩토리 패턴에 대한 내용은 아래 포스트로 확인할 수 있습니다. [Design Pattern] 팩토리 메서드 패턴 (Factory Method Pattern) 본 포스트는 헤드퍼스트 디자인패턴을 읽고 정리한 글입니다. Ch4 팩토리 패턴 OverView 팩터리 패턴은 불필요한 의존성 없애 결합 문제를 해결한다. 모든 팩토리 패턴은 객체 생성을 캡슐화한다. roel-yomojomo.t..
본 포스트는 헤드퍼스트 디자인패턴을 읽고 정리한 글입니다. Ch4 팩토리 패턴 OverView 팩터리 패턴은 불필요한 의존성 없애 결합 문제를 해결한다. 모든 팩토리 패턴은 객체 생성을 캡슐화한다. 구상 클래스 의존성을 줄인다. → 네 번째 디자인 원칙, 느슨한 결합 구상 클래스가 아닌 추상 클래스와 인터페이스에 맞추어 코딩할 수 있다. 두 번째 디자인 원칙, 인터페이스에 맞추어 코딩하라. Question: 피자 가게 구축 메뉴를 유동적으로 추가/삭제 할 수 있는 피자 가게를 만들어야 한다. 단순 해결 입력 받은 피자 종류에 따라 피자 객체 인스턴스를 생성한다. public class PizzaStore { public Pizza orderPizza(String type) { Pizza pizza; if..
본 포스트는 헤드퍼스트 디자인패턴을 읽고 정리한 글입니다. Ch3 데코레이터 패턴 Question: 커피 주문 시스템 구축 기존 주문 시스템 클래스를 개선하여 다양한 음료를 모두 포괄할 수 있는 주문 시스템을 만들어야 한다. 기존 주문 시스템 cost: 음료 가격 description: 음료 설명 요구사항 옵션이 존재한다. 샷 추가, 우유, 휘핑 크림 등을 선택할 수 있다. 옵션을 추가할 때마다 가격도 추가된다. 임시방편 문제 해결 1 각 옵션 유무에 따라 클래스를 모두 생성하고, cost 메서드에서 최종 가격을 계산한다. Problem 특정 옵션의 가격이 인상되거나, 옵션 자체가 추가되면 모든 클래스를 일일이 확인 및 수정해야 한다. 지금까지 배운 4가지 디자인 원칙 중 어떤 것을 위반하고 있을까? 디..
본 포스트는 이것이 자바다을 읽고 정리한 글입니다. 람다식익명 함수(anonymous function)를 생성하기 위한 식으로 함수 지향 언어에 가깝다. 람다식의 형태는 매개 변수를 가진 코드 블럭이지만, 런타임 시에는 익명 구현 객체를 생성한다. 장점코드가 간결해진다.컬렉션의 요소를 필터링하거나 매핑하여, 원하는 결과를 쉽게 집계할 수 있다. 기본 문법(Type parameter, ...) -> { execute; ... } 타겟 타입 & 함수적 인터페이스Interface variable = lambda;람다식은 인터페이스 변수에 대입된다. = 람다식은 인터페이스의 익명 구현 객체를 생성한다.인터페이스는 객체화하기 위하여 구현 클래스가 필요하다. 타겟 타입람다식이 대입될 인터페이스이다. 타겟 타입에 따..
본 포스트는 헤드퍼스트 디자인패턴을 읽고 정리한 글입니다. Ch2 옵저버 패턴 Question: 기상 스테이션 구축 현재 기상 조건(온도, 습도, 기압)을 추적하는 WeatherData 객체를 바탕으로 3개의 항목을 화면에 표시하는 애플리케이션을 만들어야 한다. 요구사항 3가지 디스플레이에 표시할 항목은 각각 현재 조건, 기상 통계, 기상 예보이다. 화면에 표시되는 항목은 WeatherData 객체에서 최신 측정치를 수집할 때마다 실시간으로 갱신된다. 날씨 디스플레이는 확장 가능해야 한다. WeatherData 객체 코드 채우기 public class WeatherData { // 인스턴스 변수 선언 CurrentConditionsDisplay currentConditionsDisplay = new Cu..
본 포스트는 헤드퍼스트 디자인패턴을 읽고 정리한 글입니다. Ch1 디자인 패턴 소개와 전략 패턴 전략 패턴 (Strategy Pattern) 알고리즘군을 정의하고 캡슐화하여, 실행 중에 알고리즘을 교체할 수 있게 하는 디자인 패턴이다. 변경 가능성이 있는 부분을 분리하여 인터페이스를 이용하여 캡슐화하고, 실행 중에 구현체를 선택하여 사용할 수 있도록 한다. Question 다양한 오리(Duck)을 만들고 싶다. 모든 오리는 각자 다른 모양(display)을 가지지만, 모두 꽥꽥 소리(quack)를 낼 수 있으며, 날(fly) 수 있다. 어떻게 구현할 수 있을까? 간단하게 생각해 보자면 Duck이라는 슈퍼 클래스를 두고, 이를 다양한 종류의 오리가 상속받도록 구현할 수 있을 것이다. Problem 하지만,..
본 글은 건국대학교 알고리즘 동아리 AlKon 스터디 5조에서 진행된 발표 내용입니다. 2517 달리기 2517번: 달리기 첫째 줄에는 선수의 수를 의미하는 정수 N이 주어진다. N은 3 이상 500,000 이하이다. 이후 N개의 줄에는 정수가 한 줄에 하나씩 주어진다. 이 값들은 각 선수들의 평소 실력을 앞에서 달리고 있는 www.acmicpc.net 시간 제한 입력 범위 1초 N, 기량 3 ≤ N ≤ 500,000 // 1 ≤ 기량 ≤ 1,000,000,000 N: 선수의 수 N개의 줄: 각 선수들의 평소 실력을 앞에서 달리고 있는 선수부터 제시 참가한 선수들의 평소 실력은 모두 다르다. 접근법 세미나에서 들은 내용은 아래와 같다. 기량의 최댓값은 1,000,000,000이므로 이 범위로는 세그먼트 ..
두둥당
CS 요모조모