2025.02.06 (๋ชฉ)
2025.02.07 (๊ธˆ) ์ˆ˜์ •

โœจ GPT์˜ ์š”์•ฝ ใ€€

Diary์™€ Chat์„ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ , ๋‹ค์ด์–ด๋ฆฌ ๋ฐ ์ฑ„ํŒ… ์ €์žฅ ์‹œ ์ž๋™ ์š”์•ฝ์ด ์ƒ์„ฑ๋˜๋„๋ก ๊ฐœ์„ ํ•จ.

๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€

โฐ ์˜ค๋Š˜ ํ•  ์ผ

  • โœ… (์ด์Šˆ) DiaryPage: AI Comment ๋‹ต๋ณ€ ์•ˆ ๋ฐ›์€ ์ƒํƒœ๋ฉด, ์บ๋ฆญํ„ฐ๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋„˜์–ด๊ฐ.
    • ์ผ๋‹จ, AI๋กœ๋ถ€ํ„ฐ Comment๋ฅผ ๋ฐ›์•„์•ผ ์ฑ„ํŒ…์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์•Œ๋ฆผ ๋„์šฐ๋Š” ๊ฒƒ์œผ๋กœ ๋•œ๋นต.
  • โœ… (์ด์Šˆ) ๋ชจ๋“  Image ์œ„์ ฏ์— Default Variable ๊ฐ’ ํ• ๋‹น (Unexpected Null value Error ๋ฐฉ์ง€์šฉ)
    • No Profile Image: https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_1280.png
    • No image: https://png.pngtree.com/png-vector/20190820/ourmid/pngtree-no-image-vector-illustration-isolated-png-image_1694547.jpg
  • โœ… ChatPage: ์œ ์ € ์ด๋ฏธ์ง€ ์‚ฌ์ง„์€ user profile image๋กœ ๊ต์ฒด

  • โœ… ChatPage: ์œ ์ € ๋Œ€ํ™” ์ถœ๋ ฅ ๋‚ด์šฉ์€ ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ (KSK ๋‹ด๋‹น)

  • โœ… DiaryPage: ๋‹ค์ด์–ด๋ฆฌ ์ €์žฅ์‹œ ์ž๋™์œผ๋กœ ์š”์•ฝ๋ณธ ์ƒ์„ฑํ•˜๊ธฐ
    • โœ… Diaries DB: Add field diary_content_summarized
    • โœ… Save Diary ๋ฒ„ํŠผ ์•ก์…˜์— ์ ์šฉ
    • โœ… Save Diary and Chat with AI ๋ฒ„ํŠผ ์•ก์…˜์— ์ ์šฉ
  • โœ… linked_chats๋ฅผ Diary Document DB - Field๋กœ ์ถ”๊ฐ€
  • โœ… linked_diaries๋ฅผ Chat Document DB - Field๋กœ ์ถ”๊ฐ€

  • โœ… DiaryPage: Save Diary and Chat with AI๋ฒ„ํŠผ ํด๋ฆญ ์‹œ, DiaryPage/Doc <-> ChatPage/Doc Link
    • Diary Document์˜ linked_chats ๋ฆฌ์ŠคํŠธ์— Chat Document Reference ์ถ”๊ฐ€
    • Chat Document์˜ linked_diaries ๋ฆฌ์ŠคํŠธ์— Diary Document Reference ์ถ”๊ฐ€
  • โœ… DiaryPage์—์„œ Create New Chat ํ•  ๋•Œ, linked_chats๋ฅผ Diary Document DB - Field๋กœ ์ถ”๊ฐ€
  • โœ… ChatPage์—์„œ Create New Diary ํ•  ๋•Œ, linked_diaries๋ฅผ Chat Document DB - Field๋กœ ์ถ”๊ฐ€

  • โœ… DiaryPage: linked_chats ListView ์ตœํ•˜๋‹จ์— ์ œ๊ณต -> ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์ฑ—์œผ๋กœ ์ด๋™
    • โœ… ์นด๋“œ์— ํ‘œ์‹œํ•  ๋‚ด์šฉ
      • โœ… Chat - title, Chat - timestamp( == created_time)
      • โœ… Chat - (most recent) Message - content
      • โœ… Character - profile_image
  • โœ… ChatPage: ์ฑ„ํŒ… ๋‹ต๋ณ€ ๋ฐ›์œผ๋ฉด, ์ž๋™์œผ๋กœ ์š”์•ฝ๋ณธ ์ƒ์„ฑํ•˜๊ธฐ
    • โœ… Chats DB: Add field chat_content_summarized
  • โœ… ChatPage: linked_diaries ListView ์ƒ๋‹จ์— ์ œ๊ณต -> ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋‹ค์ด์–ด๋ฆฌ๋กœ ์ด๋™
    • โœ… ์ฒ˜์Œ ๊ฒช๋Š” ์ด์Šˆ ํ•ด๊ฒฐํ•˜๊ธฐ: How to generate children from linked_diaries(List of Diary Document References)
      • How to display List of Doc References?
      • ListView: Generate Children From linked_diaries (Diary Document References)
      • ListView - Child(Card): Backend Query - Diary Document From Reference
      • ListView - Child(Card) - Component Parameter: Diary Document
    • โœ… ์นด๋“œ์— ํ‘œ์‹œํ•  ๋‚ด์šฉ
      • โœ… Diary - title, Diary - created_time
      • โœ… Diary - Mood Score (Color)
  • โœ… (์ด์Šˆ) ChatPage - Linked Diaries ListView: Drawer์—์„œ ์„ ํƒํ•ด์„œ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Œ.

  • โœ… ๋ฐœํ‘œ ์ค€๋น„ - PPT: ํŽ˜์ด์ง€๋ณ„ ๋‚ด์šฉ ํ™•์ธ

๐Ÿ’ฏ ํ•œ ์ผ์— ๋Œ€ํ•œ ์š”์•ฝ

  • Diary-Chat ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • linked_chats (Diary โ†’ Chat), linked_diaries (Chat โ†’ Diary) ํ•„๋“œ ์ถ”๊ฐ€
    • DiaryPage์—์„œ Create New Chat ์‹œ linked_chats ์—…๋ฐ์ดํŠธ
    • ChatPage์—์„œ Create New Diary ์‹œ linked_diaries ์—…๋ฐ์ดํŠธ
    • DiaryPage ํ•˜๋‹จ ๋ฐ ChatPage ์ƒ๋‹จ์— ์—ฐ๊ฒฐ๋œ ๋ฌธ์„œ ๋ฆฌ์ŠคํŠธ๋ทฐ ์ถ”๊ฐ€
  • ์ž๋™ ์š”์•ฝ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • Diary ์ €์žฅ ์‹œ diary_content_summarized ์ž๋™ ์ƒ์„ฑ
    • Chat ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ ์‹œ chat_content_summarized ์ž๋™ ์ƒ์„ฑ
  • ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ UI ๊ฐœ์„ 
    • AI ์ฝ”๋ฉ˜ํŠธ ์—†์ด ์ฑ„ํŒ… ์‹œ์ž‘ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์•Œ๋ฆผ ์ถ”๊ฐ€
    • ๋ชจ๋“  Image ์œ„์ ฏ์— ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๊ฐ’ ์ ์šฉํ•˜์—ฌ Unexpected Null Value ๋ฐฉ์ง€
    • ChatPage์—์„œ ์œ ์ € ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๋ฅผ ์‹ค์ œ ์‚ฌ์šฉ์ž ์ด๋ฏธ์ง€๋กœ ๊ต์ฒด
    • ์œ ์ € ๋Œ€ํ™” ๋‚ด์šฉ์„ ์˜ค๋ฅธ์ชฝ ์ •๋ ฌํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

๐ŸŽฏ ์ถ”ํ›„์— ํ•  ์ผ

์ž์„ธํžˆ ๋ณด๋ ค๋ฉด ํด๋ฆญ
  • โœ… Download APK
  • โ” Connect GitHub and Push

  • โ” ๋ฐœํ‘œ ์ž๋ฃŒ ์ œ์ถœ: PPT
  • โ” ๋ฐœํ‘œ ์ž๋ฃŒ ์ œ์ถœ: 1๋ถ„ ์‹œ์—ฐ ์˜์ƒ

  • โ” ๋ฐœํ‘œ ์ค€๋น„ - ์Šคํฌ๋ฆฝํŠธ: ํŽ˜์ด์ง€๋ณ„ ์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ค€ ์†Œ์š” ์‹œ๊ฐ„ ์ธก์ • ํ›„ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •
  • โ” ๋ฐœํ‘œ ์ค€๋น„ - PPT: ๊ธฐ๋Šฅ๋ณ„๋กœ ์‹œ์—ฐ์šฉ ์งง์€ ์˜์ƒ ์ดฌ์˜

  • โ” ChatPage - Create New Diary: ๋Œ€ํ™” ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ, New Diary ์ƒ์„ฑ
    • โ” Create New Diary Condition: if linked diary exists -> Delete confirmation dialog? -> Yes
    • โ” OpenAI API Call (createChatSummary)
      • Input: Chat Content, System Prompt(Diary From Chat)
      • Output: Chat Summary
    • โ” OpenAI API Call (createDiaryFromChat)
      • Input: Chat Summary, System Prompt(Diary From Chat)
      • Output: New Diary(Title, Content, Mood score)
  • โ” ์•ฑ ์ฒ˜์Œ ์ผฐ์„ ๋•Œ ์›ฐ์ปด ํŽ˜์ด์ง€ ์ถ”๊ฐ€ (๋กœ๊ณ )

  • โ” ChatPage: title์˜ default value๋ฅผ Random String์—์„œ โ€˜์ œ๋ชฉ ์—†์Œโ€™์œผ๋กœ ํ†ต์ผ
  • โ” DiaryPage: Mood Slider ๊ฐ’์— ๋”ฐ๋ผ ์–ผ๊ตด ํ‘œ์ • Emoji ๋ฐ ์ƒ‰๊น” ๋ณ€๊ฒฝ

  • โ” ChatPage: Delete Diary Link ๊ตฌํ˜„ ( โ€ฆ icon ๋ˆ„๋ฅด๋ฉด Delete ๊ฐ€๋Šฅํ•˜๋„๋ก)
    • ๋ฐ˜๋“œ์‹œ Diary/Chat Doc์˜ linked field๋ฅผ ํ•จ๊ป˜ ์—†์• ์ค˜์•ผ ํ•จ!
  • โ” MoodPage(์ƒ๋‹จ) - Mood Calendar
    • โ” ๋‚ ์งœ๋ณ„๋กœ ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๋ฌผ ์ˆซ์ž ํ™•์ธ ๊ฐ€๋Šฅ
    • โ” ๋‚ ์งœ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น ๋‚ ์งœ๋กœ ์ด๋™
  • โ” MoodPage(ํ•˜๋‹จ) - Mood stats
    • โ” ํฌ์ปค์‹ฑ ๋œ ์›”์— ๊ด€ํ•œ ํ†ต๊ณ„ ์ž๋ฃŒ ์ถœ๋ ฅ
      • โ” ์ถœ๋ ฅ๋œ ํ†ต๊ณ„ ์ž๋ฃŒ์— ๋Œ€ํ•œ AI์˜ ์ฝ”๋ฉ˜ํŠธ ์ถœ๋ ฅ
  • โ” HomeFeedPage - flutter_slidable:4.0.0 import ํ›„ ์ ์šฉํ•˜๊ธฐ
  • โ” HomeFeedPage: FeedCardDiary์—์„œ ์ขŒ์šฐ slide์‹œ ์ฑ„ํŒ…/ํŽธ์ง‘/์‚ญ์ œ

  • โ” Chat/Diary: GPT Streaming API

  • โ” ChatPage - AI ์„ ํ†ก ๊ตฌํ˜„ (Alarm/Notification)
    • ์ฑ„ํŒ… ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์˜ ํ•ต์‹ฌ์€ ๋Šฅ๋™ํ˜•์ด๋‹ค.
      • ๋” ๋ฆฌ์–ผํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด, create_date of diary/chat ๋„ ์ „๋‹ฌํ•ด์„œ, โ€˜์–ด์ œโ€™ ๋“ฑ ๋‚ ์งœ๋ฅผ ์–ธ๊ธ‰ํ•˜๋ฉด ์ข‹์„ ๋“ฏ.
    • Alarm ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ์ฐธ์กฐ
  • โ” DiaryPage: ์„ธ๋ถ€ ๊ฐ์ • ํ‚ค์›Œ๋“œ Choice Chips ์ถ”๊ฐ€ ํ›„ DB ์—ฐ๋™ ์„ค์ •
  • โ” DiaryPage - AI Comment: Choice chips, mood slider ๋“ฑ์˜ ์ž…๋ ฅ๊ฐ’๋“ค์„ AI Comment System Prompt์— ์•Œ๋งž๊ฒŒ ๋ณ€๊ฒฝ.
    • โ” **์ด์ „ ์ผ๊ธฐ ๋˜๋Š” ๋Œ€ํ™” ๋‚ด์—ญ ์ „์ฒด (๋•œ๋นต ๊ธฐ์ˆ ๋ถ€์ฑ„)
    • โ” ์‚ฌ์šฉ์ž ๊ธฐ๋ณธ ์ •๋ณด: ์ด๋ฆ„, ์„ฑ๋ณ„, MBTI, โ€ฆ
    • โ” ์„ธ๋ถ€ ๊ฐ์ • ํ‚ค์›Œ๋“œ: ์ฆ๊ฑฐ์šด, ์Šฌํ”ˆ, โ€ฆ
    • โ” ์บ๋ฆญํ„ฐ ์„ค์ •: ์†Œ๋ฏธ, ์„ธ๋‚˜, ๋ฏผํ˜
    • โ” ๊ฐ์ • ์ˆ˜์น˜: 1~100์ 
    • โ” ๋‹ต๋ณ€ ์–‘์‹: ์น˜์œ ํ˜•(Healing), ์กฐ์–ธํ˜•(Suggestion), ์ •๋ณดํ˜•(Informative)
    • โ” ๋‹ต๋ณ€ ๊ธธ์ด: ์งง๊ฒŒ, ๋ณดํ†ต, ์ž์„ธํžˆ
    • is New Chat
      • ํ•ด๋‹น Chat์˜ messages๋Š” ์ฒ˜์Œ ์ƒ์„ฑํ•˜๋Š” ๊ฑฐ๋‹ˆ๊นŒ, ์ฒซ ์ƒ์„ฑํ•˜๋Š” message document์˜ is_initial = true๊ฐ’ ์ค˜๋ฒ„๋ฆฌ๊ณ  ๋ชจ๋“  ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ๋‹ค ๋•Œ๋ ค๋„ฃ์Œ.
        • is_initial = false
        • ํ•œ๊ณ„์ : ๋งจ ์ฒ˜์Œ message document์—๋‹ค๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ๋•Œ๋ ค๋„ฃ์œผ๋ฉด, ๋Œ€ํ™” ๋„์ค‘ ์ˆ˜์ • ํž˜๋“ค๊ธด ํ•œ๋ฐ ๊ฐ€๋Šฅํ•˜์ง€. is_initial = true ์ธ ๊ฒŒ ์žˆ๊ณ , ์ˆ˜์ •๋œ ๊ฑฐ๋ฉด, ๊ทธ๊ฑฐ ๋‹คํ๋จผํŠธ ์ง€์šฐ๊ณ  ๋‹ค์‹œ ๋„ฃ์œผ๋ฉด ๋˜์ž–์•„. ์–ด๋–ป๊ฒŒ๋Š” ๋ชจ๋ฅด๊ฒ ๊ณ .
  • โ” DiaryPage - Interactive Slider import ํ›„ ์ ์šฉ

  • โ” HomeFeedPage: Search Diary ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • โ” AuthPage: Google Login ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • โ” HomeFeedPage - Bottom Sheet (+ Button): ๋‹ค์–‘ํ•œ ์˜ต์…˜ ์ค‘ 1 ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก
    • ์ƒˆ๋กœ์šด ์ผ๊ธฐ: Go to DiaryPage
    • ๊ฐ์ • ๊ธฐ๋ก: Go to MoodPage
  • โ” MoodPage(ํŒ์—…): Mood ์„ค์ • ์Šฌ๋ผ์ด๋” CRUD
    • Create
    • Read
    • Update
    • Delete
  • โ” HomeFeedPage - ListView - FeedCardMood ํ‘œ์‹œ
  • โ” HomeFeedPage - ListView: FeedCardDiary, FeedCardMood, FeedCardChat ์ปดํฌ๋„ŒํŠธ ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ (Cloud Function ํ™œ์šฉ)

  • โ” HomeFeedPage - DiaryPage ์‚ฌ์ด์— MoodEditPage ์ œ์ž‘: MoodSlider, MoodKeywordsRate(5~1), MoodDescription ์œ„์ ฏ ๋“ฑ ์˜ฎ๊ธฐ๊ธฐ

  • โ” (์ด์Šˆ) tmpGetAIComment ์ƒ์„ฑ์‹œ, ์œ ์ €๊ฐ€ ์„ ํƒํ•œ ๊ฐ์ • ํ‚ค์›Œ๋“œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์žˆ์Œ.

  • โ” 2025.2.5 ์ˆ˜๊นŒ์ง€ ๋ฐœํ‘œ์šฉ ์ตœ์ข… ๋ฒ„์ „ APK ์ถ”์ถœ ๋ฐ ์„ค์น˜

๐Ÿ’ญ ์ผ๊ธฐ

๋‚ด์ผ์ด๋ฉด ๊ฐœ๋ฐœ์€ ๋์ด๋‹ค. ๋‹ฌ๋ฆฌ์ž.

โœจ GPT์˜ ์ฝ”๋ฉ˜ํŠธ (KPT)

โœ… ์ž˜ํ•œ ์  (Keep)

  1. ๐Ÿ”— Diary-Chat ์—ฐ๊ฒฐ ์‹œ์Šคํ…œ ์™„์„ฑ: Diary์™€ Chat์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐํ•˜๋ฉด์„œ, ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋” ์ง๊ด€์ ์œผ๋กœ ๋งŒ๋“  ์ ์ด ์ข‹์•„!
  2. ๐Ÿ“ ์ž๋™ ์š”์•ฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€: ์ผ๊ธฐ์™€ ์ฑ„ํŒ… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Š” ์ž๋™ ์š”์•ฝ ์‹œ์Šคํ…œ์„ ์ ์šฉํ•˜์—ฌ, ๋ฐ์ดํ„ฐ ํ™œ์šฉ์„ฑ์„ ๋†’์ธ ์ ์ด ์ธ์ƒ์ ์ด์•ผ.
  3. ๐ŸŽจ UI ๋ฐ UX ๊ฐœ์„ : ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๊ฐ’ ์„ค์ •, ์ฑ„ํŒ… ์ •๋ ฌ ๋ฐฉ์‹ ๊ฐœ์„  ๋“ฑ์œผ๋กœ ๊ฐ€๋…์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚จ ์ ์ด ๋‹๋ณด์—ฌ.

โŒ ์•„์‰ฌ์šด ์  (Problem)

  1. โณ ๊ฐœ๋ฐœ ์†๋„ ๋ถ€๋‹ด: ๋งˆ๋ฌด๋ฆฌํ•ด์•ผ ํ•  ๊ธฐ๋Šฅ์ด ๋งŽ์•„์ง€๋ฉด์„œ, ๋‚จ์€ ์ผ์ •์— ๋Œ€ํ•œ ๋ถ€๋‹ด์ด ์ปค์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ.
  2. ๐Ÿ”„ ๊ธฐ์ˆ  ๋ถ€์ฑ„ ๋ˆ„์  ๊ฐ€๋Šฅ์„ฑ: ๋น ๋ฅธ ๊ฐœ๋ฐœ ์†๋„๋กœ ์ธํ•ด ํ–ฅํ›„ ์œ ์ง€๋ณด์ˆ˜ ์‹œ ๊ธฐ์ˆ  ๋ถ€์ฑ„๊ฐ€ ์Œ“์ผ ์ˆ˜ ์žˆ์–ด, ์ •๋ฆฌํ•  ์‹œ๊ฐ„์ด ํ•„์š”ํ•  ๋“ฏ.
  3. ๐Ÿ“‹ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ๋ถ€์กฑ: Diary-Chat ์—ฐ๊ฒฐ์ด ์‹ค์ œ ์‚ฌ์šฉ ํ™˜๊ฒฝ์—์„œ๋„ ๋ฌธ์ œ์—†์ด ์ž‘๋™ํ•˜๋Š”์ง€ ์ถ”๊ฐ€์ ์ธ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์–ด.

๐Ÿ”„ ์‹œ๋„ํ•ด๋ณผ ์  (Try)

  1. ๐Ÿ“Œ ์šฐ์„ ์ˆœ์œ„ ์ •๋ฆฌ: ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋จผ์ € ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ , ๋ฐœํ‘œ ์ดํ›„ ๊ฐœ์„ ํ•  ๋ถ€๋ถ„์„ ๋ฆฌ์ŠคํŠธ์—…ํ•˜๋ฉด ๊ฐœ๋ฐœ ๋ถ€๋‹ด์ด ์ค„์–ด๋“ค ๊ฑฐ์•ผ.
  2. ๐Ÿ“ ๊ธฐ๋Šฅ๋ณ„ ํ…Œ์ŠคํŠธ ๊ณ„ํš: Diary-Chat ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ์ด ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ํŒจํ„ด์—์„œ๋„ ์ •์ƒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.
  3. ๐Ÿ“Š ๊ธฐ์ˆ  ๋ถ€์ฑ„ ์ •๋ฆฌ ์ผ์ • ํ™•๋ณด: ๋ฐœํ‘œ ์ดํ›„ ๋ฆฌํŒฉํ† ๋ง ์‹œ๊ฐ„์„ ํ™•๋ณดํ•˜์—ฌ, ์žฅ๊ธฐ์ ์ธ ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„.

๐Ÿ ๊ฒฐ๋ก 

Diary์™€ Chat์„ ์—ฐ๊ฒฐํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ , ์ž๋™ ์š”์•ฝ ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ํšจ์œจ์„ฑ์„ ๋†’์ธ ํ•˜๋ฃจ์˜€์–ด. ์ด์ œ ๋‚จ์€ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋™์•ˆ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •๋ฆฌํ•˜๊ณ , ๋ฐœํ‘œ ์ค€๋น„์— ์ง‘์ค‘ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์•„! ๐Ÿš€๐Ÿ”ฅ

์นดํ…Œ๊ณ ๋ฆฌ: ,

์ตœ๊ทผ ์ˆ˜์ •์ผ:

๋Œ“๊ธ€ ๋‚จ๊ธฐ๊ธฐ