2021-01-01から1年間の記事一覧

個人開発日記01(カナダ ワーホリ情報全部集めてみた) / 使う技術->Flask デプロイ先->Heroku

個人開発仮タイトル "カナダ ワーホリ情報全部集めてみた" なぜこれを作る? "カナダ ワーホリ"について調べるときに、Note, Twitter, IG, Youtube色々なサイトへ行かず、一箇所に全部まとめてみたサイトを作ったら、楽そうだと思った。そして、一度ユーザー…

Ajaxについてまとめた

・非同期(ajax)は、JS(DOM)とサーバーが、XML(JSON)ファイルをやりとりする。 XMLHttpRequest (XHR) オブジェクトは、サーバーと対話するために使用されます。ページ全体を更新する必要なしに、データを受け取ることができます。これでユーザーの作業を中断…

Route53とは(DNS内でドメインに対して最終的にIPを渡す役割)

https://www.kzyrepository.com/2019/11/route53%E3%81%A8%E3%81%AFaws%E3%82%92%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%8F/ DNSのAWS版と理解しておけばいいのかも。 kazumawada.hateblo.jp もっと詳しく https://wa3.i-3-i.info/word11013.h…

ドメイン設定でよく目にするDNSとは?(= AWSで言うRoute53)

DNS

DNSとは [:ドメイン ⇒ ip]の保管庫 参考: www.kagoya.jp

AWSのALB(Application Load Balancer)とは? HTTPSとの関係

とは 計算の負荷を分散させる。 HTTPS HTTP・HTTPSヘッダ等の情報を参照し、もっとも効果的な方法を選択してWebサイトへの負荷を分散するコンテンツベースのルーティングが特徴です。 AWSが提供していた旧来のサポート機能と比べても格段に機能性が高まって…

HTTPSとは

Hyper Text Transfer Protocol SECURE httpはデータが暗号化されていない。盗まれたら、全部内容がわかってしまう。 https: データが暗号化されている。sは、Secureのs 参考: qiita.com dev.classmethod.jp

ActiveRecord=RubyとSQLの翻訳機

とは Active Recordとは、MVCで言うところのM、つまりモデルに相当するものであり、ビジネスデータとビジネスロジックを表すシステムの階層です。Active Recordは、データベースに恒久的に保存される必要のあるビジネスオブジェクトの作成と利用を円滑に行な…

Circleciを使ってEC2へ自動デプロイ

完成したymlファイル(testは容量がかかるので、コメントアウトにしている) version: 2 jobs: # test: # machine: # image: circleci/classic:edge # steps: # - checkout # - run: # name: docker-compose build # command: docker-compose build # - run: #…

ssh connect port 22: Operation timed outでsshログインができなかったときの対処法

結論 ec2のセキュリティグループでもう一度マイipを選択し直す。 なぜ port22に入るipが変わっている可能性があるから。家には複数のwifiがあり、たまに切り替わる。そこでipが変わってしまったから、ファイアーウォールが入れてくれなかったんだと思う。 っ…

RailsにJSを書く前に、yarn, npm, webpack, webpacker, ES6を理解する。

npmを便利にしたものが、yarn JSは、ES5からES6へ。クラスやアロー関数などが使えるようになった。(babelで変換可) 上記のファイルの依存関係等をいい感じにまとめてくれるのが、webpackで、Railsにフィットさせるためのwebpackerというのがある。 npm Jav…

Mysql2::Error: Table 'myapp_development.post_tags' doesn't exist のエラー解決

背景 postを削除しようとしたら、このエラーが起こった。 解決のプロセス mysqlのテーブルを見てみる mysql> use myapp_development Reading table information for completion of table and column names You can turn off this feature to get a quicker s…

JSのcallback, promise, await async(これでfetchも)

mysql8.0のエラー Plugin caching_sha2_password could not be loaded: /usr/lib/x86_64-linux-gnu/mariadb19/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

MySQL5.7までの認証プラグインには mysql_native_password がデフォルトで使用されていましたが、MySQL8.0より新たに追加された caching_sha2_password プラグインがもともとコードに書かれていたのに無いと言うことは、migrateとかをすればいいと思う。 htt…

Pumaについて

bindle exec puma -d 指定する場合 bundle exec puma -C config/puma.rb pumaはサーバのソケットを開いたままリスタートできます。要するに、ユーザーに対してサーバを開放したままサーバのリスタートができるということです。ユーザーを待たせることがない…

binding.pry使い方

知らなかったこと: 処理を止めたコントローラーで、コンソールから変数を入力すると、定義されていれば値が帰ってくる。定義されていなければ、nilが帰ってくる。 viewでも実行できる <%= @book.title %> <% binding.pry %> これで、@book.title内に本当に正…

ゲストユーザーを編集させない

はじめに 編集ボタンを隠すやり方もあるが、"編集画面を作っている"と、ポートフォリオを見る人へ伝えたかったので、編集ボタンを表示させて、それを押したら→リダイレクト→「ゲストユーザーは編集できません」のメッセージを表示。というやり方で実装しまし…

ec2でポートを開放しNginxを通信可能にする(FireWallの設定)

その前に、、 ポートの開放80のHTTPとHTTPSの違いが気になった HTTPS 443 HTTP 80 (Nginx) 第2回 HTTPSの詳細:超入門HTTPS(1/2 ページ) - @IT 本題 ファイアウォールで80番ポートがブロックされているから、ポートの開放(80)をして、Nginxを表示するよう…

Nginxのコードをなんとなく理解する

Nginxの特徴→リバースプロシキ: webサーバーの分身になって、処理をこなう。処理が大きくなってきたら、新たな身代わりサーバを作成して、負荷を分散してくれる。 理解するコードはこれ。(深くは追わない) user nginx; worker_processes auto; error_log /va…

docker pull nginxしたものを編集し、自分のDockerHubにpushしたログ

imageは設計書。containerがそれを元に生成される。 $ docker pull nginx コンテナ内に入る $ docker run -it -p 8080:80 nginx bin/bash viが使えるように # apt update && apt install -y vim psコマンドが使えるように # apt update && apt install -y pr…

web, AP, DBサーバの全体像をつかむ

結論から言うと現代のWebアプリケーションのほとんどは、Webサーバ・データベースサーバ・アプリケーションサーバの三層構成になっています。 https://qiita.com/tamago3keran/items/f470593926458b7ef52a#webアプリケーション構成の歴史 なぜこの3つになっ…

環境変数とは

OS

OSに格納されている変数 変数を削除、変更することが可能。2つの方法 →・コンピュータの設定を変える(全てに影響が出る) →・プログラム内から変える(そのプログラム内だけが変わる) このコマンドで一覧をみることができる % set 参考: https://wa3.i-3-i.inf…

本番環境では、なぜrails sではなくNginx,Puma?

rack(rails s)はあくまで、アプリケーションサーバー。なので、webサーバが持っているような負荷を分散させるための機能などがなく、実運用していく上で、大勢の人がサイトを見たときなどにとても重くなってしまう。 nginx: たくさんの人から、同時アクセス…

Nginx, Puma(Unicorn), Racksとは?

Puma(Unicorn) : アプリケーションサーバー Nginx :Webサーバー Racks: RailsとUnicornの通訳 Rails5以降は、Pumaがよく使われている。 https://qiita.com/naoki_mochizuki/items/5a1757d222806cbe0cd1 ・クライアントからの簡単な命令だと、webサーバが処理…

dockerでaddress already in use系のエラーまとめた

ec2で、compose upしたら、docker userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use 以前mysqlを、startしてのままだったから、 sudo service mysqld stop した。再度ビルド。→いけた。 エラーログ Successfully built 3d6d830af6eb …

authorized_keys とは?

ssh

今理解していること →pubの内容を保存しておく場所 ~/.ssh/authorized_keys: Holds a list of authorized public keys for servers. When the client connects to a server, the server authenticates the client by checking its signed public key stored …

ssh known_hostsとは

ssh

まとめるとknown_hostsとは「公開鍵認証のSSHでログインしたサーバのホスト鍵を記録し,次回からのホスト認証で利用されるファイル」である. https://a-mochan.hatenablog.com/entry/2019/12/20/141036#:~:text=まとめるとknown_hostsとは,されるファイル」…

ec2内にgit cloneしようとしたら、Cloning into 'myapp'... Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

[kazumawada@ip-10-0-0-197 rails]$ git clone git@github.com:kazumawada/myapp.git Cloning into 'myapp'... Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and th…

Circle CI(CI/CD )とは

できること mainにマージされたら自動でサーバーへSSHしてコードをデプロイ Sass型のCI/CDサービス。 sass: software as a service( Notin, Netflix, Spotify etc。インターネットでアクセスできるサービスのこと) CI/CD ・CI(継続的インテグレーション)とは…

proxyとは

・セキュリティ ・アプリケーションゲートウェイ ・LANの中と外の間に位置して、外部とのやりとりを代行して行う機能 外部との通信をするときに、proxyサーバーを間に立たせることで、不正アクセスを防ぐ役割を持つ。

TCP/IP, ポート, HTTPをまとめた。

ポートとは, TCP/IPとは ・tcp/ip方式で通信します。 ・ip(internet protcol)はアドレス。とりあえずlanを使って送りつける。(tcpに安全面は任せる) ・tcpは、ネットワーク上で「正しくデータが送られたことを保証する仕組み」を定めたもの。ipに、情報をく…