yasutomogのブログ

JavaScriptとAzureとPHPのメモ帳

OAuth2対応したPWAをiOSでホーム画面に追加すると認証が厳しい

概要 社内アプリをPWAで構築したときのはなし 社内の諸々はGoogleアカウントで管理しているので、認証はGoogleのOAuth2を使用 PWAはNuxt.jsを使って作成し、APIはPHPのLaravel(社内サイトがLaravelを使ってたので流用)を使って作成 Google OAuth 2.0 認証…

PHPでGuzzleHttpを使用して並列処理(同時実行数の制御)の確認

概要 PHPでHTTP通信の並列処理をする curl_multiではなくGuzzleHttpを使って試す GuzzleHttpは並列実行が元々用意されている 知りたかったこと GuzzleHttpでPoolの使用時に設定するconcurrency(並列処理数)の制御 具体的には、全部で10リクエスト投げる処…

Azure Data Studioの設定方法(SQLの実行計画)

概要 Azure SQL Databaseを使っていて、Azure Data Studio(MSが提供しているクライアントツール)を試してみた 実行計画のところだけ、ハマったのでメモ バージョン OS:10.12.6 Azure Data Stduio:1.1.3 インストール 以下のサイトからダウンロードしてイ…

Nuxt.jsの開発サーバでHot Module Reloading (HMR)のエラー対策

概要 Nuxt.jsのテンプレートを使ったプロジェクト 「yarn run dev」コマンドで開発サーバ起動(デフォルトの3000ポート) コンソールログに「hot-update.json timed out」というエラー出力 ホットリローディングができない バージョン node:10.12.0 nuxt.js…

Nuxt.jsでPWAをGitHub Pagesにコマンドでデプロイする流れ

概要 Nuxt.jsのテンプレートとPWAモジュールを使用して作成したアプリをGitHub Pagesにコマンドラインでデプロイする方法のまとめ バージョン node:10.12.0 nuxt.js:2.0.0 nuxtjs/pwa:2.6.0 push-dir:0.4.1 vue-cli:2.9.6 yarn:1.10.1 参考記事 https:…

GitHub Pagesでアンダーバーのディレクトリ対応

概要 Nuxt.jsで構築したサイト(yarn run generateで生成したdist直下)をGitHub Pagesに上げると、_nuxtディレクトリ内のjsファイルなどが404になる GitHub PagesではJekyllで処理されるため、アンダーバー付きディレクトリなどが正常に読み込まれない 対応…

AjaxのCSVダウンロード(Excelでの文字化け対応)

概要 既に色々なところであがっているトピックなので今更だが、Excelの特定バージョンでのみ文字化けするということがあったので、対策をメモ 一般的にCSVをExcelで開く時の文字化け対策としては以下2つ。 CSVの文字コードをShift_JISで作成する CSVの文字コ…

Lumen(Laravel)のQueue管理クラス(DB)の拡張方法

概要 Lumenを使用したWebアプリを運用している中で、Queue(DB)を使用 DBは、Azure SQL Databaseを使用 Azure SQL Databaseでは一時的に負荷が上がると、強制的に接続を切断しDB側の再構成が走る DB接続をキャッシュしたり、コネクションプーリングなどを使…

Lumen(Laravel)のQueue処理(DB)フロー

概要 LumenのQueue(DB)実行のコードを追ったのでメモ 前提 lumen:5.5.7 PHP:7.1 php artisan queue:work のコマンド実行時 フロー Illuminate\Queue\Console\WorkCommandクラスが実行 github.com Illuminate\Queue\Worker.php#daemonが実行 github.com 本…

シリコンバレー式最強の育て方の読書感想

概要 今期に入ってから1on1を実践開始していた ネット上で転がってる記事を読みつつなんとなくで運用していた 継続して実施していくために、「シリコンバレー式 最強の育て方」を読んだのでメモ シリコンバレー式 最強の育て方 ― 人材マネジメントの新しい常…

JavaScriptの色々な非同期処理の書き方(callback、promise、async/await)

概要 callback、promise、async/awaitの3パターンで非同期処理を書いてみる 内容 callback function add1000(n) { setTimeout(() => { console.log(n + 1000); }, 2000); } function add100(n) { setTimeout(() => { console.log(n + 100); add1000(n + 100)…

コンピテンシー面接マニュアルの感想

概要 コンピテンシー面接マニュアルの読書感想 これまでは感覚的に面接をしていたため、軸みたいなものが欲しかった 内容(ざっくり気になったところだけ) 学力的な優秀さだけを見るのではなく、成果を繋げるための思考やそれに伴う行動が取れる人かを見極…

Sencha ExtJSでasync/awaitを使う方法

概要 Sencha ExtJSを使ったプロジェクトの非同期処理でもECMAScript 2017 (ECMA-262)を使って実装したい。 単純にasync/awaitを使ってコーディング後、「sencha ap b」などでビルドすると、エラーとなった 前提 Sencha Cmdを使用して生成したプロジェクト Se…

cordovaを使ったAndroidのリリースエラー回避

概要 cordovaでiOSとAndroid開発をしているプロジェクトを引き継いだ 数年前に発足したプロジェクトで諸々のライブラリや設定が古い状態 下手にcordovaなどのバージョンアップしようとすると、まともに動かない 当初作成していた開発者とはほぼ連絡取れず、…

vue.jsとOnsen UIでPWAのモックアプリを作成してみた

概要 会社の新人研修では、社内の書籍管理システムの構築を課題としている 研修課題のシステムは、LAMP環境で構築する一般的なWebシステム スマホアプリみたいなものを作って書籍管理システムにアクセスできると面白そう 社内用アプリのため審査などを通すの…

PHP(Lumen)からAzure Storage Tableを使ったときのメモ3

内容 yasutomo.hatenablog.com yasutomo.hatenablog.com 上記2つの記事から、Azure SQLDatabaseとAzure Storage Tableを使って比較してみたメモ 処理概要 CSVから読み込んだデータをDBもしくはStorageに登録または更新 Azure SQLDatabaseのプランはS0(Stand…

PHP(Lumen)からAzure Storage Tableを使ったときのメモ2

内容 yasutomo.hatenablog.com 上記ブログでAzure Storage TableにPHPからアクセスしたときにハマったポイントをまとめたメモ 処理概要 CSVから読み込んだデータをAzure Storage Tableに保持 CSVの1行がAzure Storage Tableの1Entityという構造 CSVのKey項目…

PHP(Lumen)からAzure Storage Tableを使ったときのメモ1

内容 Lumenで構築しているWebアプリケーションからAzure Storage Tableを使ったときのメモ PHPからの接続は、MSの公開ライブラリを使用(以下の方法でライブラリ追加) composer require microsoft/azure-storage-table バージョン php:7.1 microsoft/azure…

Board APIのデータをChart表示するElectronアプリ(vue.js)

概要 ElectronとBoard APIを使ったサンプルアプリ作成(素振り) Board APIで請求データと支払データを取得してChart表示 基盤はelectron-vueを使用して実装 CSSフレームワークにはbuefyを使用 ストレージにnedbを使用 使用技術 electorn:2.0.2 vue:2.3.3 …

Board APIの利用について

会社でWebサービスのBoardを利用していて、 API(ベータ版?)が公開されているので使ってみたメモ。 API仕様については、以下にまとまっていて KEYとトークンが発行できれば、あとは仕様に沿って リクエストするという流れ。 developers.the-board.jp 最初…

CordovaのAndroidビルドエラーと環境構築

前提の環境 Macを新しくして、改めて環境構築時 Android開発用にAndroid Studioをインストール済み 以下2つを環境変数のPATHに追加済 ~/Library/Android/sdk/tools ~/Library/Android/sdk/platform-tools Android StudioのSDKManagerから、SDK Platformのタ…

iOSのPush通知(Apple Push Notification)のpemファイル作成

Push通知周りの証明書作成でいつもはまるのでメモ 現象 p12ファイル作成後、以下のようなopensslコマンドでpemファイルを生成 p12ファイルを生成するときに設定したパスワードを聞かれるので入力 Can't read Password というエラーが発生し、0バイトのpemフ…

App Service(Microsoft Azure)とAzure SQL DatabaseのReconfiguration対応

概要 Azure環境でシステム開発している中で、Reconfigurationという現象に遭遇したので、その時の対応についてまとめる Reconfigurationについて Azure SQL Databaseには、サービスの仕様としてReconfigurationというものがある Reconfigurationが発生すると…

GitHubのリポジトリ(Issue)移行

移行方法 移行元と移行先のリポジトリ管理者が同一の場合、GitHubのセッティングページからボタン1つで移行が可能。 上記条件を満たさない場合は、自分で何かしらの移行スクリプトを書いてあげる必要がある。 移行プログラム 処理概要 GitHub APIを使用して…

macでディレクトリの差分抽出

これまで Macで2つのディレクトリの差分を見る時に、Kaleidoscope — File comparison for Mac を使用していたが、開発端末が変わるタイミングで改めて他の方法がないか検討。 検討結果 開発ではPHPStormを使用していて、プロジェクトビューから対象ディレク…

lumenのログ出力制御(rotateの方法)

デフォルトの設定 デフォルト設定のままだと、「ルート/storage/logs」配下に lumen.logが吐かれる。 全てのログがこの1ファイルにずっと吐き続けられる。 laravelの設定 「ルート/config/app.php」のlog(キー値)に対して設定してあげると rotateの制御を…

Sencha Ext JS6とPhoneGap Buildの連携

PhoneGap Build 前回はSencha Ext JS6とcordovaの連携について書きましたが、今回はSencha Ext JS6とPhoneGap Build(Adobe PhoneGap Build)について試してみたいと思います。 yasutomo.hatenablog.com PhoneGap Buildがなにができるかというとリモートビル…

Sencha Ext JS6のハイブリッドアプリ(cordova)開発

Sencha Ext JSとハイブリッドアプリ これまでSenchaでハイブリッドアプリ開発をするときには、Sencha Touchとcordova/PhoneGapを組み合わせてきましたが、Sencha Ext JS6になってデスクトップ用とモバイル用のUIが統合されたので、Sencha Ext JS6とcordovaを…

PDF.jsの分割リクエスト設定

PDF.jsを使ったサンプルの作成と確認 github github.com PDF.js FireFoxではデフォルトで使用されているjsライブラリ。 ライブラリの中でpdfデータを変換してcanvasで表示してくれる。 デフォルトの設定では、最初にPDF情報を取得して、その後は1ページ単位…

laravel-centos-vagrant-nginx

laravelのもくもく会に参加してきました。 【増員】Laravel もくもく会 #1 (2015/01/24 13:30〜) 【増員】Laravel もくもく会 #1 - connpass vagrant環境での開発 vagrant centos6.5 64bit nginx Laravel 以下の2つの記事を参考にして環境構築していきました…