2023-11-21 技術的負債に向き合う Online Conference https://findy.connpass.com/event/297813/
はじめに 今回の記事では、設計やソフトウェアアーキテクチャを学べるGitHubリポジトリを16個紹介する。 対象とする読者 設計やソフトウェアアーキテクチャに興味関心があるエンジニア GitHubをエンジニアリングの情報収集に活用したいエンジニア タイトルで気になった人 Architectural Patterns システムの基本的な構成を理解するためのパターンやテンプレートを提供している。これらのパターンを学ぶことで、システムの構造やコンポーネントの関連性、相互作用を理解できる。これが開発者にシステムをより効率的かつ効果的に設計・実装する能力をもたらす。 Design Patterns for Humans 設計パターンを人間が理解しやすい形で説明している。デザインパターンは特定の問題に対して再利用可能なソリューションを提供する。これによって、開発者はより効率的にコードを記述でき、メンテ
はじめに この記事は10X 創業6周年アドベントカレンダーの15日目の記事になります。 昨日はアプリケーション開発部のjojoさん*1が、「10Xに入社した、そして4ヶ月後…」という記事を公開しています。 本記事では2023年5月に10Xに入社した私が、入社1ヶ月目に実際に行った、ソフトウェアテストプロセス(以下、テストプロセスと表記)に基づいたテストケース作成についてお話しします。 目次 はじめに 目次 テストプロセスに基づいたテストケース作成を行おうとしたきっかけ 前提:プロセスとは何か? プロセスの例 テストプロセスを考えよう 今回定義したテストプロセス テスト分析 テスト対象分析 テスト要求分析 テスト設計技法の選択 テスト設計 テスト実装 記事冒頭の例が分かりづらかった理由 実際に適用した例 レビュー内容 今後の展望 おわりに テストプロセスに基づいたテストケース作成を行おうとし
はじめに 『天才』はつくれる 競技プログラミング同好会競技就活部門 Google は世界最高のプログラミングスクールである 雇用形態と働き方 ソフトウェアエンジニア (SWE) Google でのお仕事 Google の面接の内容 Google の面接の問題の種類 コーディングクイズ 知識を吐き出す系 Open-ended question システムデザイン Google の面接の評価基準と対策方法 知識 技能 マインドセット Google の面接のタブー Google の面接の心構え 面接官への話し方 話す量 エリート意識 自己愛 優秀さ、知識量に対するこだわり Google の面接のテクニック 入力条件を確認する 入力の条件を簡単にできるか交渉する テストケースを作って提示する 関連する知識を答える 正しく修正する 競技プログラミングと Google の面接 おわりに はじめに nuc
関連キーワード アプリケーション開発 | ERP | プログラマー ソフトウェア開発者を目指す動機は、人によってさまざまだ。企業や消費者の役に立つものを生み出したい人もいれば、問題を解決するスリルを味わいたい人もいる。バックアップソフトウェアベンダーAcronisの開発者、ゼニア・キム氏の場合は後者だ。キム氏は2020年に米国のデジペン工科大学(DigiPen Institute of Technology)を卒業し、コンピュータサイエンスとゲームデザインの学位を取得した。 否定できない「コーディング力よりコミュ力」の時代 併せて読みたいお薦め記事 連載:当事者が語る「女性開発者の増やし方」 前編:アニメを極めようとした学生が“アニメじゃない”道を選んだのはなぜ? さまざまなキャリアの歩み方 建築家志望の学生が“プログラミングの沼”にはまってしまった理由 IT業界の女性は「メンター」を求め
オープンソースのプラネタリウムソフト「Stellarium」が、20年以上の開発期間を経てついにバージョン1.0に到達したことが発表されました。 開発チームはバージョン1.0到達に当たり、ブログで「After more than 20 years of development the program is finally accurate enough for historical application.」(20年以上の開発を経たこのプログラムは、ついに歴史的アプリケーションにふさわしい十分な正確さを得た)とコメントしています。 Latest update from the collective: Stellarium 1.0 is here!https://t.co/kHvYiDUqQQ — Stellarium Dev. Team (@StellariumDev) October 1
1st October 2022 Gergely Orosz started a Twitter conversation asking about recommended “software engineering practices” for development teams. (I really like his rejection of the term “best practices” here: I always feel it’s prescriptive and misguiding to announce something as “best”.) I decided to flesh some of my replies out into a longer post. Documentation in the same repo as the code Mechani
通話ソフトウェアやオンラインゲームなど、特定のソフトウェアを使用したときにのみ大幅なWi-Fiの遅延が発生した問題をどのように解決したのかを、ITを専門とするアンドリュー・グテカンスト氏がブログにつづりました。 Resolving an unusual wifi issue • Ando's thoughts https://blog.ando.fyi/posts/diagnosing-an-unsual-wifi-issue/ ある日からグテカンスト氏のデスクトップPCで断続的な接続異常が発生し、ランダムに2000ms以上の遅延が数秒おきに発生するようになったそうです。グテカンスト氏は奇妙に思ったものの、当時、700kmほど離れたところへの引っ越しをしたところだったことから要因を絞り込むのは困難で、すぐさま対応することはしなかったとのこと。 その後も遅延に悩まされる中でグテカンスト氏が気
「アジャイルサムライ」の著者が語る、技術志向の企業が世界をどう見ているのか? そしてソフトウェアテスト自動化を進化させる方法について(前編)。JaSST'22 Tokyo基調講演 Jonathan Rasmusson(ジョナサン・ラスムッソン)氏はアジャイル開発における著名人の一人であり、さまざまな先進的ソフトウェア企業において開発やテストに携わってきました。 日本ではアジャイル開発の入門書として話題となった書籍「アジャイルサムライ」(オーム社,2011)や「初めての自動テスト」(オライリー,2021)、「ユニコーン企業のひみつ」(オライリー,2017)の著者としても有名です。 そのラスムッソン氏が2022年3月10日と11日の2日間、ソフトウェアのテストに関わる国内最大のイベント「ソフトウェアテストシンポジウム 2022 東京」(JaSST'22 Tokyo)の基調講演に登壇しました。
By Sergey Galyonkin ソフトウェア開発企業・Simple Threadの創設者であるジャスティン・エセリッジ氏が、ソフトウェアエンジニアとして20年活動した経験を基に、学習において重要なポイントやコーディングにおいて意識するべきポイントなどを20個にまとめて公開しています。 20 Things I've Learned in my 20 Years as a Software Engineer - Simple Thread https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/ ◆1:自分がまだ多くを知らないことを自覚する エセリッジ氏は、たとえ何十年間ソフトウェアエンジニアとして働いたとしても、それぞれのエンジニアが持つ知識には違いがあり、他のソ
『ドメイン駆動設計』のモデル要素のひとつとして「集約」があります。 アプリケーションの対象となる事業活動の仕組みや決め事をソフトウェアで表現する技法のひとつとして集約の考え方はとても役に立ちます。 集約パターンはデータベースのデータ整合性の視点での説明されることが多いようです。しかしデータ整合性の文脈で集約を理解しても、ドメイン駆動設計の中核の関心事である「ドメインの複雑さ」を理解しドメインの知識をクラスで表現するためにはあまり役に立ちません。 この記事では、集約パターンをドメインロジックを表現するモデルの構成要素として効果的に利用するためのヒントを提供したいと思います。 集約はデータ操作の道具ではありません。集約はビジネスルールにもとづくドメインロジックのモデリングと実装の手段です。ここがわかるとドメイン駆動設計の理解が一気に進むと思います。 どうして集約がデータ整合性の話になってしまう
clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心
なんか言及もされたのでアンサー的に書いてみたけど、アンサーには大してなってないな? ってやつです。一部で言及された、競技プログラミング (競プロ) 関係の話。 その前に、「プログラミングの競技」っていろいろあります。 短時間で問題に解答していく型 (ICPC / 情報オリンピック / AtCoder Regular / TopCoder とか)最適解が容易に求まらない問題のスコアを競う型 (SuperCon / AtCoder Heuristic / ISUCON / ゴルフ / ICFP Programming Contest の一部とか)対戦型 (ICFP Programming Contest の一部とか、最近のはあんまり知らないですが RoboCode / Imagine Cup とか)謎解き型 (ICFP Programming Contest で何回かありましたね。 UMIX
概要 職業ソフトウェアエンジニアを目指す方々にオススメしたい書籍トップ10です 以下の観点から選定しました 10年後でも変わらない、流行にとらわれず長く役に立つ、ソフトウェアエンジニアリングにおいて普遍的な知識 特定のプログラミング言語やプラットフォームやツールに精通するのではなく、現代のソフトウェア開発の哲学・文化の全体像が把握できることを優先 200~300ページくらいで初心者でも読破できる 400~500ページくらいの本もあるが、それらは辞書的に使うのがいい あえて10冊に絞り込んだので、ここに含められなかった書籍も当然あります CI/CDやDevOpsに関する本も入れたかった… デザインパターンに関する本も入れたかった… DDDやClean Architectureなどシステム設計に関する本は意図的に入れていない 真・プログラミングスクールに通うくらいならこの本を読め10選を書きま
牛の背に乗るネズミになれ! ソフトウェア思考のススメ 2020.01.04 Updated by Ryo Shimizu on January 4, 2020, 14:06 pm JST 昨年一年間をかけて、僕は日本の大企業群を研究した。 大企業の中心で働く様々な人にインタビューし、彼らの会社が技術をどう捉え、ビジネスをどう捉えているかを知った。 どうしてこれほど海外のネット企業勢の蹂躙を許しているのだろうか、という疑問に答えるためだ。 そしてわかったのは、根本的に日本のビジネスシーンでは「ソフトウェア」が理解されていないということだった。 プログラミングではない。ソフトウェアである。 アメリカのネット企業のトップも全員がプログラマーというわけではない。 しかし、彼らはソフトウェア的発想、ソフトウェア的思考法というものをごく当たり前のように身に着けている。 これを僕は「ソフトウェア思考」と
ローランドが新製品、「Zenbeats(ゼンビーツ)」を発表。「Zenbeats」は、iOS/Android/Mac/Windowsに対応したマルチ・プラットホームの音楽制作ソフトウェアで、本日から無料で(!)ダウンロードすることができます。 Mac版「Zenbeats」 誰もが手軽に曲作りを楽しめることを目標に開発されたという「Zenbeats」は、シンプルで使いやすいユーザー・インターフェースを備えた新感覚の音楽制作ソフトウェア。多数用意された“ループ”をタイムラインに沿って並べるだけで、初心者でも簡単にオリジナルの楽曲を作ることができます。もちろん、ソフトウェア音源やシーケンサー、エフェクトといった機能も備えているので、自分でフレーズ/パターンを入力することも可能。長尺のオーディオを扱うことができる『オーディオ・エディター』や、ピアノ・ロール画面でメロディーを入力できる『ノート・エデ
オブジェクト指向プログラミングを学ぶ オブジェクト指向プログラミングという言葉は、広い意味で使われている。 オブジェクト指向プログラミングをキーワードにすべての情報をかき集めて理解するというアプローチは現実には無理。 目に付いた重要そうなところを見繕って集めてみても、たぶん混乱するだけ。 この記事では、オブジェクト指向プログラミングのいろいろなアプローチの中で、 クラスを使って独自の「型」を定義するプログラミングスタイル 関連するデータとロジックをまとめて、小さな入れ物に格納する「カプセル化」を重視するプログラミングスタイル を学ぶための参考図書を紹介したい。 型とカプセル化に重点を置く設計スタイルがわかってくると、それとは異なるスタイル、異なる力点を置くアプローチとの違いが具体的にわかるようになってくる。*1 *2 まずは、オブジェクト指向プログラミングの中で、型・クラス・カプセル化に力
「われわれがマイクロソフトを嫌っていたのではない、マイクロソフトがわれわれを嫌っていたのだ」――日本のソフトウェア技術者であり、Rubyの父とも呼ばれるまつもとゆきひろ氏は、日本マイクロソフトが主催する開発者向けイベント「de:code 2016」でこう語った。一体何があったのか。 「オープンソースソフトウェア」の誕生 その歴史は、1996年までさかのぼる。当時、米Microsoftが開発していた「Internet Explorer」の機能強化により、それまで大きなシェアを獲得していたNetscape CommunicationsのWebブラウザ「Netscape」シリーズとの2大ブラウザ戦争が勃発した。その後、Internet Explorerはますます勢いを増し、この勢いに押されたNetscapeは1998年1月にNetscape Navigatorを無償化。しかしシェアの巻き返しには
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く