タグ

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

  • 入門! チートの解剖学 ~セキュアプログラミングでゲームのチートは防げるのか? ~

    ゲームのチート対策について、技術的に見るとチートとはどういった行為であるのかを解説し、チート対策の原理や仕組みを解説します。Webアプリケーション開発におけるセキュアプログラミング等とは大きく異なるチート対策に特有のポイントを挙げ、同じく「セキュリティ」と呼ばれるものでも両者は大きく異なる技術分野であることを見ていきます。チートの多くは技術的にはそれほど難しいことをしているわけではなくチートの被害はいつでも発生しうるのだということ点を実感していただくために、Unityで作成したAndroidアプリに含まれる中間言語コードを改変する様子も紹介しています。 はじめに 情報システムが生活に欠かせないインフラとなった昨今、その開発と運用に携わるエンジニアの間にはセキュリティの意識が深く浸透しています。ソフトウェア開発の現在のメインストリームといえるWebアプリケーション開発の分野では、不特定多数の

    入門! チートの解剖学 ~セキュアプログラミングでゲームのチートは防げるのか? ~
  • C++/CLIによるCライブラリの.NET化

    typedef int (*sqlite3_callback16)(void*,int,__wchar_t**, __wchar_t**); int sqlite3_exec16( sqlite3 *db, /* The database on which the SQL executes */ const __wchar_t *zSql, /* The SQL to be executed */ sqlite3_callback16 xCallback, /* Invoke this callback routine */ void *pArg, /* First argument to xCallback() */ __wchar_t **pzErrMsg /* Write error messages here */ ){ int rc = SQLITE_OK; const __wc

    C++/CLIによるCライブラリの.NET化
  • 仮想ネットワーク実装でTCP/IPを学ぼう(7) ― GDI+と独自プロトコルの定義

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

    仮想ネットワーク実装でTCP/IPを学ぼう(7) ― GDI+と独自プロトコルの定義
  • Silverlight 3で作る業務アプリケーションの要 「ナビゲーションフレームワーク」

    はじめに Silverlight 3では多くの新機能が追加されていますが、多数のサブシステムからなる業務アプリケーションを作成するという観点では、標準的な画面遷移を提供するナビゲーションフレームワークが追加されたというのはうれしい変更点といえるでしょう。 今回はナビゲーションフレームワークの概要とその仕組みについて触れていきます。 Silverlightでの画面遷移 Silverlight 2までの開発で多くの開発者を悩ませていた問題に、標準的な画面遷移(画面の切り替え)が存在しないという問題がありました。Silverlight 2まではWeb開発では当たり前だったハイパーリンクによる画面遷移や、現在の画面を閉じ新しい画面を開くといった画面遷移とは少し違った技を用いる必要がありました。 Silverlight 2までは画面遷移の方法として大きく次の2つの方法がありました。 1. Webペー

    Silverlight 3で作る業務アプリケーションの要 「ナビゲーションフレームワーク」
  • IronPythonの特徴

    はじめに CLRのバージョン1.0が登場する前のこと、Microsoftは、さまざまな企業や学究機関の協力の下、.NET上で動作する言語の開発を「Project 7」というコードネームで進めていました。そんな言語の1つに、ActiveStateが開発したPython for .NETがありました。この言語はきちんと動作したものの、Project 7では次のように判断されました。「現行のシステムでは速度が遅すぎる。したがって、現在の実装はデモンストレーションの域を出ず、他の用途では役に立たない注1」。さらに、パフォーマンスがふるわない原因の一端は「Python for .NETコンパイラの実装がシンプルなこと」にあるとしたものの、「.NETの内部実装やReflection::Emitにも原因がある」とも述べていました。 「CLIはその設計上、動的言語との親和性が低い注2」というのが、従来の通

    IronPythonの特徴
  • 迅速で小回りのきくFileMakerを使ったWebシステム構築(前編) (1/2):CodeZine(コードジン)

    稿では、開発期間を短縮しつつ、小回りのきく柔軟なシステムを構築可能にする、FileMakerのインスタントWeb機能について、簡単なシステムのサンプルを例にとり解説します。前編では、システム機能の概要や必要となるインフラストラクチャ、ユーザの操作の流れなどを紹介していきます。 はじめに ITシステムにまつわるビジネスの課題として、「開発期間の短縮」と「システム資産の存続」が挙げられます。 開発期間を短縮することは、開発コストを下げるだけでなく、開発期間におけるビジネスの機会損失の低減にもつながります。また、システムは一度作ってもハードの老朽化や陳腐化によりリニューアルが必要となりますが、システムが依存する機器やOSによっては、買い替えのコストが高くつくこともあります。 そこで稿では、システムの開発から運用までの距離を縮め、システム資産を未来へ継続させるという2つの視点で、よきパートナー

    迅速で小回りのきくFileMakerを使ったWebシステム構築(前編) (1/2):CodeZine(コードジン)
  • 「FileMaker Road Show 2009」が全国5都市で開催 開発ノウハウを学べる無料のワークショップも実施

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

    「FileMaker Road Show 2009」が全国5都市で開催 開発ノウハウを学べる無料のワークショップも実施
  • クラウド時代に備えて、プログラマーが理解しておくべき考え方

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

    クラウド時代に備えて、プログラマーが理解しておくべき考え方
  • アドバンスソフトウェア、Excelからのデータ取得やXML出力を便利にする「Excel Data Server」発売開始

    アドバンスソフトウェアは26日、Excelからのデータ取得を容易にする連携ツール「Excel Data Server」を発売開始した。 通常、プログラムで、Excelで作成された受注伝票などの書類からデータを取得したい場合、書類のフォーマットに合わせてハードコードしたり、Excelのバージョンによるファイルフォーマット(xls/xlsx)を違いを意識したりと、手間がばかにならない。 Excel Data Serverでは、Excelファイルから目的のセルをドラッグ&ドロップするだけで、Excelのバージョンを気にすることなく簡単にデータスキームを作成し、VBやC#のプログラムから読み込んだり、XMLファイルで書き出したりすることが可能。表形式のセルといった入れ子のデータ構造も「繰り返し」機能で簡単に設定できる他、あらかじめExcelファイルに特別の文字列を付与した要素名(**price、*

    アドバンスソフトウェア、Excelからのデータ取得やXML出力を便利にする「Excel Data Server」発売開始
  • 仮想ネットワーク実装でTCP/IPを学ぼう ― TCP/IPの基礎と勘所

    いまや業務システムではネットワーク環境が当たり前になっており、開発者であってもネットワークプロトコルの知識を知らないでは済まされません。しかし、巷に出版されている専門書は、ネットワーク管理やプロトコルを図解したもの、または非常に高度な前提知識を求められるものがほとんどです。そこで連載では、プログラマが実際に手を動かして身に付けられるような形で、TCP/IPについて学んでいきます。 はじめに エンドユーザーの要求は複雑化の一途を辿り、それに伴って開発者にも多くの知識が求められるようになりました。その一例がネットワークプロトコルの知識です。 昔はネットワーク管理者が知っていればよい知識でしたが、いまや業務システムではネットワーク環境が当たり前なので、知らないでは済まされません。それに加え、業務システムには様々な問題がつきものです。ですからトラブルが起こった時、障害がどこで発生しているのか素

    仮想ネットワーク実装でTCP/IPを学ぼう ― TCP/IPの基礎と勘所
  • Windows PowerShell 活用編一覧

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

    Windows PowerShell 活用編一覧
  • 高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」

    はじめに 大規模なデータを扱うアプリケーションでは、速度とともに作業領域量も大きな問題となります。作業領域がメインメモリに収まらない場合、スワッピングが発生し、大幅な速度低下につながります。そのため近年、データ構造は高速なだけでなく、作業領域量が小さいことも求められています。今回紹介するのは2003年に提案されたデータ構造、wavelet tree(以下「WT」と表記)です。WTは圧縮索引やSuccinct Data Structureなど、データをコンパクトに表現する際に重要なデータ構造です。WTは文字列T[0...n-1]が与えられた時、次の2つの操作を定数時間でサポートします。 rank(p, c)――T[0...p]中のcの出現回数を返す select(i, c)――(i+1)番目のcの位置を返す WTの作業領域量は、文字列をそのまま保存した時の約2倍程度です。 対象読者 C++

    高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」
  • 分析設計モデルをわがままに活用しよう JUDE API入門

    上図のように、何かの情報をもとにモデルを作成したり、モデルからドキュメントやソースを作成できたりします。せっかくモデリングツールを使ってモデルを書くのですから、プログラムを使って作業を効率化してしまいましょう。それを可能にするのが、プログラムでモデルにアクセスできるAPIです。 具体的な活用例 はじめにJUDEのAPIの具体的な活用例を示します。 既存システムのデータベース定義を読み込み、JUDEのERモデルを作成 設計モデルの規模や品質を分析するために、モデルデータのメトリクスを作成 WebフレームワークRuby on Railsとモデルの連携 これらの例はほんの一部で、皆さんの状況ごとにいろいろな活用方法が考えられると思います。開発プロセスも扱っているモデルもツールもプロジェクトによってさまざまですから、やりたいこともさまざまでしょう。そんなわがままな要求にこたえられるのがAPIです。

    分析設計モデルをわがままに活用しよう JUDE API入門
    smartstyle
    smartstyle 2008/11/09
    面白そう。
  • 開発者には”プロ意識”が必要である~Bjarne Stroustrup氏との対話~

    はじめに 「弊社ではありえないプロジェクトが突如降って湧いてくるのが常態化しています。それでもなんとかなっているのです!」 これは、ある著名な企業のプロジェクトマネージャが筆者に語った言葉です。その社名は、ほぼ毎日のように巨大マスコミに登場していることもあり、世間一般には時代の先頭を走る優良企業の1つと考えられているはずです。 この能弁なプロジェクトマネージャが引率してきた10人ほどの若いプログラマたちは、終始押し黙っていたのを今でも鮮明に記憶しています。著名な企業を支えるありえないプロジェクトをなんとかこなす人々。筆者は彼らの作業風景を想像しながら、その胸中が大変気になりました。 C++を設計・実装したStroustrup氏は、ソフトウェア業界の未熟さを指摘すると共に、”プロ意識”の重要性を強調してやみません。 今回の質問意図 既に紹介しているように、Stroustrup氏はC++入門書

    開発者には”プロ意識”が必要である~Bjarne Stroustrup氏との対話~
  • 触ってみようASP.NET 2.0 AJAX Extensions

    はじめに ASP.NET AJAXはASP.NET 2.0上で動作するAJAXの技術セットで、アドインとして利用することができます。ASP.NET AJAXのフレームワークはJavaScriptで書かれていて、クライアントサイド(JavaScript+DHTML)中心の開発手法とサーバーサイド(ASP.NET 2.0)中心の開発手法があり、使用しやすい方を中心に利用することができます。 クライアントサイドの特徴として、JavaScriptを記述する際のオブジェクト指向のサポート、独自の名前空間やJSONシリアライザのサポートにより、開発を容易に行えるようになっています。しかしクライアントサイド中心の開発では、基的なAJAXの動作原理とJavaScript+DHTMLに精通していることが必要になります。 一方、サーバーサイド中心の開発では、サーバーサイドのコントロールとして、AJAXの機能

    触ってみようASP.NET 2.0 AJAX Extensions
  • Visual Studio 2008で進化するASP.NET 3.5の開発手法(前篇)

    はじめに ASP.NET 2.0とASP.NET AJAXにより、以前よりも作成できるWebページの幅が広がってきていますが、Visual Studio 2008では.NET Framework 3.5の機能が利用できるだけではなく、IDEとしての機能も大幅に向上しています。 そこで稿では、正式版のリリースに先駆けて、Visual Studio 2008から利用できる新しいASP.NETの開発手法を予習していきます。前篇では、大きく進化したWebデザイナに触れ、後篇では、ASP.NET AJAXや、コーディングのサポート機能、LINQを扱うページの作成、新コントロールの利用方法などについて解説します。 対象読者 ASP.NET 2.0を使ったことがある方 Visual Studio 2008に興味がある方 必要な環境と準備 次のいずれかの環境が必要です。 Visual Studio 20

    Visual Studio 2008で進化するASP.NET 3.5の開発手法(前篇)
  • サーバサイドJava入門 Java DBによるデータベースアクセス:CodeZine

    はじめに サーバサイドで各種のデータを管理する場合、テキストファイルなどで済ませるケースはあまり多くないでしょう。やはり、ある程度以上の規模ともなれば、データベースで管理をすることになります。一般的には「SQL(Structured Query Language)」と呼ばれる問い合わせ言語を使ってデータベースに問い合わせを行うタイプのものが多用されます。このデータベースにSQLを使ってデータアクセスをする方法について説明をしていくことにしましょう。対象読者Javaの基(文法全般および基的なクラスライブラリの使い方程度)をマスターしている人。サーバサイド(JSP、サーブレット)について基礎から勉強したい人。Eclipse WTPを使った開発に興味がある人。 Java DBの利用について SQLに対応したデータベースは多数存在します。ここでは、Java 6よりJDKに標準で組み込まれること

  • NetBeans6.1によるRuby on Rails開発環境構築手順書:CodeZine

    はじめに目的 NetBeansを使ってRubyRuby on Rails(以下RoR)開発を行うための環境を構築します。想定読者NetBeansを使ってRuby/RoRによる開発を行いたい人なんらかの言語開発経験がある人EclipseなどのIDEを使用したことがある人 NetBeansとは NetBeansは、Sun Microsystemsが無償で提供しているオープンソースのIDE(統合開発環境)です。開発言語としてJava、C/C++Ruby/RoRなどをサポートしており、デスクトップ、Web、モバイルアプリケーションの作成に必要な機能を備えています。 Javaで作成されておりJDKがあれば動作するため、WindowsLinuxMac OS X、Solarisなど複数のプラットフォームで実行できます。標準で利用できる高機能なエディタなどに加え、プラグインを追加して機能拡張するこ

  • GEFでグラフィック編集プラグインを作る:CodeZine

    はじめに GEF(Graphical Editing Framework)は、その名の通り、モデルを「グラフィカル」に「編集」するアプリケーション(またはプラグイン)を作成するためのフレームワークです。この記事では、単純なGEFアプリケーションの作成を通して、GEFの概略と、その使用法を説明します。対象読者 Eclipseプラグイン、およびDraw2Dを使用したアプリケーションを作成したことがある方。Draw2D、またはEclipseのプラグインについては、Eclipseのヘルプ、およびAPIドキュメントを参照してください。また、Draw2Dに関する詳細については、GEF SDKに付属するDraw2Dのプログラマーズ・ガイドを参照してください。必要な環境 サンプルは、Eclipse SDK 3.0.1、およびGEF SDK 3.0.1を使用して作成しました。それ以前のバージョンでは動作しま

  • 開発者注目のはてなブックマーク@CodeZine

    CodeZineについて プログラミングに役立つソースコードと解説記事が満載な開発者のための実装系Webマガジンです。 All contents copyright © 2006-2008 Shoeisha Co., Ltd. All rights reserved. ver.1.5 掲載記事、写真、イラストの無断転載を禁じます。 記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

    smartstyle
    smartstyle 2008/06/05
    これは便利。