[Project #1] inventory management_bot - 5 week

jangยท2026๋…„ 4์›” 13์ผ

[Project #1]

๋ชฉ๋ก ๋ณด๊ธฐ
5/6
post-thumbnail

1. [KOREAN] ๊ฐœ๋ฐœ ์ผ์ง€

๐Ÿ“… ์˜ค๋Š˜์˜ ๋ชฉํ‘œ

  • ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ:ย ์ƒˆ๋กœ์šด ํ’ˆ๋ชฉ์„ ๋‹จ์œ„(Unit)์™€ ํ•จ๊ป˜ ๋“ฑ๋กํ•˜๋Š”ย /addย ๋ช…๋ น์–ด ๊ตฌํ˜„
  • ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”:ย matplotlib์„ ํ™œ์šฉํ•ด ์žฌ๊ณ  ํ˜„ํ™ฉ์„ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋กœ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ
  • ๊ฐ€๋…์„ฑ ๊ฐœ์„ :ย ํ•ญ๋ชฉ์ด ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ๋ ˆ์ด์•„์›ƒ์„ ์กฐ์ •ํ•˜๊ณ  ๋ˆˆ๊ธˆ์„ 10 ๋‹จ์œ„๋กœ ๊ณ ์ •

๐Ÿง  ์ฃผ์š” ํ•™์Šต ๋‚ด์šฉ

  • ๋™์  ์ธ์ž ์ฒ˜๋ฆฌ:ย context.args๋ฅผ ํ™œ์šฉํ•ด ์ด๋ฆ„, ์ˆ˜๋Ÿ‰, ๋‹จ์œ„๋ฅผ ๋™์‹œ์— ์ž…๋ ฅ๋ฐ›๋Š” ๋ฐฉ์‹ ์Šต๋“
  • ์‹œ๊ฐํ™” ์ตœ์ ํ™”:ย plt.barh์™€ย np.arange๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฒ• ์ดํ•ด
  • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ:ย ์ €์žฅ(to_csv) ๋กœ์ง์˜ ์ˆœ์„œ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ์—๋Ÿฌ ์‹œ ๋ฐ์ดํ„ฐ ์œ ์‹ค์„ ๋ฐฉ์ง€ํ•˜๋Š” ์„ค๊ณ„ ํ•™์Šต

๐Ÿ› ๏ธ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… (Troubleshooting)

์ƒํ™ฉ์›์ธํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
AttributeError ๋ฐœ์ƒylabel์„ย ylable๋กœ ์˜คํƒ€ ์ž…๋ ฅplt.ylabel()๋กœ ์ฒ ์ž ์ˆ˜์ • ํ›„ ์ •์ƒ ์ž‘๋™ ํ™•์ธ
NameError (item_name)๋ณ€์ˆ˜๋ช…(new_item)๊ณผ ํ˜ธ์ถœ๋ช…(item_name) ๋ถˆ์ผ์น˜๋ณ€์ˆ˜๋ช…์„ย new_item์œผ๋กœ ํ†ต์ผํ•˜์—ฌ ํ•ด๊ฒฐ
๋ฐ์ดํ„ฐ ๋ฏธ๋ฐ˜์˜ ํ˜„์ƒ์ €์žฅ ์ „ ๋‹จ๊ณ„์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ํŒŒ์ผ ์ €์žฅ์ด ์•ˆ ๋จ๋ถˆํ•„์š”ํ•œ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ ์ €์žฅ ์ฝ”๋“œ ์‹คํ–‰ ์ˆœ์„œ ์•ˆ์ •ํ™”
๋ˆˆ๊ธˆ ๊ฐ€๋…์„ฑ ์ €ํ•˜์ž๋™ ๋ˆˆ๊ธˆ ์„ค์ •์œผ๋กœ ์ธํ•ด ์ˆ˜๋Ÿ‰ ํŒŒ์•…์ด ์–ด๋ ค์›€๋ˆˆ๊ธˆ์„ 10 ๋‹จ์œ„๋กœ ๊ณ ์ •ํ•˜๊ณ  ๊ฒฉ์ž(Grid) ์ถ”๊ฐ€

2. [ENGLISH] Development Log

๐Ÿ“… Today's Goals

  • Create Feature:ย Implement theย /addย command to register new items with units
  • Visualization:ย Develop a horizontal bar chart to display inventory levels clearly

๐Ÿง  Key Concepts Learned

  • Parameter Handling:ย Improved skills in processing multiple arguments usingย context.args
  • Data Presentation:ย Learned to control axis intervals and layouts for professional charts

๐Ÿ› ๏ธ Troubleshooting

ssueCauseSolution
Typo in MatplotlibMisspelledย ylabelย asย ylableCorrected toย plt.ylabel()
Variable MismatchConfusion betweenย new_itemย andย item_namevariablesUnified all references toย new_item
Data Sync IssueCode crashed before saving to CSVRemoved conflicting logic and ensuredย to_csv()executes correctly
Scale ReadabilityIrregular axis intervals made data hard to readFixed intervals to units of 10 for better clarity

3. [JAPANESE] ้–‹็™บ่จ˜้Œฒ (ๆ—ฅๆœฌ่ชž็‰ˆ)

๐Ÿ“… ไปŠๆ—ฅใฎ็›ฎๆจ™

  • ใƒ‡ใƒผใ‚ฟ่ฟฝๅŠ ๆฉŸ่ƒฝ๏ผšย ๆ–ฐ่ฆใ‚ขใ‚คใƒ†ใƒ ใ‚’ๅ˜ไฝใจๅ…ฑใซ็™ป้Œฒใ™ใ‚‹ย /addย ใ‚ณใƒžใƒณใƒ‰ใฎๅฎŸ่ฃ…
  • ใƒ‡ใƒผใ‚ฟใฎๅฏ่ฆ–ๅŒ–๏ผšย ๅœจๅบซ็Šถๆณใ‚’ไธ€็›ฎใงๆŠŠๆกใงใใ‚‹ๆจชๆฃ’ใ‚ฐใƒฉใƒ•ใฎ็”Ÿๆˆ

๐Ÿง  ไธปใชๅญฆ็ฟ’ๅ†…ๅฎน

  • ๅ‹•็š„ๅผ•ๆ•ฐใฎๅ‡ฆ็†๏ผšย context.argsย ใ‚’ๆดป็”จใ—ใ€ๅๅ‰ใƒปๆ•ฐ้‡ใƒปๅ˜ไฝใ‚’ๅŒๆ™‚ใซๅ—ใ‘ๅ–ใ‚‹ๅ‡ฆ็†ใ‚’็ฟ’๋“
  • ๅฏ่ฆ–ๅŒ–ใฎๆœ€้ฉๅŒ–๏ผšย plt.barhย ใจย np.arangeย ใ‚’ไฝฟใ„ใ€ๅคง้‡ใฎใƒ‡ใƒผใ‚ฟใ‚’ๅŠนๆžœ็š„ใซ่ฆ–่ฆšๅŒ–ใ™ใ‚‹ๆ–นๆณ•ใ‚’็†่งฃ
  • ใƒ‡ใƒผใ‚ฟใฎๆ•ดๅˆๆ€ง๏ผšย ไฟๅญ˜๏ผˆto_csv๏ผ‰ใƒญใ‚ธใƒƒใ‚ฏใฎ้ †ๅบใ‚’่ชฟๆ•ดใ—ใ€ใ‚จใƒฉใƒผๆ™‚ใฎใƒ‡ใƒผใ‚ฟ็ด›ๅคฑใ‚’้˜ฒใ่จญ่จˆใ‚’ๅญฆ็ฟ’

๐Ÿ› ๏ธ ใƒˆใƒฉใƒ–ใƒซใ‚ทใƒฅใƒผใƒ†ใ‚ฃใƒณใ‚ฐ

็ŠถๆณๅŽŸๅ› ่งฃๆฑบๆ–นๆณ•
AttributeError ็™บ็”Ÿylabelย ใ‚’ย ylableย ใจ็ถดใ‚Š้–“้•ใ„plt.ylabel()ย ใซไฟฎๆญฃใ—ๆญฃๅธธๅ‹•ไฝœใ‚’็ขบ่ช
NameError ็™บ็”Ÿๅค‰์ˆ˜ๅ(new_item)ใจๅ‘ผใณๅ‡บใ—ๅ(item_name)ใฎไธไธ€่‡ดๅค‰ๆ•ฐๅใ‚’ย new_itemย ใซ็ตฑไธ€ใ—ใฆ่งฃๆฑบ
ใƒ‡ใƒผใ‚ฟใŒๅๆ˜ ใ•ใ‚Œใชใ„ไฟๅญ˜็›ดๅ‰ใฎใ‚จใƒฉใƒผใซใ‚ˆใ‚Šใƒ•ใ‚กใ‚คใƒซๆ›ดๆ–ฐใŒๅคฑๆ•—ไธ่ฆใชใƒญใ‚ธใƒƒใ‚ฏใ‚’ๅ‰Š้™คใ—ไฟๅญ˜ๅ‡ฆ็†ใ‚’ๅฎ‰ๅฎšๅŒ–
็›ฎ็››ใ‚Šใฎ่ฆ–่ชๆ€งไฝŽไธ‹่‡ชๅ‹•่จญๅฎšใซใ‚ˆใ‚‹็›ฎ็››ใ‚Šใฎ้–“้š”ใŒไธๆ˜Ž็ขบ็›ฎ็››ใ‚Šใ‚’10ๅ˜ไฝใซๅ›บๅฎšใ—ใ‚ฐใƒชใƒƒใƒ‰ใ‚’่ฟฝๅŠ 

๐Ÿ“ธ ์‹คํ–‰ ๊ฒฐ๊ณผ (Result Photos,็ตๆžœ)

profile
๋น„์ „๊ณต์ž๊ฐ€ AI ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๋Š” ๊ณผ์ •

0๊ฐœ์˜ ๋Œ“๊ธ€