【Laravel】既存のテーブルに外部キーを設定、解除するマイグレーションを作る

Laravelでテーブルに変更を加える場合、基本的にマイグレーションで指示を書きます。 マイグレーションを書く時は、必ず立ち上げ時に起動するup関数と、ロールバックやリセットで実行するdown関数を設定します。 新規のマイグレーションについては、テーブル…

【Vue】コンポーネントのプロパティの初期値にバックエンドから値を代入する

Vueとバックエンドで共通の値を使いたい時があります。 シングルページアプリケーションの様にフロントとAPIで構成する場合は、APIでサーバーサイドとやり取りをすると言う方法が考えつきます。 しかし、設定値のためだけにAPIを使うと言うのは実装するのも…

【HTML】iOSデバイスで入力すると先頭が大文字になる件

iPhoneやiPadのようなiOSデバイスで英語文字入力をする際、先頭の小文字が大文字になってしまう事があります。 小文字しか入力しないinputタグの場合、この機能が煩わしく感じます。 今回はこの機能を止める方法です。 原因 タグに付与するautocapitalize属…

【Vue】エラー解決備忘録:The "data" option should be a function that returns a per-instance value in component definitions.

Vueでアプリケーションを実装していた時に発生したエラーについて記載します。 状況 ボタンが2個あるページを作成しました。 ボタンが1個だったときはオブジェクトでも動いていたのですが、2個にしたところ次のエラーが発生しました。 The "data" option …

【Laravel】Model Eventが動かないを原因を解消するまで

LaravelにはModel Eventと言うモデルの状態変更に合わせてコールバックを実行できる機能があります。 readouble.com laravel.com 最近、この機能を知りました。 その機能を別のシステムでも使おうとした所すんなり動かなかったので備忘録として残しておきま…

【js】キーボードの入力を特定のテキストボックスに集約させる

Webアプリケーションを作っていて、テキストエリアを介さずに入力を送信したい場合があります。 例えば、バーコードリーダーのような外部デバイスの入力を受け付けてそのまま送信をしたい時などです。 今回は、テキスト入力を特定のテキストボックスに入力さ…

【Bitbucket】ReadMeやWikiのページに目次をつける

本日は小ネタです。 Bitbucketはドキュメンテーションの管理がしやすいです。 例えば、リポジトリでReadme.mdのファイルを追加していると、Bitbucketで該当のリポジトリのトップページで表示されます。 また、Wikiや課題管理も用意されています。 プロジェク…

【C#】ラーメン屋で例えるスレッド

C#

C#で非同期処理を調べるとTaskの記事が多く見受けられます。 docs.microsoft.com Task自体理解するのが難しく、サンプルコードだけでは理解しきる事は困難です。 さらに読み進めていくと根本にはスレッドが使われている事に気づきます。 docs.microsoft.com …

【C#】無限ループの書き方色々

C#

今回は小ネタです。 終わりが分からない場合、無限ループで繰り返し実行しつつ内部から状態変化を取得するという方法があります。 記事を色々見ていくと無限ループの書き方も1つではありません。 今回は、よく見かける無限ループの書き方について触れます。…

【C#】【Visual Studio】警告コード「CA1062」の修正方法

Visual Studioのソース分析で発生した警告について理解し、修正をする方法について記載します。 環境 Visual Studio 2019 で開発します。 ソース分析 ソースアナライザー 設定項目 設定値 推奨されるアナライザー パッケージ Microsoft.CodeAnalysis.FxCopAn…

【Visual Studio 2019】コンポーネントのツールに追加したイベントを削除する方法

Visual Studioはツール作る上で最適なツールです。 しかし、便利すぎて余計な事までしてしまう事があります。 例えば、ツールのイベントを自動で追加する機能です。 コンポーネントのデザインビューからツールを追加してダブルクリックをすると、自動でイベ…

【C#】別のアプリケーションに対してキーボード操作を行う

偶にキーボード操作が煩わしいという事は無いでしょうか? Excel、ホームページの問い合わせフォーム、チャット… アプリケーションが違うだけで入力することは一緒なのに毎回入力するのは面倒臭い。 コピペするにしても、コピー元を探さないといけないので非…

【Google App Script】スプレットシートで目次ページの作る方法とGoogle App Scriptの始め方

最近、仕事で外部とやり取りする時も、ExcelではなくGoogleのスプレットシートでデータをやり取りする機会が増えてきました。 gsuite.google.co.jp OSや端末を選ばず、GoogleChromeがインストールされていれば使えると言うのはとても便利です。 スプレットシ…

【C#】コメントフィールドの書き方 C#編

関数やクラスの説明をする際、コード要素の上にコメントを書いて説明を入れます。 その説明の事をドキュメンテーションコメント(またはドキュメントコメント)と言います。 ドキュメンテーションコメントは基本的に厳格なフォーマットがありません。 どのよ…

【Wordpress】アドレスを誤って設定してしまった時の復帰方法

久しぶりにWordpressを触ると何気ない所でミスをしてしまうものです。 例えば、稼働中の確認環境を再現するために開発環境を構築する時です。 再現するために、確認環境からDBをダンプしてインポートします。 しかし、そのままインポートしてしまうとサイト…

【Laravel】外部接続のインデックスを任意の名前に変更する

マイグレーションで外部接続を設定する時に、設定するテーブル名や外部きーが長いと次のようなエラーが出ます。 Syntax error or access violation: 1059 Identifier name 'xxxxxx_foreign' is too long is too long. この場合、短いインデックスを指定する…

【Amazon SES】ファイル添付をしたい場合の注意と対処法

SESはを用いたメール配信サービスを実装していると、ファイルの添付もしたいと言う要望があります。 例えば、マンスリーレポートの配信です。 レポートのサイズが1MB程度のファイルなら添付しても問題ありません。 しかし、20MBを超えるようなリテラシー的に…

【mac】パスワードを手軽に生成

mac

今回はmacの小ネタです。 手軽にパスワード生成をするコマンドです。 下記のコマンドを実行する事で、半角英数字のパスワードを取得できます。 $ cat /dev/urandom \ | LC_CTYPE=C tr -dc A-Za-z0-9 \ | head -c (取得したいパスワードの桁数) \ | pbcopy 原…

【AWS Lambda】同期呼び出しで実ファイルを使用できない時の対処法

コマンド(AWS CLI)から手軽にLambda関数を実行して結果を得る事が出来ます。 これを同期呼び出しと言います。 実行するデータはjson形式で作成してアップロードして実行する事も可能です。 オプションpayloadに作成したファイルを指定する事で実行できます。…

【Mac】2020年春版、MacBook(Catalina)を購入して最初にやると良い事

最近、5年程使用していたMacBookを買い替えました。 support.apple.com 早速触ってみましたが、便利になりましたし処理も軽くなりました。 購入するだけの価値はあります。 本格的に新しいMacを仕事で使うにあたり、今まで使っていたMacの環境を移行する必…

【DataTables】独自の検索機能を追加する

Webサービスを構築する際に、通常のサービスとは別に管理画面が必要になる場合があります。 管理画面は利用者が限られていますので、派手でインタラクティブである必要はありません。 しかし、使いやすく見やすい管理画面は、本サービスとは違うベクトルで作…

【PHP】冗長化されたサーバーでどちらのサーバーのアプリケーションが実行されているか確認する

php

小ネタですが。 冗長化されたサーバーだと今アクセスしているサーバーがどちらか知りたいときがあります。 その場合、SERVER_ADDRで現在のスクリプトが実行されているサーバーの IP アドレスを表示する事ができます。 $_SERVER['SERVER_ADDR'] https://www.p…

【Laravel】ルートが解決出来ないエラーの対処法

2020年になりましたね。 今年も皆さんに良い年でありますように。 さて、 複数人でサービスを運用していると、別の方の作業をマージした事で新しい問題が発覚するケースがあります。 その場合、過去の変更前に戻して環境を戻して原因究明をする事もあります…

【Git】開発環境から一部の機能だけリリースする手順

git

師走ですね。 皆様年末に向けて追い込みをかけている時期でしょうか? 開発が込み入ってくると、バージョン管理も複雑になって来ます。 例えば、サービスの運用をしていて複数の機能を実装していると、リリースのタイミングがズレるなんて事はないでしょうか…

【PHP】【Laravel】静的関数で自分のグローバル変数(関数)を取得する方法

小ネタです。 アプリケーションを作成していると、静的関数(static function)からグローバル変数を使いたい時があります。 今回は、Laravelで自身のテーブル名を取得する方法を使って説明します。 動的関数の場合 通常の関数であれば$this->(変数名)で取得…

【Laravel】モデルに判定用の関数を追加してチェーンメソッドで呼び出す

指定したモデルで管理しているパラメータによって処理を変えたい時があります。 判定に使用するパラメータがbool型であれば、trueかfalseなので特に迷うことはありません。 しかし、int型で複数の状態を管理する場合があります。 int型でパラメータを管理す…

【Amazon SES】SESでメール送信する時に知っておきたい事

Amazon SES(以下、SES)は、メールサーバーにする事が出来ます。 SESに登録したドメインすれば、直接メールを送信することが可能なので、メールサーバーを用意する必要がありません。 (もちろん、要件によってはEC2でメールサーバーを構築したり、AWS以外の…

【AWS EC2】インスタンスに仮装メモリを作る

EC2でサーバーを運用しているのですが、最近メモリ使用率がいっぱいになってしまいアプリケーションが動かないという事がありました。 情報を集めていると、擬似的にメモリを作ってスワップさせる方法に行き着きました。 さて、 今回はEC2インスタンスに仮装…

【Laravel】Requestクラスのルールを動的に変える

フォームを実装していると、下記のように選択状況に応じてバリデーションをするかしないか決めたい時があります。 必須入力の有無であれば、required_ifで対象のinput値を参照して切り替える事が可能です。 readouble.com しかし、日付データを比較するaftte…

【php】DateTimeとstrtotimeを使って特定の時間だったら日時を戻す方法

php

一日のリセット時間が夜の毎日0時であれば特に問題ないのですが、特定の時間にリセットする場合比較方法が少し複雑になります。 例えば、毎日3時にリセットされる場合、次のような方法で比較する事ができます。 format('Y-m-d') . ' ' . $resetTime); // 現…

©︎2017-2018 WebSandBag