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

  • C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに

    Sourcetrailは、開発者が他人の書いたソースコードを理解し、生産的にコーディングを行えるよう支援する。開発者は既存のソースコードを理解することに多大な時間を費やすが、一般的なコードエディタは、こういった作業にはほとんど役に立たない。 Sourcetrailの主要開発者であるEberhard Gräther氏は、「Google Chrome」のグラフィックスチームにインターンシップとして参加した2012年時点の経験を次のように語っている。 「割り当てられた単純に見えるタスクに着手し、具体的なコードの改善に取り組み始めるとすぐに、Chromiumの巨大なアーキテクチャを理解する機会が全くないことに気付いた。ドキュメントはあまり役に立たず、開発チームのメンバーは非常に友好的だったが、コードベースについて質問するインターンに邪魔されることを好まないことも分かった。そこで、ソースコードを読ん

    C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに
    hogege
    hogege 2019/11/21
    ありがたや φ(..)メモメモ
  • PHPからSQL Serverに接続してみよう (1/2):.NET開発者のためのPHPアプリお手軽開発入門 - @IT

    PHPからSQL Serverに接続するには、Microsoftが提供するPHP拡張機能が必要だ。そのセットアップをし、接続を確認する簡単なコードを書いてみよう。 連載「.NET開発者のためのPHPアプリお手軽開発入門」 前回と前々回は、PHPプログラムを記述する上で覚えておきたい基礎構文やクラスなどについて見た。今回は、PHPからSQL Serverに接続するために必要となるMicrosoft Drivers for PHP for SQL Server(以下、PHP for SQL Server driver)をセットアップし、SQL Serverに接続してみよう。なお、今回は多くの開発マシンにインストール済みであろうSQL Server LocalDBを例とする。 PHP for SQL Server driverのインストール PHP for SQL Server driverはP

    PHPからSQL Serverに接続してみよう (1/2):.NET開発者のためのPHPアプリお手軽開発入門 - @IT
    hogege
    hogege 2018/10/23
    windows限定。linux(RHEL/CentOS)ではまだunixODBC要るのは変わらず?
  • PHPプログラミングも快適に! VS Codeの二大拡張機能

    PHPプログラミングも快適に! VS Codeの二大拡張機能:Visual Studio Code+PHPの可能性を探る(1/3 ページ) VS CodeとPHPでWebアプリ開発はどこまで簡単になるのかを探る新連載。今回はVS Codeを利用したPHPによるアプリ開発に必須の拡張機能を2つ紹介する。 連載「Visual Studio Code+PHPの可能性を探る」 連載では、Visual Studio Code(以下、VS Code)を使ってPHPプログラミングする際の基事項を紹介していく。ただし、PHPの構文や文法については取り上げない予定だ。これらについては、@IT内の連載「Web業界で働くためのPHP入門」やPHP公式サイトの「PHP マニュアル」などを参考にしてほしい。また、VS CodeのGUI構成や、基的な使い方については「Visual Studio Codeの使い方

    PHPプログラミングも快適に! VS Codeの二大拡張機能
  • 面倒な“Windows 10の更新”をスクリプト化できる新たな選択肢(その2)

    面倒な“Windows 10の更新”をスクリプト化できる新たな選択肢(その2):企業ユーザーに贈るWindows 10への乗り換え案内(30) 前回は、Windows Updateのスクリプトを使用した自動化に利用できる汎用的な方法と、Windows 10 バージョン1607およびWindows Server 2016で利用可能な新しいWMIプロバイダーについて説明しました。今回は、Windows 10 バージョン1709からの新機能を紹介します。 企業ユーザーに贈るWindows 10への乗り換え案内 さらに新しいWindows Update WMIプロバイダー(バージョン1709以降) 前回(第29回)、Windows 10 バージョン1607およびWindows Server 2016では、新たに「Windows Update WMI」プロバイダー(WMI名前空間root/Windo

    面倒な“Windows 10の更新”をスクリプト化できる新たな選択肢(その2)
    hogege
    hogege 2018/08/22
    なんか便利そう。φ(..)メモメモ
  • マイクロサービス時代のSSOを実現する「Keycloak」とは

    連載では、近年注目されている認証プロトコル「OpenID Connect」をサポートするオープンソースのシングルサインオン(SSO)ソフトウェア「Keycloak」の活用方法を解説していきます。第1回目は、APIにおける認証/認可の仕組みとKeycloakの概要を紹介します。 連載目次 APIにおける認証/認可の仕組み 近年、金融や流通分野で注目されている「APIエコノミー」や「マイクロサービスアーキテクチャ」などの登場により、サービスの機能を「REST API」として提供することが当たり前になってきています。そして、REST APIを公開するためには、誰がアクセスしてきたのかを確認するための「認証(Authentication)」と、APIへのアクセスを誰に許可するのかという「認可(Authorization)」の仕組みが不可欠です。 しかし、複数のサービスがそれぞれ個別に認証/許可を

    マイクロサービス時代のSSOを実現する「Keycloak」とは
  • ==演算子とEqualsメソッドの違いとは?[C#]

    .NETでは「2つのものが等しいかどうか」を比較するために==演算子、Equals/ReferenceEqualsメソッドを使える。これらの違い、使用する際の注意点を説明する。

    ==演算子とEqualsメソッドの違いとは?[C#]
    hogege
    hogege 2018/02/28
    バグがあったときに厄介なところのひとつ。理解できてないとテストコードが間違ってたりするから厄介。
  • Windows 10の「このPCを初期状態に戻す」「新たに開始」を実行して後悔する前に……

    大きな違いは、回復後のWindows 10のバージョンとビルド番号です。いずれの場合も、実行前のWindows 10と同じバージョン(バージョン1607ならバージョン1607に、バージョン1703ならバージョン1703に)に回復され、Windows 10 バージョン1703以前のReset this PCはRTM相当(15063.0や15063.413などアップグレードに使用されたリリースビルド)に回復されました。 Windows 10 バージョン1709のReset this PCの場合は、Reset this PCを実行する前の時点で更新済みのビルド番号に戻りました。Fresh startは、バージョン1703もバージョン1709も、Fresh startを実行する前の時点で更新済みのビルド番号に戻りました。 Fresh startは、インターネットからインストールソースをダウンロード

    Windows 10の「このPCを初期状態に戻す」「新たに開始」を実行して後悔する前に……
    hogege
    hogege 2018/02/16
    φ(..)メモメモ
  • 「Hadoopの処理の流れ」を理解し、実践する

    書籍の中から有用な技術情報をピックアップして紹介するシリーズ。今回は、秀和システム発行の書籍『Hadoopファーストガイド(2012年9月20日発行)』からの抜粋です。 ご注意:稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。 Hadoopの処理の流れ 前回はHadoopのメリットとデメリットを説明しました。今回は、「Hadoopの処理の流れ」を説明していきたいと思います。なお、稿では基的に「Hadoop Streaming」の挙動について説明していきますが、参考のためにHadoopの挙動についても触れていきます。 Mapフェーズ MapReduceはMapフェーズ、Shuffleフェーズ、Reduceフェーズの順で処理されていきます。まず、入力データはMapフェーズでMapper

    「Hadoopの処理の流れ」を理解し、実践する
  • ページをリダイレクト(画面遷移)するには?[JavaScript]

    JavaScriptを使って画面遷移を行うには、locationインタフェースのhrefプロパティ/assignメソッド/replaceメソッドが使える。 連載目次 表示しているページを別のページにリダイレクト(画面遷移)させたいときに、HTMLのリンク(<a>要素)ではなく、JavaScriptで実行したいことがあるだろう。また、ページをリダイレクトするときに、リダイレクト前に表示していたページをブラウザの履歴に残したくないと思ったこともあるのではないだろうか? 稿では、JavaScriptを使ってページを指定したURLへリダイレクトする方法を、整理して紹介する。 JavaScriptでリダイレクトする4通りの方法 最初に、JavaScriptでリダイレクトする方法の一覧を載せておこう(次の表)。指定したURLへリダイレクトする方法だけでも、4通りある(windowオブジェクトのhis

    ページをリダイレクト(画面遷移)するには?[JavaScript]
  • 今さら聞けない、「Sambaサーバーの冗長化」をDRBDでサクッと実現してしまう方法

    連載バックナンバー 前回まで、DRBD(Distributed Replicated Block Device)の基礎と概要、よく使われるDRBDの例である「高可用性システムの場合」と「災害対策システムの場合」の運用イメージを解説しました。しかし、高可用性システムとなると、自分の担当ではなかったり、規模が大きすぎて運用イメージがなかったりする人がいたかもしれません。 では、「Sambaファイルサーバーを冗長化する」ならばいかがでしょう。 今回は、こういったより身近な運用シーンからまずは「即導入」し、今後、自然災害などで被害を受けたシステムを復旧・修復する「DR(ディザスタリカバリ)」対策まで含めてイメージできるよう、OSの準備からDRBDのインストール手順、設定ファイルの記述方法と解説、構築や運用テクニックまで、順を追って説明します。 今回の構成イメージを図1に示します。二台のSambaサ

    今さら聞けない、「Sambaサーバーの冗長化」をDRBDでサクッと実現してしまう方法
  • WPF:例外をまとめてトラップするには?[C#/VB]

    [山康彦,BluewaterSoft/Microsoft MVP for Windows Development] 例外処理をまとめて1カ所に記述できたらよいのにと思ったことはないだろうか? 例えば、発生した例外を全てログに書き出したいときである。過去に筆者は、「try~catchしてロギングするコードを全てのメソッドに書け」というコーディングルールに遭遇したことがある。そんな面倒なことをしなければならないのだろうか? また、例えば、処理されなかった例外をまとめてトラップし、可能ならばその例外を無視してプログラムの実行を継続したい、継続が無理ならばユーザーフレンドリーなメッセージを出してからプログラムを終了したい、ということもあるだろう。 処理されなかった例外をまとめてトラップする方法について、.NET 2.0/Windowsフォームの場合は「.NET TIPS:適切に処理されなかった例

    WPF:例外をまとめてトラップするには?[C#/VB]
    hogege
    hogege 2015/12/18
    φ(・_・ このへんすぐに忘れてしまうんよねぇ(´д`)
  • 第1回 暗号化の基礎

    暗号化技術は、情報の保護やコンピューターセキュリティに欠かせない技術である。今回は暗号化技術の基礎として、暗号化の基、暗号の安全性、共通鍵暗号と公開鍵暗号について解説。 暗号化技術は、情報の保護やコンピューターセキュリティに欠かせない技術である。ファイルやデータの暗号化の他、HTTPSや、無線LANにおけるWEP/WPA/TKIP/AESのようなセキュアな通信、証明書やデジタル署名、PKIなど、多くの場面で暗号化技術が使われている。今回からしばらくは、暗号化の基礎や共通鍵暗号、公開鍵暗号、証明書、PKIなどについて、IT Proの初心者向けに暗号化技術の基礎を解説していく。今回は、暗号化の基礎を解説する。 暗号化とは データを保護するだけなら、暗号化ではなく、「ファイルの許可属性(読み出し禁止などの属性)」や「アクセス制御(ACL)」などの方法もある。これらは、アクセスするユーザーに応じ

    第1回 暗号化の基礎
    hogege
    hogege 2015/04/27
  • LINQ:複雑な検索をするために独自のWhereメソッドを作るには?[C#、VB]

    文字列のコレクションをLINQを使って次々と検索するときに、比較条件を場合分けしたいときがある。例えば、複数の「LIKE検索」をANDで結合したいときなどだ。そのままコードを書きくだせば可能なのだが、コードの可読性を上げようとして失敗することがある。稿では、失敗する例を紹介し、その対策として「Whereメソッド」を独自に作成して使う方法を解説する。 AND/ORが入り混じった複雑な条件の場合 あらかじめお断りしておくが、AND/ORやかっこが入り混じった当に複雑な条件の場合には、ラムダ式*1を動的に組み立てて式ツリーを生成することになる。そのような複雑な検索条件では、構文解析が必須であろう。構文解析を行うなら、そのついでに式ツリーを生成するのはそれほど困難なことではない。式ツリーを生成する方法は、「.NET TIPS:LINQ文で動的にWhere句を組み立てるには?[3.5、C#、VB

    LINQ:複雑な検索をするために独自のWhereメソッドを作るには?[C#、VB]
  • Windowsネットワークの基礎 - @IT

    Windowsネットワークの基礎 「Windowsネットワークの基礎」は、これからWindowsネットワークの管理を学びたい初心者管理者を対象に、「Windowsネットワーク」について、その基的な概念や使い方、運用方法、内部アーキテクチャ、トラブルシューティングなどについて解説するコーナーです。

  • 大量データをスムーズに処理 失敗しないバッチ処理のアーキテクチャ設計、5つのポイント

    バッチ処理とは 前回はWebアプリのアーキテクチャ設計の基礎を解説しました。今回はバッチ処理を円滑に行うためのアーキテクチャ設計のポイントを紹介します。 バッチ処理とは、蓄積された複数件のデータを、まとめて一括処理する処理形態のことを指します。このような処理形態においては、大量データの処理を一定時間以内に完了させるためのアーキテクチャを、さまざまな角度から検討していく必要があります。 また、画面オンライン処理とは異なり、ユーザーとの対話なく処理が進められます。よって、バッチ処理の途中でエラーが発生した場合の対応を考慮して、アーキテクチャを設計しなければなりません。バッチ処理の基についてより深く知りたい方は、下記参考記事をご参照ください。 参考リンク:鉄板焼のお店から学ぶ、バッチ処理"超"入門(@IT) バッチ処理におけるアーキテクチャ設計時の検討ポイント バッチ処理のアーキテクチャを考え

    大量データをスムーズに処理 失敗しないバッチ処理のアーキテクチャ設計、5つのポイント
  • 検収後に発覚した不具合の補修責任はどこまであるのか(前編)

    検収後に発覚した不具合の補修責任はどこまであるのか(前編):「訴えてやる!」の前に読む IT訴訟 徹底解説(4)(1/2 ページ) 連載目次 今回は「稼働後に検出した不具合を理由に、ユーザーがいったんは検収したシステムの支払いを拒んだ事件」と、そこから得られる知見を解説しよう。 請負契約によるシステム開発において、検収まで行った発注者が受注者との契約を解除し費用の支払いを拒むという例は、ユーザーとベンダーがシステムの完成をめぐって争うことの多いIT業界においても決して多いことではない。 しかし、この判決は、システム導入の目的と要件の関係やその検証、および導入後のベンダーの不具合対応などについて、多くの論点を提供してくれる。今後に役立つ知見を残してくれるものであることから、今回の題材として取り上げることとした。 請負契約において、ベンダーが「ユーザーと交わした約束をしっかりと果たした」と言え

    検収後に発覚した不具合の補修責任はどこまであるのか(前編)
  • Dockerfileとdocker buildコマンドでDockerイメージの作成

    前回の「ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方」では、Docker EngineのインストールからDockerコンテナーを作成し、Dockerイメージに保存するところまでを紹介しました。 Dockerは開発のスピードが速く、7月3日にはバージョン1.1.0がリリースされています。詳細はブログ「ANNOUNCING DOCKER 1.1.0」を参照してください。 今回は、Dockerコンテナーの構成とDockerイメージの作成を一括で行う、「Dockerfile」ファイルと「docker build」コマンドの利用方法を紹介します。 docker run/docker commitコマンドによるコンテナー作成の限界 前回はDockerコンテナーを「docker run」コマンドで起動し、コンテナー内でソフトウェアのインストールやサービス起動など自由に構成で

    Dockerfileとdocker buildコマンドでDockerイメージの作成
  • 第1回 TypeScriptの概要

    TypeScriptとは この連載の目的はTypeScriptの基的なコードの書き方を初歩から学ぶことである。プログラミングの経験がない読者を対象としているので、パソコンの基操作ができるぐらいの前提知識があれば読み進められるようにできるだけやさしく解説していくこととする。現在、TypeScript関連の資料にはJavaScriptの知識を前提として、JavaScriptとの差分を掲載しているものが多いが、ここではそういった前提を設定せずに1からTypeScript(とJavaScript)を学ぶこととする。 初回の恒例として、TypeScriptの概要がこの後に続くのだが、能書きはいいからとにかくやってみたいという方は、この先を飛ばして「いちばん簡単なTypeScriptのプログラム」に進んでもらって構わない。 さて、その「TypeScriptとは」なのだが、ひと言で表すなら「Java

    第1回 TypeScriptの概要
  • PowerShell Desired State Configuration(DSC)とは(前編)

    PowerShell Desired State Configuration(DSC)とは(前編):PowerShell DSCで始めるWindowsインフラストラクチャ自動化の基(1/2 ページ) Windows OSの設定や構成を変更する場合、GUIの管理ツールを使うのが一般的である。だが台数が多かったり、構成変更や以前の構成への復旧などが頻繁だったりするとGUIでは非常に面倒だし、間違いもしやすくなる。こんな場合はPowerShell DSCを使ってインフラ構築作業を自動化するとよい。 連載目次 標準でGUI管理ツールを備えているWindows Serverでは、さまざまな設定・構築作業をGUIを通して手軽に実行できる。その半面、手動作業が必要なため、設定・構築に時間がかかったり設定を元に戻すのに手間が掛かったり、さらには複数のサーバーを同一の構成にそろえるのに苦労したりしがちだ。

    PowerShell Desired State Configuration(DSC)とは(前編)
  • Active Directoryドメインをアップグレードする

    Active Directoryドメインをアップグレードする:今から始めるWindows Server 2003移行のススメ(2) Active Directoryドメインの移行には、「ドメインをアップグレードする」と「ドメインを再編して、オブジェクトを移行する」の2パターンがある。今回は「ドメインをアップグレードする」場合の手順を解説する。 連載目次 Active Directoryドメインのアップグレード方法 今回は、既存のドメインをそのまま使用してアップグレードする「ドメインアップグレード」の方法を解説する。Active Directoryドメインをアップグレードする場合は、既存のドメイン環境に新しいドメインコントローラー(Windows Server 2012 R2)を追加して、古いドメインコントローラー(Windows Server 2003)を削除するという手順になる。具体的な

    Active Directoryドメインをアップグレードする
    hogege
    hogege 2014/05/12
    AD Serverのバージョンアップ。簡潔に纏まってる。FSMOって小規模な環境だと知らないって事よくあるけど、知らないと障害発生時に困るんよねぇ。