[ํ‹ฐ์Šคํ† ๋ฆฌ] ๋Œ“๊ธ€์— ๋งํฌ ๋ฐ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ํ•˜๊ธฐ

[ํ‹ฐ์Šคํ† ๋ฆฌ] ๋Œ“๊ธ€์— ๋งํฌ ๋ฐ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ํ•˜๊ธฐ

์—…๋ฐ์ดํŠธ 2020.07.03 - innerHTML์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋Œ“๊ธ€ ๋‚ด์šฉ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ํ…์ŠคํŠธ๋ฐ–์— ์ ์„ ์ˆ˜ ์—†๋Š” ํ‹ฐ์Šคํ† ๋ฆฌ ๋Œ“๊ธ€์— ๋งํฌ, ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ์œ ํŠœ๋ธŒ ๋“ฑ์„ ์ถ”๊ฐ€ํ•ด ํ™”๋ คํ•˜๊ฒŒ ๊พธ๋ฏธ๋Š” ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. HTML ์ˆ˜์ • <s_rp_container> ๋ฐ”๋กœ ์•„๋ž˜์— ์žˆ๋Š” ์š”์†Œ์— id๊ฐ€ ์—†๋‹ค๋ฉด ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.๋ฐฉ๋ช…๋ก์—๋„ ์‚ฌ์šฉํ•˜์‹œ๋ ค๋ฉด <s_guest_container> ์•„๋ž˜์— ์žˆ๋Š” ์š”์†Œ์— ๊ฐ™์€ id๋ฅผ ์ถ”๊ฐ€ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. [##_rp_rep_desc_##]์„ ๊ฐ์‹ผ ์š”์†Œ์— class๊ฐ€ ์—†๋‹ค๋ฉด ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”. ๋Œ“๊ธ€์šฉ๊ณผ ๋‹ต๊ธ€์šฉ 2๊ฐœ๊ฐ€

JavaScriptํ‹ฐ์Šคํ† ๋ฆฌ
์›Œ๋“œํ”„๋ ˆ์Šค ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ฐจ๋‹จ์˜ ํ•„์š”์„ฑ

์›Œ๋“œํ”„๋ ˆ์Šค ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ฐจ๋‹จ์˜ ํ•„์š”์„ฑ

๊ฝค ์˜ˆ์ „์— ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ํŠน์ • IP๋ฅผ ์ œ์™ธํ•˜๊ณค ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ๋ง‰๋Š” ์ž‘์—…์„ ํ–ˆ์—ˆ๋Š”๋ฐ, ์ง‘ ๋ฐ–์—์„  ๋กœ๊ทธ์ธ์ด ๊นŒ๋‹ค๋กญ๋‹จ ์ด์œ ๋กœ ๋‹ค์‹œ ๋ชจ๋“  IP์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ”๊ฟ”๋’€์Šต๋‹ˆ๋‹ค.์ตœ๊ทผ ์œ ๋… /admin/login.asp์— ์ ‘๊ทผ์„ ์‹œ๋„ํ•˜๊ฑฐ๋‚˜ xmlrpc.php์— post ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๋กœ๊ทธ๊ฐ€ ๋งŽ์ด ๋ณด์—ฌ, ์ด๊ฒŒ ๊ณผ์—ฐ ๊ดœ์ฐฎ์€ ๊ฑธ๊นŒ ์‹ถ์–ด ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ๋ชฉ์ ์œผ๋กœ ๋กœ๊ทธ์ธ ์‹คํŒจ ์‹œ ์ œ๊ฒŒ ๋ฉ”์ผ์ด ์˜ค๊ฒŒ ์ž‘์—…ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. function loginFailed() { $ip

์œˆ๋„์šฐ์— ์šฐ๋ถ„ํˆฌ ์„ค์น˜ํ•˜๊ธฐ (WSL)

์œˆ๋„์šฐ์— ์šฐ๋ถ„ํˆฌ ์„ค์น˜ํ•˜๊ธฐ (WSL)

Windows์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์€ ์˜ˆ์ „๋ถ€ํ„ฐ ์ตœ์•…์ด๋ž€ ํ‰๊ฐ€๊ฐ€ ๋งŽ์•˜์ง€๋งŒ, ์ž‘๋…„ 5์›” WSL์˜ ๋“ฑ์žฅ์œผ๋กœ ์˜›๋ง์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๋งŽ์ด ๋ถˆ์•ˆ์ •ํ•˜๊ณ  ๋А๋ฆฌ๋‹จ ํ‰์ด ๋งŽ์•„ ์„ค์น˜๋ฅผ ๊บผ๋ ธ์œผ๋‚˜, ์ง€๋‚œ 12์ผ์— WSL 2๊ฐ€ ๋‚˜์˜ค๋ฉฐ ๊ฝค ๊ดœ์ฐฎ์•„์กŒ๋‹จ ํ‰์ด ๋งŽ๊ธธ๋ž˜ ์ €๋„ ์„ค์น˜ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฆฌ๋ˆ…์Šค์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ์ตœ๊ฐ•์ธ ์ด์œ  ์ค‘ ํ•˜๋‚˜์ธ "๊ทธ๊ฒƒ๋ฐ–์— ํ•  ๊ฒŒ ์—†๋‹ค"๋Š” ์ด์œ ๋Š” Windows๊ฐ€ ์•ž์œผ๋กœ ์•„๋ฌด๋ฆฌ ๋ฐœ์ „ํ•ด๋„ ๋„๋‹ฌํ•  ์ˆ˜ ์—†๊ฒ ์ง€๋งŒ์š”. Windows ํ•˜์œ„ ์‹œ์Šคํ…œ ํ™œ์„ฑํ™” ์œˆ๋„์šฐ

UbuntuWSLWindows
[ํ‹ฐ์Šคํ† ๋ฆฌ] ํŒŒ์ผ ์—…๋กœ๋“œ ๊ตฌํ˜„ํ•˜๊ธฐ

[ํ‹ฐ์Šคํ† ๋ฆฌ] ํŒŒ์ผ ์—…๋กœ๋“œ ๊ตฌํ˜„ํ•˜๊ธฐ

ํ™•์ธํ•ด๋ณด๋‹ˆ ํ‹ฐ์Šคํ† ๋ฆฌ Access Token์˜ ์œ ํšจ ๊ธฐ๊ฐ„์ด 1์‹œ๊ฐ„๋ฐ–์— ๋˜์งˆ ์•Š์Šต๋‹ˆ๋‹ค. ๋Š˜๋ฆด ๋ฐฉ๋ฒ•์€ ์—†๊ณ ์š”. ๋งŒ์•ฝ ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์‹œ๋ ค๋ฉด 1์‹œ๊ฐ„๋งˆ๋‹ค ํ† ํฐ์„ ๊ฐฑ์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ผ๋งˆ ์ „ ์ œ ๋ธ”๋กœ๊ทธ์— ๊ตฌํ˜„ํ•œ ๋Œ“๊ธ€ ์ด๋ฏธ์ง€ ์ฒจ๋ถ€์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ‹ฐ์Šคํ† ๋ฆฌ API๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ ์ „ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ‹ฐ์Šคํ† ๋ฆฌ๋Š” ๋ชจ๋“  ๋Œ“๊ธ€์„ ํ…์ŠคํŠธ ์ทจ๊ธ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฏธ์ง€ ๋งํฌ ๋“ฑ์„ ์ฐพ์•„ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.์ด ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด

JavaScriptํ‹ฐ์Šคํ† ๋ฆฌAPI
๊ตฌ๊ตฌ๋‹จ ๋ฌธ์ œ ๋ฆฌ๋ฉ”์ดํฌ - React

๊ตฌ๊ตฌ๋‹จ ๋ฌธ์ œ ๋ฆฌ๋ฉ”์ดํฌ - React

๊นƒํ—ˆ๋ธŒ๋„์ „ํ•ด๋ณด๊ธฐ React๋ž‘ ์กฐ๊ธˆ ์นœํ•˜๊ฒŒ ์ง€๋‚ด๋ณด๋ ค๊ณ  ์˜ˆ์ „์— ๋งŒ๋“ค์–ด๋‘” ๊ฒƒ๋“ค์„ React๋กœ ๋‹ค์‹œ ์งœ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.๋กœ๋˜ ์ถ”์ฒจ๊ธฐ๊ฐ€ ์ฒซ ๋ฒˆ์งธ, ๊ตฌ๊ตฌ๋‹จ ๋ฌธ์ œ๊ฐ€ ๋‘ ๋ฒˆ์งธ, ๋‹ค์Œ์œผ๋ก  ๊ฐ€์‚ฌ์ง‘์„ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ข…๋ฃŒํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋ฌธ์ œ๊ฐ€ ๊ณ„์†๋˜๊ณ , ๋‚œ๋„๋„ ๊ณ„์† ์ƒ์Šนํ•˜๋˜ ์˜ˆ์ „๊ด€ ๋‹ฌ๋ฆฌ ๋‚œ์ด๋„์™€ ๋ฌธ์ œ ์ˆ˜๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด๋’€์Šต๋‹ˆ๋‹ค.๋ณดํ†ต์„ 2 ~ 20, ์–ด๋ ค์›€์„ 11 ~ 20, ์•„์ฃผ ์–ด๋ ค์›€์„ 11 ~ 30์œผ๋กœ ํ•ด๋’€๋‹ค๊ฐ€, "๋ณดํ†ต"์ด๋ž€ ๋‚œ์ด๋„์—์„œ

ReactJS๊ตฌ๊ตฌ๋‹จ์ œ์ž‘์ผ์ง€
Apache2 ์„œ๋ฒ„๋ฅผ Nginx๋กœ ๊ต์ฒดํ•˜๊ธฐ

Apache2 ์„œ๋ฒ„๋ฅผ Nginx๋กœ ๊ต์ฒดํ•˜๊ธฐ

์šฐ๋ถ„ํˆฌ 18.04์—์„œ ์›Œ๋“œํ”„๋ ˆ์Šค ์—”์ง„์„ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.PHP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ์‹ ๋‹ค๋ฉด ๋ชจ๋“ˆ ์„ค์น˜๋Š” ๊ฑด๋„ˆ๋›ฐ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ณผ์ •์„ ๋”ฐ๋ผ ํ•˜์‹œ๋ฉด ์„ค์น˜ํ•˜๋Š” ์ค‘์— 2~3์ดˆ๊ฐ€๋Ÿ‰์„ ์ œ์™ธํ•˜๊ณค ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ ์—†์ด ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์›Œ๋“œํ”„๋ ˆ์Šค ๋“ฑ์˜ PHP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›น์‚ฌ์ดํŠธ๋ฅผ ์šด์˜ํ•˜์‹ ๋‹ค๋ฉด, Nginx๋กœ ๊ต์ฒดํ•ด๋„ ์„ฑ๋Šฅ์ด ์ฒด๊ฐ๋  ๋งŒํผ ํ–ฅ์ƒ๋˜์ง„ ์•Š์Šต๋‹ˆ๋‹ค๋งŒ, ๊ฐœ์ธ์ ์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ Apache2๋ณด๋‹ค ํ›จ์”ฌ ํŽธํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•ฝ๊ฐ„์˜ ์„ฑ๋Šฅ ์ฐจ์ด๋„ ์žˆ๊ธด ํ•˜๊ณ ์š”.

Ubuntuapache2nginx
React๋กœ ๋กœ๋˜๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ ๋งŒ๋“ค๊ธฐ

React๋กœ ๋กœ๋˜๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ ๋งŒ๋“ค๊ธฐ

๊นƒํ—ˆ๋ธŒ ์•ฝ 9๊ฐœ์›” ์ „์— ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋งŒ๋“  ๋กœ๋˜ ์ถ”์ฒจ๊ธฐ๋ฅผ ๋ฆฌ์•กํŠธ๋กœ ๋‹ค์‹œ ์ œ์ž‘ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์†๋ณด๋Š” ๊น€์— ์˜ˆ์ „์—” ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„  ๊ณต์„ ์„ธ๋กœ๋กœ ์ผ๋ ฌ๋กœ ํ‘œ์‹œํ–ˆ์œผ๋‚˜, ์ด์   3์—ด๋กœ ํ‘œ์‹œํ•˜๊ฒŒ ํ•ด๋’€์Šต๋‹ˆ๋‹ค.๋ฒ„๋ฆฌ๋Š” ๊ณต๊ฐ„์ด ํ›จ์”ฌ ์ ์–ด์ง„ ๋А๋‚Œ์ด๋ผ ๋งˆ์Œ์— ๋“œ๋„ค์š”. ๋ฐ”๋‹๋ผ๋กœ ์งค ๋• html์— .ball์ด๋ž€ div๋ฅผ ๋งŒ๋“ค๊ณ ,

JavaScript๋กœ๋˜ReactJS
Heroku๋กœ ๋””์Šค์ฝ”๋“œ ๋ด‡ ํ˜ธ์ŠคํŒ…ํ•˜๊ธฐ

Heroku๋กœ ๋””์Šค์ฝ”๋“œ ๋ด‡ ํ˜ธ์ŠคํŒ…ํ•˜๊ธฐ

Discord.js๋กœ ๋งŒ๋“  ๋ด‡์„ Heroku์— ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.์–ด๋–ค ์–ธ์–ด๋กœ ์ž‘์„ฑํ•œ ๋ด‡์ด๊ฑด ํ˜ธ์ŠคํŒ… ๊ณผ์ •์€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๊ธด ํ•ฉ๋‹ˆ๋‹ค๋งŒ, ์„ธ์„ธํ•œ ๋ถ€๋ถ„์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. ํŒŒ์ผ์— ๊ฐœ๋ณ„์ ์ธ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹จ ์น˜๋ช…์ ์ธ ๋‹จ์ ์ด ์žˆ๊ธด ํ•˜์ง€๋งŒ, ์•„๋ฌด๋ž˜๋„ ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ…์— ๋งŽ์€ ๊ฑธ ๋ฐ”๋ผ๊ธด ํž˜๋“ค์ง€ ์‹ถ๋„ค์š”.์•„์ด์œ  ๋ด‡์€ ํŒŒ์ผ์— ์ข…์ข… ๊ฐœ๋ณ„์ ์ธ ์ ‘๊ทผ์ด ํ•„์š”ํ•ด ํ—ค๋กœ์ฟ ์— ์˜ฌ๋ฆฌ์ง€ ๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ค€๋น„๋ฌผ ๋””์Šค์ฝ”๋“œ ๊ณ„์ • ํ—ค๋กœ์ฟ  ๊ณ„์ • ๊นƒํ—ˆ๋ธŒ ๊ณ„์ • (์„ ํƒ)

Node.js๋””์Šค์ฝ”๋“œ ๋ด‡Heroku
Frameless Gallery 1.2 ์—…๋ฐ์ดํŠธ

Frameless Gallery 1.2 ์—…๋ฐ์ดํŠธ

์ž๋™ ๋‹คํฌ ๋ชจ๋“œ ํ•ด์ œ ์ง€๊ธˆ๊นŒ์ง„ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹คํฌ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์‹œ๊ฐ„์ด 19์‹œ๋ถ€ํ„ฐ 06์‹œ ์‚ฌ์ด๋ผ๋ฉด ๋ธ”๋กœ๊ทธ ์ฃผ์ธ์ด ์„ค์ •ํ•œ ํ…Œ๋งˆ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๋‹คํฌ ๋ชจ๋“œ๊ฐ€ ์ ์šฉ๋์Šต๋‹ˆ๋‹ค.์ด์   ์˜ต์…˜์— "์ž๋™ ๋‹คํฌ ๋ชจ๋“œ"๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์ด ๊ธฐ๋Šฅ์„ ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ๋งํฌ ๋กœ๋”ฉ prefetch ์—…๋ฐ์ดํŠธ์—์„œ ์ถ”๊ฐ€ํ–ˆ๋˜ ๊ธฐ๋Šฅ์„ frameless gallery์—๋„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค."๋น ๋ฅธ ๋งํฌ ๋กœ๋”ฉ" ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜์‹œ๋ฉด, ์‚ฌ์šฉ์ž๊ฐ€ ๋งํฌ์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ๋ฏธ๋ฆฌ ๋ถˆ๋Ÿฌ์™€ ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ

ํ‹ฐ์Šคํ† ๋ฆฌ ์Šคํ‚จFrameless Gallery์ œ์ž‘์ผ์ง€