๋ชฉ๋ก์ „์ฒด ๊ธ€ (132)

YS's develop story

Nginx 413 Request Entity Too Large ์—๋Ÿฌ ๊ด€๋ จ

โŒ› Problem ๋™์˜์ƒ์„ AWS S3 ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ์„ ํ•˜๋Š” API๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  TEST์„œ๋ฒ„์—์„œ API์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ๋™์˜์ƒ์„ ์ €์žฅํ•˜๋ ค๊ณ  ํ…Œ์ŠคํŠธํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ• ๊นŒ์š”? ๐Ÿ˜• ๐Ÿ“œ Solution Nginx์˜ ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ 1M๊ฐ€ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด Nginx์˜ ํ—ˆ์šฉ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์„ค์ • ํŒŒ์ผ์„ ์—ด์–ด ์ค์‹œ๋‹ค. vim /etc/nginx/nginx.conf http์— ํ•ด๋‹นํ•˜๋Š” ๋ธ”๋ก์— ์•„๋ž˜์™€ ๊ฐ™์ด ํ—ˆ์šฉ ์ œํ•œ์„ ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค. http { ... .. client_max_body_size 100M; ... .. . } ์œ„์™€ ๊ฐ™์ด ์„ค์ •์„ ๋งž์ถ˜ ํ›„, Nginx๋ฅผ ์žฌ์‹œ..

๊ธฐํƒ€ 2021. 11. 29. 08:47
MySQL ์‹œ๊ฐ„์ฐจ์ด ๊ณ„์‚ฐํ•˜๊ธฐ (TIMESTAMPDIFF ํ•จ์ˆ˜)

๐Ÿฅ MySQL ์‹œ๊ฐ„ ์ฐจ์ด ๊ณ„์‚ฐํ•˜๊ธฐ (TIMESTAMPDIFF ํ•จ์ˆ˜) โŒ› Problem ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ˆ์•ฝ์‹œ๊ฐ„ 30๋ถ„ ์ „์—๋Š” ์˜ˆ์•ฝ์„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ง‰์•„์•ผ ํ•œ๋‹ค๊ฑฐ๋‚˜ ํŠน์ • ์ด๋ฒคํŠธ์ผ์ด ํ˜„์žฌ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ๋‚จ์•˜๋Š”์ง€ ๋“ฑ๋“ฑ์˜ ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ• ๊นŒ์š”? ๐Ÿ˜• ๐Ÿ“œ Solution TIMESTAMPDIFF๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋งค์šฐ ์‰ฝ๊ฒŒ ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SELECT TIMESTAMPDIFF(HOUR,'2021-08-22 11:00','2021-08-22 14:00') AS dayCount; SELECT TIMESTAMPDIFF(์‹œ๊ฐ„ ๋‹จ์œ„, '๋‚ ์งœ 1', '๋‚ ์งœ 2') AS ์ด๋ฆ„; ์œ„์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด์„œ ..

Database/MySQL 2021. 8. 23. 08:47
๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ

๐Ÿ‘ฉ‍๐Ÿ’ป ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ with Python ๐Ÿฅ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Dijkstra Algorithm)์ด๋ž€? ๋‘ ๋…ธ๋“œ๋ฅผ ์ž‡๋Š” ๊ฐ€์žฅ ์งง์€ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ(๊ฐ€์ค‘์น˜ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ)์—์„œ ํ•˜๋‚˜์˜ ์ •์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ •์  ๊ฐ„์˜ ๊ฐ๊ฐ ๊ฐ€์žฅ ์งง์€ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ฒซ ์ •์ ์„ ๊ธฐ์ค€์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ •์ ๋“ค์„ ์ถ”๊ฐ€ํ•ด ๊ฐ€๋ฉฐ, ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ์ดˆ๊ธฐํ™” ์ฒซ ์ •์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜์—ฌ ์ฒซ ์ •์ ์—์„œ ๊ฐ ์ •์ ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ์—๋Š” ์ฒซ ์ •์ ์˜ ๊ฑฐ๋ฆฌ๋Š” 0, ๋‚˜๋จธ์ง€๋Š” ๋ฌดํ•œ๋Œ€๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. (inf๋ผ๊ณ  ํ‘œํ˜„ํ•จ) ์šฐ์„ ์ˆœ์œ„ ํ์— (์ฒซ ์ •์ , ๊ฑฐ๋ฆฌ 0)๋งŒ ๋จผ์ € ๋„ฃ์Šต๋‹ˆ๋‹ค. 2. ์šฐ์„ ์ˆœ์œ„ ํ์—..

Algorithm 2021. 8. 14. 09:40
๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ

๐Ÿ‘ฉ‍๐Ÿ’ป ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ํƒ์š•๋ฒ•) ์ •๋ฆฌ with Python ๐Ÿฅ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Greedy Algorithm)์ด๋ž€? 1. ๋งค ์ˆœ๊ฐ„ ์ตœ์ ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•ด์„œ ์ตœ์ข…์ ์ธ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. 2. ๊ฐ๊ฐ์˜ ์„ ํƒ์€ ๊ทธ ์ˆœ๊ฐ„ ๋ณด์•˜์„ ๋•Œ๋Š” ๊ฐ€์žฅ ์ข‹์•„ ๋ณด์ด์ง€๋งŒ ๋‚˜์ค‘์—๋Š” ์ตœ์ ์˜ ํ•ด๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. ์ฆ‰ ๋งค ์ˆœ๊ฐ„์˜ ์„ ํƒ์€ locally optimal ํ•˜์ง€๋งŒ globally optimalํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ตœ์ ํ•ด๋ฅผ ์–ป์„ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ‹ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ˆ์‹œ 1 - ๋™์ „ ๋ฌธ์ œ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š” ๊ฐ’์ด 7870์› ์ผ ๋•Œ ๊ฐ€์žฅ ์ ์€ ์ˆ˜์˜ ๋ˆ์œผ๋กœ ์ง€๋ถˆํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฐ๋ˆ๋ถ€ํ„ฐ ์ตœ๋Œ€ํ•œ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š” ๊ฐ’์„ ์ฑ„์šฐ..

Algorithm 2021. 8. 13. 09:18
์•Œ๋ฆฌ๊ณ  ์นด์นด์˜ค ์•Œ๋ฆผํ†ก API ์—ฐ๋™ํ•˜๊ธฐ (with Node js)

๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป ์•Œ๋ฆฌ๊ณ  ์นด์นด์˜ค ์•Œ๋ฆผํ†ก API ์—ฐ๋™ํ•˜๊ธฐ (with Node js) โŒ› Problem ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ ํŠน์ • ์œ ์ €์—๊ฒŒ ์นด์นด์˜ค ์•Œ๋ฆผํ†ก์„ ์–ด๋–ป๊ฒŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์„ ๊นŒ์š”? ๐Ÿ˜• ์•Œ๋ฆฌ๊ณ  ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•ด์„œ Node js๋กœ ์ด๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ“œ Solution ์•Œ๋ฆฌ๊ณ  ์•Œ๋ฆฌ๊ณ  - ๊ตญ๋‚ด ์ตœ์ €๊ฐ€ ๋ฌธ์ž๋ฐœ์†ก ์•Œ๋ฆฌ๊ณ  ์Šค๋งˆํŠธ๋ฌธ์ž, ๋‹จ๋ฌธ8.4์› ์žฅ๋ฌธ25์› ๊ทธ๋ฆผ60์› ์•Œ๋ฆฌ๊ณ  ๋Œ€๋Ÿ‰๋ฌธ์ž/๋‹จ์ฒด๋ฌธ์ž/๋ฌธ์ž์‚ฌ์ดํŠธ/๋ฌธ์ž๋ฐœ์†ก smartsms.aligo.in:443 ์นด์นด์˜ค ์•Œ๋ฆผํ†ก์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ„์™€ ๊ฐ™์€ ์‚ฌ์ดํŠธ์— ๊ฐ€์ž…์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•Œ๋ฆผํ†ก์„ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์€ ๊ฑด๋‹น 6์› ์ •๋„๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์œ ๋ฃŒ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์•Œ๋ฆผํ†ก์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์นด์นด์˜ค ์ฑ„๋„์ด ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์•Œ๋ฆผํ†ก์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ…œํ”Œ๋ฆฟ์„ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค..

๊ธฐํƒ€ 2021. 8. 4. 20:23