Category:

別ドメインへの302 redirectを返すAPIを呼び出すとCORSエラー

別ドメインへの302 redirectを返す別ドメインのAPIを呼び出すとCORSエラーが発生することがわかった。 説明が難しいのだが、自分の具体的なケースを書くと、 ドメインA(フロントエンドサーバ)からドメインB(バックエンドAPIサーバ)のAPIを呼び出す APIがGoogle OAuth認証のためにドメインC(account.google.com)への302 Redirectを返す CORSエラー発生 という流れで、以下のエラーが発生した。 Access to XMLHttpRequest at 'https://accounts.google.com/o/oauth2/auth?client_id=**********.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F Continue Reading

Posted On :
Category:

node.jsおよびnpmのTips

npmを使う必要があったので、とりあえず調べて使い方をまとめた。今後もTipsを追加していく。 インストール方法 nodebrewをインストール brew install nodebrew Node.jsおよびnpmをインストール # インストール可能なバージョン一覧を取得 nodebrew ls-remote # install-binaryを配置するフォルダを作成 mkdir ~/.nodebrew/src # インストール nodebrew install-binary v12.2.0 nodebrew install-binary latest # 最新バージョン # インストール済みのバージョン一覧表示 nodebrew ls # 特定のバージョンのnodeを有効化する nodebrew use v12.2.0 # nodeコマンドにPATHを通す vi ~/.bash_prof Continue Reading

Posted On :
Category:

KtorでLocationsのPOST使う際の注意点

Ktor で Locations を使う際、普通にForm DataとしてPOSTすると404エラーになってしまう。 GET parametersの項 を参照すると、サポート対象の機能のはずなのに。 ちなみに、 Issue #601 もあがっているが、半年以上放置されている。自分もコメントを追加しておいた。 ここでは残念な方法ではあるが、いくつか回避策があるので、その方法を記載しておく。 エラーになるパターン このケースのように、Form Dataとしてパラメータを受け取ろうとすると、404エラーになってしまう。 @Location("/hoge") data class HogeParamater(val param1, val param2) routing { post<HogeParamater> { param -> // HogeParam Continue Reading

Posted On :
Category:

自分なりの最軽量・高効率のノマドワーク装備

今月から家庭の事情でノマドワークをすることになったのだが、コワーキングスペースで黙々と仕事をするのも性に合わないので、横浜近辺のカフェを巡りながら仕事をすることを前提に、最軽量・高効率のノマドワーク装備を整えることにした。(主にこだわったのは最軽量の方。わざわざ晒すほどの物でもないかもしれないww) 最終的な装備 装備一覧 装備品 説明 純正品重量 商品重量 リンク 13インチMacBook Pro 今後はTouch Barモデルに集約されることが予想されるので、慣れるためにTouch Barモデルを導入。CPUは第八世代の2.3GHzクァッドコア。メモリだけ16GBに。ヨドバシカメラで購入し8%ポイントバック。Chromeのタブを10くらい開き、DockerでDBコンテナを立ち上げ、IDEAプロジェクトを2つ開き、Nettyでアプリを立ち上げ、VS Codeを開いていても、性能面で問題を Continue Reading

Posted On :
Category:

IntelliJ IDEAとGradleタスクでコンパイラの出力先が異なる問題の対応

IntelliJ IDEAとGradleタスクでコンパイラの出力先が異なる状態になることがある。自分の場合は、新規プロジェクトを作成して構築中は一致していたのだが、一旦git pushしたものを改めてgit cloneしてからIDEAに取り込んだ際に異なる状態になった。 IDEAの出力先:out/productionの配下のclassesとresources Gradleの出力先:build配下のclassesとresources ちなみに、classesはソースのコンパイル先であり、resourcesはリソースファイルのコピー先である。 異なると何が問題かというと、gradleで実行したアプリケーションにおいて、ソースコードの変更を検知してAutoReloadしたい場合に、変更を検知できないことである。 ソースコード変更->IDEAでBuild->classファイルをIDEA Continue Reading

Posted On :

Google OAuth 認証の実装サンプル

Kotlin / Ktorでサンプルプログラムを書いていて、Google OAuth認証を実装したのだが、だいたい実装完了したタイミングで、 公式ページ を発見してしまい、このコードはお蔵入りになることが決定した(涙)。 サーバサイド含めて1日ぐらい格闘していたので、ただ捨てるのも忍びなくここに記載しておく。 シーケンス図 上記のシーケンス図の通り実装したが、全部書くのも大変なので、以下の2点だけ記載しようと思う。 ApplicationからGoogle Serversに対して認証済みかどうかを確認する処理 AuthRedirect画面の実装 Google APIsでOAuth 認証用のプロジェクトを作成 プロジェクトを作成する https://console.developers.google.com にてプロジェクトを作成する。今回はKotlin Ktor Sampleという名前で作成 Continue Reading

Posted On :
Category:

はてなブログのMarkdown記法のTips

はてなブログのMarkdown記法はだいたい直感的で特に苦労することもないのですが、たまにわからないものがありますので、メモっていきます。 Markdown記法のリスト内にコードブロック挿入 結論、Markdown記法やはてな記法では、Markdown記法のリスト内でコードブロックを書くことはできません。 しょうがないので、HTMLのpreタグで記載します。 OKパターン:HTMLのpreタグを使います。シンタックス・ハイライトはできません。 このように書くと、 * 項目1 * 項目2 <pre> hoge fuga </pre> 以下のようになります。 項目1 項目2 hoge fuga NGパターン:Markdown記法のコードブロック このように書くと、 * 項目1 * 項目2 “` hoge fuga “` 以下のように、1行コード扱いになってしまいます Continue Reading

Posted On :
Category:

Docker ComposeのTips

Docker Composeは複数のDockerコンテナをまとめて立ち上げることができる便利なツールである。 いくつかのケースについて実例をあげながら設定方法を記載していこうと思う。 別docker-composeのコンテナを参照する 1つ目のdocker-composeでDBを、2つ目のdocker-composeでWebアプリを立ち上げて、WebアプリからDBを参照するケースを考える。 基本的には、networkで同一ネットワークに所属するように設定し、external_linksで外部コンテナにアクセスできるように設定すればよい。 DB用docker-compose.ymlの設定 version: '3' services: postgres: image: postgres:latest container_name: "database" Continue Reading

Posted On :
Category:

使ったことのあるツール

使ったことのあるツールについて、気付いた時にメモっていく予定。 DB Client 汎用系 Table Plus https://tableplus.io/ GUIツール いろんなDBに対応している 現在も開発がストップしてない。 あまり深く使い込んでないのでよくわからないが、とりあえず、シンプルで使いやすくはある。 無料版だと2タブしかひらけないのでそこが辛い Eclipse DB Viewer GUIツール postgresql / oracle もいける クエリキャンセルができない DBのメタ情報もある程度見れる 検索結果をinsert文に変換してcopyしたりできる transctionあり/なしのモードを選べる だいぶ前に開発が止まっているので、再起SQLとか集計関数とかWith句とか、うまく動かないケースあり PostgreSQL psql コマンドラインツール クエリキャンセ Continue Reading

Posted On :
Category:

食べられる野草

江戸川と利根川をつなぐ運河の河川敷でお花見ついでに河川敷で野草を採集した。 採集した野草は以下の4種類。 藪萱草(ヤブカンゾウ) 菜の花 つくし 野蒜(ノビル) 藪萱草(ヤブカンゾウ) 見た目 百合っぽい感じ 根元から、扇状に分かれている 大きくても20cmくらい 採り方 根元からブチっとちぎる 成長した葉っぱは多分ちょっと固いので、適当にちぎって捨てる 花もべられるらしい 食べ方 下処理 根元から7cmぐらいだけを残し、成長した葉っぱはちぎってのぞく 成長した葉っぱも普通に食べられそうな気配はあったが、初だったので美味しそうな部分だけに おひたしにして 湯がく→流水で熱をとる→絞る→カツオブシと醤油をかける→食べる くさみ、エグミは全くなく、ほんのり甘みがある シャキシャキしてて美味しい 生で 根元3cmぐらいを食べてみた ほんのりエグミあり でも普通に甘くて食べられる お味噌汁で 長ネ Continue Reading

Posted On :