FFFT

主にwebプロダクト開発に関連する話をつらつらと

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

react-routerを使ったアプリ内遷移の方法 / historyはどう取得するのが良いか

Reactで作ったWebアプリケーションではルーティングの管理や開発に、react-routerを使用することが一般的かと思います。 今回は、react-routerを使ったWebアプリケーションでのアプリ内遷移の方法をまとめます。 react-routerを使ったアプリ内遷移方法 まず…

create-react-appでTypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

しばらくいじっていないcreate-react-appで作ったフロントエンドのアプリケーションをローカル起動させたらこんなエラーが。 TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined at validateString (intern…

Spring Securityのデフォルト認証をWeb APIとして利用 / ステータスコードが302になるのを200, 401に変更

SpringやSpring Bootでサーバアプリケーションを作成すると認証を作る際にSpring Securityを利用することが多いかと思います。 自分も3, 4年前ぐらいにけっこう使っていて、0から設計・開発したアプリケーションにも使っていたのに完全に忘れていましたw ラ…

chromeの「サイトまたはアプリでのデータ侵害により、パスワード情報が漏洩しました。」ダイアログ。初見ビビるけど焦ることなかれ

localhostでフロントエンドアプリケーションの認証の動作確認をしている際に、上のキャプチャのダイアログが出てきた。 パスワードを変更してください サイトまたはアプリでのデータ侵害により、パスワード情報が漏洩しました。 localhost:3000 のパスワード…

CircleCIでの環境変数の設定方法と優先順位について

CircleCIでの環境変数の設定方法は複数あります。 今回は、複数ある環境変数の設定のやり方を確認し、環境変数名が被った際にどのやり方で設定した環境変数が優先されるかをまとめます。 (記事作成中に公式で良さげなまとまったページを見つけたので、基本的…

【create-react-app】jestでuuidを利用するコンポーネントのテストをする

create-react-appではテストランナーにjestが利用されています。 create-react-app.dev 今回、uuidを利用するコンポーネントでスナップショットテストを書く際に少し調べたのでまとめます。 jestjs.io こちらのissueでいろいろ話されていますが、jest.mockを…

【1分設定】create-react-appで作ったアプリケーションにSassを入れる

数年ぶりにcreate-react-appでフロントエンドのアプリを開発したんですが、Sassの入れ方がカンタンになってたのでまとめます。 結論ですが、node-sassを入れて、scssファイルを作り、読み込ませたいコンポーネントに直接importしてあげるだけです。 執筆時の…

Googla Apps Scriptでスプレッドシートの対象セルの関数・計算式を取得する

GAS(Google Apps Script)でスプレッドシートの対象セルの関数・計算式の取得方法をまとめます。 結論ですが、Rangeクラスに生えているgetFormula()を使ってあげればOK。単純に値だけ取りたいときはgetValue()。 Rangeで取得したセル範囲の左上のセルを対象に…

1分でAuth0のログイン画面を日本語化

Auth0はWebアプリケーションやモバイル、Web APIで利用できる認証・認可の仕組みを提供するクラウドサービスです。 Identity as a Service(IDaaS)というやつ。 と思ったら、トライアルページにこんなことが書かれていた。(AaaS?笑) Auth0を利用することで…

pyautoguiで変数に持っている値をフォームに入力させる

自作でRPAを開発する際に、よく使われるpyautogui。 クロスプラットフォームで動作するGUIオートメーションのPythonモジュールです。 「ある箇所をダブルクリックする」「キーボードでEnterキーを押す」など人間がPCを触って行うGUI操作と近いことをプログラ…

【1分設定】Visual Studio Codeをターミナルから起動

こんな感じでターミナルからVisual Studio Codeを起動できるようになります。 $ code // 起動 $ code ./PROJECT_ROOT // プロジェクトを指定して起動 Visual Studio Codeを起動させて、メニューの「View」から「Command Palette...」を選択します。 「code c…

puppeteerでフォームのinput要素の値をクリア・リセット

puppeteerはChromiumブラウザをAPIで制御するnode.jsのライブラリです。 デフォルトでheadlessモードで動作し、Cloud Functionsなどのサーバレス環境で動作させることもでき、簡単にクローラAPIの開発が可能です。ブラウザ操作の自動化では、しばしばフォー…

【2020年度版】Slack通知はSlack AppのIncoming Webhooksを使おう!やり方を解説

Slackの特定のチャネルにAPI経由でメッセージを送るカンタンな仕組みをSlackではIncoming Webhooksと呼びます。 このIncoming Webhooksは、2020年現在、2通りのやり方があります。旧方式と新方式です。旧方式は、非推奨です。 下記の公式ページにも明確にdep…

【2020年度版】FacebookとTwitterのOGPのキャッシュ対応!最新に更新するやり方

OGP

先日、時限的なキャンペーンを打った際にLPのOGPを変更したんですが、全然反映されず「あら?」となりました。 OGPは各サービス側でキャッシュしており、「変更したよ!」というのをこちら側から知らせてあげなくちゃなりません。 その際にやった対応をまと…

【2020年7月】Google AdSenseは新型コロナウイルスの影響で審査をストップ

ブログの投稿記事数がある程度溜まったので、Google AdSenseに申請してみました。 ちなみに申請日は2020年4月18日(土)。翌日には審査結果が返ってきました。 タイトルのとおり、Google AdSenseの審査は新型コロナウイルスの影響で全面ストップしているようで…

ブラウザ側のデータ管理はWeb Storageで良いよねって思ってたけど容量問題にぶつかった

どんな背景からどんな問題が起きたか あるアプリケーションの開発。 サーバサイドの都合で、一時保存APIが用意できない状況。 ただ、それなりに入力量が多いフォームでユーザーが途中まで入力しても離脱してまた再入力するケースを救いたい。上記の状況を解…

bashからzshに3分移行 ~ MacOS catalinaからデフォルトシェルがbashからzshに ~

Macを使っている方は、catalinaからデフォルトシェルがbashからzshに変わりましたね。(今更感ありますが...) 後述しますが、訳あってmojaveからcatalinaにアップグレードを数ヶ月前に行いました。 ターミナルアプリ(自分はiTerm2)を起動する度に The defau…