JavaScript 2

์œ ์šฉํ•œ ์ •๊ทœ์‹(RegExp) ๋ชจ์Œ

์บก์ณํ•œ ๊ทธ๋ฃน ๊ฒฐ๊ณผ ๋‚ด ์ค‘๋ณต ์ œ๊ฑฐ (2022. 11. 24.) var input = "[KBS] ๋ฒจ๊ธฐ์—์™€ ์บ๋‚˜๋‹ค์˜ ํŒฝํŒฝํ•œ ๋Œ€๊ฒฐ, ์กฐ๋ณ„๋ฆฌ๊ทธ F์กฐ ๋ฒจ๊ธฐ์—vs์บ๋‚˜๋‹ค ์ „๋ฐ˜ ํ•˜์ด๋ผ์ดํŠธ"; var re = /(๋ฒจ๊ธฐ์—|์บ๋‚˜๋‹ค)(?!.*\1)/g; // (?!.*\1)์ด ์—†์œผ๋ฉด ["๋ฒจ๊ธฐ์—", "์บ๋‚˜๋‹ค", "๋ฒจ๊ธฐ์—", "์บ๋‚˜๋‹ค"] input.match(re); // ["๋ฒจ๊ธฐ์—", "์บ๋‚˜๋‹ค"]

Dev 2022.11.24

๋„ค์ด๋ฒ„ VOD ์ŠคํŠธ๋ฆฌ๋ฐ API ํƒํ—˜

์ „๋‚  ์žˆ์—ˆ๋˜ ์›”๋“œ์ปต ๊ฒฝ๊ธฐ VOD๋ฅผ ๋ณด๋ ค๊ณ  ๋„ค์ด๋ฒ„์— ๋“ค์–ด๊ฐ€๋ฉด ๋ฉ”์ธ, ์—ฐ๊ด€ VOD ๋“ฑ์„ ํ†ตํ•ด ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ์•Œ๊ฒŒ ๋œ๋‹ค. ์ƒ์ค‘๊ณ„๋ฅผ ๋ณด์ง€ ์•Š์€ ์‚ฌ๋žŒ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ฅธ ์ฑ„ ๋ณด๋Š” ๊ฒฝ๊ธฐ์˜ ํฅ๋ฏธ๋ฅผ ๋А๋ผ๋ ค ํ•˜๋Š” ๊ฒƒ์ด ๋น„์–‘์‹ฌ์ ์ด์ง€๋งŒ... ๋…ธ์Šคํฌ์ผ๋Ÿฌ๋กœ ๊ฒฝ๊ธฐ ์ œ๋ชฉ๊ณผ VOD๋งŒ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋„ค์ด๋ฒ„ ์Šคํฌ์ธ  ์›น์‚ฌ์ดํŠธ๋ฅผ ์ฐพ์•„๋ดค๋‹ค. ์šฐ์„  ๋™์˜์ƒ ํ”Œ๋ ˆ์ด์–ด์—์„œ ์žฌ์ƒ ์ค‘์ธ ์˜์ƒ์˜ ์†Œ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ฐพ์•„๋ดค๋‹ค. blob์ธ๋ฐ ์—ด์ง€๋„ ๋ชปํ•˜๊ณ  ๋ญ”์ง€๋„ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ํ†ต๊ณผ. ๋‹ค์Œ์œผ๋กœ๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋’ค์ ธ๋ดค๋‹ค. ๋™์˜์ƒ์„ ์žฌ์ƒํ•˜๊ณ  ์žˆ์œผ๋ฉด ๋น„์Šทํ•œ url๋กœ ์š”์ฒญ์ด ๊ณ„์† ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ์ค‘ ์ฒซ๋ฒˆ์งธ ์š”์ฒญ์œผ๋กœ ๊ฐ€๋ณด๋‹ˆ m3u8 ํ™•์žฅ์ž ์š”์ฒญ์ด ์žˆ๋‹ค. ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ์ŠคํŠธ๋ฆฌ๋ฐ์— ์‚ฌ์šฉํ•˜๋Š” ํ™•์žฅ์ž๋‹ค. ์ฒซ๋ฒˆ์งธ ์š”์ฒญ์„ ๋ณด๋‚ด๋ณด๋ฉด ์ŠคํŠธ๋ฆฌ๋ฐ์— ์‚ฌ์šฉ๋˜๋Š” ์‹œ๊ฐ„ ์ •๋ณด์™€ ๋ฐ์ดํ„ฐ ur..

Dev 2022.11.23