kawasima@99卒 Profile Banner
kawasima@99卒 Profile
kawasima@99卒

@kawasima

Followers
7,660
Following
981
Media
1,686
Statuses
14,234

流しのアーキテクト A wandering software architect. ❤Clojure, JVM, Software Architecture. 株式会社ウルフチーフ 代表取締役 アーキ部,中央線Meetup主催. イミュータブルデータモデル

Tokyo, Japan
Joined May 2007
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@kawasima
kawasima@99卒
3 years
『システム障害対応の教科書』 IT塹壕への差し入れについてのノウハウが書かれた唯一の本なんじゃないでしょうか。
Tweet media one
10
2K
3K
@kawasima
kawasima@99卒
5 years
ダイソーに画期的な商品売ってた
Tweet media one
15
1K
3K
@kawasima
kawasima@99卒
4 years
昔の自分、良いこと書いてるな〜
Tweet media one
2
801
3K
@kawasima
kawasima@99卒
3 years
ちょっと開発組織規模の大きくなってきた事業会社が欲しがる人のスペック。これが割とSIerで磨けるスキルだったりするので、SIerからの転職組がそういうフェーズで重宝される理由な気がします。
Tweet media one
5
736
3K
@kawasima
kawasima@99卒
6 years
謎のオセロゲームできた。
Tweet media one
1
2K
3K
@kawasima
kawasima@99卒
6 years
無刻印キーボードデビューされる方へ。心無い大人たちが「うゎ、ようこんな何も書いてないのなんか使うなー」と言ってくることがあります。 そんな時は「プロのピアニストが鍵盤にドレミって書いたピアノ使いますか?」と返してあげましょう。
9
1K
3K
@kawasima
kawasima@99卒
6 years
やってはいけないUX大賞2018 は、「メルマガ配信停止にログインを要求する」です。おめでとうございます😡!
6
957
2K
@kawasima
kawasima@99卒
10 months
息子のスマホの使い方見てると、5秒くらいUIが動かないと、強制終了してアプリ再起動する。 基本的に速いソフトウェアしか触ってきていない世代が増えると、待ち時間の見せ方は総じて工夫する必要が出てくるだろうな。リトライ処理も裏で勝手にやらず、メッセージ出した方がいい、とか
7
742
2K
@kawasima
kawasima@99卒
7 years
ジョブズが亡くなってからのWWDC後に毎回聞かれる失望の声を並べたらボジョレーみたいになりそう。 2012 終わりの始まり 2013 これ以上ないくらいの失望 2014 いらん改変ばかり 2015 革新不足 2016 流石のApple信者も失望 2017 近年でもっとも期待外れ
2
3K
2K
@kawasima
kawasima@99卒
9 years
新人研修のチームプログラミング演習で、プログラミング経験のない人が、何か手伝えることはないかと考え抜いた結果、「みんなの書いたプログラムの行の始まりが、ガタガタしてたので揃えておきましたっ!」と、インデントを全て消してしまったという話、好き。
7
3K
2K
@kawasima
kawasima@99卒
2 months
壊れゆくWebサイトとしてお馴染みのSlideshareが今どういう壊れ具合かというと、スライドタイトルが40文字"以上"じゃないと登録できない状態です。
Tweet media one
2
521
2K
@kawasima
kawasima@99卒
3 years
Cohesion(凝集度)という概念が作られた47年前の論文読んでみたら、すでに完成された無茶苦茶分かりやすい判定ロジックが書いてあるのですよね。
Tweet media one
0
360
1K
@kawasima
kawasima@99卒
5 years
『運用でカバー』のブックカバーできました。
Tweet media one
1
751
1K
@kawasima
kawasima@99卒
5 years
「ベンチャー →しがらみがないので流行りの技術を使う」が、外から見ると「先端の技術使っている→技術力が高い」になっちゃうんだろうなぁ。本当の技術力が付いてくるのは、本格的に運用はじめて、採用した技術の周りに蓄えられた負債たちと闘ってからですよねぇ…
0
412
1K
@kawasima
kawasima@99卒
5 years
X-JAPANが、HTTPの独自ヘッダに見えてきた。
1
498
1K
@kawasima
kawasima@99卒
5 years
「月〜金までの漢字を使って自由に文を作りなさい」という宿題に対する、教育の行き届いたわが息子の回答
Tweet media one
4
321
1K
@kawasima
kawasima@99卒
4 years
「PayPayで」と発音すると結構飛沫がとぶので、これからの時代の決済サービスには、飛沫のとびにくいネーミングが求められる。
10
388
1K
@kawasima
kawasima@99卒
5 years
Ubuntu保育園
Tweet media one
3
481
1K
@kawasima
kawasima@99卒
3 years
SIerやめてからも、結局一番役に立っているのは、レガシーコードを読み解くスピードと、「どうしてこうなった」コード片から歴史的経緯を推察する能力なので、古めかしいプロジェクトに関わってた期間も全くムダではなかったということになる…
2
175
1K
@kawasima
kawasima@99卒
4 years
ぐぇぇ、左側の設計書、めちゃ見かける…
Tweet media one
6
313
1K
@kawasima
kawasima@99卒
6 years
モブプログラミングもボディビル大会みたいな声掛けを色々考えればより盛り上がるのでは? 「ナイス変数名!」 「テストがオールグリーン!」 「コミットログがキレイ!」
6
596
1K
@kawasima
kawasima@99卒
4 years
オライリーサブスクリプションに、日本語書籍が!!! タイトル検索も出版社検索もヒットしないので、ラインナップは今のところ不明だけれど、これはもうみんな課金するしかないのでは…?
Tweet media one
1
347
1K
@kawasima
kawasima@99卒
5 years
「古いシステムを捨てて作り変えて、技術的負債を一掃する」という目論見は、技術的負債と同時に要件上の負債がこんもり溜まっているのが常なので、そちらを減らすことをせず、かつその要件をよく知る人が不在の状態でリプレースしても、むしろ技術的負債は以前よりも増えるのことになるのである。
2
514
1K
@kawasima
kawasima@99卒
5 years
ポケモンマスター
Tweet media one
8
461
969
@kawasima
kawasima@99卒
2 years
ソフトウェア設計は、決定を遅らせる部分をいかに多く作れるかなので、選択肢を1つに絞ることを”決定”と考え、早く全てを”決定”して気持ちを楽にしたい思考とは相性が悪い。
3
169
986
@kawasima
kawasima@99卒
3 years
Shift_JISの全角文字かどうかを判定する正規表現です
Tweet media one
4
260
975
@kawasima
kawasima@99卒
1 year
世の中のサーバサイドPDF生成、何を使っているか、手元の請求書/領収書をもとに調査してみたが、見事にバラバラだ…
Tweet media one
1
282
942
@kawasima
kawasima@99卒
6 years
控えめにいってRESTful APIの設計・開発に関わる全ての人が読むべき、Zalando社のガイドラインを和訳しました。よろしくお願いします。
1
387
930
@kawasima
kawasima@99卒
4 years
息子が人生の岐路に立たされている
Tweet media one
6
337
920
@kawasima
kawasima@99卒
5 years
「ある技術分野で目立ってる人の会社に行ったら、外には全然出てないけど、その人よりも強い人たちがゴロゴロしてて驚いた」って話、幽遊白書の魔界統一トーナメントが始まる前あたりの雰囲気がしてゾクゾクしますよね。
1
241
837
@kawasima
kawasima@99卒
4 years
業務システムの設計に迷ったら、まずredmineではどうしているかを見に行くとよいです。テーブル設計、認可、マルチテナント、テスト、ユーザ設定可能なワークフロー、ユーザ削除時の対応、プラグインによる拡張などなど、参照実装としてすごく有用です。
2
151
778
@kawasima
kawasima@99卒
3 years
「言い出しっぺが損をする」は、心理的安全性のThe Fearless Organizationの書籍には"声をあげる"のと"黙っとく"のとの非対称性にあるから、と納得性の高い説明がされている。 「発言しやすい雰囲気」なんかよりも、この非対称性の解消のために、どういう仕組作るかにフォーカスしたいですね。
Tweet media one
0
283
779
@kawasima
kawasima@99卒
4 years
画像の出典の書き方、そうじゃないと思うんだ…
Tweet media one
0
187
739
@kawasima
kawasima@99卒
3 years
"モノシリ"で出版までいくの校正どうなってるの?
4
279
689
@kawasima
kawasima@99卒
2 years
Javaで他人を悩ませるコードを書くには、toString()に副作用のある処理を忍ばせておくことです。 デバッガ使ったり、ログ出したりすると、結果が変わる「観察者効果」を喰らわせることができます。
3
180
650
@kawasima
kawasima@99卒
5 years
"多くのプログラマは良いコードを書きたがっている。だが偉い人は良いコードなんか欲しがってないと思っている。だがそれは間違いだ。 偉い人は良いコードの恩恵が欲しいんだ。そして良いコードがそれをもたらすことを知らないだけだ。 だから我々は良いコードを書くべきなんだ。"
@unclebobmartin
Uncle Bob Martin
5 years
Most programmers want to write good code; but believe that their employers don’t want good code. They are wrong. Most employers want the benefits of good code; but don’t know that good code provides those benefits. We do. So, we should write good code.
59
896
2K
0
292
628
@kawasima
kawasima@99卒
3 months
プログラムをろくに書いたことがないSEがなぜ設計ができる、もとい設計書が書けるかというと、こういうプロセスでI/Oとその境界のバリデーション・変換仕様を定義するのがほとんどの仕事になっているため、と言える。
Tweet media one
2
91
637
@kawasima
kawasima@99卒
5 years
杉並区の子どもたちの多くが通っているスイミングスクール。息子を入れるかどうか夫婦感で意見が割れているが、原因はスクール名にもある。
Tweet media one
3
349
581
@kawasima
kawasima@99卒
3 years
リモートワークでの妻の(自主的)サービス残業が目に余るようになってきたので、Google Homeに定時になったらGet Wild流すようにルーチン設定した。 今のところ効果出ている。
1
183
594
@kawasima
kawasima@99卒
2 years
とりあえずあと4話。
Tweet media one
0
133
593
@kawasima
kawasima@99卒
5 years
大手SIerでマジメに開発やってると身につくスキル。 1. 膨大なソースツリーのgrepや一括置換ワンライナー 2. Excelランタイムを使わずにxls/xlsxをパースしたり書き出したりする技術 3. プロキシを越えて通信する様々なテクニック
3
185
579
@kawasima
kawasima@99卒
5 years
良いエンジニア人生を送るためのコツは「尊敬できる人にどんどん会いにいき、尊敬できない人とは会わなくてもよいようにする」です。
4
132
580
@kawasima
kawasima@99卒
2 years
The Programmer's Brainより ”経験の浅い新規参入者に、非常に簡単な機能の実装を与えがちだが、それでも実際にはそこには複数種類のアクティビティが含まれるので、新規参入者は短期記憶が溢れて一杯一杯になる。”
1
92
566
@kawasima
kawasima@99卒
1 month
おそらく世界で最も品質特性を掘り下げている書籍『Software Architecture in Practice』では… (ありきたりではありますが) このようなシナリオと戦術が挙げられています。
Tweet media one
Tweet media two
@nagise
なぎせ ゆうき
1 month
ソフトウェアの品質特性のうち保守性 (Maintainability)に属する修正性(Modifiability)というのがあるんだが、修正しにくい/しやすいという事象についてもう少し掘り下げたいところである🤔
1
7
38
1
50
563
@kawasima
kawasima@99卒
4 years
「マイクロサービスなのに、リリース前にそれらを組み合わせてEnd-to-Endのテストをするんだったら、それは分散モノリスだ。」
@sarahjwells
Sarah Wells
6 years
"If you have microservices but you wait and do end-to-end testing of a combination of them before a release, what you have is a distributed monolith" @amyjph #qconlondon
4
104
183
0
168
548
@kawasima
kawasima@99卒
6 years
9月末で19年半勤めたT社を退職することにしました。今後は不撓不屈の精神で無職道に精進いたします。
63
109
516
@kawasima
kawasima@99卒
3 years
ロンジェフリーズのいう「YAGNIと技術的負債と手抜きの違い」をチャートにしてみました。
Tweet media one
1
135
521
@kawasima
kawasima@99卒
2 years
「単体テストの考え方/使い方」が冬休みの課題図書として人気のようですが、著者のKhorikovさんのブログは、設計周りの痒い所に手が届く感じのネタをたくさん取り扱っていて、非常におすすめです。本読み終わった方は、ぜひそちらも!
1
62
514
@kawasima
kawasima@99卒
2 months
不確実性の分類を を元に書いてみました。
Tweet media one
1
60
517
@kawasima
kawasima@99卒
6 years
学生さんと話してて 「エディタは何を使っているんですか?」 「emacsです」 「あー父が使ってます」 という会話で、ダメージを受けた。
3
254
480
@kawasima
kawasima@99卒
4 years
Slackの中の人が書かれているリファクタリングの本。"要件変化に伴うコード劣化と技術的負債は区別せよ" "要件変化に伴うものの場合、最初に書かれた「良い」コードが何故扱いにくくなってしまったかをまず理解するのが重要だ" などの記述あって、期待膨らむ。
1
109
489
@kawasima
kawasima@99卒
6 years
Eric EvansとRich Hickeyの世界の捉え方の違いを図にしました。
Tweet media one
1
181
482
@kawasima
kawasima@99卒
4 years
話に聞く限り、 事業を拡大する→エンジニアが一気に増える→マネージャも増やす→特定のマネージャとエンジニアが衝突する→エンジニア大量流出 のパターン多すぎなので、早いことマネージャに人類以外をアサインするソリューションが求められる。
0
202
476
@kawasima
kawasima@99卒
1 year
「期間限定ポイント」は使用率が低いくせに付与、失効の処理が、DBに激烈負荷かけるので、これポイントじゃなくクーポンとして業務設計すべきだ。
1
89
453
@kawasima
kawasima@99卒
3 years
log😅 = 💧log😄
0
112
440
@kawasima
kawasima@99卒
2 years
t_wadaさんに引用された感じになるツールを作ってみました。ちょっぴりいい気分になれます。
Tweet media one
@t_wada
Takuto Wada
2 years
大ゴマで引用シリーズに新作が追加されました
Tweet media one
Tweet media two
Tweet media three
Tweet media four
5
556
2K
1
102
446
@kawasima
kawasima@99卒
5 years
プログラミング言語ごとの年収の話、高みの見物。
Tweet media one
10
212
429
@kawasima
kawasima@99卒
4 years
Qiitaで安易な釣りタイトル付けちゃう前に、読むべきスライド。これで37000を越えるContributionsを獲得しているicoxfog417先生がおっしゃることなので説得力が違う。
1
96
432
@kawasima
kawasima@99卒
2 months
良いプログラミング問題ができた。
Tweet media one
10
57
427
@kawasima
kawasima@99卒
2 years
確かに想像上のt_wadaさんもダメと言っている。
Tweet media one
@t_wada
Takuto Wada
2 years
気になっていたイベントのアーカイブを観ていたら想像上の自分が唐突に登場して吹いた(しかも言っていることが正しい) 技術的負債の返済から改善する開発者体験 - Techmee vol.5 /
Tweet media one
0
46
246
1
112
423
@kawasima
kawasima@99卒
2 years
人生の苦しみ
Tweet media one
1
74
424
@kawasima
kawasima@99卒
2 years
「データベース設計におけるNULL」について書きました。できる限り場合わけして考えてみたつもりです。
@kawasima
kawasima@99卒
2 years
Codd博士の分類をベースに、データベースレイヤでNULLを使うかどうかのチャートを書いてみました。 (そのうちscrapboxにまとめます #少なくともこれくらいの解像度で議論したい
Tweet media one
0
64
369
0
85
418
@kawasima
kawasima@99卒
2 years
O'Reillyサブスク、年間$499なんですが、毎年1回は$200 Off キャンペーンやる(昨年は9月頃)ので、それを狙うのがオススメです。
@kawasima
kawasima@99卒
2 years
O'Reillyサブスクの翻訳本、ラインナップが充実してきている。
Tweet media one
1
40
259
0
98
410
@kawasima
kawasima@99卒
8 years
プログラマがどういう言語遍歴をたどるか、のサーベイ。世界的にもGo、Swiftに吸い込まれる流れ。
Tweet media one
1
416
386
@kawasima
kawasima@99卒
4 years
Tech系Youtuberもいいけど、O'Reillyのサブスクリプションにはラーニングパスってのがあって、真の一流エンジニアが体系立ててある技術について語ってくれるて、とても勉強になる。 今日はServerlessでマイクロサービスする方法を学んだよ🤗 #駆け出しエンジニアと繋がりたい
1
63
386
@kawasima
kawasima@99卒
2 years
Codd博士の分類をベースに、データベースレイヤでNULLを使うかどうかのチャートを書いてみました。 (そのうちscrapboxにまとめます #少なくともこれくらいの解像度で議論したい
Tweet media one
0
64
369
@kawasima
kawasima@99卒
3 years
「活躍しているプログラマは、プログラミングを幼少期に独学で学んだ人が多く、授業で学んだことがない。そのため、それは自分で何か見つけ出すようなものであるべきだと考える。独学の場合、コンパイラだけが先生であり、それが素敵な先生だと思うのはストックホルム症候群のケがある。」
@Felienne
/Fay-lee-nuh/
3 years
Ok technically my holiday has started, but I thought it'd be fun to do a @threadapalooza on programming and all the things I have thought about over the past year! Let's see how close I can get to a hundred opinions and thoughts about programming & education! (1/100)
13
123
381
1
149
365
@kawasima
kawasima@99卒
7 years
みんなー、ノンプログラマのプログラマスーツ不要論に付き合う暇があったら、至高のプログラマの頭の中公開されてて、メチャ刺激になるから、これ見ようぜー
1
152
369
@kawasima
kawasima@99卒
4 years
「DRYの原則」に一家言ある方は、The Pragmatic Programmer 20th Editionを読めば、多少溜飲が下がるのでは? "DRYはコードの重複だけを指しているのではない。むしろコードの重複は些細なもので、「知識」や「意図」を重複させるなというのが本筋だ。"と書き直されています。
0
132
366
@kawasima
kawasima@99卒
2 years
ジラの系譜
Tweet media one
2
127
364
@kawasima
kawasima@99卒
6 years
API設計のガイドライン。これすごく良くできてるので世界標準になってほしい。
0
112
355
@kawasima
kawasima@99卒
3 years
要素技術面でのハードルが下がっている今、「Microservicesはほとんどの現場には必要ない」は既に周回遅れの言い方で、Services by Lifecycleを読んで理解できる人はやったらいいし、理解できない人は止めとけが現代の基準だと思う。 とにかくServices by Lifecycleの記事が秀逸すぎるのだ。
0
39
355
@kawasima
kawasima@99卒
1 year
「画面数が多いと見積金額が高くなるので、できるだけ1画面に機能を盛り込む」 「テーブル数が多いと見積金額が高くなるので、汎用テーブルを作ろう」 「改修対象のクラスが多いと見積金額が高くなるので、できるだけクラス分割しないように」
2
80
350
@kawasima
kawasima@99卒
2 years
本日発売のWEB+DB PRESS vol.130にて、『実践データモデリング』を書きました。単なるモデリング手法だけでなく、「複雑さ」とは何か、どう立ち向かえば良いかを深掘りしておりますので、ぜひお手に取って読んでみてください。
1
55
350
@kawasima
kawasima@99卒
2 years
アンクルボブが言ってることで、よく引用するんだけれども、一次情報がWebに見つからないので、ここにメモしておく。 「継承はis-aの関係ではなく、behaves-as-aの関係である」
Tweet media one
Tweet media two
Tweet media three
2
78
348
@kawasima
kawasima@99卒
2 years
下位レイヤにいくほど不変条件が緩く「遊び」を持ち、上位レイヤの仕様のゆらぎを吸収できると良いのだが、UI駆動で仕様をカッチリ固めてから、下位レイヤを設計する、というプロセスだとそれが実現しにくい。という図を書きました。
Tweet media one
Tweet media two
1
65
347
@kawasima
kawasima@99卒
2 years
サバンナでも生きていけそうなくらい学習している。
Tweet media one
Tweet media two
Tweet media three
Tweet media four
0
61
336
@kawasima
kawasima@99卒
2 months
『関数型ドメインモデリング(Domain Modeling Made Functional)』は、従来ごっちゃになりがちだったDomain ModelingとEncodingを切り分け、Domain Modelingをまずやれ、やり方はこうだ、ってのを非常に上手く説明した革命的な本なのです。…が
Tweet media one
1
49
336
@kawasima
kawasima@99卒
7 years
月収あげたい方の心に直接語りかけてます… Emacsを使うのです… Emacsです…
Tweet media one
3
460
317
@kawasima
kawasima@99卒
1 year
身近だけどモデリング最難関なドメインは、ポイントのシステムじゃないかと思う。この記事、あらためてじっくり見てみたが、よく考えられている。
0
37
304
@kawasima
kawasima@99卒
4 years
技術書のサブスクリプションは、「高い金出して買った本を隅から隅まで深く読む」という従来の学習体験とは異なるもので、「書籍横断でキーワード検索し、該当箇所からつまみ読みしていく」ができる(というか検索が便利すぎてそうなる)。 この感覚は体験してみないと、分からないかもしれないですね。
1
56
301
@kawasima
kawasima@99卒
1 year
Idris本に書かれている「型の役割」。いくつか他の文献もあたってみたが、この切り口が一番しっくりきた。
Tweet media one
1
75
299
@kawasima
kawasima@99卒
6 years
飛行機とぶかどうか心配だけども、座席がnullなのも心配だ。
Tweet media one
1
221
292
@kawasima
kawasima@99卒
6 years
最終出社を終え、晴れて無職になりました!
Tweet media one
12
31
291
@kawasima
kawasima@99卒
3 years
いわゆる方法論がどう変遷していくかを示した「The way of ways」の図がわかりみが深い。
Tweet media one
1
96
291
@kawasima
kawasima@99卒
3 years
Javaエンジニア向けの招待制SNS「JavaHouse」ってのを作れば良いのかな?
5
63
281
@kawasima
kawasima@99卒
6 years
大多数のプログラマに必要なのは、Microservicesとかクリーンアーキテクチャとかよりも、こういうのどう作るべきか、注意すべきところは、というところのアーキテクチャ全集ですよね?
Tweet media one
2
90
274
@kawasima
kawasima@99卒
4 years
これは豆なのですが、twitterにはa_wada〜x_wadaまでは居るが、z_wadaは存在しない。
Tweet media one
1
53
262
@kawasima
kawasima@99卒
2 years
O'Reillyサブスクの翻訳本、ラインナップが充実してきている。
Tweet media one
1
40
259
@kawasima
kawasima@99卒
5 years
技術者として優れた人が出世すると、技術的な意思決定をする立場になるが、より出世すると実際に自分で試してみて判断下す時間がなくなり、他人の報告ベースで判断するようになる。 自分で触ってみていれば違う決定をしただろうに、というのはよくあることで忘れてはならない。
0
74
263
@kawasima
kawasima@99卒
3 years
現在Microservicesに関する教科書的扱いをされている書籍たちは、肝の「どう分割するか」についての言及が甘い。 なので、追加で"Strategic Monoliths and Microservices", "Domain Modeling Made Functional"あたりの書籍を読み、Service by Lifecycleを熟読すると良い。
0
26
261
@kawasima
kawasima@99卒
5 years
SIerで集客に悩まされつつも、十年くらい社内勉強会を継続して主催していると、やる気のある後輩たちとの繋がりがたくさんできる。 そういうやる気のある者達は次々と転職していき悲しい気持ちにもなるのだが、おかげで色んな企業に共通の知人がいる状態になり、今とても助かっている。
2
45
256
@kawasima
kawasima@99卒
2 years
DDDで最も重要なことは、サブタイトルにある「複雑さに立ち向かう」ことである。はずなので「複雑さ」とは何なのか? を定めてから取り組まないと、複雑さを解消してるのか、複雑さをただ別のレイヤに移動させているだけなのか、新たな複雑さを招き入れてしまっているのか分からなくなる説
Tweet media one
1
30
252