본문 바로가기

전체 글278

DBMS별 자주 쓰는 SQL 문 매번 다른 DBMS 쓸 때마다 함수나 문법이 헷갈려서 정리해 놓는다. 이후에도 생각나는 게 있으면 추가할 예정이다.날짜/시간 ↔ 문자열 변경PostgreSQL-- 날짜/시간 → 문자열SELECT TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI:SS') AS date_string;-- 문자열 → 날짜/시간SELECT TO_TIMESTAMP('2024-10-14 15:30:00', 'YYYY-MM-DD HH24:MI:SS') AS timestamp_value;MySQL/MariaDB-- 날짜/시간 → 문자열SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS date_string;-- 문자열 → 날짜/시간SELECT STR_TO_DATE('2024-10-14.. 2024. 10. 14.
자바 지네릭 지난번에 enum 설명에 이어서, enum과 마찬가지로 자바 1.5에서 등장한 지네릭에 대해서 이야기해보려고 한다. 지네릭은 클래스나 메서드에서 사용할 데이터 타입을 제한한다. 이렇게 함으로써 타입 안전성을 제공하고, 변수 사용 시에 타입 체크나 타입 캐스팅을 수행하지 않아도 되는 이점이 있다. 사용 방법지네릭 클래스지네릭 클래스는 클래스 이름 뒤에 "타입 변수 T"를 명시해 준다. public class A { T item; public T getItem() { return item; } public void setItem(T item) { this.item = item; }} A a = new A();a.setItem("abc");String s.. 2024. 5. 19.
Jenkins 동시 빌드 제한하기 지난주 개발 서버 배포 후 개발 서버에 접속이 안 된다는 연락이 와서 서버를 확인해 보니 정말 서버에 들어가지지 않았다. 톰캣이 제대로 실행되고 있지 않았는데 이는 젠킨스에서 배포를 두 번 하면서 파이프라인 마지막 스텝인 서버 재시작이 두 번 이뤄지면서 생긴 일이었다. 현재 해당 프로젝트(잡)는 깃허브에 폴링 방식으로 최신 커밋을 확인하고 새로운 커밋이 제출됐다면 빌드를 실행한다. 그런데 어찌 된 일인지 같은 커밋인데도 불구하고 다른 커밋으로 인식하여 새로운 빌드를 수행했다. 그러다 보니 위에서 언급한 서버 재시작 스텝이 겹쳐서 실행돼 버린 것이다. 같은 커밋을 새로운 훅으로 인식한 문제는 일단 차치하고 이미 빌드가 시작된 프로젝트에서 또다시 빌드가 이뤄질 수 있는 것은 문제다. 하나의 작업에 대해 두 .. 2024. 5. 15.
enum 어떻게 잘 활용할까? 자바 1.5 버전부터 도입된 enum은 여러 상수들을 한 곳에서 정의하기 위해 사용하는 타입이다. 벌써 자바 21 버전이 등장했지만 아직도 enum의 매력을 모르는 이들을 위해 enum을 소개하려고 한다. 먼저, enum의 특징에 대해 간단히 정리하고 활용법을 설명하겠다. Enum의 특징enum은 상수 이름, 멤버 변수, 생성자, 메서드로 구성된다.public enum Sns { // 상수의 이름과 필드에 해당하는 값들 NAVER("naver", "네이버"), KAKAO("kakao", "카카오"), GOOGLE("google", "구글"), APPLE("apple", "애플"), X("x", "트위터"), INSTAGRAM("instagram", "인스타그램"); .. 2024. 5. 8.
728x90