【Larael】Middlewareで直接Viewを表示する

全てのページで同じような処理を行う場合、各コントロールの__constructに実装するより、Middlewareとして実装した方が便利です。 Middlewareを使えば、値を追加したり、コントローラの処理をする前にリダイレクトさせる事が可能です。 今回は、リダイレクト…

【javascript】押されたボタンから先祖の要素を取得する

プレーンなjavascriptで、押されたボタンを基準に同じグループ内の特定の要素を取得する方法。 とても初歩的ですが、久しぶりにプレーンなjsを触ると忘れているので備忘録として。 See the Pen parent selecter by shibainu (@websandbag) on CodePen.

【Laravel】保存・更新時に特定のカラムを自動で暗号化(復号化)させる

システムを実装する上で、個人情報の暗号化は必ず対応すべき事です。 Laravelの場合、エンクリプタが用意されていますので処理自体は非常に簡単です。 readouble.com しかし、ルートやキー毎に手動で暗号化と復号化処理を入れるのは手間です。 さて、 今回は…

【Laravel】ナビゲーションに現在見ているページの位置情報を反映させる

現在ページの位置情報をフロントに反映させるという場面があります。 現在のURLを取得して解析する事自体は、jsでもphpでも可能なのですが、処理の記述が長くなってしまいがちです。 パンくずであれば、laravel-breadcrumbsというライブラリがあります。 pac…

【Laravel】envファイルの設定値に半角スペースを入れる方法

Laravelの.envファイル内で半角スペースを入れたい場合の対応方法です。 状況 アプリケーションの名前に該当するAPP_NAMEに下記のように設定しました。 APP_NAME=テスト タイトル view内で、次のようにh1にAPP_NAMEの設定値を表示できるようにします。 <h1>{{ co</h1>…

【Laravel】Laravel 5.7以降の未認証ユーザーのリダイレクト実装方法

2018年9月にリリースした5.7以降、Laravelの未認証時のリダイレクトを実装する方法が変わりました。 バージョン5.6以前は、app/Exceptions/Handler.phpのunauthenticated関数を使っており、最近でもその方法で解説する記事も多いです。 今回は、5.7以降の実…

【pug】【Laravel】laravel-mix-pugのタグ属性にPHPの処理を入れる

テンプレートエンジンにpug(jade)を使う場合、テンプレートのタグ属性にPHPの処理を入れるのにコツがいります。 環境 pugテンプレートのコンパイルはwebpackに任せます。 Laravelのプロジェクトを作るとデフォルトでlaravel-mix.jsと言うwebpackの設定ファイ…

【Composer】【Laravel】Laravelのプロジェクトディレクトリ内に独自クラスファイルを追加する方法

Laravelの機能やPHPの組み合わせれば大概の機能は実装できますし、Laravel側で仕様が決まっているので綺麗にかけます。 しかし、時には再現できない機能を実現するために自分でクラスを書いて追加したい時があります。 Laravelの場合、php artisanで関連する…

【Laravel】 5.8系にアップデートしてマイグレーションファイルを自動生成する時に注意する事

久しぶりにLaravelで新しいプロジェクトを作ったのですが、migrateの仕様が変わった部分があったので記事にしてみます。 環境 種類 バージョン laravel 5.8 migrate:modelでマイグレーションファイルも一緒に作った時の挙動について モデルを作成と一緒にマ…

【Amazon ECR】自作したコンテナイメージをAmazon Elastic Container Registryで管理する

開発環境の構築でコンテナを組み合わせて使うことが多いのですが、実際の確認環境にも使用してみようと考えてみました。 今回はAWSの環境にDockerでコンテナを管理する構成をしてみようと思います。 その際に、コンテナの管理をAmazon Elastic Container Reg…

【Docker】LaravelでMySQL8.0を使う

以前、LaravelのMySQL8.0はサポートしていないという記事を書きました。 blog.websandbag.com 2019年6月現在でも状況は同じようです。 認証方式がcaching_sha2_passwordが対応していないのが原因です。 PDOException::("PDO::__construct(): The server requ…

【Docker】MySQLイメージで初期投入するデータベースとアカウントを変更する方法

Webアプリケーションの環境構築する場合、データベースのコンテナとしてはMySQLのイメージを使う事があります。 hub.docker.com MySQLのイメージからコンテナを作る場合、docker-compose.ymlのenviromentを設定すれば、データベースとアカウントを初期投入す…

【Docker】MySQLコンテナで使用するイメージを5系から8系に変える時の注意

MySQLのイメージを5.7と8.0に切り替えた所、MySQLのコンテナが起動できないエラーが発生しましたので、その時の対処方法を記載します。 おそらく、稼働中にMySQLのバージョンを5系からアップグレードしたい場合でも発生する可能性があります。 目次 目次 状…

【Redmine】CentOS7のサーバーにRedmineを導入する(Nginx+Unicron+MySQL)

プロジェクト管理をツールを検討すると、Redmineの名前はよく上がります。 redmine.jp 同じようなサービスにBacklogやAsanaのようなツールがあります。 しかし、無償だけでは不十分だったり、機能を追加しようとすると維持費が割と高いのが悩ましい所です。 …

「NFCでICカード読み込むってどう言うこと?」ってなったので調べてみた

確定申告のために、PaSoRiを購入された方もおられるのではないでしょうか? あれを他の事にも利用できないかと考えたことは無いでしょうか? ソニー SONY 非接触ICカードリーダー/ライター PaSoRi RC-S380出版社/メーカー: ソニー(SONY)発売日: 2012/10/10メ…

【Unity】シーン再読み込み時にDirectionalLightが効かなくなるバグを回避する方法

久しぶりにUnityを触るので復習がてら公式のチュートリアルをやってみました。 その際、シーンを再読み込みするとDirectionalLightが効かない状態になるバグに遭遇しました。 バグの解決方法を載せます。 状況 公式のチュートリアルを参考に勧めましたので、…

【Webフォント】はてなブログにAdobe FontsのWebフォントを適用する

前回投稿したWebフォントの応用になりますが、はてなブログにもWebフォントを追加する事が可能です。 blog.websandbag.com ドメインやページビュー数の縛りが無くなったので、気兼ねなく使えます。 今回は、テーマ本体のスタイルはそのままにして、フォント…

【Webフォント】Adobe Fontsで提供されているフォントをページに適用する方法

最近は、Webフォントありきのウェブサイトも多くなってきました。 以前は、デザイン上、デバイスフォントではない場所を画像文字で代用する事がよくありましたが、alt属性をつける必要があったり、文字サイズの変更に耐えられなかったりコーディング側の負荷…

【GooglePlay】Playゲームのプロフィールを削除してソシャゲの復帰防止

ゲーム依存症は、病気認定されるほど深刻な社会問題になっています。 style.nikkei.com ソシャゲを辞められない原因の一つに、辞め方が複雑というのがあると思います。 ソシャゲに限った話ではありませんが、サービスの辞め方は複雑なものが多く、途中で断念…

【wordpress】【php】WordPress配下外のスクリプトファイルから、WordPressのデータを取得する

WordPress主体のサイトで、WordPressにはない機能を追加したい場合があります。 おそらくですが… 固定ページやテーマのfunction.php等を駆使すれば、大概のアプリケーションは作成できます。 しかし、組み込む事で難易度が上がったり、保守性が落ちる事が考…

【salesforce】【PHP】OAuth認証とデータ取得の方法をまとめてみた

最近、salesforceからデータを取得する機会がありました。 developer.salesforce.com salesforceのAPIの仲介をするライブラリがあるか探してみたのですが、あまり情報がありませんでした。 ありました。 toolkitと呼ばれるライブラリ集が公開されています。 …

【Let's Encrypt】SSL証明書を手動更新する

自動更新ではなく、手動更新する場合の方法です。 記事内で紹介するページについて 本来の公式ページは下記になりますが、ドキュメントは英語です。 letsencrypt.org 本記事では、日本語で和約している下記のサイトから引用します。 非公式と書かれておりま…

【OmniFocus】OmniFocus2からOmniFocus3へのデータ移行

2018年9月にOmniFocus3がリリースされました。 www.omnigroup.com OmniFocus2を使っていたため、OmniFocus3へのアップグレードする事にしました。 その際に、データを移行する必要があったため移行手順を記載します。 OmniSyncServerのアカウント作成 OmniFo…

【AWS】【CloudWatch】異常で止まったインスタンスを自動で再起動させる

最近サーバーの復旧作業を行う機会がありました。 原因は恐らくメモリ不足です。 過去のアクセス数がわかる情報が無かったため最小の構成で構築しましたが、実際に稼働させて見ると耐えられないほどのユーザーが訪れたようです。 冗長化は重要ですね。 さて…

【mac】【php】composerをグローバルにインストールする

最近、PCが破損してしまい色々環境設定をし直しています。 備忘録として記載します。 Laravelのインストールの手順に載っている、laravelコマンドを実行する時にも使います。 インストール 5.5 Laravel 今回は、composer経由でインストールしたlaravelを実行…

【Docker】公開されているコンテナイメージを一時的に使う

docker hubで配布しているコンテナのイメージについて調査したい時があります。 しかし、調査するだけで開発環境(ローカル)に保持する程の事もない時もあります。 今回は、一時的にコンテナを作る方法について記載します。 方法 開発環境にコンテナを作る…

【Docker】phpコンテナの暗号化を有効にする

Dockerでlamp環境を構築しようとする場合、個人の方が公開されている情報が多くとても助かります。 案件によっては、phpで暗号化、複合化が必要になるケースも出てきます。 実現する方法を探していると、Dockerfileに下記と追加すればmcryptが使えるという情…

【Docker】MariaDBのコンテナに初期データを投入する

Dockerを立ち上げた際、同時に初期データを投入する方法です。 初期データの投入方法 今回は、公式のMariaDBコンテナを使います。 Docker SecretsのInitializing a fresh instanceの項に、次のように記載されています。 https://hub.docker.com/_/mariadb/ I…

【PHP】静的なconfigファイルの書き方

php

固有な情報を扱う場合、変数(あるいは定数)にしてページの上部に書いて目立つようにするという事をよくやります。 しかし、ファイル間共有する時にこの要領でそれぞれのファイルに追記してしまう方法はお勧めできません。 修正し忘れのファイルがあって事…

【javascript】連想配列から特定のキーに紐づく1配列のみ抽出する

連想配列から特定のキーが指定した値に合致した配列のみ取得する方法です。 また、重複しない要素(例えばID等)の場合、結果は0か1のはずです。 そのため、最初一件のみ変数に代入する方法についてまとめます。 元データ [ { "id": 1, "name": "name_1" }, …

©︎2017-2018 WebSandBag