개발 etc 57

mysql Primary Key 기본키 삭제, 기본키 변경, 여러 컬럼을 기본키로

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 1. mysql 기본키 삭제 방법 2. 여러 컬럼을 기본 키로 변경하는 방법에 대해 공부합니다. 이 포스팅에서 가정되어야 할 부분은.이미 테이블을 생성한 상태이고 어떠한 컬럼을 기본키로 지정한 경우에 해당합니다. 1. 기본키 삭제 alter table 'tableName'drop primary key 기본키의 속성에 따라서 삭제가 안되는 경우가 발생하는데요.하나의 경우가 기본키가 auto_increment 일 경우입니다.이런 경우에는 먼저 auto_increment 속성을 삭제하고 기본키를 삭제하면 됩니다. 2..

개발 etc 2017.05.24

mysql 외래키 적용하려 할 때 mysql foreign key Support transactions, row-level locking, and foreign key 에러 날 때

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 저는 mysql 5.5.54 버전을 사용하고 있는데요.foreign key를 적용하려고 했더니 위와 같은 에러가 뜨더라구요 ;;; 먼저 제가 사용한 sql 쿼리문입니다. parent table :create table parent (email varchar(40) not null primary key,name varchar(8) not null) ENGINE=INNODB; child table : create table child (email varchar(40) not null,rank int not null,FOREIGN K..

개발 etc 2017.05.03

mysql between 원하는 날짜 범위의 값 검색, 날짜 범위 검색 방법 sql문

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 간단하게 mysql between 문에 대해 보겠습니다. 만약 테이블의 값들 중 날짜가 들어간 컬럼이 있고 어떠한 날짜 범위에 입력된 데이터들을 검색하고 싶다면어떻게 해야할까요?바로 between 문을 사용하면 됩니다.select * from '테이블이름' where '날짜컬럼' between date('시작날짜') and date('끝날짜')+1//시작날짜는 끝날짜에는 날짜컬럼에 입력된 데이터 형식으로 입력해주셔야 해요.만약 날짜컬럼에 '2017-04-18' 처럼 입력되어 있다면 시작날짜와 끝날짜도 같은 형식..

개발 etc 2017.04.18

JAVA 자바 템플릿 콜백 패턴(Template Callback Pattern)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 템플릿 콜백 패턴은 스프링의 3대 프로그래밍 모델 중 하나인 DI(의존성 주입)에서 사용하는 특별한 형태의 전략 패턴이에요.전략 패턴과 모든 것이 동일하지만 전략을 익명의 내부 클래스로 정의해서 사용한다는 특징이 있습니다. 바로 예제를 볼게요^^ 예제1)package templateCallbackPattern; public interface Strategy { public abstract void runStrategy();}예제2)package templateCallbackPattern; public class Soldier {..

개발 etc 2017.03.12

JAVA 자바 전략패턴(Strategy Pattern)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 전략 패턴을 구성하는 세 가지 요소는 꼭 기억하셔야 해요.-전략 메서드를 가진 객체-전략 객체를 사용하는 컨텍스트(전략 객체의 사용자./소비자)-전략 객체를 생성해 컨텍스트에 주입하는 클라이언트(제3자, 전략 객체의 공급자) 클라이언트는 다양한 전략 중 하나를 선택해 생성 후 컨텍스트에 주입해요.군인이 있고 군인이 사용할 무기, 그리고 무기를 공급해주는 보급장교가 있다고 할 때무기는 전략이 되고 군인은 컨텍스트, 보급장교는 클라이언트가 됩니다. 바로 예제로 보겠습니다.예제1)package strategyPattern; publi..

개발 etc 2017.03.12

JAVA 자바 팩터리 메서드 패턴(Factory Method Pattern)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 객체 지향에서 팩터리는 객체를 생성해요. 따라서 팩터리 메서드는 객체를 생성 반환하는 메서드입니다. 여기에 패턴이 붙으면 하위 클래스에서 팩터리 메서드를 오버라이딩해서 객체를 반환하게 하는 것을 의미합니다. 이전 포스팅에서 강아지,고양이와 노는 코드를 작성해봤었죠?여기서 좀 더해서 볼트와 키티가 각자 가지고 놀고 싶어하는 장난감을 가져온다고 해보면,볼트는 강아지 장난감을, 키티는 고양이 장난감을 가져오겠죠? 바로 예제로 보겠습니다. 예제0)package factoryMethodPattern; public abstract clas..

개발 etc 2017.03.12

JAVA 자바 템플릿 메서드 패턴(Template Method Pattern)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 볼트라고 하는 강아지와 키티라는 이름의 고양이를 키운다고 가정해보면, 볼트,키티와 함께 노는 시간을 보내는 세계를 프로그램으로 표현한다면 아래 2개의 예제와 같이 2개의 클래스가 필요하겠죠? 예제1)public class Dog { public void playWithOwner() { System.out.println("귀염둥이 이리온..."); System.out.println("야옹~ 야옹~"); System.out.println("꼬리 살랑 살랑~"); System.out.println("잘했어"); }} 예제2)publi..

개발 etc 2017.03.12

JAVA 자바 싱글턴 패턴(Singleton Pattern)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 싱글턴 패턴이란 인스턴스를 하나만 만들어 사용하기 위한 패턴이에요.커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 경우에 인스턴스를 여러개 만들게 되면불필요한 자원을 사용하게 되고, 또 프로그램이 예상치 못한 결과를 낳을 수 있다고 해요.싱글턴 패턴은 오직 하나의 인스턴스만 생성해 그것을 계속 재사용합니다.싱글턴 패턴을 적용하면 의미상의 두 개의 객체가 존재할 수 없어요.따라서 아래 세가지 조건이 반드시 필요해요. -new를 실행할 수 없도록 생성자에 private 접근 제어자를 지정한다.-유일한 단일 객체를 반환할 수 ..

개발 etc 2017.03.12

JAVA 자바 데코레이터 패턴(Decorator Pattern)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 데코레이터 패턴은 프록시 패턴과 구현 방법이 같아요. 단지 프록시 패턴은 클라이언트가 최종적으로 돌려받는 반환값을 조작하지 않고 그대로 전달하지만, 데코레이터 패턴은 클라이언트가 받는 반환값에 장식을 덧입힙니다. 바로 예제를 통해 데코레이터 패턴을 적용한 코드를 보겠습니다. 예제)IService.javapackage decoratorPattern; public interface IService { public abstract String runSomething();} Service.javapackage decoratorPatte..

개발 etc 2017.03.12

JAVA 자바 프록시 패턴(Proxy Pattern)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 프록시는 대리자라는 뜻입니다. 먼저 프록시 패턴을 적용하지 않은 패턴을 예제로 보겠습니다. 예제)Service.javapackage proxyPattern; public class Service { public String runSomething() { return "서비스 짱!!!"; }} ClientWithNoProxy.javapackage proxyPattern; public class ClientWithNoProxy { public static void main(String[] args) { // 프록시를 이용하지 않은 ..

개발 etc 2017.03.12