タグ

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

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

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

    入門! チートの解剖学 ~セキュアプログラミングでゲームのチートは防げるのか? ~
  • GUIでコンテナ仮想化ツールDockerをつかう「Kitematic」のご紹介

    連載では、業務アプリケーション開発を行う熱血若手エンジニアのために、面倒な作業が楽になる便利なツールをご紹介します。「定時になったらスマートに帰社してアフター5を存分に楽しみたい!」や「設計書やレビューの準備に煩わされるのは嫌だ、コーディングに集中したい!」などを実現してくれる便利なツールやソフトウエアを紹介します。今回は、GUIでコンテナ仮想化ツールDockerをつかう「Kitematic」を解説します。 はじめに ここ最近、「コンテナ仮想化技術」や「Docker」という単語を耳にする機会が増えてきています。しかしながら、そもそもハードウエア/OS/ネットワークなどの基盤技術やインフラプロビジョニングや運用になじみが薄い人にとっては、Dockerはコンテナ仮想化技術を使ったアプリケーション実行環境構築/運用プラットフォームです。インフラ環境も含めたアプリケーションの実行環境をすべてまと

    GUIでコンテナ仮想化ツールDockerをつかう「Kitematic」のご紹介
    realtank
    realtank 2015/10/27
  • 無料で証明書を発行し、HTTPSの普及を図るプロジェクト「Let's Encrypt」の最初の証明書が有効に

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

    無料で証明書を発行し、HTTPSの普及を図るプロジェクト「Let's Encrypt」の最初の証明書が有効に
    realtank
    realtank 2015/09/16
  • 「護衛艦の構成管理にGitを使いたい」――厳しい制約の中、進化する護衛艦システム|CodeZine×サイボウズ式

    「護衛艦プログラマー」として活躍中の三菱スペース・ソフトウエア株式会社の中島康貴さん。前編では、護衛艦のシステムとは一体どういうものか、何ができるのかについて伺いました。後編では、厳密でありながら最新鋭な護衛艦システムの開発と改修を、実際どのように行っているかについて迫ります。 中島康貴(なかしま・やすたか)さん 三菱スペース・ソフトウエア株式会社 鎌倉事業部第一技術部に所属。横浜国立大学工学部卒業、専門は航空宇宙工学。入社後は防衛分野の大規模組込みリアルタイムシステムの新規開発及び保守改修のプロジェクトに携わり、現在、同社でエンジニアとして活躍中。 護衛艦システムの共通化のために、Gitも使ってみたい ――護衛艦システムの開発はどのように進められているのでしょうか。 システム要件が決まると、ハードウェアで実現するもの、ソフトウェアで実現するものに振り分け、それぞれの仕様が確定します。その

    「護衛艦の構成管理にGitを使いたい」――厳しい制約の中、進化する護衛艦システム|CodeZine×サイボウズ式
    realtank
    realtank 2015/07/08
  • 【デブサミ関西2012】Windows 8時代に対応できるデスクトップアプリケーションとは?

    すでにRTMの提供が開始され、一般向けリリースも目前に迫ったWindows 8。タッチ操作に最適化されたWindowsストアアプリ(旧称Metroスタイルアプリ)が注目されているが、従来のWindowsアプリケーション(デスクトップアプリケーション)はどう変わっていくのだろうか? セッションでは、Windows 8時代のデスクトップアプリケーション開発において開発者が押さえておくべきポイントを、グレープシティの八巻氏が解説した。 互換性は問題ないが、ハードウェアの変革により タッチ操作への対応が必要に Windows 8では、大きく分けて2種類のアプリケーションが存在する。一つは、タッチ操作に最適化されたWindowsストアアプリ(旧称:Metroスタイルアプリ)。そしてもう一つが、デスクトップ上で実行される従来型の「Windowsデスクトップアプリケーション(以下、デスクトップアプリケ

    【デブサミ関西2012】Windows 8時代に対応できるデスクトップアプリケーションとは?
  • 既存システムを分析するための考え方と対処法

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

    既存システムを分析するための考え方と対処法
    realtank
    realtank 2012/05/15
  • 既存システムを分析するコツは「システムの地図」を作ること

    ビジネス系のシステム開発では、まったくの新規システム開発は少なく、すでにあるシステムの再構築プロジェクトがほとんどです。このようなプロジェクトでは既存システムを調べる作業が必ず発生します。その割には公開された情報として、既存システムを分析する方法を説明したものを見かけません。多くは開発者がその場その場で臨機応変に対応しています。 実際のプロジェクトでは開始早々この既存システムの分析で手間取り、時間を大きくロスするケースが見られます。この連載ではコストをかけずに分析するモデルベースの方法を5回に分けて紹介します。第1回目となる今回は、詳細に踏み込まずにトップダウンでモデル化していくための考え方を示します。 プロジェクトが置かれた状況 既存システムは土台にできるか 既存システムの調査分析は時間ばかりかかり、なかなか成果が現れません。そんなプロジェクトでは以下のような会話が飛び交います。 佐藤さ

    既存システムを分析するコツは「システムの地図」を作ること
  • C#でフォームを擬似的にロックする方法

    はじめに C#で、特定のフォーム内のコントロールに対する作業をバックグラウンド(別スレッド)で行っている間、フォームへのアクセスを禁止するには、「this.Enabled = false」を指定するだけで事足ります。 しかし、テキストボックスなどの編集可能なコントロールは、使用不可能になるとグレイアウトするため、処理が一瞬で終わるような場合、ユーザーには画面がちらついたような印象を与えてしまいます。 そこで稿では、EnabledやTextプロパティの変更をはじめとする、バックグラウンド作業中のコントロールの更新やアクセスをユーザーから隠す方法について紹介します。 対象読者 .NET Frameworkにおいてマルチスレッドによるコントロール処理を検討している方。 必要な環境 Visual C# 2005以降、あるいはそれに準ずる開発環境。サンプルプログラムはVisual Studio 2

    C#でフォームを擬似的にロックする方法
  • TCPを利用した複数クライアント接続可能なチャットアプリケーションの作成:CodeZine

    はじめに ここでは、複数のクライアントが同時に接続できるTCPを利用したクライアントサーバー型チャットアプリケーション(僭越ながら、「DOBON Chat」と命名させていただきます)のサンプルを示し、その要点を解説します。 .NET FrameworkではTCPを利用したデータ通信を行うためのクラスとして、TcpClient及びTcpListenerクラス(共にSystem.Net.Sockets名前空間)が用意されています。これらのクラスは内部でSocketクラス(System.Net.Sockets名前空間)を使用しており、Socketクラスをより簡単に扱えるようにするためのクラスであると言えます。しかしSocketクラスを直接扱う場合と比べて機能的に劣り、しかも取り扱いの難しさもそれほど変わるとは思えません。そこでここでは、TcpClientとTcpListenerクラスを使わずに、

    TCPを利用した複数クライアント接続可能なチャットアプリケーションの作成:CodeZine
  • 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化
  • .NETによるプラグイン機能を持つテキストエディタの作成

    はじめに Adobe PhotoshopやBecky! Internet Mailなどのアプリケーションでは「プラグイン」(または、「アドイン」、「エクステンション」等)と呼ばれるプログラムをインストールすることにより、機能を拡張することができます。この記事ではこのようなプラグイン機能を持ったアプリケーションの作り方を、プラグイン対応のテキストエディタを作成することにより、説明します。 ここで紹介するプラグイン機能は、Becky!のように、プラグイン体であるDLLファイルを指定されたフォルダにコピーすることにより、プラグインを使用するアプリケーション(ホスト)が自動的にプラグインを認識するというものです。 なお、プラグイン機能の解説が目的のため、テキストエディタはフォームにRichTextBoxを貼り付けただけの貧弱なものですので、テキストエディタ作成の参考にはなりません。 対象読者 .

    .NETによるプラグイン機能を持つテキストエディタの作成
  • .NETマルチスレッドプログラミング 1:スレッドの実行と同期

    目次 はじめに 対象読者 必要な環境 新しいスレッドを作成し、実行する フォアグラウンドスレッドとバックグラウンドスレッド スレッドが終了するまで待機する スレッドの同期 競合状態 Monitor.Enter・Monitor.Exitメソッド lock・SyncLockステートメント 静的メソッドの同期 ロック専用のオブジェクト MethodImplOptions.Synchronized デッドロック まとめ 参考資料 はじめに 稿では、.NET Frameworkにおけるマルチスレッドプログラミングについて、次のような方針で解説します。また、稿は四部作の「パート1」です。 マルチスレッドプログラミングの基事項を、全般的に紹介します。ただし、説明は簡潔に要点のみを押さえ、深い部分までは掘り下げません。より詳しい内容を知りたい方は、記事内に示すリンク先や、末尾の「参考資料」を参照して

    .NETマルチスレッドプログラミング 1:スレッドの実行と同期
  • 状態遷移表からStateパターンを自動生成する

    前回のStateパターンのお話、おかげさまでかなり好評だったようです。流行のトレンドを追いかけるのはドキドキがいっぱいでモチベーションを維持する良い材料ではありますが、トレンドを楽しむにも「やりたい事をカタチにする」ために設計と実装の腕を磨いておかにゃなりませんですね。Stateパターンを適用すれば、状態(State)と事象(Event)および状態遷移表に基づいて見通しが良く変更に強い(かつ柔軟な)コードに落とすことができます。 状態遷移表に基づいてコードに落とすのは単調な作業です。状態の数だけclassを起こし、それぞれのclassに事象の数だけメソッドを定義するので、どのclassもまったく同じ構造です。お定まりのパターンを何度も淡々を繰り返すのは退屈ですが、計算機はこのテの作業が大好きです。文句も言わず嬉々としてやってくれます。今回のお題は「状態遷移表からC#コードを自動生成させてみ

    状態遷移表からStateパターンを自動生成する
  • .NETマルチスレッドプログラミング 2:非同期デリゲートとスレッドプール

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

    .NETマルチスレッドプログラミング 2:非同期デリゲートとスレッドプール
  • F#のfslexとfsyaccを用いたコンパイラ作成

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

    F#のfslexとfsyaccを用いたコンパイラ作成
  • HAVING句の力

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

    HAVING句の力
    realtank
    realtank 2010/08/04
  • 編集距離アルゴリズムを使って文字列を変換する

    はじめに 私と同様に大量の文章を書く人なら、Microsoft Wordの変更履歴機能のことはよくご存じでしょう。この機能を利用すると、バージョンの異なるWordファイル間でどの箇所が変更されたかを簡単に見分けることができます。 しかし、プレーンテキストファイルで変更箇所を知りたいときはどうすればよいでしょうか。バージョンの異なるデータファイルどうしを比較したい場合はどうでしょうか。また、プロジェクトが単体テストを通過しなくなった場合に、前の週にソースコードファイルのどの箇所が変更されたかを調べるにはどうすればよいでしょうか。 ファイルの変更管理を実施していれば話は簡単です。きちんとした変更管理システムなら、バージョンの異なるファイル間の変更箇所を強調表示してくれるからです。ファイルの変更管理を実施していない場合や、変更管理の仕組みを理解したいと考えている場合は、変更箇所を調べるためのツー

    編集距離アルゴリズムを使って文字列を変換する
  • CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン

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

    CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン
  • 1