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

ABC087B - Coins

atcoder.jp 0 <= A, B, C <= 50 なので、所持している硬貨の枚数の組み合わせは最大 125000 通り。 組み合わせ全パターン計算して X と一致するものを数えても、2 秒以内で余裕で間に合う。 using System; namespace ABC087B { class Program { static void …

ABC081B - Shift only

atcoder.jp 配列の中身を全部 2 で割り切れた回数をカウントすればいいな。2 で割り切れなかったら、結果を出力して即終了で。 using System; using System.Linq; namespace ABC081B { class Program { static void Main(string[] args) { var n = int.Parse…

ABC081A - Placing Marbles

atcoder.jp 要は、入力された文字列の中に '1' が何個出現するかを数えればいいわけだ。 using System; using System.Linq; namespace ABC081A { class Program { static void Main(string[] args) { var answer = Console.ReadLine().Count(x => x == '1');…

からかい上手の(元)高木さん(9)(10)

「からかい上手の(元)高木さん」の 9 巻と 10 巻が同時発売したので両方購入。 (元)高木さんが西片くんとちーをからかうのは当然(?)として、 ちーまでが西片くんをからかおうとするのは微笑ましいけど「父親の威厳が…」と複雑な気分。 それでも3人仲睦まじい…

ABC086A - Product

昨日から始めた AtCoder。まずは AtCoder Beginners Selection を上から順に解いていく。 お次はこれ。 atcoder.jp 偶数かどうかを判定するには、2 で割った余りが 0 かどうかを見ればいい。今回は特に変わった解き方をせずシンプルに。 using System; names…

PracticeA - Welcome to AtCoder

ブログに書くネタ&プログラミング面接対策として、AtCoder を始めてみた。 まずは入門である AtCoder Beginners Selection からコツコツやっていく。 atcoder.jp b と c の代入に、あえての Deconstruct。 ただ単に Deconstruct を使ってみたかっただけ。 …

からかい上手の高木さん(14)

14巻では、西片に嫉妬してからかいではなくイジワルをしたり、一緒に映画を観ようと誘う勇気を出せなかったりと、高木さんの今までにない一面が見れて新鮮だった。尊い。 そんな高木さんが嫉妬する原因を作った北条さんは、浜口が相手になってしまうんだろう…

Material-UI の Button と React Router の Link を組み合わせる

Material-UI の Button をクリックしたら、React Router の機能を使ってページ遷移したいことが良くある。 useHistory フックで history オブジェクト取得しておいて、Button の onClick ハンドラ内で history.push してやれば実現できるけど、決まったパス…

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

前巻にてうるかエンドで本編終了したと思いきや、まさかの全ヒロインぶんのエンドを描くという前代未聞のチャレンジに挑む本作。 今巻は理珠ルート。ただこれ、どちらかというと紗和子ルートじゃね?と思うくらいに紗和子が話の主役。成幸と理珠の二人で協力…

アオアシ(21)

セレクションのときからぶつかりあってきた葦人と阿久津だけど、ここに来て葦人の一番の理解者が阿久津になるかもしれない展開はアツイな。実際、葦人は阿久津のアドバイスで何か掴めてそうだし。葦人が初めてプレミア出場した試合でも、阿久津がコーチング…

ASP.NET Core Identity で主キーに値オブジェクトを使う方法

はじめに ドメイン駆動設計のパターンの一つである値オブジェクトを実践するようになってから、ASP.NET Core Identity でユーザーの ID の型 が string なことに恐怖を感じるようになった。ユーザー ID を表す値オブジェクトじゃないと安心してコード書けな…

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

修学旅行編の主役はかぐやと早坂。 「ずっとこうなれたらいいのにって思ってた」というかぐやの言葉と、二人一緒に登校する姿はグッとくるものがある。 二人の主従関係の始まりと終わりに、同じような言葉を持ってくるところが、なんとも赤坂アカ先生らしい…

iPhone SE 第2世代

iPhone SE 第2世代購入した。 iPhone SE 第1世代からの乗り換え、ってことになる。 これまで iPhone SE は出る出る詐欺が続いていたせいで、 Android に鞍替えしようかとも考えていたので、ようやくといった感じ。 自分としては、小さい iPhone ではなく、安…

WEB+DB PRESS Vol.117

いつもの読書メモ。 特集1 実践投入 TypeScript TypeScript は JavaScript のスーパーセットで、JavaScript コードはそのまま TypeScript でも有効なコードになるため、プロジェクトの途中からでも導入しやすい。実際、自分が関わったプロジェクトは、新規に…

Swashbuckle.AspNetCore.Cli と OpenAPI Generator を使って Web API のクライアントを生成する

はじめに Swashbuckle.AspNetCore を使うことで、ASP.NET Core MVC で実装した Web API に Swagger UI を組み込める。 docs.microsoft.com Web API の動作確認をする程度ならこれで十分だけど、せっかく Swagger/OpenAPI を使うなら、クライアントのソースコ…

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

フクノカミから分裂して生まれたカネノカミとヒトノカミ。三体協力して寧島の発展を加速させるかと思いきや、なんか対立しているし。寧島の発展も、加速はしているけど暴走ぎみ。カネノカミは島外から怪しい不動産屋を呼び寄せ、ヒトノカミは島のキャパ超え…

アラフォー

早いもので 2020 年も半分が終わろうとしている。 そして 37 才になってしまった。 37 才はアラフォーらしい。 自分の感覚としては、アラウンドなんとかは±2ぐらいかと思っていたので、世間と感覚がズレているんだろうか。 まぁいい。年齢なんて記号だ。 誕…

三体

Rebuildで絶賛されていた『三体』が気になったので購入。 三体は三部作で、二部の日本語翻訳版がちょうど発売されたばかりだ。 小説を読む習慣がない上に、SF を読むこと自体初めてだけど、 頭から雑念を追い出して読むことに集中できた。 瞑想に近い感覚。 …

nico

六本松にある福岡市科学館で図書館の本を受け取ったついでに、nico でケーキを買って帰った。 チョコケーキは、キャラメルクリームのほろ苦さとチョコレートクリームの濃厚な甘さが絶妙にマッチしていて美味だった。この手のケーキでは今のところ一番かも。…

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

17 巻でぼく勉はうるかエンド。 3人娘のうち、想いの強さは誰が上というのはないけど、 想っていた時間の長さを考えると、やはり選ばれるならうるかだろうなと思っていた。 というか、うるかであってほしかった。 成幸も、父親が亡くなって立ち直れたのはう…

ソーシャルアプリプラットフォーム構築技法

はじめに 仕事でプラットフォームを設計・開発することになったものの、どこから手をつければいいのか見当がつかなかったところで、本書の存在を知った。書店でパラパラと見て、まさに今の自分に必要なものだと思い即購入。 第1章 ソーシャルアプリプラット…

人を動かす 新装版

最近、マネジメントにも興味がでてきたので、名著として名高い本書を読んでみた。 といっても、自分は現在マネージャーではなくエンジニアだし、この先マネージャーにキャリアチェンジする予定もないけれど。 他のチームと交渉することはあるし、後輩の指導…

https にリダイレクトすると Authorization ヘッダーが失われる

はじめに HttpClient を使って http で Authorization ヘッダー付きのリクエストを送信し、https にリダイレクトされると、https のリクエストには Authorization ヘッダーが付かない。 以下、実験コード。 Web API HTTP リクエストのヘッダーをログに出力し…

認証スキームの異なる複数の JWT Bearer 認証を構成してみた

はじめに ASP.NET Core で JWT Bearer 認証を使うときに Startup.ConfigureServices で呼び出す AddJwtBearer は、 任意の authenticationScheme を指定できる。 となると、authenticationScheme さえ重複しなければ複数回呼び出しても問題ない、はず。 気に…

ProxyKit を使ってリバースプロキシを実装する

はじめに ASP.NET Core で実装した Web API の前段にリバースプロキシを置く必要がありそう。 しかも、そのリバースプロキシはデータベースにある情報を使ってリクエストの振り分けを行わなければならないため、 プログラマブルなリバースプロキシが求められ…

アルスラーン戦記(13)

忠臣のザンデが相手とはいえ、あとヒルメスが部下の言葉に対して聞く耳をもつとはね。人間的な成長を感じられた。アルスラーンと比べられたらすぐ激昂してしまうのは相変わらずだけど。 アンドラゴラスは王都エクバターナを脱出したが、アルスラーンの軍に合…

WEB+DB PRESS Vol.116

毎号購読している WEB+DB PRESS の Vol.116 を読み終わったので、 感想などをメモしておく。 特集1 はじめてのトラブルシューティング フロントエンドとバックエンド、それにデータベースとモバイルに渡って、それぞれの領域でのトラブルシューティング入門…

.NET Framework 4.8 で動いている Web API を .NET Core 3.1 で動いている IdentityServer4 で保護する

はじめに 大人の事情によって .NET Framework 4.8 で動かさざるをえない ASP.NET Core 2.2 製 Web API を、OAuth2.0 か OpenID Connect に対応させる必要があり、IdentityServer4 を使う予定でいた。 その IdentityServer4 は 5/1 時点で v3.1.3 が最新。も…

アオアシ(20)

船橋学院戦はクライマックス。葦人が退場して1人少ないエスペリオンは、栗林を中心に10人でファイブレーンに挑み、見事同点に追いついたのは見事だった。退場してしまった葦人はまだ攻守コンプリートできるレベルではなかったことになるわけだけど、自分の力…

stock

西中洲の水上公園にオープンしていた『stock』は、箱崎にある人気のパン屋『パンストック』の新店舗ということだった。パンストックは長い間行ってみたいと思っていたけど、場所が箱崎で駅からも離れていたので、子ども連れで公共交通機関使っていくのはキビ…