๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Project ESG+AI/Tech Basics

16์ผ์ฐจ. IT ๊ฐœ๋… ์ •๋ฆฌ

by GreenJin_S2 2025. 10. 30.


๐Ÿ“˜ ํ•ต์‹ฌ ์š”์•ฝ

๊ตฌ๋ถ„๋…ธํ…Œ์ด์…˜ (Notation)์–ด๋…ธํ…Œ์ด์…˜ (Annotation)
์˜๋ฏธ ๊ธฐํ˜ธ๋‚˜ ํ‘œ๊ธฐ๋ฒ• ์ฃผ์„์ด๋‚˜ ์„ค๋ช…
์–ด์› note (ํ‘œ๊ธฐํ•˜๋‹ค) + -ation annotate (์ฃผ์„ ๋‹ฌ๋‹ค) + -ion
์‚ฌ์šฉ ๋งฅ๋ฝ ์ˆ˜ํ•™, ์Œ์•…, ๊ณผํ•™ ๋“ฑ์—์„œ ๊ธฐํ˜ธ ์ฒด๊ณ„ ๋ฌธ์„œ, ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ ๋“ฑ์— ์„ค๋ช… ๋˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
์˜ˆ์‹œ ์Œ์•…์˜ ์•…๋ณด ํ‘œ๊ธฐ, ์ˆ˜ํ•™ ๊ณต์‹ ํ‘œ๊ธฐ ์ž๋ฐ” ์ฝ”๋“œ์˜ @Override, ๋…ผ๋ฌธ PDF์˜ ์ฃผ์„

๐ŸŽผ ๋…ธํ…Œ์ด์…˜ (Notation)

  • ์˜๋ฏธ: ์–ด๋–ค ๊ฐœ๋…์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐํ˜ธ๋‚˜ ๊ทœ์น™์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์‚ฌ์šฉ ์˜ˆ์‹œ:
    • ์Œ์•… ๐ŸŽต → ์•…๋ณด ํ‘œ๊ธฐ๋ฒ• (musical notation)
    • ์ˆ˜ํ•™ โž• → ์ˆ˜์‹ ํ‘œ๊ธฐ๋ฒ• (mathematical notation)
    • ๊ณผํ•™ โš›๏ธ → ํ™”ํ•™์‹ ํ‘œ๊ธฐ๋ฒ• (chemical notation)
  • ์˜ˆ๋ฌธ:
    • "์ˆ˜ํ•™ ๋…ธํ…Œ์ด์…˜์€ ๊ตญ์ œ์ ์œผ๋กœ ํ†ต์ผ๋˜์–ด ์žˆ๋‹ค."
    • "์Œ์•… ๋…ธํ…Œ์ด์…˜์„ ๋ฐฐ์›Œ์•ผ ์•…๋ณด๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค."

๐Ÿ’ฌ ์–ด๋…ธํ…Œ์ด์…˜ (Annotation)

  • ์˜๋ฏธ: ๋ฌธ์„œ๋‚˜ ์ฝ”๋“œ์— ์ถ”๊ฐ€๋กœ ๋ถ™์ด๋Š” ์„ค๋ช…, ๋ฉ”ํƒ€์ •๋ณด, ์ฃผ์„
  • IT/ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ˆ์‹œ:
    • Java: @Override, @Deprecated
    • Python: ํƒ€์ž… ํžŒํŠธ → def add(x: int, y: int) -> int
    • XML/HTML: ์ฃผ์„ <!-- ์ด ๋ถ€๋ถ„์€ ์ฃผ์„์ž…๋‹ˆ๋‹ค -->
  • ์ผ๋ฐ˜ ๋ฌธ์„œ ์˜ˆ์‹œ:
    • PDF์—์„œ ํ•˜์ด๋ผ์ดํŠธ ํ›„ ๋ฉ”๋ชจ ๋‚จ๊ธฐ๊ธฐ
    • ๋…ผ๋ฌธ์—์„œ ์ฃผ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ
  • ์˜ˆ๋ฌธ:
    • "์ž๋ฐ” ์–ด๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ๋™์ž‘์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค."
    • "๋…ผ๋ฌธ PDF์— ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•ด ํ”ผ๋“œ๋ฐฑ์„ ๋‹ฌ์•˜๋‹ค."

๐Ÿ’ก ์ •๋ฆฌํ•˜์ž๋ฉด

๋…ธํ…Œ์ด์…˜์€ “์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•˜๋Š”๊ฐ€(ํ‘œ๊ธฐ๋ฒ•)”์ด๊ณ ,
์–ด๋…ธํ…Œ์ด์…˜์€ “ํ‘œํ˜„๋œ ๊ฒƒ์— ๋ง๋ถ™์ธ ์„ค๋ช…(์ฃผ์„)”์ž…๋‹ˆ๋‹ค.

์ฆ‰,

  • ๋…ธํ…Œ์ด์…˜ = ํ‘œํ˜„์˜ ๊ทœ์น™
  • ์–ด๋…ธํ…Œ์ด์…˜ = ํ‘œํ˜„์— ๋ถ€๊ฐ€ํ•˜๋Š” ์ •๋ณด

**“์‹ฑ๊ธ€ํ†ค ๊ฐ์ฒด(Singleton Object)”**๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ์˜ค์ง ํ•œ ๊ฐœ๋งŒ ์กด์žฌํ•˜๋„๋ก ๋ณด์žฅ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
์ฆ‰, ์ „์—ญ์—์„œ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์˜๋ฏธํ•ด์š”.


๐Ÿงฉ ํ•ต์‹ฌ ์š”์•ฝ

ํ•ญ๋ชฉ์„ค๋ช…
๊ฐœ๋… ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์—์„œ ๋‹จ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋Š” ๊ฐ์ฒด
๋ชฉ์  ๊ณต์œ  ์ž์› ๊ด€๋ฆฌ, ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ, ์ผ๊ด€์„ฑ ์œ ์ง€
์ƒ์„ฑ ๋ฐฉ์‹ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ•œ ๋ฒˆ๋งŒ ๋งŒ๋“ค๊ณ , ์ดํ›„์—” ๊ธฐ์กด ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ์‚ฌ์šฉ
๋Œ€ํ‘œ ์˜ˆ์‹œ ์„ค์ •(Configuration), ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ(DB Connection), ๋กœ๊ฑฐ(Logg

SML, XML, YML, ZML

๐Ÿ“˜ ํ•œ๋ˆˆ์— ๋ณด๋Š” ๋น„๊ตํ‘œ

์•ฝ์–ด์ „์ฒด ์ด๋ฆ„์˜๋ฏธ / ํŠน์ง•์‹ค์ œ ์‚ฌ์šฉ ์—ฌ๋ถ€
SML Simple Markup Language XML๋ณด๋‹ค ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“  ์‹คํ—˜์  ๋ฌธ๋ฒ• ๊ฑฐ์˜ ์‚ฌ์šฉ ์•ˆ ํ•จ
XML eXtensible Markup Language ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๋งˆํฌ์—… ํ‘œ์ค€ ๋งค์šฐ ๋„๋ฆฌ ์‚ฌ์šฉ
YML (YAML) YAML Ain’t Markup Language ๋“ค์—ฌ์“ฐ๊ธฐ ๊ธฐ๋ฐ˜, ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ๊ตฌ์กฐ DevOps, ์„ค์ • ํŒŒ์ผ์— ๋งŽ์ด ์‚ฌ์šฉ
ZML Zope Markup Language ๋˜๋Š” Custom XML ์ผ๋ถ€ ํ”„๋ ˆ์ž„์›Œํฌ(Zope)๋‚˜ ํŠน์ • ๋„๋ฉ”์ธ์—์„œ ์‚ฌ์šฉ ๋งค์šฐ ์ œํ•œ์  ์‚ฌ์šฉ

๐Ÿ”น 1. SML (Simple Markup Language)

  • XML์ด ๋„ˆ๋ฌด ๋ณต์žกํ•˜๋‹ค๋Š” ์ด์œ ๋กœ ๋‚˜์˜จ ๋‹จ์ˆœ ๋ฒ„์ „์˜ ๋งˆํฌ์—… ์–ธ์–ด
  • ํƒœ๊ทธ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ๋“ค์—ฌ์“ฐ๊ธฐ๋กœ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ ๊ณต์‹ ํ‘œ์ค€์€ ์•„๋‹ˆ๊ณ , ๊ฑฐ์˜ ์‚ฌ๋ผ์ง„ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

 
person name: ํ™๊ธธ๋™ age: 30 end

XML์ฒ˜๋Ÿผ ํƒœ๊ทธ๋ฅผ ์ผ์ผ์ด ๋‹ซ์ง€ ์•Š์•„๋„ ๋˜์ง€๋งŒ, ํ‘œ์ค€ํ™”๋˜์ง€ ์•Š์•„ ์ฑ„ํƒ๋˜์ง€ ์•Š์•˜์–ด์š”.


๐Ÿ”น 2. XML (eXtensible Markup Language)

  • HTML๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์›น, ์„ค์ • ํŒŒ์ผ, ๋ฐ์ดํ„ฐ ๊ตํ™˜(API) ๋“ฑ์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

 
<person> <name>ํ™๊ธธ๋™</name> <age>30</age> </person>

โœ… ์žฅ์ : ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ, ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง€์›
โš ๏ธ ๋‹จ์ : ๋ฌธ๋ฒ•์ด ๊ธธ๊ณ  ๋ณต์žกํ•จ


๐Ÿ”น 3. YML (๋˜๋Š” YAML)

  • “YAML Ain’t Markup Language”์˜ ์•ฝ์ž
  • XML๋ณด๋‹ค ๊ฐ„๊ฒฐํ•˜๊ณ  ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ๊ตฌ์กฐ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ฃผ๋กœ ์„œ๋ฒ„ ์„ค์ • ํŒŒ์ผ, CI/CD, Kubernetes, Docker ๋“ฑ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

 
person: name: ํ™๊ธธ๋™ age: 30

โœ… ์žฅ์ : ์งง๊ณ  ๊ฐ€๋…์„ฑ ์ข‹์Œ
โš ๏ธ ๋‹จ์ : ๋“ค์—ฌ์“ฐ๊ธฐ ๊ทœ์น™์ด ์—„๊ฒฉํ•ด์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ๋””๋ฒ„๊น… ์–ด๋ ค์›€

๐Ÿ“Ž .yml ๊ณผ .yaml ํ™•์žฅ์ž๋Š” ๊ฐ™์€ ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.


๐Ÿ”น 4. ZML (Zope Markup Language)

  • Python ๊ธฐ๋ฐ˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์ธ Zope์—์„œ ์‚ฌ์šฉ๋˜๋˜ ํ…œํ”Œ๋ฆฟ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
  • HTML + XML ์Šคํƒ€์ผ๋กœ ์ž‘์„ฑ๋˜์–ด ๋™์  ์›น ํŽ˜์ด์ง€ ๊ตฌ์„ฑ์— ์“ฐ์˜€์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ๋Š” ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ, ์—ญ์‚ฌ์ ์ธ ์–ธ์–ด์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

 
<document> <title>Hello</title> <content>Welcome to Zope!</content> </document>

์ผ๋ถ€ ๊ฒฝ์šฐ “ZML”์€ ํŠน์ • ํšŒ์‚ฌ ๋‚ด๋ถ€์—์„œ ๋งŒ๋“  ์ปค์Šคํ…€ XML ํฌ๋งท์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ’ก ์ •๋ฆฌํ•˜์ž๋ฉด

๊ตฌ๋ถ„ํ•ต์‹ฌ ํฌ์ธํŠธ
SML XML๋ณด๋‹ค ๋‹จ์ˆœํ™”ํ•˜๋ ค๋Š” ์‹œ๋„, ๋น„ํ‘œ์ค€
XML ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ ํ‘œํ˜„์˜ ํ‘œ์ค€
YML (YAML) ์‚ฌ๋žŒ ์นœํ™”์  ์„ค์ • ์–ธ์–ด
ZML ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ(Zope) ๋˜๋Š” ์ปค์Šคํ…€ XML ํ˜•ํƒœ

๐Ÿ“˜ ํ•ต์‹ฌ ์š”์•ฝ

๊ตฌ๋ถ„SOAP (Simple Object Access Protocol)REST (Representational State Transfer)
๊ธฐ๋ณธ ๊ฐœ๋… XML ๊ธฐ๋ฐ˜์˜ ํ”„๋กœํ† ์ฝœ(Protocol) HTTP ๊ธฐ๋ฐ˜์˜ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ(Architecture)
๋ฐ์ดํ„ฐ ํฌ๋งท XML๋งŒ ์‚ฌ์šฉ JSON, XML, YAML ๋“ฑ ๋‹ค์–‘
์ „์†ก ๋ฐฉ์‹ ์ฃผ๋กœ HTTP + XML ๋ฉ”์‹œ์ง€ HTTP ๋ฉ”์„œ๋“œ(GET, POST, PUT, DELETE) ํ™œ์šฉ
์„ค๊ณ„ ์ฒ ํ•™ ํ‘œ์ค€ํ™”, ๋ณด์•ˆ, ์‹ ๋ขฐ์„ฑ ๊ฐ•์กฐ ๋‹จ์ˆœ์„ฑ, ์œ ์—ฐ์„ฑ, ์†๋„ ๊ฐ•์กฐ
์‚ฌ์šฉ ์˜ˆ์‹œ ๊ธˆ์œต, ๊ณต๊ณต๊ธฐ๊ด€, ๋Œ€๊ธฐ์—… ๋‚ด๋ถ€ ์‹œ์Šคํ…œ ์›น, ๋ชจ๋ฐ”์ผ, ์˜คํ”ˆ API (์˜ˆ: ๋„ค์ด๋ฒ„, ์นด์นด์˜ค API)
์š”์ฒญ ๊ตฌ์กฐ ๋งค์šฐ ๋ณต์žกํ•œ XML ๋ฉ”์‹œ์ง€ ๊ฐ„๋‹จํ•œ URL + HTTP ์š”์ฒญ
์†๋„ ๋А๋ฆผ (XML ํŒŒ์‹ฑ ํ•„์š”) ๋น ๋ฆ„ (JSON ์ค‘์‹ฌ)
ํ™•์žฅ์„ฑ WSDL, WS-Security ๋“ฑ ํ‘œ์ค€ ์‚ฌ์šฉ ๋ณ„๋„์˜ ํ‘œ์ค€ ์—†์Œ (์ž์œ ๋กญ๊ฒŒ ์„ค๊ณ„)

COALESCE๋Š” SQL์—์„œ ๊ฐ€์žฅ ์œ ์šฉํ•œ ํ•จ์ˆ˜ ์ค‘ ํ•˜๋‚˜์˜ˆ์š”.

์ง€๊ธˆ๋ถ€ํ„ฐ ์ดˆ๋“ฑํ•™์ƒ๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ, ๊ทธ๋ฆผ + ๋น„์œ  + ์˜ˆ์‹œ + ์‹ค์ „์œผ๋กœ ์™„์ „ํžˆ ์‰ฝ๊ฒŒ ์„ค๋ช…๋“œ๋ฆด๊ฒŒ์š”!


COALESCE = "NULL์ด๋ฉด ์ด๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค˜!"

 
์˜์–ด ๋œปํ•œ๊ตญ์–ด ๋œป
COALESCE ํ•ฉ์ณ์ง€๋‹ค, ๋Œ€์ฒดํ•˜๋‹ค

๋น„์œ : "์นœ๊ตฌ ์ด๋ฆ„ ๋งํ•ด์ค˜! ์—†์œผ๋ฉด '์นœ๊ตฌ ์—†์–ด์š”'๋ผ๊ณ  ํ•ด์ค˜!"

 


1. AS = "์ด ์ด๋ฆ„์œผ๋กœ ๋ถˆ๋Ÿฌ์ค˜!"

 
์˜์–ด ๋œปํ•œ๊ตญ์–ด ๋œป
AS "~๋กœ", "~๋ผ๊ณ "

๋น„์œ : "๋‚ด ์ด๋ฆ„์€ ๊น€์ฒ ์ˆ˜์ธ๋ฐ, ์˜ค๋Š˜์€ '์ฒ ์ˆ˜'๋ผ๊ณ  ๋ถˆ๋Ÿฌ์ค˜!"


๊ธฐ๋ณธ ๋ฌธ๋ฒ•

sql
 
SELECT ์›๋ž˜์ปฌ๋Ÿผ AS ์ƒˆ์ด๋ฆ„

 

AS ์ƒ๋žต ๊ฐ€๋Šฅ?

sql
 
SELECT team_name "ํŒ€๋ช…"   -- AS ์ƒ๋žต

๊ฐ€๋Šฅ! → ํ•˜์ง€๋งŒ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด AS ์“ฐ๋Š” ๊ฒŒ ์ข‹์•„์š”!


AS ์ฃผ์˜์ 

 
์ƒํ™ฉ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•
๊ณต๋ฐฑ ์žˆ์Œ "ํ™ˆํŒ€ ์ ์ˆ˜"
ํ•œ๊ธ€ "๊ฒฝ๊ธฐ์žฅ"
์˜์–ด stadium_name (๋”ฐ์˜ดํ‘œ ์ƒ๋žต ๊ฐ€๋Šฅ)

 

2. COLLATE = "์ด ์ˆœ์„œ๋กœ ์ •๋ ฌํ•ด์ค˜!"

 
์˜์–ด ๋œปํ•œ๊ตญ์–ด ๋œป
COLLATE "์ •๋ ฌ ๊ทœ์น™"

๋น„์œ : "์‚ฌ์ „์ˆœ์ด ์•„๋‹ˆ๋ผ, ๊ฐ€๋‚˜๋‹ค์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ค˜!

 

๊ธฐ๋ณธ ๋ฌธ๋ฒ•

sql
 
ORDER BY ์ปฌ๋Ÿผ COLLATE "์ •๋ ฌ๊ทœ์น™"