분류 전체보기 124

[JAVA]로깅에 System.out.println()을 사용하지 않는 이유

System.out.println()을 사용하면 안되는 이유 JAVA 프로그래밍을 하다 보면 로깅을 하기 위해 사용하는 입출력 구문은 단연 System.out.println()일 것이다. 필자도 개발자가 되고, 실제 운영 중인 시스템에 대한 개발을 진행할 때 System.out.println() 정말 많이 사용하였고, 가장 많이 지적받는 이유 중 하나였습니다. 그래서 이번 포스팅에서는 왜 이 구문을 사용하지 말하야 하는지에 대해 정리해보도록 하겠습니다. 우선 로깅(logging)에 대해 알아보도록 하겠습니다. 로깅(logging)이란? 실제 운영하는 시스템에서 예상치 못한 문제가 발생하였을 때 개발자는 문제를 찾아야 합니다. 이러한 문제를 빠르게 해결하기 위해서는 날짜, 시간, 로직에 대한 정보가 필요합..

Languages/Java 2023.01.12

[MYSQL]함수를 활용한 날짜 및 시간 연산

날짜 및 시간 연산 실제 데이터를 다루면서 특정 데이터의 날짜 및 시간에 대한 연산이 필요한 경우가 있습니다. 이러한 상황에서 MySQL이 제공해주는 시간 및 날짜 연산 함수를 사용하여 해결할 수 있습니다. 이번 포스팅에선 연산 함수에 대해 알아보고 직접 실습해보도록 하겠습니다. MySQL-시간 및 날짜 연산 함수 함수 기능 DATE_ADD() 일정 기간 만큼 더해줌 DATE_SUB() 일정 기간 만큼 빼줌 DATEDIFF() 두 시점의 사이의 일수 계산 TIMEDIFF() 두 시점의 사이의 시간 계산 PERIOD_DIFF() 두 시점의 사이의 월 계산 TIMESTAMPDIFF() 두 시점의 사이의 시간 계산 위와 같은 함수를 통해 시간 및 날짜에 대한 연산을 할 수 있습니다. 예제와 함께 자세하게 알아..

RDBS/MYSQL 2023.01.10

[MYSQL]NOW(), SYSDATE()의 차이

NOW(), SYSDATE()의 차이 MySQL에서 현재 시각의 데이터를 가져올 수 있는 몇 가지의 방법이 있다. 하지만 특정 기준 없이 무분별하게 사용되는 경우가 있어 차이를 알아보고자 한다. NOW() MySQL 서버의 시간을 가져오는 함수 - 쿼리문이 실행되는 시점의 시간 반환 SELECT NOW(); CURRENT_TIMESTAMP MySQL의 NOW()와 동일 - 표준SQL SELECT CURRENT_TIMESTAMP; SYSDATE() 호출되는 시점의 시간을 반환 SELECT SYSDATE(); 차이 SELECT NOW() , CURRENT_TIMESTAMP , SYSDATE(); NOW( ) CURRENT_TIMESTAMP SYSDATE( ) 2023-01-09- 16:00:00 2023-0..

RDBS/MYSQL 2023.01.09

[프로그래머스]입양 시각 구하기(2)-MySQL

2023.01.07 - [MYSQL/프로그래머스-MySQL] - [프로그래머스]입양 시각 구하기(1)-MySQL [프로그래머스]입양 시각 구하기(1)-MySQL 입양 시각 구하기(1) 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고 mooonstar.tistory.com 입양 시각 구하기(2) 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등..

RDBS/MYSQL 2023.01.09

[MYSQL]INSERT - 여러 건 삽입

INSERT - 단건 삽입 INSERT 기본 문법은 다음과 같다. -- Column 생략X INSERT INTO 테이블A (Column1, Column2, ..ColumnN) VALUES (Value1, Value2, ...ValueN) -- Column 생략O (컬럼과 값의 순서가 일치해야 함) INSERT INTO 테이블A VALUES (Value1, Value2, ...ValueN) 위와 같은 문법으로는 데이터 한 건만이 삽입할 수 있다. 하지만 SELECT 조회 결과를 삽입하는 등 다량의 데이터를 삽입해야 하는 경우 어떻게 삽입하는지 알아보도록 하자. INSERT - 여러 건 삽입 INSERT INTO 테이블A (Column1, Column2, ..ColumnN) VALUES (Value1, Va..

RDBS/MYSQL 2023.01.09

[JAVA]Iterator란?

Iterator란? 반복이라는 사전적인 의미가 있는 Iterator에 대하여 알아보도록 하겠습니다. JAVA에서 Iterator는 무엇을 반복하는 것일까? Java의 Iterator Iterator란 Java의 컬렉션(Collection)에 저장된 요소들을 순회하는 인터페이스입니다. Iterator의 이해를 위해서는 컬렉션(Collection)이 무엇인지 알아야 합니다. 아랫글을 우선 읽고 와주시면 감사하겠습니다! 2022.11.30 - [JAVA] - [JAVA] 콜렉션이란? [JAVA] 콜렉션이란? JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고과적으로 처리할 수 있는 표준화된방법을 제공하는 클래스의 ..

Languages/Java 2023.01.09

[프로그래머스]입양 시각 구하기(1)-MySQL

입양 시각 구하기(1) 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABL..

RDBS/MYSQL 2023.01.07

[프로그래머스]마법의 엘레베이터(JavaScript)

마법의 엘레베이터(JavaScript)- LEVEL 2 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다. 탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼이 ..

[Javascript]재귀 함수(Recursion Function)

재귀 함수(Recursion Function) "본디의 곳으로 다시 돌아오는 것"은 재귀의 사전적인 정의이다. 그렇다면 재귀함수(Recursion Function)은 무엇일까? 재귀함수는 정의 단계에서 자기 자신을 호출하는 함수를 말합니다. 재귀함수를 사용하면 반복문과 같이 동작시킬 수 있고, 반대로 모든 반복문도 재귀 함수로 구현이 가능하다. 재귀 함수(Recursion Function) 생성 //재귀함수 function recursionFunction() { ... //재참조 recursionFunction(); ... } 위와 같은 구조로 재귀함수 정의 단계에서 재귀 함수를 호출한다. 하지만 이렇게 함수 내부에서 자기 자신의 함수를 계속 참조한다면 함수는 끝나지 않을것이다. 그래서 특정 조건에 만족..

[MYSQL]USING과 ON의 차이

USING과 ON의 차이 USING과 ON은 두 테이블이 JOIN을 할 때 JOIN 조건 앞에 사용되는 구문이다. 하지만 두 개의 구문의 차이점이 있다. 예시를 보며 파악해보도록 하겠습니다. A 과목 수강 테이블 ID NAME 101 문OO 102 차OO 103 채OO B 과목 수강 테이블 ID NAME 101 문OO 102 차OO 두 개의 테이블에서 A 과목은 수강하였지만, B 과목을 수강하지 않은 인원을 조회해보도록 하겠습니다. 2023.01.05 - [MYSQL] - [MYSQL]MINUS(차집합) [MYSQL]MINUS(차집합) 💥MINUS(차집합) Oracle에서는 집합연산자 MINUS를 사용하여 두 집합 간의 차집합을 구할 수 있다. MySQL에는 MINUS와 같은 집합 연산자가 없기 때문에 ..

RDBS/MYSQL 2023.01.05