Learn or Die

生涯勉強。Macです。

トレイト

トレイトとは

コレクション

sortByDesc('created_at'); allメソッドはモデルが持つクラスメソッドで、モデルの全データをコレクションで返します。 さらにコレクションのメソッドである、sortByDescメソッドを使ってcreated_atの降順で並び替えをしています。 コレクション コレクショ…

モデルの作成とリレーションの追加

モデルの作成 モデル名は大文字から始まる単数形にするのが一般的。 $ docker-compose exec workspace php artisan make:model Sample コマンドが成功すると、laravel/appディレクトリにSample.phpが作成される。 Sample.phpには何もメソッドが書かれていな…

{{ }}によるデータ表示

Bladeに渡された変数は、{{ }}で囲うことで、その値を表示できる。 また、{{ }}の中ではPHPの処理を書くこともできる。 Controller▼ 'Hanako']); View▼ <div class="name"> {{ $name }} </div> Bladeの{{ }}記法はXSS攻撃を防ぐため、自動的にPHPのhtmlspecialchars関数が通される。…

Bladeの記法 - @extendsと@section

@extends('app') @section('title', 'サンプル') @section('content') <div class="container"> <div class="card mt-3"> <i class="fas fa-user-circle fa-3x mr-1"></i> <div class="font-weight-bold"> Sample </div> </div> </div> @endsection @extendsと@section @extends @extends('app')で、app.blade.phpをベースとして使っている。 @s…

Docker Composeの概要

Docker Composeとは DockerでWebアプリケーションを作るとき、アプリケーションサーバ、Webサーバ、DBサーバなどいくつかのコンテナ同士を連携させて動作させる。 Docker Composeは、複数のコンテナをまとめて管理するためのツール。 Docker Composeは、「do…

ENV命令とWORKDIR命令

環境変数の設定(ENV命令) Dockerfile内で環境変数を設定したいときは、ENV命令を使う。 ENV命令の記法は2通りある。 key value型 単一の環境変数に1つの値をセットする。 ENV [key] [value] key=value型 一度に複数の値をセットする場合はkey=value型を…

テンプレートを構成する仕組み

{{....}}(Mustache構文) {{....}}は、与えられた式の値をテンプレートに埋め込む(=バインドする)基本的な手法。 テキスト部分に値を反映させるだけの簡単な記法。 Vue側▼ let app = new Vue({ el: '#app', data: { message: 'Hello World!' } }); HTML側▼ <div id="app"></div>…

デーモンの実行(CMD命令)

デーモンとは デーモンとは、Unix系のマルチタスクオペレーティングシステム において動作するプロセスで、主にバックグラウンドで動作する。 デーモンは、コンテナ起動中に常にバックグラウンドで動いている。 CMD命令 RUN命令はイメージを作成するために実…

コマンドの実行(RUN命令)

FROM命令で指定したベースイメージに対して、なんらかのコマンドを実行するときはRUN命令を使う。 アプリケーションをインストールする、環境構築のためのコマンドを実行するなど RUN [実行したいコマンド] RUN命令には、2通りの記述方法がある。 Shell形式…

DockerfileからDockerイメージの作成

Dockerfileからイメージを作成するには、docker buildコマンドを使う。 $ docker build -t [生成するイメージ名]:[タグ名] [Dockerfileのパス] 例 Dockerfileからtestというイメージを作成する場合 $ docker build -t test:ver1.0 ./ # 作成されたか確認 $ d…

ER図の基本ルール

エンティティ データのまとまりのこと。 エンティティの中にアトリビュートという属性情報がある。 アトリビュート(属性) エンティティの中の属性情報のこと。 主キー エンティティ上部で四角に囲い明示 外部キー 項目名の後ろに「(FK)」と書いて明示する …

外部キー制約付きテーブルを作成する

外部キー制約を使⽤する場合の注意事項 親テーブルおよび⼦テーブルでは FOREIGN KEY 制約の対象となるカラムに対してインデックスが必要 ⼦テーブルの対象カラムと親テーブルの対象カラムは同じデータ型である必要がある サンプル -- 親テーブル作成 create…

Laravelの外部キー制約

外部キー制約 外部キー制約とは、親テーブルと子テーブルの2つのテーブル間でデータの整合性を保つために設定される制約。 外部キー制約を使うことで、親テーブル側で更新や削除をしたとき、紐付いている子テーブルも同時に更新や削除を行ったりできる。 Lar…

{!! nl2br(e($変数)) !!}とは

{!! nl2br(e($変数)) !!}は、Bladeで改行コード付きの変数を表示させる場合に使う。 以下の1~3の記法を組み合わせることで、改行付きで表示できる。 e()でエスケープする nl2br()で改行(\n)を<br>に置き換える {!! !!}で、エスケープを無効にする 使用例 <div class="card-text"> {!! nl</div>…

プルダウン(select)の矢印を消す方法

プルダウンなどのselect要素をCSSでカスタマイズする場合、標準の矢印を消す必要がある。 ベンダープレフィックスとは プレフィックスは、接頭辞の意。 ベンダープレフィックス(Bender Prefix)とは、Google Chrome や Mozilla Firefox、Safari といったブ…

CSSのvwとvhについて

CSS 意味 vw ビューポートの幅に対する割合 vh ビューポートの高さに対する割合 viewportとは viewport(ビューポート)とは表示領域のことで、PCなどのブラウザではブラウザウィンドウの表示領域がそのままビューポートになります。 基準となるビューポートの…

jQuery セレクタの複数指定とメソッドチェーン

セレクタの複数指定 複数のセレクタ(要素)に、同じ処理をさせたいときに使う。 セレクタをコンマで区切ればOK。 $('#close-btn, #cancel-btn').click(function () { test(); function test(){ //処理 } }); メソッドチェーン 同じセレクタに、複数のメソッド…

Elastic IPアドレスとは

EC2インスタンスのパブリックIPアドレスは、デフォルトでは起動・停止するとその度に新しくIPアドレスが割り当てられる。 Elastic IPアドレスを使うと、インターネット経由でアクセス可能な固定グローバルIPアドレスを取得することができる。 Elastic IPアド…

Dockerの「COPY」と「ADD」の違い

COPY ビルドコンテキストのファイルを、イメージに組み込むことができるインスタラクション。 COPY ファイルのパス コンテナの配置場所 ADD tarの圧縮ファイルをコピーして解凍したいときはADDを使う。 ※COPYは単純にファイルやフォルダをコピーする場合に使…

Dockerfileの主要なinstruction「FROM」「RUN」「CMD」

FROM ベースとなるイメージを決定する。 DockerfileはFROMから書き始める。 RUN LInuxコマンドを実行する FROMの次の行にパッケージをインストールするRUNを書くのが一般的(長くなる場合は \ を使って改行する) RUN毎にLayerが作られる Dockerfileを作ってい…

dockerイメージとコンテナの削除方法

イメージ削除 指定したイメージを削除する $ docker rmi イメージID 未使用のイメージを一括削除する $ docker image prune コンテナ削除 指定したコンテナを削除する $ docker rm コンテナID 未使用のコンテナを一括削除する $ docker container prune

dockerイメージをdockerhubにpushするまで

1. dockerhubでリポジトリを作成する Create Repositoryで作成可能。 2. コミットする $ docker commit コンテナID イメージ名:タグ名 # 例)docker commit a0f3sas5fddda ubuntu:updated $ docker images REPOSITORY TAG IMAGE ID CREATED ubuntu updated c0…

Dockerの「exit」と「detach」の違い

コンテナから出る時、「exit」と「detach」の2つの方法があります。 exit exitは完全にプロセスを切るので、STATUSはExitedになります。 再度コンテナを起動するにはdocker restart コンテナIDで起動できます。 root@abf3s2dssddda:/# exit exit (user) :$ d…

マイグレーションのロールバック

もしマイグレーションファイルの内容を誤ったままマイグレーションを実行してしまった場合は、ロールバックする。 ロールバックとは、1つ前の状態に戻すこと。 前提 Dcoker Composeを用いた開発環境 手順 ロールバックする $ docker-compose exec workspace…

マイグレーション実行時にエラー(could not connect to server: Connection refused)が出た

マイグレーション実行時に以下のエラーが出ました。 $ docker-compose exec workspace php artisan migrate Illuminate\Database\QueryException : SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "po…

Python勉強したときに出てきた用語まとめ

イテラブル 繰り返し可能なオブジェクトのこと。 for i in AのAの部分に用いることができるもの。 イテレータ イテレータとは、リストなどの複数の要素をもったデータ型(イテラブルなオブジェクト)に対して、順番にデータを取り出す機能を提供するもの。 ジ…

print()のオプション、sepとend

pythonでは、print()に渡された値にオプションをつけなければ、値の前後に空白が入ります。 print()が複数ある場合は改行が自動で入ります。 # 空白が入る print('hello', 'world') # 出力:hello world # 改行が入る print('hello') print('world') # 出力 …

if __name__ == ‘__main__' : ってなに?

if __name__ == ‘__main__' :が書かれたPythonファイルが、importされているだけなのか、それともファイル自体が実行されているのかを判断するための条件式。 たとえば、以下のような関数が書かれたファイル(hello.py)があったとする。 def hello(): print("…

strptimeとstrftimeの違い

strptime 文字列(string)を日付(datetime)に変換する。 # string型の日付 str_date = '2020-06-06' # datetime型に変換 date = datetime.strptime(str_date, "%Y-%m-%d") print(date) #出力:2020-06-06 00:00:00 strftime 日付(datetime)を文字列(string)に…