{"id":32493,"date":"2024-11-01T09:09:27","date_gmt":"2024-11-01T09:09:27","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=32493"},"modified":"2024-11-01T11:55:04","modified_gmt":"2024-11-01T11:55:04","slug":"flutter-course-improving-the-lotto-app-ui","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/32493\/","title":{"rendered":"Flutter Course: Improving the Lotto App UI"},"content":{"rendered":"<p><!--\n  This HTML code contains information about a Flutter course on improving the Lotto app UI, version 13.4.\n  The code below is written to be used in WordPress.\n--><\/p>\n<p>Hello, developers! In this course, we will learn how to improve the user interface (UI) of the Lotto app. In the previous course, we implemented features to generate Lotto numbers and display the results. Now, let&#8217;s enhance the UI to improve the user experience further.<\/p>\n<h2>1. Project Setup and Existing Code Review<\/h2>\n<p>First, let&#8217;s take another look at the existing Lotto app project. The existing Lotto app has only basic features like a number generator. When the app is run, randomly generated Lotto numbers are displayed on the screen.<\/p>\n<p>The structure of the existing code is as follows.<\/p>\n<pre><code>\nimport 'package:flutter\/material.dart';\nimport 'dart:math';\n\nvoid main() => runApp(LottoApp());\n\nclass LottoApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Lotto App',\n      home: LottoHome(),\n    );\n  }\n}\n\nclass LottoHome extends StatefulWidget {\n  @override\n  _LottoHomeState createState() => _LottoHomeState();\n}\n\nclass _LottoHomeState extends State<LottoHome> {\n  List<int> lottoNumbers = [];\n\n  void generateNumbers() {\n    lottoNumbers = List.generate(6, (index) => Random().nextInt(45) + 1)..sort();\n    setState(() {});\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(title: Text('Lotto Number Generator')),\n      body: Center(\n        child: Column(\n          mainAxisAlignment: MainAxisAlignment.center,\n          children: [\n            Text(\n              'Generated Lotto Numbers:',\n              style: TextStyle(fontSize: 24),\n            ),\n            SizedBox(height: 20),\n            Text(\n              lottoNumbers.join(', '),\n              style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold),\n            ),\n            SizedBox(height: 30),\n            ElevatedButton(\n              onPressed: generateNumbers,\n              child: Text('Generate Numbers'),\n            ),\n          ],\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n<p>Now let&#8217;s explore various ways to improve the UI.<\/p>\n<h2>2. Establishing a UI Improvement Plan<\/h2>\n<p>To improve the UI, we can consider the following elements:<\/p>\n<ul>\n<li>Changing the color scheme<\/li>\n<li>Adjusting font styles and sizes<\/li>\n<li>Applying card or grid layouts to make the numbers stand out more<\/li>\n<li>Improving button design<\/li>\n<li>Adding animation effects<\/li>\n<\/ul>\n<h3>2.1 Changing the Color Scheme<\/h3>\n<p>Using an eye-catching and enjoyable color combination instead of a simple color palette can provide a pleasant experience for users. For example, set a light color for the background and a contrasting dark color for the text.<\/p>\n<h3>2.2 Adjusting Font Styles and Sizes<\/h3>\n<p>To create a more attractive user experience, various font styles can be applied. Try using more unique fonts than the default one to change the mood of the app. You can easily apply a variety of fonts using Google Fonts.<\/p>\n<h3>2.3 Applying Card or Grid Layouts<\/h3>\n<p>By outputting Lotto numbers using cards, information can be conveyed more clearly. Additionally, let\u2019s apply a grid layout to arrange the Lotto numbers.<\/p>\n<h3>2.4 Improving Button Design<\/h3>\n<p>Rather than using the default button, customize a button that includes selectable color combinations and text styles to emphasize button presses more.<\/p>\n<h3>2.5 Adding Animation Effects<\/h3>\n<p>Adding animation effects to buttons or UI elements can significantly enhance the user experience. Flutter provides various tools to easily implement animations.<\/p>\n<h2>3. Implementing UI Improvements<\/h2>\n<p>Now, based on the established plan, let&#8217;s modify the actual code to enhance the existing Lotto app by correcting certain elements.<\/p>\n<h3>3.1 Changing the Color Scheme<\/h3>\n<p>First, let&#8217;s change the color scheme to increase the contrast between the background and the text. Modify the <code>build<\/code> method in the <code>main.dart<\/code> file.<\/p>\n<pre><code>\nclass LottoApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Lotto App',\n      theme: ThemeData(\n        primarySwatch: Colors.blue,\n        scaffoldBackgroundColor: Colors.lightBlue[50],\n        textTheme: TextTheme(\n          bodyText1: TextStyle(color: Colors.grey[800]),\n          bodyText2: TextStyle(color: Colors.black),\n        ),\n      ),\n      home: LottoHome(),\n    );\n  }\n}\n<\/code><\/pre>\n<h3>3.2 Adjusting Font Styles and Sizes<\/h3>\n<p>Next, let&#8217;s change the default text style. We can apply a more attractive font by adding the <code>style<\/code> property to the <code>Text<\/code> widget.<\/p>\n<pre><code>\nText(\n  'Generated Lotto Numbers:',\n  style: TextStyle(\n    fontSize: 28,\n    fontWeight: FontWeight.bold,\n    fontFamily: 'Roboto',\n  ),\n),\n<\/code><\/pre>\n<h3>3.3 Applying Grid Layout<\/h3>\n<p>We will change the display of Lotto numbers to a grid format. Adding the code below will wrap each number in a card, making it visually appealing.<\/p>\n<pre><code>\nGridView.builder(\n  gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(\n    crossAxisCount: 3,\n    childAspectRatio: 1,\n    crossAxisSpacing: 10,\n    mainAxisSpacing: 10,\n  ),\n  itemCount: lottoNumbers.length,\n  itemBuilder: (context, index) {\n    return Card(\n      color: Colors.yellowAccent,\n      child: Center(\n        child: Text(\n          lottoNumbers[index].toString(),\n          style: TextStyle(fontSize: 40, fontWeight: FontWeight.bold),\n        ),\n      ),\n    );\n  },\n),\n<\/code><\/pre>\n<h3>3.4 Improving Button Design<\/h3>\n<p>To enhance the button design, we will add properties to the <code>ElevatedButton<\/code> to change its style.<\/p>\n<pre><code>\nElevatedButton(\n  onPressed: generateNumbers,\n  style: ElevatedButton.styleFrom(\n    primary: Colors.blue,\n    onPrimary: Colors.white,\n    padding: EdgeInsets.symmetric(horizontal: 25, vertical: 15),\n    shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)),\n  ),\n  child: Text('Generate Numbers', style: TextStyle(fontSize: 20)),\n),\n<\/code><\/pre>\n<h3>3.5 Adding Animation Effects<\/h3>\n<p>We will use <code>AnimatedContainer<\/code> to apply animation effects when the button is clicked. The animation effect will be activated upon pressing the button.<\/p>\n<pre><code>\nAnimatedContainer(\n  duration: Duration(milliseconds: 200),\n  decoration: BoxDecoration(\n    color: buttonPressed ? Colors.green : Colors.blue,\n    borderRadius: BorderRadius.circular(30),\n  ),\n  child: ElevatedButton(\n    onPressed: () {\n      setState(() {\n        buttonPressed = !buttonPressed;\n      });\n      generateNumbers();\n    },\n    child: Text('Generate Numbers', style: TextStyle(fontSize: 20)),\n  ),\n),\n<\/code><\/pre>\n<h2>4. Final Code<\/h2>\n<p>We will integrate all of the above code to create the final code as follows.<\/p>\n<pre><code>\nimport 'package:flutter\/material.dart';\nimport 'dart:math';\n\nvoid main() => runApp(LottoApp());\n\nclass LottoApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Lotto App',\n      theme: ThemeData(\n        primarySwatch: Colors.blue,\n        scaffoldBackgroundColor: Colors.lightBlue[50],\n        textTheme: TextTheme(\n          bodyText1: TextStyle(color: Colors.grey[800]),\n          bodyText2: TextStyle(color: Colors.black),\n        ),\n      ),\n      home: LottoHome(),\n    );\n  }\n}\n\nclass LottoHome extends StatefulWidget {\n  @override\n  _LottoHomeState createState() => _LottoHomeState();\n}\n\nclass _LottoHomeState extends State<LottoHome> {\n  List<int> lottoNumbers = [];\n  bool buttonPressed = false;\n\n  void generateNumbers() {\n    lottoNumbers = List.generate(6, (index) => Random().nextInt(45) + 1)..sort();\n    setState(() {});\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(title: Text('Lotto Number Generator')),\n      body: Center(\n        child: Column(\n          mainAxisAlignment: MainAxisAlignment.center,\n          children: [\n            Text('Generated Lotto Numbers:', style: TextStyle(fontSize: 28, fontWeight: FontWeight.bold, fontFamily: 'Roboto')),\n            SizedBox(height: 20),\n            Expanded(\n              child: GridView.builder(\n                gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(\n                  crossAxisCount: 3,\n                  childAspectRatio: 1,\n                  crossAxisSpacing: 10,\n                  mainAxisSpacing: 10,\n                ),\n                itemCount: lottoNumbers.length,\n                itemBuilder: (context, index) {\n                  return Card(\n                    color: Colors.yellowAccent,\n                    child: Center(\n                      child: Text(\n                        lottoNumbers[index].toString(),\n                        style: TextStyle(fontSize: 40, fontWeight: FontWeight.bold),\n                      ),\n                    ),\n                  );\n                },\n              ),\n            ),\n            SizedBox(height: 30),\n            ElevatedButton(\n              onPressed: () {\n                setState(() {\n                  buttonPressed = !buttonPressed;\n                });\n                generateNumbers();\n              },\n              style: ElevatedButton.styleFrom(\n                primary: Colors.blue,\n                onPrimary: Colors.white,\n                padding: EdgeInsets.symmetric(horizontal: 25, vertical: 15),\n                shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)),\n              ),\n              child: Text('Generate Numbers', style: TextStyle(fontSize: 20)),\n            ),\n          ],\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n<h2>5. Conclusion and Future Improvement Directions<\/h2>\n<p>So far, we have learned how to improve the UI of the Lotto app. By improving the app&#8217;s design in various ways, we can enhance the user&#8217;s experience. In the future, we can enrich the Lotto app even further by adding additional features, such as visualizing historical data for Lotto numbers or providing a record-keeping function for the numbers generated by the user.<\/p>\n<p>I hope this course has been helpful to developers like you, and I look forward to bringing you another topic in the next course. Thank you for reading to the end!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello, developers! In this course, we will learn how to improve the user interface (UI) of the Lotto app. In the previous course, we implemented features to generate Lotto numbers and display the results. Now, let&#8217;s enhance the UI to improve the user experience further. 1. Project Setup and Existing Code Review First, let&#8217;s take &hellip; <a href=\"https:\/\/atmokpo.com\/w\/32493\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Flutter Course: Improving the Lotto App UI&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[151],"tags":[],"class_list":["post-32493","post","type-post","status-publish","format-standard","hentry","category-flutter-course"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Flutter Course: Improving the Lotto App UI - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/32493\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter Course: Improving the Lotto App UI - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello, developers! In this course, we will learn how to improve the user interface (UI) of the Lotto app. In the previous course, we implemented features to generate Lotto numbers and display the results. Now, let&#8217;s enhance the UI to improve the user experience further. 1. Project Setup and Existing Code Review First, let&#8217;s take &hellip; \ub354 \ubcf4\uae30 &quot;Flutter Course: Improving the Lotto App UI&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/32493\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:09:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:55:04+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/32493\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32493\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Flutter Course: Improving the Lotto App UI\",\"datePublished\":\"2024-11-01T09:09:27+00:00\",\"dateModified\":\"2024-11-01T11:55:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32493\/\"},\"wordCount\":593,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Flutter course\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/32493\/\",\"url\":\"https:\/\/atmokpo.com\/w\/32493\/\",\"name\":\"Flutter Course: Improving the Lotto App UI - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:09:27+00:00\",\"dateModified\":\"2024-11-01T11:55:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32493\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/32493\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/32493\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flutter Course: Improving the Lotto App UI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Flutter Course: Improving the Lotto App UI - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/32493\/","og_locale":"ko_KR","og_type":"article","og_title":"Flutter Course: Improving the Lotto App UI - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello, developers! In this course, we will learn how to improve the user interface (UI) of the Lotto app. In the previous course, we implemented features to generate Lotto numbers and display the results. Now, let&#8217;s enhance the UI to improve the user experience further. 1. Project Setup and Existing Code Review First, let&#8217;s take &hellip; \ub354 \ubcf4\uae30 \"Flutter Course: Improving the Lotto App UI\"","og_url":"https:\/\/atmokpo.com\/w\/32493\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:09:27+00:00","article_modified_time":"2024-11-01T11:55:04+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/32493\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/32493\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Flutter Course: Improving the Lotto App UI","datePublished":"2024-11-01T09:09:27+00:00","dateModified":"2024-11-01T11:55:04+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/32493\/"},"wordCount":593,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Flutter course"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/32493\/","url":"https:\/\/atmokpo.com\/w\/32493\/","name":"Flutter Course: Improving the Lotto App UI - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:09:27+00:00","dateModified":"2024-11-01T11:55:04+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/32493\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/32493\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/32493\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Flutter Course: Improving the Lotto App UI"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=32493"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32493\/revisions"}],"predecessor-version":[{"id":32494,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32493\/revisions\/32494"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=32493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=32493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=32493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}