1C:Enterprise ๊ธฐ์ ์ ์ข์ ๊ธฐ๋ฅ ์ค ํ๋๋ ๊ด๋ฆฌํ ์์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์
์๋ฃจ์
์ด Windows, Linux, MacOS X์ฉ ์ฌ(์คํ ๊ฐ๋ฅ) ํด๋ผ์ด์ธํธ์ 5๊ฐ ๋ธ๋ผ์ฐ์ ์ฉ ์น ํด๋ผ์ด์ธํธ ๋ชจ๋์์ ์คํ๋ ์ ์๋ค๋ ๊ฒ์
๋๋ค. Chrome, Internet Explorer, Firefox, Safari, Edge ๋ฑ ์ ํ๋ฆฌ์ผ์ด์
์์ค ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ์ด ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ ์ธ๋ถ์ ์ผ๋ก ์ฌ ํด๋ผ์ด์ธํธ์ ๋ธ๋ผ์ฐ์ ์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ธฐ๋ฅ๊ณผ ๋ชจ์์ด ๊ฑฐ์ ๋์ผํฉ๋๋ค.
10๊ฐ์ง ์ฐจ์ด์ ์ฐพ๊ธฐ(์ปท ์๋ ์ฌ์ง 2์ฅ):
Linux์ ์ฌ ํด๋ผ์ด์ธํธ ์ฐฝ:
์น ํด๋ผ์ด์ธํธ์ ๋์ผํ ์ฐฝ(Chrome ๋ธ๋ผ์ฐ์ ):
์ฐ๋ฆฌ๋ ์ ์น ํด๋ผ์ด์ธํธ๋ฅผ ๋ง๋ค์๋์? ๋ค์ ํ์ฌํ๊ฒ ๋งํ๋ฉด ์๊ฐ์ด ์ฐ๋ฆฌ์๊ฒ ๊ทธ๋ฌํ ๊ณผ์ ๋ฅผ ์ค์ ํ์ต๋๋ค. ์ธํฐ๋ท์ ํตํ ์์
์ ์ค๋ซ๋์ ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์ ์กฐ๊ฑด์ด์์ต๋๋ค. ์ฒซ์งธ, ์ฐ๋ฆฌ๋ ์ฌ ํด๋ผ์ด์ธํธ์ ์ธํฐ๋ท์ ํตํด ์์
ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค(๊ทธ๋ฐ๋ฐ ๊ฒฝ์์ฌ ์ค ์ผ๋ถ๋ ๊ฑฐ๊ธฐ์ ๋ฉ์ท๊ณ , ๋ฐ๋๋ก ๋ค๋ฅธ ์ผ๋ถ๋ ์ฌ ํด๋ผ์ด์ธํธ๋ฅผ ํฌ๊ธฐํ๊ณ ์น ํด๋ผ์ด์ธํธ ๊ตฌํ์ผ๋ก ์ ํํ์ต๋๋ค). ์ฐ๋ฆฌ๋ ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ์ ํฉํ ํด๋ผ์ด์ธํธ ์ต์
์ ์ ํํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ฌ ํด๋ผ์ด์ธํธ์ ์น ๊ธฐ๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ์ ํด๋ผ์ด์ธํธ-์๋ฒ ์ํคํ
์ฒ๊ฐ ์์ ํ ๋ณ๊ฒฝ๋ ๋๊ท๋ชจ ํ๋ก์ ํธ์์ต๋๋ค. ์น ํด๋ผ์ด์ธํธ๋ฅผ ๋ง๋๋ ๊ฒ์ ์ฒ์๋ถํฐ ์์ํ๋ ์์ ํ ์๋ก์ด ํ๋ก์ ํธ์
๋๋ค.
๋ฌธ์ ์ฑ๋ช
๋ฐ๋ผ์ ํ๋ก์ ํธ ์๊ตฌ ์ฌํญ: ์น ํด๋ผ์ด์ธํธ๋ ์ฌ ํด๋ผ์ด์ธํธ์ ๋์ผํ๊ฒ ์ํํด์ผ ํฉ๋๋ค. ์ฆ,
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค ํ์
- 1C ์ธ์ด๋ก ์์ฑ๋ ํด๋ผ์ด์ธํธ ์ฝ๋ ์คํ
1C์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ์๊ฐ์ ํธ์ง๊ธฐ์์ ์ค๋ช ๋์ง๋ง ์ ์ธ์ ์ผ๋ก๋ ์์์ ํฝ์ ๋จ์ ๋ฐฐ์ด์ด ์์ต๋๋ค. ๋ฒํผ, ์ ๋ ฅ ํ๋(ํ ์คํธ, ์ซ์, ๋ ์ง/์๊ฐ), ๋ชฉ๋ก, ํ, ๊ทธ๋ํ ๋ฑ ์ฝ XNUMX๊ฐ์ง ์ ํ์ ์ธํฐํ์ด์ค ์์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
1C ์ธ์ด์ ํด๋ผ์ด์ธํธ ์ฝ๋์๋ ์๋ฒ ํธ์ถ, ๋ก์ปฌ ๋ฆฌ์์ค(ํ์ผ ๋ฑ) ์์ , ์ธ์ ๋ฑ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
์ฌ ํด๋ผ์ด์ธํธ(์น์ ํตํด ์์ ํ ๋)์ ์น ํด๋ผ์ด์ธํธ๋ ๋ชจ๋ ๋์ผํ ์น ์๋น์ค ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ 1C ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ํต์ ํฉ๋๋ค. ๋ฌผ๋ก ํด๋ผ์ด์ธํธ ๊ตฌํ์ ๋ค๋ฆ ๋๋ค. ์ฌ ํด๋ผ์ด์ธํธ๋ C++๋ก ์์ฑ๋๊ณ ์น ํด๋ผ์ด์ธํธ๋ JavaScript๋ก ์์ฑ๋ฉ๋๋ค.
์ญ์ฌ์ ๋นํธ
์น ํด๋ผ์ด์ธํธ ํ๋ก์ ํธ๋ 2006๋ ํ๊ท 5๋ช ์ ํ์ผ๋ก ์์๋์์ต๋๋ค. ํ๋ก์ ํธ์ ํน์ ๋จ๊ณ์์๋ ํน์ ๊ธฐ๋ฅ(์คํ๋ ๋์ํธ ๋ฌธ์, ๋ค์ด์ด๊ทธ๋จ ๋ฑ)์ ๊ตฌํํ๊ธฐ ์ํด ๊ฐ๋ฐ์๊ฐ ์ฐธ์ฌํ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ค์ ์ฌ ํด๋ผ์ด์ธํธ์์ ์ด ๊ธฐ๋ฅ์ ์ํํ ๊ฐ๋ฐ์์ ๋์ผํ์ต๋๋ค. ์ ๊ฒ๋ค. ๊ฐ๋ฐ์๋ ์ด์ ์ C++๋ก ๋ง๋ ๊ตฌ์ฑ ์์๋ฅผ JavaScript๋ก ๋ค์ ์์ฑํ์ต๋๋ค.
์ฒ์๋ถํฐ ์ฐ๋ฆฌ๋ ๋ ์ธ์ด ๊ฐ์ ๊ฐ๋ ฅํ ๊ฐ๋ ์ ์ฐจ์ด๋ก ์ธํด C++ ์ฌ ํด๋ผ์ด์ธํธ ์ฝ๋๋ฅผ JavaScript ์น ํด๋ผ์ด์ธํธ๋ก ์๋(๋ถ๋ถ์ ์ด๋ผ๋) โโ๋ณํํ๋ค๋ ์์ด๋์ด๋ฅผ ๊ฑฐ๋ถํ์ต๋๋ค. ์น ํด๋ผ์ด์ธํธ๋ ์ฒ์๋ถํฐ JavaScript๋ก ์์ฑ๋์์ต๋๋ค.
ํ๋ก์ ํธ์ ์ฒซ ๋ฒ์งธ ๋ฐ๋ณต์์ ์น ํด๋ผ์ด์ธํธ๋ ๋ด์ฅ๋ 1C ์ธ์ด์ ํด๋ผ์ด์ธํธ ์ฝ๋๋ฅผ JavaScript๋ก ์ง์ ๋ณํํ์ต๋๋ค. ์ฌ ํด๋ผ์ด์ธํธ๋ ๋ค๋ฅด๊ฒ ์๋ํฉ๋๋ค. ๋ด์ฅ๋ 1C ์ธ์ด์ ์ฝ๋๊ฐ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ๋ ๋ค์ ์ด ๋ฐ์ดํธ์ฝ๋๊ฐ ํด๋ผ์ด์ธํธ์์ ํด์๋ฉ๋๋ค. ๊ทธ ํ ์น ํด๋ผ์ด์ธํธ๋ ๋์ผํ ์์ ์ ์ํํ๊ธฐ ์์ํ์ต๋๋ค. ์ฒซ์งธ, ์ฑ๋ฅ์ด ํฅ์๋์๊ณ , ๋์งธ, ์ฌ ํด๋ผ์ด์ธํธ์ ์น ํด๋ผ์ด์ธํธ์ ์ํคํ ์ฒ๋ฅผ ํตํฉํ ์ ์๊ฒ ๋์์ต๋๋ค.
์น ํด๋ผ์ด์ธํธ๋ฅผ ์ง์ํ๋ 1C:Enterprise ํ๋ซํผ์ ์ฒซ ๋ฒ์งธ ๋ฒ์ ์ 2009๋ ์ ์ถ์๋์์ต๋๋ค. ๋น์ ์น ํด๋ผ์ด์ธํธ๋ Internet Explorer์ Firefox๋ผ๋ ๋ ๊ฐ์ง ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ์ต๋๋ค. ์๋ ๊ณํ์๋ Opera์ ๋ํ ์ง์์ด ํฌํจ๋์ด ์์์ง๋ง ๋น์ Opera์ ์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ ์ฒ๋ฆฌ๊ธฐ์ ๊ด๋ จ๋ ๊ทน๋ณตํ ์ ์๋ ๋ฌธ์ ๋ก ์ธํด(์ ํ๋ฆฌ์ผ์ด์ ์ด ์ข ๋ฃ๋๊ณ ์๋ค๋ ๊ฒ์ 2% ํ์คํ๊ฒ ์ถ์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ผ๋ฉฐ ๊ทธ ์๊ฐ์ ์ฐ๊ฒฐ ํด์ ์ ์ฐจ๋ฅผ ์ํํ์ต๋๋ค. 100C ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ)๋ ์ด๋ฌํ ๊ณํ์์ ํ๊ธฐ๋์ด์ผ ํ์ต๋๋ค.
ํ๋ก์ ํธ ๊ตฌ์กฐ
์ ์ฒด์ ์ผ๋ก 1C:Enterprise ํ๋ซํผ์๋ JavaScript๋ก ์์ฑ๋ 4๊ฐ์ ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค.
- WebTools โ ๋ค๋ฅธ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๋ํ ๋ค์์ ํฌํจํฉ๋๋ค)
Google ํด๋ก์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ). - ์ ์ด ์์
์์์ด ์ง์ ๋ ๋ฌธ์ (์ฌ ํด๋ผ์ด์ธํธ์ ์น ํด๋ผ์ด์ธํธ ๋ชจ๋์์ JavaScript๋ก ๊ตฌํ๋จ) - ์ ์ด ์์
์ค์ผ์ค๋ฌ (์ฌ ํด๋ผ์ด์ธํธ์ ์น ํด๋ผ์ด์ธํธ ๋ชจ๋์์ JavaScript๋ก ๊ตฌํ๋จ) - ์น ํด๋ผ์ด์ธํธ
๊ฐ ํ๋ก์ ํธ์ ๊ตฌ์กฐ๋ Java ํ๋ก์ ํธ(๋๋ .NET ํ๋ก์ ํธ ์ค ๋ ๊ฐ๊น์ด ํ๋ก์ ํธ)์ ๊ตฌ์กฐ์ ์ ์ฌํฉ๋๋ค. ๋ค์์คํ์ด์ค๊ฐ ์๊ณ ๊ฐ ๋ค์์คํ์ด์ค๋ ๋ณ๋์ ํด๋์ ์์ต๋๋ค. ํด๋ ์์๋ ํ์ผ๊ณผ ๋ค์์คํ์ด์ค ํด๋์ค๊ฐ ์์ต๋๋ค. ์น ํด๋ผ์ด์ธํธ ํ๋ก์ ํธ์๋ ์ฝ 1000๊ฐ์ ํ์ผ์ด ์์ต๋๋ค.
๊ตฌ์กฐ์ ์ผ๋ก ์น ํด๋ผ์ด์ธํธ๋ ํฌ๊ฒ ๋ค์ ํ์ ์์คํ ์ผ๋ก ๋๋ฉ๋๋ค.
- ๊ด๋ฆฌํ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์
์ธํฐํ์ด์ค
- ์ผ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ธํฐํ์ด์ค(์์คํ ๋ฉ๋ด, ํจ๋)
- ์ฝ 30๊ฐ์ ์ปจํธ๋กค(๋ฒํผ, ๋ค์ํ ์ ํ์ ์ ๋ ฅ ํ๋ - ํ ์คํธ, ์ซ์, ๋ ์ง/์๊ฐ ๋ฑ, ํ ์ด๋ธ, ๋ชฉ๋ก, ๊ทธ๋ํ ๋ฑ)์ ํฌํจํ ๊ด๋ฆฌ๋๋ ์์์ ์ธํฐํ์ด์ค
- ํด๋ผ์ด์ธํธ์์ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด ๋ชจ๋ธ(์ด 400๊ฐ ์ด์์ ์ ํ: ๊ด๋ฆฌํ ์ธํฐํ์ด์ค ๊ฐ์ฒด ๋ชจ๋ธ, ๋ฐ์ดํฐ ๋ ์ด์์ ์ค์ , ์กฐ๊ฑด๋ถ ์คํ์ผ ์ง์ ๋ฑ)
- ๋ด์ฅ 1C ์ธ์ด ํต์ญ์ฌ
- ๋ธ๋ผ์ฐ์ ํ์ฅ(JavaScript์์ ์ง์๋์ง ์๋ ๊ธฐ๋ฅ์ ์ฌ์ฉ๋จ)
- ์ํธํ ์์
- ํ์ผ ์์
- ์ฌ ํด๋ผ์ด์ธํธ์ ์น ํด๋ผ์ด์ธํธ ๋ชจ๋์์ ์ฌ์ฉํ ์ ์๋ ์ธ๋ถ ๊ตฌ์ฑ ์์ ๊ธฐ์
๊ฐ๋ฐ ๊ธฐ๋ฅ
์์ ๋ชจ๋ ๊ฒ์ JavaScript๋ก ๊ตฌํํ๋ ๊ฒ์ ์ฝ์ง ์์ต๋๋ค. ์๋ง๋ 1C ์น ํด๋ผ์ด์ธํธ๋ ์ฝ 450.000์ค์ ๋ฌํ๋ JavaScript๋ก ์์ฑ๋ ๊ฐ์ฅ ํฐ ํด๋ผ์ด์ธํธ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์ค ํ๋์ผ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์น ํด๋ผ์ด์ธํธ ์ฝ๋์์ ๊ฐ์ฒด ์งํฅ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋๊ท๋ชจ ํ๋ก์ ํธ ์์ ์ ๋จ์ํํฉ๋๋ค.
ํด๋ผ์ด์ธํธ ์ฝ๋์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๊ธฐ ์ํด ๋จผ์ ์์ฒด Obfuscator๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ, ํ๋ซํผ ๋ฒ์ 8.3.6(2014๋
XNUMX์)๋ถํฐ ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค.
- ์์ฒด ๋๋ ์ฒ๋ฆฌ๊ธฐ โ 1556kb
- Google ํด๋ก์ ์ปดํ์ผ๋ฌ โ 1073kb
Google Closure Compiler๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฒด ๋๋ ์ฒ๋ฆฌ๊ธฐ์ ๋นํด ์น ํด๋ผ์ด์ธํธ ์ฑ๋ฅ์ด 30% ํฅ์๋๋ ๋ฐ ๋์์ด ๋์์ต๋๋ค. ๋ํ, ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋นํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ด 15~25% ๊ฐ์ํ์ต๋๋ค(๋ธ๋ผ์ฐ์ ์ ๋ฐ๋ผ ๋ค๋ฆ).
Google Closure Compiler๋ ๊ฐ์ฒด ์งํฅ ์ฝ๋์ ๋งค์ฐ ์ ์๋ํ๋ฏ๋ก ์น ํด๋ผ์ด์ธํธ์ ํจ์จ์ฑ์ด ์ต๋ํ ๋์ต๋๋ค. ํด๋ก์ ์ปดํ์ผ๋ฌ๋ ์ฐ๋ฆฌ์๊ฒ ๋ช ๊ฐ์ง ์ข์ ์ผ์ ํด ์ค๋๋ค:
- ํ๋ก์ ํธ ๋น๋ ๋จ๊ณ์์ ์ ์ ์ ํ ๊ฒ์ฌ(JSDoc ์ฃผ์์ผ๋ก ์ฝ๋๋ฅผ ํฌํจํ๋์ง ํ์ธ) ๊ทธ ๊ฒฐ๊ณผ ์ ์ ํ์ดํ์ด ์ด๋ฃจ์ด์ง๋ฉฐ C++์ ํ์ดํ ์์ค๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ์ด๋ ํ๋ก์ ํธ ์ปดํ์ผ ๋จ๊ณ์์ ์๋นํ ๋ง์ ๋น์จ์ ์ค๋ฅ๋ฅผ ์ก๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๋๋ ํ๋ฅผ ํตํด ์ฝ๋ ํฌ๊ธฐ ์ค์ด๊ธฐ
- ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ์คํ๋ ์ฝ๋์ ๋ค์ํ ์ต์ ํ๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค.
- ์ธ๋ผ์ธ ํจ์ ๋์ฒด. JavaScript์์ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ ์๋นํ ๋น์ฉ์ด ๋ง์ด ๋๋ ์์ ์ด๋ฉฐ ์์ฃผ ์ฌ์ฉ๋๋ ์์ ๋ฉ์๋๋ฅผ ์ธ๋ผ์ธ์ผ๋ก ๋์ฒดํ๋ฉด ์ฝ๋ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋ฉ๋๋ค.
- ์ปดํ์ผ ํ์์ ์์๋ฅผ ๊ณ์ฐํฉ๋๋ค. ํํ์์ด ์์์ ์์กดํ๋ ๊ฒฝ์ฐ ์์์ ์ค์ ๊ฐ์ด ํด๋น ํํ์์ผ๋ก ๋์ฒด๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ์น ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ ํ๊ฒฝ์ผ๋ก WebStorm์ ์ฌ์ฉํฉ๋๋ค.
์ฝ๋ ๋ถ์์ ์ํด ์ฐ๋ฆฌ๋
์ฐ๋ฆฌ๋ ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ฑฐ๋ ํด๊ฒฐํ๊ณ ์๋์?
ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ๋์ ์ฐ๋ฆฌ๋ ํด๊ฒฐํด์ผ ํ ์ฌ๋ฌ ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค.
์๋ฒ์ ์ฐฝ๊ฐ ๋ฐ์ดํฐ ๊ตํ
์์ค ์ฝ๋์ ๋๋ ํ๊ฐ ์์คํ ์๋์ ๋ฐฉํดํ ์ ์๋ ์ํฉ์ด ์์ต๋๋ค. ๋๋ ํ๋ก ์ธํด ์น ํด๋ผ์ด์ธํธ ์คํ ์ฝ๋ ์ธ๋ถ์ ์ฝ๋์๋ ์คํ ์ฝ๋์์ ์์ํ๋ ๊ฒ๊ณผ ๋ค๋ฅธ ํจ์ ๋ฐ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ด ์์ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ์ธ๋ถ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฐ์ดํฐ ๊ตฌ์กฐ ํํ๋ก ์๋ฒ์์ ์ค๋ ์ฝ๋
- ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ ์ฐฝ์ ๋ํ ์ฝ๋
์๋ฒ์ ์ํธ์์ฉํ ๋ ๋๋ ํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด @expose ํ๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
/**
* @constructor
* @extends {Base.SrvObject}
*/
Srv.Core.GenericException = function ()
{
/**
* @type {string}
* @expose
*/
this.descr;
/**
* @type {Srv.Core.GenericException}
* @expose
*/
this.inner;
/**
* @type {string}
* @expose
*/
this.clsid;
/**
* @type {boolean}
* @expose
*/
this.encoded;
}
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์ฐฝ๊ณผ ์ํธ ์์ฉํ ๋ ๋๋ ํ๋ฅผ ํผํ๊ธฐ ์ํด ์์ ๋ด๋ณด๋ธ ์ธํฐํ์ด์ค(๋ชจ๋ ๋ฉ์๋๋ฅผ ๋ด๋ณด๋ด๋ ์ธํฐํ์ด์ค)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
/**
* ะญะบัะฟะพััะธััะตะผัะน ะธะฝัะตััะตะนั ะบะพะฝััะพะปะฐ DropDownWindow
*
* @interface
* @struct
*/
WebUI.IDropDownWindowExp = function(){}
/**
* ะะตัะตะผะตัะฐะตั ะฒัะดะตะปะตะฝะธะต ะฝะฐ 1 ะฒะฟะตัะตะด ะธะปะธ ะฝะฐะทะฐะด
*
* @param {boolean} isForward
* @param {boolean} checkOnly
* @return {boolean}
* @expose
*/
WebUI.IDropDownWindowExp.prototype.moveMarker = function (isForward, checkOnly){}
/**
* ะะตัะตะผะตัะฐะตั ะฒัะดะตะปะตะฝะธะต ะฒ ะฝะฐัะฐะปะพ ะธะปะธ ะบะพะฝะตั
*
* @param {boolean} isFirst
* @param {boolean} checkOnly
* @return {boolean}
* @expose
*/
WebUI.IDropDownWindowExp.prototype.moveMarkerTo = function (isFirst, checkOnly){}
/**
* @return {boolean}
* @expose
*/
WebUI.IDropDownWindowExp.prototype.selectValue = function (){}
์ฐ๋ฆฌ๋ Virtual DOM์ด ์ฃผ๋ฅ๊ฐ ๋๊ธฐ ์ ์ ์ฌ์ฉํ์ต๋๋ค)
๋ณต์กํ ์น UI๋ฅผ ๋ค๋ฃจ๋ ๋ชจ๋ ๊ฐ๋ฐ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฐ๋ฆฌ๋ DOM์ด ๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์์ ์ ์ ํฉํ์ง ์๋ค๋ ๊ฒ์ ๋นจ๋ฆฌ ๊นจ๋ฌ์์ต๋๋ค. ๊ฑฐ์ ์ฆ์ UI ์์ ์ ์ต์ ํํ๊ธฐ ์ํด Virtual DOM์ ์๋ ๋ก๊ทธ๊ฐ ๊ตฌํ๋์์ต๋๋ค. ์ด๋ฒคํธ ์ฒ๋ฆฌ ์ค์ ๋ชจ๋ DOM ๋ณ๊ฒฝ ์ฌํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ฉฐ, ๋ชจ๋ ์์ ์ด ์๋ฃ๋์ด์ผ ๋์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ด DOM ํธ๋ฆฌ์ ์ ์ฉ๋ฉ๋๋ค.
์น ํด๋ผ์ด์ธํธ ์ต์ ํ
์น ํด๋ผ์ด์ธํธ๊ฐ ๋ ๋น ๋ฅด๊ฒ ์๋ํ๋๋ก ํ๊ธฐ ์ํด ํ์ค ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ(CSS ๋ฑ)์ ์ต๋ํ ์ฌ์ฉํ๋ ค๊ณ ๋ ธ๋ ฅํฉ๋๋ค. ๋ฐ๋ผ์ ์์ ๋ช ๋ น ํจ๋(์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฑฐ์ ๋ชจ๋ ์์์ ์์น)์ CSS ๊ธฐ๋ฐ์ ๋์ ๋ ์ด์์์ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ๋๊ตฌ๋ฅผ ํตํด์๋ง ๋ ๋๋ง๋ฉ๋๋ค.
ํ ์คํธ
๊ธฐ๋ฅ ๋ฐ ์ฑ๋ฅ ํ
์คํธ๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ๋
์ ๋๊ตฌ(Java ๋ฐ C++๋ก ์์ฑ)์ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ํ
์คํธ ์ ํ๊ตฐ์ ์ฌ์ฉํฉ๋๋ค.
์ฐ๋ฆฌ์ ๋๊ตฌ๋ ๋ณดํธ์ ์ ๋๋ค. ๊ฑฐ์ ๋ชจ๋ ์ฐฝ ํ๋ก๊ทธ๋จ์ ํ ์คํธํ ์ ์์ผ๋ฏ๋ก ์ฌ ํด๋ผ์ด์ธํธ์ ์น ํด๋ผ์ด์ธํธ๋ฅผ ๋ชจ๋ ํ ์คํธํ๋ ๋ฐ ์ ํฉํฉ๋๋ค. ์ด ๋๊ตฌ๋ 1C ์ ํ๋ฆฌ์ผ์ด์ ์๋ฃจ์ ์ ์์ํ ์ฌ์ฉ์์ ์์ ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๊ธฐ๋กํฉ๋๋ค. ๋์์ ํ๋ฉด ์์ ์์ญ์ ์ด๋ฏธ์ง(ํ์ค)๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. ์ ๋ฒ์ ์ ์น ํด๋ผ์ด์ธํธ๋ฅผ ๋ชจ๋ํฐ๋งํ ๋ ์ฌ์ฉ์ ์ฐธ์ฌ ์์ด ์คํฌ๋ฆฝํธ๊ฐ ์ฌ์๋ฉ๋๋ค. ์ด๋ค ๋จ๊ณ์์๋ ์คํฌ๋ฆฐ์ท์ด ์ฐธ์กฐ ํญ๋ชฉ๊ณผ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ ํ ์คํธ๋ ์คํจํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ, ๊ทธ ํ ํ์ง ์ ๋ฌธ๊ฐ๊ฐ ์กฐ์ฌ๋ฅผ ์ํํ์ฌ ์ด๊ฒ์ด ์ค๋ฅ์ธ์ง ์๋๋ฉด ์์คํ ๋์์ ๊ณํ๋ ๋ณ๊ฒฝ์ธ์ง ํ์ธํฉ๋๋ค. ๊ณํ๋ ๋์์ ๊ฒฝ์ฐ ํ์ค์ด ์๋์ผ๋ก ์๋ก์ด ํ์ค์ผ๋ก ๋์ฒด๋ฉ๋๋ค.
๋ํ ์ด ๋๊ตฌ๋ ์ต๋ 25๋ฐ๋ฆฌ์ด์ ์ ํ๋๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ์ธก์ ํฉ๋๋ค. ์ด๋ค ๊ฒฝ์ฐ์๋ ์คํฌ๋ฆฝํธ์ ์ผ๋ถ๋ฅผ ๋ฐ๋ณตํ์ฌ(์: ์ฃผ๋ฌธ ์ ๋ ฅ์ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต) ์๊ฐ์ ๋ฐ๋ฅธ ์คํ ์๊ฐ ์ ํ๋ฅผ ๋ถ์ํฉ๋๋ค. ๋ชจ๋ ์ธก์ ๊ฒฐ๊ณผ๋ ๋ถ์์ ์ํด ๋ก๊ทธ์ ๊ธฐ๋ก๋ฉ๋๋ค.
ํ
์คํธ ์ค์ธ ํ
์คํธ ๋๊ตฌ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ฐ๋ฆฌ ๋๊ตฌ์ Selenium์ ์๋ก๋ฅผ ๋ณด์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ฉด ์ค ํ๋์ ์๋ ์ผ๋ถ ๋ฒํผ์ ์์น๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ Selenium์ ์ด๋ฅผ ์ถ์ ํ์ง ๋ชปํ ์ ์์ง๋ง ์ฐ๋ฆฌ ๋๊ตฌ๋ ์ด๋ฅผ ์์์ฐจ๋ฆด ๊ฒ์ ๋๋ค. ์คํฌ๋ฆฐ์ท๊ณผ ํ์ค์ ํฝ์ ๋ณ๋ก ๋น๊ตํฉ๋๋ค. ์ด ๋๊ตฌ๋ ํค๋ณด๋๋ ๋ง์ฐ์ค์ ์ ๋ ฅ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ๋ฌธ์ ๋ ์ถ์ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์ ํํ ์ฌํ๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ ๋๊ตฌ(๋น์ฌ ๋ฐ Selenium)์ ๋ํ ํ ์คํธ๋ ๋น์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฃจ์ ์ ์ผ๋ฐ์ ์ธ ์์ ์๋๋ฆฌ์ค๋ฅผ ์คํํฉ๋๋ค. ํ ์คํธ๋ 1C:Enterprise ํ๋ซํผ์ ์ผ์ผ ๋น๋ ํ ์๋์ผ๋ก ์์๋ฉ๋๋ค. ์ด์ ๋น๋์ ๋น๊ตํ์ฌ ์คํฌ๋ฆฝํธ๊ฐ ๋๋ฆฐ ๊ฒฝ์ฐ ์๋ ์ ํ์ ์์ธ์ ์กฐ์ฌํ๊ณ ํด๊ฒฐํฉ๋๋ค. ์ฐ๋ฆฌ์ ๊ธฐ์ค์ ๊ฐ๋จํฉ๋๋ค. ์ ๋น๋๋ ์ด์ ๋น๋๋ณด๋ค ๋๋ฆฌ๊ฒ ์๋ํด์๋ ์ ๋ฉ๋๋ค.
๊ฐ๋ฐ์๋ ์๋ ์ ํ ์ฌ๊ณ ๋ฅผ ์กฐ์ฌํ๊ธฐ ์ํด ๋ค์ํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฃผ๋ก ์ฌ์ฉ
๋ํ ์ฑ๋ฅ ์ ํ์ ์์ธ ์ค ํ๋๋ Google Closure Compiler๊ฐ ์ด๋ค ์ด์ ๋ก ํจ์์ ์ธ๋ผ์ธ ๋์ฒด๋ฅผ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ผ ์ ์์ต๋๋ค(์: ํจ์๊ฐ ์ฌ๊ท์ ์ด๊ฑฐ๋ ๊ฐ์์ด๊ธฐ ๋๋ฌธ์). ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์์ค ์ฝ๋๋ฅผ ๋ค์ ์์ฑํ์ฌ ์ํฉ์ ์์ ํ๋ ค๊ณ ํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ํ์ฅ
์ ํ๋ฆฌ์ผ์ด์ ์๋ฃจ์ ์ JavaScript์์ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ด ํ์ํ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ํ์ฅ์ ์ฌ์ฉํฉ๋๋ค.
- ํ์ผ ์์
- ์ํธํ ์์ ์ ์ํด
- ์์
์ธ๋ถ ๊ตฌ์ฑ์์
์ฐ๋ฆฌ์ ํ์ฅ์ ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ํ์ฅ(์ผ๋ฐ์ ์ผ๋ก JavaScript๋ก ์์ฑ๋ Chrome ๋ฐ Firefox์ฉ ํ์ฅ)์ผ๋ก, ๋ ๋ฒ์งธ ๋ถ๋ถ(ํ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ์ด๋๋ฆฌ ํ์ฅ)๊ณผ ์ํธ ์์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ Windows, Linux ๋ฐ MacOS์ฉ 3๊ฐ์ง ๋ฒ์ ์ ๋ฐ์ด๋๋ฆฌ ํ์ฅ์ ์์ฑํ๋ค๋ ์ ์ ์ธ๊ธํด์ผ ํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ ํ์ฅ์ 1C:Enterprise ํ๋ซํผ์ ์ผ๋ถ๋ก ์ ๊ณต๋๋ฉฐ 1C ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ์์ต๋๋ค. ์น ํด๋ผ์ด์ธํธ์์ ์ฒ์ ํธ์ถ๋๋ฉด ํด๋ผ์ด์ธํธ ์ปดํจํฐ๋ก ๋ค์ด๋ก๋๋์ด ๋ธ๋ผ์ฐ์ ์ ์ค์น๋ฉ๋๋ค.
Safari์์ ์คํ๋ ๋ ํ์ฅ ๊ธฐ๋ฅ์ NPAPI๋ฅผ ์ฌ์ฉํ๊ณ , Internet Explorer์์ ์คํ๋ ๋ ActiveX ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค.
์ถ๊ฐ ๊ฐ๋ฐ
์น ํด๋ผ์ด์ธํธ ๊ฐ๋ฐํ์ ์ ๋ฌด ์ค ํ๋๋ ๊ธฐ๋ฅ์ ์ถ๊ฐ๋ก ๊ฐ๋ฐํ๋ ๊ฒ์ ๋๋ค. ์น ํด๋ผ์ด์ธํธ์ ๊ธฐ๋ฅ์ ์ฌ ํด๋ผ์ด์ธํธ์ ๊ธฐ๋ฅ๊ณผ ๋์ผํด์ผ ํ๋ฉฐ ๋ชจ๋ ์๋ก์ด ๊ธฐ๋ฅ์ ์ฌ ํด๋ผ์ด์ธํธ์ ์น ํด๋ผ์ด์ธํธ ๋ชจ๋์์ ๋์์ ๊ตฌํ๋ฉ๋๋ค.
๋ค๋ฅธ ์์
์๋ ์ํคํ
์ฒ ๊ฐ๋ฐ, ๋ฆฌํฉํ ๋ง, ์ฑ๋ฅ ๋ฐ ์์ ์ฑ ํฅ์์ด ํฌํจ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฐฉํฅ ์ค ํ๋๋ ๋น๋๊ธฐ์ ์์
๋ชจ๋ธ์ ํฅํ ์ถ๊ฐ ์ด๋์
๋๋ค. ์น ํด๋ผ์ด์ธํธ์ ์ผ๋ถ ๊ธฐ๋ฅ์ ํ์ฌ ์๋ฒ์์ ๋๊ธฐ์ ์ํธ ์์ฉ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. ๋น๋๊ธฐ ๋ชจ๋ธ์ ์ด์ ๋ธ๋ผ์ฐ์ (๋ธ๋ผ์ฐ์ ๋ฟ๋ง ์๋๋ผ)์์ ๋์ฑ ๊ด๋ จ์ฑ์ด ๋์์ง๊ณ ์์ผ๋ฉฐ ์ด๋ก ์ธํด ๋๊ธฐ ํธ์ถ์ ๋น๋๊ธฐ ํธ์ถ๋ก ๋์ฒดํ๊ณ ์ด์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋งํ์ฌ ์น ํด๋ผ์ด์ธํธ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ๋น๋๊ธฐ์ ๋ชจ๋ธ๋ก์ ์ ์ง์ ์ธ ์ ํ์ ์ถ์๋ ์๋ฃจ์
๊ณผ ์ ์ง์ ์ธ ์ ์์ ์ง์ํด์ผ ํ๋ ํ์์ฑ์ผ๋ก ์ค๋ช
๋ฉ๋๋ค.
์ถ์ฒ : habr.com