<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hiro Takkii</title>
    <description>The latest articles on DEV Community by Hiro Takkii (@hiro_takkii).</description>
    <link>https://dev.to/hiro_takkii</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F812152%2Fed4e2b4a-c405-49e9-b59e-69f7a1e22514.jpeg</url>
      <title>DEV Community: Hiro Takkii</title>
      <link>https://dev.to/hiro_takkii</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hiro_takkii"/>
    <language>en</language>
    <item>
      <title>Change faker depending on the value of FuzzyChoice</title>
      <dc:creator>Hiro Takkii</dc:creator>
      <pubDate>Sun, 29 May 2022 05:49:11 +0000</pubDate>
      <link>https://dev.to/hiro_takkii/change-faker-depending-on-the-value-of-fuzzychoice-3okn</link>
      <guid>https://dev.to/hiro_takkii/change-faker-depending-on-the-value-of-fuzzychoice-3okn</guid>
      <description>&lt;p&gt;I use factory_bot and faker with Django.&lt;/p&gt;

&lt;p&gt;I want to create User with random gender, and also name related to the gender.(Of course, name does not define gender.)&lt;/p&gt;

&lt;p&gt;To do so, I use &lt;code&gt;FuzzyChoices&lt;/code&gt; and &lt;code&gt;factory.lazy_attribute&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;django.contrib.auth&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;get_user_model&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;factory&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;accounts.models&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Gender&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;factory&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;fuzzy&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;faker&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Faker&lt;/span&gt;


&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;UserFactory&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;factory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;django&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DjangoModelFactory&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Meta&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;UserModel&lt;/span&gt;

    &lt;span class="n"&gt;gender&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fuzzy&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FuzzyChoice&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;Gender&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FEMALE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Gender&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MALE&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

    &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;factory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lazy_attribute&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;locale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"ja_JP"&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gender&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;Gender&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FEMALE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Faker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;locale&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;name_female&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Faker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;locale&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;name_male&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thanks.&lt;/p&gt;

</description>
      <category>python</category>
      <category>django</category>
      <category>factorybot</category>
      <category>faker</category>
    </item>
    <item>
      <title>Reading Note: A philosophy of Software Design Chapter 1</title>
      <dc:creator>Hiro Takkii</dc:creator>
      <pubDate>Sat, 19 Mar 2022 12:46:06 +0000</pubDate>
      <link>https://dev.to/hiro_takkii/reading-note-a-philosophy-of-software-design-chapter-1-15dj</link>
      <guid>https://dev.to/hiro_takkii/reading-note-a-philosophy-of-software-design-chapter-1-15dj</guid>
      <description>&lt;p&gt;Recently, I read &lt;a href="https://amzn.to/37KUJZR"&gt;A philosophy of Software Design&lt;/a&gt; with friends.&lt;br&gt;
In this article, I write a reading note about it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Chapter1 Introduction( It's all about complexity)
&lt;/h1&gt;

&lt;p&gt;There is a strong relationship between understanding the systems and writing software.&lt;br&gt;
The more features you develop, the more it becomes complicated.&lt;br&gt;
So complexity increases inevitably over the life of any program.&lt;/p&gt;

&lt;p&gt;There are two general approaches to fighting complexity.&lt;br&gt;
The first is to eliminate complexity by making code more straightforward and apparent.&lt;br&gt;
The second is to encapsulate complexity to work on a system without being exposed to all its complexity at once. (modular design)&lt;/p&gt;

&lt;p&gt;This chapter introduced waterfall model and agile development.&lt;/p&gt;

&lt;p&gt;This book has two goals.&lt;br&gt;
The first is to describe the nature of software complexity.&lt;br&gt;
The second is to present techniques to minimize complexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  1.1 How to use this book
&lt;/h2&gt;

&lt;p&gt;Many of the design principles described here are abstract. This book may not be sufficient by itself to learn how to apply the principles.&lt;br&gt;
The best way to use this is in conjunction with code reviews.&lt;/p&gt;

&lt;p&gt;One of the best ways to improve design skills is to learn to recognize red flags. Red flags mean the signs that a piece of code is probably more complicated than it needs to be.&lt;/p&gt;

&lt;p&gt;Even if you learn design ideas, you must use them with moderation and discretion because if you take them to their extreme, you will probably end up in the wrong place.&lt;/p&gt;

&lt;h1&gt;
  
  
  Next
&lt;/h1&gt;

&lt;p&gt;I want to introduce chapter 2 of this book.&lt;br&gt;
Thanks.&lt;/p&gt;

</description>
      <category>softwaredesign</category>
      <category>software</category>
      <category>books</category>
    </item>
    <item>
      <title>pyenv install 3.8.2 BUILD FAILED (OS X 11.5.2 using python-build 20180424)</title>
      <dc:creator>Hiro Takkii</dc:creator>
      <pubDate>Sat, 12 Feb 2022 11:45:24 +0000</pubDate>
      <link>https://dev.to/hiro_takkii/pyenv-install-382-build-failed-os-x-1152-using-python-build-20180424-18d0</link>
      <guid>https://dev.to/hiro_takkii/pyenv-install-382-build-failed-os-x-1152-using-python-build-20180424-18d0</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Following command failed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;❯ pyenv install 3.8.2
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Installing Python-3.8.2...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 11.5.2 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/96/vjhghky10417fblgh4m1ltcw0000gn/T/python-build.20220212200129.83880
Results logged to /var/folders/96/vjhghky10417fblgh4m1ltcw0000gn/T/python-build.20220212200129.83880.log

Last 10 log lines:
                                                     ^
clang -c -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include   -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include   -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I./Include/internal  -I. -I./Include -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/Users/hiro_takkii/.pyenv/versions/3.8.2/include -I/usr/local/opt/zlib/include -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/Users/hiro_takkii/.pyenv/versions/3.8.2/include -I/usr/local/opt/zlib/include  -DPy_BUILD_CORE -o Modules/gcmodule.o Modules/gcmodule.c
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include   -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include   -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I./Include/internal  -I. -I./Include -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/Users/hiro_takkii/.pyenv/versions/3.8.2/include -I/usr/local/opt/zlib/include -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/Users/hiro_takkii/.pyenv/versions/3.8.2/include -I/usr/local/opt/zlib/include  -DPy_BUILD_CORE_BUILTIN  -DPy_BUILD_CORE_BUILTIN -I./Include/internal -c ./Modules/posixmodule.c -o Modules/posixmodule.o
./Modules/posixmodule.c:9197:15: error: implicit declaration of function 'sendfile' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        ret = sendfile(in, out, offset, &amp;amp;sbytes, &amp;amp;sf, flags);
              ^
1 error generated.
make: *** [Modules/posixmodule.o] Error 1
make: *** Waiting for unfinished jobs....
1 warning generated.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Solution
&lt;/h1&gt;

&lt;p&gt;You can install with patch-flag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Install with the --patch flag
pyenv install --patch 3.8.2 &amp;lt; &amp;lt;(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch)

python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Installing Python-3.8.2...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3394 (offset -32 lines).
patching file configure.ac
Hunk #1 succeeded at 498 (offset -12 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

Installed Python-3.8.2 to /Users/hiro_takkii/.pyenv/versions/3.8.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thanks.&lt;/p&gt;

&lt;h1&gt;
  
  
  Reference
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://github.com/pyenv/pyenv/issues/1643#issuecomment-843609741"&gt;Unable to build Python on macOS Big Sur with Xcode 12 beta&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>pyenv</category>
      <category>mac</category>
    </item>
    <item>
      <title>How to create simple chrome extension</title>
      <dc:creator>Hiro Takkii</dc:creator>
      <pubDate>Thu, 10 Feb 2022 06:51:51 +0000</pubDate>
      <link>https://dev.to/hiro_takkii/how-to-create-simple-chrome-extension-219o</link>
      <guid>https://dev.to/hiro_takkii/how-to-create-simple-chrome-extension-219o</guid>
      <description>&lt;p&gt;I am developing a notepad application by personal development. In the process, I needed to create a chrome extension.&lt;br&gt;
So in this post, I want to introduce the way to develop a simple chrome extension.&lt;/p&gt;
&lt;h1&gt;
  
  
  Result
&lt;/h1&gt;

&lt;p&gt;In this case, the extension shows an alert message when you visit &lt;code&gt;*.google.com&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femlabagz6h2qb6w3sqk8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femlabagz6h2qb6w3sqk8.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The codes are &lt;a href="https://github.com/takitsuba/chrome-ext-sample/tree/main/alert" rel="noopener noreferrer"&gt;Here&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  What you need
&lt;/h1&gt;

&lt;p&gt;You have to create only two files; &lt;code&gt;manifest.json&lt;/code&gt; and &lt;code&gt;show_alert.js&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  manifest.json
&lt;/h2&gt;

&lt;p&gt;Every extension needs &lt;code&gt;manifest.json&lt;/code&gt;, which provides essential information. (&lt;a href="https://developer.chrome.com/docs/extensions/mv3/manifest/" rel="noopener noreferrer"&gt;ref&lt;/a&gt; )This time the content of it is as follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "name": "Alert Sample",
  "description": "Chrome Extension Alert Sample",
  "version": "1.0.0",
  "manifest_version": 3,
  "content_scripts": [
    {
      "matches": ["*://*.google.com/*"],
      "js": ["show_alert.js"]
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;manifest_version&lt;/code&gt; must be set to 2 or 3 now. (&lt;a href="https://developer.chrome.com/docs/extensions/mv3/manifest/manifest_version/" rel="noopener noreferrer"&gt;ref&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;When you want to automatically run a script on some site, it is good to use &lt;code&gt;content_scripts&lt;/code&gt;. (&lt;a href="https://developer.chrome.com/docs/extensions/mv3/content_scripts/#static-declarative" rel="noopener noreferrer"&gt;ref&lt;/a&gt;)&lt;br&gt;
You can specify sites by &lt;code&gt;matches&lt;/code&gt; consisting of &lt;code&gt;scheme&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, and &lt;code&gt;path&lt;/code&gt;. (&lt;a href="https://developer.chrome.com/docs/extensions/mv3/match_patterns/" rel="noopener noreferrer"&gt;ref&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Injected scripts into matching pages can be specified by &lt;code&gt;js&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I omitted it this time, but other settings such as extension icon settings are also available in &lt;code&gt;manifest.json&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  show_alert.js
&lt;/h2&gt;

&lt;p&gt;This contains a simple alert script like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;window.alert("You visit 'google.com'.");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  How to load the extension
&lt;/h1&gt;

&lt;p&gt;After you create &lt;code&gt;manifest.json&lt;/code&gt; and &lt;code&gt;show_alert.js&lt;/code&gt;, you can load it in your chrome browser.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visit &lt;code&gt;chrome://extensions/&lt;/code&gt; and push &lt;code&gt;Load unpacked&lt;/code&gt; button (if it does not show, you have to turn on &lt;code&gt;Developer mode&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkgfd6f8ur33qjb2068ki.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkgfd6f8ur33qjb2068ki.png" alt="load unpacked"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Select the directory contains two files.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpjut8glqls8ef9uv99y0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpjut8glqls8ef9uv99y0.png" alt="select directory"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After that, alert Sample is displayed in Extensions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqw57balsoogb62ay8gbh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqw57balsoogb62ay8gbh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you visit &lt;code&gt;"*://*.google.com/*"&lt;/code&gt; an alert message is displayed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0345h8tefsyniymddojs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0345h8tefsyniymddojs.png" alt="visit"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Summary
&lt;/h1&gt;

&lt;p&gt;I introduced the way to create a simple chrome extension.&lt;br&gt;
I'd like to explain a little more complicated processing in the future.&lt;br&gt;
Thanks.&lt;/p&gt;

&lt;h1&gt;
  
  
  Reference
&lt;/h1&gt;

&lt;p&gt;Japanese: &lt;a href="https://qiita.com/RyBB/items/32b2a7b879f21b3edefc" rel="noopener noreferrer"&gt;Chrome拡張の作り方 (超概要)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>chrome</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
