1. ์ ๋ณด์์คํ ์ด์ ์ค ์๋ฒ๊ฐ ๋ค์ด๋๊ฑฐ๋ ์์ฐ์ฌํด๋ ์์คํ ์ฅ์ ๋ฑ์ ์ด์ ๋ก ๊ณ ๊ฐ์๊ฒ ์๋น์ค๊ฐ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ๋ฐ์ํ๋ค. ์ด์ ๊ฐ์ ์ํฉ์์ ๋น์์ฌํ ๋๋ ์ ๋ฌด์ค๋จ ์์ ๋ถํฐ ์ ๋ฌด๊ฐ ๋ณต๊ตฌ๋์ด ๋ค์ ์ ์ ๊ฐ๋๋ ๋๊น์ง์ ์๊ฐ์ ์๋ฏธํ๋ ์ฉ์ด๊ฐ ๋ฌด์์ธ์ง ์ฐ์์ค.
ํด๋น ์ฉ์ด๋ "์ฅ์ ๋์ ์๊ฐ (Recovery Time Objective, RTO)" ์ ๋๋ค.
RTO๋ ์ฅ์ ๋ฐ์ ํ ์์คํ ์ด๋ ์๋น์ค๋ฅผ ๋ณต๊ตฌํ๊ธฐ ์ํด ํ์ํ ์๊ฐ์ ์๋ฏธํ๋ฉฐ,
์ด๋ ๊ธฐ์ ์ด๋ ์กฐ์ง์ด ์ ํ ๋ชฉํ ์๊ฐ ๋ด์ ์ฅ์ ๋์ ๋ฐ ๋ณต๊ตฌ๋ฅผ ์๋ฃํด์ผ ํ๋ ์ค์ํ ์งํ ์ค ํ๋์ ๋๋ค.
RTO๋ ๊ธฐ์ ์ด๋ ์กฐ์ง์ ์ ๋ฌด์ ์์คํ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ, ๋น ๋ฅธ ๋ณต๊ตฌ ์๊ฐ์ ์ํด ์ฒ ์ ํ ๋๋น ๋ฐ ๊ณํ์ด ํ์ํฉ๋๋ค.
2. ๋ค์์ ํ์ด์ฌ ์ฝ๋์ด๋ค. ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์์ค.
a={'์ผ๋ณธ','์ค๊ตญ','ํ๊ตญ'}
a.add('๋ฒ ํธ๋จ')
a.add('์ค๊ตญ')
a.remove('์ผ๋ณธ')
a.update(['ํ์ฝฉ','ํ๊ตญ','ํ๊ตญ'])
print(a)
{'ํ๊ตญ', 'ํ๊ตญ', '๋ฒ ํธ๋จ', '์ค๊ตญ', 'ํ์ฝฉ'}
์ ์ฝ๋๋ ์ธํธ(Set) ์๋ฃํ์ ๋ค๋ฃจ๋ ํ์ด์ฌ ์ฝ๋์ ๋๋ค.
์ธํธ(Set) ์๋ฃํ
- ์์๊ฐ ์๊ณ , ์งํฉ์์์๋ unique ํ ๊ฐ์ ๊ฐ์ง๋๋ค.
์ฒ์์๋ ์ธ ๊ฐ์ ๊ตญ๊ฐ๊ฐ ํฌํจ๋ ์ธํธ a๋ฅผ ์์ฑํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ add() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ '๋ฒ ํธ๋จ'์ ์ถ๊ฐ (์ค๋ณต๋๋ ๊ฐ์ผ๋ก '์ค๊ตญ')
๊ทธ ๋ค์์๋ remove() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ '์ผ๋ณธ'์ ์ ๊ฑฐํ๊ณ ,
update() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ์์ 'ํ์ฝฉ', ๊ณผ 'ํ๊ตญ'์ ์ถ๊ฐํฉ๋๋ค. (์ค๋ณต๋๋ ๊ฐ์ผ๋ก 'ํ๊ตญ')
3. ๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ์ง๊ณ ์๋ XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ ์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น์ง ์๊ณ ๋ ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง์ ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ๊ธฐ๋ฒ์ด๋ฉฐ, ํ์ดํผํ ์คํธ ํ๊ธฐ ์ธ์ด(HTML)๋ง์ผ๋ก ์ด๋ ค์ด ๋ค์ํ ์์ ์ ์น ํ์ด์ง์์ ๊ตฌํํด ์ด์ฉ์๊ฐ ์น ํ์ด์ง์ ์์ ๋กญ๊ฒ ์ํธ์์ฉํ ์ ์๋๋ก ํ๋ ๊ธฐ์ ๋ช ์ ์ฐ์์ค.
์ ๋ฌธ์ ์์ ์ค๋ช ํ๊ณ ์ ํ๋ ๊ธฐ์ ์ Ajax(Asynchronous JavaScript And XML)์ ๋๋ค.
Ajax๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ์ ์ผ๋ก ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์ ๋ก,
์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น์ง ์๊ณ ๋ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋์ ์ผ๋ก ๋ก๋ํ ์ ์์ต๋๋ค.
์ด๋ฅผ ํตํด ์น ํ์ด์ง์ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๊ณ , ๋น ๋ฅด๊ณ ๋์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ํ, Ajax๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ XML, JSON, HTML ๋ฑ์ ๋ฐ์ดํฐ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ผ๋ฉฐ,
์ด๋ฅผ ์ด์ฉํ์ฌ ์น ํ์ด์ง์์ ๋ค์ํ ์์ ์ ๊ตฌํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๊ฒ์ ์๋์์ฑ, ์ค์๊ฐ ์ฑํ , ๋์ ์ธ ํผ ์ ์ถ ๋ฑ์ด ๊ฐ๋ฅํฉ๋๋ค.
4. ์ ์ฐจ๋ณด๋ค๋ ์ฌ๋์ด ์ค์ฌ์ด ๋์ด ๋ณํ์ ์ ์ฐํ๊ณ ์ ์ํ๊ฒ ์ ์ํ๋ฉด์ ํจ์จ์ ์ผ๋ก ์์คํ ์ ๊ฐ๋ฐํ ์ ์๋ ์ ์ ์ ์์ ๊ฒฝ๋ ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ๊ฐ๋ฐ ๊ธฐ๊ฐ์ด ์งง๊ณ ์ ์ํ๋ฉฐ, ์ํฐํด์ ๋๋น๋๋ ๋ฐฉ๋ฒ๋ก ์ผ๋ก ์ต๊ทผ ํ์ฌ์์ ๊ฐ๊ด๋ฐ๋ ๋ฐฉ๋ฒ๋ก ์ ๋ฌด์์ธ๊ฐ?
์ ๋ฌธ์ ์์ ์ค๋ช ํ๊ณ ์ ํ๋ ๋ฐฉ๋ฒ๋ก ์ ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ ๋๋ค.
์ ์์ผ ๋ฐฉ๋ฒ๋ก ์ ๊ธฐ์กด์ ์ํฐํด ๋ฐฉ๋ฒ๋ก ๊ณผ ๋ฌ๋ฆฌ, ๊ฐ๋ฐ์์ ๊ณ ๊ฐ์ ์ํธ์์ฉ๊ณผ ํผ๋๋ฐฑ์ ์ด์ ์ ๋ง์ถ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค.
๋ถํ์ค์ฑ์ด ๋์ ํ๋ก์ ํธ์์ ์ ์ฉํ๋ฉฐ,
๋ฐ๋ณต์ ์ผ๋ก ๊ฐ๋ฐํ๊ณ ํ ์คํธ๋ฅผ ์ํํ์ฌ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐ๋ณตํ๊ณ ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ๋ํด ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์์ต๋๋ค.
์ ์์ผ ๋ฐฉ๋ฒ๋ก ์๋ Scrum, XP, Lean ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ๋ก ์ด ์์ต๋๋ค.
5. ๋ค์์ ์๋ฐ ์ฝ๋์ด๋ค. ๋ค์ ๋ฐ์ค์ ๋ค์ด๊ฐ ํค์๋๋ฅผ ์ฐ์์ค.
class parent
public void show(){
system.out.println("Parent");
}
}
class Child extends Parent{
public void show(){
system.out.println("Child");
}
}
public class good{
public static void main(String[] args){
Parent pa = ____ Child();
pa.show();
}
}
์ ์ฝ๋์์ ____ ์ ๋ค์ด๊ฐ ํค์๋๋ new ์ ๋๋ค.
new ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ Child ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ,
์ด๋ฅผ Parent ํด๋์ค ํ์ ์ ์ฐธ์กฐ ๋ณ์์ธ pa ์ ํ ๋นํ์ฌ ์ฌ์ฉํฉ๋๋ค.
์ด ๊ฒฝ์ฐ, pa ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ Child ํด๋์ค์ ๊ฐ์ฒด์ด๋ฉฐ,
๋ฉ์๋ ํธ์ถ ์์๋ Child ํด๋์ค์์ ์ค๋ฒ๋ผ์ด๋ฉํ ๋ฉ์๋๊ฐ ํธ์ถ๋ฉ๋๋ค.
6. ํ์ ํ ์ด๋ธ์ ํ๋ฒ, ์ด๋ฆ, ํ๋ , ์๊ฐ๊ณผ๋ชฉ, ์ ์, ์ฐ๋ฝ์ฒ๋ฅผ ์์ฑ์ผ๋ก ๊ฐ์ง๋ค. ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ SQL๋ฌธ์ ์์ฑํ์์ค.
1) ํ์ ํ ์ด๋ธ์์ 3,4ํ๋ ์ธ ํ๋ฒ, ์ด๋ฆ์ ์กฐํํ๋ค.
2) IN ์ฐ์ฐ์ ์ฌ์ฉํด์ผ ํ๋ค.
[ํ์]
ํ๋ฒ | ์ด๋ฆ | ํ๋ | ์๊ฐ๊ณผ๋ชฉ | ์ ์ | ์ฐ๋ฝ์ฒ |
1000 | ๊น์ด๋ฆ | 1 | ์ํ | 90 | 010-1111-2222 |
2000 | ์ฅ์ด๋ฆ | 2 | ๊ณผํ | 95 | 010-2222-2222 |
3000 | ํ์ด๋ฆ | 3 | ๋ฏธ์ | 90 | 010-3333-3333 |
4000 | ์กฐ์ด๋ฆ | 4 | ์์ | 95 | 010-4444-4444 |
ํ์ ํ ์ด๋ธ์์ 3,4ํ๋ ์ธ ํ๋ฒ, ์ด๋ฆ์ ์กฐํํ๋ SQL๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
SELECT ํ๋ฒ, ์ด๋ฆ FROM ํ์ WHERE ํ๋
IN (3,4);
๊ฒฐ๊ณผ
ํ๋ฒ ์ด๋ฆ
-------------
3000 ํ์ด๋ฆ
4000 ์กฐ์ด๋ฆ
7. ํธ๋์ญ์ Rollback์ ๋ํด ์ค๋ช ํ์์ค.
ํธ๋์ญ์ Rollback์ ํธ๋์ญ์ ์คํ ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ํธ๋์ญ์ ์ด ์ค๋จ๋์์ ๋,
์ด์ ์ ์คํํ๋ ๋ชจ๋ ์์ ์ ์ทจ์ํ๊ณ ์ด์ ์ํ๋ก ๋๋๋ฆฌ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
Rollback์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ๊ฒ์ผ๋ก,
ํธ๋์ญ์ ์ด ์ค๋จ๋ ํ์๋ ์ด์ ์ ์คํํ ๋ชจ๋ SQL ๋ฌธ์ด ์ทจ์๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ด์ ์ํ๋ก ๋์๊ฐ๋๋ค.
8. ๋ฌด๊ฒฐ์ฑ๊ณผ ์ธ์ฆ์ ๋ณด์ฅํ๋ ์ธ์ฆํด๋(AH)์ ๊ธฐ๋ฐ์ฑ์ ๋ณด์ฅํ๋ ์ํธํ(ESP)๋ฅผ ์ด์ฉํ ํ๋กํ ์ฝ๋ก ๋คํธ์ํฌ ๊ณ์ธต(Network Layer)์ธ ์ธํฐ๋ท ํ๋กํ ์ฝ(IP)์ ๋ณด์์ฑ์ ์ ๊ณตํด์ฃผ๋ ํ์คํ๋ ๊ธฐ์ ์ ๋ํด ์ฐ์์ค.
์ธํฐ๋ท ํ๋กํ ์ฝ ๋ณด์(IPsec)์ ๋คํธ์ํฌ ๊ณ์ธต์์ ์๋ํ๋ ๋ณด์ ํ๋กํ ์ฝ์ด๋ค.
IPsec์ ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ์ฑ, ๋ฌด๊ฒฐ์ฑ ๋ฐ ์ธ์ฆ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ธ์ฆํด๋(AH)์ ์ํธํ(ESP)๋ฅผ ์ฌ์ฉํ๋ค.
์ธ์ฆํด๋(AH)๋ IP ํจํท์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ธ์ฆ์ ๋ณด์ฅํ๋ ๋ณด์ ํ๋กํ ์ฝ์ด๋ค.
AH๋ IP ํจํท ํค๋์ ๋ฐ์ดํฐ๋ฅผ ์กฐํฉํ์ฌ ํด์๊ฐ์ ์์ฑํ๊ณ , ์ด๋ฅผ ํจํท์ ์ถ๊ฐํจ์ผ๋ก์จ ํจํท์ด ์๋ณ์กฐ๋์ง ์์๋์ง ๊ฒ์ฆํ ์ ์๋ค.
์ํธํ(ESP)๋ IP ํจํท์ ๊ธฐ๋ฐ์ฑ์ ๋ณด์ฅํ๋ ๋ณด์ ํ๋กํ ์ฝ์ด๋ค.
ESP๋ ํจํท ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ณ , ์ด๋ฅผ ํจํท์ ์ถ๊ฐํจ์ผ๋ก์จ ํจํท์ด ์ค๊ฐ์ ๋ ธ์ถ๋๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ถ๋์ง ์๋๋ก ๋ณดํธํ ์ ์๋ค.
IPsec์ ๊ฐ์ ์ฌ์ค๋ง(VPN)์ ๊ตฌ์ฑํ๊ฑฐ๋, ์ธํฐ๋ท์ ํตํด ์์ ํ๊ฒ ํต์ ํ ๋ ๋ง์ด ์ฌ์ฉ๋๋ค.
IPsec์ ๊ณต๊ฐํค ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํธ์ธ์ฆ์ ์ํํ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ณด์๋ ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ ์ ์งํ ์ ์๋ค.
9. ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ์ง ์๊ณ , ์์ค ์ฝ๋์ ๋ํ ์ฝ๋ฉ ํ์ค, ์ฝ๋ฉ ์คํ์ผ, ์ฝ๋ ๋ณต์ก๋ ๋ฐ ๋จ์ ๊ฒฐํจ์ ๋ฐ๊ฒฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋๊ตฌ๋ ๋ฌด์์ธ์ง ์ฐ์์ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ์ง ์๊ณ ์์ค ์ฝ๋์ ๋ํ ์ฝ๋ฉ ํ์ค, ์ฝ๋ฉ ์คํ์ผ, ์ฝ๋ ๋ณต์ก๋ ๋ฐ ๋จ์ ๊ฒฐํจ์ ๋ฐ๊ฒฌํ๋ ๋๊ตฌ๋ฅผ
์ ์ ๋ถ์ ๋๊ตฌ(static analysis tool)๋ผ๊ณ ํฉ๋๋ค.
์ ์ ๋ถ์ ๋๊ตฌ๋ ์์ค ์ฝ๋๋ฅผ ๊ฒ์ฌํ๋ฉด์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฌธ๋ฒ ๊ท์น, ์ฝ๋ฉ ํ์ค, ์ฝ๋ฉ ์คํ์ผ, ์ฝ๋ ๋ณต์ก๋, ์ ์ฌ์ ์ธ ๊ฒฐํจ ๋ฑ์
ํ์ธํ์ฌ ๊ฐ๋ฐ์๊ฐ ํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ค๋๋ค.
๋ํ์ ์ธ ์ ์ ๋ถ์ ๋๊ตฌ๋ก๋ SonarQube, PMD, FindBugs, ESLint ๋ฑ์ด ์์ต๋๋ค.
10. ๋ค์ ๋ณด๊ธฐ๊ฐ ์ค๋ช ํ๋ ํจํด์ ์ฐ์์ค. (์๋ฌธ Full-Name์ผ๋ก ์์ฑํ์์ค)
[๋ณด๊ธฐ]
ํ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ฐ๋๋ฉด ๊ทธ ๊ฐ์ฒด์ ์์กดํ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ด ์ฐ๋ฝ์ด ๊ฐ๊ณ ์๋์ผ๋ก ๋ด์ฉ์ด ๊ฐฑ์ ๋๋ ๋ฐฉ๋ฒ์ผ๋ก ์ผ๋ ๋ค์ ์์กด์ฑ์ ๊ฐ์ง๋ฉฐ ์ํธ์์ฉํ๋ ๊ฐ์ฒด ์ฌ์ด์์๋ ๊ฐ๋ฅํ๋ฉด ๋์จํ๊ฒ ๊ฒฐํฉํ๋ ๋์์ธ์ ์ฌ์ฉํด์ผ ํ๋ค.
Observer pattern
Observer pattern์ ๊ฐ์ฒด ๊ฐ์ ์ผ๋ ๋ค์ ์์กด์ฑ์ ๊ฐ๋ ๋์์ธ ํจํด ์ค ํ๋์ ๋๋ค.
์ด ํจํด์์๋ ๊ฐ์ฒด ์ฌ์ด์ ์ผ์ข ์ ๊ด์ฐฐ์(observer) ๊ด๊ณ๋ฅผ ํ์ฑํ๋ฉฐ, ํ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์์ ๋,
๊ทธ ๊ฐ์ฒด์ ์์กดํ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์๊ฒ ์๋์ผ๋ก ๋ด์ฉ์ด ์ ๋ฌ๋์ด ๊ฐฑ์ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฃผ์ ์์ฅ์์ ์ฃผ์ ๊ฐ๊ฒฉ์ ๊ฐ์ํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค.
์ด๋, ์ฃผ์ ๊ฐ๊ฒฉ์ ์๊ฐ์ด ์ง๋๋ฉด์ ๊ณ์ ๋ณ๋๋ ์ ์์ผ๋ฏ๋ก, ์ฃผ์ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด๋ฅผ ์ฃผ์ (subject)๋ก ์ ์ํ๊ณ ,
์ด ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณํ ๋๋ง๋ค ๋ค๋ฅธ ๊ฐ์ฒด๋ค์๊ฒ ์๋ ค์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ๊ด์ฐฐ์ ๊ฐ์ฒด(observer)๋ ์ด๋ฌํ ์ฃผ์ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ์ด์ฉํด ๋ค๋ฅธ ์์ ์ ์ํํ๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฃผ์ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ์ด์ฉํด ๊ฑฐ๋ ์ ๋ต์ ๊ฒฐ์ ํ๋ ๊ฐ์ฒด๋, ๊ทธ๋ํ๋ก ์๊ฐํํ๋ ๊ฐ์ฒด ๋ฑ์ด ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ด์ฐฐ์ ๊ฐ์ฒด๋ค์ ์ฃผ์ ๊ฐ์ฒด์ ์ํ ๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ , ํ์ํ ์ ๋ณด๋ฅผ ์ป์ด๋ด์ด ์์ ์ ์ญํ ์ ๋ง๊ฒ ์ฒ๋ฆฌํฉ๋๋ค.
Observer pattern์ ์ ์ฐํ๊ณ ํ์ฅ์ฑ์ด ๋์ ๋์์ธ ํจํด์ผ๋ก, ๊ฐ์ฒด ๊ฐ์ ์์กด์ฑ์ ๋ฎ์ถ๋ ๋ฐ์๋ ํฐ ์ญํ ์ ํฉ๋๋ค.
์ด๋ฅผ ํตํด ์์คํ ์ด ๋์ฑ ์ ์ฐํ๊ณ ํ์ฅ์ฑ์ด ๋์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ฉฐ, ์ ์ง๋ณด์์ ํ์ฅ์ฑ ์ธก๋ฉด์์ ๋งค์ฐ ์ ์ฉํ ํจํด์ ๋๋ค.
11. Linux ์ด์์ฒด์ ์์์ ๊ตฌ๋ํ๋ฉฐ ํด๋ํฐ ์ ํ๋ฅผ ๋น๋กฏํ ํด๋์ฉ ์ฅ์น๋ฅผ ์ํ ์ด์์ฒด์ ์ ๋ฏธ๋ค์จ์ด, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ทธ๋ฆฌ๊ณ ํ์ค ์์ฉํ๋ก๊ทธ๋จ(์น ๋ธ๋ผ์ฐ์ ๋ฑ) ๋ฑ์ ํฌํจํ๊ณ ์๋ ์ํํธ์จ์ด ์คํ์ด์ ๋ฆฌ๋ ์ค ๋ชจ๋ฐ์ผ ์ด์์ฒด์ ๋ก ๊ฐ๋ฐ์๋ค์ด ์๋ฐ์ ์ฝํ๋ฆฐ ์ธ์ด๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์๊ฒ ํ๊ณ , ์ปดํ์ผ ๋ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ๊ตฌ๋ํ ์ ์๋ ๋ฐํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ์ด์์ฒด์ ๋ ๋ฌด์ธ์ธ์ง ์ฐ์์ค.
์์ ์ค๋ช ์ ์๋๋ก์ด๋(Android) ์ด์์ฒด์ ์ ๋๋ค.
12. ํ์ ํ ์ด๋ธ์ name์์ฑ์ IDX_NAME ์ด๋ฆ์ผ๋ก ์ธ๋ฑ์ค ์์ฑํ๋ SQL๋ฌธ์ ์์ฑํ์์ค.
STID | NAME | SCORE | DEPTID |
1000 | ๊น์ด๋ฆ | 90 | 1 |
2000 | ํ์ด๋ฆ | 95 | 2 |
3000 | ์กฐ์ด๋ฆ | 90 | 3 |
4000 | ์ฅ์ด๋ฆ | 95 | 4 |
๋ค์๊ณผ ๊ฐ์ SQL๋ฌธ์ ์ฌ์ฉํ์ฌ IDX_NAME ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
CREATE INDEX IDX_NAME ON ํ์ (NAME);
์์ SQL๋ฌธ์์, CREATE INDEX๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ธฐ ์ํ ํค์๋์ ๋๋ค.
IDX_NAME์ ์์ฑ๋ ์ธ๋ฑ์ค์ ์ด๋ฆ์ด๋ฉฐ, 'ํ์' ์ ํด๋น ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
๋ง์ง๋ง์ผ๋ก (NAME)์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์์ฑ์ ์ง์ ํฉ๋๋ค.
13. ๋ค์ ์ค๋ช ์ค ๋น์นธ์ ๋ค์ด๊ฐ ์๋ง๋ ์ฉ์ด๋ฅผ ์์ฑํ์์ค.
HTTP, HTTPS SMTP๋ฅผ ํตํด์ XML ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํ๋กํ ์ฝ๋ก ์น ์๋น์ค ๋ฐฉ์์ HTTP๊ธฐ๋ฐ์ ( ) ์/๋ฅผ ์ฌ์ฉํ์ฌ ์ก์์ ํ๋ค. ( ) ๋์ ๋ ์คํธํ(RESTful) ํ๋กํ ์ฝ๋ก ๋์ฒดํ ์ ์๋ค.
SOAP(Simple Object Access Protocol)
SOAP (Simple Object Access Protocol)์ ์น ์๋น์ค๋ฅผ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ ์ค ํ๋์ ๋๋ค.
SOAP์ XML ๊ธฐ๋ฐ์ ๋ฉ์์ง ๊ตํ ํ๋กํ ์ฝ๋ก, ๋คํธ์ํฌ ์์์ ์๋ก ๋ค๋ฅธ ํ๋ซํผ๊ณผ ์ธ์ด ๊ฐ์ ํต์ ์ ์ง์ํฉ๋๋ค.
SOAP์ ๋ฉ์์ง๋ฅผ ์ ์กํ๊ธฐ ์ํ ํ์ค ๊ท์ฝ์ ์ ์ํ๊ณ ์์ผ๋ฉฐ,
๋ฉ์์ง์ ๊ตฌ์กฐ์ ์์ฑ์ ๋ช ํํ๊ฒ ์ ์ํ์ฌ ์ํธ ๊ฐ์ ์ดํดํ ์ ์๋ ํต์ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค.
SOAP ๋ฉ์์ง๋ ์ผ๋ฐ์ ์ผ๋ก HTTP, HTTPS, SMTP ๋ฑ์ ํ๋กํ ์ฝ์ ํตํด ์ ์ก
14. SQL Injection์ด ๋ฌด์์ธ์ง ์์ ํ์์ค.
SQL Injection์ ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ํ๋ ๋ณด์ ์ทจ์ฝ์ ์ ์ด์ฉํ์ฌ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฑ SQL ์ฟผ๋ฆฌ๋ฌธ์ ์ฝ์ ํ๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ์ง ์๊ฑฐ๋, ๊ฒ์ฆ ๊ณผ์ ์์ ํํฐ๋ง์ ์ ๋๋ก ํ์ง ์์ ๋ฐ์ํ ์ ์์ต๋๋ค.
ํด์ปค๋ SQL Injection์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฑ ์ฝ๋๋ฅผ ์ฝ์ ํ์ฌ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ , ์์ ๋๋ ์ ์ถํ ์ ์์ต๋๋ค.
์ด ๊ณต๊ฒฉ์ผ๋ก ์ธํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ๊ธฐ๋ฐ์ฑ์ด ๊นจ์ ธ์ ๋ง๋ํ ํผํด๋ฅผ ์ ์ ์ ์์ต๋๋ค.
SQL Injection์ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ ์ ๋ ฅ๊ฐ ๊ฒ์ฆ๊ณผ ํํฐ๋ง์ ์ฒ ์ ํ๊ฒ ์ํํ๊ณ ,
์ฌ์ฉ์ ์ ๋ ฅ๊ฐ์ ๋ํด ์ธ์ฝ๋ฉ์ ํด์ฃผ๋ ๋ฑ์ ๋ณด์ ์กฐ์น๋ฅผ ์ทจํด์ผ ํฉ๋๋ค.
๋ํ,Prepared Statement์ ์ฌ์ฉํ์ฌ SQL Injection ๊ณต๊ฒฉ์ ๋ง์ ์ ์์ต๋๋ค.
15. ์ฌ์ฉ์์๊ฒ ์ฝ๊ธฐ / ์ฐ๊ธฐ / ์คํ ๊ถํ์ ๋ถ์ฌํ๊ณ ๊ทธ๋ฃน์๊ฒ๋ ์ฝ๊ธฐ / ์คํ์ ๋ถ์ฌํ๊ณ ๊ทธ ์ด์ธ์๋ ์คํ ๊ถํ์ a.txt์ ๋ถ์ฌํ๋ ๋ช ๋ น์ด๋ฅผ ํ์ค๋ก ์์ฑํ์์ค (8์ง๋ฒ์ ์ฌ์ฉํ์์ค)
chmod 751 a.txt
8์ง์ ๊ถํ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ ๋, ๊ฐ ์ซ์๋ ๊ฐ๊ฐ User, Group, Others๋ฅผ ๋ํ๋ด๋ฉฐ
๊ฐ ์ซ์๋ read, write, execute ๊ถํ์ ๋ํ๋ ๋๋ค.
7์ rwx (4+2+1) ์ฌ์ฉ์์๊ฒ๋ ์ฝ๊ธฐ/์ฐ๊ธฐ/์คํ
5๋ r-x (4+0+1) ๊ทธ๋ฃน์๊ฒ๋ ์ฝ๊ธฐ/์คํ
1์ --x (0+0+1) ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ๋ ์คํ ๊ถํ
16. UI ์ค๊ณ ์์น์์ ์ ํํ๊ณ ์๋ฒฝํ๊ฒ ์ฌ์ฉ์์ ๋ชฉํ๊ฐ ๋ฌ์ฑ๋ ์ ์๋๋ก ์ ์ํ ์ ์์ด์ผ ํ๋ค. ๋ค์ ๋น์นธ์ ๋ค์ด๊ฐ ํน์ง์ ๋ฌด์์ธ๊ฐ?
์ง๊ด์ฑ - ๋๊ตฌ๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
ํ์ต์ฑ - ๋๊ตฌ๋ ์ฝ๊ฒ ๋ฐฐ์ฐ๊ณ ์ตํ ์ ์์ด์ผ ํ๋ค.
์ ์ฐ์ฑ - ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ์ต๋ํ ์์ฉํ๋ฉฐ ์ค๋ฅ๋ฅผ ์ต์ํํด์ผ ํ๋ค.
( ) - ์ฌ์ฉ์์ ๋ชฉ์ ์ ์ ํํ๊ฒ ๋ฌ์ฑํ์ฌ์ผ ํ๋ค.
์ ํจ์ฑ
- ์ง๊ด์ฑ(Intuitiveness): ์ฌ์ฉ์๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
- UI ์์๋ค์ด ์ง๊ด์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋์ด์ผ ํ๋ค.
- ์ผ๊ด์ฑ ์๋ UI ์์๋ค์ ์ฌ์ฉ์์ ๋ถํ์ํ ํ์ต์ ์ค์ผ ์ ์๋ค.
- ํ์ต์ฑ(Learnability): ๋๊ตฌ๋ ์ฝ๊ฒ ๋ฐฐ์ฐ๊ณ ์ตํ ์ ์์ด์ผ ํ๋ค.
- ์ฌ์ฉ์๋ ์ฝ๊ฒ UI๋ฅผ ๋ฐฐ์ฐ๊ณ ์ตํ์ ์ต์ํ์ ๋ ธ๋ ฅ์ผ๋ก ๋ชฉ์ ์ ๋ฌ์ฑํ ์ ์์ด์ผ ํ๋ค.
- ์๋ก์ด ์์๋ค์ ๋ฐฐ์ฐ๋ ๊ฒ์ด ์ฌ์์ผ ํ๋ค.
- ์ ์ฐ์ฑ(Flexibility): ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ์ต๋ํ ์์ฉํ๋ฉฐ ์ค๋ฅ๋ฅผ ์ต์ํํด์ผ ํ๋ค.
- ์ฌ์ฉ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก UI ์์๋ฅผ ์กฐ์ํ ์ ์์ด์ผ ํ๋ค.
- ์ ์ฐ์ฑ์ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์๋๋ก ๋์์ค๋ค.
- ์ ํจ์ฑ(Robustness): ์ฌ์ฉ์์ ๋ชฉ์ ์ ์ ํํ๊ฒ ๋ฌ์ฑํ์ฌ์ผ ํ๋ค.
- UI๋ ๋ชฉ์ ๋ฌ์ฑ์ ์ํด ์ ํํ๊ณ ์๋ฒฝํ๊ฒ ๋์ํด์ผ ํ๋ค.
- UI ์์๋ค์ ๋ชจ๋ ์ํฉ์์ ์ค๋ฅ ์์ด ์๋ํด์ผ ํ๋ค.
17. ์ ์ธ๊ณ ์คํ๋ ์ ๋ณด๋ฅผ ํ๋๋ก ๋ฌถ๋ ๋ฐฉ์์ผ๋ก link data์ open data์ ํฉ์ฑ์ด๊ฐ ๋ฌด์์ธ์ง ์ฐ์์ค.
Linked Open Data (LOD)
Linked Open Data (LOD)๋ ์ ์ธ๊ณ์ ์คํ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ๋ฌถ์ด์ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ๋ก ๋ง๋๋ ๋ฐฉ์์ ๋๋ค.
์ด๋ฅผ ์ํด RDF(Resource Description Framework) ํ์์ผ๋ก ์ ๋ณด๋ฅผ ํํํ๋ฉฐ,
LOD๋ ๋ฐ์ดํฐ๋ฅผ ๋จ์ํ ์ ๊ณตํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ, ๋ค๋ฅธ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋์ด ์๋ฏธ ์๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์๋๋ก ํฉ๋๋ค.
LOD์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋งํฌ๋ ๋ฐ์ดํฐ์ ๊ฐ๋ ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฐ ์ํธ ์ฐ๊ฒฐ์ฑ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
LOD๋ฅผ ์ด์ฉํ๋ฉด ๋ค์ํ ๋ฐ์ดํฐ๊ฐ ์ํธ ์ฐ๊ฒฐ๋์ด ์ผ๊ด๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ฏ๋ก,
ํน์ ์ฃผ์ ์ ๋ํ ์ข ํฉ์ ์ธ ์ ๋ณด๋ฅผ ๋์ฑ ์ฝ๊ฒ ์ฐพ์ ์ ์๊ฒ ๋ฉ๋๋ค.
์ด๋ฅผ ํตํด ๊ฒ์ ์์ง์ด๋ ๋ฐ์ดํฐ ๋ถ์ ๋ฑ์์ ์ํธ ์ฐ๊ฒฐ์ฑ์ ํ์ฉํ์ฌ ๋์ฑ ํจ๊ณผ์ ์ธ ์ ๋ณด ํ์์ด ๊ฐ๋ฅํด์ง๋ ๊ฒ์ ๋๋ค.
18. ๋ค์์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ ์ฐจ์ด๋ค. ์ ์ฐจ์ ๋ง๋๋ก ๋ณด๊ธฐ์์ ์ฐพ์ ์ฑ์ฐ์์ค.
[๋ณด๊ธฐ]
1. ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
2. ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
3. ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
์๊ตฌ์ฌํญ ๋ถ์ > ( 1. ) > ( 2. ) > ( 3. )
๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง > ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง > ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง: ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ํ์ ํ์ฌ ์ ๋ฌด์ ๋ฐ์ดํฐ์ ๊ฐ๋ ์ ์ถ์ถํ๊ณ ,
์ ๋ฌด์ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ ๊ฐ๋ ์ ๋ชจ๋ธ์ ๋ง๋ญ๋๋ค.
๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง: ๊ฐ๋ ์ ๋ชจ๋ธ์ ๋ฐํ์ผ๋ก ์ ๋ฌด ํ๋ก์ธ์ค๋ฅผ ๋ฐ์ํ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ์ ๋ง๋ญ๋๋ค.
์ํฐํฐ์ ์์ฑ, ๊ด๊ณ ๋ฑ์ ์ ์ํ์ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์์ธํ ํํํฉ๋๋ค.
๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง: ๋ ผ๋ฆฌ์ ๋ชจ๋ธ์ ๋ฐํ์ผ๋ก ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ตฌํํ ์ ์๋ ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ์ ๋ง๋ญ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ๊ณผ ์ธ๋ฑ์ค, ๋ทฐ ๋ฑ์ ์ ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ํํ๋ฅผ ์ ํํ ํํํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ: ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํฉ๋๋ค. ํ ์ด๋ธ, ๋ทฐ, ์ธ๋ฑ์ค ๋ฑ์ ์์ฑํ๊ณ ,
์ ์ฝ ์กฐ๊ฑด, ๊ธฐ๋ณธ๊ฐ ๋ฑ์ ์ค์ ํ์ฌ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ์ ํ์ฑ์ ์ ์งํฉ๋๋ค.
19. ๋ค์์ ์๋ฐ ์ฝ๋์ด๋ค. ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์์ค.
class A{
private int a;
public A(int a){
this.a = a;
}
public void display(){
system.out.println("a=" + a);
}
}
class B extends A {
public B(int a){
super(a);
super.display();
}
}
public class good {
public static void main(String[] args){
B obj = new B(10);
}
}
a = 10
B ํด๋์ค๊ฐ A ํด๋์ค๋ฅผ ์์๋ฐ๊ณ ์์ผ๋ฏ๋ก, B ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด A ๊ฐ์ฒด๋ ํจ๊ป ์์ฑ๋ฉ๋๋ค.
B ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์์ฑ์๋ฅผ ํธ์ถํ๋ฉด, super(a) ๋ฌธ์ฅ์ด ๋จผ์ ์คํ๋ฉ๋๋ค.
super(a)๋ A ํด๋์ค์ ์์ฑ์๋ฅผ ํธ์ถํ๋ฉฐ, ์ด๋ a ๋ณ์์ 10์ด๋ผ๋ ๊ฐ์ด ์ ๋ฌ๋ฉ๋๋ค.
A ํด๋์ค์ ์์ฑ์๋ ์ ๋ฌ๋ฐ์ ๊ฐ์ a ๋ฉค๋ฒ ๋ณ์์ ์ ์ฅํฉ๋๋ค.
๊ทธ ๋ค์์ผ๋ก, super.display() ๋ฌธ์ฅ์ด ์คํ๋ฉ๋๋ค. ์ด ๋ฌธ์ฅ์ A ํด๋์ค์ display() ๋ฉ์๋๋ฅผ ํธ์ถํ๊ฒ ๋ฉ๋๋ค.
A ํด๋์ค์ display() ๋ฉ์๋์์๋ a ๋ฉค๋ฒ ๋ณ์์ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค. ์ด๋, ํ์ฌ a ๋ฉค๋ฒ ๋ณ์์ ๊ฐ์ 10์ ๋๋ค.
๊ทธ ๊ฒฐ๊ณผ, "a=10" ์ด๋ผ๋ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋ฉ๋๋ค.
20. ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฒ์ ( ) ๊ธฐ๋ฒ์ด๋ผ๊ณ ํ๋ฉฐ, ( ) ๊ธฐ๋ฒ์ ํ์ฉํ ๋๊ตฌ๋ก๋ CVS, SVN, Git ๋ฑ์ด ์๋ค. ๋น์นธ์ ์๋ง์ ์ฉ์ด๋ฅผ ์ฐ์์ค.
ํ์๊ด๋ฆฌ SCM (Software Configuration Management)
์ํํธ์จ์ด์ ๋ฒ์ , ๋ณ๊ฒฝ ์ฌํญ ๋ฐ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌ
์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ ํธ์์ ์์ค ์ฝ๋, ๋ฌธ์, ๋น๋ ๋ฐ ๋ฆด๋ฆฌ์ค์ ๊ฐ์ ํญ๋ชฉ๋ค์ ๋ณํ๋ฅผ ๊ด๋ฆฌ
์ํํธ์จ์ด ๊ฐ๋ฐ๊ณผ ์ ์ง ๋ณด์์ ํจ์จ์ฑ์ ํฅ์์ํค๋ ๊ฒ์ ๋๋ค.
'์๊ฒฉ์ฆ > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2020๋ 4ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.04.11 |
---|---|
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2020๋ 3ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.04.08 |
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2020๋ 1ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.03.28 |
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] 2021๋ 08์ 14์ผ ๊ธฐ์ถ๋ฌธ์ (1) | 2023.02.17 |
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ] 5๊ณผ๋ชฉ : ์ ๋ณด์์คํ ๊ตฌ์ถ๊ด๋ฆฌ [2022๋ 03์ 05์ผ] (0) | 2023.02.15 |