Skip to content

hankn01/shared_calendar

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

79 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

header

๐Ÿ“… SHARED! Calendar

์ด ํ”„๋กœ๊ทธ๋žจ์€ ์ฝ˜์†” ํ™˜๊ฒฝ์—์„œ๋„ ํŽธ๋ฆฌํ•œ ์ผ์ • ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ์ฑ„ํƒํ•˜์—ฌ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ ‘์†ํ•˜์—ฌ ์ผ์ •์„ ํ™•์ธ ๋ฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํด๋ผ์ด์–ธํŠธ ์ปดํ“จํ„ฐ์˜ ๋กœ์ปฌ ์ €์žฅ์†Œ๊ฐ€ ์‚ญ์ œ๋˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐Ÿ“Š ํ™”๋ฉด ๊ตฌ์„ฑ ๋ฐ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์บ˜๋ฆฐ๋” ํ‘œ์‹œ ํ™”๋ฉด: ์„ ํƒํ•œ ์›”์˜ ์บ˜๋ฆฐ๋”๋ฅผ ํ‘œ์‹œํ•˜๊ณ , ์ผ์ •์ด ์žˆ๋Š” ๋‚ ์งœ์— ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ๋˜์–ด ์žˆ์–ด ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ผ์ • ํ‘œ์‹œ ํ™”๋ฉด: ์„ ํƒํ•œ ๋‚ ์งœ์˜ ๋ชจ๋“  ์ผ์ •์„ ํ•œ ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ช…๋ น์–ด ํ™”๋ฉด: ์›ํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ผ์ • ์ถ”๊ฐ€: ์›ํ•˜๋Š” ์›”, ์ผ์— ์ผ์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ์ผ์ • ๊ฒ€์ƒ‰: ํŠน์ • ๋‚ ์งœ์— ์žˆ๋Š” ๋ชจ๋“  ์ผ์ •์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • ์ผ์ • ๋‚ ์งœ ๋ณ€๊ฒฝ: ์ผ์ •์ด ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ ๋‚ ์งœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ผ์ • ์‚ญ์ œ: ์ผ์ •์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ป ์‹œ์Šคํ…œ ์ตœ์†Œ ์š”๊ตฌ ์‚ฌํ•ญ

  • Debian ๊ณ„์—ด์˜ Linux(Debian, Ubuntu ๋“ฑ) ๋ฐ x86๊ณ„์—ด์˜ CPU๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • UNIX ๋ฐ ๋‹ค๋ฅธ POSIX Linux๋„ ํ˜ธํ™˜๋˜์ง€๋งŒ, ๋ชจ๋“  ๋™์ž‘์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋จ์„ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

๐ŸŒ ํ•„์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์„ค์น˜

  • ncurses ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด์•ผ ์ •์ƒ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • apt-get์„ ์ด์šฉํ•˜์—ฌ ์„ค์น˜ํ•ด ์ฃผ์„ธ์š”.
sudo apt-get update
sudo apt-get install libncurses5-dev libncursesw5-dev

๐Ÿ“‘ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. Repository Clone

    git clone https://github.com/your-username/calendar.git
    
  2. ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค. (๋˜๋Š” make ๋ช…๋ น์–ด ์‹คํ–‰)

    gcc -w -o calClient cleanver.c calClient.c -lncurses //ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰
    gcc -o calServer calServer.c // ์„œ๋ฒ„ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰
    

    make๋ฅผ Shell์—์„œ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ Makefile์˜ Script์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ปดํŒŒ์ผ๋˜๋ฏ€๋กœ gcc ๋ช…๋ น์–ด๋ฅผ ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

  3. ์บ˜๋ฆฐ๋” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    ./calServer 3000(ํฌํŠธ ๋ฒˆํ˜ธ) // ์„œ๋ฒ„ ์‹œ์Šคํ…œ
    ./calClient //ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ
    

โš’ ์บ˜๋ฆฐ๋” ํ”„๋กœ๊ทธ๋žจ ์กฐ์ž‘ ๋ฐฉ๋ฒ•

1. ๋ฉ”์ธ ํ™”๋ฉด

main

  • ์บ˜๋ฆฐ๋” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”์ธ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.
    • CALENDAR ๋ฉ”๋‰ด: ํ˜„์žฌ ์›”์˜ ๋‹ฌ๋ ฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • CONTENTS ๋ฉ”๋‰ด: ์„ ํƒํ•œ ๋‚ ์งœ์˜ ์ผ์ •์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • USAGE EXAMPLE ๋ฉ”๋‰ด: ๋ช…๋ น์–ด ์ž…๋ ฅ ๋ฐฉ๋ฒ•๊ณผ ์˜ˆ์‹œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • COMMAND ๋ฉ”๋‰ด: ์บ˜๋ฆฐ๋” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์บ˜๋ฆฐ๋”์— ์ผ์ • ์ถ”๊ฐ€ (a ๋ช…๋ น์–ด)

๋‚ด์šฉ ์ถ”๊ฐ€

[๋ช…๋ น์–ด ์ž…๋ ฅ ์˜ˆ์‹œ ํ™”๋ฉด]

cc์‹คํ–‰์ดํ›„

[๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ช…๋ น์ด ์‹คํ–‰๋œ ํ™”๋ฉด]

  • a ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์บ˜๋ฆฐ๋”์— ์ผ์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ์˜ˆ์‹œ: a (๋‚ ์งœ) (์ œ๋ชฉ)>(๋‚ด์šฉ)
  • ๋‚ ์งœ์˜ ์ž…๋ ฅ ์˜ˆ์‹œ๋Š” YYYY.MM.DD (์—ฐ.์›”.์ผ) ์ž…๋‹ˆ๋‹ค.
  • (์˜ˆ: abcde๋ผ๋Š” ์ œ๋ชฉ๊ณผ SystemProgramming์ด๋ผ๋Š” ๋‚ด์šฉ์˜ ์ผ์ •์„ 2023๋…„ 5์›” 25์ผ์— ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด a 2023.05.25 abcde>SystemProgramming ์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.)

3. ํŠน์ • ์ผ์ž์˜ ์ผ์ •์„ ํ™•์ธ (c ๋ช…๋ น์–ด)

ํŠน์ •์ผ์ž์ผ์ •์ „

[๋ช…๋ น์–ด ์ž…๋ ฅ ์˜ˆ์‹œ ํ™”๋ฉด]

ํŠน์ •์ผ์ž์ผ์ •ํ›„

[๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ช…๋ น์ด ์‹คํ–‰๋œ ํ™”๋ฉด]

  • c ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์บ˜๋ฆฐ๋”์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ํŠน์ • ์ผ์ž์˜ ์ผ์ • ์ „์ฒด ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ์˜ˆ์‹œ: c (๋‚ ์งœ)
  • ๋‚ ์งœ์˜ ์ž…๋ ฅ ์˜ˆ์‹œ๋Š” YYYY.MM.DD (์—ฐ.์›”.์ผ) ์ž…๋‹ˆ๋‹ค.
  • (์˜ˆ: 2023๋…„ 5์›” 25์ผ์˜ ์ผ์ •์„ ํ™•์ธํ•˜๋ ค๋ฉด c 2023.05.25 ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.)

4. ์ผ์ •์˜ ๋‚ ์งœ๋ฅผ ๋ณ€๊ฒฝ (mv ๋ช…๋ น์–ด)

๋‚ ์งœ๋ณ€๊ฒฝ์ „

[๋ช…๋ น์–ด ์ž…๋ ฅ ์˜ˆ์‹œ ํ™”๋ฉด]

๋‚ ์งœ๋ณ€๊ฒฝํ›„

[๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ช…๋ น์ด ์‹คํ–‰๋œ ํ™”๋ฉด]

  • mv ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์บ˜๋ฆฐ๋”์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ผ์ •์˜ ๋‚ ์งœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ์˜ˆ์‹œ: mv (๋ณ€๊ฒฝ ์ „ ๋‚ ์งœ) (๋ณ€๊ฒฝ ํ›„ ๋‚ ์งœ) (์ผ์ •์˜ ์ œ๋ชฉ)
  • ๋‚ ์งœ์˜ ์ž…๋ ฅ ์˜ˆ์‹œ๋Š” YYYY.MM.DD (์—ฐ.์›”.์ผ) ์ž…๋‹ˆ๋‹ค.
  • (์˜ˆ: abcde๋ผ๋Š” ์ œ๋ชฉ์˜ ์ผ์ •์„ 2023๋…„ 5์›” 25์ผ์—์„œ 2023๋…„ 5์›” 30์ผ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด mv 2023.05.25 2023.05.30 abcde ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.)

5. ํ•ด๋‹น ์›”์˜ ์ „์ฒด ์ผ์ • ํ™•์ธ (cc ๋ช…๋ น์–ด)

cc๋ช…๋ น์–ด์ „

[๋ช…๋ น์–ด ์ž…๋ ฅ ์˜ˆ์‹œ ํ™”๋ฉด]

cc๋ช…๋ น์–ดํ›„

[๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ช…๋ น์ด ์‹คํ–‰๋œ ํ™”๋ฉด]

  • cc ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ ํƒํ•œ ์›”์˜ ์ผ์ •์ด ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋‚ ์งœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ์˜ˆ์‹œ: cc (ํ™•์ธํ•  ์›”)
  • ํ™•์ธํ•  ์›”์€ YYYY.MM (์—ฐ.์›”) ์ˆœ์„œ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • (์˜ˆ: 2023๋…„ 5์›”์„ ํ™•์ธํ•˜๋ ค๋ฉด cc 2023.05 ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค)

6. ์ผ์ • ์‚ญ์ œ (rm ๋ช…๋ น์–ด)

rm๋ช…๋ น์–ด์ „

[๋ช…๋ น์–ด ์ž…๋ ฅ ์˜ˆ์‹œ ํ™”๋ฉด]

rm๋ช…๋ น์–ดํ›„

[๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ช…๋ น์ด ์‹คํ–‰๋œ ํ™”๋ฉด]

  • rm ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ํŠน์ • ์ผ์ •์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ์˜ˆ์‹œ: rm (์‚ญ์ œํ•  ์ผ์ •์ด ์†ํ•œ ๋‚ ์งœ) (์‚ญ์ œํ•  ์ผ์ •์˜ ์ œ๋ชฉ)
  • ๋‚ ์งœ์˜ ์ž…๋ ฅ ์˜ˆ์‹œ๋Š” YYYY.MM.DD (์—ฐ.์›”.์ผ) ์ž…๋‹ˆ๋‹ค.
  • (์˜ˆ: 2023๋…„ 5์›” 25์ผ์˜ abcde๋ผ๋Š” ์ œ๋ชฉ์˜ ์ผ์ •์„ ์‚ญ์ œํ•˜๋ ค๋ฉด rm 2023.05.25 abcde ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.)

7. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ (q ๋ช…๋ น์–ด)

  • ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์‹œ q ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ์˜ค์ž‘๋™ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์‹œ์Šคํ…œ ์‹œ๊ทธ๋„์„ ์ด์šฉํ•œ Ctrl+Cํ‚ค, Ctrl+\ํ‚ค๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™‚๏ธ ๊ธฐ์—ฌ ๊ฐ€์ด๋“œ ๋ฐ License

by-nc-sa

์ด ํ”„๋กœ์ ํŠธ๋Š” CC BY-NC-SA License๋กœ์„œ ์ž์œ ๋กญ๊ฒŒ ๋ฐฐํฌ ๋ฐ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‚˜, ์ƒ์—…์  ์ด์šฉ ๋ฐ ๋ฌด๋‹จ ๋ผ์ด์„ผ์Šค ๋ณ€๊ฒฝ ๋ฐฐํฌ๋Š” ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ์—ฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ
    • ํ”„๋กœ์ ํŠธ์—์„œ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ๊ฒฌ๋œ ๊ฒฝ์šฐ Github์˜ Issues์— ์˜ฌ๋ ค์ฃผ์„ธ์š”
    • Pull Request๋Š” ์ €ํฌ ํŒ€์›๋งŒ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์ „์— ์—ฐ๋ฝ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

About

SystemProgramming Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.0%
  • Makefile 1.0%