2021/07/20〜09/10

# Laravel

use Illuminate\Support\Str;
$random = Str::random(40);
  • Laravel の Storage はファイルダウンロード書き込みなどを行う
    • 具体的には、Blade テンプレートをコンパイルしたものやセッションのファイル、キャッシュファイル、その他フレームワークが作り出したファイルなんかが置かれる。
    • Laravel での画像保存・取得についてはこの記事を読むと良い。見せたいものはどこに置くのか?見られても良いものは?
    • Laravel5.8 画像アップロード機能を仕組みから理解する (opens new window)
  • make()create()の違い
    • make()…DB 作成し、保存まで一気通貫
    • create()…DB 作成した後、保存するメソッドだが、
    • create()はデータベースに保持される、make()はモデルの新しいインスタンスを作成するだけです。
      • create メソッドは、モデルインスタンスを作成するだけでなく、Eloquent の save メソッドを使用してデータベースに保存します
  • public function index(Request $request)
    • この引数(Request $request)は『サービスコンテナ』という機能のおかげで簡単に$requestが使える
      • app/△Class/■Service.phpで自作のサービスコンテナを作ることが
        • public function index(MyService, $myservice)
  • いくらモデルから fillable で使えるようにしていても、ファクトリーで定義しなければ、テストで使えない
    • デフォルト値を選ぶようにする
  • unitFeatureのテストの違い
  • DB からデータを取ろうとするとdeleted_atが null のものだけを取ってくる。
    • DB 設計の場合には関連するものは deleted_atが必要
  • 外部キーのマイグレーション
    • $table->foreign('user_id')->references('id')->on('users');
  • Laravel の命名まとめ
  • Tinkerwell web (opens new window)…Web で Laravel のサンプルプログラムを動かせる
  • admin 画面を簡単に作ることができる

# PHP

  • 三項演算子
    • 変数 = (判定) ? 正の場合 : 偽の場合;
    • DB のカラム => snake_case
    • PHP => camelCase
$point = 60;
$result = ($point >= 80) ? '合格' : '不合格';
echo $result;

# JavaScript

  • push()…配列の末尾に要素を追加する
  • includes()…配列に含まれていたら true。無ければ false を返す
const array1 = [1, 2, 3];
console.log(array1.includes(2));
// output: true

# Vue.js(Nuxt)

  • ▼この中にあるものはvueのトランザクションを使える。
<transition-group appear>
...
</transition-group>
.v-enter-active,
.v-leave-active {
  transition: all 0.5s;
}
.v-enter,
.v-leave-to {
  opacity: 0;
}

# CSS

# SQL

  • idには Bigint で決定。脳死で Bigint
    • 数値を扱う点は同じ
    • Bigint(こっちの方がメモリが大きい)とint(メモリが少なくて済む)
      • ID はとても多くなるため、Bigint なのだ!!
  • 関係性が薄いテーブルは中間テーブルにする
    • album -> page OK
    • album -> task_request NG
      • つまり、もし album と task_request を繋げたいならば、album_id <-> album_request <-> request_idという中間テーブルを設ける
  • PostgressSQL はjsonフィールドを置くことができる
  • unsignedは整数飲み
  • テーブル名は複数形
  • join…foregin のものを一緒に引っ張ってこれる
    • task_comment -> account -> user
    • select * from task_comments join users on accout_id = users.accout_id
  • foreign の場合には必ず同じ type(型)にする
    • users テーブルの id(int) -> task テーブル user_id(int)
  • 本番での数のデータと近い数のデータがローカルにないと負荷対策やコスト対策にならない
  • DB 設計においてはjoinする際は 3 テーブルはよろしくない。できれば2階層以内がいい
  • ENUM型(列挙型)…プログラムにデータを列挙しておくこと
public enum Fruit { //"class" ⇒ "enum" に書き換える
    //列挙子の定義
    APPLE,
    ORANGE,
    PEACH;
}

# Git

# その他

# プログラミング・エンジニアに関すること

# ビジネス

  • イニシャルコスト…始めるための初期投資のこと
  • ランニングコスト…続けてることのコスト(賃料など)
  • サンクコスト…やめられないコストのこと
  • ジョセフ・キャンベルが提唱した『ヒーローズ・ジャーニー(英雄の旅)
    • ① 日常の世界
    • ② 冒険への誘い
    • ③ 冒険への拒絶
    • ④ 賢者との出会い
    • ⑤ 第一関門突破
    • ⑥ 試練、仲間、敵
    • ⑦ 最も危険な場所への接近
    • ⑧ 最大の試練
    • ⑨ 報酬
    • ⑩ 帰路
    • ⑪ 復活
    • ⑫ 宝を持っての帰還
      • 応援したくなるストーリーコンテンツの王道はこれ
  • ヒットの法則…恋愛と食事シーンを入れると共感されやすい
  • クリエイターは作ったプロダクトから思い出を引き出せるものが高い価値を提供できる
  • オンボーディング…新しいお客さんに慣れてもらうこと。
    • アプリだったら、使い慣れてもらうこと。企業だったら、人材を入れて戦力にすること
  • メールはどれだけ送っても問題がないデータ
    • https://twitter.com/elmo_marketing/status/1425598081890865155?s=20
  • 確定申告書や収支内訳書には年の 1 月 1 日から 12 月 31 日までの収支を記入し、翌年の 2 月 16 日から 3 月 15 日の間に税務署に提出。
  • 白色申告に必要なもの
    • 収支内訳書
    • 確定申告書 B
  • 青色申告は事業開始から 2 ヶ月以内に申告しないと来年からしかできなくなる。ただし、申告だけいつでも可能なので、来年からだとしてもとりあえず青色申告を行う。(白色申告はしない)

# 雑学