こまどブログ

技術のこととか仕事のこととか。

StreamとOptionalに共通して存在するメソッド(その3・完結篇):map / flatMap

StreamとOptionalに共通して存在するメソッドの第三弾。 第一弾・第二弾はこちら。 ky-yk-d.hatenablog.com ky-yk-d.hatenablog.com これまで、下記のメソッドについて書いてきた。 filter() of() ofNullable() empty() 完結篇となる今回は、map()とflatMap(…

StreamとOptionalに共通して存在するメソッド(その2):of / ofNullable / empty

StreamとOptionalに共通して存在するメソッドの第二弾。 第一弾はこちら。 ky-yk-d.hatenablog.com 前回の記事では、filter()について書いた。今回は、of()とofNullable()について書……こうと思ったら実はempty()も共通して存在するメソッドだったことに気づ…

StreamとOptionalに共通して存在するメソッド:filter(Predicate<? super T> predicate)

Java 8 で導入されたStreamとOptional。業歴は浅いのに古いJavaで学んでしまったので、いざ使える状況になったにもかかわらずいまいち使い方がよくわかっておらず、書籍やWeb上の資料で知識を補っている最中だ。 調べているうちに、Stream(インタフェース)…

関数型プログラミング未経験者がREPLでClojureに触ってみた

下記の記事を読んでいたら、Clojureというプログラミング言語の名前がちょこちょこと登場しているのが目に入り、少し調べてみることにした。 techracho.bpsinc.jp Clojureとは Clojureとはどんな言語なのだろうか。Wikipediaをみてみる。 Clojure (発音は/'k…

Java 9 以降の非推奨モジュールに依存したプログラムを動作させる:OpenAPI Generatorで生成したSpringスタブサーバが動作しない場合の対処法

前回の記事で、OpenAPI GeneratorでSpringのスタブサーバのソースコードを生成する方法を紹介した。 ky-yk-d.hatenablog.com 上の記事に記載した手順を手元のMacBook Proで実行したとき、XmlModelPluginに関わるエラーが発生してSpring Bootアプリケーション…

OpenAPI GeneratorでRESTful APIの定義書から色々自動生成する

APIの定義を書く:Excel仕様書はもういやだ RESTful APIを提供するサーバと、そのAPIを利用するクライアント(たとえばSPA)とを並行で開発しようとするとき、まずAPIを定義して、それに基づいてサーバ/クライアント双方の実装を進めようと考えるのは自然だ…

ドキュメンテーションコメントからプログラミングを考える / 『エンジニアのためのJavadoc再入門講座』を読んだ

『エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方』を読んだ。 エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方作者: 佐藤竜一出版社/メーカー: 翔泳社発売日: 2009/06/30メディア: 単行本(ソフトカバー)購入: 1…

エンジニアとして本格的に一歩を踏み出した1年間:毎月の読書で2018年を振り返る

この記事は、 write-blog-every-week Advent Calendar 2018 24日目の記事です。 昨日の記事は、KIDANI Akito(@kdnakt)さんでした。 kdnakt.hatenablog.com 2017年4月に新卒・未経験で就職した僕にとって、2018年は、エンジニアとして本格的に一歩を踏み出…

【Angular】HTTP通信のテストでのインジェクションのエラーの解消

Angular*1のHTTP通信部分(Serviceクラス)のテスト*2を書く際に、派手につまずいたので対応方法と経緯をメモ。 テスト対象の実装 HTTP通信には、AngularのHttpClientを用いている。 実装側のコードにおいては、公式ドキュメントにあるように、通信を使用す…

Angularで「ネストされたルート」を実装する(シンプルな実装 / モジュール切り出し / 遅延ロード)

この記事は 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 に Java(OpenJDK) / Tomcat / GitBucket / gitbucket-label-kanban-plugin をインストールする

思うところあり掲題の構成でサーバを立てたので、メモを残す。 EC2のAmazon Linux のインスタンスを作成し、 OpenJDKをインストールし、 Tomcat 8 を立て、 GitBucket を構築し、 gitbucket-label-kanban-plugin を導入 する手順。環境構築苦手マンなので、U…

開発組織のプラクティスや文化を科学する:『LeanとDevOpsの科学』書評

11月22日(昨日!)に発売されたばかりの、『LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する』を読んだ。 LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する (impress top gear)作者: Nicole Fo…

アジャイルとUnlearn(まなびほぐし、脱学習、学習棄却)についての覚書:野中郁次郎、鶴見俊輔、あるいはヨーダ

"Unlearn"という言葉は、どれだけの人にとって馴染みのあるものだろうか。 僕はこの言葉に、学生時代に出会っている。教育学系の大学院にいたので、自分自身の研究テーマとは離れているものの、「学び」とは何かというような議論にも接することがあった。そ…

TypeScriptとJavaとの違いによるつまずきと「循環参照」

『テスト駆動開発』をTypeScriptで写経していて、Javaとの違いで大きくつまずいた。 結論からいえば、モジュールの循環参照で空オブジェクトが生まれていた、というシンプルな原因だったのだが、明らかにできるまでにはかなり時間がかかった。鮮やかとは程遠…

TypeScriptのユニットテストをmocha + power-assert で書く

故あってAngularを勉強しはじめた。 JSフレームワークとしては、Vue.jsを以前勉強していたので、「Angularではこうなのか」とか「これはVueにはなかったな」とか比較しながらドキュメントを読んで簡単な実装を進めている。 TypeScriptとJSフレームワーク Ang…

改善のためには、組織や上司に心から感謝するネタを探すことが重要かもしれない

はじめに 相も変わらず、雑記である。言いたいことは、タイトルの通りである。内容は、職場をより良くしたいという思いを持った人間の反省である。全編通して自分語りの色合いが濃いので、職場改善に興味のある方でもこの記事は読みづらいと思う。人に伝える…

観察者的発話についての弁明と反省

以前、下のようなツイートをした。 言いたいことが言えない関係性のなかでは、コミュニケーションのフィードバックループが回らないので、そうではない関係性に比べて極めて大きなコストを支払うことになる。— こまど (@ky_yk_d) 2018年8月6日 これは愚痴で…

Kent Beckの「偉大な習慣を身につけたプログラマ」について

Martin Fowlerの『リファクタリング』で紹介されているKent Beckの言葉として以下のようなものがある。 僕は、偉大なプログラマなんかじゃない。偉大な習慣を身につけたプログラマなんだ。 この言葉について少し調べてみたところ、思うところ/学ぶところが…

僕の話がなぜ「通じない」のか:『あなたの話はなぜ「通じない」のか』を読んで

この半年で読んだ本の中に、強烈に「刺さった」本があった。山田ズーニーの『あなたの話はなぜ「通じない」のか』だ。 あなたの話はなぜ「通じない」のか (ちくま文庫)作者: 山田ズーニー出版社/メーカー: 筑摩書房発売日: 2006/12/01メディア: 文庫購入: 50…

「悪いヤツほど出世する」世界と、「良いヤツが出世する」世界(への願望)

僕にはどうやら、「立派な人でありたい」という欲求があるらしい。 以前に書いた下の記事で、自分の価値観を考えた。そこでは、「高潔さ・誠実さ(正直さ、誠心誠意、真実一路)」というものが一番上に来ていた*1。成功するよりも、立派な人でありたいと望んで…

『なぜ、わかっていても実行できないのか』を読んだ

ジェフリー・フェファーとロバート・I・サットンの『なぜ、わかっていても実行できないのか』を読んだ。これも以前のメモの微修正だけど、メモを読み返しているともう一回読んでもいいかなと思った。 なぜ、わかっていても実行できないのか 知識を行動に変え…

Clean Coder を読んだ

Robert C. Martinの『Clean Coder』を読んだ。読んだのはだいぶ前。引用メモが残っていたので記事に。 Clean Coder プロフェッショナルプログラマへの道 作者: Robert C.Martin,角征典 出版社/メーカー: KADOKAWA 発売日: 2018/07/27 メディア: 単行本 この…

XP祭り2018とその前夜祭(第2回enPiT-Proスマートエスイーセミナー)に参加した

9月8日(土)に早稲田大学で開催された「XP祭り2018」に参加した。Regional Scrum Gathering TokyoもAgile Japanも参加できなかったので、自分にとってはアジャイル関係で初めての大規模カンファレンスへの参加となった。 また、前日には同じ会場で「前夜祭…

8月の行動履歴を雑にまとめておく

8月が終わってしまった。 このところ、どうにも抑制の効かない日々を過ごしていて、今週はブログも書けずにきてしまった。最低限のふりかえりをすることで、継続するという意気だけは示しておきたい。公私ともにやや慌ただしくなってきているので、今週は立…

2018年8月23日「第133回白熱塾 きょん、やっとむ、ryuzeeらと語るアジャイル開発の本質」に参加した

8月23日の夕方から、「きょん、やっとむ、ryuzeeらと語るアジャイル開発の本質」(@デンソー東京支社)に参加してきた。 connpass.com 錚々たる登壇者の方々であることに加え、Connpassで参加者として登録している方の中にも単独でメイン登壇者が務まる方が…

なぜ僕は「アジャイルを!」と叫ぶのか〜「きょん、やっとむ、ryuzeeらと語るアジャイル開発の本質」に参加して

8月23日の夕方から、「きょん、やっとむ、ryuzeeらと語るアジャイル開発の本質」(@デンソー東京支社)に参加してきた。 connpass.com イベントレポート的なものは、別にまとめている。本記事は、イベントに参加した感想として書き始めたが、感想の域を大幅…

Scalaに入門してみることにした

先日、下記のようなツイートに接した。 えっと、つまり何が言いたかったんだっけ……そうそう、Scala怖くないよって話だった。書き慣れると快適だし、学習コストの割に単価がだいぶん違ったりもする(した)のでJavaやってる人はまじで気軽にチャレンジすると…

「充実とは価値観が満たされた状態である」?

Twitterで関わりのある方々が複数参加しているコミュニティがある。 note.mu 「成長と充実」を研究するコミュニティということで、僕は参加していないけれど、アンケートに協力させてもらったり、参加者の方々のTwitterを通じて活動の経過を垣間見たりしてい…