Recent Posts PHP / 두 날짜 사이의 기간(차이) 구하는 방법 두 날짜 사이의 차이 구하기 시작하는 날짜를 변수에 담는다. $from = new DateTime( '2022-01-01' ); 끝나는 날짜를 변수에 담는다. $to = new DateTime( '2022-03-31' ); diff 또는 date_diff로 차이를 구한다. echo $from -> diff( $to ) -> days; echo date_diff( $from, $to ) -> days; 2022년 1월은 31일, 2월은 28일, […] DBeaver / MariaDB / CSV 가져오기 대량의 데이터를 CSV 파일로 만들어서 테이블에 삽입할 수 있다. 명령어로도 가능하지만 툴을 이용하는 게 편하다. DBeaver에서 CSV 데이터를 Import하는 방법을 알아본다. CSV의 열과 테이블의 열이 일치하는 경우 다음과 같은 테이블이 있다고 하자. ID는 PRIMARY KEY로 자동 증가 값이다. 엑셀이나 메모장 등으로 CSV 파일을 만든다. 1행에는 열 이름을 넣는다. 자동 증가 […] MariaDB / 함수 / ROUND ROUND는 반올림하는 함수이다. 별도 설정을 하지 않으면 소수 첫째 자리에서 반올림한다. SELECT ROUND( 1.4 ); +--------------+ | ROUND( 1.4 ) | +--------------+ | 1 | +--------------+ SELECT ROUND( 1.5 ); +--------------+ | ROUND( 1.5 ) | +--------------+ | 2 | +--------------+ 음수의 경우 반올림이라고 표현하는 게 이상할 수도 있다. -1.4 […] MariaDB / SELECT 결과를 INSERT하는 방법 Z_1 테이블에서 a, b, c 열의 데이터를 Z_2 테이블의 x, y, z 열에 삽입한다고 하자. 우선 Z_1 테이블에서 a, b, c 열의 데이터를 가져오는 쿼리를 만든다. SELECT a, b, c FROM Z_1 ; 그 위에 INSERT를 추가한다. INSERT INTO Z_2 ( x, y, z ) SELECT a, b, c FROM […] MariaDB / 피벗 테이블 만들기 피벗 테이블은 엑셀의 유용한 기능 중의 하나이다. 예를 들어 아래의 왼쪽 데이터를 오른쪽 표처럼 만드는 것이 피벗 테이블이다. 조건에 따라 그룹화시켜서 보기 좋게 데이터를 정리하는 것이라 보면 된다. MariaDB에서도 몇 가지 함수를 이용하여 피벗 테이블을 만들 수 있다. 테이블의 이름이 pivot이라 가정하면, 아래처럼 쿼리를 짜면 된다. SELECT company , SUM( […] jQuery / input 값 변화 감지하기 / change, keyup input 요소에 값을 입력하거나 선택했을 때, 이를 감지하여 어떤 작업을 할 수 있다. input의 type이 number일 때, checkbox일 때, radio일 때로 나누어서 어떻게 감지하는지 알아본다. input type="number" 숫자를 입력할 수 있는 폼 두 개를 만들고, 값을 입력했을 때 두 수의 곱을 출력해보자. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>jQuery</title> […] CSS / 표(table) 꾸미기 / 틀 고정(행 또는 열 고정) 만들기 엑셀에 틀 고정이라는 기능이 있다. 틀 고정을 사용하면 상하 또는 좌우로 스크롤해도 항상 보이는 행 또는 열을 만들 수 있다. CSS로도 같은 효과를 낼 수 있다. 이를 구현하기 위해 사용하는 속성은 display: sticky이다. 예를 들어 다음과 같은 표가 있다고 하자. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>CSS</title> <style> table#jb-table […] PHP / 파일 업로드 만들기 PHP로 파일 업로드 기능을 구현해본다. 다음은 파일을 업로드하기 위한 간단한 HTML 문서. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>PHP</title> </head> <body> <form action="" method="POST" enctype="multipart/form-data"> <p><input type="file" name="myfile"></p> <p><input type="submit" name="action" value="Upload"></p> </form> </body> </html> 파일을 업로드하면 $_FILES 번수에 배열로 name, type, size, tmp_name, error 정보가 전달된다. 아래는 123.png […] Visual Studio Code / 메모 주석 단축키가 되지 않을 때 한글 입력기가 Microsoft 입력기인지 확인한다. 한컴 입력기인 경우 문제가 생긴다. jQuery / 천 단위 쉼표 만드는 방법 예제 1 텍스트로 출력된 숫자에 천 단위 쉼표를 넣는다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>jQuery</title> <script src="//code.jquery.com/jquery-3.3.1.min.js"></script> <script> $( document ).ready( function() { $( '#jb' ).text( $( '#jb' ).text().replace( /\,/g, '' ).replace( /(\d)(?=(?:\d{3})+(?!\d))/g, '$1,' ) ); } ); </script> <style> body { font-family: Consolas; font-size: 40px; } </style> […] PHP / number_format() / 숫자 표현 형식 정하는 함수 number_format() 함수로 숫자의 표현 형식을 정한다. 천 단위 쉼표를 찍을 수도 있고, 소숫점 아래 표시할 숫자의 개수를 정할 수도 있다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>PHP</title> <style> body { font-family: Consolas, monospace; } </style> </head> <body> <p> number_format( 123456.123456 ) : <?php echo number_format( 123456.123456 ); ?> </p> […] Visual Studio Code / 단축키 주석 블록 주석 : Alt + Shift + A 한 줄 주석 : Ctrl + / jQuery / 동적 셀렉트(select) 만드는 방법 앞의 select에서 선택을 하면, 그 값에 따라 뒤의 select의 선택 항목이 바뀌게 하는 것을 동적 셀렉트라고 하는 거 같다. 예를 들어 앞의 select에서 서울을 선택하면, 뒤의 select의 option이 강남구, 송파구 등으로 바뀌는 것. 아래는 jQuery를 이용해서 만든 간단한 동적 셀렉트 예제이다. onchange을 이용하여 값의 변화를 인식하고 optionChange() 함수를 실행한다. 변수 […] PHP / 함수 / strpos() / 문자열 안에서 특정 문자열 위치 반환하는 함수 strpos()는 문자열 안에서 특정 문자열의 위치를 반환하는 함수이다. 문법 strpos(string $haystack, string $needle, int $offset = 0) haystack : 검색 대상이 되는 문자열 needle : 찾을 문자열 offset : 검색 시작 위치 찾을 문자열이 있다면 그 위치를 반환하고, 없다면 false를 반환한다. 예제 123456789에서 1의 위치를 반환한다. 값은 0이다. strpos( "123456789", […] Visual Studio Code / 자동 줄바꿈 설정하는 방법 [File - Preferences - Settings]를 클릭한다. word wrap으로 검색한 후 on으로 변경한다. JavaScript / window.open / 새 창 띄우기, 부모 창과 자식 창 사이 값 전달하기 window.open으로 새 창을 띄우고, 부모 창에서 자식 창으로, 자식 창에서 부모 창으로 값을 전달하는 방법을 정리한다. 부모 창이 parent.html, 자식 창이 child.html이다. 새 창 띄우기 문법은 다음과 같다. window.open( url, windowName, windowFeatures ); url : 새 창에 들어갈 문서 주소 windowName : 윈도우 이름 windowFeatures : 새 창의 특성 예를 […] PHP / 현재 페이지의 URL 정보 가져오는 방법 $_SERVER를 이용하여 현재 페이지의 URL 정보를 가져올 수 있다. $_SERVER[ "HTTP_HOST" ] : 도메인 $_SERVER[ "REQUEST_URI" ] : 도메인 다음 부분 $_SERVER[ "QUERY_STRING" ] : GET 방식으로 넘어온 값 $_SERVER[ "PHP_SELF" ] : 도메인 다음 부분에서 GET 방식으로 넘어온 값 제외 basename( $_SERVER[ "PHP_SELF" ] ) : 파일 이름 예를 […] Visual Studio Code / 탭 크기 설정하는 방법 [File - Preference - Settings]를 클릭하여 설정 파일을 연다. tab으로 검색한 후 왼쪽에서 [Text Editor]를 클릭한다. [Editor: Tab Size]에서 탭 크기를 정한다. [Editor: Insert Spaces]에서 탭에 공백을 사용할 지 정한다. Visual Studio Code / 설치 파일 종류 - 사용자 설치, 시스템 설치 윈도우(Windows)용 Visual Studio Code 설치 파일은 User Installer와 System Installer 두 가지가 있다. User Installer 사용자 폴더에 설치된다. 다른 사용자는 사용하지 못한다. System Installer 시스템 폴더에 설치된다. 모든 사용자가 사용할 수 있다. 첫 페이지에 있는 것은 User Installer이다. System Installer를 설치하라면 화살표가 가리키는 곳을 클릭하거나... https://code.visualstudio.com/Download로 접속한다. Visual Studio Code / ftp-simple / FTP(SFTP)로 원격 서버 접속하는 확장 기능 원격 서버에 파일을 추가하거나 수정할 때, 로컬에서 작업하고 서버에 업로드하는 것은 상당히 번거롭다. 그래서 텍스트 에디터 중에는 FTP로 서버에 접속해서 바로 작업할 수 있는 기능을 포함한 것이 있다. 또는 프로그램 자체에 포함되지는 않았지만, 플러그인을 이용해서 FTP 기능을 추가할 수 있는 텍스트 에디터도 있다. Visual Studio Code는 플러그인을 추가하여 FTP 접속이 가능하다. […] DBeaver / 메모 SQL 저장 위치 SQL 스크립트에서 마우스 우클릭한다. [Open Folder in Explorer]를 클릭하면 파일 탐색기에서 폴더를 연다. [Copy File Path]를 클릭하면 파일까지의 경로를 클립보드에 복사한다. SQL 스크립트 목록은 [Projects - Scripts]에서 볼 수 있다. SQL 에디터 글꼴 변경 [Window - Preferences - User Interface - Appearance - Color and Fonts > […] PHP / PHPMailer / SMTP를 이용하여 메일 발송하게 하는 라이브러리 PHP의 mail() 함수를 이용하여 메일을 보낼 수 있다. 그런데 이렇게 발송한 메일은 스팸으로 인식되는 경우가 많다. 정상적으로 메일을 수신토록 하려면 SMTP를 이용하는 게 좋다. PHPMailer는 SMTP를 이용하여 메일 발송하게 하는 라이브러리다. PHPMailer를 이용하여 메일을 발송하는 방법을 정리한다. 다운로드 및 업로드 GitHub에서 소스를 다운로드한다.(https://github.com/PHPMailer/PHPMailer) 압축을 풀고 서버에 업로드한다. Composer를 이용하여 설치할 […] SQL Server / Query / GO 예를 들어 DB라는 데이터베이스를 만들고, ID라는 열을 갖는 TB라는 테이블을 만든다고 하자. 쿼리로 만드는 경우 다음과 같이 할 수 있는데... CREATE DATABASE DB; USE DB; CREATE TABLE TB ( ID int ); 다음과 같은 에러가 난다. 데이터베이스 'DB'이(가) 없습니다. 이름을 제대로 입력했는지 확인하십시오. 이런 경우 GO를 사용한다. GO를 기준으로 해서 […] SQL Server / 테이블 / 기본 키(PRIMARY KEY) 기본 키(PRIMARY KEY) 테이블의 각 행을 고유하게 식별하는 값을 가진 열 또는 열 조합을 기본 키라 한다. 테이블은 하나의 기본 키만 가질 수 있다. 기본 키를 만들면 인덱스가 자동으로 생성되며, 쿼리에서 기본 키를 사용하는 경우 빠르게 액세스할 수 있다. 쿼리로 만들기 기본 키 만들기 테이블을 만들 때 기본 키 만들기 […] SQL Server / SSMS / 글꼴 변경하는 방법 SQL Server 관리는 보통 SSMS(SQL Server Management Studio)로 한다. 다른 툴도 많이 있지만, 전용 도구가 갖는 장점이 많이 있기 때문이다. 보통 한글 버전을 설치하게 되는데, 쿼리 창 기본 글꼴이 돋움체이다. 만약 이 글꼴이 마음에 들지 않는다면 옵션에서 변경할 수 있다. 변경은 [도구 - 옵션]에서 한다. [환경 - 글꼴 및 색]에서 […]