タグ

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

  • TDDでデータベースと付き合う方法

    はじめに データベースを読み書きする部分のユニットテストがやりにくいのには、いくつか理由があります。 複数人でテストを同時に実行すると、競合する データベースを使ったテストは、時間が掛かる データベース内のデータが変わると、テストが失敗する 1番目は、各自の開発環境にテスト用のデータベースを用意することで、解決できます。2番目の問題は、データベースにアクセスするコードをロジックから分離して、データベースに実際にアクセスするテストケースを減らすことで、改善できます(ロジックのテストにはモックやダミーを使います)。3番目は、テストのたびにデータベースの内容を初期化することが基になりますが、そうするとテストに長い時間が掛かるようになってしまいます。 今回は、ビジネスロジックの開発時にモックやダミーを使いやすくするにはどうするか、また、テスト時にデータベースの内容を安定させるにはどうしたらよいか

    TDDでデータベースと付き合う方法
  • TDDしにくいモノは切り離せ! ~ 現在日時の扱い方

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

    TDDしにくいモノは切り離せ! ~ 現在日時の扱い方
  • ASP.NETでWindowsサービスのような機能を実装する方法

    はじめに アプリケーションを作成していると、定期的に処理を実行したいということがよくあります。例えば、「毎日1回不要なデータを消す」「定期的にキャッシュしたデータが更新されていないかチェック」といった場合です。こういった場合にはWindowsサービスを利用するなどの方法が取られます。 しかしWebアプリケーションでWindowsサービスを利用する場合、Webサイトのセットアップとは別にサービスを設定する必要があり、メンテナンスの手間がかかります。Webサイト上のスレッドで実行できれば、サービス起動などの手間を減らすことができます。 稿では、Windowsサービスのような定期的な処理を実行するための機能をASP.NETに組み込む方法を解説します。この機能はWebサイト1つにDBサーバ1台という形での利用を想定しています。大規模Webサイトで複数のWebアプリケーションを同時にホストするよう

    ASP.NETでWindowsサービスのような機能を実装する方法
  • スマートフォンアプリへのブラウザ機能の実装に潜む危険 ――WebViewクラスの問題について

    はじめに AndroidにはWebViewと呼ばれるクラスが用意されています。簡易的なブラウザの機能を提供しているクラスで、URLを渡してHTMLをレンダリングさせたり、JavaScriptを実行させたりすることができます。内部ではWebKitを使用しておりAndroidの標準ブラウザと同じような出力結果を得ることができるため、このクラスを使用することで簡単にWebブラウザの機能を持ったアプリケーションを作成できます。 しかし、その簡単さ故、使い方を誤ったり仕様をよく把握していなかったりすると、脆弱性の元になります。今回はこのWebViewクラスの使い方に起因する脆弱性について見ていくことにしましょう。 WebViewクラスとJavaScript WebViewクラスを使用した場合、注意しなければならないのはJavaScriptを有効にした場合です。デフォルトではJavaScriptの機能

    スマートフォンアプリへのブラウザ機能の実装に潜む危険 ――WebViewクラスの問題について
  • AndroidアプリにおけるDBファイルの正しい使い方

    はじめに Androidアプリケーションを作成する上でSQLiteを使用してデータベースを扱うことは多々あります。データの永続化や検索といった処理を容易に実装することができるので、多くのアプリケーションで使用されています。しかし、AndroidにはSQLiteを使用するための方法が以下のようにいくつか用意され、それぞれファイル作成時のパーミッションの挙動が異なっています。 SQLiteDatabase#openOrCreateDatabaseを使用して作成する Context#openOrCreateDatabaseを使用して作成する SQLiteOpenHelperクラスを使用して作成する もし、開発者がこれら方法の挙動を十分に理解していない場合、知らずのうちに脆弱性を作り込んでしまいます。 実際に、いくつかのアプリケーションではSQLiteDatabase#openOrCreateDa

    AndroidアプリにおけるDBファイルの正しい使い方
  • SQL Server開発の利便性を向上させるFileTable/シーケンスオブジェクト/ページング機能

    はじめに SQL Server 2012には、開発効率を向上させるための機能が追加されています。例えば、バイナリファイルの管理・使用が容易になるFileTable機能です。以前のバージョンで提供されていたFileStreamをベースにしており、より使いやすくなっています。列の属性でしか提供されていなかった採番機能が、テーブルから独立したシーケンスオブジェクトが提供されることで、ストアドプロシージャからの利用できるようになり、自動採番機能の使用範囲が広がります。また、アプリケーション側で実装してきたページング機能が、データベース機能として提供されるようになりました。 今回はこれらの便利な新機能について、詳しく紹介していきます。 対象読者 SQL Serverを使用するアプリケーション設計、開発者 SQL Serverデータベース管理者 SQL Server 2012の新機能に興味のある方 バ

    SQL Server開発の利便性を向上させるFileTable/シーケンスオブジェクト/ページング機能
  • 使わなきゃ損! SQL Serverの新たな開発ツール「SQL Server Data Tools」

    新しい開発ツールの概要 SQL Serverを使用するシステムの開発者が、効率よく開発できるようにするために、新しいツールとプロジェクトがリリースされました。新たに提供されたツールは、SQL Server Data ToolsとSQL Server Express LocalDBです。SQL Server Data Toolsと合わせて、データベースプロジェクトが提供されています。 対象読者 SQL Serverを使用するアプリケーション設計、開発者 SQL Serverデータベース管理者 SQL Server 2012の新機能に興味のある方 必要な環境 Visual Studio 2010 SP1 SQL Server Data Toolsを単独で使用する場合は不要です。しかし、Visual Studio 2010がインストールされている環境では、単独使用はできず、Visual Stud

    使わなきゃ損! SQL Serverの新たな開発ツール「SQL Server Data Tools」
  • 数十倍の性能改善を実現させうる列ストアインデックス

    第四世代の次世代製品として、リリース前から注目を集めている「SQL Server 2012」。連載では、データベース管理者、データベースを使用する開発者にとってのSQL Server 2012のメリットを紹介します。第1回の今回は、SQL Server 2012の全体像と目玉機能の1つである列ストアインデックスについて解説していきます。 はじめに SQL Server 2012(製品名が発表されるまでは、SQL Server Denaliと呼ばれていました)は、さまざまな改善と機能追加、安定性が強化されたSQL Server 2008 R2の後継製品です。SQL Serverの製品担当者によると、SQL Server 2005からSQL Server 2008 R2までが第三世代に位置付けられ、SQL Server 2012は第四世代の次世代製品として、2012年の桜の花びらが散るころに

    数十倍の性能改善を実現させうる列ストアインデックス
  • 最新ブラウザ「Internet Explorer10」と「HTML5」のAPI紹介一覧

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

    最新ブラウザ「Internet Explorer10」と「HTML5」のAPI紹介一覧
  • Windows PowerShell 入門(5)-制御構文

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

    Windows PowerShell 入門(5)-制御構文
  • Windows PowerShell 入門(4)-変数と演算子

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

    Windows PowerShell 入門(4)-変数と演算子
    ichiroku11
    ichiroku11 2012/04/04
    演算子たくさんある
  • Windows PowerShell 入門(3)-スクリプト編

    はじめに これまでの記事 Windows PowerShell 入門(1)-基操作編 Windows PowerShell 入門(2)-基操作編 2 対象読者 Windows PowerShellでコマンドレット操作ができる方(基礎編に書いてある程度のことが理解できていること) 何らかのプログラミング経験があればなお良い 必要環境 Windows PowerShell スクリプトの直接入力 PowerShellにおけるスクリプトは、コマンドレット、変数、パイプ、ifやforといった制御構文を組み合わせて使用します。 では、まず簡単なスクリプトをコンソールウィンドウに直接書いてみましょう。 Windows PowerShellを起動し、下記コードを入力してください。下記コードの最後の}を入力したら[Enter]キーを2回押します。スクリプトの入力が完了し、結果が表示されます(コンソールウ

    Windows PowerShell 入門(3)-スクリプト編
  • Windows PowerShell 入門(2)-基本操作編 2

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

    Windows PowerShell 入門(2)-基本操作編 2
  • Windows PowerShell 入門(1)-基本操作編

    はじめに Windows PowerShell(以降、PowerShell)はシステム管理や自動化に役立つように設計された新しいコマンドラインシェルです。 しかし、ただのコマンドラインシェルではありません。 対話型シェルによるオペレーション シェルスクリプトの実行 を行うことができます。 PowerShellは.NET Frameworkを基に設計されており、コマンドの実行およびスクリプトにおいてその恩恵を十分に受けることができます。これにより、かつてない強力なシェル環境が登場したと言っても過言ではないでしょう。 PowerShellの操作を習得し、システム管理・運用を効率的に進められるようにしていきましょう。 対象読者 システム管理者 PowerShellに興味がある方 必要環境 .NET Framework 2.0以降 Windows PowerShell 対象OS Windows X

    Windows PowerShell 入門(1)-基本操作編
  • C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう

    はじめに 各地でTDD Boot Camp(TDDBC)が開催されるようになり、このところTDD(テスト駆動開発)が注目を浴びています。ただ、自分でも試してみようと思った時に目につく書籍や記事などは、JavaRubyPHPといった、いわゆるオープンソース系の言語ばかり。.NET Framework(Windows)で開発の仕事をしているとTDDは関係ないんだろうか、…とさえ思えてくるかもしれません。 しかし、そんなことはありません。.NET FrameworkでのTDDに必須のユニットテストフレームワークとして有名なNUnitの最初のバージョンは、Visual Studio .NET 2002がリリースされる以前の2001年に公開されています。.NET Frameworkは、生まれたときからTDDと共にあると言っても過言ではないでしょう。 この記事では、TDDとTDDBCについて簡単に

    C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう
  • java.langパッケージとグラフィックの基本処理

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

  • Androidアプリにおけるユーザインタフェースの基本処理

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

  • サンプルアプリでおぼえる実践的Android入門

    はじめに Androidをはじめとするスマートフォンが盛り上がりをみせています。2011年上半期の携帯電話販売ランキングの上位はスマートフォンがほぼ独占、爆発的な増加となっています。 スマートフォンのシェアが急激に拡大する中、開発の現場にも変化が起こっています。スマートフォン案件の増加です。iPhone用のアプリをAndroidに対応する案件や、業務端末としてAndroidiPadを使いたいといった案件が増えてきました。スマートフォンへの開発ニーズの高まりを感じます。 稿はサンプルアプリの作成を通じてAndroid開発について解説していきます。 電卓アプリをサンプルとして使用しますが、よくある機能が限定されたようなサンプルではありません。実用に耐えうる電卓アプリの基盤を作成していきます。 稿を読み終えた後は、電卓アプリにさらに機能追加が可能となりあなただけのカスタマイズ電卓が作成でき

  • Android開発におけるクラスのおさらいと主なメソッド

    はじめに 第2回目の稿は、前回のサンプルコードをもとに、Javaの文法、特にクラスに関連する基的な構文などを解説していきます。 対象読者 Androidアプリケーションの開発を始めたい方で、JavaとEclipseのごく基的な知識がある方を対象とします。 HelloWorldアプリケーションのファイル構造 前回は、いわゆるHelloWorldアプリケーションを作成しました。作成といっても、ほぼソースは自動生成されたものです。Eclipseのパッケージ・エクスプローラーには、このプロジェクトで生成されたファイルが表示されています。最小のアプリケーションとはいえ、さまざなファイルが作成されています。主なフォルダ、ファイルは、以下のようになっています。 <HelloWorld> ├ \src ソースフォルダ │ └ \codezine.androidjava.chap1 │ └ Hello

    ichiroku11
    ichiroku11 2011/06/29
    Android開発のためのJava SE再入門
  • Android開発のための環境準備

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

    Android開発のための環境準備
    ichiroku11
    ichiroku11 2011/06/29
    Android開発のためのJava SE再入門