MangaRank(仮) を支える技術

はじめに 先日紹介記事を書いた、はてなブログのマンガ感想記事を集計して作成したランキングサイト『MangaRank(仮)』。 tnakamura.hatenablog.com 「技術的な内容について後日記事を書く」と宣言してからだいぶ時間が空いてしまったけど、 今回の開発ではか…

GraphQL.NET でのページネーション

GraphQL でコレクションデータの取得やページネーションを実現する場合、 Relay 由来の Connection や Edge といったインタフェースを定義するのが定石になっているみたい。 GraphQL.NET はそれらをサポートしていて、ConnectionType や EdgeType といった型…

HTTP.sys でホストした Web API で Windows 認証と JWT Bearer 認証を共存させる

ASP.NET Core MVC で実装した Web API を HTTP.sys でホストすることで、利用に Windows 認証が必要な Web API を実現できた。 tnakamura.hatenablog.com これでひと段落と思いきや、JWT Bearer 認証もサポートする必要が出てきたので、HTTP.sys でホストし…

ASP.NET Core アプリを HTTP.sys でホストして Windows 認証を使用するメモ

外に公開する Web アプリなら、ASP.NET Core Identity や JWT Bearer 認証を採用するんだけど、社内で使う用だとユーザー管理がめんどい。Windows 認証の方が都合がいい。クライアントはほぼ全て Windows だし、Active Directory で管理してるからなおさら。…

WEB+DB PRESS Vol.108

特集1 スキーマ駆動 Web API 開発 Swagger UI で Web ブラウザ上から手軽に REST API を試せるし、swagger-codegen でクライアントやスタブを生成できるし、REST API 開発で Swagger はもはや手放せなくなっている。ただ、本特集を読んで思ったんだが、なぜ…

煮魚少年

積み上げたものぶっ壊して〜身に着けたもの取っ払って〜、というわけで博多区住吉にある『煮魚少年』に行ってきた。ここは世にも珍しい煮魚専門店。魚専門店は数あれど、さらに煮魚専門とは、ニッチすぎるよ。 ここの看板魚は鯖。しょうゆ煮込みと味噌煮込み…

一杢

博多駅にある『一杢』に行ってきた。ネットで場所は調べていたんだけど、分かりづらくて博多駅を彷徨ったよ…。ダンジョンと呼ぶほどではないが、博多駅地下もなかなか複雑だ。ちなみに店は筑紫口側にあるデイトス地下一階の奥の方にあった。 博多駅を歩き回…

ひるとよる

中央区大名にある『ひるとよる』に行ってきた。雑誌の情報によると、この店の店主は、超人気店 shin-shin で修行したらしい。一幸舎出身の店主の店は何軒か行ったことがあるけど、shin-shin 出身は初めてだな。 ラーメンと焼き飯のセットを注文。ラーメンは…

ゴールデンゴールド(5)

及川を寧島に引き止めたくてフクノカミに大きな書店ができることを願った流花だけど、寧島が発展するにつれて及川たちと距離ができてしまうのはすごく不憫だ。流花自身はフクノカミとばーちゃんをなんとかしようと奮闘しているだけになおさら、ね。 そのばー…

かぐや様は告らせたい(12)

文化祭までに告白されなかったら自分から告白すると決意した会長。決意した男はさすが違う。怒涛の攻勢にかぐやもタジタジ。ただ、あと一歩というところで決め手に欠けるのは相変わらずだった。本番はやはり文化祭だろうな。 予想外の会長の攻勢を受けて、か…

2019 年の抱負

2019 年の抱負として、今年も OKR を設定したいと思う。 個人開発を頑張る Write Code Every Day プロダクトを 2 つリリースする 英語を頑張る TOEIC を受ける コミットコメントやドキュメントを英語で書く 英語のポッドキャストを聴きまくる 例年と比べて今…

2018 年振り返り

2018 年の最初に OKR を設定したので、その振り返りをもって 2018 年の振り返りとしたい。 C# の練度を上げる Write Code Every Day 平日はプライベートのコードを書く時間がかなり作れた。 達成率 80% GitHub で公開されているスター 100 以上の C# 製 OSS …

五等分の花嫁(7)

美味しいチョコレートを作るために、いつも衝突している二乃に頭を下げたり、風太郎の教え子を卒業して告白するために勉強を頑張ったりと、三玖は一途で健気でホント報われてほしい。 そんな三玖の告白を阻止した一花。 本人はそういうつもりではなかったか…

GraphQL Server で GraphQL.EntityFramework を使う

ASP.NET Core 用の GraphQL Server を使うことで、 ASP.NET Core プロジェクトに GraphQL API を実装するのが楽になりそうだった。 tnakamura.hatenablog.com ただ、ASP.NET Core MVC でエンドポイントを自作する必要はなくなるけど、resolver は依然書く必…

MARK IS 福岡ももち

ヤフオク!ドームの前、ホークスタウンモール跡地に新しくオープンした『MARK IS 福岡ももち』に行ってきた。 九州初上陸の店もあったみたいだけど、自分にとって「わざわざここまで買いに来なくてもよくね?」っていう店が多くて、ヤフオク!ドームに用事があ…

3月のライオン(14)

島田八段と林田先生が、まさかこれほど急接近するとは夢にも思わなかったな。林田先生にとって、島田八段は憧れの存在でもあるわけだし。あかりを巡っての攻防が繰り広げられるかと思いきや、お互い仲良くなってしまい、身動きとれなくなることも十分ありえ…

はてなブログにあるマンガの感想記事を集計してランキングサイトを作った

食べ歩きのほかに、自分の趣味としてはマンガがある。描く方ではなく読む方。スキマ時間でサクっと読めるので、なかなかプライベートでまとまった時間が取れない人にもってこい。ただ、小遣いは限られているので、できるだけ面白いマンガに出会う確率を上げ…

ASP.NET Core 用 GraphQL Server 実装

ASP.NET Core MVC を使って GraphQL API のエンドポイントを実装してきたけど、ASP.NET Core 用の GraphQL Server 実装が存在することを今更知った。 www.nuget.org 気分は某CMの松重豊。「それさぁ、早くいってよぉ~」って感じだ。 いやまぁ、ちゃんと調べ…

ASP.NET Core で GraphQL API の Mutation を実装する

以前、ASP.NET Core で GraphQL API のサンプルを実装してみた。 tnakamura.hatenablog.com 当時必要だったのはクエリだけだったので、ミューテーションは後回しにしていたけど、 とうとうミューテーションが必要になってしまった。 真面目に GraphQL API を…

ぼくたちは勉強ができない(9)

あしゅみー先輩には怖いものなんて存在しないのかと思ってたが、まさかげっ歯類が苦手とはね。自分が優位に立てていることを感じ取って、ちょっぴりお茶目な行動を取ってしまう成幸だが、彼がそんな一面を見せる相手は先輩くらいな気がする。 最近はヒロイン…

アオアシ(15)

前巻で葦人・花の関係にどでかい一石が投じられて、 案の定、葦人は花を意識しまくり。 それにしても今回葦人が花にとった態度はいただけない。 今はサッカー最優先だとしてもないわぁ。 一方で、杏里は花に対して宣戦布告、というわけではないけど、 二人の…

.NET Core で形態素解析を行うメモ

.NET Core で日本語の文章の形態素解析がしたくなった。 日本語の形態素解析エンジンでまず思いつくのは MeCab。 その MeCab を .NET に移植した NMeCab を最初使うつもりだったんだけど、 残念ながら NMeCab は .NET Core にまだ対応していなかった。 それ…

.NET Core でログを Google Stackdriver に保存するメモ

.NET Core ではロギングに Microsoft.Extensions.Logging を使っていて、 コンソールや EventSource なんかによく出力していたんだけど、 今は Google Cloud Platform で遊んでいるので Stackdriver に保存したくなった。 NuGet 用に公式のパッケージがある…

.NET Core で Google Cloud Storage にファイルをアップロードするメモ

Microsoft Azure を使っていた頃は重要なファイルのバックアップ先に Azure Storage を利用していたが、 最近は Google Cloud Platform で遊んでいるので、Google Cloud Storage を使ってみることにした。 NuGet に公式のクライアントライブラリが存在するの…

王丸食堂

外食で炭水化物が続いて、不健康極まりない状態だったので、身体がタンパク質や野菜を求めだした。タンパク質や野菜を同時に摂取するなら定食だろう、というわけで薬院北にある『王丸食堂』に行ってみた。 看板メニューの『王丸定食』を注文した。焼肉と煮野…

麺篤屋

福岡市中央区高砂にある麺篤屋まで足を延ばしてみた。最寄駅は平尾駅みたいだったが、渡辺通駅から歩いて20分弱。長い距離歩いても汗かかなくなって、秋冬もってこいの季節だな。店内は、昭和の香り漂う昔ながらのラーメン屋といった内装だった。 散々歩いて…

ステーキハウス蜂 中洲店

アクロス福岡に入っていたステーキハウス蜂が路面店になって幾年。 アクロス福岡よりは天神に近くなって、会社のランチで行きやすくなり嬉しい。 そういえば、路面店になってから、平日にワンプレートランチも始めていたっけ。 いつもハンバーグランチを食べ…

アルスラーン戦記(10)

10巻の主役はクバード。腕っ節だけの人物かと思っていたが、戦略や統率にも優れていたとは。兵士ではない民衆を率いて、ルシタニアの軍隊を撃退するなんて、さすが万騎長は伊達じゃないってことか。厄介事が嫌いみたいだが、アルスラーンはどうやって彼を仲…

ASP.NET Core と Entity Framework Core を使った GraphQL API の実装が楽になるかもしれないライブラリ GraphQL.EntityFramework

先日 ASP.NET Core で GraphQL API を実装してみた。 tnakamura.hatenablog.com データベースから Entity Framework Core を使ってデータを取得する部分は自前で書いたわけだが、なかなか面倒だったのでなんとかしたいところ。 例えば Ruby だと graphql-rub…

黄金の福ワンタン まくり

飯倉にある『黄金の福ワンタン まくり』に行ってみた。住宅街で一際目立つ外観。黄色に赤はインパクトある。 看板メニューのワンタン麺を注文した。スープは醤油と塩が選べたので醤油を選択。オーソドックスでありながら、予想していたよりもクオリティが高…