๐Ÿฅ Web/โ” Back-end | etc.

    [etc] Logout ํ›„ ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฐฉ์ง€ - BF Cache

    ๋ฌธ์ œ logout์„ ํ•œ ๋’ค์— ๋กœ๊ทธ์ธ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ํŽ˜์ด์ง€๋กœ ๋’ค๋กœ ๊ฐ€๊ธฐ๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ, ๋ฐ์ดํ„ฐ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋˜๋Š” ๋ฌธ์ œ ๋ณด์•ˆ์ƒ์˜ ๊ฒฐํ•จ์œผ๋กœ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์›์ธ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ด€๋ฆฌํ•˜๋Š” BF Cache(Back-Forward Cache) ์›น ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด ํ•ด๋‹น ํŽ˜์ด์ง€์˜ css/html/javascript/image ๋“ฑ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์บ์‹œ์— ์ €์žฅ ๋’ค๋กœ๊ฐ€๊ธฐ / ์•ž์œผ๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์„œ๋ฒ„์— ๋‹ค์‹œ ์š”์ฒญํ•˜์ง€ ์•Š๊ณ  ์บ์‹œ ๋ฆฌ์†Œ์Šค ํ™œ์šฉํ•ด์„œ ๋กœ๋”ฉ ๋กœ๊ทธ์•„์›ƒ ์ดํ›„์—๋„ BF Cache๊ฐ€ ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ํŽ˜์ด์ง€๊ฐ€ ๋ณด์ผ ์ˆ˜ ์žˆ์Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•(Fast API ๊ธฐ์ค€) Jinja Template response ์‚ฌ์šฉ ๋กœ๊ทธ์ธ ํ•ด์•ผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€์— ์ ‘์† ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ๋ผ์šฐํ„ฐ์—์„œ access token ํ™•์ธ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ..

    [PostgreSQL] Windows ์™ธ๋ถ€ ์ ‘์† ํ—ˆ์šฉ ์„ค์ • ๋ฐ ์™ธ๋ถ€ ์ ‘์† ๋ฐฉ๋ฒ•

    postgresql.conf ์ˆ˜์ • C:\Program Files\PostgreSQL\15\data_ ๊ฒฝ๋กœ์— postgresql.conf listen_addresses = '*' ๋กœ ์„ค์ • - ๋ชจ๋“  ip ์ฃผ์†Œ์—์„œ ์ ‘์† ํ—ˆ์šฉ white list ip ์„ค์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ip ์ฃผ์†Œ ์“ฐ๊ธฐ ps_hba.conf ์ˆ˜์ • C:\Program Files\PostgreSQL\15\data ๊ฒฝ๋กœ์— pg_hba.conf # IPv4 local connections: host all all 0.0.0.0/0 scram-sha-256 IPv4 local connection address 0.0.0.0/0 ์œผ๋กœ ์ˆ˜์ •(์›๋ž˜๋Š” 127.0.0.1) ๋ฐฉํ™”๋ฒฝ ์„ค์ • ๊ณ ๊ธ‰ ๋ณด์•ˆ์ด ํฌํ•จ๋œ windows defender ๋ฐฉํ™”๋ฒฝ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ - ์ƒˆ ๊ทœ..

    [Elasticsearch] Index Template ๊ตฌ์„ฑํ•˜๊ธฐ with Kibana & Logstash (2) - Mapping ๊ธฐ์ดˆ

    2023.07.06 - [Web/Back-end \ etc.] - [Elasticsearch] Index Template ๊ตฌ์„ฑํ•˜๊ธฐ with Kibana & Logstash (1) - Setting [Elasticsearch] Index Template ๊ตฌ์„ฑํ•˜๊ธฐ with Kibana & Logstash (1) - Setting Elasticsearch์— ๋ฐ์ดํ„ฐ๋ฅผ ์ ์žฌํ•  ๋•Œ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์žฌํ• ์ง€์— ๋Œ€ํ•œ ์„ธํŒ…์„ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. Elasticsearch๋Š” ์—ญ์ƒ‰์ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ๋ฑ์‹ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์—ญ์ƒ‰์ธ์˜ ๊ธฐ์ค€์ด ๋˜๋Š” ๋‹จ์–ด(token) dnai-deny.tistory.com ์ด์ „ ํฌ์ŠคํŒ…์— ์ด์–ด ์ด๋ฒˆ์—๋Š” Index Template์˜ ๋‘ ๋ฒˆ์งธ ์ฃผ์š” ๊ตฌ์„ฑ์ธ Mapping ์˜์—ญ์„ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. M..

    [Elasticsearch] Index Template ๊ตฌ์„ฑํ•˜๊ธฐ with Kibana & Logstash (1) - Setting

    Elasticsearch์— ๋ฐ์ดํ„ฐ๋ฅผ ์ ์žฌํ•  ๋•Œ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์žฌํ• ์ง€์— ๋Œ€ํ•œ ์„ธํŒ…์„ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. Elasticsearch๋Š” ์—ญ์ƒ‰์ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ๋ฑ์‹ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์—ญ์ƒ‰์ธ์˜ ๊ธฐ์ค€์ด ๋˜๋Š” ๋‹จ์–ด(token)๋“ค์„ ์–ด๋–ป๊ฒŒ ํ† ํฐํ™”ํ•˜๋Š”์ง€์— ๋”ฐ๋ผ์„œ ๊ฒ€์ƒ‰์˜ ๊ฒฐ๊ณผ๋„ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ Token์„ ์ƒ์„ฑํ•˜๋Š” ๊ทœ์น™์„ ๋‹ด์€ ์„ค์ •์„ Index Template๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. Elasticsearch์˜ Index Template์€ ํฌ๊ฒŒ Setting์˜ ์˜์—ญ๊ณผ Mapping์˜ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค. ์˜ค๋Š˜์€ Setting์˜ ๊ตฌ์„ฑ์š”์†Œ์ธ Analyzer, Tokenizer, Filter์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค! logstash์—์„œ elasticsearch๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ค„ ๋•Œ json ํ˜•ํƒœ๋กœ ๋ฏธ๋ฆฌ setting ..

    [Elasticsearch] Logstash๋ฅผ ํ†ตํ•ด PostgreSQL๊ณผ Elastic Stack ์—ฐ๋™ํ•˜๊ธฐ

    * 2023.12.21 ์—…๋ฐ์ดํŠธ - Docker ELK๋กœ PostgreSQL๊ณผ Elastic Stack ์—ฐ๋™ ํฌ์ŠคํŒ… [Docker + ELK] Docker ELK๋ฅผ ์‚ฌ์šฉํ•ด์„œ PostgreSQL DB ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๊ธฐ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด์ „์— elasticsearch, kibana, logstash๋ฅผ ๋ณ„๋„๋กœ ์‹คํ–‰ํ•˜์—ฌ PostgreSQL DB๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ–ˆ๋˜ ๊ฒƒ์„ Docker์„ ํ†ตํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ณธ๋‹ค. ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ elk๋ฅผ ๊ตฌ์„ฑํ–ˆ๋˜ ํฌ์ŠคํŠธ๋Š” ์•„๋ž˜ ๋งํฌ์—์„œ ํ™•์ธํ•  dnai-deny.tistory.com ์ด์ „ ํฌ์ŠคํŒ…์— ๋จผ์ € ์–ธ๊ธ‰ํ–ˆ๋‹ค์‹ถ์ด RDBMS์— Elasticsearch๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•์ด Logstash๋ฅผ ์ด์šฉํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง์ด์—ˆ๋‹ค. [Elasticsearch] Logstash ..

    [Elasticsearch] Logstash ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

    ์ œ๋ชฉ๋งŒ ์ผ๋Š”๋ฐ ์–ด์ œ์˜ ์‚ฝ์งˆ์ด ์˜ฌ๋ผ์˜ค๋Š” ๊ธฐ๋ถ„.... ๊ณง์žฅ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ๋‹ค. elasticsearch ์„ค์น˜์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์€ ์ด์ „ ํฌ์ŠคํŒ… ์ฐธ๊ณ . [Elasticsearch] Elasticsearch ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์„ค์น˜, kibana ์—ฐ๋™ํ•˜๊ธฐ ์ตœ์‹  ํ•œ๊ตญ์–ด ์ž๋ฃŒ๊ฐ€ ์—†์–ด์„œ ์„ค์น˜๋งŒ ํ•˜๋‹ค๊ฐ€๋„ ์“ฐ๋Ÿฌ์งˆ ๋ป”ํ–ˆ๋‹ค. ์„ธ์ƒ์— ์ด๋ ‡๊ฒŒ ๊ธฐ๋นจ๋ฆฌ๋Š” ์„ค์น˜์ž‘์—…์€ ์ฒ˜์Œ์ด๋‹ค... Elasticsearch ์„ค์น˜ ๋ฐฉ๋ฒ•์ด ์–ด๋ ต๋‹ค๊ธฐ๋ณด๋‹ค๋Š” ๋ฐฑ์—”๋“œ ๋ฐ”๋ณด(...)์ธ ๋‚ด๊ฐ€ ๊ฑท๊ธฐ์—๋Š” ์ œ๋ฒ• ์–ด dnai-deny.tistory.com 1. Logstash๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์ด์œ ? logstash๋ฅผ ์‚ฌ์šฉํ•ด์„œ elastic search์™€ rdbms ์‚ฌ์ด์— pipline์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ → ํ•„ํ„ฐ(๊ฐ€๊ณต) → ์ถœ๋ ฅ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ elasticsearch์™€ rdbms๋ฅผ ์—ฐ๊ฒฐํ• ..

    [Elasticsearch] Elasticsearch ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์„ค์น˜, kibana ์—ฐ๋™ํ•˜๊ธฐ

    ์ตœ์‹  ํ•œ๊ตญ์–ด ์ž๋ฃŒ๊ฐ€ ์—†์–ด์„œ ์„ค์น˜๋งŒ ํ•˜๋‹ค๊ฐ€๋„ ์“ฐ๋Ÿฌ์งˆ ๋ป”ํ–ˆ๋‹ค. ์„ธ์ƒ์— ์ด๋ ‡๊ฒŒ ๊ธฐ๋นจ๋ฆฌ๋Š” ์„ค์น˜์ž‘์—…์€ ์ฒ˜์Œ์ด๋‹ค... Elasticsearch ์„ค์น˜ ๋ฐฉ๋ฒ•์ด ์–ด๋ ต๋‹ค๊ธฐ๋ณด๋‹ค๋Š” ๋ฐฑ์—”๋“œ ๋ฐ”๋ณด(...)์ธ ๋‚ด๊ฐ€ ๊ฑท๊ธฐ์—๋Š” ์ œ๋ฒ• ์–ด๋ ค์šด ์ผ์ด์—ˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ์ด๋ฏธ ์œ ์‚ฌํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ•˜์‹ค ๊ฒƒ ๊ฐ™๋‹ค. ์–ด์จŒ๋“  ์„ฑ๊ณตํ–ˆ์œผ๋‹ˆ ๊ฐ€๋ณ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. 1. Elasticsearch ๋ž€? ๋ช…ํ™•ํ•˜๊ฒŒ ๋‹ต์„ ๋‚ด๊ธฐ์—๋Š” ์•„์ง ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ์ง€๋งŒ, ๊ฒ€์ƒ‰์—”์ง„์ด๋‹ค. NoSQL ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ๊ฐ€๊ณ , ๊ฐ๊ฐ์€ RDBMS์™€ ๋งคํ•‘๋˜๋Š” ์šฉ์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. NoSQL์— ์ต์ˆ™ํ•˜๋‹ค๋ฉด ๋” ์‰ฌ์šธ ๊ฒƒ ๊ฐ™๋‹ค. Firebase ๋“ฑ๋“ฑ. A. RDBMS์™€ ๊ฒ€์ƒ‰์—”์ง„์˜ ์ฐจ์ด RDBMS๋Š” ํ…Œ์ด๋ธ”๋กœ ๋”ฑ๋”ฑ ์ชผ๊ฐœ์„œ ์ž๋ฅผ ์ˆ˜ ์žˆ๋Š” ์ฒด๊ณ„์ ์ธ ๊ตฌ์กฐ ๋‹จ์–ด ๊ฒ€์ƒ‰, ์ฟผ๋ฆฌ๋ฌธ์„ ํ™œ..

    [SQL] SQL ์ค‘๊ธ‰

    ์ง€๋‚œ๋ฒˆ ๊ธ€์— ์ด์–ด์„œ Mode์˜ SQL ํŠœํ† ๋ฆฌ์–ผ์„ ์ฝ๊ณ  ์ •๋ฆฌํ•˜๊ณ  ์‹ค์Šตํ•ด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Count๋ฅผ ํฌํ•จํ•œ ๊ธฐ์ดˆ ์‚ฐ์ˆ ์—ฐ์‚ฐ ๋ฐฉ๋ฒ•, ์กฐ๊ฑด, ๊ทธ๋ฆฌ๊ณ  join์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž˜๋ชป ์ดํ•ดํ–ˆ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! Mode์—์„œ ๋กœ๊ทธ์ธ ํ›„ ์ƒˆ report๋ฅผ ๋งŒ๋“œ์…”์„œ ๋”ฐ๋ผํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ ์•„๋ž˜์— ๋‹ฌ์•„๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. https://app.mode.com/ Count SELECT COUNT(*) FROM tutorial.aapl_historical_stock_price ํŠน์ • ์—ด์˜ ํ–‰์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. *์„ ์ž…๋ ฅํ•˜๋ฉด ์ „์ฒด ํ–‰์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. high๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” null์ด ์•„๋‹Œ ํ–‰์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค( *๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์•„์š”! ) ์—ด์„ ์…€ ์ˆ˜๋„, ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ..

    [SQL] SQL ๊ธฐ์ดˆ

    3ํ•™๋…„์ด๋‚˜ ๋๋Š”๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ข€ ์•Œ๊ธด ์•Œ์•„์•ผ๋˜์ง€ ์•Š๊ฒ ๋‚˜ ์‹ถ์€ ๋งˆ์Œ์œผ๋กœ SQL ๋ฌธ๋ฒ•์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ณต๋ถ€ํ•ด์„œ ์˜ฌ๋ ค๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Mode์˜ SQL ํŠœํ† ๋ฆฌ์–ผ์„ ์ฝ๊ณ  ์ •๋ฆฌํ•˜๊ณ  ์‹ค์Šตํ•ด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป ์ดํ•ดํ–ˆ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! Mode์—์„œ ๋กœ๊ทธ์ธ ํ›„ ์ƒˆ report๋ฅผ ๋งŒ๋“œ์…”์„œ ๋”ฐ๋ผํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ ์•„๋ž˜์— ๋‹ฌ์•„๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. https://app.mode.com/ SQL์ด๋ž€? SQL(Structured Query Language)์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. SELECT - FROM ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ select๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, SELECT๋กœ FROM์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ์˜ ์—ด์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SELECT A, B, ..