タグ

ブックマーク / thinkit.co.jp (42)

  • [ThinkIT] 第4回:コスト管理の構造と見積手法 (3/4)

    図2は、PYRAMIDで用意している「ファンクションポイント法」をベースにした見積テンプレートです。ファンクション法の特徴は、ファンクションポイントという共通の指標で開発規模を表すことです。アプリケーションを「データファンクション」と「トランザクションファンクション」に分類して、ファンクション数をカウントし機能ごとのファンクションポイントをかけて、総ファンクションポイントを求めています。 簡単に言えば、データファンクションはファイル数、トランザクションファンクションは画面や帳票・バッチなどの処理プロセス数を表します。 図2:「ファンクションポイント法」の見積テンプレート(Excelシート参照) (画像をクリックするとEXCELファイルをダウンロードできます。/30KB) データファンクションは、内部論理ファイル(ILF:自アプリケーションで持ち、保守するファイルの数)と、外部インターフェー

    CAMUS
    CAMUS 2014/08/06
    ファンクションポイント法:Excelファイルあり
  • Pythonで作られた便利なコマンドラインツール MySQL Utilities

    MySQL Utilitiesならではの注意点 MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。 これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。 [MySQL Utilitiesの記法] --server=ユーザ名:パスワード@ホスト名:ポート番号 [MySQL コマンドラインツール群の記法] --user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号 なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対

    Pythonで作られた便利なコマンドラインツール MySQL Utilities
  • プラグインは要らない!音声/動画対応したHTML5 - /要素

    HTML5では、新たに あとから述べるように、ブラウザによって対応する音声/ビデオ形式にバラツキがあるなどの問題もありますが、メディア要素を利用することでメディアファイルの扱いがぐんとカンタンになるでしょう。 TIPS 041:音声ファイルを再生する TIPS 042:動画ファイルを再生する TIPS 043:音声/動画ファイルの再生を複数ブラウザ対応する TIPS 044:音声ファイルをスクリプトから再生する TIPS 045:動画ファイルをスクリプトから再生する TIPS 046:ボリュームや再生速度を変更する TIPS 047:動画を全画面表示する TIPS 048:音声/動画ファイルの情報/状態を取得する TIPS 049:音声/動画ファイルの取得状況に応じて処理を実行する TIPS 050:音声/動画ファイルの状態に応じて処理を実行する TIPS 051:音声/動画ファイル再生時

  • JavaScriptでローカルファイルを自在に操る - File API

    ※ただし、SafariではFileReaderオブジェクトを、Internet Explorer 10ではreadAsBinaryStringメソッドをサポートしていません。 TIPS 053:ファイルの名前/種類/サイズを取得する Fileオブジェクトを利用することで、ローカルファイルの情報にアクセスできます。 例えば以下は、<input type="file">要素で指定されたファイルの名前やサイズなどを表示するサンプルです。 [リスト01]ファイルの情報を取得するコード(fileinfo.html) <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>HTML5 TIPS</title> <script> <!DOCTYPE html> <html> <head> <meta charset="UTF-8" />

    CAMUS
    CAMUS 2013/02/07
    これでファイルを操作するときの権限ってどないなってるんやろ?(要調査やね…)
  • 大量データのバッチ処理を高速化するHadoop

    Hadoopというソフトウエアが、いま注目を集めています。米Googleが発表した論文のアイディアをオープンソース・モデルで実装したソフトウエアです。膨大な量のデータを処理する必要に迫られた企業や研究組織が、続々とHadoopを実際に活用しはじめています。 私たちの研究グループでは、Wikipediaなどの巨大なテキスト・データを解析するために、2007年頃からHadoopを利用しはじめましたが、日国内でも2009年あたりからHadoopを使った事例を多く見聞きするようになりました。国内で初めてのHadoop関連イベントが2009年11月に東京で開催され、オライリー・ジャパンから2010年1月にHadoopの邦訳が出版されるなど、Hadoopが多くの開発者の注目を浴びています。 しかしながら、「Hadoopは何となくすごそうなんだけど、複雑だし、どんなソフトなのかいまいち分からないんだ

  • [Think IT] 第1回:エンジニアだって色にこだわりたい (1/3)

    Webデザイナは知っていた 第1回:エンジニアだって色にこだわりたい 著者:シンクイット制作部 公開日:2008/02/14(木) 2008年3月の連載ランキング4位(一覧を見る) Webデザイナがよくやる色の決め方 ある日、社内のプログラマの1人から突然こんな質問をされました。 「社内用のWebアプリケーションツールのフォーマットの色を見栄えよく変更したいんだけど、何色がよいか教えてくれない?16進数で」 16進数で!? 色名ではなく具体的な数値で聞いてくるところはさすがエンジニア気質。色という同じ話題なのに職種の違いだけで面白い要求が来るものだと関心してしまいました。 今まで筆者がいた会社にはWebデザイナと営業、プログラムが少し分かる人がいるという程度でした。しかし弊社インプレスITには編集者・ライター・Webデザイナ・エンジニアが社内に揃っていて、それぞれ自分の業務に関してプロなわ

  • もう悩まない!ブラウザ互換

    幅広いスキルが必要とされるWebデザイン制作 Webサイトの日々の技術進歩とともに、Webデザイン制作では幅広いスキルが必要とされるようになってきました。Webデザインという広い役割の中でも特に重要視されるのは次の3つのスキルになるでしょう。 1番目は、いわゆる絵を作るデザインのスキルです。この中にはもちろん見た目の美しさもありますし、Webサイトとしての使いやすさのユーザビリティ、情報へのアクセスしやすさのアクセシビリティ、またFlashコンテンツであれば軽快な動作やインタラクションなどといったものもあります。 2番目は、HTMLCSSのコーディング技術が挙げられます。以前であれば、見た目のデザインを忠実に再現するコーディングが重視されていましたが、最近ではSEOの観点からも、Web標準に基づいたHTMLの文書構造化ができるマークアップ技術が不可欠になっています。 3番目は、プログラミ

    CAMUS
    CAMUS 2008/07/30
    BiND for WebLiFE* っちゅうそふと
  • [Think IT] 第4回:Javaのシステム更改を考慮していますか? (1/3)

    これまで3回にわたり、Javaの運用・保守を考慮したシステム開発について説明してきましたが、今回が最終回です。最終回はJavaのシステム更改についてありがちな事例と対処法を説明します。 システムの運用・保守の段階では、システム更改は必ず発生するものです。お客様の要望による更改、不具合の解消による更改と理由はさまざまですが、読者の皆さんも表1のようなシステム更改に関する経験はないでしょうか。 ケース1 Javaで作成したWebアプリケーションのシステムで、「ブランドロゴの画像ファイルを変えたい」というお客様の要望。お客様はサーバ上の画像ファイルを置き換えるだけだから、作業工数はそれほどかからないと予想。 しかし画像ファイルをWebモジュール(.warファイル)の中に格納しているため、アプリケーションのビルドとアプリケーションサーバへのデプロイが必要となり、作業工数が予想以上にかかってしまった

    CAMUS
    CAMUS 2007/09/28
    こういうことが記事になること自体が驚き。要件定義時に運用・更改についての取り決めをしてないのはなぜ?
  • [ThinkIT] 第3回:eXistでXQueryを実行しよう! (1/3)

    「第2回:eXistをインストールしよう!」ではeXistを実行する前段階として、ダウンロードからインストールまでの流れを紹介しました。今回は、インストールを終えたeXistを使って、簡単なXQueryを実行する方法を解説します。 まず最初にeXist上にコレクションを作成します。コレクションとは、複数のXMLドキュメントを格納することができるフォルダのようなものだと考えてください。 「File」メニューの「Create collection」コマンドを使い、「inventory」という名前のコレクションを作成してみることにしましょう。作成すると「/db/inventory」というパスで該当のコレクションにアクセスできるようになります。

  • [ThinkIT] XMLデータベースの本当のライバルとは? (1/3)

    テラバイト級のXMLデータでも高速に検索できることを特徴とするXMLデータベース「TX1」のバージョン2がリリースされました。東芝ソリューションでTX1の商品企画を担当する望月進一郎氏、開発を担当する松井浩二氏へのインタビューを基に、適用分野の急速な広がりが感じられるXMLデータベースの可能性をレポートしていきます。 企業には様々なデータが存在しています。それらのデータは、企業活動を行う中で生まれてくるものです。それらは大きく、構造が決まっている発注書や申請書などのような「定型文書」、構造はある程度決まっているがその時々で内容が変化する営業の提案書などの「半定型文書」、そしてその時々で変化する企画書などの「非定型文書」に分けられます。これらの文書は、日々の業務で目にし、利用しているでしょう。 これらのデータが格納されているのがデータベースです。データベースというとOracle Databa

  • [ThinkIT] 第1回:データベース・セキュリティは本当に必要なのか (1/3)

    近年、個人情報をはじめとする機密情報が外部に漏洩する事件が多発しています。各種メディアで報道されるだけでもかなりの件数がありますが、外部に公表せずに処理してしまったものや、そもそも情報漏洩の事実に企業側が気付いていないものを含めると、実際には相当な件数の情報漏洩事件が起こっていると考えられます。 情報漏洩の経路は様々です。Winnyを通じて感染を拡げるウィルスにより、PC上の個人情報や機密情報が漏洩する事件が後を絶ちません。またノートPCの盗難・紛失によって、機密情報が漏洩したおそれがあるという趣旨の報道発表も少なくありません。このような「過失」による情報漏洩だけでなく、外部からの不正アクセスや内部者による情報の持ち出しなど、「故意」による情報漏洩も少なくありません。 こうした「故意」による情報漏洩事件の相次ぐ発生を受け、データベースのセキュリティ対策「データベース・セキュリティ」が近年急

  • [ThinkIT] 第2回:各データベースのインストール手順の比較 (1/4)

  • [ThinkIT] オープンなAPIをさわってみる (1/3)

    最近話題になっているWeb 2.0の定義の1つに、外部APIを使ったWebアプリケーションがあります。 これは、GoogleYahoo!などの大手Webサービスプロバイダが広く公開している開発者向けのWebサービスAPIで、例えばGoogle MapsやGoogle Calendar、Yahoo!フォトなどの皆さんがご存知のサービスがあります。 なお、APIとはApplication Programming Interfaceの略で、ソフトウェアの開発を行う際に使用される機能を集めた命令や関数の集合体のことです。Windowsプログラミングを経験されている方ならご存じでしょうが、DLLファイルやMFCなどがこれにあたります。利用方法はそれぞれで異なりますが、WebサービスAPIの場合でも既存のプログラム部品を利用するといった考え方は同様です。 このように一般向けに公開されているAPIは、

  • [ThinkIT] 第4回:各データベースの運用機能の比較 (1/4)

    これまでの連載でGUIツールを使用したデータベース構築を比較してきました。今回は、運用まわりに主眼をおきそれぞれの機能比較を紹介していく。 まずロックとトランザクションの分離についてだが、これはアプリケーションから見たデータの整合性を維持する機能であり、データベースにとって重要な機能である。なぜならば、複数のユーザが同時にデータを参照・更新を行った時に、変更中のデータ参照や同じデータへの同時更新を防止するからだ。 トランザクションの分離に関してはANSI/ISO SQL規格(SQL92)で規定されており、4つの分離レベルが定義されている。トランザクションは「開始宣言→データの操作→コミット命令」の流れで行うことが基であり、コミットを行うまでデータ操作が確定しない仕組みである。トランザクションの分離レベルは、あるユーザがトランザクションを行っている途中で同じデータを別のユーザが読み出す時に

  • [ThinkIT] 第3回:トランザクションの比較 (1/4)

    トランザクション機能をサポートしているのは、PostgreSQLMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。ここでのトランザクション機能とは、複数のテーブルやレコードに影響をおよぼす処理を1つの単位とみなし、この単位での処理結果を保証する機能を指します。 具体的には、BEGIN文にてトランザクションを開始していくつかの処理を行った後、処理を確定する場合はCOMMIT文、処理を取り消す場合はROLLBACK文を使用し、トランザクションを終了させるまでの処理です。 トランザクション分離レベルとは、複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい分離するかのレベルを意味します。 ANSI/ISO SQL規格(SQL92)では4つの分離レベル(下記コラム参照)が定義されています。P

  • [ThinkIT] 第5回:Metrics plugin for Eclipse - メトリクス計測ツール (1/2)

    メトリクス計測ツールとは、名前のとおり、ソフトウェアのメトリクスを計測するツールです。ソフトウェアのメトリクスとは、ソフトウェアの品質を評価することを目的として取得される情報であり、ソフトウェアの開発プロセスや成果物に関する何らかの尺度を表します。 たとえば、ソフトウェアの規模を評価するために取得されるソースコードの総行数や、ソフトウェアのテスト容易性を評価するために取得されるマッケーブのサイクロマチック数などが相当します。 メトリクスの計測は、開発中のソフトウェアの品質が標準的な品質を満たしているか、開発したソフトウェアの保守の容易性の判断、またソフトウェアの効率や品質の将来的な改善の目的で行われます。 広義のメトリクスでは、UMLなどで記述された設計書や開発プロセスそのものを計測対象とする場合もありますが、メトリクス計測ツールと呼ばれるものはソースコードを対象にするのが一般的です。なぜ

  • [ThinkIT] 第1回:要求開発とは何か? (1/3)

    はじめまして、ウルシステムズの河野です。連載では、システム開発の世界で注目されている「要求開発」という考え方について、そのコンセプトと取り組み方について解説します。 第1回目となる今回は、まず要求開発とはどのようなものか理解していただくために、そのコンセプトについて詳しくご説明します。 要求開発とはその名の通り、クライアントの「要求」を「開発」することを意味します。 基的にシステム開発というのは、お客様の要求があって、インプットして加工して情報システムやソフトウェアをアウトプットするというプロセスで成り立っています。ところが最初のインプットが間違っていると、いくら加工の段階で頑張ってもお客様には満足してもらえません。 これは筆者自身が20年間近くシステム開発にたずさわってきた中で、現場で実感してきたことです。筆者がこの業界に入った頃と比べると、ツールや開発環境、手法などがかなり進歩した

  • [ThinkIT] 第4回:PMDによるコード解析 (1/2)

    節では、実際にサンプルを用いてPMDを用いたコード解析を行ってみます。リスト1は、対象とするサンプルコードです。 リスト1:サンプルコード public class SampleGame { public static final int MAX_VALUE = 10; public static void main(String[] args) { SampleGame sampleGame = new SampleGame(); if (args.length > 0){ final int num = Integer.parseInt(args[0]); System.out.println("あなたの入力は"+num+"ですね"); final int answer = sampleGame.createAnswer(); if (answer == num){ System.o

  • [ThinkIT] 第1回:PostgreSQLとMySQLの紹介 (1/4)

    共に連載執筆開始時点での最新安定バージョンですが、ある特定のバージョンに特化した内容を記述する予定はないため、基的にはPostgreSQLはバージョン8.1系、MySQLはバージョン5.0系の内容としてご理解ください。 また、PostgreSQLMySQLともに様々なOS上で動作可能ですが、特に断りのない場合はLinux版となります。 PostgreSQLは、1980年頃にUCB(カリフォルニア大学バークレイ校)の研究プロジェクトにて開発されたPOSTGRESというRDBMSが前身です。その後、1995年に同校の大学院生によりPostgres95としてリリースされ、現在の開発チームであるThe PostgreSQL Global Development Groupがこの開発を引き継いだのは1996年です。その際に、名称がPostgreSQLに改名され、ソースコードを公開し、現在もコミ

  • [ThinkIT] 第2回:AjaxアプリケーションとクラシックWebアプリケーションの違い (1/4)

    動作原理を説明する前に、クラシックWebアプリケーション(連載では旧来のWebアプリケーションを示す)とAjaxアプリケーションの構造上の違いを説明する。この両者の違いは以下に示すようにAjaxエンジンの有無にある(図1)。 このAjaxエンジンはAjaxアプリケーションのコアであり、JavaScriptで記述される。Ajaxエンジンは、任意のタイミングでWebサーバからダウンロードされた後、ブラウザ内で動作する。 Ajaxエンジンをうまく開発すれば、次項より説明する待機時間を減らすことなどができるため、ユーザビリティを飛躍的に向上することができるということだ。 ただし、Ajaxエンジンは1つではない。特定のアプリケーションに特化したAjaxエンジンもあれば、汎用的なAjaxエンジンもある。またAjaxエンジンにもいくつかの実装方法があり、各々の特性がある。これについては後の回で解説する