[PostgreSQL] 함수로 공통 코드 조회하기(문자열 배열)
·
💻 Dev/Database
최근 고도화 프로젝트에서 아래처럼 REPLACE문을 거의 1n중으로 감싼 하드코딩 쿼리를 발견했다.이 프로젝트는 기간이 굉장히 타이트해서 계속 야근하느라 빨리 구현해야 됐었다.이 쿼리 또한 AS-IS 프로젝트의 쿼리 로직을 그대로 사용해도 되는거였으나 차마 그냥 쓰기가 싫어서 함수로 만들었다. 공통 테이블 기반의 함수들은 만들어두면 다른 개발자들도 사용할 수 있어서 유용하다. 간단한 예시로 포스팅하고자 한다.레쓰고 SELECT REPLACE(REPLACE(REPLACE(your_column_name, 'APPLE', '애플'), 'BANANA', '바나나'), 'MANGO', '망고') AS FRUITSFROM comm_cd이 쿼리는 `APPLE,BANANA,MANGO` 이렇게 저장된 문자열의 값을 '애..
[자바의 정석] 상속, 참조변수 super, 생성자 super()
·
📝 끄적끄적/🖥️ 자바의 정석
상속기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용)두 클래스를 부모와 자식으로 관계를 맺어주는 것class Car {}class FireEngine extends Car {}자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외)왜 자손과 조상이라는 단어를 사용했느냐?부모의 부모도 있을 수 있다. 바로 위에 부모것만 상속받는 게 아니기 때문이다.자손의 멤버 개수는 조상보다 적을 수 없다.(같거나 많다.)자손의 변경은 조상에 영향을 미치지 않는다.자식 클래스의 변경이 있어도 조상에 영향이 가지 않는다.class Tv { boolean power; // 전원상태(on/off) int channel; // 채널 void power() { power = !power; } ..
[자바의 정석] 생성자, 변수/멤버 변수의 초기화
·
📝 끄적끄적/🖥️ 자바의 정석
챕터 6 끝!19개의 영상에서 많은 걸 배웠다.7까지 달려보자 아자자 생성자(contrunctor)인스턴스가 생성될 때마다 호출되는 ‘인스턴스 초기화 메서드’인스턴스 초기화 메서드란? 인스턴스 변수 초기화하는 메서드이다.Time t = new Time(); //객체 생성t.hour = 12; //초기화t.minute = 34; //초기화t.second = 56; //초기화 ❓이것을 간단하게 할 수 없을까Time t = new Time(12, 34, 56); //생성자 호출 특징이름이 클래스 이름과 같아야 한다.리턴값이 없다.(void 안 붙임)모든 클래스는 반드시 생성자를 가져야 한다. 기본 생성자매개 변수가 없는 생성자생성자가 하나도 없을 때만, 컴파일러가 자동 추가매개변수가 있는 생성자를 만든 후, ..
[자바의 정석] static 메서드와 인스턴스 메서드, 오버로딩
·
📝 끄적끄적/🖥️ 자바의 정석
static 메서드와 인스턴스 메서드인스턴스 메서드인스턴스 생성 후 ‘참조변수. 메서드이름()’로 호출인스턴스 멤버와 관련된 작업을 하는 메서드메서드 내에서 인스턴스 변수 사용가능 static 메서드(클래스메서드)객체생성없이 ‘클래스이름. 메서드이름()’으로 호출인스턴스 멤버와 관련없는 작업을 하는 메서드메서드 내에서 인스턴스 변수 사용불가 결론메서드 내에서 인스턴스 변수를 쓰냐 안 쓰냐의 차이다.class MyMath2 { long a, b; //인스턴스변수 a, b만을 이용해서 작업하므로 매개변수가 필요없다. long add(){ return a + b; // a, b는 인스턴스변수 } //인스턴스변수와 관계없이 매개변수만으로 작업이 가능하다. static long add(long a, lo..
[자바의 정석] 기본형/참조형 매개변수, 참조형 반환타입
·
📝 끄적끄적/🖥️ 자바의 정석
기본형 매개변수class Data { int x; }class PrimitiveParamEx { public static void main(String[] args) { Data d = new Data(); d.x = 10; System.out.println("main() : x = " + d.x); change(d.x); System.out.println("After change(d.x)"); System.out.println("main() : x = " + d.x); } static void change(int x) { // 기본형 매개변수 x = 1000; System.out.println("change() : x = " + x); }}//결과//main() : x = 10//cha..
[자바의 정석] 클래스 변수와 인스턴스 변수, 호출스택
·
📝 끄적끄적/🖥️ 자바의 정석
선언위치에 따른 변수의 종류lv는 메소드가 시작하고 끝날 때까지만 유효 = 메소드 종료 시 자동제거클래스 변수와 인스턴스 변수카드라는 객체 2개가 있다.개별적인 속성(숫자, 무늬) = 인스턴스 변수 = iv공통적인 속성(폭,높이) = 클래스 변수 = cv = static class Card { String kind; //무늬 int number; //숫자 static int width = 100; //폭 static int height = 200; //높이}//예제Card c = new Card();c.king = "HEART";c.number = 5;//참조변수로 가능하나 권장 안함c.width = 200;c.height = 300;//권장Card.width = 200;Card.heihjt = 300;..