๐Ÿš€
Growth log
  • About me
  • I LEARNED
    • General
      • ๊ฐœ๋ฐœ์ž ๊ฟ€ํŒ
      • ๊ทธ๋กœ์Šคํ•ดํ‚น ๊ธฐ์ดˆ
      • ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋„๋ฉ”์ธ ์ง€์‹์€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ• ๊นŒ?
      • DTO ๋…ผ์Ÿ์— ๋Œ€ํ•˜์—ฌ
      • MSA๋ž€?
    • Seminar
      • ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 100% - SLASH 21
      • TDD๊ฐ€ ์‹คํŒจํ•˜๋Š” ์ด์œ  - by ์ด๊ทœ์›๋‹˜
      • ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ํŠœ๋‹ ๋…ธํ•˜์šฐ ๋‹ค ์•Œ๋ ค ๋“œ๋ฆผ|๋ผ์ธ๊ฐœ๋ฐœ์‹ค๋ก
      • ๊ฒฐ์ œ ์‹œ์Šคํ…œ์˜ SDK์™€ API ๋””์ž์ธ - SLASH 21
    • Web
      • SOP์™€ CORS
    • Spring & OOP
      • DTO vs VO
    • Ruby On Rails
      • Rails lib ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•˜์—ฌ
      • Rails์˜ concerns๋ž€?
      • Rails์—์„œ์˜ GC ์ž‘๋™์›๋ฆฌ
      • Eager loading vs Lazy loading
      • Rails ํ™˜๊ฒฝ ๊ตฌ์„ฑ
      • ActionCable
      • ๐Ÿ“”Perfect ruby on rails
        • MVC ํŒจํ„ด์ธ Rails
        • Ruby on Rails ๊ธฐ๋ณธ - ์ปจํŠธ๋กค๋Ÿฌ
        • Ruby on Rails ๊ธฐ๋ณธ - ๋ทฐ
        • Ruby on Rails ๊ธฐ๋ณธ - ๋ชจ๋ธ
        • ์Šค์บํด๋”ฉ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ Rails ๊ฐœ๋ฐœ ๊ธฐ์ดˆ
        • ๋ทฐ ๊ฐœ๋ฐœ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋‚™๊ด€์  ๋™์‹œ ์‹คํ–‰ ์ œ์–ด
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ตฌํ˜„
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - Association
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ์ฝœ๋ฐฑ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™”
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์š”์ฒญ ์ •๋ณด ์ถ”์ถœ
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์‘๋‹ต
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์ƒํƒœ ๊ด€๋ฆฌ
        • ๋ผ์šฐํŒ… - RESTful
        • ๋ผ์šฐํŒ… - RESTful ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ์ž ์ •์˜ํ™”
        • ๋ผ์šฐํŒ… - RESTful ํ•˜์ง€ ์•Š์€ ๋ผ์šฐํŠธ ์ •์˜
        • ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - ์ค€๋น„
        • ํ…Œ์ŠคํŠธ - Unit ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - Functional ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - Integration ํ…Œ์ŠคํŠธ
        • ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ - Sprockets vs Webpacker
        • ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ - Sprockets
    • Node.js & Express
      • ๊ธฐ๋ณธ ๊ฐœ๋…
      • npx
    • Programing Language
      • Java
        • JavaDoc์— ๋Œ€ํ•ด
        • invocation์— ๋Œ€ํ•ด์„œ
        • ์–ด๋…ธํ…Œ์ด์…˜
        • ์ถ”์ƒํด๋ž˜์Šค & ์ธํ„ฐํŽ˜์ด์Šค
        • Package
        • ์˜ค๋ฒ„๋กœ๋”ฉ vs ์˜ค๋ฒ„๋ผ์ด๋”ฉ
      • Javascript
        • TCP School ํ›‘์–ด๋ณด๊ธฐ
          • ํƒ€์ž…
          • ํ˜• ๋ณ€ํ™˜
          • ๋ณ€์ˆ˜
          • ์—ฐ์‚ฐ์ž
          • ๋ฐ˜๋ณต๋ฌธ
          • ๋ฐฐ์—ด(array)
          • ํ•จ์ˆ˜
          • ํ•จ์ˆ˜ - ์Šค์ฝ”ํ”„์™€ ํ˜ธ์ด์ŠคํŒ…
          • ํ•จ์ˆ˜ - ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜
          • ํ•จ์ˆ˜ - ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ „์—ญ ํ•จ์ˆ˜
          • ๊ฐ์ฒด
          • ํ”„๋กœํ† ํƒ€์ž…
          • DOM
          • BOM - Window ๊ฐ์ฒด
          • ์ด๋ฒคํŠธ(event)
      • Ruby
        • ๐Ÿ“”ํผํŽ™ํŠธ ๋ฃจ๋น„
    • DB
      • Redis
        • Redis ๊ฐœ์š”
      • Index(์ธ๋ฑ์Šค)?
      • DB Transaction & Lock
      • ๋™์‹œ์„ฑ ์ œ์–ด์— ๊ด€ํ•˜์—ฌ
      • Lock(์ž ๊ธˆ)์ด๋ž€?
      • ActiveRecord lock vs with_lock
      • Table lock vs Row lock
      • WHERE 1=1 ๊ตฌ๋ฌธ์— ๋Œ€ํ•˜์—ฌ
      • COUNT(*) vs COUNT(indexed column)
      • ๐Ÿ“•๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹ค์ „์ž…๋ฌธ
      • ๐Ÿ“”SQL ์ฒซ๊ฑธ์Œ
      • ๐Ÿ“”๋ชจ๋‘์˜ SQL
    • Design Patterns
      • Observer pattern
      • Flyweight pattern
      • Singleton pattern
    • OOP
      • ๐Ÿ“”์˜ค๋ธŒ์ ํŠธ
        • 6์žฅ ๋ฉ”์‹œ์ง€์™€ ์ธํ„ฐํŽ˜์ด์Šค
      • ํด๋ž˜์Šค๊ฐ„ ๊ด€๊ณ„ ๊ฐ„๋‹จ ์ •๋ฆฌ
    • Regex
    • Collaboration
      • Git
      • Sourcetree
  • DAILY REVIEW
    • 2021
      • August
        • 2021-08-25(Wed)
        • 2021-08-23(Mon)
        • 2021-08-11(Wed)
        • 2021-08-04(Wed)
        • 2021-08-03(Tue)
        • 2021-08-02(Mon)
      • July
        • 2021-07-29(Thu)
        • 2021-07-26(Mon)
        • 2021-07-23(Fri)
        • 2021-07-22(Thu)
        • 2021-07-21(Wed)
        • 2021-07-20(Tue)
        • 2021-07-19(Mon)
        • 2021-07-15(Thu)
        • 2021-07-14(Wed)
        • 2021-07-13(Tue)
        • 2021-07-12(Mon)
      • June
        • 2021-06-05(Sat)
        • 2021-06-04(Fri)
        • 2021-06-03(Thu)
        • 2021-06-02(Wed)
        • 2021-06-01(Tue)
      • May
        • 2021-05-31(Mon)
        • 2021-05-29(Sat)
        • 2021-05-28(Fri)
        • 2021-05-27(Thu)
        • 2021-05-26(Wed)
        • 2021-05-25(Tue)
        • 2021-05-24(Mon)
        • 2021-05-22(Sat)
        • 2021-05-21(Fri)
        • 2021-05-20(Thu)
        • 2021-05-19(Wed)
        • 2021-05-18(Tue)
        • 2021-05-17(Mon)
        • 2021-05-15(Sat)
        • 2021-05-13(Thu)
        • 2021-05-12(Wed)
        • 2021-05-11(Tue)
        • 2021-05-10(Mon)
        • 2021-05-03(Mon)
      • April
        • 2021-04-30(Fri)
        • 2021-04-29(Thu)
        • 2021-04-28(Wed)
        • 2021-04-27(Tue)
        • 2021-04-26(Mon)
        • 2021-04-24(Sat)
        • 2021-04-23(Fri)
        • 2021-04-21(Wed)
        • 2021-04-20(Tue)
        • 2021-04-19(Mon)
        • 2021-04-18(Sun)
        • 2021-04-16(Fri)
        • 2021-04-15(Thu)
        • 2021-04-14(Wed)
        • 2021-04-12(Mon)
        • 2021-04-11(Sun)
        • 2021-04-09(Fri)
        • 2021-04-08(Thu)
        • 2021-04-06(Tue)
        • 2021-04-05(Mon)
        • 2021-04-04(Sun)
        • 2021-04-03(Sat)
        • 2021-04-02(Fri)
        • 2021-04-01(Thu)
      • March
        • 2021-03-29(Mon)
        • 2021-03-28(Sun)
        • 2021-03-26(Fri)
        • 2021-03-25(Thu)
        • 2021-03-24(Wed)
        • 2021-03-23(Tue)
        • 2021-03-22(Mon)
        • 2021-03-21(Sun)
        • 2021-03-20(Sat)
        • 2021-03-17(Wed)
        • 2021-03-16(Tue)
        • 2021-03-15(Mon)
        • 2021-03-12(Fri)
        • 2021-03-11(Thu)
        • 2021-03-10(Wed)
        • 2021-03-09(Tue)
        • 2021-03-08(Mon)
        • 2021-03-07(Sun)
        • 2021-03-05(Fri)
        • 2021-03-03(Wed)
        • 2021-03-02(Tue)
        • 2021-03-01(Mon)
      • Feb
        • 2021-02-26(Fri)
        • 2021-02-25(Thu)
        • 2021-02-24(Wed)
        • 2021-02-23(Tue)
        • 2021-02-22(Mon)
        • 2021-02-19(Fri)
        • 2021-02-18(Thu)
        • 2021-02-17(Wed)
        • 2021-02-16(Tue)
        • 2021-02-15(Mon)
        • 2021-02-14(Sun)
        • 2021-02-13(Sat)
        • 2021-02-12(Fri)
        • 2021-02-10(Wed)
        • 2021-02-09(Tue)
        • 2021-02-08(Mon)
        • 2021-02-07(Sun)
        • 2021-02-05(Fri)
        • 2021-02-03(Wed)
        • 2021-02-02(Tue)
        • 2021-02-01(Mon)
      • Jan
        • 2021-01-29(Fri)
        • 2021-01-28(Thu)
        • 2021-01-27(Wed)
        • 2021-01-26(Tue)
        • 2021-01-25(Mon)
        • 2021-01-23(Sat)
        • 2021-01-22(Fri)
        • 2021-01-20(Wed)
        • 2021-01-19(Tue)
        • 2021-01-18(Mon)
        • 2021-01-12(Tue)
        • 2020-01-11(Mon)
        • 2021-01-08(Fri)
        • 2021-01-07(Thu)
        • 2021-01-06(Wed)
        • 2021-01-05(Tue)
        • 2021-01-04(Mon)
        • 2021-01-01(Fri)
    • 2020
      • Dec
        • 2020-12-30(Thu)
        • 2020-12-25(Fri)
        • 2020-12-24(Thu)
        • 2020-12-23(Wed)
        • 2020-12-22(Tue)
        • 2020-12-21(Mon)
        • 2020-12-18 (Fri)
      • Nov
        • 2020-11-30(Mon)
        • 2020-11-28(Sat)
        • 2020-11-26(Thu)
        • 2020-11-25(Wed)
        • 2020-11-24(Tue)
        • 2020-11-23(Mon)
        • 2020-11-22(Sun)
        • 2020-11-20(Fri)
        • 2020-11-19(Thu)
        • 2020-11-18(Wed)
        • 2020-11-17(Tue)
        • 2020-11-14(Sat)
        • 2020-11-13(Fri)
        • 2020-11-12(Thu)
        • 2020-11-11(Wed)
        • 2020-11-09(Mon)
        • 2020-11-07(Sat)
        • 2020-11-05(Thu)
        • 2020-11-04(Wed)
        • 2020-11-03(Tue)
        • 2020-11-02(Mon)
    • Good article ์•„์นด์ด๋น™
Powered by GitBook
On this page
  • ๋ฌธ์ œ) CGI์™€ ํ†ต์‹ ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ณผ์ •์—์„œ, ๊ทธ์•ผ๋ง๋กœ ์•„๋ฌด๋Ÿฐ ์ „์กฐ๋„ ์—†์ด ๊ฐ‘์ž๊ธฐ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.
  • ํ•ด๊ฒฐ) signal(SIGINT, NULL) ์„ ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘์‹œ ์‹คํ–‰์‹œ์ผœ SIGINT ์‹œ๊ทธ๋„์„ ๋ฌด์‹œํ•˜๋„๋ก ์ˆ˜์ •ํ•˜์˜€๋‹ค.

Was this helpful?

  1. DAILY REVIEW
  2. 2020
  3. Nov

2020-11-17(Tue)

Previous2020-11-18(Wed)Next2020-11-14(Sat)

Last updated 4 years ago

Was this helpful?

  1. ํ•™์Šต ๋‚ ์งœ // 2020-11-17(ํ™”)

  2. ํ•™์Šต์‹œ๊ฐ„ // 9:00~22:00

  3. ํ•™์Šต ๋ฒ”์œ„ ๋ฐ ์ฃผ์ œ // webserv ์˜ค๋ฅ˜

  4. ๋™๋ฃŒ ํ•™์Šต ๋ฐฉ๋ฒ• // yohai๋‹˜๊ณผ ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ, sanam๋‹˜๊ณผ ํ† ์˜

  5. ํ•™์Šต ๋ชฉํ‘œ // CGI ํ†ต์‹ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์˜ ์›์ธ์„ ํ™•์ธํ•˜์—ฌ ์ œ๊ฑฐํ•œ๋‹ค.

  6. ์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ

image

๋ฌธ์ œ) CGI์™€ ํ†ต์‹ ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ณผ์ •์—์„œ, ๊ทธ์•ผ๋ง๋กœ ์•„๋ฌด๋Ÿฐ ์ „์กฐ๋„ ์—†์ด ๊ฐ‘์ž๊ธฐ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

ํ•ด๊ฒฐ) signal(SIGINT, NULL) ์„ ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘์‹œ ์‹คํ–‰์‹œ์ผœ SIGINT ์‹œ๊ทธ๋„์„ ๋ฌด์‹œํ•˜๋„๋ก ์ˆ˜์ •ํ•˜์˜€๋‹ค.

์ œ์ผ ์ฒ˜์Œ ์ด ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚ฌ์„ ๋•Œ๋Š” ๋„ˆ๋ฌด ํ™ฉ๋‹นํ–ˆ๋Š”๋ฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๋ฉด throw๊ฐ€ ๋˜์–ด์•ผํ•˜๊ณ  ๊ทธ๋Ÿผ catch ๋˜์–ด ๋ฌด์—‡์ด ๋ฌธ์ œ์ธ์ง€ ์ถœ๋ ฅ๋˜์–ด์•ผํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๊ทธ์•ผ๋ง๋กœ ์•„๋ฌด๋Ÿฐ '์ „์กฐ๋„ ์—†์ด' ๊ฐ‘์ž๊ธฐ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ˜น์‹œ ๋˜์ ธ์ง„ throw๋ฅผ ์žก์ง€ ๋ชปํ•œ ๊ฒƒ์€ ์•„๋‹Œ์ง€ ๋ชจ๋“  throw ๊ตฌ๋ฌธ์— log์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ๊ธˆ ์‹ฌ์–ด๋ณด์•˜์œผ๋‚˜ ์—ฌ์ „ํžˆ throw์™€ ๋ณ„๊ฐœ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์‹ฌ์–ด๋†“์€ ๋กœ๊ทธ๋“ค์„ ์ถ”์ ํ•˜๊ณ , ์ถ”๊ฐ€๋กœ ๋กœ๊ทธ๋ฅผ ์‹ฌ์—ˆ๋”๋‹ˆ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒ์‹œํ‚จ ์ฃผ๋ฒ”์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. write , ํ”ผ์”ฌ ๋•Œ๋ถ€ํ„ฐ ํ•จ๊ป˜ํ•ด์™”๋˜ ์ด ์ต์ˆ™ํ•œ ์นœ๊ตฌ๊ฐ€ ์•Œ๊ณ ๋ณด๋‹ˆ ์†Œ๋ฆฌ์—†๋Š” ์•”์‚ด์ž์˜€๋˜ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์— ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋Š” ์กฐ๊ฑด์„ ๋˜์งš์–ด๋ณด์•˜๋”๋‹ˆ write ํ•จ์ˆ˜๊ฐ€ broken pipe ๋“ฑ์˜ ์‚ฌ์œ ๋กœ SIGINT ์‹œ๊ทธ๋„์„ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค..! ์•„๋‹ˆ write ์ด ๋…€์„์€ ์˜ค๋ฅ˜๋‚˜๋ฉด -1์ด๋‚˜ ๋ฆฌํ„ดํ•  ๊ฒƒ์ด์ง€ ์‹œ๊ทธ๋„์„ ๋˜์ง€๊ณ  ์žˆ๋„ค?! ใ…Žใ…Žใ…Žใ…Ž์ด ๋…€์„ใ…Žใ…Ž :)

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด signal_handler๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ๋ฌธ์ œ๊ฐ€๋œ ์†Œ์ผ“์„ ์ข…๋ฃŒํ•˜๊ณ  ๊ฐ์ข… ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด๋ณด๋ ค ํ•˜์˜€์œผ๋‚˜, singal_handler์—๋Š” signo ์™ธ์— ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ „์—ญ๋ณ€์ˆ˜๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฐ–์— ์—†๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ๋˜์—ˆ๊ณ  ๋ญ”๊ฐ€ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋ผ๋Š” ๋А๋‚Œ์ด ๋“ค์–ด์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

๊ทธ๋Ÿผ write๋Š” ํ•œ์ฐจ๋ก€ SIGINT ์‹œ๊ทธ๋„์„ ๋ณด๋‚ธ ํ›„ ์–Œ์ „ํžˆ -1์„ ๋ฆฌํ„ดํ•˜๊ณ , ์ด๋ฅผ ๋ถ„๊ธฐ์‚ผ์•„ ์—๋Ÿฌํ•ธ๋“ค๋ง์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  1. ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰

๋ฌธ์ œ๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ์งœ์ฆ๋‚  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฌธ์ œ์˜ ์›์ธ์„ ์ถ”์ธกํ•ด๋ณด๊ณ  ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ขํ˜€๊ฐ€๋Š” ๊ณผ์ • ์ž์ฒด๋Š” ์ฆ๊ธธ๋งŒํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด์™• ๋ฒ„๊ทธ ์ฐพ๋Š” ๊ฒƒ, ๋งˆ์น˜ ์ถ”๋ฆฌ์†Œ์„ค์˜ ํƒ์ •์ด ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฒ”์ธ์„ ์ฐพ์•„๋‚˜์„œ๋Š” ๊ธฐ๋ถ„์„ ๋А๋ผ๋ ค๊ณ  ๋…ธ๋ ฅํ•ด๋ด…๋‹ˆ๋‹ค! ๋‚˜๋จธ์ง€ ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„์€ sanam๊ป˜์„œ ๋งก์•„์ฃผ์‹œ๊ธฐ๋กœ ํ–ˆ์œผ๋‹ˆ ์ด์ œ yohai๋‹˜๊ณผ CGI ๊ด€๋ จ ๊ตฌํ˜„์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉด ์ง„์งœ ํ…Œ์Šคํ„ฐ๋ฅผ ์˜จ์ „ํžˆ ๋Œ๋ ค๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”ใ…Žใ…Ž

๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

  • CGI ํ†ต์‹ 

๋ฐฉ๋ฒ•์„ ๊ฒ€์ƒ‰ํ•ด๋ณด์•˜๋”๋‹ˆ ์ด๋Š” ์„œ๋ฒ„ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๋Š” ๋ถ„๋“ค์ด ํ•˜๋Š” ๋‹จ๊ณจ ์งˆ๋ฌธ ์ค‘ ํ•˜๋‚˜์˜€๊ณ  ๊ธˆ๋ฐฉ ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค, SIGINT๋ฅผ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •ํ•ด๋ฒ„๋ฆฌ๋ฉด ๋˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. writeํ•จ์ˆ˜์˜ SIGINT๋Š” write ๋Œ€์ƒ fd๊ฐ€ ๋‹ซํžˆ๊ฑฐ๋‚˜ write ๋ถˆ๊ฐ€ํ•œ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•œ๋‹ค. ์„œ๋ฒ„๊ฐ€ writeํ•œ์ฐธํ•˜๊ณ  ์žˆ๋Š”๋ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ closeํ•ด๋ฒ„๋ฆฌ๊ฑฐ๋‚˜ ๋น„์ •์ƒ์ข…๋ฃŒ๋˜๋ฉด SIGINT๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ์„œ๋ฒ„์ธก์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— SIGINT๋ฅผ ๋ฌด์‹œํ•ด์•ผํ•œ๋‹ค. (์™œ ์ด๊ฒŒ CGI๋ž‘ ํ†ต์‹ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š”์ง€๋Š” ๋”ฐ๋กœ ํŒŒ์•…ํ•ด๋ณด์ž.)

ํ•ด๋‹ต