タグ

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

  • 第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―

    第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―:連載.NETマルチスレッド・プログラミング入門(2/3 ページ) 複数のスレッドに対して安全な「スレッドセーフ」 複数のスレッドからメソッドやプロパティにアクセスされても問題が起きない、もしくは複数スレッドからアクセスされることを想定し排他制御が行われているようなクラスやメソッドを「スレッドセーフ」と呼ぶ。 冒頭のList1では、Bankクラスがスレッドセーフでなかったために、複数スレッドからアクセスを行うと問題が生じた。スレッドセーフでないリソースを複数スレッドからアクセスする場合には排他制御を行わなくてはならないわけだが、これには2つの方法がある。 アクセスされるリソースのクラスをスレッドセーフにする アクセスするクラスで排他制御を行う List1の例で

    第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―
    kobake
    kobake 2020/06/17
  • 【 mkfs 】コマンド――HDDなどをフォーマットする

    LinuxコマンドTips一覧 連載は、Linuxのコマンドについて、基書式からオプション、具体的な実行例までを紹介していきます。今回は、HDDなどをフォーマットする「mkfs」コマンドです。 mkfsコマンドとは? 「mkfs」は、フォーマットを行うためのコマンドです。mkfsを使うことでファイルシステムを構築できます ※1。 購入したHDDをLinuxから使えるようにするには、パーティションの作成、フォーマット、マウントという手順を踏む必要があります ※2。 パーティションの作成では、fdiskコマンド(連載第187回)やgdiskコマンド(第188回)などを使います。その後、mkfsコマンドでフォーマットし、mountコマンド(第183回)でマウントします。 ※1 ファイルの管理方式自体や管理方式にのっとってフォーマットした記憶領域のことを「ファイルシステム」と言う。 ※2

    【 mkfs 】コマンド――HDDなどをフォーマットする
    kobake
    kobake 2020/06/05
  • ソースコードがなくても「.exeをデバッグ」、Visual Studioの利用法をMicrosoftが紹介

    ソースコードがなくても「.exeをデバッグ」、Visual Studioの利用法をMicrosoftが紹介:標準機能で実行可能 Microsoftは、「Visual Studio」で任意の実行可能ファイルをプロジェクトとして開き、デバッグやプロファイリングを実行する機能を公式ブログで紹介した。

    ソースコードがなくても「.exeをデバッグ」、Visual Studioの利用法をMicrosoftが紹介
    kobake
    kobake 2019/09/21
  • .NET TIPS [ASP.NET]アプリケーション共通のロギングを行うには?(HTTPモジュール編) - C# VB.NET Webフォーム - @IT

    別稿「TIPS:[ASP.NET]アプリケーション共通のロギングを行うには?(Global.asax編)」では、アプリケーション共通のロギング機能をGlobal.asaxで実装する方法について紹介した。これとほとんど同様の動作を「HTTPモジュール」という機能を用いることでも実現できる。 よく似た概念として「HTTPハンドラ」という概念があるが(別稿「TIPS:[ASP.NET]特定の拡張子に対するアクセスを制限するには?」や「TIPS:[ASP.NETASP.NETアプリケーションに独自の拡張子を追加するには?」を参照)、HTTPハンドラが「リクエストを直接に処理する」ためのものであったのに対し、HTTPモジュールは「リクエスト処理に特定の機能を付加する」ための役割を提供する。例えば、ASP.NETの認証、セッション、キャッシング、エラー・ハンドルなどは、内部的にはすべてHTTPモジュ

    kobake
    kobake 2019/09/12
  • LINQ to SQLのログ出力をVisual Studioの[出力]ウィンドウに出力するには?[3.5、C#、VB] - @IT

    IT > Insider.NET > .NET TIPS > LINQ to SQLのログ出力をVisual Studioの[出力]ウィンドウに出力するには?[3.5、C#、VB] 「LINQ to SQLにより生成されるSQL文を確認するには?」で示しているように、データコンテキスト(DataContext)のLogプロパティの設定により、LINQのクエリから生成される実際のSQL文を標準出力やファイルに出力し確認することができる。 しかしVisual Studioを使ってコーディングしている場合、そのようなSQL文のログはIDEの[出力]ウィンドウに出力できれば便利である。稿ではその方法について解説する。 TextWriterクラスの派生クラスでDebugクラスを使用 データコンテキストのLogプロパティには、抽象クラスであるTextWriterクラス(System.IO名前空間)

    kobake
    kobake 2018/10/05
  • 範囲を指定してスクリーンショットを撮る【Windows 10/11】

    社内アプリケーションのマニュアルなどを作成するため、Windows OSでスクリーンショットを撮りたい(画面をキャプチャーしたい)ことがあるのではないだろうか。そのような場合、[PrintScrn]キーや[Alt]+[PrintScrn]キーで全画面やアクティブウィンドウのスクリーンショットが撮れるのは、ご存じだろう。 だが、画面あるいはウィンドウの一部分のみが必要な場合、スクリーンショットで撮った画像をペイントツールで開き、必要な範囲だけ切り出して画像ファイルに保存し直す、といった操作が必要になり、手間がかかる。 そこでTech TIPSでは、現在のWindows 10/11で、(「画面領域切り取り」とも呼ばれる)特定の領域を範囲指定してスクリーンショットを撮る方法を紹介する。 長方形で範囲指定してスクリーンショットを撮るには? Windows 10やWindows 11には、「範囲指

    範囲を指定してスクリーンショットを撮る【Windows 10/11】
    kobake
    kobake 2018/10/03
  • .NET TIPS [ASP.NET]aspxファイルでコメントを記述するには? - C# Webフォーム - @IT

    aspxファイルでコメントを記述する場合や、すでに記述しているコントロールをコメント・アウトする場合には、コメントとする個所を“<%--”と“--%>”で囲めばよい。 “<%-- --%>”を使用したコメント部分は、サーバ側ではまったく処理されない。WebページでのコメントといえばHTMLで定められた“<!-- -->”があるが、これとは働きが異なることに注意してほしい。HTMLのコメントはブラウザに対して表示を抑制するだけで、ASP.NETでは単なる文字列として処理され、ブラウザに送信される。 次のサンプル・プログラムは3つのDataGridコントロールを使用しているが、そのうち2つをそれぞれのコメント文でコメント・アウトしている。 <%@ Page Language="C#" EnableViewState="false" %> <html> <head> <script runat=

    kobake
    kobake 2018/09/03
  • Microsoft、オープンソースの自動UIテストスクリプトツール「WinAppDriver UI Recorder」を公開

    Microsoft、オープンソースの自動UIテストスクリプトツール「WinAppDriver UI Recorder」を公開:自動UIテストのスクリプトを簡単に作成できる Microsoftは、Windows 10対応のUI自動化サービス「WinAppDriver」の新しいオープンソーステストスクリプトツール「WinAppDriver UI Recorder」を公開した。 Microsoftは2018年6月20日(米国時間)、「Windows Application Driver」(WinAppDriver)コミュニティー向けの新しいオープンソースツール「WinAppDriver UI Recorder」(以下、UI Recorder)の公開を発表した。UI Recorderは、自動化されたUI(ユーザーインタフェース)テストのスクリプトを簡単に作成できるツールだ。 WinAppDrive

    Microsoft、オープンソースの自動UIテストスクリプトツール「WinAppDriver UI Recorder」を公開
    kobake
    kobake 2018/06/23
  • MACアドレスを変更する

    イーサネット・インターフェイス・カードには必ず固有のMACアドレスが設定されている。だが場合によっては、別のMACアドレスを設定したいこともあるだろう。デバイス・ドライバによっては、GUI画面で設定ができるようになっているものがある。ただし設定をミスすると、ネットワークに重大なトラブルが発生する可能性があるので、その目的や意味をよく理解したうえで実行する必要がある。 解説 コンピュータに装備されているイーサネット・カードには、それぞれ固有の物理的なアドレス(MACアドレス)が付けられている。このMACアドレスは、イーサネット・ケーブル上でパケット(イーサネットでは「フレーム」という)の送受信先を決めるための重要なあて先であり、同じケーブル上に接続されているコンピュータ同士では、重複しないように割り当てられていなければならない。さもないと、あて先が衝突してしまって、通信できなくなってしまうか

    MACアドレスを変更する
    kobake
    kobake 2018/01/17
  • Excelにメアドや別シートへのセル指定リンクを相対パスで設定

    業務効率化に役立つVBA/マクロのさまざまなTipsをコード例を交えて紹介していきます。今回は、HyperlinksのEmailSubjectプロパティを使い、リンクにメールアドレスを設定しメールの件名を指定する方法と、リンクで任意のシートにジャンプする方法について。

    Excelにメアドや別シートへのセル指定リンクを相対パスで設定
    kobake
    kobake 2017/12/19
  • Active Directoryオブジェクトの識別名(DN)とは

    解説 Active Directoryでは、オブジェクトを一意に識別するために、「識別名」という表記方法を利用する。TIPSでは、この識別名について説明する。 ●識別名とは 識別名(DN:Distinguished Name)は、Active Directoryのオブジェクトを表記するために使われる表記方法であり、例えば次のようなものである(dsqueryはActive Directoryの問い合わせを行うコマンド)。 これは、example.co.jpドメインにある、Eigyou1という組織単位(OU)に属するsuzukiというユーザーアカウントを問い合わせた場合の例である。「CN=…」で始まる表記がDN名である(前後のダブルクォートはDNには含まれないが、コマンドなどで使用する場合は、空白や特殊文字などを含むことができるように、このように囲んでおく)。GUIのツール([Active

    Active Directoryオブジェクトの識別名(DN)とは
    kobake
    kobake 2017/07/24
  • pushd/popdでフォルダーを移動する

    cdコマンドで移動すると履歴が残らず、元のフォルダーへ戻るのが面倒である。pushdコマンドで移動すると、履歴がスタックに残り、popdコマンドで簡単に戻ってくることができる。引数なしでpushdコマンドを実行すると、履歴が表示される。 解説 コマンドプロンプト上で作業をする場合、あちこちのフォルダーへ移動しながらファイルを操作したり、コマンドを実行したりすることが多い。Windows OSに限らず、コマンドや設定ファイル、ログファイルなどは複数のフォルダーに分かれて置かれているため、このような移動は避けられない。もしフォルダーを移動せずに作業しようとすると、全てのファイルパスをフルパスで指定しなければならず、とても煩わしくなるからだ。 ●cdではなく、pushdコマンドで移動する フォルダーを移動する場合、コマンドプロンプトでは「cd」コマンドを利用する。引数に移動したい先のフォルダー名

    pushd/popdでフォルダーを移動する
    kobake
    kobake 2017/04/04
  • Windows 10のデフォルトのWebブラウザをMicrosoft Edgeから別のブラウザに変更する

    Windows 10のデフォルトのWebブラウザをMicrosoft Edgeから別のブラウザに変更する:Tech TIPS Windows 7/8.xからWindows 10にアップグレードすると、通常はデフォルトのWebブラウザがMicrosoft Edgeに変わってしまう。使い慣れたWebブラウザをデフォルトにする方法は?

    Windows 10のデフォルトのWebブラウザをMicrosoft Edgeから別のブラウザに変更する
    kobake
    kobake 2017/02/17
  • 意外と知らないバージョン表記・数字の豆知識

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) ちまたにあふれるバージョン表記 少し前に「Web 2.0」「○○2.0」という表記が流行したのを覚えていますでしょうか。よく見かける広告のコピーにも、最近では「バージョンアップ」という言葉が普通に使われています。バージョンや、バージョン表記は、ソフトウェアの世界だけでなく、ごくごく一般化したように思えます。しかし実際には、どういう意味か分からないのが、バージョン表記です。 アプリケーションソフトウェアの開発は、さまざまな状態/段階を経て完成します。その段階/状態と、リリース後の状態/段階を示したのが、バージョン表記です。 例えば、数字以外でも、以下のような表記を見かけたことはありません

    意外と知らないバージョン表記・数字の豆知識
    kobake
    kobake 2016/12/24
  • HttpClientクラスでシフトJISのWebページを取得するには?[C#、VB]

    .NET Framework 4.5で新設されたHttpClientクラス(System.Net.Http名前空間)のGetStringAsyncメソッドを使うと、簡単にWebページの内容を文字列として取得できる。しかし、文字コードにシフトJISを使っているWebサイトでは文字化けしてしまう。どうすれば文字化けさせることなく取得できるだろうか? 稿では、そのような文字化けが発生する条件を説明し、そんな場合にWebページの内容を文字列として取得する方法を解説する。 文字化けが発生する条件 HttpClientクラスのGetStringAsyncメソッドを使ってWebページの内容を文字列として取得する方法は、「.NET TIPS:HttpClientクラスでWebページを取得するには?[C#、VB]」で紹介した(そのコードを、以降では「以前のコード」と呼ぶ)。なお、その記事で解説していること

    HttpClientクラスでシフトJISのWebページを取得するには?[C#、VB]
    kobake
    kobake 2016/11/30
  • DOS起動用のUSBメモリを作る(DOS-on-USB編)

    しかしDOSを起動するためのフロッピー・ドライブは、PCの標準機能でなくなってから久しく、入手自体も困難になりつつある。わざわざBIOSアップデートのためだけに、ほかにほとんど使いみちのないフロッピー・ドライブを購入するのももったいない(フロッピー・ドライブとWindows XPがあれば、関連記事の方法で簡単にDOSの起動プロッピーが作成できる)。 そこでこのような場合、DOSを起動できるUSBフラッシュメモリ(USBメモリ)を作成することをおすすめする。USBメモリの容量も16Mbytes程度あれば十分なので、使われずに机の奥で眠っているものに、いざというときのためにDOS環境を構築して持っておくとよいだろう。ただ、USBメモリにDOSのシステム・ファイルをコピーしただけでは、DOSが起動できるUSBメモリは作成できない。Linuxのfdiskを使ってUSBメモリにブータブル・パーティシ

    DOS起動用のUSBメモリを作る(DOS-on-USB編)
    kobake
    kobake 2016/10/23
  • Windows 10でUbuntuのシェル「Bash」が動き始める! だが日本語はどうなる?

    Windows 10でUbuntuのシェル「Bash」が動き始める! だが日語はどうなる?:Windows 10 The Latest(1/2 ページ) Windows 10にLinuxサブシステムが実装され、UbuntuのBashが利用できるようになるという。その用途や仕組みは? 日語に関するWindowsならではの宿命的課題にも触れる。

    Windows 10でUbuntuのシェル「Bash」が動き始める! だが日本語はどうなる?
    kobake
    kobake 2016/08/01
  • 「コーディングがはかどる」BGMがあるそうです

    「コーディングがはかどる」かもしれないプログラマーの皆さん向けの音楽サイトがあるそうです。ちょっと試してみました。 今、BGMは流れていますか? 家で、電車で、会社で──。「NO MUSIC, NO LIFE」までではないにしても、“ながら音楽”の習慣がある人は多いでしょう。特に論理的な思考を必要とするプログラマーの皆さんは、良いコードを効率よく書くためにどんな環境が必要か、どんな音楽だとはかどるか、それぞれ自身の方法論を持っていると思います。 例えば、アマゾンの定額制音楽配信サービス「Prime Music」には、「~~のための音楽」といった、あるテーマに沿った楽曲を集めたプレイリストがたくさん登録されています。「ドライブに最適なJ-POP」「お休み前に聴くピアノソロ」「恋がしたくなるJ-POP」などの他に、「仕事がはかどるジャズ」「残業を乗り越えるサントラ」「満員電車でイライラしないポ

    「コーディングがはかどる」BGMがあるそうです
    kobake
    kobake 2016/02/27
  • Windowsのシンボリックリンクとジャンクションとハードリンクの違い

    対象OS:Windows 2000/Windows XP/Windows Vista/Windows 7/Windows 8/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012 解説 ●Windows OSで利用できるリンクの種類 Windows OSでは、ファイルやフォルダ名へのリンク(参照)を行う機能として、「ハードリンク」や「ジャンクション」「シンボリック・リンク」などがある。これらは同じような機能を提供しているが、例えば「フォルダへのリンク」と「ファイルへのリンク」の扱いが異なるなど、いくらか違いがある。ユーザーは用途に応じてこれらを使い分ける必要がある。 それぞれのリンクの特徴を表にまとめておく。

    Windowsのシンボリックリンクとジャンクションとハードリンクの違い
    kobake
    kobake 2015/12/06
  • VMware ESX Serverのアーキテクチャ概要 - @IT

    コンピュータの世界において仮想化とは、資源の物理的特性を抽象化することによって、それを利用するOSやアプリケーション、ユーザーなどから隠ぺいする技法である。それによって、サーバやOS、アプリケーション、ストレージなど1つの物理的な資源(ハードウェア・リソース)を複数の論理的な資源に見せたり、複数のストレージやサーバなどの物理的な資源を1つの論理的なリソースに見せ掛けたりすることが可能になる。現在、一般的に仮想化といった場合は、以下のような種類が挙げられる。 サーバの仮想化 クライアントの仮想化 ストレージの仮想化 アプリケーションの仮想化 ここでは、その中でも特に注目を集めているサーバの仮想化に的を絞って解説していく。サーバの仮想化を使用することによって、1台のサーバ上で複数のOSを同時に稼働させることが可能になる。サーバの仮想化というのは、実はそれほど新しい考え方ではなく、その歴史をたど

    kobake
    kobake 2015/06/23