Jayden`s

    [TIL]60-2. ๋ถ€ํ˜ธํ™”/๋ณตํ˜ธํ™”

    ๋งŒ์•ฝ ํŒŒ์ด์ฌ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ํƒ€์ธ์—๊ฒŒ ์ „๋‹ฌํ•  ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? ํŒŒ์ด์ฌ์˜ ๋ชจ๋“  ๊ฒƒ์€ ๊ฐ์ฒด ๋ถ€ํ˜ธํ™”/๋ณตํ˜ธํ™” ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐฉ์‹ ํŒŒ์ด์ฌ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์—์„œ ํ‘œํ˜„๋˜๋Š” ๋ฐฉ์‹ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ์˜ ์ž‘๋™์ด ํŽธํ•˜๋ฏ€๋กœ CPU๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ ๋ฐ”์ดํŠธ์—ด ๋ฐฉ์‹ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ์“ฐ๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ์—์„œ ์ „์†ก๋˜๊ธฐ ์œ„ํ•ด ํ‘œํ˜„๋˜๋Š” ๋ฐฉ์‹ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐฉ์‹ -> ๋ฐ”์ดํŠธ์—ด ๋ฐฉ์‹ : ๋ถ€ํ˜ธํ™”/์ง๋ ฌํ™”/์ธ์ฝ”๋”ฉ/๋งˆ์ƒฌ๋ง ๋“ฑ ๋ฐ”์ดํŠธ์—ด ๋ฐฉ์‹ -> ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐฉ์‹ : ๋ณตํ˜ธํ™”(์—ญ๋ถ€ํ˜ธํ™”)/์—ญ์ง๋ ฌํ™”/๋””์ฝ”๋”ฉ/์–ธ๋งˆ์ƒฌ๋ง ๋“ฑ [๋ถ€ํ˜ธํ™”/๋ณตํ˜ธํ™”] python์œผ๋กœ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๊ตฌํ˜„ ํ›„ ๋ถ€ํ˜ธํ™”/๋ณตํ˜ธํ™” ์˜ˆ์‹œ) ๋ถ€ํ˜ธํ™”(ํ”ผํด๋ง) import pandas as pd from sklearn.linear_model impor..

    [TIL]60-1. ์‹œ๊ฐ„, ์Šค์ผ€์ฅด๋ง

    ํ‚ค์›Œ๋“œ UTC, KST ISO 8601 APScheduler ์‹œ๊ฐ„ [์‹œ๊ฐ„] UTC ์„ธ๊ณ„ ํ˜‘์ • ์‹œ๊ฐ์œผ๋กœ ์˜๊ตญ์„ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์˜๊ตญ ๊ทธ๋ฆฌ๋‹ˆ์น˜ ์ฒœ๋ฌธ๋Œ€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ GMT์™€ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. [์‹œ๊ฐ„] ISO 8601 ์‹œ๊ฐ์„ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•  ๊ฒƒ์ธ์ง€ ์— ๋Œ€ํ•œ ๊ธฐ์ค€์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ตญ์ œ ํ‘œ์ค€ ๋…„, ์›”, ์ผ ๋’ค์— Timezone์„ ๋‘๊ณ  ์‹œ, ๋ถ„, ์ดˆ ํ‘œ๊ธฐ. ์œ„์˜ ์ˆœ์„œ๋งŒ ์ง€ํ‚ค๋ฉด ๋˜๊ณ , ๋” ๋””ํ…Œ์ผํ•œ ํ˜•์‹์€ ํ•˜๋‚˜๋กœ ์ง€์ •๋˜์–ด์žˆ์ง€๋Š” ์•Š์Œ ๋ณดํ†ต์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์–‘์‹์œผ๋กœ ํ‘œํ˜„ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ ํ‘œํ˜„ [์‹œ๊ฐ„] Unix Time(๋˜๋Š” Epoch Time) 1970๋…„ 01์›” 01์ผ 00:00:00Z ์„ ๊ธฐ์ค€์œผ๋กœ ๊ทธ ์‹œ์ฐจ๋ฅผ ํ‘œํ˜„ํ•œ ๊ฒƒ ์ฆ‰, ๊ธฐ์ค€ ์‹œ๊ฐ์„ ๊ธฐ์ค€์œผ๋กœ ์ดˆ ์ˆ˜๋ฅผ ์…‰๋‹ˆ๋‹ค. (๊ธฐ์ค€๋ณด๋‹ค ๊ณผ๊ฑฐ๋ฉด ์Œ์ˆ˜๋กœ ํ‘œ์‹œ) ์‚ฌ๋žŒ์ด ์ง๊ด€์ ์œผ๋กœ ์ฝ๊ธฐ๋Š”..

    [2628]์ข…์ด์ž๋ฅด๊ธฐ

    import sys W_fin, H_fin = map(int, sys.stdin.readline().rstrip().split()) N_tot = int(sys.stdin.readline()) W = [0] H = [0] for _ in range(N_tot): direction, num = map(int, sys.stdin.readline().rstrip().split()) if direction == 0: H.append(num) else: W.append(num) H.append(H_fin) W.append(W_fin) H.sort() W.sort() dif_H=[] dif_W=[] for i in range(len(H)-1): dif_H.append(H[i+1] - H[i]) for i in ra..

    [1065]ํ•œ์ˆ˜

    import sys N = int(sys.stdin.readline().rstrip()) count = 0 for i in range(1, N+1): if len(str(i))

    [TIL]59.๋ฐฐํฌ(Heroku)์™€ ๋Œ€์‹œ๋ณด๋“œ(Metabase)

    ํ‚ค์›Œ๋“œ Heroku ๋ฐฐํฌ WSGI ํ™˜๊ฒฝ๋ณ€์ˆ˜ Metabase WSGI Web Server Gateway Interface ์›น์„œ๋ฒ„์™€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ˜น์€ ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์ด๋ฅผ ์ด์–ด์ฃผ๋Š” ์ค‘๊ฐ„๋‹ค๋ฆฌ ์—ญํ• (middleware) ์˜ˆ๋ฅผ ๋“ค์–ด, flask๋ฅผ ํ†ตํ•ด app์„ ๊ตฌ์ถ•ํ•ด๋†“์œผ๋ฉด WSGI๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ [WSGI]gunicorn green unicorn ์˜ ์•ฝ์ž๋กœ, ํŒŒ์ด์ฌ์˜ WSGI HTTP server HTTP ๊ด€๋ จ๋œ ์›น ์š”์ฒญ์ด ๋“ค์–ด์˜ค๊ฒŒ ๋˜๋ฉด flask์™€ ๊ฐ™์€ app์„ ์ด์šฉํ•ด ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š” ์—ญํ•  flask run์„ ํ†ตํ•ด Werkzeug์—์„œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋‹จ๊ณ„์—์„œ ์ด์šฉํ•˜๋Š” WSGI๋ฅผ ์ œ๊ณตํ•ด์ฃผ๊ธด ํ•˜์ง€๋งŒ WSGI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ผ ๋ฟ ์ž์ฒด๋กœ ์„œ๋ฒ„๋Š” ์•„๋‹˜ ์ฆ‰, ๊ฐœ๋ฐœ ์‹œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ์šฉ๋„์ด๋ฏ€..