以前、OpenAPI Generatorの紹介記事を書いた。 ky-yk-d.hatenablog.com 上の記事を書いてから、実際のプロジェクトでOpenAPI SpecでAPIの仕様を書くとともに、その定義ファイルからOpenAPI GeneratorでAngularのクライアントコードを自動生成するということ…
DevLOVE10周年イベント「DevLOVE X」 きたる6月22日(土)・23日(日)の2日間の日程で、株式会社ナビタイムジャパンさまにて、ソフトウェア開発者向けイベント「DevLOVE X」が開催されます。 devlove.wixsite.com こちらは、ソフトウェア開発者コミュニティ…
(エリック・エヴァンスの)ドメイン駆動設計を入り口にして、オブジェクトモデルとリレーショナルモデルについて考えているなかで、「ドメインモデルって必ずしもオブジェクトじゃなくていいんじゃないの」という思いを強めている。 ky-yk-d.hatenablog.com…
Scalaのジェネリクスの勉強で、簡単なリストを実装してみよう!というものが出てきた。 詳細は省くが、リストのadd()メソッドは以下のように宣言される。 /* Scala */ abstract class SimpleList[+A] { def add[B >: A](element: B): SimpleList[B] } ここで…
新しい言語をちょっと触ってみたいな、でもIDEとか整えるのはハードルが高いな、というときは、「cyber-dojo」で試してみることが多い。 「cyber-dojo」のトップページ 様々な言語でTDDを試せる「cyber-dojo」 cyber-dojoは、Webブラウザで利用できるコード…
前回の記事で、リレーショナルデータベースの役割として、以下の3つを挙げ、ドメイン駆動設計においては最後のものにあまり重きが置かれていないことを指摘した。 集合演算によるリレーションの導出(検索) ディスクへの書き込みによる永続化(蓄積) 各種…
近頃、以下に挙げるようなイベントで話を聞いたり議論をしたりする中で、オブジェクト指向とリレーショナルモデルについて思いを巡らせている。 酔いどれ設計ナイト2019 - connpass 突撃!!隣のアーキテクチャ - connpass 第22回 たけともそん in 高円寺 - co…
ドメイン駆動設計を意識しながら設計をしている*1ときに、関連テーブルの操作に関して悩んでいたことがあった。人に相談に乗ってもらい、自分でも改めて書籍などを見ながら考え直したところ、自分の集約への理解が全く不十分であったことがわかった。 TL;DR …
Eclipse(STS)で開発しているとき、Javadocコメントをショートカットキーなどで挿入することがよくある。このときに、@authorタグの項目が自動で入力されるのだが、デフォルトでは値としてOSへのログインユーザ名が使われる*1。これを自由に変更する方法を書…
Eclipseには、様々な編集機能や、自動リファクタリングの機能が搭載されている。Eclipseのショートカットキーを幅広く紹介する記事は、すでに優れたものが存在しているので、よく使うものだけをメモ。 qiita.com Eclipseによるコードの改善 以下のライブコー…
ゲストで出演させてもらった「#成し遂げたいam」のep.8が公開された。前後編に分けて収録したうちの後編である。なお、前編が公開されたときに記事を一本書いているので、ポッドキャスト収録ということについてはそちらもご覧いただきたい。 anchor.fm ky-yk…
要約 『Clean Architecture』における「単一責任の原則(SRP)」の説明において、アンクル・ボブはコンウェイの法則に言及している。コンウェイの法則によって補強されていると思われるSRPの主張は、2014年のアンクル・ボブのブログ記事において既に現れてい…
先日、ポッドキャスト「#成し遂げたいam」の収録にゲストとして参加してきた。そして、収録した前・後編のうち、前編がすでに公開されている。 anchor.fm 詳しくはブログも書くつもりですが、以下のようなことについて話しました。・欲望の良い面と悪い面・…
テスト技術についての資格である「JSTQB認定テスト技術者資格」のテキストを読んだ。読もうと思った理由は後述するが、ソフトウェア開発についての考えに別の光を当ててくれるいい体験になった。 ソフトウェアテスト教科書 JSTQB Foundation 第3版作者: 大西…
随分と日が空いてしまったが、2月の中頃、ブログ仲間(?)のnitt-san(@nitt_san)さん*1に、1on1の機会を設けていただいた。nitt-sanさんによる記録はこちら。 3時間弱ずっと1on1やってました - はてなブログに投稿しました #はてなブログ【いきなり1on1記…
StreamとOptionalに共通して存在するメソッドの第三弾。 第一弾・第二弾はこちら。 ky-yk-d.hatenablog.com ky-yk-d.hatenablog.com これまで、下記のメソッドについて書いてきた。 filter() of() ofNullable() empty() 完結篇となる今回は、map()とflatMap(…
StreamとOptionalに共通して存在するメソッドの第二弾。 第一弾はこちら。 ky-yk-d.hatenablog.com 前回の記事では、filter()について書いた。今回は、of()とofNullable()について書……こうと思ったら実はempty()も共通して存在するメソッドだったことに気づ…
Java 8 で導入されたStreamとOptional。業歴は浅いのに古いJavaで学んでしまったので、いざ使える状況になったにもかかわらずいまいち使い方がよくわかっておらず、書籍やWeb上の資料で知識を補っている最中だ。 調べているうちに、Stream(インタフェース)…
下記の記事を読んでいたら、Clojureというプログラミング言語の名前がちょこちょこと登場しているのが目に入り、少し調べてみることにした。 techracho.bpsinc.jp Clojureとは Clojureとはどんな言語なのだろうか。Wikipediaをみてみる。 Clojure (発音は/'k…
前回の記事で、OpenAPI GeneratorでSpringのスタブサーバのソースコードを生成する方法を紹介した。 ky-yk-d.hatenablog.com 上の記事に記載した手順を手元のMacBook Proで実行したとき、XmlModelPluginに関わるエラーが発生してSpring Bootアプリケーション…
APIの定義を書く:Excel仕様書はもういやだ RESTful APIを提供するサーバと、そのAPIを利用するクライアント(たとえばSPA)とを並行で開発しようとするとき、まずAPIを定義して、それに基づいてサーバ/クライアント双方の実装を進めようと考えるのは自然だ…
『エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方』を読んだ。 エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方作者: 佐藤竜一出版社/メーカー: 翔泳社発売日: 2009/06/30メディア: 単行本(ソフトカバー)購入: 1…
この記事は、 write-blog-every-week Advent Calendar 2018 24日目の記事です。 昨日の記事は、KIDANI Akito(@kdnakt)さんでした。 kdnakt.hatenablog.com 2017年4月に新卒・未経験で就職した僕にとって、2018年は、エンジニアとして本格的に一歩を踏み出…
Angular*1のHTTP通信部分(Serviceクラス)のテスト*2を書く際に、派手につまずいたので対応方法と経緯をメモ。 テスト対象の実装 HTTP通信には、AngularのHttpClientを用いている。 実装側のコードにおいては、公式ドキュメントにあるように、通信を使用す…
この記事は write-blog-every-week Advent Calendar 2018 11日目の記事です。 前日の記事は、nitt-san(@nitt_san)さんの「インプットからアウトプットへ -2017年〜2018年の自分を振り返る-」でした。 nitt-san.hatenablog.com Angular のルーティング機能…
この記事は、#セイチョウ・ジャーニー Advent Calendar 9日目の記事です。 前日の記事は、べこ(@becolomochi)さんの「仕事を通して成長について考えてみた」でした。 note.mu 「成長とは習慣の改善である」? 2018年10月8日に開催された「技術書典5」にお…
P. F. ドラッカーの『ドラッカー名著集1 経営者の条件』を読んだ。 ドラッカー名著集1 経営者の条件 作者: P.F.ドラッカー 出版社/メーカー: ダイヤモンド社 発売日: 2006/11/10 メディア: 単行本 購入: 20人 クリック: 175回 この商品を含むブログ (114件) …
思うところあり掲題の構成でサーバを立てたので、メモを残す。 EC2のAmazon Linux のインスタンスを作成し、 OpenJDKをインストールし、 Tomcat 8 を立て、 GitBucket を構築し、 gitbucket-label-kanban-plugin を導入 する手順。環境構築苦手マンなので、U…
11月22日(昨日!)に発売されたばかりの、『LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する』を読んだ。 LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する (impress top gear)作者:Nicole For…
"Unlearn"という言葉は、どれだけの人にとって馴染みのあるものだろうか。 僕はこの言葉に、学生時代に出会っている。教育学系の大学院にいたので、自分自身の研究テーマとは離れているものの、「学び」とは何かというような議論にも接することがあった。そ…