タグ

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

  • 実録レガシーコード克服秘話、必要なのは「ソフトスキルを生む環境」【デブサミ2016福岡レポート】

    苦労して作ってきたプロダクトのコード資産が、レガシーとなり新たな価値創造の足かせになる――。エンタープライズのLTS(Long Term Support)を担うエンジニアなら誰もが抱えがちな悩みといえるだろう。株式会社ドリーム・アーツでも大企業向けパッケージ・ソフトウェアの開発現場において同様の状況に陥り、試行錯誤しながら打開してきたと言う。その経緯と得られた知見について、同社取締役 CTOの石田健亮氏が紹介した。 株式会社ドリーム・アーツ 取締役CTO 石田健亮氏 過去のプロダクツのコードが 次世代の付加価値創造の足かせに 2016年のIPA(情報処理推進機構)IT人材白書では、75%のIT技術者が事業会社の情報システム部門、SIベンダー、ソフトハウスといった受託開発に携わっていると言う。そうした多くのエンジニアが、レガシーとなったコード資産の管理・対応を担っていることが伺える。 一方、

    実録レガシーコード克服秘話、必要なのは「ソフトスキルを生む環境」【デブサミ2016福岡レポート】
    JHashimoto
    JHashimoto 2016/11/02
    “つまり、「レガシーコードを克服する」ためには、ソースコードの発掘やバージョンコントロールといったノウハウもさることながら、「ソフトスキルを生む環境」を作ることが重要なのだという。”[リファクタリング]
  • IDDD本から理解するドメイン駆動設計一覧

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

    IDDD本から理解するドメイン駆動設計一覧
    JHashimoto
    JHashimoto 2016/08/01
    “本連載では、書籍『実践ドメイン駆動設計』(以下、IDDD本)の流れに沿って、重要な部分にフォーカスすることで、ドメイン駆動(DDD)について理解することをお手伝いします。”
  • 式ツリーからラムダ式を構築する

    はじめに 世の中には、一見すると不思議でも、トリックを知ればそうでもないというものがあります。マジックなどはまさにそうですが、.NET Frameworkにも同じような側面があります。この記事では、ラムダ式について少し踏み込んで学習します。関数型構築を利用してラムダ式を動的に構築する方法も紹介します。現実的には、このような方法でラムダ式を構築することはまれでしょう。しかし、ラムダ式は優れた機能です。この記事ではラムダ式について詳しく学習することで、.NETの開発者がラムダ式を理解し、コード内でもう少し上手に、もう少し頻繁にラムダ式を使用できるようになるためのお手伝いをしたいと思います。 一般的に、関数型構築を使用する際には、構築する式の各要素に対して関数を呼び出す必要があります。ラムダ式の場合は、パラメータ、定数、二項演算など、生成したいすべての要素について関数を呼び出します。ラムダ式を動

    式ツリーからラムダ式を構築する
    JHashimoto
    JHashimoto 2016/07/23
    “この記事ではラムダ式について詳しく学習することで、.NETの開発者がラムダ式を理解し、コード内でもう少し上手に、もう少し頻繁にラムダ式を使用できるようになるためのお手伝いをしたいと思います。”
  • Webアプリで起きるクライアントサイドの性能劣化パターンとその改善チューニング

    連載は、パフォーマンスを主な対象としてシステム開発・運用の改善や設計を行うNTTデータのコンサルタントチーム「まかせいのう」のメンバーが、業務での体験やそこから得た知見を共有する『週刊まかせいのう』の記事を編集し転載するものです。今回は、クライアントサイド(Webブラウザ)の処理性能を劣化させるパターンと、それを改善し性能を向上させるチューニング方法を紹介します。 遅延原因がクライアント側にある場合の2つのパターン いわゆる「性能が出ない」「画面がもっさりして処理が遅い」という性能問題が発生した場合、必ずどこかに遅延を発生させているコンポーネント、いわゆる「ボトルネック」が存在します。それはWebサーバであったり、DBサーバであったり、はたまたネットワークやストレージであったりします。 一般的に、こうした遅延箇所の多くはサーバサイドに集中しています。サーバサイドでは、多くのユーザリクエス

    Webアプリで起きるクライアントサイドの性能劣化パターンとその改善チューニング
  • テスト自動化研究会の『システムテスト自動化 標準ガイド』を15倍あなたの力にする話一覧

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

    テスト自動化研究会の『システムテスト自動化 標準ガイド』を15倍あなたの力にする話一覧
  • 新しいAzure App Serviceの発表

    原典:Announcing the new Azure App Service はじめに モバイルファースト、クラウドファーストの世界では、すべてのビジネスは、お客様とエンゲージを深め、関係性を持てる優れたモバイル体験、Web体験を提供する必要があります。そうすることで、従業員はさらに生産的になれます。これらのアプリは、すべてのデバイスで動作し、どこででもデータの消費や統合ができるようにしておく必要があります。 今回、新しいAzure App Serviceのリリースについて発表でき、うれしく思います。これは、色々なソリューションを提供する強力な新しいサービスになります。Azure App Serviceは統合サービスで、あらゆるプラットフォームやデバイスに対してWebやモバイルアプリが作成でき、SaaSソリューション(Office 365、Dynamics CRMSalesforce

    新しいAzure App Serviceの発表
    JHashimoto
    JHashimoto 2015/04/01
    “以前は個々に提供していたWebアプリとモバイルアプリ機能(Azure WebサイトとAzureモバイルサービス)が含まれています。また、今回初めて導入する新しい強力なロジック/ワークフローアプリとAPIアプリ機能も含まれ、”
  • Gitを用いてVisual Studio開発をしよう

    ソースコードの変更管理ツールを使いこなすことはエンジニアにとって重要なスキルです。これまで、バージョン管理といえばSubversionがよく利用されていましたが、最近ではGitが人気を集めています。最新版のVisual StudioにおいてもGitが標準でサポートされるようになり、MicrosoftASP.NETや.NET Core Frameworkの開発をGitHubで行っています。そこで稿では、Visual StudioでGitを使用する方法についてチュートリアル形式で解説します。 クライアントツールとして「Visual Studio Express 2013」を、Gitのリモートリポジトリとして「Visual Studio Online」を使うことで、無料で簡単にGitの使い方を学ぶことができます。 Gitについて Git(ギット)とは、Linuxで有名なリーナス・トーバルズ氏

    Gitを用いてVisual Studio開発をしよう
    JHashimoto
    JHashimoto 2015/03/15
    "クライアントツールとして「Visual Studio Express 2013」を、Gitのリモートリポジトリとして「Visual Studio Online」を使うことで、無料で簡単にGitの使い方を学ぶことができます。"
  • ASP.NET 5の紹介

    稿は、Scott Guthrie氏のブログを、氏の許可を得て、翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。 原典:Introducing ASP.NET 5 はじめに ASP.NET 1.0の最初のプレビューリリースはおよそ15年位前になります。それ以来、数百万もの開発者がこれを使用し、すばらしいWebアプリケーションを構築してきており、長年にわたって、非常に多くの機能を追加し進化させてきました。 今回、ASP.NET 5という現在作業中であるASP.NETの新しいリリースについてご報告できうれしく思います。この新しいリリースは、ASP.NETに行った最大級の構造的更新になります。今回のリリースで、ASP.NETをよりスリムでよりモジュール化されたク

    ASP.NET 5の紹介
    JHashimoto
    JHashimoto 2015/03/14
    “ASP.NET 5を使用開始するには、http://asp.net/vnextでASP.NETサイト上のドキュメントおよびチュートリアルを確認してください。以下のチュートリアルは、はじめてのASP.NET 5プロジェクトを作成する手順になります。”
  • HTML/CSSコーディング時間を激減させる「Creative Cloud Extract」と、その真価を引きだすための10のポイント

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

    HTML/CSSコーディング時間を激減させる「Creative Cloud Extract」と、その真価を引きだすための10のポイント
    JHashimoto
    JHashimoto 2015/02/26
    “アドビが昨年発表した「Creative Cloud Extract(エクストラクト)」は、そんな状況を一気に変える可能性のあるクラウドサービスです。もう、いちいち画像を切り出したり、Photoshopで大きさを測ったりする必要はありません
  • リリースフローを自動化して、本来の開発業務に専念できる環境を整備しよう

    人はミスをしてしまうもの 開発・運用に携わる人には釈迦に説法ではありますが、どれだけ詳細なリリース手順書を整備しても、ダブルチェックのルールを設けても、天才プログラマを何人集めてもミスや失敗は付き物です。経験則からもそうですが、特に稼働が高い時(ローンチ前後)、時間がなくて焦っている時(障害時)はミス・失敗が起こりがちです。 昨今のリリース手順は簡単に思いつくだけでも、 コンパイルの実行 ユニットテストの実行 カバレッジの取得 minify,compressの実行 依存関係の解決 など、複雑化しがちです。 手作業でリリースする場合、一つ一つの作業は微々たる時間で行えても、リリースに必要な作業を積み重ねると結構な時間がかかります。また、それを継続的に行っていくとなるとかなりの時間を取ってしまいます。 これらの作業を自動化することで、機能開発・研究開発と言うエンジニア来の業務が行える環境を整

    リリースフローを自動化して、本来の開発業務に専念できる環境を整備しよう
  • Visual Studioのコード分析機能を利用してコードの品質を上げよう

    コード分析とは 継続してアプリケーションを開発していく中では、コードの保守性も重要になってきます。特にチームの開発では、メンバーのスキルにバラつきがあるため、中にはあまり良いとは言えない品質のコードが書かれてしまうこともあります。 こういった問題に対処するための方法にはいくつかあります。有識者、他のメンバーによるレビューを通じて直していくという方法もその一つです。しかし、せっかくの貴重なレビューの場を、ある意味些末な「コーディングルール」というようなものの指摘に費やすのは、非常にもったいないことです。レビューでは機能要件に沿った内容やコードの設計、構造といった、「人でしかできない」ことに注力したいものです。 そこで、「コーディングルール」のような決まりきったものについては、ツールを使って検出し、直していきましょう。そのためのツールの一つが、今回紹介するVisual Studioに搭載された

    Visual Studioのコード分析機能を利用してコードの品質を上げよう
    JHashimoto
    JHashimoto 2015/02/05
    “どのようなチェックを行うかを指定する「ルール」を管理するものです。"Microsoft のすべての規則"は最も厳しいルールセットで、その名のとおりMicrosoftによって提供されるすべてのチェックが行われます。”
  • 状態遷移図/表、すなわち設計をコードでテストする

    状態遷移表からひな型コードを生成する この状態遷移表からコードを起こすわけですが、状態遷移の実装については『StateパターンでCSVを読む』を書きました。デザイン・パターンの一つ:Stateによる実装です。今回の実装はC、継承も仮想関数も使えないという利き腕を封じられた条件なので戦術を大きく変えにゃならんです。 状態遷移の実装は要するに「(1)現状態 と (2)受理したイベント の組」に対応する「(3)アクション と (4)遷移先(新たな状態)」を引き当てることに他なりません。ならば上記(1)~(4)の並びをレコードとし、そのレコード列(=状態遷移表)から「(1)現状態 と (2)受理したイベント の組」に一致するレコードを探し出して「(3)アクション を実行して (4)新たな状態 に遷移」すればいい。 状態遷移表からひな型コードの生成には使い慣れた「T4-template」を用います。

    状態遷移図/表、すなわち設計をコードでテストする
    JHashimoto
    JHashimoto 2015/01/31
    “生成されたひな型を使って状態遷移図/表すなわち"設計"をテストします。”
  • コードの健康状態を保て! Jenkinsとtestemを使って、JavaScriptで継続的インテグレーション(CI)を行う

    対象読者 JavaScriptの基をある程度理解している方 テストコードをこれから書こうと考えている方 継続的インテグレーションで「コードを健康的な状態に保つ」 皆さんはどのように開発したコードのテストとビルドを行っていますか? もう15年ほど前になりますが、筆者が行っていたJavaプロジェクトの方法を紹介しましょう。 テキストエディタでJavaのコードを修正 共有ディレクトリにコピー システムすべてのコードをコンパイル システムすべてのコードをjarファイル化 共有開発環境を手動シャットダウン 共有開発環境に手動ビルド 共有開発環境を手動起動 手動で画面から動作テスト エラーが起きた場合は1.に戻る 箇条書きにするとやることが多いですね。もしかすると古いシステムを開発されている方々は、これと近い方法でテストをしている場合もあるのではないでしょうか。何をやっているかはわかりやすいのですが

    コードの健康状態を保て! Jenkinsとtestemを使って、JavaScriptで継続的インテグレーション(CI)を行う
    JHashimoto
    JHashimoto 2015/01/31
    “testem実行サーバ(PC)がネットワーク上に公開されていれば、OSや端末を問わず、様々なブラウザでのテストを実行することができます。もちろん、node.jsでもテストを行うことができます。”
  • 拡張機能を利用してVisual Studioをより便利にしよう

    Visual Studioはインストール直後の状態でも数多くの機能が搭載されており、非常に便利に使えます。しかし、使っていると「あれができれば」「これがもっと簡単にできないのか」といった不満が段々と出てくるものです。あなたのそういった不満は、もしかしたら「拡張機能」を利用すれば解決できるかもしれません。記事では「Visual Studio Gallery」で公開されている拡張機能のいくつかについて、その機能、活用法を紹介します。 Visual Studioの拡張機能とは Visual Studioはバージョンが上がるごとに進化し、より便利になっています。特にVisual Studio 2012以降では四半期に一度「Update」という形でバージョンアップを繰り返すようになり、その傾向がより顕著になってきています。 しかし、実際にアプリケーションの開発を継続的に行っていると、「あれができた

    拡張機能を利用してVisual Studioをより便利にしよう
    JHashimoto
    JHashimoto 2014/12/27
    “「Form1.designer.csファイル」と分離コードの「Form1.csファイル」をグループ化するために使われている機能を簡単に使えるようにするための機能です。”
  • Azure:プレミアムストレージ、RemoteApp、SQLデータベース更新、ライブメディアストリーミング、検索など

    原典:Azure: Premium Storage, RemoteApp, SQL Database Update, Live Media Streaming, Search and More はじめに 今回、Microsoft Azureの数多くのすばらしい拡張機能をリリースしました。その中には以下のものがあります。 プレミアムストレージ:Azure仮想マシンのワークロードに対する新しいプレミアム高性能ストレージ RemoteApp:Azure RemoteAppサービスの一般公開 SQLデータベース:Azure SQLデータベースの機能強化 メディアサービス:メディアストリーミング用ライブチャンネルの一般公開 Azure検索:管理操作の強化、多言語サポートなど DocumentDB:ドキュメントのバルク追加およびクエリ構文ハイライトサポート サイト回復:ブランチオフィスおよびSMB顧客

    Azure:プレミアムストレージ、RemoteApp、SQLデータベース更新、ライブメディアストリーミング、検索など
  • Visual StudioとMicrosoft Azureで楽々クラウド開発

    Microsoftの統合開発環境「Visual Studio」には、Microsoft Azure拡張機能が提供されており、これらを利用するとVisual StudioからシームレスにMicrosoft Azureを利用したクラウドアプリケーションを開発できます。稿では、このVisual StudioとMicrosoft Azureとの連携について解説していきます。 対象読者 今回の対象読者は下記のとおりです。 Visual Studioを使う開発に興味のある方、開発を行っている方 Microsoft Azure上で提供するサービス開発に興味のある方 必要な環境 Visual Studio Community 2013、または他エディション Microsoft Azureサブスクリプション Microsoft AzureとVisual Studio Microsoft Azure(当時は

    Visual StudioとMicrosoft Azureで楽々クラウド開発
  • ASP.NET MVCの開発応用編1 ~リポジトリパターンをマスターする~

    はじめに 前回は、ASP.NET MVCアプリケーションによる実用的なアプリケーションの便利な機能を紹介しました。今回はメジャーな開発パターンであるリポジトリパターンについて概要とメリットを紹介し、実際にリポジトリパターンを利用したサンプルアプリケーションの開発を行います。現在Web上で公開されているASP.NET MVCのサンプルアプリケーションのほとんどはリポジトリパターンを利用して作られているので、稿を読んでリポジトリパターンをマスターしてください。 必要な環境 次の環境が必要です。 Visual Studio 2008 Visual Studio 2008 SP1 ASP.NET MVC RTW版 Visual Studio 2008(以下、VS2008)のインストールは、『Visual Studio 2008入門 第1回』を参考に行ってください。 VS2008 SP1のインスト

    ASP.NET MVCの開発応用編1 ~リポジトリパターンをマスターする~
  • プロトタイプ(prototype)によるJavaScriptのオブジェクト指向

    はじめに JavaScriptはオブジェクト指向言語です。しかし、そのオブジェクトの性質は、他に良く知られているオブジェクト指向言語のJavaC++と大きく異なっています。 そこでこの記事では、なぜそのような違いがあるのか、JavaScriptにおけるオブジェクト指向の言語思想を見ていくと共に、その違いの根幹であるプロトタイプについて解説していきたいと思います。 なお、この記事はJavaScriptの解説ですが、その内容は、標準仕様のECMAScriptで扱われる範囲に基づいています。従って、同じくECMAScriptを元にしている言語(JScript、ActionScript)でも通じる内容になっています。 対象読者 プログラミングの基的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて理解をして

    プロトタイプ(prototype)によるJavaScriptのオブジェクト指向
  • Bootstrapでカッコいいナビゲーションバーを表示しよう

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

    Bootstrapでカッコいいナビゲーションバーを表示しよう
  • 業務Webアプリケーションエンジニアのための「Bootstrap」入門一覧

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

    業務Webアプリケーションエンジニアのための「Bootstrap」入門一覧