λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Project

[Toyproject][Linux/Unix] μ˜ν™”κ΄€ ν‚€μ˜€μŠ€ν¬ ν”„λ‘œμ νŠΈ

by SolaKim 2023. 7. 31.

linux_kiosk

🍿linux_final_project_Theater

μ˜ν™”κ΄€ ν‚€μ˜€μŠ€ν¬ 개발

  • μ„œλ²„ ν΄λΌμ΄μ–ΈνŠΈ (s erver client) λͺ¨λΈλ‘œ λ™μž‘ν•˜λŠ” ν‚€μ˜€μŠ€ν¬ μ‹œμŠ€ν…œ
  • μ„œλ²„λŠ” ν‚€μ˜€μŠ€ν¬λ₯Ό κ΄€λ¦¬ν•˜λŠ” 역할을 μˆ˜ν–‰ν•˜λ©° ν΄λΌμ΄μ–ΈνŠΈλŠ” ν‚€μ˜€μŠ€ν¬ 의 고객 μ—­
    할을 μˆ˜ν–‰
  • μ„œλ²„λŠ” ν‚€μ˜€μŠ€ν¬ 관리 μƒν’ˆκ³Ό 각 μƒν’ˆμ˜ μˆ˜λŸ‰μ„ 관리 ν΄λΌμ΄μ–ΈνŠΈλ“€μ—κ²Œ μ„œλΉ„μŠ€
    제곡 을 ν•  수 μžˆλ„λ‘ 함
  • ν΄λΌμ΄μ–ΈνŠΈλŠ” ν‚€μ˜€μŠ€ν¬ μ‚¬μš©μ„ μˆ˜ν–‰

κΈ°λ³Έ κΈ°λŠ₯

  • μ„œλ²„
    • μ‚¬μš©μžμ—κ²Œ ν‚€μ˜€μŠ€ν¬ 에 λŒ€ν•œ 정보λ₯Ό 제곡 상 ν’ˆ 의 μ’… λ₯˜ 및 각 상 ν’ˆ 의 κ°€ 격 , 수 λŸ‰ λ“±
    • 각 μƒν’ˆμ— λŒ€ν•œ μˆ˜λŸ‰ 관리
    • μˆ˜λŸ‰ 초과 μ‹œ ν΄λΌμ΄μ–ΈνŠΈκ°€ μƒν’ˆμ„ κ°€μ Έκ°ˆ 수 없도둝 함
    • μˆ˜λŸ‰μ΄ μΆ©λΆ„ν•˜λ©΄ ν΄λΌμ΄μ–ΈνŠΈκ°€ μƒν’ˆ μˆ˜λ Ήν•  수 μžˆλ„λ‘ 함
    • 상 ν’ˆ 총 금 μ•‘ κ³Ό 지 뢈 금 μ•‘ 을 λΉ„ ꡐ ν•˜μ—¬ 각 사 용 μžμ— λŒ€ ν•œ 계 μ‚° 수 ν–‰
  • ν΄λΌμ΄μ–ΈνŠΈ
    • μ›ν•˜λŠ” μƒν’ˆ 에 μ ‘κ·Ό
    • μƒν’ˆμ˜ 개수 μž…λ ₯
    • ν•„ μš” ν•œ 상 ν’ˆ 을 λ‹€ κ³  λ₯Έ 뒀에 금 μ•‘ 지 뢈

ν”„λ‘œμ νŠΈ λ‚΄ μΆ”κ°€ κ΅¬ν˜„ κΈ°λŠ₯

  • μ—¬λŸ¬ μ‚¬μš©μžκ°€ λ™μ‹œμ— μ„œλ²„μ— 접속 κ°€λŠ₯ν•©λ‹ˆλ‹€. (μ΅œλŒ€ 10개의 ν΄λΌμ΄μ–ΈνŠΈκ°€ λ™μ‹œ 접속 κ°€λŠ₯ν•˜λ„λ‘ μ„€μ •)
  • ν•œ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ κ΅¬λ§€ν•˜λ©΄ λ‹€λ₯Έ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μƒν’ˆμ— λŒ€ν•œ 정보가 μ‹€μ‹œκ°„μœΌλ‘œ λ°˜μ˜λ©λ‹ˆλ‹€. (fwrite, fread, fseek 이용)
  • μ„œλ²„λ₯Ό μ—΄ λ•Œ, κ΄€λ¦¬μžλͺ¨λ“œμ—μ„œ 각 μƒν’ˆ 및 μƒν’ˆμ˜ 개수, 가격, μˆ˜λŸ‰ μ„€μ • κ°€λŠ₯ν•©λ‹ˆλ‹€. (동적할당 malloc을 이용)
  • 각 ν΄λΌμ΄μ–ΈνŠΈμ˜ ν‚€μ˜€μŠ€ν¬ μ‚¬μš©μ‹œκ°„μ— μ œν•œμ„ 120초둜 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€. (alarm을 이용)
  • κ΄€λ¦¬μž λͺ¨λ“œμΌλ•Œ λ™μ•ˆμ€ clientμ—μ„œμ˜ μ—°κ²° 접속을 κ±°λΆ€ν•˜κ³  ν‚€μ˜€μŠ€ν¬λ₯Ό μ΄μš©ν•  수 없도둝 ν–ˆμŠ΅λ‹ˆλ‹€.

λ³Έ ν”„λ‘œμ νŠΈμ˜ 강점

  • μ˜ν™”κ΄€κ³Ό 맀점(μŒμ‹μ )을 λͺ¨λ‘ κ΅¬ν˜„ν•œ λΆ€λΆ„μ—μ„œ μΆ”ν›„ λ‹€λ₯Έ 뢄야도 μΆ”κ°€ κ²°ν•©ν•˜κΈ° μš©μ΄ν•œ μ½”λ“œμž„μ„ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. (little bit…ν•¨μˆ˜μ˜ λͺ¨λ“ˆν™”)
  • λ””ν…ŒμΌν•œ μ˜ˆμ™Έμ²˜λ¦¬λ‘œ 인해 λΆ€λ“œλŸ¬μš΄ μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • 직관적인 UI (μ˜ν™” 리슀트, μŒμ‹ 리슀트, μ˜ν™” μ’Œμ„ν‘œ λ“±λ“±) 을 ν†΅ν•˜μ—¬ 처음 μ‚¬μš©ν•˜λŠ” μ‚¬λžŒλ„ μ΄μš©ν•˜κΈ° μ‰½κ²Œ κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • κΌΌκΌΌν•œ 주석 처리.

ν”„λ‘œμ νŠΈ 흐름도

image

ν”„λ‘œμ νŠΈ μ½˜μ†” λͺ…λ Ήμ–΄ README

ν”„λ‘œμ νŠΈ μ½˜μ†” λͺ…λ Ήμ–΄ README 파일 경둜 : ./final/README.txt

 

πŸ‘‡πŸ»  πŸ‘€ πŸ‘‡πŸ»

 κΉƒν—ˆλΈŒ μ½”λ“œ μ£Όμ†Œ