タグ

ブックマーク / codezine.jp (12)

  • 『ソフトウェアアーキテクチャの基礎』島田浩二氏が語る、エンジニアが最初に知っておくべきアーキテクチャリテラシー

    ソフトウェアアーキテクチャはシステムの成功に不可欠な要素であり、ソフトウェア開発者にはこの分野における効果的なスキルが求められる。しかし、その学習資料はまだ十分ではないのが現実である。株式会社えにしテックの代表取締役 島田浩二氏は、ソフトウェアアーキテクチャに関する書籍を多数翻訳している。Developers Summit 2023 Summerに登壇した島田氏は、数々の書籍から学んだソフトウェアアーキテクチャの重要なエッセンスを紹介した。 ソフトウェアアーキテクチャとは? 3つの定義を紹介 島田氏は2009年に株式会社えにしテックを設立。2011年からは一般社団法人日Rubyの会の理事を務めている。島田氏が翻訳に携わった書籍には、『進化的アーキテクチャ』『ソフトウェアアーキテクチャハードパーツ』、『ソフトウェアアーキテクチャの基礎』『Design It!』(いずれもオライリージャパン)

    『ソフトウェアアーキテクチャの基礎』島田浩二氏が語る、エンジニアが最初に知っておくべきアーキテクチャリテラシー
    jacoby
    jacoby 2024/01/11
  • VSCodeをプログラミングエディタとして強化しよう! 便利な設定や拡張機能を紹介

    はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げられたりすることも大きいでしょう。連載では、このVSCodeにフォーカスし、基的な使い方から拡張機能の活用、そして格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。 対象読者 テキストエディタメインで開発してきた方 Visual Studioより軽い環境が欲しいと考えている方 Visual Sudio Codeをもっと使いこなしたい方 必要な環境 記事の内容は、以下の環境で動作を確

    VSCodeをプログラミングエディタとして強化しよう! 便利な設定や拡張機能を紹介
    jacoby
    jacoby 2023/09/08
  • 新世代Vim「Neovim」を多機能IDEに変身させる「AstroNvim 3.0.3」が登場

    「AstroNvim」の開発チームは、最新バージョンとなる「バージョン3.0.3」を3月11日(現地時間)に公開した。AstroNvimは、「Vim」からフォークした新世代エディタ「Neovim」を多機能統合開発環境に変身させる各種設定ファイルとプラグインをまとめたパッケージ。GNU General Public License v3.0で公開しているオープンソース・ソフトウェア。 AstroNvimは、ウィンドウ左側にディレクトリ・ツリーを表示するファイル・エクスプローラーや、コード補完機能、Gitクライアント、ウィンドウ内に表示するターミナル、言語サーバー プロトコル(LSP:Language Server Protocol)クライアントなどの機能をNeovimにまとめて提供するパッケージ。AstroNvimを利用することで、Neovimを多機能統合開発環境に変身させることができる。

    新世代Vim「Neovim」を多機能IDEに変身させる「AstroNvim 3.0.3」が登場
    jacoby
    jacoby 2023/03/18
  • 知識不足、無茶ぶり、属人化──プロジェクトマネージャーが直面する3つの課題を乗りきるスキルセットと考え方

    IT業界プロジェクトを成功に導くためのノウハウを網羅的に解説した書籍『プロジェクトマネジメントの基が全部わかる』(翔泳社)。著者でパラダイスウェアの代表取締役である橋将功さんは、プロジェクトマネージャーが直面する課題として大きく3つ、「現場で使える知識体系がない」「無茶ぶりされる」「スキルの属人化」を挙げています。これらの課題を解決するために何が必要なのでしょうか。書から、プロジェクトマネージャーが持つべきスキルセットと、プロジェクトの成功と失敗をどう定義すればよいのかを紹介します。 記事は『プロジェクトマネジメントの基が全部わかる 交渉・タスクマネジメント・計画立案から見積り・契約・要件定義・設計・テスト・保守改善まで』の「序章 プロジェクトマネジメントのスキルの全体像」と「第1章 プロジェクトとはなにか─基的な知識と考え方をおさえよう」から一部を抜粋したものです。掲載

    知識不足、無茶ぶり、属人化──プロジェクトマネージャーが直面する3つの課題を乗りきるスキルセットと考え方
    jacoby
    jacoby 2022/11/16
  • プロダクトマネジメントの罠「ビルドトラップ」とは? アジャイルや組織改革の専門家、吉羽龍太郎氏が解説

    プロダクト作りにはさまざまな「罠」がある。機能の開発とリリースに集中してしまい、顧客の当の課題、プロダクトの当の価値がおざなりになってしまう状況のことを「ビルドトラップ」と言い、プロダクトを開発する組織において陥りやすい「罠」の一つだ。なぜこの問題が起こるのか。どうすれば、質的なプロダクト作りに立ち戻れるのか。『プロダクトマネジメント――ビルドトラップを避け顧客に価値を届ける』の訳者であり、アジャイル開発や組織改革のトレーニングなどを行う専門家、吉羽龍太郎氏が語った。 大事なのはアウトプットではなく、アウトカムとインパクト 吉羽氏はアジャイル開発やDevOps、クラウドコンピューティング、インフラ構築自動化、組織改革を中心にオンサイトでのコンサルティングやトレーニングを提供する専門家。吉羽氏がCTOを務めるアトラクタも同様のサービスを提供している。また吉羽氏は青山大学では非常勤講師と

    プロダクトマネジメントの罠「ビルドトラップ」とは? アジャイルや組織改革の専門家、吉羽龍太郎氏が解説
  • グラス片手にアジャイル開発 第5回(後編) - アジャイル開発によくある課題と解決方法

    バックログ 第3回でも触れたように、全体のタスクを管理するのに重要なのがバックログです。アジャイル開発では始めからすべてを詳細化はしません。優先度は低くとも重要で粗い要求までもリストアップするプロダクトバックログ、次のリリースのためのリリースバックログ、直近のスプリントのためのスプリントバックログの3つに分かれます。 スプリントバックログ自体は、タスク管理システムに統合されれば、あえてバックログ単体として意識することは少ないかもしれません。プロダクトバックログとリリースバックログは詳細化しすぎず、全体感を捉えきれる程度(例えばExcelでリストする程度)で良いでしょう。 タスク管理システム スプリントバックログに相当する部分は、タスク管理システムを中心に据えることが多いです。"チケット駆動開発"(すべてのタスクにチケットを発行して管理)といった言葉に代表されるように、間接タスクも含めてすべ

    グラス片手にアジャイル開発 第5回(後編) - アジャイル開発によくある課題と解決方法
  • 要件定義の勘どころ

    はじめに 役に立つシステムを構築するための要件定義書とは、いったいどういうものなのでしょうか。 「何でこの機能が必要なんですか?」「理由は分からないけどXXX機能があるのでこの機能が必要なんです。これがないとつじつまが合わなくなるんです」もしくは「要件定義書にこの機能が載っているので必要なんです」など、要件定義書の役割を理解しないまま、システムの開発に着手していることなどがないでしょうか。 稿では、要件定義書の役割や重視すべき点、要件定義書に盛り込むべき情報について解説します。 何をやるのか、そしてなぜそうするのか 要件定義書はジグソーパズル? システム開発を受託した会社にコンサルテーションしたときのことです。機能とデータがある程度記述された要件定義書を受け取ったその会社では、要件定義書を読み解き、システムの全体像を掴むためにおのおのの機能の関係を整理し、その役割を把握しようとしていまし

    要件定義の勘どころ
    jacoby
    jacoby 2010/02/11
    システムを取り巻く環境のWhat/Whyを明確に記載する
  • IEEEが定めるテスト設計仕様 ― 用語/テスト文書/要求仕様/設計

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    IEEEが定めるテスト設計仕様 ― 用語/テスト文書/要求仕様/設計
  • 「レガシーコード改善ガイド」のススメ 第4回:既存のコードに極力手を加えずにテストで保護する

    既存のコードをテストで保護する 前回の記事では「スプラウトクラス」(Sprout Class)という手法を紹介しました。これは、レガシーコードに機能を追加する際に、既存のコードにはほとんど手を加えず、新機能を実現するために新しいクラスを作るという手法でした。この手法の基にあるのは、既存のコードにテストを書くことはあきらめるとしても、せめて新しく書いたコードだけはテストで保護しよう、という考え方です。 こうした手法は時間が少ない状況で新しい機能を追加する際に有効です。しかしこれを使い続ける限り、いつまで経っても既存のコードは改善しません。 そこで、既存のコードをテストで保護する手法が必要になります。『レガシーコード改善ガイド』では、こうした手法が数多く紹介されています。今回の記事では、その中のもっとも基的な手法の1つを紹介しましょう。 テストが困難な既存コードの例 ここでは、あるスーパー

    「レガシーコード改善ガイド」のススメ 第4回:既存のコードに極力手を加えずにテストで保護する
  • テンプレートから学ぶ 受注する開発者のためのテスト仕様書

    1. はじめに ソフトウェア開発プロジェクトにおいてテストは極めてストレスに満ちています。「テストとは作った成果物に誤りがあるかどうかを見つける作業だ」という質的に不愉快な活動であることに加えて、プロジェクトの終わりにさしかかって時間も逼迫しているのに仕様変更を受けて再テストなどという、体力的にも精神的にもきつい作業であるからです。 稿では、さまざまなストレスを受ける立場の開発者が少しでも楽に「きちんとテストしました」と言うために、テスト仕様書のテンプレートを紹介します。このテンプレートは発注者に報告するための文書だけでなく、さまざまなテスト技法の紹介も含まれていて、いつどういうテストをすればよいのかという手引きにもなっています。 さて、はじめに、ソフトウェア開発プロジェクトと品質・生産性・納期の関係を見てみましょう(図1)。 お客様(発注者)はプロジェクトを起案する際、何を作るかを「

    テンプレートから学ぶ 受注する開発者のためのテスト仕様書
  • 「レガシーコード改善ガイド」のススメ 第2回:コードを理解するため、仕様化テストで文書化する

    増え続けるレガシーコード この記事を読んでいる皆さんの多くは、これまでたくさんのシステム開発に関わってきたことでしょう。仕様変更と闘い、納期に追われ、やっとのことで稼働したシステムも数多いはずです。厳しい状況になればなるほど、実際にコードを動かすことが最優先になり、「コードを保護する」ための単体テストの整備は後回しになってしまいがちです。 ところが、システム開発はシステムが完成して無事に稼働した時点で終わりではありません。ユーザーが実際に使い始めると、保守開発としてさまざまな仕様変更や機能追加が発生するのが常です。それらに対応するためには、厳しいスケジュールの中で、やっつけ仕事で間に合わせたコードに対して改修や機能追加をする必要があります。では、このような仕事にどうやって取り組めば良いのでしょうか? さて、前回の記事では、『レガシーコード改善ガイド』におけるレガシーコードの定義を紹介しまし

    「レガシーコード改善ガイド」のススメ 第2回:コードを理解するため、仕様化テストで文書化する
  • 「膨大なデータを分析して見えてくること」ニコニコ動画データ分析研究発表会

    最大の動画投稿サービス「ニコニコ動画」は、動画上を流れるコメントや、自由に編集できるタグ機能といった特徴を持ち、単なる動画共有サービスにとどまらず、コミュニティサイトとしての側面も持つ。多くの人がアクセスする中で「アイドルマスター」「初音ミク(VOCALOID)」「東方プロジェクト」など、いろいろなムーブメントが生まれてきた。 今も毎日多くの動画が投稿されており、各動画は「再生数」「コメント数」「マイリスト数」などの情報がわかるようになっている。すでに投稿動画数は200万を超えるが、これら膨大なデータを分析することで、どんな現象やコミュニケーションが起きているのかを明らかにしようとするのが今回の発表会の目的である。 分析する際の2つの障壁 独自にデータ収集が必要であること しかし、そもそもニコニコ動画自体はデータを分析しやすいように広く提供しているわけではない。1つ1つの動画の再生数

    「膨大なデータを分析して見えてくること」ニコニコ動画データ分析研究発表会
    jacoby
    jacoby 2009/01/28
    ニコニコ動画からみえてくるもの
  • 1