タグ

ブックマーク / atmarkit.itmedia.co.jp (70)

  • 無償の逆コンパイラ「ILSpy」を利用するには?[C#]

    プログラム内部の動作をデバッグするなどの目的で活用される逆コンパイラ。.NET Reflectorの有料化で、オープンソースのILSpyが新登場。その利用方法を紹介。 連載目次 .NET開発では、プログラム内部の動作をデバッグするなどの目的で、逆コンパイラ(decompiler)が用いられることがよくある。逆コンパイラとは、.NETアセンブリ(=.EXEファイルや.DLLファイルなど)から、C#やVB(Visual Basic)などのソース・コードを生成できるツールのことである。 有名なツールに、.NET Reflectorがあり、これに機能を追加するアドインも豊富に提供されている(.NET Reflectorについては、「.NET Tools:.NET逆コンパイラとコードを難読化するDotfuscator」を参照してほしい)。.NET Reflector(標準版)は、長らく無償で提供され

    無償の逆コンパイラ「ILSpy」を利用するには?[C#]
    kageroh_
    kageroh_ 2014/07/01
  • シェルコード解析に必携の「5つ道具」

    リバースエンジニアリングのスタンダード「IDA Pro」 リバースエンジニアリングには、逆アセンブラである「IDA Pro」がよく用いられます。IDA Proは逆アセンブラのデファクトスタンダートといっても過言ではありません。正規版はHex-Rays社から販売されていますが、非商用の利用に限っては、旧バージョン(Ver.5.0)を無償版として利用することができます。 最新版(Ver.6.1)と比べ、無償版では対応しているファイルフォーマットやCPUアーキテクチャが少なかったり、組み込まれているプラグインやデバッガの数が少なかったりと、いくつか機能的に劣っている部分があります。とはいえ、シェルコード解析やマルウェア解析をこれから始めてみよう、という方であれば問題ないかと思います。解析をバリバリ行えるようになり、無償版では物足りないと思ったときに最新版の購入を検討するとよいでしょう。 IDA

    シェルコード解析に必携の「5つ道具」
    kageroh_
    kageroh_ 2014/07/01
  • これでGitも怖くない! GUIでのバージョン管理が無料でできるSourceTreeの7つの特徴とは

    これでGitも怖くない! GUIでのバージョン管理が無料でできるSourceTreeの7つの特徴とは:ユカイ、ツーカイ、カイハツ環境!(31)(1/3 ページ) SourceTreeは直観的なGUIで使いやすい、今話題の無料のリポジトリ管理ツールです。稿では、Windows版のSourceTreeをGitサポート機能を中心に紹介します。 Gitも使える大人気のバージョン管理ツール「SourceTree」 SourceTreeは、もともとMac OS X用に開発されていた無料のGit/Mercurialのクライアントアプリケーションで、GUI(Graphical User Interface)による直観的なバージョン管理の操作ができます。 SourceTreeは、2011年10月に「JIRA」「Bitbucket」で有名なアトラシアンに買収され、Windows用の正式版が2013年6月に公

    これでGitも怖くない! GUIでのバージョン管理が無料でできるSourceTreeの7つの特徴とは
    kageroh_
    kageroh_ 2013/10/17
  • Capybara-Webkit+Cucumber+Sinon.JSでJavaScriptのテストはここまで変わる

    Capybara-Webkit+Cucumber+Sinon.JSでJavaScriptのテストはここまで変わる:フレームワークで実践! JavaScriptテスト入門(5)(1/3 ページ) しっかりとJavaScriptをテストするために、今注目のJavaScript用のテストフレームワークをいくつか紹介し、その概要から実践的な使い方まで解説する連載。今回は、RubyでWebKitをヘッドレス化するフレームワーク、受け入れテストの記述が日語でできるツール、スタブやモック、スパイが使えるライブラリを組み合わせたテスト方法などを紹介。 Capybara-WebkitとCucumberとSinon.JSを利用したJavaScriptのテスト 連載の最終回となる今回は、これまでの連載のようなJavaScriptのロジックを単体テストするのではなく、Webブラウザ上の操作と、それによって動作

    Capybara-Webkit+Cucumber+Sinon.JSでJavaScriptのテストはここまで変わる
  • 見つけて得するソースコード専用の検索エンジン - @IT

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) プログラミングと検索エンジンは切っても切れない プログラミングと検索エンジンの関係は切っても切り離せないものです。プログラミングに役立つドキュメントやノウハウを探したり、参考になるサンプルプログラムを見つけ出せます。 さらにバグの回避方法を見つけたり、エラーメッセージを検索エンジンで探して、解決方法が見つかることも多いでしょう。良質のソースコードから、的確なアルゴリズムや、思いもしなかったようなコード例を見いだすのも新たな楽しみです。 さて、ここではプログラミングの際に便利に利用できるソースコード専用の検索エンジンをいくつか紹介しましょう。ソースコード専用の検索エンジンを利用した検索

    見つけて得するソースコード専用の検索エンジン - @IT
  • 次世代JavaScript系言語「TypeScript」の主要言語機能

    前編では、TypeScriptの特徴と、クラスの基礎について説明した。引き続き今回は、クラスの継承について説明し、TypeScriptの主要な言語仕様である「インターフェイス」と「モジュール」について説明する。 前編ではバージョン「0.8.1」を使ったが、前編の公開後に新バージョン「0.8.2」が公開されたので、今回はこの新バージョンを使う(「0.8.2」の新機能については、「TypeScript 0.8.2 リリースと変更点 - THE TRUTH IS OUT THERE - Site Home - MSDN Blogs」を参照されたい)。 まずは、前回の積み残しであるクラスの機能の1つ「継承(heritage)」について説明する。 クラスの継承 ご存じのとおり、継承とは、元となる「基クラス(base class)」の機能を継承したうえで、さらに新機能の追加や既存機能の置き換えを「派

    次世代JavaScript系言語「TypeScript」の主要言語機能
  • JNIより簡単にJavaとC/C++をつなぐ「JNA」とは(1/4)-@IT

    インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、

  • OAuth 2.0を使うソーシャルなAndroidアプリの作り方 (1/3) - @IT

    ネイティブアプリで実践! mixi Graph API活用法 OAuth 2.0を使う ソーシャルなAndroidアプリの作り方 株式会社ミクシィ システム技術部 たんぽぽグループ 藤崎 友樹 プラットフォームサービス開発部 鶴原 翔夢 2011/3/30 最近よく耳にする「OAuth」とは、mixi、Facebook、Twitterなどの外部サービスと自アプリケーションを連携するための技術です。 「クラウド」「ソーシャル」というキーワードが叫ばれている昨今では、こういった連携をいかにうまく行うかということがユーザー体験を向上させる鍵となります。 特に「ソーシャル」を取り入れることは以下のような点でメリットがあると考えられます。 ユーザーのソーシャルグラフを活用して、アプリをバイラル・マーケティングできる 現実の人間関係をベースにしたユーザー体験(UX)を提供し、継続的にアプリを使っ

  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

  • Android NDKでJNIを使用してアプリを高速化するには

    ファイルやライブラリの情報を定義する「Android.mk」 Android.mkは、$( APP_PROJECT_PATH)/jni/にあり、ファイルやライブラリの情報を定義します。下記は、今回使用するAndroid.mkの内容です。 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := FireEffect LOCAL_SRC_FILES := FireEffect.c LOCAL_LDLIBS := -llog LOCAL_ARM_MODE := arm include $(BUILD_SHARED_LIBRARY) LOCAL_PATH これは、Android.mkの最初に定義しなければなりません。my-dirマクロで現在のディレクトリを指定しています。 include $(CLEAR_VARS) LO

    Android NDKでJNIを使用してアプリを高速化するには
  • 特定ディレクトリのファイル更新をチェックする

    Tomcatには、Webアプリケーション自動配備の仕組みがあります。アプリケーションのベースディレクトリ(デフォルトでは「%TOMCAT_HOME%\webapps」)以下にアプリケーションを追加したり、アプリケーションを変更したときに、自動的にロードしてくれる仕組みです。 こうした、特定ディレクトリ以下のファイル更新を自動的にチェックするような機能は、Javaの基的なテクニックの組み合わせで実現できます。TIPSで説明する方法は、Tomcatで実際に使われています。 更新自動チェックのプログラミング方法 スレッドを1つ常駐させて一定間隔でチェック処理を走らせます。ここで、ディレクトリ更新の自動チェックを行うクラスを作成する上でのポイントを、5点挙げます。 (1)Runnableインターフェイスを実装した内部クラスを作る (2)スレッドを停止するためのフラグを持つ (3)管理下に置かれ

    特定ディレクトリのファイル更新をチェックする
  • Flex開発のテスト・品質向上でかなり使えるツール5選(1/3)- @IT

    クラスメソッド株式会社 福田 寅成 2010/10/22 Adobe CS5の新しい中核を担うFlex 4のフレームワーク。ワークフローを初めRIA開発現場がどう変わるかを、Flash Builder 4やFlash Catalyst、Adobe AIR 2などの技術・ツール・フレームワークなどの機能を紹介しながら解説する連載(編集部) Flex開発におけるテスト・品質向上ツールの充実 従来、Flexでのアプリケーション開発では「手動でのテスト」が主で、ツールを利用した自動テストは行われてきませんでした。そもそもツールが存在しなかったからです。そのため、ActionScriptクラスの単体テストやコーディング規約の強制などは実施しようと思ってもFlex開発ツール上にその環境がなく断念せざるを得ない状況でした Flexでのアプリケーション開発のサーバサイド側でよく用いられるJavaでは、さま

  • Titaniumで始めるモバイルアプリ作成の基礎知識

    Titaniumで始めるモバイルアプリ作成の基礎知識:Web技術でネイティブアプリを作れるTitanium(2)(1/3 ページ) iPad/iPhone VS Androidに戸惑っているWebデザイナ/開発者のために、Web技術でネイティブアプリを作れるオープンソースの開発ツールを紹介し、その利点や使い方を連載で解説します ついにTitanium Mobile 1.0がリリース! 「Titanium Mobile」の概要を紹介した前回の記事「HTMLJavaScriptiPhone/Androidアプリを作れるTitanium Mobileとは」は、おかげさまで大変評判も良く、技術者が多く集まる「はてなブックマーク」で、多くのブックマークを獲得しました。iPhoneへの関心の高まり、そしてよりスピード感のある開発手法への関心の高まりを感じました。 一方、Titaniumにも大きな動

    Titaniumで始めるモバイルアプリ作成の基礎知識
  • HTML+JavaScriptでiPhone/Androidアプリを作れるTitanium Mobileとは

    HTMLJavaScriptiPhone/Androidアプリを作れるTitanium Mobileとは:Web技術でネイティブアプリを作れるTitanium(1)(1/3 ページ) iPad/iPhone VS Androidに戸惑っているWebデザイナ/開発者のために、Web技術でネイティブアプリを作れるオープンソースの開発ツールを紹介し、その利点や使い方を連載で解説します iPad/iPhone VS Androidに戸惑っていませんか? 2010年1月5日、グーグルAndroid 2.1を搭載した「Nexus One」を発表しました(参考:GoogleAndroid 2.1搭載の“スーパーフォン”「Nexus One」を発表)。高精細なディスプレイや高速なプロセッサによる快適な動作など、iPhoneのライバルとしての存在感が話題になりました。また1月21日には、NTTドコモ

    HTML+JavaScriptでiPhone/Androidアプリを作れるTitanium Mobileとは
  • WebアプリをiPhoneっぽくするための5つのポイント

    WebアプリをiPhoneっぽくするための5つのポイント:iPhoneで動かす業務用Webアプリ開発入門(1)(1/3 ページ) iPhoneで動かす業務用Webアプリを作るコツを紹介 初めまして。今回から連載を執筆する石田です。筆者は、ドリーム・アーツで多店舗展開するチェーン店企業向けの業務コミュニケーション支援クラウドサービスである「店舗matic」の開発・運用を担当しています。 ドリーム・アーツの顧客である多店舗チェーン企業では、多くの店舗をマネジメントするために、スーパーバイザやエリアマネージャという、担当する店舗を巡回して店舗の運営を支援したり、部と店舗の間のコミュニケーションを取り持つ役割の人が多くいます。 こういった人々が常に最新の情報にアクセスし、業務をより良くしてもらうために、「店舗matic」は、2010年8月にiPhoneでの利用に対応したバージョンをリリースしま

    WebアプリをiPhoneっぽくするための5つのポイント
  • 単体テストを“神速”化するQuick JUnitとMockito

    単体テストを“神速”化するQuick JUnitMockito:ユカイ、ツーカイ、カイハツ環境!(16) Quick JUnitプラグインの3つの大きな特徴 近年、JUnitとHudsonを利用した継続的インテグレーション(CI)によるテストの自動化や、テスト駆動開発(TDD)の普及などにより、ユニットテスト(単体テスト)のテストコードの作成が重要視されています。 今回紹介する「Quick JUnit」プラグインは、JUnitによるテストコードの作成と実装を支援するEclipseプラグインです。Quick JUnitプラグインは石井勝さんにより開発されていましたが、石井さんが不慮の事故により死去後、Quick JUnitプラグインプロジェクトにより開発が継続されています。優れたオープンソースプロジェクトの模範のようなプロジェクトです。 訂正のお知らせ 故人のお名前について間違いがあり、修

    単体テストを“神速”化するQuick JUnitとMockito
  • HTML+JavaScriptで作れる Windows 7デスクトップアプリの基礎知識

    HTMLJavaScriptで作れる Windows 7デスクトップアプリの基礎知識:楽しいWindows 7アプリ作成入門(3) 「あんなこといいな」「できたらいいな」というアイデアをWindows 7の表現力で具体的な“アプリ”という形にするには、どうすればいいのだろうか? 具体的なコードやデモとともに一から教えます

    HTML+JavaScriptで作れる Windows 7デスクトップアプリの基礎知識
  • 第2回 PowerShellの基礎

    PowerShellを使いこなすために必要な、最低限の基礎文法知識を身に付けよう。PowerShell 2.0の新機能についても解説する。 連載目次 前回はPowerShellの概要およびインストールと使用方法について解説した。次回からはPowerShellを使ったシステム管理法をテーマ別に解説するが、その際に必要となるPowerShellの基礎文法を今回取り上げ、解説しておく。またPowerShell 1.0から2.0にバージョンアップした際に追加された新機能についても説明する。 前回説明したとおり、PowerShellはシェルであり、コンソールを用いて対話的にコマンドレット(PowerShellのコマンド)を実行していくことができる。またPowerShellがシェルであると同時に、スクリプト言語でもあることも前回述べた。PowerShellにおいてはコンソールで入力するものとスクリプト

    第2回 PowerShellの基礎
  • 究極の問題解析ツール、逆コンパイラJD-Eclipseとは

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは:ユカイ、ツーカイ、カイハツ環境!(13)(1/2 ページ) ソースコードがなくても大丈夫? 開発を行っている際に、利用しているミドルウェアやライブラリの内部で例外が発生して、そのクラスのソースコードを調べたくなることはありませんか? 例えば、以下のような場合です。 ほかのチームが開発したモジュールのメソッドが仕様通りの動作をしない仕様通りの動作をしない 処理に時間がかかっているが、何の処理に時間がかかっているのか分からない何の処理に時間がかかっているのか分からない アプリケーションが応答しなくなり、どこかで停止しているのだが、どこで停止しているか分からないどこで停止しているか分からない ソースコードがないため、“やきもき”していませんか? 開発者であれば、誰しもこのような経験をしたことがあると思います。ソースコードがあれば、コード

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは
  • Goのswitch文で解くFizzBuzz問題と構造体のイントロ(1/2)- @IT

    第4回 Goswitch文で解くFizzBuzz問題と構造体のイントロ 赤坂 けい チームWordProgress 2010/2/25 突然登場した新しいプログラミング言語「Go」。その独自性、魅力を余すところなく堪能してみよう(編集部) 第3回「ハロー、goroutine!」から、Goの並列処理記述を特徴付けているgoroutineを取り上げている。goroutineは、チャネルなどを通じてメッセージをやり取りする軽量プロセスである。このアプローチは、Erlangの軽量プロセスと類似している。 他方、HaskellやClojureなどの関数型言語では、「ソフトウェアトランザクショナルメモリ(Software Transactional Memory:STM)」と呼ばれる並列処理のアプローチが前面に押し出されている感がある。 STMもgoroutineも、これまで一般的であった「スレッド

    kageroh_
    kageroh_ 2010/02/25