Skip to content

Latest commit

ย 

History

History
157 lines (81 loc) ยท 5.73 KB

File metadata and controls

157 lines (81 loc) ยท 5.73 KB

๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธย ๊ฐœ์š”

  • ๊ณต์—ฐ์˜ˆ์ˆ ํ†ตํ•ฉ์ „์‚ฐ๋ง(KOPIS) OPEN API๋ฅผ ์ด์šฉํ•ด ๊ณต์—ฐ์ •๋ณด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ •์ œํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ •์ œํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๐Ÿงฉย ๊ธฐ๋Šฅ ๋ฐ ์•„ํ‚คํ…์ฒ˜

  • ๐Ÿ— ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

    ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜


  • ๐Ÿ—„ ๊ณต์—ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ

    ๊ณต์—ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ

    • Performance Table - ๊ณต์—ฐ ์ƒ์„ธ ์ •๋ณด

    • Facility Table - ๊ณต์—ฐ ์‹œ์„ค ์ƒ์„ธ ์ •๋ณด

    • Prf_session - ๊ณต์—ฐ ์ผ์ž ์ •๋ณด

    • Prf_rank - Top10 - ๊ณต์—ฐ ์ •๋ณด


  • ๐Ÿ“Š ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ณผ์ •

    • KOPIS์˜ ๋ฐ์ดํ„ฐ๋Š” BeautifulSoup ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด XML parsing ์ง„ํ–‰

    • ๊ณต์—ฐ, ์‹œ์„ค ๋ชฉ๋ก
      • ๋งค์ผ ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ณต์—ฐ ID, ์‹œ์„ค ๋ชฉ๋ก ID๋ฅผ KOPIS์— ์š”์ฒญ

      • ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ณต์—ฐ ID, ์‹œ์„ค ๋ชฉ๋ก ID๋ฅผ ์ค‘๋ณต ๊ฒ€์‚ฌ ํ›„ ์ƒˆ๋กœ ๋“ฑ๋ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€


    • ๊ณต์—ฐ ์‹œ์„ค ์ƒ์„ธ
      • ๊ณต์—ฐ ์‹œ์„ค๋“ค์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ์ •์ œ ๋ฐ ์ ์žฌ

      • ์š”์ฒญํ•œ ์‹œ์„ค ID ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•ด KOPIS์— ์‹œ์„ค ์ƒ์„ธ ๋ฐ์ดํ„ฐ ์š”์ฒญ

      • ๋นˆ ๋ฌธ์ž์—ด์ด ๋“ค์–ด์˜ค๋Š” ์ปฌ๋Ÿผ๋“ค์€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด None์œผ๋กœ ๋ณ€ํ™˜ ํ›„ ๋ฐ˜ํ™˜


    • ๊ณต์—ฐ ์ƒ์„ธ
      • ์ƒ์„ธ ๊ณต์—ฐ ์ •๋ณด๋“ค ์ •์ œ ๋ฐ ์ ์žฌ

      • ๊ณต์—ฐ ์ผ์ •๊ณผ ๊ณต์—ฐ ๊ฐ€๊ฒฉ์ด ์œ ํšจํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ํŒ๋‹จํ•˜๊ณ  ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌ

      • ์ด์™ธ ๋นˆ ๋ฌธ์ž์—ด์ด ๋“ค์–ด์˜ค๋Š” ์ปฌ๋Ÿผ๋“ค์€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด None์œผ๋กœ ๋ณ€ํ™˜ ํ›„ ๋ฐ˜ํ™˜

      • ์‘๋‹ต๋œ ๋ฐ์ดํ„ฐ์ค‘ ๊ณต์—ฐ ์ƒ์„ธ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋Š” ๋ณ„๋„๋กœ ๋ฐ์ดํ„ฐ ์ •์ œ ํ›„ ๊ด€๋ฆฌ


    • ๊ณต์—ฐ ์ƒ์„ธ ์‹œ๊ฐ„
      • ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ํ˜•ํƒœ๋กœ ์‘๋‹ต๋จ

        ํ† ์š”์ผ ~ ์ผ์š”์ผ(13:00,15:00), ์›”์š”์ผ(16:00,19:00), ๊ธˆ์š”์ผ(15:00,18:00), HOL(11:00,14:00,16:00)

      • ๋ฐ์ดํ„ฐ๋ฅผ HOL(๊ณตํœด์ผ)์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ์™€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์ฒ˜๋ฆฌ

      • ๊ณตํœด์ผ ๋ฏธํฌํ•จ

        1. , ๋ฅผ ๊ธฐ์ค€์œผ๋กœ splitํ•˜์—ฌ ๋ฐฐ์—ด ์ƒ์„ฑ

          • ['ํ† ์š”์ผ ~ ์ผ์š”์ผ(13:00,15:00)', '์›”์š”์ผ(16:00,19:00)', '๊ธˆ์š”์ผ(15:00,18:00)']
        2. 1๋ฒˆ์˜ ๊ฐ ์›์†Œ๋ฅผ ์š”์ผ๊ณผ ์‹œ๊ฐ„์œผ๋กœ ๋ถ„๋ฆฌ

          • ['ํ† ์š”์ผ ~ ์ผ์š”์ผ', '13:00', '15:00']
        3. ์ฒซ๋ฒˆ์งธ ์›์†Œ์— ~ ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ์—†๋Š” ๊ฒฝ์šฐ๋กœ ๋ถ„๋ฆฌ

          1. ~๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋Š” ์›์†Œ์ค‘์—๋Š” HOL๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ์ œ์™ธ

            i. ์‹œ์ž‘์ผ์ž์™€ ์ข…๋ฃŒ์ผ์ž ์‚ฌ์ด์˜ ํ•ด๋‹น ์š”์ผ์˜ ๋ชจ๋“  ๋…„/์›”/์ผ์„ ๋ฆฌ์ŠคํŠธ๋กœ ์ƒ์„ฑ

            ii. ์ƒ์„ฑ๋œ ๋ชจ๋“  ์ผ์ž์— ๋ฐฐ์—ด์— ํฌํ•จ๋œ ์‹œ๊ฐ„ ์ถ”๊ฐ€

             `2023-01-01, 13:00`  `2023-01-08, 13:00` 
             `2023-01-02, 15:00`  `2023-01-09, 15:00`
            
          2. ~๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ

            i. ์ดˆ๊ธฐ์— ์ผ์ฃผ์ผ์˜ ์š”์ผ์„ ๋‹ด๊ณ ์žˆ๋Š” ๋ฐฐ์—ด ์„ ์–ธ

             `['์›”์š”์ผ', 'ํ™”์š”์ผ', '์ˆ˜์š”์ผ', '๋ชฉ์š”์ผ', '๊ธˆ์š”์ผ', 'ํ† ์š”์ผ', '์ผ์š”์ผ']`
            

            ii. ์ฒซ๋ฒˆ์งธ ์›์†Œ๋ฅผ ~ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌํ•จ

             `['ํ† ์š”์ผ', ์ผ์š”์ผ']`
            

            iii. ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ฅผ ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋กœ ์žก์Œ

            iv. ์ฒซ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ์ผ์ฃผ์ผ์„ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๋งŒ๋‚ ๋•Œ๊นŒ์ง€ ๊ฐ ์š”์ผ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ

      • ๊ณตํœด์ผ ํฌํ•จ

        1. HOL ๋ฌธ์ž์—ด์ด ๋“ค์–ด์žˆ๋Š” ์›์†Œ๋ฅผ ๋”ฐ๋กœ ๋ถ„๋ฆฌ ํ›„ flag ๋ณ€๊ฒฝ

        2. ์œ„์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ HOL๊ณผ ์‹œ๊ฐ„์œผ๋กœ ๋ถ„๋ฆฌ

           `['HOL', '13:00', '15:00']`
          
        3. ๋‚ด๋…„๊นŒ์ง€์˜ ๊ณตํœด์ผ ๋ฆฌ์ŠคํŠธ ์ค‘ ๊ณต์—ฐ ์‹œ์ž‘ ๋‚ ์งœ์™€ ์ข…๋ฃŒ๋‚ ์งœ ์‚ฌ์ด์˜ ๊ณตํœด์ผ์„ ์ถ”์ถœ

        4. ์ถ”์ถœ๋œ ๊ณตํœด์ผ์— ๋ฐฐ์—ด์— ํฌํ•จ๋œ ์‹œ๊ฐ„ ์ถ”๊ฐ€

           `2023-03-01, 13:00`  `2023-03-01, 17:00` 
          
      • ๋ฐ์ดํ„ฐ ์ตœ์ข… ํ˜•ํƒœ

        datafinal


    • Top 10 ๊ณต์—ฐ ์ •๋ณด
      • 1์œ„๋ถ€ํ„ฐ 10์œ„๊นŒ์ง€์˜ ๊ณต์—ฐ ์ˆœ์œ„๋ฅผ ์ €์žฅํ•จ

      • ๋‹น์ผ ์ˆœ์œ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์‹œ๊ฐ„๊ณผ API ํ˜ธ์ถœ ์‹œ๊ฐ„์˜ ๊ฐ„๊ทน์œผ๋กœ ์ธํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ถ€์žฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ ์ž 2์ผ๊นŒ์ง€์˜ ์ˆœ์œ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•จ

      • ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ์„ ๋ง‰๊ธฐ ์œ„ํ•ด 3์ผ ์ดํ›„๋ถ€ํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋Š” ์‚ญ์ œ


๐Ÿชตย ๊ฐœ๋ฐœํ™˜๊ฒฝ

  • MariaDB:10.3

  • Python 3.8.6


๐Ÿ’ฌย ํšŒ๊ณ 

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์‹œ ์ฃผ์•ˆ์ 

  • ๊ณต์—ฐ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ ์š”์ผ,์‹œ๊ฐ„ ์„ธ์…˜์œผ๋กœ ๋ถ„๋ฆฌ

  • ๊ณตํœด์ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ์‹œ ๋ณ„๋„์˜ ์ฒ˜๋ฆฌ


ํ•œ๊ณ„์  ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ

  • ์‹œ๊ฐ„๋ณต์žก๋„ ๋ฐ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ์˜ ๊ฐœ์„ ์ด ์ข€ ๋” ํ•„์š”ํ•จ

  • ๊ณตํœด์ผ ๋ฐ์ดํ„ฐ์˜ ๋ถˆ๊ทœ์น™์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ณ ๋ คํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๋ฅผ ๋ณด์™„ํ•  ๋ฐฉ๋ฒ• ๊ณ ์•ˆ