kbigwheelのプログラミング・ソフトウェア技術系ブログ

プログラミング・ソフトウェア技術系のことを書きます

「GraphQLは90%のウェブサービス開発者にはまだ時期尚早ではないか」に対する僕のアンサー

数ヶ月前にAWS AppSyncを使ってGraphQL APIを実装していました。 実装を進めるうえでGraphQLの詳細についていろいろ疑問や疑念が浮かんだのでいろいろ調べていました。 GraphQLのAPIをAppSyncで作ってみたのだけど、事前に期待していたほど既存のREST APIの…

JavaScriptのAsync/Awaitにかかえていた違和感

JavaScriptのAsync/Awaitの仕様を数年前に見たときからなにか違和感を感じていたのだが、以下の記事で改めて全体を見通した時にその違和感の元に気づいた。 【初心者向け】JavaScriptの非同期処理を理解する callback、Promiseそしてasync/awaitへ - Qiita P…

正しい意思決定(判断)の価値

disclaimer 以下の文章は私個人の意見であり、特定の企業や人物を揶揄する目的のものではありません。 本文 僕はプログラミングが好きでずっとプログラミングをやっていたせいか、エンジニアで手を動かさない仕事の価値というものが長いことよくわからなかっ…

会社の開発用PCをMacBook ProからデスクトップPC(ubuntu)へ切り替えた

tl;dr 会社で使うPCをMBPからデスクトップPC(ubuntu)へ切り替えた dockerがよりシンプル・高速に走るlinuxが今は良い 自宅もubuntuなのでショートカットキーなどを揃えたかった背景も もう少し長い背景説明 MacBookは素晴らしい。 まずbrewの信頼性が高い。 …

@kmizuさんのimplicitlyについての記事を読みながら思い返したこと

詳説implicitly(あるいはimplicitlyは黒魔術でないことの説明) [Scala] on @Qiita https://t.co/lgI9eojnvY— Kota Mizushima (@kmizu) 2019年7月23日 この記事を読んでていくつか感じたことと思い出したことをツールドフランス第15日目観戦しながら書き出…

ヘビーカロリーな問題の解決方法

この前、久しぶりに非常にヘビーカロリーなコードを書いた。 僕は普段コーディングをしている日はScalaの場合テスト含めて100~300行程度のコードを書いているのだけど、機能まで書いていたコードは5~10日で100コード程度しか書いていなかった。 というのも内…

スクラムマスター研修受けてきた

取り急ぎまとめ。 昨日・今日の2日でスクラムマスター研修を受けてきた 受けてきたのはこれ: 認定スクラムマスター研修開催のお知らせ(開催日:2019年5月23-24日) | Attractor Inc. 目的はスクラムを導入しているがイマイチうまく言っていない現在のチームの…

結果整合性を使うということはDBで正規化を捨てるということだと君は理解しているか

DDD

以下、数ヶ月もんもんと考えていてなかなかアウトプットすることができなかったので自分語り交えながらとりあえず出力することにした。 読みづらいのは勘弁願いたい。 なるほど、これがDDDとしての模範解答なら僕には数ヶ月考えてもたどり着けなかったのに納…

「集約の境界と整合性(略」に対して頂いたアイデアの分類と現状での僕の回答らしきもの

DDD

解決策1 集約をマージするタイプのアイデア 解決策2 一時的な整合性の破綻を受け入れ結果整合性を使うタイプのアイデア A. 組織へ無効状態で追加後、有効化するアイデア A.i 連続的に追加・有効化を行うアイデア A.ii 追加後、有効化を別スレッドやイベント…

集約の境界と整合性の維持の仕方に悩んで2ヶ月ぐらい結論を出せていない話

DDD

本記事はドメイン駆動設計 Advent Calendar 2018 - Qiitaの3日目の記事です。 2日目は、grimroseさんのぐるぐるDDDで気をつけてることでした。 4日目は、s_edwardさんのMicroservices と DDDです。 Table of Contents Table of Contents 以下の記事を読むに…

Clean Architecture

Clean Architecture 達人に学ぶソフトウェアの構造と設計【委託】 - 達人出版会 簡潔でよくまとまった本文、質の高い翻訳。 DDD本がいささか冗長気味な点に対してこちらは要点を絞って書いてある。 章が多い代わりに簡潔であとで読み返しやすい。 本書で最重…

clean architecture 読んで心に残った箇所の覚書

Clean Architecture 達人に学ぶソフトウェアの構造と設計【委託】 - 達人出版会 アーキテクチャは昔から作り方がずっと一緒、おれがその最終解を教えてやる 眉が唾液でベトベトになる 第3章 パラダイムの概要 if for whileは50年変わっておらず、プログラミ…

オブジェクト指向についてそろそろ一席ぶっておく

きっかけ たまたま?最近よくオブジェクト指向の理解方法について、続けていくつかの言及を読んだ。 オブジェクト指向が5000%理解できる記事 - Qiita オブジェクト指向を「わからなく」する三つの方法。1. 現実世界の「物」をオブジェクト指向の「オブジェク…

slackでの連絡は直接口頭でのやり取りが面倒くさいからじゃないよという話

slackでの連絡は短期的なメリットと長期的なメリットそれぞれ1つずつある。 短期的なメリットはこれが口頭でのやり取りではなく非同期式コミュニケーションであることで、 特にコンテキストスイッチのコストが非常に大きいプログラミング作業中のエンジニア…

swagger-playやswagger-akka-httpのようなフレームワーク連携swaggerドキュメント生成ライブラリは概ね役に立たない

swagger-playやswagger-akka-httpのような、フレームワークと連携してswagger ドキュメントを自動生成してくれるようなライブラリがある。 このようなライブラリは直接API仕様をyaml/jsonで書く必要がなくなり、swagger仕様も読み解く必要がないため一見便利…

chromeから複数アカウントでツイートしたい

検索キーワード: Hootsuite Hootlet chrome multi account just tweet share page 前提条件 ChromeからTweetがしたい Twitterの複数アカウントを切り替えながら使っている TLを見ると集中力がそがれるので一方的にTweetするだけにしたい url shortenerは使い…

PofEAA感想 14章~18章

第14章 Webプレゼンテーションパターン ビューとコントローラの分離は、比較的重要ではなく、必要なときにだけ分離を実践することを推奨する。 なるほど、そういう考えもあるのか。 多くの人にとって基本的なWeb環境とは、静的なHTMLページである。 時代は、…

PofEAA感想 9章~13章

第9章 P123 ドメインモデルっていろいろ曲解誤解されがちだけど、基本的にはデータとメソッド(振る舞い)を同じものに持たせるという古典的なオブジェクト指向そのものなんだよな。 トランザクションスクリプトやテーブルモジュールなんてものがむしろ基本的…

PofEAA感想 4章~8章

第4章 サーバページ手法は「アルバム #1234 の詳細を示せ」など、レスポンスの処理が少ない場合に有効である。 PHPやASPなどの仕組みについて。たしかに静的HTMLが多いサービスではPHPによる最低限のスクリプティングは有効だが、 現代ではそのようなサイト…

Webサーバ/APIサーバ用コンテナイメージの標準化を考える

きっかけ 人々が「コンテナをポンとおいたら『いい感じ』にサービスあがってほしい」の『いい感じ』の部分には- リソース管理- scale in/out- graceful shutdown- logのexport- 秘匿情報のinjectなどいろいろ詰まった『いい感じ』です— (  ​‌‍‎‏ null) (@y…

PofEAA感想 はじめに~3章

はじめに HTMLよりも優れたフロントエンドを望むためリッチクライアントが求められる 内容が古いため今の実情と乖離しているところもある その理由は、パフォーマンスに関するアドバイスは、現実のシステム構成でパフォーマンスの測定を行ってみるまでは、当…

いいねが2,3個しか付かなさそうなニッチな情報でも、それでもQiitaにそれを書くべき理由

これで困ってるの日本で自分を含めて2,3人じゃねーかって情報がときにある。 そういうことに限って大きなブロッカーで数時間、場合によっては日単位でタスクを遅らせることがある。 [Intellij]追加されたIndent自動認識のオプションについて - Qiita cloudin…

「マイクロサービスアーキテクチャ」感想

O'Reilly Japan - マイクロサービスアーキテクチャ おすすめ度: ★★★★☆ 良かった。やんごとなき理由により非自主的に読み始めた本だったが想像していた数倍の価値がある本だった。 マイクロサービスの基本などが抑えられているのもよかったが、何よりマイクロ…

僕がDIを否定する理由

予防線 私が開発当初から関わったシステムでコード的に最大規模のものはScalaで書いた検索システムの2万行ほどのもので、あとは保守開発や1万行以下のサービスばかりです。 なのでその程度のへなちょこエンジニアの主張なんざ聞くに値しないという主張は一理…