<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on DooD</title><link>https://dood.jp/blog/</link><description>Recent content in Blog on DooD</description><generator>Hugo</generator><language>ja</language><atom:link href="https://dood.jp/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Amazon EC2 で Nuxt.js 環境を構築する方法</title><link>https://dood.jp/blog/ec2-nuxt-setup/</link><pubDate>Wed, 30 Dec 2020 00:00:00 +0000</pubDate><guid>https://dood.jp/blog/ec2-nuxt-setup/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Amazon EC2 に Nuxt.js 環境を構築する手順を解説します。&lt;/p&gt;


&lt;h3 id="環境"&gt;環境&lt;a class="td-heading-self-link" href="#%e7%92%b0%e5%a2%83" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Amazon Linux 2 AMI (HVM), SSD Volume Type（無料枠）&lt;/li&gt;
&lt;/ul&gt;


&lt;h2 id="nginx-のインストール"&gt;Nginx のインストール&lt;a class="td-heading-self-link" href="#nginx-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;サーバーアプリケーションとして Nginx をインストールします。&lt;/p&gt;


&lt;h3 id="インストール手順"&gt;インストール手順&lt;a class="td-heading-self-link" href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e6%89%8b%e9%a0%86" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# amazon-linux-extras で nginx を有効化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo amazon-linux-extras &lt;span style="color:#204a87"&gt;enable&lt;/span&gt; nginx1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# nginx をインストール&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum -y install nginx
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# nginx を起動&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start nginx.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# OS 再起動時に自動起動する設定&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl &lt;span style="color:#204a87"&gt;enable&lt;/span&gt; nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="セキュリティグループの設定"&gt;セキュリティグループの設定&lt;a class="td-heading-self-link" href="#%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e3%81%ae%e8%a8%ad%e5%ae%9a" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;AWS コンソールでセキュリティグループの HTTP（ポート 80）を許可します。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/ec2-nuxt-setup/images/01-1-1024x159.png" alt="セキュリティグループ設定"&gt;&lt;/p&gt;</description></item><item><title>【DokuWiki】 Bootstrap3 Templateのタイトルをかっこよく編集する</title><link>https://dood.jp/blog/dokuwiki-bootstrap-custom/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/dokuwiki-bootstrap-custom/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;自分が運用している DokuWiki サイト(Bootstrap3 Template)がインデックスされるときに 【dokuwiki [タイトル]】と表示されるのは他とかぶってダサいし見づらい。 以下にバージョン【v2018-02-16】でのタイトルを変更してみた。 追記【v2019-05-22】での変更方法も挙げておきます。&lt;/p&gt;


&lt;h2 id="サイト設定から修正する"&gt;サイト設定から修正する&lt;a class="td-heading-self-link" href="#%e3%82%b5%e3%82%a4%e3%83%88%e8%a8%ad%e5%ae%9a%e3%81%8b%e3%82%89%e4%bf%ae%e6%ad%a3%e3%81%99%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bootstrap3 Template を使うと管理画面から tpl&amp;raquo;bootstrap3&amp;raquo;browserTitle 【@TITLE@-@WIKI@】 を設定すると 【dokuwiki-タイトル】に修正できる ただこの方法だけだと名前空間を使用していた場合 【dokuwiki-first:second:third】と表示されてさらにダサくなる&lt;/p&gt;


&lt;h2 id="ソースを修正する"&gt;ソースを修正する&lt;a class="td-heading-self-link" href="#%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%92%e4%bf%ae%e6%ad%a3%e3%81%99%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下のファイルを修正する 【dokuwiki フォルダ】/lib/tpl/bootstrap3/tpl_functions.php&lt;/p&gt;
&lt;p&gt;18 行目あたり&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;include_once(dirname(__FILE__) . &amp;#39;/inc/simple_html_dom.php&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下に修正する&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;include_once(dirname(__FILE__) . &amp;#39;/inc/parserutils.php&amp;#39;);
include_once(dirname(__FILE__) . &amp;#39;/inc/simple_html_dom.php&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;1308 行目あたり&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;return str_replace(array(&amp;#39;@WIKI@&amp;#39;, &amp;#39;@TITLE@&amp;#39;),
 array(strip_tags($conf[&amp;#39;title&amp;#39;]),　$browser_title),
 bootstrap3_conf(&amp;#39;browserTitle&amp;#39;));
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下に修正する&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$browser_title = p_get_metadata($ID,$key=&amp;#39;title&amp;#39;);

return str_replace(array(&amp;#39;@WIKI@&amp;#39;, &amp;#39;@TITLE@&amp;#39;),
 array(strip_tags($conf[&amp;#39;title&amp;#39;]), $browser_title),
 bootstrap3_conf(&amp;#39;browserTitle&amp;#39;));
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;getBrowserPageTitle 関数の戻り値がそのまま Dokuwiki ページのタイトルとなる。&lt;/p&gt;
&lt;p&gt;以上の変更で、ページの metadate から見出しを引っ張ってそのまま$browser_title を上書いてあげれば見出しがそのままタイトルとなる。つまり 【===== 見出し ======】 こういう見出しをページに設定していた場合 【dokuwiki-見出し】となる&lt;/p&gt;
&lt;p&gt;注意しなければならないのは見出しを設定しないと dokuwiki- となってしまう 以上。&lt;/p&gt;</description></item><item><title>【Lambda + Boto3】AWSアカウント間でよりセキュアなSTS認証を行う</title><link>https://dood.jp/blog/lambda-boto3-sts/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/lambda-boto3-sts/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;STS とは AWS Security Token Service (AWS STS) を使用して、AWS リソースへのアクセスをコントロールできる一時的セキュリティ認証情報を持つ、信頼されたユーザーを作成および提供することができます。 アクセスキー認証情報と違いは以下の通りです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;STS が発行する、認証情報は一時的なものであり、一定時間で消失します。(時間は数分から数時間まで設定可能)&lt;/li&gt;
&lt;li&gt;STS が発行する、認証情報はユーザーとともに保存されることはなく、ユーザーのリクエストによって提供されます。 IAM ユーザーが所有するアクセスキーをそのまま使用すると思いもよらない、セキュリティー事故が起こる可能性があります。 STS が発行する一時的なアクセスキーを持つユーザーを作成し、利用するほうが安全です。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;以上を踏まえて、よりセキュアな別アカウントの情報を参照する Lambda を作成します。&lt;/p&gt;


&lt;h2 id="参照先で-assumerole-を作成する"&gt;参照先で AssumeRole を作成する&lt;a class="td-heading-self-link" href="#%e5%8f%82%e7%85%a7%e5%85%88%e3%81%a7-assumerole-%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;


&lt;h2 id="参照するテーブルの作成"&gt;参照するテーブルの作成&lt;a class="td-heading-self-link" href="#%e5%8f%82%e7%85%a7%e3%81%99%e3%82%8b%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%ae%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/lambda-boto3-sts/images/01-2-1.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;AssumeRole とは STS の利用を許可するためのロールです。 IAM ロール作成に進んでください。&lt;/p&gt;
&lt;p&gt;【アカウント ID】には連携先の AWS アカウントのアカウント ID を入力&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/lambda-boto3-sts/images/02-2-1.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;このロールには DynamoDB のアクセス権限が欲しいため、 ポリシー【AmazonDynamoDBFullAccess】を選択&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/lambda-boto3-sts/images/03-1.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;必要あれば入力してください。 今回は未入力です。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/lambda-boto3-sts/images/04.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;ロール名を適当に入力。 今回は【assumeRoleDynamoDB】とします。 これでロールの作成を行いましょう。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/lambda-boto3-sts/images/05.png" alt=""&gt;&lt;/p&gt;


&lt;h2 id="参照元で-dynamodb-を作成"&gt;参照元で DynamoDB を作成&lt;a class="td-heading-self-link" href="#%e5%8f%82%e7%85%a7%e5%85%83%e3%81%a7-dynamodb-%e3%82%92%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;テスト用に参照する DyanmoDB を作成します。 名前は【sample_tbl】とします。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/lambda-boto3-sts/images/06.png" alt=""&gt;&lt;/p&gt;


&lt;h2 id="参照先で-lambda-関数を作成"&gt;参照先で Lambda 関数を作成&lt;a class="td-heading-self-link" href="#%e5%8f%82%e7%85%a7%e5%85%88%e3%81%a7-lambda-%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下コードを入力し、Lambda 関数を実行してみてください。&lt;/p&gt;</description></item><item><title>【Linux】URLエンコードされてしまったファイル名を修正する方法</title><link>https://dood.jp/blog/lamp-setup/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/lamp-setup/</guid><description>&lt;h2 id="url-エンコードとは"&gt;URL エンコードとは&lt;a class="td-heading-self-link" href="#url-%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc%e3%83%89%e3%81%a8%e3%81%af" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;フォームでデータを送信する際に、application/x-www-form-urlencoded の仕様に 沿ってエンコードされる。&lt;br&gt;
以下のようなパーセントと 16 進で変換されたもの修正する方法を記載する&lt;/p&gt;
&lt;p&gt;テスト →%e3%83%86%e3%82%b9%e3%83%88&lt;/p&gt;


&lt;h2 id="修正方法"&gt;修正方法&lt;a class="td-heading-self-link" href="#%e4%bf%ae%e6%ad%a3%e6%96%b9%e6%b3%95" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下を実行し、convmv をインストール&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 ~]# sudo yum install convmv
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;修正対象ファイルが存在するか確認&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 ~]# ls
%e3%83%86%e3%82%b9%e3%83%88.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;convmv を実行&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 ~]# convmv --notest --unescape ./%e3%83%86%e3%82%b9%e3%83%88.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;デコードされたか確認&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 ~]# ls
テスト.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="おまけ"&gt;おまけ&lt;a class="td-heading-self-link" href="#%e3%81%8a%e3%81%be%e3%81%91" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ディレクトリ内を再帰的にデコードする&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 ~]# ls
%e3%83%86%e3%82%b9%e3%83%88.txt
%e8%a9%a6%e9%a8%93.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;直下ディレクトリを再帰的にデコード&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 ~]# convmv -r --notest --unescape ./*
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;デコードされたか確認&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 ~]#
テスト.txt 試験.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以上です。&lt;/p&gt;</description></item><item><title>Amazon EC2 で Let'sEncrypt の証明書を取得する</title><link>https://dood.jp/blog/ec2-letsencrypt-install/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/ec2-letsencrypt-install/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Amazon EC2 で LetsEncrypt でサーバー証明書を発行する必要があったため、備忘録として書き残しておきます。&lt;/p&gt;
&lt;p&gt;Bolume Type は Amazon Linux 2 AMI (HVM), SSD Volume Type(無料枠) です。&lt;/p&gt;


&lt;h2 id="certbot-の取得"&gt;certbot の取得&lt;a class="td-heading-self-link" href="#certbot-%e3%81%ae%e5%8f%96%e5%be%97" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;wget で取得する&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget https://dl.eff.org/certbot-auto
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;2. 権限追加&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;chmod 700 certbot-auto
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="certbot-auto-を-amazon-linux-で使えるように修正"&gt;certbot-auto を Amazon Linux で使えるように修正&lt;a class="td-heading-self-link" href="#certbot-auto-%e3%82%92-amazon-linux-%e3%81%a7%e4%bd%bf%e3%81%88%e3%82%8b%e3%82%88%e3%81%86%e3%81%ab%e4%bf%ae%e6%ad%a3" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;以下を検索し&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;elif [ -f /etc/issue ] &amp;amp;&amp;amp; grep -iq &amp;#34;Amazon Linux&amp;#34; /etc/issue ; then
 Bootstrap() {
 ExperimentalBootstrap &amp;#34;Amazon Linux&amp;#34; BootstrapRpmCommon
 }
 BOOTSTRAP_VERSION=&amp;#34;BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;2. 以下のように修正&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; elif grep -i &amp;#34;Amazon Linux&amp;#34; /etc/issue &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || \
 grep &amp;#39;cpe:.*:amazon_linux:2&amp;#39; /etc/os-release &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then
 Bootstrap() {
 ExperimentalBootstrap &amp;#34;Amazon Linux&amp;#34; BootstrapRpmCommon
 }
 BOOTSTRAP_VERSION=&amp;#34;BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;3. コマンドで使えるように bin に移動する&lt;/p&gt;</description></item><item><title>CentOS7 に PHP7 をインストールする方法</title><link>https://dood.jp/blog/centos7-php7-install/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/centos7-php7-install/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;CentOS7 に PHP7 をインストールする手順を備忘録として残しておきます。&lt;/p&gt;


&lt;h2 id="前提条件"&gt;前提条件&lt;a class="td-heading-self-link" href="#%e5%89%8d%e6%8f%90%e6%9d%a1%e4%bb%b6" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CentOS 7 系のサーバー&lt;/li&gt;
&lt;li&gt;root 権限または sudo 権限&lt;/li&gt;
&lt;/ul&gt;


&lt;h2 id="リポジトリの追加"&gt;リポジトリの追加&lt;a class="td-heading-self-link" href="#%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%ae%e8%bf%bd%e5%8a%a0" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;CentOS の標準リポジトリには PHP7 が含まれていないため、外部リポジトリを追加する必要があります。&lt;/p&gt;


&lt;h3 id="epel-リポジトリの追加"&gt;EPEL リポジトリの追加&lt;a class="td-heading-self-link" href="#epel-%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%ae%e8%bf%bd%e5%8a%a0" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;まず EPEL リポジトリを追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install epel-release
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;実行結果:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.advancedhosters.com
 * extras: mirrors.advancedhosters.com
 * updates: mirrors.advancedhosters.com
...
Installed:
 epel-release.noarch 0:7-11

Complete!
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id="remi-リポジトリの追加"&gt;Remi リポジトリの追加&lt;a class="td-heading-self-link" href="#remi-%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%ae%e8%bf%bd%e5%8a%a0" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;次に、PHP の最新版が提供されている Remi リポジトリを追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;実行結果:&lt;/p&gt;</description></item><item><title>Docker で Go 環境を作成する方法</title><link>https://dood.jp/blog/docker-go-setup/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/docker-go-setup/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Docker を使って Go の開発環境を構築する手順を解説します。&lt;/p&gt;


&lt;h3 id="前提条件"&gt;前提条件&lt;a class="td-heading-self-link" href="#%e5%89%8d%e6%8f%90%e6%9d%a1%e4%bb%b6" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Docker がインストール済みであること&lt;/li&gt;
&lt;li&gt;docker-compose が使用可能であること&lt;/li&gt;
&lt;/ul&gt;


&lt;h2 id="dockerfile-の作成"&gt;Dockerfile の作成&lt;a class="td-heading-self-link" href="#dockerfile-%e3%81%ae%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作業ディレクトリを作成し、&lt;code&gt;Dockerfile&lt;/code&gt; を作成します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-dockerfile" data-lang="dockerfile"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# ベースとなる Docker イメージ指定&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;FROM&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;golang:latest&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# コンテナ内に作業ディレクトリを作成&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;RUN&lt;/span&gt; mkdir /go/src/work&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# コンテナログイン時のディレクトリ指定&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;WORKDIR&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;/go/src/work&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# Gin フレームワークをインストール&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;RUN&lt;/span&gt; go get github.com/gin-gonic/gin&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# ホストのファイルをコンテナの作業ディレクトリにコピー&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;ADD&lt;/span&gt; . /go/src/work&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# Go アプリケーションを起動&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a40000"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;CMD&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;[&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;go&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;run&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;main.go&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;]&lt;/span&gt;&lt;span style="color:#a40000"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="docker-composeyml-の作成"&gt;docker-compose.yml の作成&lt;a class="td-heading-self-link" href="#docker-composeyml-%e3%81%ae%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;同じディレクトリに &lt;code&gt;docker-compose.yml&lt;/code&gt; を作成します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;version&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#39;3&amp;#39;&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;services&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;app&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;build&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;. &lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# Dockerfile があるディレクトリを指定&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;tty&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# コンテナの起動を永続化&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;volumes&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#000"&gt;.:/go/src/work &lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# ホストとコンテナのディレクトリをマウント&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;ports&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;- &lt;span style="color:#0000cf;font-weight:bold"&gt;8080&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;8080&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# ポートマッピング&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="コンテナの起動"&gt;コンテナの起動&lt;a class="td-heading-self-link" href="#%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%81%ae%e8%b5%b7%e5%8b%95" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下のコマンドを順番に実行します。&lt;/p&gt;</description></item><item><title>dokuwiki-install</title><link>https://dood.jp/blog/docker-gin-setup/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/docker-gin-setup/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;プラグインが充実しており多機能で DB も不要な wiki ツール、Dokuwiki をインストールしてみた 。&lt;/p&gt;


&lt;h2 id="前提"&gt;前提&lt;a class="td-heading-self-link" href="#%e5%89%8d%e6%8f%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;LAMP または LEMP 環境が作成済みであること。&lt;/p&gt;


&lt;h2 id="dokuwiki-をダウンロードし配置"&gt;Dokuwiki をダウンロードし配置&lt;a class="td-heading-self-link" href="#dokuwiki-%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%97%e9%85%8d%e7%bd%ae" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下コマンドを実行&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget https://download.dokuwiki.org/out/dokuwiki-8a269cc015a64b40e4c918699f1e1142.tgz
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;tar -xzvf dokuwiki-8a269cc015a64b40e4c918699f1e1142.tgz
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;mv ./dokuwiki /ドキュメントルートへ
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="dokuwiki-のインストール"&gt;Dokuwiki のインストール&lt;a class="td-heading-self-link" href="#dokuwiki-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;【サーバー IP/dokuwiki/install.php】にアクセスし下記をの画像を確認してください。パーミッションを設定していないためエラーが出ています。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/docker-gin-setup/images/01-2.png" alt=""&gt;&lt;/p&gt;


&lt;h2 id="ダウンロードしたdokuwiki-ディレクトリに移動し以下を実行"&gt;ダウンロードした、dokuwiki ディレクトリに移動し、以下を実行&lt;a class="td-heading-self-link" href="#%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%97%e3%81%9fdokuwiki-%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e3%81%ab%e7%a7%bb%e5%8b%95%e3%81%97%e4%bb%a5%e4%b8%8b%e3%82%92%e5%ae%9f%e8%a1%8c" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[example@123-45-67-89 dokuwiki]# chmod 777 conf
[example@123-45-67-89 dokuwiki]# chmod 777 data
[example@123-45-67-89 dokuwiki]# chmod 777 ./lib/plugins
[example@123-45-67-89 dokuwiki]# cd ./data
[example@123-45-67-89 data]# chmod 777 ./cache ./index ./locks ./media ./attic ./media_attic ./media_meta ./meta ./pages ./tmp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;再度【サーバー IP/dokuwiki/install.php】にアクセスしてください。 以下の警告が表示されているかと思います。 これはユーザーに公開してはならないディレクトリが公開されていることで表示される警告です。非公開設定するべきディレクトリは以下の通りです。&lt;/p&gt;</description></item><item><title>ESLint で JavaScript を自動整形する</title><link>https://dood.jp/blog/eslint-format/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/eslint-format/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;JavaScript で開発する際、コードスタイルのルールを統一することは重要です。ESLint を使用してコードを自動整形する方法を解説します。&lt;/p&gt;


&lt;h3 id="使用するツール"&gt;使用するツール&lt;a class="td-heading-self-link" href="#%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b%e3%83%84%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;パッケージ管理&lt;/strong&gt;: npm&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;リンター&lt;/strong&gt;: ESLint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;スタイルガイド&lt;/strong&gt;: eslint-config-google&lt;/li&gt;
&lt;/ul&gt;


&lt;h2 id="nodejs-のインストール"&gt;Node.js のインストール&lt;a class="td-heading-self-link" href="#nodejs-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://nodejs.org/ja/"&gt;Node.js 公式サイト&lt;/a&gt; から Node.js をインストールし、npm を使用できる状態にしてください。&lt;/p&gt;


&lt;h2 id="eslint-のインストール"&gt;ESLint のインストール&lt;a class="td-heading-self-link" href="#eslint-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作業ディレクトリで以下のコマンドを実行し、ESLint と Google スタイルガイドをインストールします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install eslint eslint-config-google
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="eslint-の設定"&gt;ESLint の設定&lt;a class="td-heading-self-link" href="#eslint-%e3%81%ae%e8%a8%ad%e5%ae%9a" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作業ディレクトリに &lt;code&gt;.eslintrc&lt;/code&gt; ファイルを作成し、以下の内容を記述します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;extends&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;[&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;google&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;rules&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;linebreak-style&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;[&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;error&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;windows&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#000;font-weight:bold"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;env&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;&amp;#34;es6&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="テストコードの作成"&gt;テストコードの作成&lt;a class="td-heading-self-link" href="#%e3%83%86%e3%82%b9%e3%83%88%e3%82%b3%e3%83%bc%e3%83%89%e3%81%ae%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;test.js&lt;/code&gt; というファイル名でテストコードを作成します。Google スタイルガイドでは、文字列にはシングルクォートを使用し、文末にはセミコロンが必要です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;// eslint-disable-next-line valid-jsdoc
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;&lt;/span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt; * @add
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt; */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;function&lt;/span&gt; &lt;span style="color:#000"&gt;add&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#000"&gt;x&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#000"&gt;y&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;)&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#204a87;font-weight:bold"&gt;return&lt;/span&gt; &lt;span style="color:#000"&gt;x&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;+&lt;/span&gt; &lt;span style="color:#000"&gt;y&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87"&gt;document&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#000"&gt;write&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#000"&gt;add&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;Hello&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;&amp;#34;World&amp;#34;&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="eslint-で自動整形"&gt;ESLint で自動整形&lt;a class="td-heading-self-link" href="#eslint-%e3%81%a7%e8%87%aa%e5%8b%95%e6%95%b4%e5%bd%a2" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下のコマンドを実行すると、ルールに従ってコードが自動修正されます。&lt;/p&gt;</description></item><item><title>HTMLHintでHTML5を自動整形をしてみた</title><link>https://dood.jp/blog/htmlhint-format/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/htmlhint-format/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;HTML5 で開発していく上で、ある程度のルールは決めておく必要がある。 htmlhint を使用し、コード管理を自動化してみました。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;パッケージ管理ツール npm&lt;/li&gt;
&lt;li&gt;使用モジュール htmllint prettier&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="node-をインストール"&gt;node をインストール&lt;a class="td-heading-self-link" href="#node-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://nodejs.org/ja/"&gt;node&lt;/a&gt;をインストールし npm を使用できる状態にしてください。&lt;/p&gt;


&lt;h2 id="packagejson-作成"&gt;package.json 作成&lt;a class="td-heading-self-link" href="#packagejson-%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作業フォルダ内で、以下コマンドを叩いてください。 対話式で聞かれる項目はすべてデフォルト状態で問題ないです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;npm init
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下が出力されます。&lt;/p&gt;
&lt;p&gt;こんなのができます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;{
 &amp;#34;name&amp;#34;: &amp;#34;test&amp;#34;,
 &amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
 &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
 &amp;#34;main&amp;#34;: &amp;#34;index.js&amp;#34;,
 &amp;#34;scripts&amp;#34;: {
 &amp;#34;test&amp;#34;: &amp;#34;echo \&amp;#34;Error: no test specified\&amp;#34; &amp;amp;&amp;amp; exit 1&amp;#34;
 },
 &amp;#34;author&amp;#34;: &amp;#34;&amp;#34;,
 &amp;#34;license&amp;#34;: &amp;#34;ISC&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;htmlhint とルールとフォーマッターをインストールする 作業ディレクトリ内で、以下を実行し必要なモジュールをインストールしてください。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;npm install htmlhint prettier
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="htmlhlint-ルールを記述する"&gt;htmlhlint ルールを記述する&lt;a class="td-heading-self-link" href="#htmlhlint-%e3%83%ab%e3%83%bc%e3%83%ab%e3%82%92%e8%a8%98%e8%bf%b0%e3%81%99%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作業ディレクトリ内で、【.htmlhintrc】ファイルを作成し以下を記述する。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;{
 &amp;#34;tagname-lowercase&amp;#34;: true,
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="packagejson-を編集"&gt;package.json を編集&lt;a class="td-heading-self-link" href="#packagejson-%e3%82%92%e7%b7%a8%e9%9b%86" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下を追記&lt;/p&gt;</description></item><item><title>Lambda boto3で別アカウントのAWSを操作しよう</title><link>https://dood.jp/blog/python-boto3-account/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/python-boto3-account/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lambda boto3 で他 AWS の環境を簡単に操作する方法を記載します&lt;/p&gt;


&lt;h2 id="参照元のアクセスキー-id-とシークレットアクセスキーを取得"&gt;参照元のアクセスキー ID とシークレットアクセスキーを取得&lt;a class="td-heading-self-link" href="#%e5%8f%82%e7%85%a7%e5%85%83%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%82%ad%e3%83%bc-id-%e3%81%a8%e3%82%b7%e3%83%bc%e3%82%af%e3%83%ac%e3%83%83%e3%83%88%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%82%ad%e3%83%bc%e3%82%92%e5%8f%96%e5%be%97" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下手順を実施&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;AWS サービス【IAM】に移動&lt;/li&gt;
&lt;li&gt;ユーザー押下&lt;/li&gt;
&lt;li&gt;【AdministratorAccess】ポリシーがアタッチされているユーザーを選択&lt;/li&gt;
&lt;li&gt;認証情報タブを押下&lt;/li&gt;
&lt;li&gt;アクセスキーの作成&lt;/li&gt;
&lt;li&gt;アクセスキー ID をシークレットアクセスキーをメモ&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="参照元で-dynamodb-作成"&gt;参照元で dynamoDB 作成&lt;a class="td-heading-self-link" href="#%e5%8f%82%e7%85%a7%e5%85%83%e3%81%a7-dynamodb-%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;テーブルを作成。 名前は【sample_tbl】とします。&lt;/p&gt;


&lt;h2 id="参照先アカウントで-lambda-関数を作成"&gt;参照先アカウントで Lambda 関数を作成&lt;a class="td-heading-self-link" href="#%e5%8f%82%e7%85%a7%e5%85%88%e3%82%a2%e3%82%ab%e3%82%a6%e3%83%b3%e3%83%88%e3%81%a7-lambda-%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下コード&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;import boto3

def get_external_dynamodb():
 client = boto3.client(&amp;#39;dynamodb&amp;#39;,
 aws_access_key_id=[アクセスキー ID],
 aws_secret_access_key=[シークレットアクセスキー] ,
 region_name=[リージョンコード]
 )
 return client

def lambda_handler(event, context):
 external_dynamodb = get_external_dynamodb()
 external_table = external_dynamodb.scan(TableName = &amp;#34;sample_tbl&amp;#34;)
 return external_table
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以上です&lt;/p&gt;</description></item><item><title>LAMP（Linux, Apache, MariaDB, PHP）環境を構築する方法</title><link>https://dood.jp/blog/lamp-setup/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/lamp-setup/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;LAMP 環境を構築する手順を備忘録として残しておきます。&lt;/p&gt;


&lt;h3 id="環境"&gt;環境&lt;a class="td-heading-self-link" href="#%e7%92%b0%e5%a2%83" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CentOS 7&lt;/li&gt;
&lt;/ul&gt;


&lt;h2 id="apache-のインストール"&gt;Apache のインストール&lt;a class="td-heading-self-link" href="#apache-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;まず Apache がインストールされているか確認します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;httpd -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;インストールされていない場合は以下のように表示されます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bash: httpd: command not found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Apache をインストールします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install httpd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;バージョンを確認します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;httpd -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Server version: Apache/2.4.6 (CentOS)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Server built: Apr 24 2019 13:45:48
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="apache-の起動"&gt;Apache の起動&lt;a class="td-heading-self-link" href="#apache-%e3%81%ae%e8%b5%b7%e5%8b%95" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;ステータスを確認します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;service httpd status
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;起動していない場合は起動します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo service httpd start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="自動起動の設定"&gt;自動起動の設定&lt;a class="td-heading-self-link" href="#%e8%87%aa%e5%8b%95%e8%b5%b7%e5%8b%95%e3%81%ae%e8%a8%ad%e5%ae%9a" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;サーバー起動時に Apache も自動起動するよう設定します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl &lt;span style="color:#204a87"&gt;enable&lt;/span&gt; httpd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="apache-の動作確認"&gt;Apache の動作確認&lt;a class="td-heading-self-link" href="#apache-%e3%81%ae%e5%8b%95%e4%bd%9c%e7%a2%ba%e8%aa%8d" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;サーバーの IP アドレスにブラウザでアクセスし、Apache のデフォルトページが表示されることを確認します。&lt;/p&gt;</description></item><item><title>NginxサーバーのwebサイトををLet’sEncryptでHTTPS化してみた</title><link>https://dood.jp/blog/nginx-letsencrypt-https/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/nginx-letsencrypt-https/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;自サイトを HTTPS 通信できるようにしたかったので、 無料で証明書を発行してくれる Let’s Encrypt を使用して みました。&lt;/p&gt;


&lt;h2 id="環境"&gt;環境&lt;a class="td-heading-self-link" href="#%e7%92%b0%e5%a2%83" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;CentOS 7&lt;/li&gt;
&lt;li&gt;nginx&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="lets-encrypt-のインストール"&gt;Let’s Encrypt のインストール&lt;a class="td-heading-self-link" href="#lets-encrypt-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;git を使用するので、install していない場合は、install してください&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 ~]# sudo yum install git
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Letsencrypt をインストール&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 ~]#git clone https://github.com/letsencrypt/letsencrypt.git
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 ~]# cd letsencrypt
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 letsencrypt]# ./letsencrypt-auto --help
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="証明書を発行する"&gt;証明書を発行する&lt;a class="td-heading-self-link" href="#%e8%a8%bc%e6%98%8e%e6%9b%b8%e3%82%92%e7%99%ba%e8%a1%8c%e3%81%99%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 letsencrypt]# ./letsencrypt-auto certonly --standalone -d 【所有しているドメイン名】
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下エラーが出た場合&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Cleaning up challenges
Problem binding to port 80: Could not bind to IPv4 or IPv6.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;http サーバを起動してる場合起きるエラーです。下記コマンドで nginx を停止しましょう。apache を使用している場合も同様に停止してください。&lt;/p&gt;</description></item><item><title>node.jsでDynamoDBのデータを取得する方法まとめてみた</title><link>https://dood.jp/blog/node-get-dynamodb/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/node-get-dynamodb/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;個人で DynamoDB を使う機会があり、node で操作する方法が AWS のドキュメントだとわかりづらかったため自分なりに修正してコーディングしてみました。&lt;/p&gt;
&lt;p&gt;aws の DynamoDB に保存されているデータを取得するとき、色々な方法があったので個人的によく使う物を以下にまとめておきます。&lt;/p&gt;


&lt;h2 id="getitemを使って個別に取得する方法"&gt;getItem()を使って個別に取得する方法&lt;a class="td-heading-self-link" href="#getitem%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e5%80%8b%e5%88%a5%e3%81%ab%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;一番簡単なデータ取得方法です。&lt;/p&gt;
&lt;p&gt;パーティションキーを指定して、一件だけデータを取得できます。 ログインユーザー情報などを取得するときに使えばいいのかなと思います。&lt;/p&gt;
&lt;p&gt;ただパーティションキーだけしか指定できないため、使い勝手はあまりよろしくない。&lt;/p&gt;
&lt;p&gt;以下の例では id をパーティションキーとして使います。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;const dynamodb = new AWS.DynamoDB({ region: &amp;#34;ap-northeast-1&amp;#34; });

router.get(&amp;#34;/get&amp;#34;, (req, res, next) =&amp;gt; {
 const params = {
 TableName: &amp;#34;user&amp;#34;,
 Key: {
 id: { S: 1 }
 }
 };
 dynamodb.getItem(params, function(err, user) {
 const user = {
 id: &amp;#34;&amp;#34;,
 name: &amp;#34;&amp;#34;,
 };
 user.id = user.Item.id.S;
 user.name = user.Item.name.S;
 res.json(user);
 });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="batchgetitemでまとめデータを取得する方法"&gt;batchGetItem()でまとめデータを取得する方法&lt;a class="td-heading-self-link" href="#batchgetitem%e3%81%a7%e3%81%be%e3%81%a8%e3%82%81%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;getItem があるんだから getItems もあるだろうと思ったのんですが、ありませんでした。&lt;/p&gt;</description></item><item><title>PHPのライブラリ管理ツールComposerをインストールしてみた</title><link>https://dood.jp/blog/docker-gin-setup/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/docker-gin-setup/</guid><description>&lt;h2 id="初めに"&gt;初めに&lt;a class="td-heading-self-link" href="#%e5%88%9d%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;PHP のライブラリ管理ツール Composer をインストールしたので備忘録として残しておきます。 参考: 　&lt;a href="https://getcomposer.org/download/"&gt;composer 公式サイト&lt;/a&gt;&lt;/p&gt;


&lt;h2 id="環境"&gt;環境&lt;a class="td-heading-self-link" href="#%e7%92%b0%e5%a2%83" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Linux(CentOS)&lt;/li&gt;
&lt;li&gt;PHP7.0.33&lt;/li&gt;
&lt;li&gt;Apache&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="インストーラーをダウンロードします"&gt;インストーラーをダウンロードします。&lt;a class="td-heading-self-link" href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%a9%e3%83%bc%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%97%e3%81%be%e3%81%99" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 ~]# php -r &amp;#34;copy(&amp;#39;https://getcomposer.org/installer&amp;#39;, &amp;#39;composer-setup.php&amp;#39;);&amp;#34;
[user@123-45-67-89 ~]# ls
composer-setup.php
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="インストーラーのチェック"&gt;インストーラーのチェック&lt;a class="td-heading-self-link" href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%a9%e3%83%bc%e3%81%ae%e3%83%81%e3%82%a7%e3%83%83%e3%82%af" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;問題ないとは思いますが、 インストーラが有効なものかチェックします。 【Installer verified】が表示されたら問題ないです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 ~]# php -r &amp;#34;if (hash_file(&amp;#39;sha384&amp;#39;, &amp;#39;composer-setup.php&amp;#39;) === &amp;#39;48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5&amp;#39;) { echo &amp;#39;Installer verified&amp;#39;; } else { echo &amp;#39;Installer corrupt&amp;#39;; unlink(&amp;#39;composer-setup.php&amp;#39;); } echo PHP_EOL;&amp;#34;

Installer verified
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="インストーラーを実行"&gt;インストーラーを実行&lt;a class="td-heading-self-link" href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%a9%e3%83%bc%e3%82%92%e5%ae%9f%e8%a1%8c" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;インストーラーを実行し、【composer.phar】が出力します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@123-45-67-89 ~]# php composer-setup.php
All settings correct for using Composer
Downloading...

Composer (version 1.8.5) successfully installed to: /home/centos/composer.phar
Use it: php composer.phar

[user@123-45-67-89 ~]# ls
composer.phar composer-setup.php
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="グローバルでコマンド実行できるように設定"&gt;グローバルでコマンド実行できるように設定&lt;a class="td-heading-self-link" href="#%e3%82%b0%e3%83%ad%e3%83%bc%e3%83%90%e3%83%ab%e3%81%a7%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e5%ae%9f%e8%a1%8c%e3%81%a7%e3%81%8d%e3%82%8b%e3%82%88%e3%81%86%e3%81%ab%e8%a8%ad%e5%ae%9a" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;composer.phar がちゃんと実行されるか確認する&lt;/p&gt;</description></item><item><title>spreadsheet</title><link>https://dood.jp/blog/node-get-dynamodb/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/node-get-dynamodb/</guid><description>&lt;h2 id="初めに"&gt;初めに&lt;a class="td-heading-self-link" href="#%e5%88%9d%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;インストール方法を紹介する前に、以下の記事を参考に php7 系と Composer がインストールされている Linux 環境を準備してください。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://wiblok.com/blog/it/composer-install/"&gt;https://wiblok.com/blog/it/composer-install/&lt;/a&gt;&lt;/p&gt;


&lt;h2 id="必須ライブラリのインストール"&gt;必須ライブラリのインストール&lt;a class="td-heading-self-link" href="#%e5%bf%85%e9%a0%88%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下コマンドを実行し PhpSpreadsheet で必須のライブラリをインストールしてください。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@ip-123-45-67-891 ~]$ sudo yum --enablerepo=emi,remi-php72 install -y php-xml php-gd php-mbstring php-zip
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="phpspreadsheet-のインストール"&gt;phpSpreadsheet のインストール&lt;a class="td-heading-self-link" href="#phpspreadsheet-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下コマンドを実行し PhpSpreadsheet をインストールしてください。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@ip-123-45-67-891 ~]$ sudo composer require phpoffice/phpspreadsheet
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下コマンドで vendor ディレクトリが作成されていることを確認してください。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@ip-123-45-67-891 ~]$ ls
vendor
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;php と composer の設定さえできていれば割と簡単にインストールできちゃうと思います。&lt;/p&gt;


&lt;h2 id="サンプルを動かしてみる"&gt;サンプルを動かしてみる&lt;a class="td-heading-self-link" href="#%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;では公式サイトで公開されているサンプルを動かしてみましょう。 &lt;a href="https://phpspreadsheet.readthedocs.io/en/latest/"&gt;PhpSpreadsheet 公式&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@ip-123-45-67-891 ~]$ sudo vi HelloWorld.php
&amp;lt;?php

require &amp;#39;vendor/autoload.php&amp;#39;;

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet-&amp;gt;getActiveSheet();
$sheet-&amp;gt;setCellValue(&amp;#39;A1&amp;#39;, &amp;#39;Hello World !&amp;#39;);

$writer = new Xlsx($spreadsheet);
$writer-&amp;gt;save(&amp;#39;hello world.xlsx&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下コマンドで実行します。&lt;/p&gt;</description></item><item><title>StyleHintでCSS を自動整形する</title><link>https://dood.jp/blog/stylehint-format/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/stylehint-format/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;CSS で開発していく上で、ある程度のルールは決めておく必要がある。&lt;br&gt;
stylelint を使用し、コード管理する。&lt;br&gt;
&lt;a href="https://github.com/stylelint/stylelint-config-standard"&gt;コードルール&lt;/a&gt;は stylelint-config-standard を使用する。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;パッケージ管理ツール npm&lt;/li&gt;
&lt;li&gt;使用モジュール stylelint prettier&lt;/li&gt;
&lt;li&gt;使用ルール stylelint-config-standard&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="node-をインストール"&gt;node をインストール&lt;a class="td-heading-self-link" href="#node-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://nodejs.org/ja/"&gt;node&lt;/a&gt;をインストールし npm を使用できる状態にしてください。&lt;/p&gt;


&lt;h2 id="packagejson-作成"&gt;package.json 作成&lt;a class="td-heading-self-link" href="#packagejson-%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作業フォルダ内で、以下コマンドを叩いてください。&lt;br&gt;
対話式で聞かれる項目はすべてデフォルト状態で問題ないです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;npm init
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;package.json ができます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;{
 &amp;#34;name&amp;#34;: &amp;#34;test&amp;#34;,
 &amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
 &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
 &amp;#34;main&amp;#34;: &amp;#34;index.js&amp;#34;,
 &amp;#34;scripts&amp;#34;: {
 &amp;#34;test&amp;#34;: &amp;#34;echo \&amp;#34;Error: no test specified\&amp;#34; &amp;amp;&amp;amp; exit 1&amp;#34;
 },
 &amp;#34;author&amp;#34;: &amp;#34;&amp;#34;,
 &amp;#34;license&amp;#34;: &amp;#34;ISC&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;stylelint とルールとフォーマッターをインストールする 作業ディレクトリ内で、以下を実行し必要なモジュールをインストールしてください。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;npm install stylelint stylelint-config-standard prettier
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="stylelint-ルールを記述する"&gt;stylelint ルールを記述する&lt;a class="td-heading-self-link" href="#stylelint-%e3%83%ab%e3%83%bc%e3%83%ab%e3%82%92%e8%a8%98%e8%bf%b0%e3%81%99%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作業ディレクトリ内で、【.stylelintrc】ファイルを作成し以下を記述する&lt;/p&gt;</description></item><item><title>Vagrant で Ruby on Rails 環境の作成する方法</title><link>https://dood.jp/blog/vagrant-rubyonrails-setup/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/vagrant-rubyonrails-setup/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;以下記事を確認し、Ruby 環境を作成してください。&lt;br&gt;
&lt;a href="https://wiblok.com/blog/it/vagrant"&gt;https://wiblok.com/blog/it/vagrant&lt;/a&gt;_ruby/&lt;/p&gt;


&lt;h2 id="必要なモジュールをインストール"&gt;必要なモジュールをインストール&lt;a class="td-heading-self-link" href="#%e5%bf%85%e8%a6%81%e3%81%aa%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%bc%e3%83%ab%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt-get update
sudo apt-get -y install git curl g++ make
sudo apt-get -y install zlib1g-dev libssl-dev libreadline-dev
sudo apt-get -y install libyaml-dev libxml2-dev libxslt-dev
sudo apt-get -y install sqlite3 libsqlite3-dev nodejs
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="rails-インストール"&gt;Rails インストール&lt;a class="td-heading-self-link" href="#rails-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;gem install rails
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以上です。&lt;/p&gt;</description></item><item><title>VagrantでRuby環境を作成する方法</title><link>https://dood.jp/blog/vagrant-ruby-setup/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/vagrant-ruby-setup/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ruby 環境を作成するとき、配布もバックアップも容易な Vagrant を 使用することをお勧めします。&lt;br&gt;
やること&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;VirtualBox のインストール&lt;/li&gt;
&lt;li&gt;仮想化ソフトの VirtualBox をインストールします。&lt;/li&gt;
&lt;li&gt;使用バージョンは 6.0.8 &lt;a href="https://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp"&gt;公式サイト&lt;/a&gt;から VirtualBox インストール&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="vagrant-のインストール"&gt;Vagrant のインストール&lt;a class="td-heading-self-link" href="#vagrant-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;VirtualBox の設定や機能を簡単に使えるようにしたコマンドツールである Vagrant をインストールします。 使用バージョンは 2.2.5 &lt;a href="https://www.vagrantup.com/"&gt;公式サイト&lt;/a&gt;から Vagrant インストール&lt;/p&gt;


&lt;h2 id="linux-環境を作成"&gt;Linux 環境を作成&lt;a class="td-heading-self-link" href="#linux-%e7%92%b0%e5%a2%83%e3%82%92%e4%bd%9c%e6%88%90" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Vagrant コマンドを使用し、環境を作成します。 コマンドラインツールで以下を入力してください。 Windows に標準で入っているコマンドプロンプトでもかまいません。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 作業フォルダ作成
C:\Users\&amp;gt; mkdir ruby_env
# 作業フォルダに移動
C:\Users\&amp;gt; cd ruby_env
# vagrantファイル作成
C:\Users\ruby_env&amp;gt; vagrant init bento/ubuntu-18.04
# 環境を作成し、起動
C:\Users\ruby_env&amp;gt; vagrant up
# 環境にSSHログイン
C:\Users\ruby_env&amp;gt; vagrant ssh　
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="rvm-インストール"&gt;RVM インストール&lt;a class="td-heading-self-link" href="#rvm-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ruby のバージョン管理ツール RVM をインストールします。 そのまま Ruby をインストールしてもかまわないですが、Ruby のバージョンを柔軟に変更できるようにしておいたほうがよいでしょう。 環境に SSH ログインした後以下を実行してください。 &lt;a href="https://rvm.io/rvm/install"&gt;参考&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VirtualboxをVagrantで賢く使う方法</title><link>https://dood.jp/blog/virtualbox-vagrant/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/virtualbox-vagrant/</guid><description>&lt;h2 id="virtualbox-とは"&gt;Virtualbox とは&lt;a class="td-heading-self-link" href="#virtualbox-%e3%81%a8%e3%81%af" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;既存ホスト OS 上に別のゲスト OS を起動することができる仮想化アプリケーションです。&lt;/p&gt;
&lt;p&gt;簡単に書くと、自分の PC 上に別の PC を起動できるアプリケーション。&lt;/p&gt;
&lt;p&gt;利点としては、Windows OS 上で LinuxOS を使うことができ、 以下のような機能があります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;スナップショット機能(バックアップ)&lt;/li&gt;
&lt;li&gt;シームレス・モード(ホスト OS とゲスト OS での同時並行作業)&lt;/li&gt;
&lt;li&gt;共有フォルダ(ホスト OS とゲスト OS 間でのファイル共有)&lt;/li&gt;
&lt;li&gt;クリップボード共有&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="vagrant-とは"&gt;Vagrant とは&lt;a class="td-heading-self-link" href="#vagrant-%e3%81%a8%e3%81%af" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Virtualbox でゲスト OS(仮想環境)を作成を簡単にかつ管理しやすく 再配布を用意にしてくれる CLI ツールです。&lt;/p&gt;


&lt;h2 id="virtualbox-をインストール"&gt;Virtualbox をインストール&lt;a class="td-heading-self-link" href="#virtualbox-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;VirtualBox を&lt;a href="https://www.virtualbox.org/wiki/Downloads"&gt;公式サイト&lt;/a&gt;からダウンロードしてインストール　 virsion は 6.0.6&lt;/p&gt;
&lt;p&gt;デフォルトで以下のフォルダにインストールされる “C:\Program Files\Oracle\VirtualBox\VirtualBox.exe”&lt;/p&gt;


&lt;h2 id="vagrant-をインストール"&gt;Vagrant をインストール&lt;a class="td-heading-self-link" href="#vagrant-%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Vagrant を&lt;a href="https://www.vagrantup.com/downloads.html"&gt;公式サイト&lt;/a&gt;からダウンロードしてインストール virsion は 2.2.4&lt;/p&gt;
&lt;p&gt;以下コマンドでインストールされたか確認する(Git Bash)を使用&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;user MINGW64 ~/
$ vagrant --version
Vagrant 2.2.4
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="vagrant-box-のインストール"&gt;Vagrant Box のインストール&lt;a class="td-heading-self-link" href="#vagrant-box-%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Vagrant Box とは、仮想マシンのテンプレートとなるファイルです。 他社と共有するときはこの Box ベースで仮想環境を共有します。 試しに他者が構築した CentOS 環境の Vagrant Box をインストールして使ってみます。&lt;/p&gt;</description></item><item><title>WordPressプラグインYadaWikiを使ってみた</title><link>https://dood.jp/blog/yadawiki/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/yadawiki/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;WordPress で簡単な wiki サイトを使ってみたいと思い、人気の高い YadaWiki をインストールして使ってみました。&lt;/p&gt;


&lt;h2 id="なぜ-yadawiki-なのか"&gt;なぜ YadaWiki なのか&lt;a class="td-heading-self-link" href="#%e3%81%aa%e3%81%9c-yadawiki-%e3%81%aa%e3%81%ae%e3%81%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;プラグインであること&lt;br&gt;
私自身が使いたいテーマがあり、Wiki テーマだとそれが使えないから&lt;/li&gt;
&lt;li&gt;無料で使えること&lt;br&gt;
お金がないから&lt;/li&gt;
&lt;li&gt;サポート体制が充実されていること&lt;br&gt;
開発者の dmccan さんが、記事作成時点ではすべての問題に答えてくれており、サポートされていると判断&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/yadawiki/images/01.png" alt=""&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;定期的にアップデートされていること&lt;br&gt;
記事作成時点では、二か月前に更新されておりました。&lt;/li&gt;
&lt;li&gt;ユーザーからの評価が高い&lt;br&gt;
以下の画像の通り高評価でした。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://dood.jp/blog/yadawiki/images/02.png" alt=""&gt;&lt;/p&gt;


&lt;h2 id="yadawwiki-の特徴"&gt;YadawWiki の特徴&lt;a class="td-heading-self-link" href="#yadawwiki-%e3%81%ae%e7%89%b9%e5%be%b4" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;このプラグインをインストールするだけで、使用しているテーマをそのままに、新しいインデックスを作成し、その下に wiki ページを作成できます。&lt;/p&gt;
&lt;p&gt;さらに wiki ページはカスタムタグとカテゴリに分けることができ、目次オプションも提供してくれるので、サイトの利便性を向上させることができます。&lt;/p&gt;
&lt;p&gt;サイトエディタには、2 つのショートコードボタンが提供されます。 Wiki のリンクを追加するボタンと Wiki リスト追加ボタンです。 ブログサイトから Wiki サイトに飛ばす際に活用しましょう!&lt;/p&gt;


&lt;h2 id="使ってみた感想"&gt;使ってみた感想&lt;a class="td-heading-self-link" href="#%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e6%84%9f%e6%83%b3" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;上述の通り使いやすいプラグインなのですが、私の使っているテーマと相性が悪かったのか、バグが出まくりました。&lt;/p&gt;
&lt;p&gt;一応対応できる内容だったので修正はできたのですが、PHP の知識がないと、厳しいかもしれないです。 デフォルトで入っているテーマでしたら問題なく運用できるので、 このプラグインを使いたい人はそちらでの運用をお勧めします。&lt;/p&gt;
&lt;p&gt;他に少し気になったのが、Wiki 内で検索機能はそのままでは使えないです。 頑張ればできるらしいです。 今回は緊急の内容ではなかったので私は試していません。&lt;/p&gt;
&lt;p&gt;ですが PHP の多少の知識がある方ならば、利用することでサイトを簡単に wiki 化できる素晴らしいプラグインだと思います。興味がある方はぜひ使ってみましょう！&lt;/p&gt;</description></item><item><title>クラウドプラットフォーム(AWS vs Azure vs GCP)比較</title><link>https://dood.jp/blog/cloud_platform_2021/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/cloud_platform_2021/</guid><description>&lt;h2 id="概要"&gt;概要&lt;a class="td-heading-self-link" href="#%e6%a6%82%e8%a6%81" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;クラウドプラットフォームの採用は、新機能の導入・コストの削減・拡張性の向上のため様々な企業・案件で採用されてきました。&lt;br&gt;
また個人でも使用する人が増えてきており、昨今のビジネスのスタートアップを推進してきました。&lt;br&gt;
この状況からかオンプレミス（自社設備）から、クラウドに移行するという会社も少なくないです。&lt;/p&gt;
&lt;p&gt;クラウドプラットフォームは基本的に、インターネットを通じて、サーバーやストレージ、データベース、ソフトウェアなどの開発を手助けするサービスが提供されており、それぞれの会社が提供するクラウドプラットフォームで値段や機能、利便性が違います。&lt;/p&gt;
&lt;p&gt;ここでは、それぞれのクラウドプラットフォームを比較し、あなたのプロジェクトにとって最良の選択肢を紹介します。&lt;/p&gt;


&lt;h2 id="awsamazon-web-service"&gt;AWS(Amazon Web Service)&lt;a class="td-heading-self-link" href="#awsamazon-web-service" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Amazon が提供するクラウドプラットフォームです。&lt;/p&gt;
&lt;p&gt;クラウドプラットフォームの元祖であり、2004 年に登場してからシェア率トップを維持してきた巨大なクラウドプラットフォームです。&lt;br&gt;
現在でも様々な選択肢が増えてきたにも関わらずシェア率は 30%を超えています。&lt;/p&gt;
&lt;p&gt;クラウドプラットフォームのデファクトスタンダートといえるサービスであり、&lt;br&gt;
幅広い開発要件に対応できるのが強みです。とりあえず候補に入れるべき存在です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;メリット&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;デファクトスタンダード&lt;br&gt;
クラウドプラットフォームのデファクトスタンダードであり、ドキュメントも豊富です。調べれば大概の不具合は解決できます。&lt;/li&gt;
&lt;li&gt;日本で 2 つのリージョン提供&lt;br&gt;
日本だけのメリットですが、東京・大阪リージョンを提供しています。これにより日本で公開するサービスにおいて速度向上のメリットが受けられます。&lt;/li&gt;
&lt;li&gt;豊富なサービス&lt;br&gt;
AWS で提供されていなくて他のクラウドプラットフォームで提供されているサービスはほぼないです。開発要件にあったサービスが必ずあります。&lt;/li&gt;
&lt;li&gt;豊富なドキュメント&lt;br&gt;
ドキュメントが豊富なことです。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;デメリット&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ハイブリッドクラウド戦略を無視&lt;br&gt;
オンプレミスとクラウドを使用を同時に使用する戦略をハイブリッドクラウドと呼ぶのですが、AWS はそれを認めていません。もしあなたがオンプレミスも同時に運用したいというのであれば、AWS は少し難しい選択肢になると思われます。&lt;/li&gt;
&lt;li&gt;管理が難しい&lt;br&gt;
AWS 自体様々なサービスがあり、それをどのように組み合わせて使うかは技術者の手にゆだねられます。しかし多くの場合、一人で管理することが難しくどのようなサービスが使用されているか管理者も理解できなくなってくるでしょう。例えば EC2 で WEB サービスを公開したい場合を例に出してみると、EC2 管理画面で Elastic IP を取得し、Route53 でドメイン登録、DB を使用する場合は RDS を契約し紐づけたりします。単純な WEB サービスを公開するだけでもこれほど必要な操作が多いですが、Lambda で静的サイトを作ろうとしたときもっと大変になることが予想されるかと思います。そのため、クラウドプロバイダーなど AWS を使うことに消極的です。&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="azuremicrosoftazure"&gt;Azure(&lt;strong&gt;MicrosoftAzure&lt;/strong&gt;)&lt;a class="td-heading-self-link" href="#azuremicrosoftazure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Azure は、Microsoft が運用・開発を行っているクラウドプラットフォームです。AWS と比較して大きな魅力は、組織的にクラウド以降を支援してくれています。あなたがオンプレで Windows システム(Windows Server、SystemCenter、ActiveDirectory)を利用しておりかつ、クラウドに移行したいと考えている場合、非常に協力な選択肢となります。&lt;/p&gt;
&lt;p&gt;またシェア率自体は AWS に負けていますが、ゴールドマンサックスの&lt;a href="https://www.cnbc.com/2020/01/07/microsoft-azure-cloud-winner-at-big-companies-goldman-sachs.html"&gt;調査&lt;/a&gt;によると、上位の IT エグゼクティブにアンケート調査を実施した結果、Azure のほうが人気でした。&lt;/p&gt;</description></item><item><title>ワイヤフレームとは</title><link>https://dood.jp/blog/wireframe/</link><pubDate>Wed, 04 Nov 2020 09:19:42 +0100</pubDate><guid>https://dood.jp/blog/wireframe/</guid><description>&lt;h2 id="ワイヤフレームとは"&gt;ワイヤフレームとは&lt;a class="td-heading-self-link" href="#%e3%83%af%e3%82%a4%e3%83%a4%e3%83%95%e3%83%ac%e3%83%bc%e3%83%a0%e3%81%a8%e3%81%af" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ワイヤーフレームとは、コストと再現度が最も低いデザイン表現です。主に以下の構造要素で構成されています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;コンテンツのグループ&lt;/strong&gt; - 情報のまとまり&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コンテンツの配置&lt;/strong&gt; - レイアウト構成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コンテンツの説明とインターフェース同士の関係&lt;/strong&gt; - 要素間の繋がり&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="ワイヤーフレームを作るメリット"&gt;ワイヤーフレームを作るメリット&lt;a class="td-heading-self-link" href="#%e3%83%af%e3%82%a4%e3%83%a4%e3%83%bc%e3%83%95%e3%83%ac%e3%83%bc%e3%83%a0%e3%82%92%e4%bd%9c%e3%82%8b%e3%83%a1%e3%83%aa%e3%83%83%e3%83%88" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;


&lt;h3 id="1-情報の整理ができる"&gt;1. 情報の整理ができる&lt;a class="td-heading-self-link" href="#1-%e6%83%85%e5%a0%b1%e3%81%ae%e6%95%b4%e7%90%86%e3%81%8c%e3%81%a7%e3%81%8d%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;レイアウト設計&lt;/strong&gt;: コンテンツの配置をあらかじめ整理できる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コンテンツ計画&lt;/strong&gt;: 表示する情報（画像・文章など）を事前に整理できる&lt;/li&gt;
&lt;/ul&gt;


&lt;h3 id="2-認識合わせができる"&gt;2. 認識合わせができる&lt;a class="td-heading-self-link" href="#2-%e8%aa%8d%e8%ad%98%e5%90%88%e3%82%8f%e3%81%9b%e3%81%8c%e3%81%a7%e3%81%8d%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;エンジニア・デザイナー・クライアント間のコミュニケーションツールとして活用でき、認識のずれを防ぎます。結果的に工数の短縮にも繋がります。&lt;/p&gt;


&lt;h3 id="3-アイディア出しの土台になる"&gt;3. アイディア出しの土台になる&lt;a class="td-heading-self-link" href="#3-%e3%82%a2%e3%82%a4%e3%83%87%e3%82%a3%e3%82%a2%e5%87%ba%e3%81%97%e3%81%ae%e5%9c%9f%e5%8f%b0%e3%81%ab%e3%81%aa%e3%82%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;スタートアップ時のたたき台として、素早くアイディアを形にできます。&lt;/p&gt;


&lt;h2 id="ワイヤフレーム作成時の注意点"&gt;ワイヤフレーム作成時の注意点&lt;a class="td-heading-self-link" href="#%e3%83%af%e3%82%a4%e3%83%a4%e3%83%95%e3%83%ac%e3%83%bc%e3%83%a0%e4%bd%9c%e6%88%90%e6%99%82%e3%81%ae%e6%b3%a8%e6%84%8f%e7%82%b9" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;


&lt;h3 id="色について"&gt;色について&lt;a class="td-heading-self-link" href="#%e8%89%b2%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;不適切な色を使用しない&lt;/strong&gt; - ワイヤフレームはカラフルである必要がない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;グレーの濃淡を活用&lt;/strong&gt; - 階層を視覚的に表現する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;画像やアイコンは常にグレー&lt;/strong&gt; - 視覚的に目立たせない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;テキストは読みやすく&lt;/strong&gt; - 適切なコントラストを確保する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;機能的な色は使用可能&lt;/strong&gt; - リンクは青、アラートは赤、確認は緑、警告は黄色&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;黒は避ける&lt;/strong&gt; - 境界線に黒を使うとワイヤフレームが乱雑になる&lt;/li&gt;
&lt;/ol&gt;


&lt;h3 id="デザインについて"&gt;デザインについて&lt;a class="td-heading-self-link" href="#%e3%83%87%e3%82%b6%e3%82%a4%e3%83%b3%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;デザインを凝りすぎない&lt;/strong&gt; - シンプルに保つ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;醜い画像・アイコン・奇抜なフォントは使用しない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;実際のサイズを使用する&lt;/strong&gt; - 例: スマートフォンは 375px、タブレットは 768px など&lt;/li&gt;
&lt;/ol&gt;


&lt;h3 id="コミュニケーションについて"&gt;コミュニケーションについて&lt;a class="td-heading-self-link" href="#%e3%82%b3%e3%83%9f%e3%83%a5%e3%83%8b%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;他の人が理解できない記号やコードは記載しない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;理解しやすいアフォーダンスを意識する&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h2 id="ワイヤフレーム作成前に知っておくべきこと"&gt;ワイヤフレーム作成前に知っておくべきこと&lt;a class="td-heading-self-link" href="#%e3%83%af%e3%82%a4%e3%83%a4%e3%83%95%e3%83%ac%e3%83%bc%e3%83%a0%e4%bd%9c%e6%88%90%e5%89%8d%e3%81%ab%e7%9f%a5%e3%81%a3%e3%81%a6%e3%81%8a%e3%81%8f%e3%81%b9%e3%81%8d%e3%81%93%e3%81%a8" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ドキュメントを記載する&lt;/strong&gt; - アラートやモーダルなど、小さな UI 要素についても説明を書く&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;メイン画面から作成する&lt;/strong&gt; - 主要なデザインコンポーネントは他箇所でも再利用される可能性が高く、手戻りが少ない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;状態変化は画面を分けて記載&lt;/strong&gt; - ホバー、クリック後など、状態が変わる場合は別画面として表現する&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>