タグ

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

  • GitHubをもっとソーシャルに使いこなすための7つ道具

    新サービスが続々登場してアツい! 「GitHub」とは 皆さんは「GitHub」を活用しているでしょうか? 「GitHub」(ギットハブ)はソースコード管理用の分散型バージョン管理システム「Git」を使ったホスティングサービスです。 Gitの特徴は、作業用として自分のコンピュータ上にあるローカルリポジトリがあれば、ネットワークに接続できない状態だったとしても、ソースコードの更新や、履歴を調べたりできる点にあります。その特徴はGitHubにも生かされていて、オープンソースとして公開中の既存のコードを分岐(fork)して、新しいプロジェクトとして開発できます。 また、自分が手元のローカル環境でバグ修正したり、拡張したソースコードを家のオープンソースプロジェクトに取り込んで(pull)もらうことも手軽にお願いできます。 さらに、READMEテキストファイル(README.md)などを独特のマー

    GitHubをもっとソーシャルに使いこなすための7つ道具
  • 本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT

    PSN侵入の件から始めよう 今年のセキュリティの話題の中でも特に注目されたものとして、4月20日に起こったPSN侵入事件があります。5月1日にソニーが記者会見をネット中継したことから、ゴールデンウィーク中にもかかわらず多くの方がネット中継を視聴し、感想をTwitterに流しました。もちろん、筆者もその1人です。 このときの様子は、「セキュリティクラスタまとめのまとめ」を連載している山洋介山さんが、Togetterでまとめています。 Togetterのまとめを読むと、漏えいしたパスワードがどのように保護されていたかが非常に注目されていることが分かります。Togetterのタイムラインで、14:48ごろにいったん「パスワードは平文保存されていた」と発表されると、「そんな馬鹿な」という、呆れたり、驚いたりのつぶやきが非常に多数流れます。 しかし、15:03ごろに「パスワードは暗号化されてなかっ

    本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT
  • Java開発者が知らないと損するPaaSクラウド8選

    Java開発者が知らないと損するPaaSクラウド8選:ユカイ、ツーカイ、カイハツ環境!(25)(1/3 ページ) 進化・激変するJavaクラウドの現状を知る、まとめ 連載「ユカイ、ツーカイ、開発環境」では、Javaが利用できるクラウドコンピューティングのPaaS環境について、いくつか紹介してきました。最近では、レッドハットの「OpenShift」とヴイエムウェアの「Cloud Foundry」などのPaaSクラウドのβサービスが提供され始め、また、いままで紹介した各クラウドの事情も変わってきました。 稿では、Javaで利用できる以下の8つのPaaSクラウドの最新動向をお届けします。 機能を拡充し続ける「Google App Engine」 「Stax」はCloudBeesに買収され「RUN@cloud」に Morphの「AppSpace」は「mCloud」に .NETだけじゃない「Wi

    Java開発者が知らないと損するPaaSクラウド8選
  • Hotspot VMの基本構造を理解する

    ネイティブコンパイラは、高速に動作するネイティブコードの実行ファイルを生成しますが、Javaのメリットでもある動的なクラスのロードに対応できない場合があります。今回の説明の対象としているのは動的コンパイラです。Javaで使われている動的コンパイラは、メモリ上にコードを生成するものであり、ある形式のファイルを生成するものではありません。動的コンパイラは一般にはJITJust In Time)コンパイラと呼ばれており、HotSpot VMもこの1つです。 バイトコードの解釈と実行 初期のJava VMはバイトコードインタプリタのみでバイトコードを実行しており、実行速度が非常に遅いという問題がありました。その後、高速化のために動的コンパイルという技術が導入され、現在のようにバイトコードインタプリタと動的コンパイラが併用されるようになりました。HotSpot VMもこの方式で動作します。 図9は

    Hotspot VMの基本構造を理解する
  • Eclipseプラグイン コード品質のカイゼン(JUnit Factory)

    これはすごい!?コード品質のカイゼン化プラグイン2種:CoolなEclipseプラグイン(24)(1/3 ページ) ソフトウェアの品質と保守性を向上させるために、テストケースの作成は重要です。しかしながら、時間がない、面倒だなどの理由によりユニット(単体)テストが省略されることはしばしばあります。 また、ソフトウェアの修正や仕様変更を考慮すると、保守性の高い(分かりやすい/読みやすい)コードにする必要があります。 稿では、ソースコードからJUnitをベースとしたたテストケースを自動的に生成する「JUnit Factory」とコードの保守性の指標であるCRAP(Change Risk Anti Pattern)を計測する「Crap4j」をご紹介します。 テストケースを自動生成するJUnit Factoryとは? JUnit Factoryはソースコードからテストケースを自動生成し、しかも生

    Eclipseプラグイン コード品質のカイゼン(JUnit Factory)
  • 実は厄介、ケータイWebのセッション管理

    実は厄介、ケータイWebのセッション管理:再考・ケータイWebのセキュリティ(3)(1/3 ページ) “特殊だ”と形容されることの多い日の携帯電話向けWebサイト。そこには、さまざまな思い込みや性善説の上しか成り立たないセキュリティが横行しています。連載は、ケータイWebの特殊性をていねいに解説し、正しいケータイWebセキュリティのあるべき姿を考えます(編集部) 「Cookieを使えない端末」でセッションを管理する方法は? 第2回「間違いだらけの『かんたんログイン』実装法」ですが、多くの方に読んでいただきありがとうございました。 今回は、前回に引き続き架空のSNSサイト「グダグダSNS」のケータイ対応を題材として、ケータイWebのセッション管理の問題点について説明します。携帯電話向けWebアプリケーション(ケータイWeb)のセッション管理は、かんたんログインよりも対策が難しく、厄介な問

    実は厄介、ケータイWebのセッション管理
  • .NET TIPS デスクトップ上のすべてのメイン・ウィンドウを列挙するには? - C# VB.NET - @IT

    デスクトップ上のすべてのメイン・ウィンドウを列挙するには、Win32 APIではEnumWindows関数を利用するが、.NET Frameworkのクラス・ライブラリでは、同等の機能をProcessクラス(System.Diagnostics名前空間)を利用して実現できる。 具体的には、実行中のすべてのプロセス(Processオブジェクト)を取得して、それぞれのプロセスがメイン・ウィンドウを持っているかどうかをチェックすればよい。 メイン・ウィンドウの有無は、各プロセスに対して、メイン・ウィンドウのウィンドウ・ハンドル(MainWindowHandleプロパティ)が設定されているかどうかを調べる。もし、MainWindowHandleプロパティの値が「IntPtr.Zero」(=未設定)であれば、そのプロセスはメイン・ウィンドウを持っていないことを意味する。 if (p.MainWind

    tmftake
    tmftake 2010/12/02
  • Windowsでファイルの拡張子をまとめて変更する(コマンドプロンプト編)

    解説 例えば「~.jpeg」という名前のファイルの拡張子だけを「~.jpg」に変更する場合、ファイルの数が少なければエクスプローラで選択してから[F2]キーを押して(もしくはマウスでクリックしてからしばらく待つか、ポップアップ・メニューから[名前の変更]を選択する)、新しい名前に変更すればよいだろう。 だがファイルの数が非常に多かったり、複数のフォルダ中に分散して存在したりしている場合、いちいちエクスプローラで操作するのは非常に面倒である(関連記事参照)。 こんな場合は、スクリプトやコマンド・プロンプトを使えば、素早く簡単に済ませることができる。TIPSでは、コマンド・プロンプト上のrenコマンドを使って、ファイルの拡張子をまとめて変更する方法を紹介する。 操作方法 ●renコマンドの基的な使い方 コマンド・プロンプト上でファイル名を変更するには、「ren」もしくは「rename」コマ

    Windowsでファイルの拡張子をまとめて変更する(コマンドプロンプト編)
    tmftake
    tmftake 2010/11/25
    いつも忘れるので。
  • C#プログラミングTips:文字列処理に関するヒント - @IT

    今回は文字列について取り上げ、比較的よく用いられるであろういくつかのパターンを簡単なコードとともにまとめてみる。 C#では、文字列をstring型として扱うことができる。これは実際にはSystem.String型のオブジェクトであり、オブジェクト内部では、文字列はUnicode文字として扱われる。 文字列はUnicode 次のプログラム・コードでは、2つの文字列オブジェクトを生成し、その文字列の長さを3つの方法でコンソールに表示している(以下に示したのは、解説に必要なコードの一部分である。プログラム全体はここ(string.cs)からダウンロードできる)。 11: string s1 = "うらにわにはにわにわにはにわにわとりがいる"; 12: String s2 = "うらにわには2わにわには2わにわとりがいる"; 13: 14: Console.WriteLine("s1の長さ:" +

  • @IT:Excel‐Oracle連携(3) 1/4

    主な内容 --Page 1-- ▼はじめに ▼マクロを使用する方法 ▼更新処理における注意点 --Page 2-- -Excelで変更行を判別する方法 -更新操作における同時実行性の制御 --Page 3-- ▼KeySQLを使用する方法 -事前準備 -KeySQLGUIから更新 --Page 4-- ▼KeySQLのマクロを使用する方法 ▼KeySQLの誤操作対策 ▼まとめ 前回までの記事では、ExcelのデータをOracleデータベースに格納する方法と、OracleデータベースのデータをExcelから検索する方法について紹介してきました。最終回となる今回は、ExcelからOracleデータベースのデータを更新する方法について解説します。 OracleデータベースのデータをExcelで更新する主な方法は、VBAマクロを使用する方法と、KeySQLを使用する方法の2つです。記事では、そ

    @IT:Excel‐Oracle連携(3) 1/4
  • 気付きにくいREDOログの問題切り分けテクニック

    REDOログ書き込みのタイミング 3秒置き COMITT要求時 ログ・バッファの3分の1がいっぱいになったとき DBWRが書き込みを行う直前 のようにいくつかのタイミングがあります。「ログ・バッファの3分の1がいっぱいになったとき」の動作は、ログ・バッファのサイズによって影響を受けます。ログ・バッファはSGA内のメモリ上に確保され、パラメータ「log_buffer」で設定できます。このサイズはどの程度で設定すべきかが、重要な管理項目です。デフォルトでは「128Kbytes×CPU_COUNT」で設定されており、CPU数が5未満であれば500Kbytes(524288bytes)となるようです。 ログ・バッファのサイズが適正であるかどうかは、ログ・バッファに書き込むREDOエントリで競合が起きているかどうかで判断します(リスト1)。統計情報の「redobuffer allocation re

    気付きにくいREDOログの問題切り分けテクニック
  • 連載 One Point .NET -- デリゲート再入門(1/3) - @IT

    .NET Frameworkでは、イベント・ハンドラやコールバックの機能を「デリゲート」を用いて実現する。このため、「デリゲートはイベントを実現するため(だけ)に存在する仕組みである」とか、「デリゲートは関数ポインタと同義である」などの誤解が見られる。デリゲートは確かに理解しづらい機能であり、またオブジェクト指向プログラミングにそぐわない機能でもあるかもしれない。だが、いずれにしろデリゲートはC#やVisual Basic .NET(以下VB.NET)などの言語でサポートされており、これらの言語を使用してアプリケーションを構築する際には押さえておかなければならない重要なポイントである。ここではいま一度、デリゲートを利用したプログラミング方法やデリゲートがもたらす機能についてまとめてみる。 通常のメソッド呼び出し .NET Frameworkにおいては、ある機能を実行するにはメソッドを呼び出

  • 第4回 デッドロックの回避とスレッド間での同期制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(後編) ―

    第4回 デッドロックの回避とスレッド間での同期制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(後編) ―:連載.NETマルチスレッド・プログラミング入門(2/3 ページ) スレッド同士を協調動作させる「同期制御」 マルチスレッドは処理を並行して同時実行する技術であるが、場合によってはそのスレッド同士がタイミングを計って協調動作しなければならないときがある。このような制御を「同期制御」と呼ぶ。同期制御の実現にはいくつかの方法が用意されているが、ここでは代表的な手法であるWait/Pulse方式を使用した同期制御の方法を紹介する。 ■Wait/Pulse方式(Monitorクラス)によるスレッドの同期制御 同期制御を行うための便利な機能として、Monitorクラス(System.Threading名前空間)には、Wait/Pulse/PulseAllという静的メソッドが用意

    第4回 デッドロックの回避とスレッド間での同期制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(後編) ―
  • Oracle共有サーバ接続を利用する

    ORACLE MASTER資格の中級に位置付けられ、取得すればOracle技術者としてグローバルに認定される「ORACLE MASTER Silver Oracle Database 10g」。例題を利用してポイントを押さえ、確実な合格を目指そう! 連載第14回「Oracleのネットワークのサーバ側構成とは?」、第15回「Oracleのネットワークのクライアント側構成を知る」で、Oracle Net Servicesを学びました。今回はOracle共有サーバを紹介します。 Oracle共有サーバ ポイント 共有サーバ構成に必要な手順と、共有サーバ接続を行った場合の特徴について確認します。特に共有サーバ接続時の処理の流れやアーキテクチャの特徴については、詳細な部分も含めて理解しておきましょう。 専用サーバ接続と共有サーバ接続 Oracle Netを使用した接続には、専用サーバ接続と共有サー

    Oracle共有サーバ接続を利用する
  • .NET Frameworkのバージョンを整理する

    対象ソフトウェア:Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows 10、Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016、.NET Framework 1.0/1.1/2.0/3.0/3.5/4/4.5/4.5.1/4.5.2/4.6/4.6.1/4.6.1/4.7/4.7.1 .NET Framework対応アプリケーション(.NETアプリケーション)を利用するには、対象コンピュータに.NET Frameworkを展開(インストール)する必要がある。 この展開作業における厄介な問題の一つは、.NET Frameworkに何種類ものバージョンがあって混乱しやすいことだ。展

    .NET Frameworkのバージョンを整理する
  • .NET TIPS スレッド・セーフなコレクション・オブジェクトを作成するには? - C# - @IT

    例えば、ArrayListオブジェクトの場合には、次のようにしてスレッド・セーフなコレクションを得ることができる。 ArrayList dangerousList = new ArrayList(); ArrayList safeList = ArrayList.Synchronized(dangerousList); この場合には、safeListオブジェクトに対するすべてのメソッドの呼び出しは同期を取りながら実行されるため、そのオブジェクトのロックは不要となる。 Synchronizedメソッドにより作成されるラッパー・オブジェクト Synchronizedメソッドが返すオブジェクトは、実際には各コレクション・クラスを継承したクラスのオブジェクトであり、そのクラスはコレクション・クラスのラッパー・クラスとなる。 例えばArrayListクラスの場合には、そのラッパー・クラスの名前は実際

  • https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/373threadtimer/threadtimer.html

  • .NET TIPS 監視により作成/変更が通知されたファイルを開くには? - C# VB.NET - @IT

    「TIPS:ファイルやディレクトリの作成/変更/削除を監視するには?」で解説したFileSystemWatcherクラス(System.IO名前空間)を利用するとファイルの作成や変更を即座に知ることができる。しかし、その通知を受けてファイルを加工したり移動したりしようとすると失敗する場合がある。稿では、このような状況を回避する方法について紹介する。 作成や変更のイベントを受けて、すぐファイルを操作しようとした場合に失敗するのは、ファイルの作成や変更が開始されるタイミングでイベントの通知が発生するためだ。つまり、イベントを受け取った時点では、ほかのプロセスがまだファイルを作成中あるいは変更中のため、ファイルがロックされた状態であると考えられる。このような状況は、当然ファイルのサイズが大きいほど起こりやすい。 FileSystemWatcherクラスではファイルの作成や変更の「完了」を知るこ

  • @IT:Visual Studio .NETによるチーム開発事始め Visual C# .NETでAPIリファレンスを作る(前編)

    あなたのチームでは、クラスやメソッドの知識を共有できているだろうか。 チーム開発では、プログラムのソース・ファイルを共有するのが一般的だ。その場合、どこに何のクラス、メソッド、プロパティがあるのかを、チーム内のメンバー全員が正確に把握できるようにして、知識を共有する必要がある。知識の共有が十分でないと、開発時にクラスやそのメンバの使用方法、機能を調べるなどの余分な「時間と労力のコスト」がかかってしまうからだ。また、余計な時間がかかるだけでなく、同じ機能を持つクラスやメソッドを複数作ったり、使い方を間違えたりといった「トラブルが発生する可能性」が高くなってしまう。 1.APIリファレンスのすすめ チームでクラスやメソッドの知識を共有するには、クラスやメソッドのリファレンス・マニュアル(以下、APIリファレンス)を作成することが欠かせない。APIリファレンスがあれば、チーム内の全員がクラスやメ

  • 「Windowsサービス起動時にタスクトレイアイコン表示(VB.NET)」(1) Insider.NET - @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