์ ์ฒด ๊ธ
๋์ ๊ฒฝํ๊ณผ ์ฝ์ง์ด ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๊ธธ ๋ฐ๋ผ๋ ์์ ์นดํ. Tistory ์ github.io ํ ๋ฐฉ์ธ, velog ํ ๋ฐฉ์ธ
-
SELECT DATE_PART('DAYS', CURRENT_TIMESTAMP AT TIME ZONE 'Asia/Seoul' - '2024-01-01 00:00:00'::TIMESTAMP) AS DIFF, CURRENT_TIMESTAMP AT TIME ZONE 'Asia/Seoul' - '2023-01-01 00:00:00'::TIMESTAMP AS DIFF2; DATE_PART PostgreSQL์์๋ ํน์ ๋ ์ง ๋๋ ์๊ฐ ๊ฐ์ ์ถ์ถํ ์ ์๋ ํจ์๊ฐ ์กด์ฌํ๋ค. ์ฌ์ฉ ๊ตฌ๋ฌธ: DATE_PART(field, source) ํด๋น ํจ์์ source ๋ถ๋ถ์ ๋ ๋ ์ง์ ์ฐจ์ด๋ฅผ ๊ตฌํ๋ ์์์ ๋ฃ๊ฒ ๋๋ฉด, days, hours, mins, secs ์์ผ๋ก ๊ณ์ฐํด์ ๋ณด์ฌ์ค๋ค. (years์ mons ๋ ์กด์ฌํ๋ day..
[PostgreSQL] Postgresql DIFF ๋ ๋ ์ง ์ฌ์ด ๊ณ์ฐSELECT DATE_PART('DAYS', CURRENT_TIMESTAMP AT TIME ZONE 'Asia/Seoul' - '2024-01-01 00:00:00'::TIMESTAMP) AS DIFF, CURRENT_TIMESTAMP AT TIME ZONE 'Asia/Seoul' - '2023-01-01 00:00:00'::TIMESTAMP AS DIFF2; DATE_PART PostgreSQL์์๋ ํน์ ๋ ์ง ๋๋ ์๊ฐ ๊ฐ์ ์ถ์ถํ ์ ์๋ ํจ์๊ฐ ์กด์ฌํ๋ค. ์ฌ์ฉ ๊ตฌ๋ฌธ: DATE_PART(field, source) ํด๋น ํจ์์ source ๋ถ๋ถ์ ๋ ๋ ์ง์ ์ฐจ์ด๋ฅผ ๊ตฌํ๋ ์์์ ๋ฃ๊ฒ ๋๋ฉด, days, hours, mins, secs ์์ผ๋ก ๊ณ์ฐํด์ ๋ณด์ฌ์ค๋ค. (years์ mons ๋ ์กด์ฌํ๋ day..
2024.04.04 -
1. vsftpd ์ค์น $ sudo apt update $ sudo apt install vsftpd 2. ๋ฐฉํ๋ฒฝ ๊ฐ๋ฐฉ vsftpd๋ ๊ธฐ๋ณธ์ ์ผ๋ก 20๋ฒ, 21๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐฉํ๋ฒฝ์ ์ฌ์ฉํ๋ค๋ฉด ํด๋น ํฌํธ๋ฒํธ๋ฅผ ํ์ฉํด์ค๋ค. $ sudo ufw allow 20/tcp $ sudo ufw allow 21/tcp $ sudo ufw enable 3. ์ค์ ํ์ผ ์์ $ sudo gedit /etc/vsftpd.conf 3-1. ์ค๋ช # anonymous ์ ์ ํ์ฉ ์ฌ๋ถ anonymous_enable=NO # ๊ณ์ ์ฌ์ฉ์ ์ ์ ํ์ฉ ์ฌ๋ถ local_enable=YES # ์ ๋ก๋ ํ์ฉ ์ฌ๋ถ write_enable=YES # ๋๋ ํ ๋ฆฌ๋ ํ์ผ ์์ฑ์ umask ๊ฐ # local_umask์ ์ซ์๋ฅผ ๋ณ๊ฒฝํ์ฌ ๊ธฐ๋ณธ ๊ถ..
๋ฆฌ๋ ์ค FTP ์๋ฒ, vsftpd ์ค์ 1. vsftpd ์ค์น $ sudo apt update $ sudo apt install vsftpd 2. ๋ฐฉํ๋ฒฝ ๊ฐ๋ฐฉ vsftpd๋ ๊ธฐ๋ณธ์ ์ผ๋ก 20๋ฒ, 21๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐฉํ๋ฒฝ์ ์ฌ์ฉํ๋ค๋ฉด ํด๋น ํฌํธ๋ฒํธ๋ฅผ ํ์ฉํด์ค๋ค. $ sudo ufw allow 20/tcp $ sudo ufw allow 21/tcp $ sudo ufw enable 3. ์ค์ ํ์ผ ์์ $ sudo gedit /etc/vsftpd.conf 3-1. ์ค๋ช # anonymous ์ ์ ํ์ฉ ์ฌ๋ถ anonymous_enable=NO # ๊ณ์ ์ฌ์ฉ์ ์ ์ ํ์ฉ ์ฌ๋ถ local_enable=YES # ์ ๋ก๋ ํ์ฉ ์ฌ๋ถ write_enable=YES # ๋๋ ํ ๋ฆฌ๋ ํ์ผ ์์ฑ์ umask ๊ฐ # local_umask์ ์ซ์๋ฅผ ๋ณ๊ฒฝํ์ฌ ๊ธฐ๋ณธ ๊ถ..
2024.03.13 -
๋ด์ฉ RDBMS์์ Model ๋๋ Dto ์ Date ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ค๋ณด๋ฉด ๋ฐ๋ฆฌ์ธ์ปจ์ฆ๊น์ง ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. (timestamp) ์ต๋ํ ์์ ๋จ์๋ฅผ ์ต์ํ ํ ๋ฐฉ๋ฒ์ด ๋ฌด์์ด ์์๊น ๊ณ ๋ฏผํ๋ค๊ฐ Javascript ์์ API๋ก ๋ถ๋ฌ์ฌ ๋, ์ ์ผ ๋จ์ํ ๋ฐฉ๋ฒ์ผ๋ก convert ํ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค. ์ฝ๋ function convertDateFormat(date) { let dateSplit = date; if (date.indexOf("T") != -1) { dateSplit = date.split("T"); dateSplit = dateSplit[0] + ' ' + dateSplit[1].substring(0, 8); } return dateSplit; }
Java LocalDateTime ๋ฅผ Javascript ์์ ์ฒ๋ฆฌ ํ ๋๋ด์ฉ RDBMS์์ Model ๋๋ Dto ์ Date ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ค๋ณด๋ฉด ๋ฐ๋ฆฌ์ธ์ปจ์ฆ๊น์ง ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. (timestamp) ์ต๋ํ ์์ ๋จ์๋ฅผ ์ต์ํ ํ ๋ฐฉ๋ฒ์ด ๋ฌด์์ด ์์๊น ๊ณ ๋ฏผํ๋ค๊ฐ Javascript ์์ API๋ก ๋ถ๋ฌ์ฌ ๋, ์ ์ผ ๋จ์ํ ๋ฐฉ๋ฒ์ผ๋ก convert ํ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค. ์ฝ๋ function convertDateFormat(date) { let dateSplit = date; if (date.indexOf("T") != -1) { dateSplit = date.split("T"); dateSplit = dateSplit[0] + ' ' + dateSplit[1].substring(0, 8); } return dateSplit; }
2024.02.15 -
//์ฒ๋จ์ (,) ์์ฑ function numberWithCommas(number) { if(isNaN(number)){ number = parseInt(number); } return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
javascript ์ซ์ ์ฒ ๋จ์ ์ฝค๋ง ์์ฑ//์ฒ๋จ์ (,) ์์ฑ function numberWithCommas(number) { if(isNaN(number)){ number = parseInt(number); } return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
2024.02.15 -
Spring Batch ์ผ๊ด์ฒ๋ฆฌ๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ ์์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ์์์ ๋ฐ๋ผ ์ค๋จ ์์ด ์ฒ๋ฆฌํ๋ ๊ฒ Spring Batch ์ 5๊ฐ์ง ํน์ง 1. ๋์ฉ๋ ์ฒ๋ฆฌ: ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋, ์ ๋ฌํ๊ฑฐ๋, ๊ณ์ฐํ๋ ๋ฑ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ผ ํ๋ค. 2. ๊ฒฌ๊ณ ์ฑ: ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ์ถฉ๋/์ค๋จ ์์ด ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ค. 3. ์๋ํ: ์ฌ์ฉ์ ๊ฐ์ ์์ด ์คํ๋์ด์ผ ํ๋ค. 4. ์ ๋ขฐ์ฑ: ๋ฌด์์ด ์๋ชป๋์๋์ง๋ฅผ ์ถ์ ํ ์ ์์ด์ผ ํ๋ค. (๋ก๊น , ์๋ฆผ) 5. ์ฑ๋ฅ: ์ง์ ํ ์๊ฐ ์์ ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ๊ฑฐ๋, ๋์์ ์คํ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ฐฉํดํ์ง ์์์ผ ํ๋ค. Spring Scheduler ํน์ ํ ์๊ฐ์ ๋ฑ๋กํ ์์ ์ ์๋์ผ๋ก ์คํ์ํค๋ ๊ฒ Spring Scheduler์ 3๊ฐ์ง ํน์ง 1. Spring Framework์ ๊ธฐ..
Spring BatchSpring Batch ์ผ๊ด์ฒ๋ฆฌ๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ ์์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ์์์ ๋ฐ๋ผ ์ค๋จ ์์ด ์ฒ๋ฆฌํ๋ ๊ฒ Spring Batch ์ 5๊ฐ์ง ํน์ง 1. ๋์ฉ๋ ์ฒ๋ฆฌ: ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋, ์ ๋ฌํ๊ฑฐ๋, ๊ณ์ฐํ๋ ๋ฑ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ผ ํ๋ค. 2. ๊ฒฌ๊ณ ์ฑ: ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ์ถฉ๋/์ค๋จ ์์ด ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ค. 3. ์๋ํ: ์ฌ์ฉ์ ๊ฐ์ ์์ด ์คํ๋์ด์ผ ํ๋ค. 4. ์ ๋ขฐ์ฑ: ๋ฌด์์ด ์๋ชป๋์๋์ง๋ฅผ ์ถ์ ํ ์ ์์ด์ผ ํ๋ค. (๋ก๊น , ์๋ฆผ) 5. ์ฑ๋ฅ: ์ง์ ํ ์๊ฐ ์์ ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ๊ฑฐ๋, ๋์์ ์คํ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ฐฉํดํ์ง ์์์ผ ํ๋ค. Spring Scheduler ํน์ ํ ์๊ฐ์ ๋ฑ๋กํ ์์ ์ ์๋์ผ๋ก ์คํ์ํค๋ ๊ฒ Spring Scheduler์ 3๊ฐ์ง ํน์ง 1. Spring Framework์ ๊ธฐ..
2024.02.07 -
๋ฐ๋ณต๋๋ ์ผ์ ํ๋ค๋ณด๋ฉด ๊ทธ๋ฐ ์๊ฐ์ด ๋ค ๋๊ฐ ์๋ค. '์๋ํ๋ฅผ ํ ์๋ ์์๊น?' ์ฃผ ์ ๋ฌด ์ธ์ ์ถ๊ฐ๋ ํ๋ก์ ํธ๋ ๋ณด์กฐ์ ์ผ๋ก ํ๋ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ์ ๋ฌด๋ ์์ผ๋ฉด ์๊ฐ์ด ๋ถ์กฑํด์ง๋ค. ๊ทธ๋ ๊ฒ ๋ด๊ฐ ํธํ๊ฒ ์ผ์ ํ๊ธฐ ์ํด ํน์ ๋ค๋ฅธ ์ผ์ ๋ ์๊ฐ์ ํฌ์ํ๊ธฐ ์ํด ๋ฑ ๋ง์ ์ด์ ๋ก ๋๋ฅผ ์ํ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ฒ ๋๋๋ฐ ๊ฒฐ๊ตญ ๊ทธ๊ฒ์ด ๊ณง ํ์ ์ํ ํ๋ก์ ํธ๊ฐ ๋์๋ค. ์ฐ์ ๋๋ฅผ ์ํ ํ๋ก์ ํธ์ด๊ธฐ์ ๋ถ๋ด์์ด ํธํ๊ฒ ๊ฐ๋ฐํ ์ ์์๊ณ , ์ฌ๋ฌ ๊ณ ๋ฏผ๋ค์ ์์ ๋กญ๊ฒ ์๊ฐํด๋ณด๋ฉฐ ๊ฐ๋ฐํ ์ ์์๋ค. ์ด๋ฐ ์ ๋ฐ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํ๋ค๋ณด๋ ์์ฐ์ค๋ ํ์ฅ์ฑ๋ ๊ณ ๋ คํ๊ฒ ๋์๊ณ ์ฌ๋ฌ ์๋น์ค๋ค์ ๋ณผ ์ ์๋ ๋ชจ๋ํฐ๋ง ํ๋ก์ธ์ค๊ฐ ๋์ด๋ฒ๋ ธ๋ค. ์์์ ์ ์ฐ ์ ๋ฌด๋ฅผ ์งํํ๊ณ ์์ ๋ ์ผ์ด๋ค. ์ ์ฐ์ ์ํ ๋งค์ ์ ์ฃผ๋ก ์๋ฒฝ ์๊ฐ๋์ PG์ฌ์ ์ก์์ ํ๋ก์ธ..
๋ด๊ฐ ์๊ฐํ๋ ๊ฐ๋ฐ ๋ฌธํ๋ฐ๋ณต๋๋ ์ผ์ ํ๋ค๋ณด๋ฉด ๊ทธ๋ฐ ์๊ฐ์ด ๋ค ๋๊ฐ ์๋ค. '์๋ํ๋ฅผ ํ ์๋ ์์๊น?' ์ฃผ ์ ๋ฌด ์ธ์ ์ถ๊ฐ๋ ํ๋ก์ ํธ๋ ๋ณด์กฐ์ ์ผ๋ก ํ๋ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ์ ๋ฌด๋ ์์ผ๋ฉด ์๊ฐ์ด ๋ถ์กฑํด์ง๋ค. ๊ทธ๋ ๊ฒ ๋ด๊ฐ ํธํ๊ฒ ์ผ์ ํ๊ธฐ ์ํด ํน์ ๋ค๋ฅธ ์ผ์ ๋ ์๊ฐ์ ํฌ์ํ๊ธฐ ์ํด ๋ฑ ๋ง์ ์ด์ ๋ก ๋๋ฅผ ์ํ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ฒ ๋๋๋ฐ ๊ฒฐ๊ตญ ๊ทธ๊ฒ์ด ๊ณง ํ์ ์ํ ํ๋ก์ ํธ๊ฐ ๋์๋ค. ์ฐ์ ๋๋ฅผ ์ํ ํ๋ก์ ํธ์ด๊ธฐ์ ๋ถ๋ด์์ด ํธํ๊ฒ ๊ฐ๋ฐํ ์ ์์๊ณ , ์ฌ๋ฌ ๊ณ ๋ฏผ๋ค์ ์์ ๋กญ๊ฒ ์๊ฐํด๋ณด๋ฉฐ ๊ฐ๋ฐํ ์ ์์๋ค. ์ด๋ฐ ์ ๋ฐ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํ๋ค๋ณด๋ ์์ฐ์ค๋ ํ์ฅ์ฑ๋ ๊ณ ๋ คํ๊ฒ ๋์๊ณ ์ฌ๋ฌ ์๋น์ค๋ค์ ๋ณผ ์ ์๋ ๋ชจ๋ํฐ๋ง ํ๋ก์ธ์ค๊ฐ ๋์ด๋ฒ๋ ธ๋ค. ์์์ ์ ์ฐ ์ ๋ฌด๋ฅผ ์งํํ๊ณ ์์ ๋ ์ผ์ด๋ค. ์ ์ฐ์ ์ํ ๋งค์ ์ ์ฃผ๋ก ์๋ฒฝ ์๊ฐ๋์ PG์ฌ์ ์ก์์ ํ๋ก์ธ..
2024.02.03 -
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
๋์์ฑ ์ด์๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
2024.01.24 -
tinyint Storage(Bytes) : 1 Range1 : -128 ~ 127 Range2 : 0 ~ 255 smallint Storage(Bytes) : 2 Range1 : -32,768 ~ 32,767 Range2 : 0 ~ 65,535 mediumint Storage(Bytes) : 3 Range1 : - 8,388,608 ~ 8,388,607 Range2 : 0 ~ 16,777,215 int Storage(Bytes) : 4 Range1 : - 2,147,483,648 ~ 2,147,483,647 Range2 : 0 ~ 4,294,967,295 bigint Storage(Bytes) : 8 Range1 : -2^63 ~ 2^63-1 Range2 : 0 ~ 2^64-1 TINYINT 1 -12..
[Mysql/MariaDB] tinyint, smallint, mediumint, int, bigint ์ ์ฐจ์ด(์ ์ ์ ํ)tinyint Storage(Bytes) : 1 Range1 : -128 ~ 127 Range2 : 0 ~ 255 smallint Storage(Bytes) : 2 Range1 : -32,768 ~ 32,767 Range2 : 0 ~ 65,535 mediumint Storage(Bytes) : 3 Range1 : - 8,388,608 ~ 8,388,607 Range2 : 0 ~ 16,777,215 int Storage(Bytes) : 4 Range1 : - 2,147,483,648 ~ 2,147,483,647 Range2 : 0 ~ 4,294,967,295 bigint Storage(Bytes) : 8 Range1 : -2^63 ~ 2^63-1 Range2 : 0 ~ 2^64-1 TINYINT 1 -12..
2024.01.03