tag:crieit.net,2005:https://crieit.net/users/shindy3745/feed しんじ。の投稿 - Crieit Crieitでユーザーしんじ。による最近の投稿 2021-07-19T22:29:50+09:00 https://crieit.net/users/shindy3745/feed tag:crieit.net,2005:PublicArticle/17522 2021-07-19T22:29:50+09:00 2021-07-19T22:29:50+09:00 https://crieit.net/posts/AWS-Aurora 【メモ】AWS Aurora(オーロラ)とは。 <h3 id="AWSが管理してくれるデータベースのこと。"><a href="#AWS%E3%81%8C%E7%AE%A1%E7%90%86%E3%81%97%E3%81%A6%E3%81%8F%E3%82%8C%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%81%93%E3%81%A8%E3%80%82">AWSが管理してくれるデータベースのこと。</a></h3> <hr /> <ul> <li>Amazon RDSの内の種類のひとつ。</li> <li>RDS(リレーショナル型のデータベース)の「MySQL」「PostgreSQL」「Oracle」の同列に『Aurora』がある。</li> <li>『Aurora』はMySQLもしくはPostgreSQLをAWSが最適化したデータベース。</li> <li>『Aurora(MySQL)』『Aurora(PostgreSQL)』という感じで包括しているため同じ使い方ができる。</li> <li>普通のMySQLやPostgreSQLを選択するより、AWSが提供する上で最適にしてくれている。</li> </ul> <hr /> <h5 id="メリット"><a href="#%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">メリット</a></h5> <ul> <li>起動するだけでデータベースとして使える。</li> <li>運用するのが楽。(負荷面とか管理面など)</li> <li>処理能力が高い。(普通MySQLの5倍、普通PostgreSQLの3倍の※スループット)※処理できるデータ量</li> </ul> <hr /> <h5 id="デメリット"><a href="#%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">デメリット</a></h5> <ul> <li>値段が高い。(普通MySQL、普通PostgreSQLより)</li> <li>エンジンとバージョンが限定。</li> <li>Oracleは選択できない。(2021年7月現在)</li> </ul> しんじ。 tag:crieit.net,2005:PublicArticle/17394 2021-06-12T20:42:47+09:00 2021-06-12T20:43:24+09:00 https://crieit.net/posts/CIDR 【メモ】サブネットマスクとCIDR表記のこと。 <h3 id="サブネットマスク"><a href="#%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E3%83%9E%E3%82%B9%E3%82%AF">サブネットマスク</a></h3> <p>ネットワーク(IPアドレス)の範囲を表せるようなモノ。</p> <hr /> <p>例:172.16.10.0 ~ 172.16.10.255 の範囲</p> <hr /> <p>サブネットマスクで表すと、<br /> 172.16.10.0 / 255.255.255.0<br />       ↓2進数にする<br /> 255 ⇔ 11111111 (8bit)<br /> 0 ⇔ 00000000 (8bit)</p> <hr /> <p>ん?よくわからない、、、</p> <hr /> <h3 id="CIDR表記"><a href="#CIDR%E8%A1%A8%E8%A8%98">CIDR表記</a></h3> <p>サブネットマスクの別の表記の仕方(こっちのが分かりやすい)<br /> 255.255.255.0 ⇔ 24(11111111.11111111.11111111.00000000で1が24個あるから)</p> <hr /> <p>172.16.10.0 / 24 と表記される。</p> <hr /> <p>例:172.16.10.0 / 20<br /> (11111111.11111111.11110000.00000000で1が20個、0が12個で余っている)<br /> 2*12=4096<br /> 172.16.0.0 ~ 172.16.15.255 の範囲</p> しんじ。 tag:crieit.net,2005:PublicArticle/17379 2021-06-09T23:14:10+09:00 2021-06-10T19:56:03+09:00 https://crieit.net/posts/NAT-60c0ccb204d6a 【メモ】NAT(ナット)とは。 <h4 id="IPアドレスを変換する技術というか仕組み(Network Address Translation)"><a href="#IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E6%8A%80%E8%A1%93%E3%81%A8%E3%81%84%E3%81%86%E3%81%8B%E4%BB%95%E7%B5%84%E3%81%BF%EF%BC%88Network+Address+Translation%EF%BC%89">IPアドレスを変換する技術というか仕組み(Network Address Translation)</a></h4> <hr /> <ol> <li>社内サーバー(プライベートアドレス:192.1681.1)</li> <li>プライベートアドレスをグローバルアドレスに変換して社外サーバーへ<br /> (例:192.1681.1 → 50.1.1.2)※SNAT</li> <li>社外サーバー(グローバルアドレス:50.1.1.1)</li> <li>グローバルアドレスをプライベートアドレスに変換して社内サーバーへ<br /> (例:192.1681.1 ← 50.1.1.2)※DNAT</li> </ol> <hr /> <p>ちなみにNAPT(ナプト)は、ポート番号を変換できる仕組み。</p> しんじ。 tag:crieit.net,2005:PublicArticle/17378 2021-06-09T22:48:16+09:00 2021-06-10T01:53:20+09:00 https://crieit.net/posts/Docker-60c0c6a09260a 【メモ】Dockerとは。 <h4 id="プログラミング関連のあらゆるモノをどこでも同じように使える仕組み。"><a href="#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%82%E3%82%89%E3%82%86%E3%82%8B%E3%83%A2%E3%83%8E%E3%82%92%E3%81%A9%E3%81%93%E3%81%A7%E3%82%82%E5%90%8C%E3%81%98%E3%82%88%E3%81%86%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%E4%BB%95%E7%B5%84%E3%81%BF%E3%80%82">プログラミング関連のあらゆるモノをどこでも同じように使える仕組み。</a></h4> <hr /> <ul> <li>プログラミング関連のあらゆるモノ=プログラミング言語、DB、アプリケーションなど。</li> <li>どこでも=オペレーティングシステムに依存しない。</li> <li>同じように=動作環境が担保できる。</li> </ul> <hr /> <ul> <li>各OSにDocker(コンテナ)をインストールしておく必要がある。</li> <li>Dockerの上にプログラミング言語などをインストールする。</li> <li>Dockerごとお引っ越しができる。(イメージ化して持ち運びできる)</li> <li>使い捨て可。</li> <li>Dockerfileがイメージ。</li> </ul> <hr /> <p>つまり、OSが違ってもDockerをインストールさえしておけば、動作環境がそのまんま再現できる。</p> しんじ。 tag:crieit.net,2005:PublicArticle/17369 2021-06-07T23:51:13+09:00 2021-06-12T20:43:51+09:00 https://crieit.net/posts/AWS-EC2-Docker 【メモ】AWSでEC2を立ててDockerを起動してみる。 <h3 id="AWSで、EC2(仮想サーバー)を立てて、その上でDocker(ドッカー)を起動してみる。"><a href="#AWS%E3%81%A7%E3%80%81EC2%EF%BC%88%E4%BB%AE%E6%83%B3%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%EF%BC%89%E3%82%92%E7%AB%8B%E3%81%A6%E3%81%A6%E3%80%81%E3%81%9D%E3%81%AE%E4%B8%8A%E3%81%A7Docker%EF%BC%88%E3%83%89%E3%83%83%E3%82%AB%E3%83%BC%EF%BC%89%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B%E3%80%82">AWSで、EC2(仮想サーバー)を立てて、その上でDocker(ドッカー)を起動してみる。</a></h3> <p><strong>ブラウザからEC2のIPアドレスにアクセスして「Hello from Docker!!!」を表示させる手順。</strong></p> <ol> <li>VPCを作成する。</li> <li>サブネットを作る。</li> <li>インターネットゲートウェイをくっつける。(VPCにアタッチする)</li> <li>サーバー(EC2)を立てる。<br /> (インスタンス作成でVPCとサブネットを紐付け、自動割り当てパブリックIPを有効にする)</li> <li>ファイアウォールを設定する。(セキュリティグループの設定(ポート:SSH=22とhttp=80))</li> <li>ルーティングを設定する。(VPC→ルートテーブル→ルートの編集→サブネットの関連付け)</li> <li>SSHでサーバーにアクセスする。(Tera Termを使った)</li> </ol> <pre><code>ssh://[email protected](パブリックIPv4アドレスと予めDLしておいたキーペア) </code></pre> <ol start="8"> <li>Dockerをインストールする。</li> </ol> <pre><code>sudo yum -y update (パッケージ更新) sudo yum -y install docker (Dockerインストール) sudo service docker start (Docker起動) sudo docker info (Docker状態) mkdir hello-docker (作業用フォルダ作成) cd hello-docker (作業用フォルダ移動) vi hello-docker.html (表示用HTML作成) Hello from Docker !! vi Dockerfile (dockerのイメージを作成) FROM nginx COPY ./hello-docker.html /usr/share/nging/html/ (/usr/share/nging/html/直下が初期表示らしい) sudo docker build -t hello-docker-ec2 . (tオプションで名前を付けれる。最後の「.」を忘れない) sudo docker run --rm -d -p 80:80 hello-docker-ec2 (イメージを元にdockerのコンテナを起動) ※--rm(コンテナ停止と同時にコンテナ削除)-d(バックグラウンド起動)-p(どのポート使うか) sudo docker ps (dockerが起動しているか確認) </code></pre> <ol start="9"> <li>EC2にアクセスして「Hello from Docker!!」を表示させる。<br /> (http://52.15.152.1xx/hello-docker.html)</li> </ol> しんじ。 tag:crieit.net,2005:PublicArticle/17032 2021-04-30T00:02:35+09:00 2021-04-30T00:02:35+09:00 https://crieit.net/posts/SPA-PWA 【メモ】SPAとPWAのこと。 <h1 id="SPA(Single Page Application)"><a href="#SPA%EF%BC%88Single+Page+Application%EF%BC%89">SPA(Single Page Application)</a></h1> <ul> <li>単一ページによるWebアプリケーション。</li> <li>返された結果をクライアント側でリアルタイムにレンダリングできるようになった。</li> <li>瞬時に画面を書き換えることができる。(いいね!ボタンとか)</li> <li>画面遷移はDOM操作。</li> <li>ページのリフレッシュは不要。</li> <li>リッチなエクスペリエンス。</li> <li>クライアントとサーバーのロジックを分けて、保守性を上げることができる。(分業)</li> </ul> <h1 id="PWA(Progressive Web Apps)"><a href="#PWA%EF%BC%88Progressive+Web+Apps%EF%BC%89">PWA(Progressive Web Apps)</a></h1> <ul> <li>ネイティブアプリのようなUXを提供するWebアプリの概念。</li> <li>デバイスに合わせた機能提供がWebコンテンツ自体で行われている。</li> </ul> <hr /> <h5 id="~これまでのWebになかった機能~"><a href="#%EF%BD%9E%E3%81%93%E3%82%8C%E3%81%BE%E3%81%A7%E3%81%AEWeb%E3%81%AB%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E6%A9%9F%E8%83%BD%EF%BD%9E">~これまでのWebになかった機能~</a></h5> <p><strong>Service Worker</strong><br /> * オフラインサポート(Cache API)<br /> * プッシュ通知(Push API)<br /> * バックグラウンド処理(Background API)</p> <p><strong>Web Application Manifest</strong><br /> * アイコンの追加</p> <hr /> <h5 id="~PWAのメリット~"><a href="#%EF%BD%9EPWA%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%EF%BD%9E">~PWAのメリット~</a></h5> <ul> <li>ブラウザUIなしで起動できてオフラインでも使える。</li> <li>アプリを公開するためにストアに提出する必要がない。</li> <li>プラットフォームごとに修正する必要がない。</li> <li>インストールしなくても使える。</li> <li>サーバー側から通知をプッシュできる。(タイムセールの開始など)</li> <li>オフラインでの使用が可能なため、ネットワークの状態に左右されないように作れる。</li> <li>低機能なブラウザやPWA非サポートのデバイスにもサービスを提供できる。</li> <li>ユーザの強い権限で動作しない。</li> <li>HTTPS接続でしか動作しないのでサーバーとのやり取りを安全に行える。</li> <li>ハイパーリンクがあればサービスに接続できる。<br /> *各メリットを状況に合わせて取捨選択できる。</li> </ul> <hr /> <h5 id="Service Worker"><a href="#Service+Worker">Service Worker</a></h5> <p>(バックグラウンドで動作するプログラミング可能なネットワークプロキシ)<br /> * PWAを実現する上で中心となる機能。<br /> * Webページのネットワークリクエスト全てをインターセプトできる。<br /> * キャッシュ<br /> * リクエストのハンドリング<br /> * Push<br /> * バックグラウンド同期</p> <hr /> <h5 id="Web Application Manifest"><a href="#Web+Application+Manifest">Web Application Manifest</a></h5> <p>(ホーム画面のアイコンやアプリ起動時のウィンドウの状態を指定)<br /> * ホーム画面に追加するアイコン、スプラッシュ、背景色、ウィンドウスタイルを定義するもの。</p> <h1 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h1> <ul> <li>SPAは物理的なページ遷移を行わずWebクライアント上で画面が描画されるものでリアクティブな動作が可能。</li> <li>PWAはWebクライアントの機能に合わせて、Webアプリにネイティブアプリライクな機能を実装したものでデバイスへのインストールやPush通知が可能。</li> </ul> しんじ。 tag:crieit.net,2005:PublicArticle/17016 2021-04-28T01:23:49+09:00 2021-05-11T22:46:55+09:00 https://crieit.net/posts/CSV 【メモ】コマンドプロンプトのコマンド(CSV編) <pre><code>**copy *.csv all.csv** </code></pre> <p>→複数のCSVファイルを1つのCSVファイルにする。</p> <hr /> <pre><code>dir *.csv,*.xlsx /S /D > c:\temp\dirlist.txt </code></pre> <p>→ディレクトリ内のCSVファイル一覧をテキストファイルに出力。</p> <hr /> <pre><code>find /c /v "" *.csv </code></pre> <p>→CSVファイルの行数を出力。</p> しんじ。