タグ

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

  • CNN(Convolutional Neural Network)を理解しよう(TensorFlow編) - Deep Insider

    第4回 CNN(Convolutional Neural Network)を理解しよう(TensorFlow編):TensorFlow入門 画像認識でよく使われるディープラーニングの代表的手法「CNN」を解説。「畳み込み」「プーリング」「活性化関数」「CNNのネットワーク構成」「ソフトマックス関数」といった基礎と、注意点を押さえよう。

    CNN(Convolutional Neural Network)を理解しよう(TensorFlow編) - Deep Insider
  • Visual Studio Codeの拡張機能を作成する

    「Visual Studio Codeの拡張機能を使ってみよう」ではVisual Studio Codeの拡張機能の使い方を見た。今回は拡張機能を自分で作成しながら、その基を見ていこう。今回はWindowsMacで動作を確認している。 拡張機能作成に必要なもの VS Codeの拡張機能作成には以下を使用するのがよい。 yo、generator-code: Node.js上で動作するスキャフォールディングツール(yo)と、拡張機能のひな型のジェネレーター yoとgenerator-codeをインストールするには、Node.jsとnpmが必要なので、これらもPCにインストールされていて、パスが通っている必要がある。拡張機能を作成してみたいという方は準備しておこう。 Node.jsとnpmがインストールされていれば、yoとgenerator-codeは以下のコマンドラインでインストールできる

    Visual Studio Codeの拡張機能を作成する
  • Hotspot VMの基本構造を理解する

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

    Hotspot VMの基本構造を理解する
  • 第15回 信頼性のある通信を実現するTCPプロトコル(2)

    TCPヘッダの構造 TCPでは信頼性の高い通信を実現するために、受信確認やスライディング・ウィンドウ制御、そしてさまざまな付加機能などを用意している。そのためUDPよりも複雑なヘッダ情報を持っている。「チェックサム」はIPヘッダなどと同様に、1の補数で計算する。 連載第7回「データグラム通信を実現するUDPプロトコル―2.UDPパケットの構造」で示したUDPパケットの構造と比べると、非常に複雑になっている。UDPでは、通信に先立ってコネクションを確立する必要のないデータグラム型通信モデルを使用しているため、送信される各UDPパケットは完全に独立していた。そのため、UDPパケットごとにあて先のポート番号(送信元を区別するための送信元ポート番号)さえあれば、相手にパケットを届けることができる。 だがTCPでは、通信に先立ってコネクションを開設し、さらに通信中にも、前回解説したシーケンス番号に基

    第15回 信頼性のある通信を実現するTCPプロトコル(2)
  • RIPの仕組みと運用法を知ろう!

    最も歴史あるルーティング・プロトコルのRIPは、大規模で複雑なネットワークでの使用には向いていませんが、そのシンプルさゆえに多くの企業で利用されています。今回は、そのメッセージ交換の仕組みと、運用の際の簡単なヒントを紹介していきます。また、「連載:ルータの仕組みを学ぼう 第2回 イーサネットとルーティング」「連載:ネットワーク・コマンドでトラブル解決 第3回 ルーティングの設定は正しいか?」などを一読されると、さらにRIPに対する理解が深まるはずです RIP(Routing Information Protocol)の歴史は古く、ルーティング・プロトコルとしては、最も古いプロトコルです。現在も多くの企業で利用されています。RIPがいまも利用されている理由としては、非常に運用が容易であること、また、多くの企業のサーバで利用されているUNIXのほか、OSに標準でRIPを実装した4.3BSD(B

    RIPの仕組みと運用法を知ろう!
  • 第11回 MACアドレスを解決するARPプロトコル

    ARPは、与えられたIPアドレスからMACアドレスを求めるためのプロトコルである。動作原理は非常に単純で、ARP要求をブロードキャストすると、該当するIPアドレスを持つコンピュータがARP応答を返す、というだけである。次の図を見ていただきたい。 ARPの動作 ARPパケットをブロードキャストで送信すると、該当するIPアドレスを持つコンピュータは、ARPの応答パケットを(ユニキャスト通信で)返送する。返信パケットには返信元のコンピュータのMACアドレスが含まれている。このARPパケットのやり取りにより、お互いのMACアドレスが分かる。後でPC3がPC1に対してARP要求を送信する必要はない。 ARPの動作 いま、PC1が、同じイーサネットのセグメント上に存在し、同じネットワーク・アドレス(と同じネットマスク)を共有しているPC3と通信したいとする。PC1は、PC3のIPアドレスは知っているが

    第11回 MACアドレスを解決するARPプロトコル
  • ネットワークデバイス(ルーター、スイッチ、ブリッジ、ハブなど)の目的と機能 基礎の基礎

    連載目次 シスコシステムズの資格「CCENT」取得を目標に勉強している新米ネットワークエンジニアのS君(いきさつはこちら)の、レポート提出日がやってきました。 炭水化物好きの先輩社員 齋藤さんにランチをごちそうすると、齋藤さんがレポートを添削してくれるのです。前回は「よくできました」の評価をもらったS君ですが、今回はどうでしょう? S君のレポート「ネットワークデバイスの目的と機能」 今回はネットワークデバイスについて調べました。ネットワークデバイスといえば、PCをネットワーク接続するためのNIC(Network Interface Card)、いわゆるLANカードも含まれますが、今回はネットワーク上の中継機器に当たるリピーター、ハブ、ブリッジ、スイッチ、ルーターについてまとめました。 なお、前回いただいた宿題の回答は、後半にまとめました。併せて添削をお願いします。 リピーター リピーターは

    ネットワークデバイス(ルーター、スイッチ、ブリッジ、ハブなど)の目的と機能 基礎の基礎
  • Google Cloud Platform、15のサービスで永久無料枠を提供開始

    グーグルは2017年3月10日、Google Cloud Next 17の3日目の基調講演で、15のサービスにおける永久無料枠を発表した。提供開始済みで、日からも利用できる。Google Cloudのプロダクトディベロップメント担当バイスプレジデントであるサム・ラムジ(Sam Ramji)氏は、「これがオープンな開発の姿だと私たちには見える」と語った。 Google Cloud Engine(米国リージョンのf1-micro 1インスタンスおよびHDD 30GB) Google Cloud Storage(5GB) Google Cloud Datastore(1GB、読み出し5万回、書き込み2万回、削除2万件) Google App Engine(24インスタンス時間/日、Cloud Storage 5GB、共有memcache) Google Pub/Sub (メッセージ10GB)

    Google Cloud Platform、15のサービスで永久無料枠を提供開始
  • JavaScriptでHTMLをダイナミックに書き換える 後編

    まとめて更新を行う(DocumentFragment) これまで、HTMLの要素をDOMを使って自由に操る方法を学んできました。基はすでに身についていますので、あとは応用で、いろいろなWebアプリケーションを作ることができるはずです。しかし、Webアプリケーションを作り込むうえで、パフォーマンスという問題から逃れることはできません。 サーバー上で動作するアプリケーションの場合は、サーバーの負荷を軽減するためにさまざまな工夫をしますが、JavaScriptといえども例外ではありません。近年のWebアプリケーションにおいては、ブラウザ側で実行されるJavaScriptの役割が重要になり、複雑な処理が求められるようになってきました。JavaScriptの書き方によって、表示速度が大きく変わってしまうことがあります。この処理時間とは、ブラウザのレンダリング時間のことです。この点を考慮に入れてJa

    JavaScriptでHTMLをダイナミックに書き換える 後編
  • 本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT

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

    本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT
    shiba_yu36
    shiba_yu36 2015/08/23
    パスワードのソルト、ストレッチング周りの基礎
  • 開発者が知っておくべき、6つのUIアーキテクチャ・パターン - @IT

    .NET開発者中心 厳選ブログ記事 開発者が知っておくべき、6つのUIアーキテクチャ・パターン ―― 「matarillo.com」より ―― 猪股 健太郎 2011/12/15 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 Martin Fowler氏の『GUI Architectures』を訳して公開しようと思ったのだが、FAQページに「PofEAAの続編などは商業出版する予定なので翻訳はしないでほしい」と書いてある。なので翻訳の公開はやめて、「

  • TypeScriptで学ぶJavaScript入門 - @IT

    メディア ローコード/ノーコードセントラル クラウドネイティブセントラル 連載一覧 @IT Special セミナー ホワイトペーパー クラウド AI IoT アジャイル/DevOps セキュリティ キャリア&スキル Windows 機械学習 eBook その他 Server & Storage HTML5 + UX Smart & Social Coding Edge Java Agile Database Expert Linux & OSS Master of IP Network Security & Trust System Design Test & Tools Insider.NET ブログ AI for エンジニアリング サプライチェーン攻撃 脆弱性管理 OSS管理 Windows 11/365 GitHub その他の特集 @IT アジャイル/DevOps Insider.

  • 第36回 理想と現実のギャップは早めに軌道修正を――GitHubでコードをアピールして“はてな”に転職した若きエンジニア

    「間違えた!」と思っても、3年は我慢すべきか? 就職活動や転職活動を経て、目指す会社に入社してみたものの、思い描いていたイメージと「何かが違う」――そんな経験を持つ人も少なくないだろう。 世の中、理想と現実が細部まで一致することはまずあり得ない。多くの人が、細かなギャップを埋めながら現実と向き合っているはずだ。 しかしそのギャップが埋めきれないほど大きかった場合には、将来のためにも早い段階で大きな方向修正を行うべきかもしれない。たとえ転職してでも。 今回お話を伺った芝端紹公さんは、理想とするエンジニア像を曲げることなく追い求め、理想の仕事に巡り合えたエンジニアの一人である。 芝端さんの行動力は、理想と現実とのギャップに悩む多くのエンジニアにとっても参考になるのではないだろうか。 【転職者プロフィール】 芝端紹公さん(30歳) 株式会社はてな アプリケーションエンジニア(2012年4月入社)

    第36回 理想と現実のギャップは早めに軌道修正を――GitHubでコードをアピールして“はてな”に転職した若きエンジニア
  • 軽量仮想化機能「chroot」と「jail」

    軽量仮想化機能「chroot」と「jail」:FreeBSDのコレ知ってる?(2)(1/2 ページ) 現在主流の仮想化技術は、ハードウェアをソフトウェアで仮想化する方法を採用していますが、そこまで仮想化する必要がないケースもあります。そんな時に便利な2つのリソース・コンパートメント機能を紹介します。(編集部) 非ハイパーバイザ型の仮想化機能 ハイパーバイザタイプの仮想化技術からアプリケーションとして動作する仮想化技術まで、現在はさまざまな仮想化技術が活用されている。メニーコアの時代に入るに従い、こうした仮想化技術はますます活躍の場を広げることになるものとみられる。 しかしながら、マルチコアを備えた強力なマシンが出回る以前の段階から、こうした仮想化技術は利用されていた。現在主流の仮想化技術はハードウェアをソフトウェアで仮想化するという方法を採用しているが、実際にはそこまで仮想化する必要がない

    軽量仮想化機能「chroot」と「jail」
  • 検索エンジンの常識をApache Solrで身につける

    表のような転置インデックス完成後は、クエリに対する結果を返す処理は簡単です。例えば、ユーザーが「Vim」というクエリを発行すると、検索エンジンは「Vim」を含む文書IDリストを返します。表では文書IDの「2」を返します。 検索エンジンを取り巻く7つの技術 検索エンジンのコア技術は前節で紹介したインデックスです。しかし実際に、検索インデックスだけで構成する検索エンジンから、検索サービスを構築するには多大なコストが掛かります。以下の節で検索エンジンを利用したシステム、検索サービスを構築する際に便利なコンポーネントを紹介します。 これらの機能のいくつかは、多くの検索エンジンが組み込んでいます。一方で、簡素な検索エンジンは、以下で紹介するコンポーネントをサポートしていないため、ユーザーが独自に開発するか、その機能を持つコンポーネントを組み込む必要があるものもあります。 【1】トークナイザ 検索エン

    検索エンジンの常識をApache Solrで身につける
    shiba_yu36
    shiba_yu36 2015/04/22
    検索技術の基本学べる
  • 子どもにプログラムの手順だけでなく概念を伝えたい

    プログラミングの手順だけでなく概念を伝えたい ワークショップの後、講師の原さんに少し話を聞いた。興味深かったのは、次の一言だ。 「プログラミングの手順だけでなく、概念も知ってもらいたいと思っています」 ワークショップの説明でも、ただブラックボックスとして手順だけを覚えてもらうのではなく、制御構造や変数といったプログラミングの基的な概念を、子どもなりに理解してもらおうと工夫している様子が伝わってきた。 例えば、「ゲームオーバー」の機能を実装するときは、次のやりとりになる。 講師 「ゲームオーバーになったら、どうなる?」 子ども 「ゲームができなくなる!」 講師 「そうですね。そこで全体を止めようと思います。(Scratchに用意されているブロックを見ながら)『制御』の中の『すべてをとめる』が使えそうですね。これを使ってみましょう」 ビジュアルプログラミング環境Scratchとは Scrat

    子どもにプログラムの手順だけでなく概念を伝えたい
  • 結局、Twitter API 1.1で何が変わる? 5つのポイント

    結局、Twitter API 1.1で何が変わる? 5つのポイント:Twitter APIと開発者規約変更のインパクトまとめ 変更による影響範囲や、一部APIの廃止、レートリミット方式の変更、アプリケーション当たりのユーザー数、ツイート表示方式の厳格化などを5つのポイントにまとめて解説 開発者のはしご外し? Twitter API狂騒曲 Twitterは2012年8月から9月にかけて開発者向けのブログで、APIや開発者規約の変更を立て続けにアナウンスしました。一部APIの廃止やレートリミット方式の変更、ツイート表示方式の厳格化など、影響は多岐にわたり、物議を醸しています。 Changes coming in Version 1.1 of the Twitter API Current status: API v1.1 Sunsetting @Anywhere Twitter、サードパーティ

    結局、Twitter API 1.1で何が変わる? 5つのポイント
  • [さらに気になる]JSONの守り方

    XSSにCSRFにSQLインジェクションにディレクトリトラバーサル……Webアプリケーションのプログラマが知っておくべき脆弱性はいっぱいあります。そこで連載では、そのようなメジャーなもの“以外”も掘り下げていきます (編集部) 次は、JSONにおけるセキュリティ対策 皆さんこんにちは、はせがわようすけです。第4回「[気になる]JSONPの守り方」はJSONPについて説明しましたので、今回は「JSON」についてもセキュリティ上注意すべき点について説明します。 JSONは、XMLHttpRequestで受け取り、JavaScript上でevalするという使い方が一般的です。 まずはサーバ側から送られる情報と、クライアント側での処理、それぞれの内容を見ておきましょう。 [サーバ側] HTTP/1.1 200 OK Content-Type: application/json; charset=

    [さらに気になる]JSONの守り方
  • 第2回 Kinect for Windows SDKでカメラ映像/深度情報/骨格情報の取得

    第2回 Kinect for Windows SDKでカメラ映像/深度情報/骨格情報の取得:連載:Kinect for Windows SDK(ベータ版)開発入門(1/2 ページ) 連載目次 2回目となる今回は、前回に続き、C#で記述したプログラムでKinectセンサー(以下、単に「Kinect」)を制御することを目標に、Kinect for Windows SDK(ベータ版)について見ていく。 前回は、Kinect for Windows SDK(ベータ版)の特徴やインストールされたプログラム・ファイルなどについて紹介した。今回は、インストールされたC#版サンプル・プログラムについて解説し、Kinect for Windows SDK(ベータ版)の基的な使い方を理解する。主な内容は、NUI(ナチュラル・ユーザー・インターフェイス)のカメラ・イメージの取得、深度情報の取得、骨格情報の取得

    第2回 Kinect for Windows SDKでカメラ映像/深度情報/骨格情報の取得
  • Git管理の神ツール「Gitolite」なら、ここまでできる!

    「Git」使ってますか? 近年、分散バージョン管理システム「Git」が急速にシェアを伸ばしています。筆者は、チケットシステムやバージョン管理の勉強会などを開催したりしていますが、Gitユーザーがかなり増えてきていると感じます。 しかしながら、そのような勉強会でアンケートを取ってみると、実案件では半分以上の人がSubversionを利用しており、Gitの導入はまだまだ進んでいません。移行コストが掛かったり、プロジェクトマネージャ層への知名度がまだまだ低いというのもありますが、理由の1つとして、ユーザー管理が煩雑であったり、アクセス制御に関する情報が不足しているということもあると思います。 そういうわけで稿では、Gitリポジトリのユーザー管理やアクセス制御を簡単に行う「Gitolite」を紹介します。 なお、稿ではGitの利用方法については紹介しませんので、Git自身の使い方については改め

    Git管理の神ツール「Gitolite」なら、ここまでできる!
    shiba_yu36
    shiba_yu36 2011/10/05
    gitサーバの管理。gitosisより高機能。