タグ

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

  • UMLを使った既存システムの分析

    UMLで表現する 分析のためのモデリング 今回紹介する表現方法は、分析の手法として活用するものです。つまり「調べる⇒分析する⇒結果を記述する」という流れではなく、「調べる⇒記述する⇒分析する」というサイクルを前提にしています。限られたアイコンを使い、パターンに従って記述することが分析につながります。個々の要素をつなげる、分類するという行為を繰り返すことが、対象を深く知ることになるのです。ポイントは、間違っていてもいいので、とにかく記述することです。間違いは気づいたときに直せばいいのです。 以下に表現方法を紹介しますが、結果を整理するのではなく「書きながら考える」ということを意識しながら使ってください。そうすると、少数の記号と決まったパターンで表現することの価値を実感できると思います。 表現方法 システムの地図は6種類のデータと2つのモデルで表現します。 誰に:  「アクター」、「外部システ

    UMLを使った既存システムの分析
    yojik
    yojik 2012/07/05
  • 「Usermodel API」を利用したExcelファイルの基本操作

    import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFFont; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class XSSFSample {

    「Usermodel API」を利用したExcelファイルの基本操作
    yojik
    yojik 2012/04/11
  • [PHPプロ!] IEでAjaxリクエストをキャッシュさせない方法

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

    [PHPプロ!] IEでAjaxリクエストをキャッシュさせない方法
    yojik
    yojik 2011/11/16
  • Fessで作るApache Solrベースの検索サーバー ~ REST API編

    はじめに 前回のロールベース検索編では、ユーザーに閲覧権限が必要な環境においてどのようにFessを利用できるかをご紹介しました。今回はFessが提供するREST APIを利用して、クライアントサイド(ブラウザ側)で検索とその結果の表示を行う方法をご紹介します。REST APIを利用することで、既存のウェブシステムにもFessを検索サーバーとして利用して、HTMLだけの変更で組み込むことも可能になります。 記事ではFess 4.0.0を利用して説明します。Fessの構築方法については導入編を参照してください。 対象読者 既存のウェブシステムに検索機能を加えたい方 Ajaxを利用した検索システムを構築したい方 必要な環境 この記事の内容に関しては次の環境で、動作確認を行っています。 IE 6/7/8 Firefox 3.6 Fessは通常のHTMLによる検索表現以外に、REST APIとして

    yojik
    yojik 2011/01/12
  • 「Web AI」ライブラリの使い方と内部仕様 - Web上のデータからJavaScriptだけで人工無脳を作成

    はじめに いつもは「創活ノート」でマンガを描いている柳井です。その裏ではゴリゴリとコードを書いています。そんな私のマイブームはJavaScript。今年は「マンガで分かるJavaScript プログラミング講座」を描いてネット上で公開したこともあり、JavaScriptづいています。 こういったマイブームの流れに乗り、少し前にJavaScriptの新しいライブラリ「Web AI」を開発してリリースしました。Web上の情報を利用して、JavaScriptで人工無脳的なプログラムを書くためのライブラリです。データベースを持つことなく、ユーザーの入力に対してネット上の情報を収集して、インテリジェンスな振る舞いをするための各種命令が収録されています。 以下のサイトで、「Web AI」ライブラリのダウンロードや、サンプルの確認、リファレンスや全ソースコードの閲覧が行えます。 「Web AI」ダウンロ

    yojik
    yojik 2010/11/18
  • Javaで軽快に使える「軽量フレームワーク」特集 低い学習コストを重視した「Apache Click」 (1)

    はじめに 「軽量フレームワーク」と呼ばれるソフトウェアは、その「軽量」という言葉から、つい動作速度やプログラムサイズなどに目が向いてしまいがちです。しかし、「軽い」は物理的なことだけを示すわけではありません。 「手軽に使えるフレームワーク」を考えるとき、その最大の魅力はファイルサイズや動作速度よりも学習にかかるコストではないでしょうか。とにかく短期間で習得し使えるようになる、それこそが、今のフレームワークに何よりも求められるものかもしれません。 今回取り上げる「Apache Click」は、何より「低い学習コスト」を重視して開発されているフレームワークなのです。 対象読者 Javaで手ごろなフレームワークを探している技術者 最近のフレームワークをごくざっと理解しておきたい方 Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ Apache Clickとは? 「Apac

    Javaで軽快に使える「軽量フレームワーク」特集 低い学習コストを重視した「Apache Click」 (1)
    yojik
    yojik 2009/11/26
  • ベストスピーカー賞 | Developers Summit 2009

    各セッション会場にて実施いたしました、アンケート(セッションの満足度・セッションの内容・講師の講義)の結果をもとに、ベストスピーカー賞を決定いたしました。ご協力いただきました皆様、ありがとうございました。 ベストスピーカー賞、当にありがとうございます。 デブサミ新参者の私たちがこんなすばらしい賞を頂くのは大変恐縮です。でもとても嬉しいです。 今回のセッションの元になったThoughtWorksアンソロジーの翻訳チームの人たち、オライリー編集の宮川さん、アンソロジーの原著者のみなさん、このセッションを聞いてくださったみなさん、デブサミ関係者のみなさんに感謝します。 私たちのセッションは「オブジェクト指向プログラミングの演習」というもので、これは今の流行から考えると明らかに古い内容です。 しかし私たちが目指したのは、すぐ流行に流されるこの業界の中にあって変わらない価値を再発見し、そしてそれを

    yojik
    yojik 2009/06/24
    ベストスピーカー賞ありがとうございます。写真の俺、なぜか完全に緊張してる。。。
  • WiXではじめるWindows Installer作成入門 第1回

    はじめに 連載は、MS初のオープンソースとしても知られる、Windows Install XML(WiX) toolsetを利用してインストーラを作成する方法を、チュートリアル形式で解説します。WiXの説明を交え、実践でも役立つ内容を数回に分けてお送りいたします。 対象読者 インストーラを必要とするすべての開発者。 必要な環境 WiXの動作には.NET Framework 1.1または2.0のランタイムが必要となります。連載ではUnmanaged C++のDLL(通常のWin32形式のDLL)の作成も行ないますので、Visual C++ 2005 Express EditionまたはVisual Studio 2005 Standard Edition以上がインストールされている環境を想定しています。もちろん、Visual Studio .NET 2003でも利用できます。なお、すべて

    WiXではじめるWindows Installer作成入門 第1回
    yojik
    yojik 2009/06/23
  • パテントビューロ、特許情報を気軽に閲覧できるサイト 「astamuse」を試験公開、Scalaで実装

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

    パテントビューロ、特許情報を気軽に閲覧できるサイト 「astamuse」を試験公開、Scalaで実装
    yojik
    yojik 2009/06/14
    liftでつくられてるっぽい
  • NetKernelでJavaの並行性を越える

    Javaはマルチスレッドと並行性の構造をサポートしていますが、最新のマルチCPUハードウェアに適合するアプリケーションの開発はそう簡単にはいきません。そのような場合、NetKernelなどの代替環境を用いると、ハードウェアの処理能力を余すことなく利用する道が開けます。 Javaでの並行性プログラミング マルチコアおよびマルチCPUのシステムが普通に使われるようになった現在では、複数のタスクを同時に実行することが現実的な課題となっています。しかし、大抵のシステムでは、別のスレッドにタスクを実行させるというような簡単なやり方でこれに対応することはできません。使用するプログラミング言語から実行環境に問い合わせて、システムリソースの使用スケジュールを決定する必要があります。ハイレベルの並行性にかかわる関数を簡単に活用できるかどうかは、言語の構造に左右されます。 従来は、「ヘルパー」を利用して複数の

    NetKernelでJavaの並行性を越える
    yojik
    yojik 2009/04/17
  • Developers Summit 2009:セミナーレポート

    毎回テクノロジーの紹介と共に、多様なデベロッパー像を提案しているDevelopers Summit(通称:デブサミ)。 7周年となる「Developers Summit 2009」は盛況のうちに終了いたしました。 多くの方のご来場、誠にありがとうございました。

    yojik
    yojik 2009/03/26
    セッションレポート
  • バリデーション機能の実装で学ぶ、Flexでの共通フレームワークの作り方

    1. はじめに Flexで業務アプリケーションを開発する際には、他の技術と同様に開発者の間でさまざまな取り決めを行うことと思います。サーバ通信とその戻りの受け取り方や、画面とロジックの分離や連携の仕方、エラー処理の集約化などいろいろあります。こういった定型的な処理は、共通部品やフレームワーク機能を用意して、コーディング量を減らしたり、処理の組み立て方を統一したりすることで、大きく生産性とメンテナンス性を向上させることができます。 稿では、業務画面で必須となる「入力データのチェック機能」について、RIAならではの操作感・ユーザービリティを実現しつつ、直感的で学習コストの低い、共通機能・フレームワーク機能の作り方について説明します。 まずは完成後の状態を確認して、最初に右下の[次へ]ボタンをクリックしてみてください。 完成版のサンプルプログラム(別ウィンドウで開きます) 上図を見ると分かるよ

    バリデーション機能の実装で学ぶ、Flexでの共通フレームワークの作り方
  • 技術のジェンガ現象の恐さを本気で考えてみよう

    皆さん、ジェンガというゲームをやったことありますか? 積み木の1つを引っこ抜いて一番上に乗せていく。順番にこれを繰り返し、崩れたら負け。技術におけるジェンガ現象とは……。 相対常識 今回から相対常識について触れていきたいと思います。相対常識。ある限られた条件下で通用している、質から離れたものと以前説明しました。では、相対常識はどのようにして生まれるのでしょう? 相対常識の要因1:閉鎖 1つが「閉鎖」です。ある組織や仲間、個人の場合もあります。そこだけで信じられているしきたりのようなものです。そこのリーダー的立場の人が言ったことがルールになります。メンバーはそれがさも世の中の常識であると信じてしまっている状態です。 相対常識の要因2:模倣 もう1つが「模倣」です。あるトレンドを模して「じゃあこれにも採用してみようよ」と似せた設計をしたりします。例えばコピー機。紙サイズや倍率、濃さの切り替え

    技術のジェンガ現象の恐さを本気で考えてみよう
    yojik
    yojik 2009/01/29
  • Google、JavaScript APIを手軽に試せる「AJAX API Playground」を公開

    Googleがオープンソース開発者向けにAPI情報の公開やさまざまなサポートを行っている「Google Code」で、Google AJAX APIのサンプルコードをウェブ上で手軽に試すことができる「AJAX API Playground」が公開されて話題を呼んでいる。 Googleがオープンソース開発者向けにAPI情報の公開やさまざまなサポートを行っている「Google Code」で、Google AJAX APIのサンプルコードをウェブ上で手軽に試すことができる「AJAX API Playground」が公開されて話題を呼んでいる。GoogleエンジニアであるBen Lisbakken氏が20%タイム(*1)で開発し、1月21日に「Google Code Blog」の「Playing around with Google's AJAX APIs」というエントリで発表した。 AJAX

    Google、JavaScript APIを手軽に試せる「AJAX API Playground」を公開
    yojik
    yojik 2009/01/26
  • 「ブラック企業は淘汰されるべき」エンジニアの未来サミット開催

    9月13日、都内で「エンジニアの未来サミット」(主催:技術評論社)が開催された。「泥のように働く」必要があると言われたIT業界のネガティブなイメージに対して、IT業界で働くエンジニアやアルファギークと呼ばれる人達が業界の魅力を語ると同時に、今後エンジニアはどうしていくべきか意見を交わした。 「アルファギーク vs. 学生-エンジニア業界の過去・現在・未来,そして期待と現実」と題されたパネルディスカッションでは、小飼弾氏、ひがやすを氏、よしおかひろたか氏、谷口公一氏、伊藤直也氏らエンジニアと、田村健太郎氏、源馬照明氏、益子謙介氏、新井貴晴氏ら学生による討論が行われた。 泥のように働くことについて まず、このイベントの発端となった「10年間、泥のように働く」ことについて意見が交わされた。 学生からは「エンジニアに限らず、他の業種でも一生懸命努力する必要はあると思う」「IT業界で働く際も、他業界

    「ブラック企業は淘汰されるべき」エンジニアの未来サミット開催
    yojik
    yojik 2008/09/17
  • Excelマクロによる、seleniumテストケースの自動生成(1):CodeZine

    はじめに seleniumについての基的な内容は、以下を参照してください。 Selenium 0.7利用手順書(前編) Selenium 0.7利用手順書(後編) seleniumを利用するメリットとデメリット メリット seleniumを利用する最大のメリットは、「再テスト」が容易になることです。 不具合発生時 テスト担当者と修正担当者の伝達が容易 再テストが容易 仕様変更後 リグレッション(デグレード確認)テストが容易 筆者が特にメリットを感じるのは、テスト担当者と修正担当者の伝達が容易になる点です。テスト期間中は、テスト担当者も修正担当者も作業に追われています。通常、不具合発生時は、テスト実施担当者から修正担当者へ不具合内容を伝達するために、不具合管理ツールなどに、ケース番号や再現手順の詳細を記述、デバッグログの添付などを行い、修正担当者はそれを読み解く必要

    yojik
    yojik 2008/04/15
  • JEEアプリケーションでのファイルのウイルススキャンの実装:CodeZine

    はじめに この記事では、Java(JEEアプリケーション)でファイルのアンチウイルススキャンを実装する方法の一例を紹介します。現在のコンピュータ環境、特にWindowsオペレーティングシステムでは、ウイルスやトロイの木馬をはじめとするさまざまなマルウェアやスパイウェアが大きな問題となっています。 Javaで開発するアプリケーションに、外部からファイルをアップロードできるようにするという要件がある場合、セキュリティリスクが生じる可能性があります。ここで言うアップロードとは、HTTPプロトコルなり他の方法なりを使って、何らかの形で企業のファイアウォール内に外部のファイルを送れるようにすることを指します。こうした要件はエンタープライズアプリケーションでは非常によくあるもので、しかもJavaは最も広く使われているWeb開発プラットフォームの1つです。にもかかわらず、このように大きく口を開けたセキュ

  • エンタープライズソフトウェア構成をもっとシンプルに:CodeZine

    はじめに 構成情報の維持および配布を目的とする構成システムは、あらゆるエンタープライズソフトウェアシステムの基幹的コンポーネントです。サーバーが数台しかない小規模の企業では、レジストリ項目と個々の構成ファイルから成る非常に単純な構成管理ソリューションで済みます。しかし、組織の規模が拡大して複雑さが増し、物理的に複数の場所で多くのコンピュータを稼動させるようになると、関連するソフトウェアコンポーネントを正しく構成することは重大な課題になります。稿では、構成情報の保管に利用できるさまざまなストレージ戦略を説明し、簡単に実装できる構成システムを提案します。 まず、大企業のサーバーとソフトウェアコンポーネントの構成プロパティを管理する便利なシステムに必要な属性を考えてみましょう。このようなシステムの主な特性を優先順位の高い順に示すと、次のようになります。ストレージおよび管理の中央集中化 実際に設

    yojik
    yojik 2007/11/05
  • Oracle with FileMaker:必要なデータは現場で管理させるというアプローチ:CodeZine

    Oracle使いが語る、FileMakerを利用した新たなソリューションの可能性 (1) OracleとFileMakerの出会い 私はOracleの認定インストラクターという経歴が功を奏して、最近は、Oracle以外のデータベース(以下、DB)を勉強させていただく機会に恵まれています。Oracle使いである私にとっては、DBはエンタープライズであろうがミドルレンジであろうがOracleがあれば十分と思っています。そんな私がFileMakerとは、どういう風の吹き回しかと思われることでしょう。 DBはいろいろな層の人たちが使用しています。経営判断にデータを使用している人もいれば、そこに至るまでのデータを日々蓄積している人もいます。 数年前、ある会議に参加してドキッとしたことがありました。「社内システムのデータは信用できないんです」 財務部長とその配下の業務担当者の報告数に違いがあったのです

  • CodeZine:テンプレートによるメタプログラミングと数論(MPL, メタプログラミング, テンプレート)

    1. はじめに メタプログラミングとは、別のプログラムを生成できるプログラムを書くことです。この技法はさまざまな言語においてさまざまな目的で使用されています。メタプログラミングは、部分的な評価を行うことによって1つのプログラムを別のプログラムに変換する方法、言い換えれば、プログラミングを自動化する手段であるとも言えます[11]。メタプログラミングの典型例の1つは、出力としてプログラムを生成するLexやYACCなどのコンパイラ構築ツールです。コンパイラ自体もこのカテゴリに含めることができますが、コンパイラの場合は一般にホスト言語とドメイン言語が異なります[3]。通常、コンパイラは特定の文法に従って書かれたソースを入力として受け取り、CやC++Javaなどのプログラムを出力します。 C++ではテンプレートとマクロを使用してコードを作成することができます。ただし、この方法は綿密に設計された機能

    yojik
    yojik 2007/10/02
    あとで