2021-01-01から1年間の記事一覧

Oracle Cloud + AWS SES + お名前ドットコム独自ドメイン によるメール配信初期設定

環境: お名前ドットコムで独自ドメインを取得 App Server は Oracle Cloud Infrastructure 上に構築 メール配信システムに AWS Simple Email Service を使用 1. 独自ドメインDNS設定で XXX.com にアクセス可能にする 下記参照 www.ashisuto.co.jp 2. SESに…

Oracle Cloud Infrastructure: private subnet に設置した mongoDB server に public subnet からアクセスする

Updated: 2023/3/7 環境: App server と mongoDB 設置 server は同一VCN内にあり、App server は public subnet, mongoDB は private subnet 内に設置。 OSはともにubuntu@20.04 mongoDB@5.0.3 Public Subnet の Security Group Egress 宛先:Private Subnet…

Solved: Laravel で web.php で適切にroutingしているのにホーム以外が404エラーになる

環境: ubuntu@20.0.4 Apache@2.4.49 事象: Apache使用時 solution: sudo apachectl -S で各ポートのコンフィグファイルを確認 sudo vi 000-default-ssl.conf (↑確認されたコンフィグファイル) <Directory ~> ~ </Directory> を加筆 ref: qiita.com

Solved: PHPが正常に読み込まれず、プレインテキストを出力するようになった。libapache2-mod-php8.0 がインストールされているのに a2enmod libapache2 できない

PHP

事象: 正常にPHP、apacheがインストールされた後にapacheをアンインストールしたらPHPが読み込まれずindex.php内のplain textがアウトプットされるようになった。 solution: PHP、Apacheを完全にアンインストールして再インストール sudo apt-get purge apa…

Solved: Certbot: sudo certbot renew --dry-run でエラー

sudo certbot renew --dry-run Failed to renew certificate xxx.com with error: Some challenges have failed. 上記のエラーが発生した場合、 sudo certbot run -v 2: Renew & replace the certificate 後に sudo certbot renew --dry-run で解決

Oracle Cloud Infractructure: ubuntu@20.0.4 Let's encrypt を使ってHTTPS化

追記: 2022/5/7 対象インスタンスにSSH接続 Certbotのインストール Certbotとは証明書の導入、自動更新をしてくれるツール Certbotのインストールにsnapdのインストールが必要 ref: letsencrypt.org snapdのインストール ref: snapcraft.io snapdを最新にア…

solved: Oracle Cloud Infrastructure: ubutun@20.0.4: sudoersをいじくってsudoが出来なくなった件

事象: /etc/sudoers をvisudoを使用しないでviで編集してsyntaxエラーがあったためsudoコマンドが使用不可に。sudoersも編集できなくなって詰んだ 環境: oracle cloud infrastructure ubuntu@20.0.4 public subnet 作業の流れ: 当該インスタンスからboot v…

AWS Cloud9 で private subnet を追加して private subnet 内に立てた instance に SSH 接続する 力技

背景: cloud9 で mongodb を利用するとき app server と同一の EC2 インスタンスにmongoDB をインストールして使用したが、より本番環境に近い private subnet 内に EC2 インスタンスを立て、そこに mongodb server を作ることを試みた。 流れ: cloud9 と同…

Vuetify - v-text-fieldの中身をマニュアルで空にする

vuetify@2.5.5 ケース: v-text-fieldの入力の先頭の文字にスペースを入力されたら弾きたい solution: text-fieldの入力を検知 入力の頭がスペースか判別 text-filedにrefを設定してv-text-field component内のdataにアクセス スペースなら中身を空に 1. <v-text-field v-model="hoge" @input=input ref="foo"> 2 </v-text-field>…

Vuetify で v-dialog を2重にネストして発生する infinite recursion エラー

v-dialogのダイアログ内でもう一つネストしてv-dialogを設置すると、 2段目のダイアログを2回開閉すると下記のエラー でタブがクラッシュする。 solution) ネストされたv-dialog に:retain-focus=false を設定 ref: github.com

Laravel と VueJs の連携

環境: Laravel@8.42.1 vue@2.6.12 vue-router@3.5.1 App Structure /welcome welcome component内でregister/login リクエスト 結果が成功なら ’’ にリダイレクトするが、laravel blade template を切り替える必要があるのならば vue-router の $router.go,…

solved) Laravelでphp artisan db:seed をしたらエラー Unable to locate factory for MODEL_NAME

環境: Laravel@8.42.1 laravelを7.xから8.xにアップグレードしたタイミングで php artisan db:seed をしたら Unable to locate factory for MODEL_NAME とエラー solution) 各モデルのnamespaceを正しく修正 それにともない、各seeder, factoryファイルも修…

Laravel error: laravelのバージョンを7.xから8.xにアップグレードしたらmodelのclassが見つからなくなった

環境:laravel@8.42.1 laravelを7.xから8.xにアップグレードしたタイミングで下記のエラー modelのクラスがうまく取得できなくなった composer dump-autoload でエラーが確認できる solution) namespaceを修正 laravel プロジェクトのappディレクトリ直下に…

Upgrade Laravel from 7.x to 8.x / Upgrade PHP7.2 to PHP8.0 / Upgrade jenssegers/laravel-mongodb on AWS Cloud9

PHPをUpgrade sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install libapache2-mod-php8.0 sudo a2dismod php7.2 sudo a2enmod php8.0 sudo apt-get install php8.0-dom php8.0-mbstring php8.0-zip php8.0-mysql php8.0-comm…

Laravel + MongoDB + jensseger/laravel-mongodb: データベースからランダムにドキュメントを取得する方法

laravel@7.28.4 jensseger/laravel-mongodb@3.7.3 $result = myModel::raw(function($collection){ return $collection->aggregate([ ['$sample' => ['size' => 3]] ]); }) ref: github.com docs.mongodb.com stackoverflow.com

VueJs: component と slot の取り扱い

環境: vue@2.6.12 ある二つのモジュールについて、、、

Vuexでstateにあらかじめ設定していないプロパティを新たに挿入するときの注意事項

環境: vue@2.6.12 vuex@3.6.2 state = { test: {} } mutations = { 'addNewProp'(state, payload) { state.test[payload.key] = payload.content OR Object.assign(state.test, {[payload.key]: payload.content}) } } 上記でstateに新しいプロパティを付与…

konvajs で [Violation] Added non-passive event listener to a scroll-blocking <some> event. Consider marking event handler as 'passive' to make the page more responsive. See <URL>

コンソール上で下記エラーが表示 [Violation] Added non-passive event listener to a scroll-blocking <some> event. Consider marking event handler as 'passive' to make e page more responsive. See <URL> canvas 上でのイベントの取得に時間がかかり描画パフォー</url></some>…

VueJSでメモリマネジメントを加味した無限スクロールを実装

updated: 2021/7/18 無限スクロールは読み込むほどDOMが大きくなるので画面外のDOMは極力消して軽量化する必要がある。 より簡単な方法があったので加筆 vuetify の intersection-observer ディレクティブを使うと楽 環境: vue@2.6.12 vuetify@2.5.6 vue-in…

VueJS: Computed property "hoge" was assigned to but it has no setter

環境: vue@2.6.12 computed propertyをメソッドで直接定義し直したら Computed property "hoge" was assigned to but it has no setter とエラー computed property を再定義する場合、あらかじめ該当するproperty に setter, getter を設定しておく必要が…

fengyuanchen / compressorjs を使用して画像を圧縮してからnhn / tui.image-editorでキャンバスエディターを読み込む

背景: サイズの大きな画像をtui editor で読み込むとCPUスペックの低いモバイル端末でFilterの適用パフォーマンスが致命的に悪かったため、editor読み込み前に画像を圧縮する必要が生じた。 環境: compressorjs@1.0.7 tui.image-editor@3.11.0 onFileChang…