๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ162

X-Forwarded-For ip ๋ณ€๊ฒฝํ•ด์„œ ๋Œ€๋Ÿ‰ ์š”์ฒญ ๋ณด๋‚ด๊ธฐ ์ฃผ์ œ : ๋Œ€๋Ÿ‰ ์š”์ฒญ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ‘œ : ์œ ๋Ÿ‰ ์ œ์–ด ๊ด€๋ จํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๋Ÿ‰ ์š”์ฒญ์„ ๋‚ ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ–ˆ๋‹ค. x-forwarded-for๋ฅผ ๋žœ๋ค์œผ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์š”์ฒญํ•˜๊ฒŒ๋” ํ–ˆ๋‹ค. ์‚ฌ์šฉ ์–ธ์–ด : python [์ฝ”๋“œ]import requestsimport randomimport timedef generate_random_ip(): return '.'.join(str(random.randint(1, 254)) for _ in range(4))url = "http://192.xxx.x.xxx:8080/apply/transaction.pwkjson"headers_template = { "Accept": "text/html,application/xhtml+xml,ap.. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/์Šคํฌ๋ฆฝํŠธ 2025. 4. 29.
csv ๋ฐ์ดํ„ฐ ๋ถ„์„ ํˆด ์ฃผ์ œ : csv ํŒŒ์ผ์— ์ ์žฌ๊ฐ€ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ ํ†ต๊ณ„๋ฅผ ๋‚ด์„œ ํ”ผํ”ผํ‹ฐ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” application ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ‘œ : csv์— ์ˆ˜๋งŽ์€ ๋ฐ์ดํ„ฐ๋“ค์ด ์žˆ๋Š”๋ฐ ์ˆ˜์ž‘์—…์œผ๋กœ ํ†ต๊ณ„๋‚ด๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ ธ๋‹ค. ์ด๋ฅผ ์ž๋™ํ™” ํ•ด์ฃผ๊ธฐ๋กœ ํ•˜๊ณ  ๊ฐœ๋ฐœ ํ–ˆ๋‹ค. ์‚ฌ์šฉ ์–ธ์–ด : python [์ฝ”๋“œ]import tkinter as tkfrom tkinter import filedialog, messageboximport pandas as pdimport matplotlib.pyplot as pltfrom pptx import Presentationfrom pptx.util import Inchesimport platformfrom pptx.util import Pt# ์šด์˜ ์ฒด์ œ ํ™•์ธif platform.system() == 'Darw.. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/์Šคํฌ๋ฆฝํŠธ 2025. 4. 29.
<dispatcher> ํƒœ๊ทธ๋ž€? ํƒœ๊ทธ๋ž€?์œ„์น˜ ๋˜๋Š” ์•ˆ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. myFilter /* REQUEST   ๋Š” ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”๊ฐ€?: ์š”์ฒญ์ด ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋””์ŠคํŒจ์น˜(๋ถ„๋ฐฐ) ๊ณผ์ •์œผ๋กœ ์™”๋Š”์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•„ํ„ฐ/์„œ๋ธ”๋ฆฟ์ด ๋™์ž‘ํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ•   ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ข…๋ฅ˜dispatcher ์ข…๋ฅ˜์„ค๋ช…REQUESTํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง์ ‘ ๋ณด๋‚ธ HTTP ์š”์ฒญFORWARD์„œ๋ฒ„ ๋‚ด๋ถ€์—์„œ RequestDispatcher.forward() ๋กœ ์ „๋‹ฌ๋œ ์š”์ฒญINCLUDE๋‹ค๋ฅธ ์ž์›(RequestDispatcher.include()) ์„ ํฌํ•จํ•œ ์š”์ฒญERROR์˜ˆ์™ธ๋‚˜ ์ƒํƒœ์ฝ”๋“œ๋กœ ๋งคํ•‘๋œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ์š”์ฒญASYNC๋น„๋™๊ธฐ ์š”์ฒญ (AnsycContexet)์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ์š”์ฒญ 1. REQUEST์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง์ ‘ /hello ์š”์ฒญํ•„ํ„ฐ๋‚˜ ์„œ๋ธ”๋ฆฟ์ด ์ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌ.. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/Spring 2025. 4. 7.
DispatcherServlet ์ด๋ž€ web.xml์— ์ž‘์„ฑํ•˜๋Š” Dispatcher๋Š” Servlet ๊ธฐ๋ฐ˜์˜ Java ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. ํŠนํžˆ, Spring MVC ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ DispatcherServlet ์ด ํ•ต์‹ฌ ์—ญํ• ์„ ํ•œ๋‹ค.  DispathcerServlet ๊ฐœ๋…DispathcerServlet์€ Spring MVC์˜ ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ(Front Controller) ์ด๋‹ค.๋ชจ๋“  HTTP ์š”์ฒญ์„ ์ค‘์•™์—์„œ ๋ฐ›์•„์„œ, ์ ์ ˆํ•œ ์ปจํŠธ๋กค๋Ÿฌ(Controller)์—๊ฒŒ ์ „๋‹ฌํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ทฐ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. web.xml์—์„œ DispatcherServlet ์„ค์ • ์˜ˆ์‹œ spring org.springframework.web.servlet.DispatcherServlet 1 .. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/Spring 2025. 4. 4.
du์™€ ls์˜ ์ฐจ์ด ls ๋ช…๋ น์–ด๋…ผ๋ฆฌ์  ํฌ๊ธฐ: ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํŒŒ์ผ์ด ์‹ค์ œ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.์ตœ๋Œ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ๋Ÿ‰: ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ์–‘์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ‘œ์‹œ๋˜๋ฏ€๋กœ, ํŒŒ์ผ์ด ์ตœ๋Œ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.du ๋ช…๋ น์–ด์‹ค์ œ ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰: ํŒŒ์ผ์ด ๋””์Šคํฌ์—์„œ ์‹ค์ œ๋กœ ์ฐจ์ง€ํ•˜๋Š” ๊ณต๊ฐ„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ธ”๋ก ํฌ๊ธฐ์™€ ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋“ฑ์„ ๊ณ ๋ คํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.์ตœ์†Œ ๋ธ”๋ก ๋‹จ์œ„: ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์ž‘๋”๋ผ๋„ ์ตœ์†Œ ๋ธ”๋ก ๋‹จ์œ„(์˜ˆ: 4KB)๋งŒํผ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ตœ์†Œ ๋‹จ์œ„์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.์˜ˆ์‹œ๋กœ ์š”์•ฝ์˜ˆ์‹œ 1: ์ž‘์€ ํŒŒ์ผํŒŒ์ผ ํฌ๊ธฐ: 1๋ฐ”์ดํŠธ๋ธ”๋ก ํฌ๊ธฐ: 4KBsh์ฝ”๋“œ ๋ณต์‚ฌ# ์ž‘์€ ํŒŒ์ผ ์ƒ์„ฑ echo -n "a" > tiny_file.t.. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/๋ฆฌ๋ˆ…์Šค 2024. 11. 18.