Laravelでテーブルに変更を加える場合、基本的にマイグレーションで指示を書きます。 マイグレーションを書く時は、必ず立ち上げ時に起動するup関数と、ロールバックやリセットで実行するdown関数を設定します。 新規のマイグレーションについては、テーブル…
Vueとバックエンドで共通の値を使いたい時があります。 シングルページアプリケーションの様にフロントとAPIで構成する場合は、APIでサーバーサイドとやり取りをすると言う方法が考えつきます。 しかし、設定値のためだけにAPIを使うと言うのは実装するのも…
iPhoneやiPadのようなiOSデバイスで英語文字入力をする際、先頭の小文字が大文字になってしまう事があります。 小文字しか入力しないinputタグの場合、この機能が煩わしく感じます。 今回はこの機能を止める方法です。 原因 タグに付与するautocapitalize属…
Vueでアプリケーションを実装していた時に発生したエラーについて記載します。 状況 ボタンが2個あるページを作成しました。 ボタンが1個だったときはオブジェクトでも動いていたのですが、2個にしたところ次のエラーが発生しました。 The "data" option …
LaravelにはModel Eventと言うモデルの状態変更に合わせてコールバックを実行できる機能があります。 readouble.com laravel.com 最近、この機能を知りました。 その機能を別のシステムでも使おうとした所すんなり動かなかったので備忘録として残しておきま…
Webアプリケーションを作っていて、テキストエリアを介さずに入力を送信したい場合があります。 例えば、バーコードリーダーのような外部デバイスの入力を受け付けてそのまま送信をしたい時などです。 今回は、テキスト入力を特定のテキストボックスに入力さ…
本日は小ネタです。 Bitbucketはドキュメンテーションの管理がしやすいです。 例えば、リポジトリでReadme.mdのファイルを追加していると、Bitbucketで該当のリポジトリのトップページで表示されます。 また、Wikiや課題管理も用意されています。 プロジェク…
C#で非同期処理を調べるとTaskの記事が多く見受けられます。 docs.microsoft.com Task自体理解するのが難しく、サンプルコードだけでは理解しきる事は困難です。 さらに読み進めていくと根本にはスレッドが使われている事に気づきます。 docs.microsoft.com …
今回は小ネタです。 終わりが分からない場合、無限ループで繰り返し実行しつつ内部から状態変化を取得するという方法があります。 記事を色々見ていくと無限ループの書き方も1つではありません。 今回は、よく見かける無限ループの書き方について触れます。…
Visual Studioのソース分析で発生した警告について理解し、修正をする方法について記載します。 環境 Visual Studio 2019 で開発します。 ソース分析 ソースアナライザー 設定項目 設定値 推奨されるアナライザー パッケージ Microsoft.CodeAnalysis.FxCopAn…
Visual Studioはツール作る上で最適なツールです。 しかし、便利すぎて余計な事までしてしまう事があります。 例えば、ツールのイベントを自動で追加する機能です。 コンポーネントのデザインビューからツールを追加してダブルクリックをすると、自動でイベ…
偶にキーボード操作が煩わしいという事は無いでしょうか? Excel、ホームページの問い合わせフォーム、チャット… アプリケーションが違うだけで入力することは一緒なのに毎回入力するのは面倒臭い。 コピペするにしても、コピー元を探さないといけないので非…
最近、仕事で外部とやり取りする時も、ExcelではなくGoogleのスプレットシートでデータをやり取りする機会が増えてきました。 gsuite.google.co.jp OSや端末を選ばず、GoogleChromeがインストールされていれば使えると言うのはとても便利です。 スプレットシ…
関数やクラスの説明をする際、コード要素の上にコメントを書いて説明を入れます。 その説明の事をドキュメンテーションコメント(またはドキュメントコメント)と言います。 ドキュメンテーションコメントは基本的に厳格なフォーマットがありません。 どのよ…
久しぶりにWordpressを触ると何気ない所でミスをしてしまうものです。 例えば、稼働中の確認環境を再現するために開発環境を構築する時です。 再現するために、確認環境からDBをダンプしてインポートします。 しかし、そのままインポートしてしまうとサイト…
マイグレーションで外部接続を設定する時に、設定するテーブル名や外部きーが長いと次のようなエラーが出ます。 Syntax error or access violation: 1059 Identifier name 'xxxxxx_foreign' is too long is too long. この場合、短いインデックスを指定する…
SESはを用いたメール配信サービスを実装していると、ファイルの添付もしたいと言う要望があります。 例えば、マンスリーレポートの配信です。 レポートのサイズが1MB程度のファイルなら添付しても問題ありません。 しかし、20MBを超えるようなリテラシー的に…
今回はmacの小ネタです。 手軽にパスワード生成をするコマンドです。 下記のコマンドを実行する事で、半角英数字のパスワードを取得できます。 $ cat /dev/urandom \ | LC_CTYPE=C tr -dc A-Za-z0-9 \ | head -c (取得したいパスワードの桁数) \ | pbcopy 原…
コマンド(AWS CLI)から手軽にLambda関数を実行して結果を得る事が出来ます。 これを同期呼び出しと言います。 実行するデータはjson形式で作成してアップロードして実行する事も可能です。 オプションpayloadに作成したファイルを指定する事で実行できます。…
最近、5年程使用していたMacBookを買い替えました。 support.apple.com 早速触ってみましたが、便利になりましたし処理も軽くなりました。 購入するだけの価値はあります。 本格的に新しいMacを仕事で使うにあたり、今まで使っていたMacの環境を移行する必…
Webサービスを構築する際に、通常のサービスとは別に管理画面が必要になる場合があります。 管理画面は利用者が限られていますので、派手でインタラクティブである必要はありません。 しかし、使いやすく見やすい管理画面は、本サービスとは違うベクトルで作…
小ネタですが。 冗長化されたサーバーだと今アクセスしているサーバーがどちらか知りたいときがあります。 その場合、SERVER_ADDRで現在のスクリプトが実行されているサーバーの IP アドレスを表示する事ができます。 $_SERVER['SERVER_ADDR'] https://www.p…
2020年になりましたね。 今年も皆さんに良い年でありますように。 さて、 複数人でサービスを運用していると、別の方の作業をマージした事で新しい問題が発覚するケースがあります。 その場合、過去の変更前に戻して環境を戻して原因究明をする事もあります…
師走ですね。 皆様年末に向けて追い込みをかけている時期でしょうか? 開発が込み入ってくると、バージョン管理も複雑になって来ます。 例えば、サービスの運用をしていて複数の機能を実装していると、リリースのタイミングがズレるなんて事はないでしょうか…
小ネタです。 アプリケーションを作成していると、静的関数(static function)からグローバル変数を使いたい時があります。 今回は、Laravelで自身のテーブル名を取得する方法を使って説明します。 動的関数の場合 通常の関数であれば$this->(変数名)で取得…
指定したモデルで管理しているパラメータによって処理を変えたい時があります。 判定に使用するパラメータがbool型であれば、trueかfalseなので特に迷うことはありません。 しかし、int型で複数の状態を管理する場合があります。 int型でパラメータを管理す…
Amazon SES(以下、SES)は、メールサーバーにする事が出来ます。 SESに登録したドメインすれば、直接メールを送信することが可能なので、メールサーバーを用意する必要がありません。 (もちろん、要件によってはEC2でメールサーバーを構築したり、AWS以外の…
EC2でサーバーを運用しているのですが、最近メモリ使用率がいっぱいになってしまいアプリケーションが動かないという事がありました。 情報を集めていると、擬似的にメモリを作ってスワップさせる方法に行き着きました。 さて、 今回はEC2インスタンスに仮装…
フォームを実装していると、下記のように選択状況に応じてバリデーションをするかしないか決めたい時があります。 必須入力の有無であれば、required_ifで対象のinput値を参照して切り替える事が可能です。 readouble.com しかし、日付データを比較するaftte…
一日のリセット時間が夜の毎日0時であれば特に問題ないのですが、特定の時間にリセットする場合比較方法が少し複雑になります。 例えば、毎日3時にリセットされる場合、次のような方法で比較する事ができます。 format('Y-m-d') . ' ' . $resetTime); // 現…