Scala + Caliban で作るGraphQL バックエンド / Making GraphQL Backend with Scala + Caliban
![良いソフトウェアとコードレビュー / Good software and code review](https://cdn-ak-scissors.b.st-hatena.com/image/square/4db9484e10fb9c93183351b6f561b44dd35cc9df/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ff8642645b77b453ea286e4511bf71b1c%2Fslide_0.jpg%3F28709433)
こんにちは、Wantedlyで推薦システムを開発している樋口です。Kaggleや実務での機械学習の開発にて、過去に下記のような失敗がありました。 精度改善のために実験を繰り返し追加したら、PRが巨大になり、レビューに時間がかかった 学習結果を確認したら、パラメータを一部だけ間違えていて、再度長い実験をやり直した このような悩みを解決するために、書籍や経験で学んだプラクティスを取り組んできました。例をあげると以下のようなのものがあります。 小さい単位でPRを作成する パラメータを設定ファイルに切り出して、ヌケモレを減らす 学習データをサンプリングして、実行時間を短縮して結果を素早く確認する これらのプラクティスに取り組む中で、もっと "高速で正確な開発を行うための知見や方法が体系化されているのではないか" という疑問が湧きました。 この疑問を解決するべく"継続的デリバリーのためのソフトウェア
GPT-4とChatGPT Plus、ただただ驚嘆するばかりですね。SNSのタイムラインや知人など狭い観測範囲ですがこの話題ばかりという印象です。LayerXでも毎日話題で同時多発的にエンジニア陣が色々なアプローチを試してはデモをしています。楽しい。この衝撃をソフトウェアエンジニアとして咀嚼してみたので、雑記としてChatGPT Plus先生にまとめてもらいました。 ちなみに長々と書いていますが、大雑把には下記のようなことを考えていました。 コードの生成だけでなく、実行で得られたエラーに対する修正も含めて一連のプロセスとして大規模言語モデル(LLM)で実現できるようになる。Go言語のgeneratorとにた発想でコード自体は毎度書き捨て、みたいな考え方も増え、LLMに合わせた実行環境やツールが出てくる。 テストもLLMで生成できる。ユニットテストは今日から使える。E2Eテストなども作れるだ
2022/6/22 @ MoneyForward 勉強会 で実施した A Philosophy of Software Design の話です。
昨年11月末に発売された『Googleのソフトウェアエンジニアリング』を読みました。 Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス オライリージャパンAmazon 細かい内容についての感想はTwitterの方に放流しているので、ブログでは簡単に。 とりあえず一周した。17章以降は基本「いやーGoogleさんすごいっす」という感じだったが、ところどころ役立つ話があったし、「エンジニアリングを発展させていった先の一つの形がこうなのか」という面白さは大きかった。逆に前半は実践的にかなり勉強になったのでちゃんと復習しよう…… #swebookjp— こま (@koma_koma_d) 2022年1月3日 全体の構成 書籍全体の構成は、以下のようになっています。 分量としては、「第4部 ツール」が最も大きな部分を占めています。 第2部から第4部に
あけましておめでとうございます、になるはずだったのですが、後から読んだ『Googleのソフトウェアエンジニアリング』の方を先に記事にしたので新年2本目の更新です。 ky-yk-d.hatenablog.com さて、本題。最近のお気に入りポッドキャストであるe34.fmで激賞されていた『A Philosophy of Software Design』を読みました。初版は2018年に出ていて、今回は2021年に出た第2版を読みました。 スパゲッティコードを想起させる装丁 A Philosophy of Software Design, 2nd Edition (English Edition) 作者:Ousterhout, John K. Amazon scrapbox.io どんな本? 書籍のテーマはソフトウェアの複雑さです。複雑さとは、システムを理解したり変更したりするのを困難にさせるも
こんにちは丸山@h13i32maruです。つい先日、devchat.fmというポッドキャストに出演して、「ドキュメント」というお題について話しました。なぜこんなニッチなお題について話したかというと、Ubie Discoveryに入社して5ヶ月の間にいくつか*1まとまったソフトウェアドキュメントを書いたので、自分の中でホットな話題だったからです。 #devchatfm 33回目は、Ubie DiscoveryのSWE @h13i32maru にドキュメントを書くことで得られるメリットや、ポイント・工夫などを聞きました! #33 チームの生産性を上げるドキュメントのすすめ with@h13i32maruhttps://t.co/TrmZd13D91— 久保 恒太 / Ubie CEO (@quvo_ubie) 2021年8月12日 これらのドキュメントは個人的にわりと良く書けたと思ってますし、
いわゆるGoFの23個のデザインパターン。知っておくに越したことはないが、フレームワーク・ライブラリに溶け込みすぎていて、現代では知らないうちに使ってることになるので、余裕があれば。
初めてまともに携わったシステムはNTT研究所で作られていたCBoCといわれるものであった。内容について詳しくは述べないが、国内では割と先進的でありながらとにかくNTTの事業会社(割と稼いでいる)で使えるものを作ろうというものであった。この時期は研究所は研究だけしていればよいというものではなく事業貢献が求められており、論文になるような研究を生み出すだけでなくそれをどうやってビジネスにするかが重要視されていたのだと思う。このとき作ったものは実際に事業会社で使われ、退職の前後には年間数万円が口座に振り込まれるようになっていた。なお収入なので税金の扱いを間違えないように。しかし特許といえばガッポガポ…というイメージだがそんなに当たることはない。わたしが携わったそのソフトウェアは確かに使われていたが、事業会社のビジネスの中核を支えていくようなものにはならなかった。ならなかったのでメンテナンスフェーズ
特別ゲスト プレゼン大会に審査員として参加いただく特別ゲストの紹介です。おすすめ本を3冊、ご紹介いただいています。 永瀬美穂(ながせみほ)さん アジャイルコーチ。株式会社アトラクタFounder兼CBO。一般社団法人スクラムギャザリング東京実行委員会理事。認定スクラムプロフェッショナル。産業技術大学院大学特任准教授、東京工業大学および筑波大学非常勤講師。著書に『SCRUM BOOT CAMP THE BOOK』訳書に『レガシーコードからの脱却』『アジャイルコーチング』『ジョイ・インク 役職も部署もない全員主役のマネジメント』。 アジャイルイントロダクション 大御所バートランドメイヤー氏によるアジャイルへの批評。仕事柄アジャイルに懐疑的な人に出会うことがあるが、ここまで冷静な批判は聞かないので読み応えがあり、耳も痛い。ソフトウェア工学的見地から、再現不能な事例や理想論、ご都合主義に文句をつけ
by Austin Distel 「ひどいソフトウェアが生まれる場合、問題は特定のエンジニアリングではく、マネージメントにあることが多い」と語る、Googleのプロダクトマネージャーを経てシンガポールの公安部門向け技術開発を行うLi Hongyiさんが、「よりよいソフトウェアはどうやって構築するのか?」をつづっています。 How to Build Good Software https://www.csc.gov.sg/articles/how-to-build-good-software Hongyiさんは、ひどいソフトウェア開発の問題点を一文で「プロジェクトオーナーが解決すべき問題を明確にすることなく解決策としてのソフトウェア構築をスタートさせ、関係者からの長い要望リストを、フルスクラッチで開発を行おうとする外部の開発チームに委託すること」とまとめています。 一方で優れたソフトウェア開
2017年1月に米Microsoftに遊びにいって感じたことを、そのあといろんな人に伝えてきたのですけど、ブログには書いていなかった気がしますので、年頭にあたり書いておきます。 機動警察パトレイバー アーリーデイズ | Netflix (ネットフリックス) ツアーの際に現地で講演してくれた方の1人が河野さんで、ありがたいことに翌年のRSGTで基調講演していただきました。(もう1人Chap AlexはDevIpsDaysでお呼びできました。) 米Microsoftで働く日本人エンジニアが語る、“楽しく開発”するために必要なこと - Part1 - ログミーTech ここで痛感したのは、ビジネスに必要な業務知識を経営層・マネジメント層が持っていないと、もう儲からないんじゃないか?ということです。ソフトウェアに関する業務知識というと、コンピュータサイエンスだったり、もうちょっと基本的なレベルで、
Open Source Survey The Open Source Survey is an open data project by GitHub and collaborators from academia, industry, and the broader open source community. Overview In collaboration with researchers from academia, industry, and the community, GitHub designed a survey to gather high quality and novel data on open source software development practices and communities. We collected responses from 5
GitHubがオープンソースに関する調査報告を公開。「ドキュメントは非常に重要だが見過ごされやすい」「ソフトウェア選択時のデフォルトはオープンソースに」など 調査対象はGitHub.comで活動するユーザーからランダムに選択した5500人と、ほかのプラットフォームで活動するコミュニティから非ランダムに選択した500人。調査はアンケートによって行われました。 調査の結果得られた主な知見は、以下のようにまとめられています。 ドキュメントは非常に重要だがよく見過ごされやすい。コミュニティへのアクセスのしやすさや参加のしやすさにつながる役割を持つ。 アクティブなプロジェクト活動の結果においてネガティブなやりとりはめったにないが、目立つ。 オープンソースは世の中で広く使われているが、コントリビュータについてはまだその幅広い利用者を反映していない。 オープンソースの利用や貢献はしばしば仕事につながる。
(編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) 問題は細部(あるいはその欠如)にあり。 議論とは、ソフトウェア開発の基本的な構成要素であり、スケーラビリティを向上させるためには避けられない摩擦であると言えます。議論を通して私たちは出来上がるものの品質に影響を与え得るような問題を早い段階で浮かび上がらせることができるのです。その1つがオーバーエンジニアリングの問題です。 ウィキペディアによると、オーバーエンジニアリングとは下記のとおりです。 十分な 安全率 や十分な機能の確保のためか、あるいはデザイン上の誤りのどちらかの理由から、アプリケーションが必要とする以上に強固で複雑なプロダクトがデザインされてしまうこと。 また、ウィキペディアには、オーバーエンジニアリングが好ましい場合として、さらに、このようなことも書いてあります。 ある特定の基準の下で安全
ひとことで言えば、「レビュー文化は良くない」ということになるだろうか。 Slack導入、そして同時期に開始した服装の自由化、バイモーダルという考え方の浸透、AIやブロックチェーンを活用したPOC等の取り組みによって、SIerとしてのセゾン情報システムズは、社内の雰囲気もずいぶんと変わってきた。 しかし、こうした取り組みだけではどうにもならないものも少なからずあった。 そのひとつは、「悪い報告がしづらい」ことだった。 これは他のSIerでも同様のことが多いのではないかと思うが、問題プロジェクトに認定されると、品質管理部のモニタリングが強化されたり、第三者によるプロジェクト監査が始まったり、経営会議での定期的な報告が求められたり、何をやっているのかとレビューでこっぴどく叩かれたり、、、。 そうした責任感から、遅れをキャッチアップできるよう少しでもがんばろう、と励まし合う中で、それなのに四方から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く