IT ์ฃผ์ ์ ๋ํ ๋ฌ์์ Q&A ๋ฆฌ์์ค๊ฐ CIS์์ ๊ฝค ์ธ๊ธฐ๊ฐ ์๋ ๊ฒ์ ์ฐ์ฐํ ์ผ์
๋๋ค.
ะะปััะตะฒัะต ะพัะพะฑะตะฝะฝะพััะธ :
- ์ ๋ชฉ : ํ ์คํฐ ์ปดํฌํธ.
- ์ฌ์ฉ์ ํต๊ณ: ์๋ฃจ์ ์ด ํฌํจ๋ ์ง๋ฌธ์ ๋น์จ Habr์ ์นด๋ฅด๋ง; ํ๋กํ ์์ฝ - ์ด ๋ชจ๋ ๋ด์ฉ์ Toaster์ ์ง๋ฌธ ๋ชฉ๋ก์ ์์ต๋๋ค.
- ๊ณ ์: ์ฌ์ดํธ์์ ์ค์๊ฐ์ผ๋ก ์์ด์ฝ, ํธ์ ์๋ฆผ, ๋ง์ ์ค์ ์์ ์ฌ์ดํธ๊ฐ ์ด๋ ค ์์ด์ผ ํฉ๋๋ค(
์ํค ).
- ํํฐ: ์์ ๊ธฐ๋ฐ ์กฐ๊ฑด: ์ง๋ฌธ์ ์จ๊ธฐ๊ณ ์์์ ์ง์ ํ๊ณ ์๋ฆผ์ ํ์ํ ์๋ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ๋
ผ๋ฆฌ์ ์กฐ๊ฑด ํ์์ผ๋ก ์ ์ฐํ๊ฒ ๊ตฌ์ฑ๋ฉ๋๋ค(
์ํค ).
- ์ธํฐํ์ด์ค : ์ ํํ ๋ ์ง๋ฅผ ํ์ํ๊ฑฐ๋ ์ง๋ฌธ ๋ชฉ๋ก์ ๊ตฌ๋ ์ํ๋ฅผ ํ์ํ๋ ๋ฑ ์ฌ์ํ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค.
- Habr ์ธํฐํ์ด์ค: ์ฌ์ํ ๊ฐ์ (์ ํ ์ฌํญ)(์: ์ฃผ์์ ๋ค์ฌ์ฐ๊ธฐ ๋ผ์ธ)
- ์คํ ์์ค : ์ ๋ง๋ก ์ํ๋ค๋ฉด ์ง์ ๋ฆฌ๋ฉ์ดํฌํ ์ ์์ต๋๋ค(
์ถ์ฒ ).
- ๋น์ด ์๋: MIT ๋ผ์ด์ผ์ค.
- ํ๋ซํผ :
ํฌ๋กฌ ,ํ์ด์ด ํญ์ค .
- ๋ฉ๋ชจ๋ฆฌ ์๋น: 30-50MB, ํ ์คํฐ์ ์ต์ ๊ณผ ์ฌ์ฉ ๊ฐ๋์ ๋ฐ๋ผ ๋ค๋ฆ
- ํฌ๊ธฐ : v93์ ๊ฒฝ์ฐ 0.8.1KB(์์ถ ํด์ , ์ถ์๋์ง ์์ ์ฝ๋).
- ๋ผ๋: ๋๋ฝ๋๊ณ ๊นจ๋ํ JS(๋ฏธ๋๋ฉ๋ฆฌ์ฆ).
- ์ฝ๋ ํ์ง: ํ๊ท , ์คํ์ผ ํผํฉ, ํฐ ๊ธฐ๋ฅ, ์ง์ ๋ถํ ํธ๋ฆญ, ์์์ ๋๊ธ.
- ๊ถํ :
toster.ru, habr.com, notifications, storage, unlimitedStorage
์ด์ ์ฃผ์ ๊ธฐ๋ฅ ์ค ํ๋๋ ์ค์ ์์ ์์์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋น์ ์ ๊ทธ๋ค๊ณผ ํจ๊ป ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ํ ์ ์์ผ๋ฉฐ, ๊ด์ฌ์ ๊ด๋ฆฌํ๊ณ ์ถ์ ๊ฒ์ ๋ฌด์์ด๋ ํ ์ ์์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ฌด์์ ์ํ๋์ง ์๋ ๊ฒ์ ๋๋ค. ์จ๊ธฐ๊ธฐ, ์์ ๋ณ๊ฒฝ ๋ฐ ์๋ฆผ์ ์ฌ์ดํธ ์์ ์ ์ฃผ์ํด์ผ ํ ์ธ ๊ฐ์ง ์ฃผ์ ์ธก๋ฉด์ ๋๋ค. ๋ฌด์์ด๋ ํํฐ๋งํ๋ ๊ฒ์ด ํธ๋ฆฌํจ์ ํต์ฌ์ ๋๋ค.
ํน์ ์ฃผ์ ์ ๋ํ ์๋ฆผ์ ๋ฐ์ ์ ์๋ ์ ์ฐํ ๊ท์น์ ์:
!tag("ะะปะพะบะธัะพะฒะฐะฝะธะต ัะตะบะปะฐะผั") && !contains(t,"ัะตะบะปะฐะผ") && contains(t,"ะฑะปะพะบะธัะพะฒ") && !tag("HTACCESS") || containsWord(t,"ัะบะฝ") || contains(t,"ัะพัะบะพะผะฝะฐะดะทะพั") || contains(t,"ัะพัะบะพะผะฟะพะทะพั") || contains(t,"ะณะพััะดะฐัััะฒ") || contains(t,"ะทะฐะฟัะตัะตะฝ") || contains(t,"ะทะฐะฟัะตััะฝ") || contains(t,"ะฟะธัะฐััะบ") || containsWord(t,"ะพะฑั
ะพะด") || containsWord(t,"ัะพััะตะปะตะบะพะผ") || containsWord(t,"ััะพะฒะพะน") || containsWord(t,"ัั") && tag("ะะพะผะฟัััะตัะฝัะต ัะตัะธ") = notify
eval() ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค๊ณ ๋ฐ๋ก ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋์ ๋น์ ์๋ณ๋ก ์ฌ๋ฏธ๊ฐ ์์ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ๋๋ ๋ค์์ ์ฌ์ฉํ์ฌ 5KB์ ์ฝ๋๋ก ๋๋ง์ ๋ฒํ๋ชฉ์ ์์ฑํด์ผ ํ์ต๋๋ค.
์ต๊ทผ์ ๊ดํ ๊ฒ์๋ฌผ์ด ์์์ต๋๋ค.
์ข์ ์๋ฏธ์์ TC๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ์์ฑํด์ผ ํฉ๋๋ค. ์๋ํ๋ฉด localStorage ๋ฐ JSON.stringify()๋ฅผ ํฌ๊ธฐํ๊ณ ์ผ๋ถ ์ํคํ
์ฒ ์๋ฃจ์
์ ๋ณ๊ฒฝํ๋ฉด ์์
์ด ์ต์ํ ๋ ๋ฒ ๊ฐ์ํ๋๊ณ ์บ์ ์์
์ด 10๋ฒ ์ํ๋ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ํ์ง๋ง ์ด ์์
์ ์ํํด์ผ ํ๋ ์ฌ๋์ ๋ด๊ฐ ์๋๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ "ํจ๊ณผ๊ฐ ์์ผ๋ฉด ๊ฑด๋๋ฆฌ์ง ๋ง์ธ์"๋ผ๋ ์์น์ ์ง์งํฉ๋๋ค. ํด๊ฐ ์ค์๋ ์ ๊ทน์ ์ผ๋ก ์ด์์ PR์ ์ฐธ์ฌํ์ง๋ง ๋ฏธ๋๋ฉ๋ฆฌ์ฆ์ ํฌ์ํ์ง๋ ์์ต๋๋ค. ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
์ถ์ฒ: www.habr.com