タグ

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

  • Pythonでニューラルネットワークを書いてみよう

    連載目次 連載(基礎編)の目的 スクラッチ(=他者が書いたソースコードを見たりライブラリーを使ったりせずに、何もないゼロの状態からコードを記述すること)でディープラーニングやニューラルネットワーク(DNN:Deep Neural Network、以下では「ニューラルネット」と表記)を実装して学ぶ系の書籍や動画講座、記事はたくさんあると思います。それらで学んだ際に、「誤差逆伝播」(バックプロパゲーション)のところで挫折して、そこはスルーしている人は少なくないのではないでしょうか。個々の数式や計算自体を理解していても、何となく全体像がつかめずに、 と自信を持って言えない人も多いのではないかと思います。 連載(基礎編)はそういった人に向けた記事になります。この記事はニューラルネットの仕組みを、数学理論からではなくPythonコードから学ぶことを狙っています。「難しい高校以降の数学は苦手だけど

    Pythonでニューラルネットワークを書いてみよう
    hiyuzawa
    hiyuzawa 2022/02/09
  • 21世紀の人類がZIPのパスワードを直後のメールで送るのは、なぜデスか?:こうしす! こちら京姫鉄道 広報部システム課 @IT支線(11) - @IT

    井二かけるの追い解説 今回の漫画のテーマは、ITエンジニアの間でしばしば批判される「後続メールでのパスワード別送」です。 ここでいう「後続メールでのパスワード別送」とは、メールで添付ファイルを送付する際、添付ファイルをパスワード付きzipとし、後続メールでパスワードを送付するという方式です。 現在、情報セキュリティ対策の一環として、「後続メールでのパスワード別送」を採用する企業が数多く存在します。漫画のようにパスワード別送をシステムで自動化している企業も少なくありません。 では「後続メールでのパスワード別送」は何が問題なのでしょうか。代表的な2つの点を挙げます。 1.後続メールでパスワードを別送しても、セキュリティはほぼ向上しない 電子メールはその仕組み上、基的に相手に届くまでに複数のサーバを経由します。メール送信にTLS/SSLを用いても、暗号化が保証されるのは自分が使用しているメール

    21世紀の人類がZIPのパスワードを直後のメールで送るのは、なぜデスか?:こうしす! こちら京姫鉄道 広報部システム課 @IT支線(11) - @IT
    hiyuzawa
    hiyuzawa 2018/12/20
  • AWS、LinuxサーバOSの次期バージョン「Amazon Linux 2」のLTS候補版を提供開始

    systemdのサポート」「ツールチェーン」(Glibc 2.25、GCC 7.2.1、Binutils 2.27)、「パフォーマンスとセキュリティを高めるためのコアパッケージセット」を含む基イメージ AWS上で最適なパフォーマンスを発揮するようチューニングされた最新のLTSカーネル(4.9) 追加ソフトウェアパッケージのAmazon Linux Extrasリポジトリ。このソフトウェアパッケージには、Webおよびデスクトップ開発環境(PythonGo、Node.js、Rust、Rなど)、オープンソースデータベース(MariaDB、PostgreSQLなど)などのソフトウェアアプリケーションが含まれる Amazon Linux 2は「Amazon Elastic Compute Cloud(Amazon EC2)」で使われる、「Amazon マシンイメージ(AMI)」と、「Amazo

    AWS、LinuxサーバOSの次期バージョン「Amazon Linux 2」のLTS候補版を提供開始
    hiyuzawa
    hiyuzawa 2017/12/16
  • サーバー管理者のためのChef超入門

    エンタープライズ向け機能が充実してきたChefを使って高速かつ精度の高いサーバーインフラを構築/管理する方法について解説する連載。今回は、WordPress環境構築レシピの最後の仕上げとして、SQL文をTemplateとして作成して、MySQLを設定する方式のCookbookを作成し、実行してみます。

    サーバー管理者のためのChef超入門
    hiyuzawa
    hiyuzawa 2017/10/23
  • もし職人肌アラフォーエンジニアが「管理職にならないか」と打診されたら

    連載目次 先日、アラフォーのITエンジニアNさんが、こんな話をしてくれました。 「ソフトウェア開発のエンジニアになって10数年。これまで、いろいろな経験をしてきました。大変なこともたくさんありましたが、なんだかんだいっても開発の仕事が好きで、楽しくやってきました。けれども、先日上司から『キミもそろそろ管理職になってくれないか』と打診されました。ずっと現場で仕事をしたかっただけに、管理職になると思うと、『今まで、何のために働いてきたんだろう』と、モヤモヤしてしまうんです」 Nさんのこの気持ち、エンジニアなら、いや、エンジニアに限らず、いわゆる「専門職」や「現場の仕事が好きな人」なら「分かるー!」と思われるのではないでしょうか。 「四十にして惑わず」は、孔子が晩年に言った有名な言葉ですが、現代のアラフォーは、迷いがなくなるどころか、迷いが始まる年代ですよね。 今回の「仕事が『つまんない』ままで

    もし職人肌アラフォーエンジニアが「管理職にならないか」と打診されたら
    hiyuzawa
    hiyuzawa 2016/08/24
  • 連載インデックス「D89クリップ Webデザインに役立つできごと/ヒントになるインタビュー」 - @IT

    連載インデックス 「Webグラフィックをハックする」 知って得する、Webブラウザ上で利用できるグラフィック関連技術。 読み切りで分かりやすく紹介する 多彩な表現力のWebGLを扱いやすくする「Three.js」 Webグラフィックをハックする(5) Three.jsはWebGLの冗長な仕様をうまくラップし、扱いやすいインターフェイスで提供するライブラリだ。サンプルコードで、効率良く学ぼう

    hiyuzawa
    hiyuzawa 2016/05/25
  • 知らずに作って大丈夫?Androidの基本的なライフサイクルイベント31選

    連載「実業務でちゃんと使えるAndroidアプリ開発入門」では、バージョンの違いに左右されないスタンダードなアーキテクチャで、セキュリティやパーミッション、テストのしやすさ、開発効率の向上などを考慮した、実業務で使えるAndroidアプリ開発のノウハウを提供していきます。 前回の連載の今後を紹介し、アプリ間連携でさまざまなことができるACTION_OUTSIDEイベントの使い方を解説しました。 今回はAndroidアプリ開発において必ず押さえておかなければならないライフサイクルイベントについて解説します。対象はActivity、Fragment、View、Applicationの4つです。 また、ライフサイクルイベントを利用して、アプリの「状態」を保存/復元する方法についても解説します。 【1】必要な処理を必要なタイミングで行える Activity、Fragmentのライフサイクルイベン

    知らずに作って大丈夫?Androidの基本的なライフサイクルイベント31選
    hiyuzawa
    hiyuzawa 2016/04/04
  • CentOS 7のシステム管理「systemd」をイチから理解する

    CentOS 7のシステム管理「systemd」をイチから理解する:CentOS 7で始める最新Linux管理入門(2)(1/4 ページ) 「systemd」は、Linuxの起動処理やシステム管理を行う仕組みです。systemdはinitの限界を克服するために作られた新しいシステム管理アーキテクチャで、CentOS 7でも用います。では、何が違うのでしょう。これまで使われてきた「init」と比較しながら、基礎と課題を解説します。 連載バックナンバー 前回解説した「ここが変わった、CentOS 7のポイント」に続き、今回はより実務にLinuxの起動処理やシステム管理を行う「systemd」をあらためてイチから解説します。 CentOS 7では、これまで使われてきた「init」の限界を克服するために作られた新しいシステム管理アーキテクチャとして、このsystemdを使います。 まずはその特徴を

    CentOS 7のシステム管理「systemd」をイチから理解する
    hiyuzawa
    hiyuzawa 2015/12/24
  • Hadoop+Embulk+Kibanaのデータ集計基盤によるデータ可視化と集計データを活用したキーワードサジェストの仕組み

    連載目次 リクルートの全社検索基盤「Qass」の事例を基に、大規模BtoCサービスに求められる検索基盤はどう構築されるものなのか、どんな技術が採用されているのか、運用はどうなっているのかなどについて解説する連載。 初回の「リクルート全社検索基盤のアーキテクチャ、採用技術、開発体制はどうなっているのか」では全体的なアーキテクチャ、採用技術、開発体制について紹介しました。 検索システムを構築する際に、最も重要なのは、前回の「ElasticsearchとKuromojiを使った形態素解析とN-Gramによる検索の適合率と再現率の向上」でも紹介した、検索品質の向上です。Qassでは、いろいろなログを組み合わせて分析したり、ランキングデータに活用したりと、ログデータはシステムの中核となっています。 第3回の今回はQassの検索基盤を支えるデータ集計基盤と、それによるデータ可視化、集計したデータを生

    Hadoop+Embulk+Kibanaのデータ集計基盤によるデータ可視化と集計データを活用したキーワードサジェストの仕組み
    hiyuzawa
    hiyuzawa 2015/08/21
  • ElasticsearchとKuromojiを使った形態素解析とN-Gramによる検索の適合率と再現率の向上

    ElasticsearchとKuromojiを使った形態素解析とN-Gramによる検索の適合率と再現率の向上:Elasticsearch+Hadoopベースの大規模検索基盤大解剖(2)(1/3 ページ) リクルートの事例を基に、大規模BtoCサービスに求められる検索基盤はどう構築されるものなのか、どんな技術が採用されているのか、運用はどうなっているのかなどについて解説する連載。今回は、テンプレートを利用したインデックス生成など、検索結果の品質を向上させるためのさまざまな取り組みを紹介する。 連載目次 リクルートの全社検索基盤「Qass」の事例を基に、大規模BtoCサービスに求められる検索基盤はどう構築されるものなのか、どんな技術が採用されているのか、運用はどうなっているのかなどについて解説する連載。初回の前回「リクルート全社検索基盤のアーキテクチャ、採用技術、開発体制はどうなっているのか

    ElasticsearchとKuromojiを使った形態素解析とN-Gramによる検索の適合率と再現率の向上
    hiyuzawa
    hiyuzawa 2015/08/01
  • 第1回 OpenCVとは? 最新3.0の新機能概要とモジュール構成

    ご注意:記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「www.buildinsider.net」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。 1. OpenCV 1.1 OpenCVとは OpenCV(正式名称: Open Source Computer Vision Library)は、オープンソースのコンピューター・ビジョン・ライブラリです。コンピューターで画像や動画を処理するのに必要な、さまざま機能が実装されており、BSDライセンスで配布されていることから学術用途だけでなく商用目的でも利用できます。加えて、マルチプラットフォーム対応されているため、幅広い場面で利用されていることが特徴です。 OpenCVは、Intelで開発さ

    第1回 OpenCVとは? 最新3.0の新機能概要とモジュール構成
    hiyuzawa
    hiyuzawa 2015/07/28
  • プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは

    連載目次 プッシュ通知とは? なぜ開発者はアプリにプッシュ通知機能を搭載するのか スマートデバイスにおける「プッシュ通知」はアプリにとって欠かせない機能の一つであり、メールマガジンと同様に重要な集客ツールです(図1)。スマートフォンをお使いの方でしたら、一度はプッシュ通知を受け取ったことがあるのではないでしょうか。 プッシュ通知はユーザーがスマートデバイスを起動していなくても通知を送ることができる仕組みであり、以下の特徴があります。 開くと直接アプリを起動するためアクションにつながりやすい アプリをインストールしているユーザーのみに届くため開封率が高い 上記のような特徴から、プッシュ通知は以下の用途で使うことが多くなります。 リアルタイムな情報配信 直接アプリ起動につながるため、ニュースなどリアルタイム性の高い情報の配信に向く ユーザーのアクティブ率向上 開封率が高いため、定期的にアプリを

    プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは
    hiyuzawa
    hiyuzawa 2014/12/19
  • Socket.IOでセンサー&MongoDB~AngularJSアプリ間の通信を行う

    Socket.IOでセンサー&MongoDBAngularJSアプリ間の通信を行う:Arduinoで始めるWeb技術者のためのIoT入門(6)(1/3 ページ) 家電~Webアプリ間の双方向通信をSocket.IOで行うアプリについて、サーバー側のArduino連携やMongoDBへのデータ保存などと、クライアント側のAngularJSに分けて動作を解説します。

    Socket.IOでセンサー&MongoDB~AngularJSアプリ間の通信を行う
  • iOS SDK開発でOSSライブラリを使う際の基礎知識

    iOS SDK開発でOSSライブラリを使う際の基礎知識:生産性ガチアゲなオープンソースiOSライブラリ(1)(1/2 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も合わせて詳細に説明していきます。初回は、OSSライブラリ活用の基UI系を中心にライブラリを16個紹介します。 OSSライブラリを活用した超高速・高品質な開発方法 オープンソース(以下、OSS)のライブラリを活用して開発を行うと、ライブラリ未使用の場合に比べて生産性、品質ともに圧倒的な違いが出ます。連載では、ライブラリの種類、使い方、メリットなどを、実際に動くコードと一緒に解説していきます。 近年、iOS(iPhoneiPad)アプリ市場が急速に発展し、アプリ開発者は変化する状

    iOS SDK開発でOSSライブラリを使う際の基礎知識
    hiyuzawa
    hiyuzawa 2014/11/18
  • 環境構築自動化の手順と評価検証、Puppetの基礎知識

    R子 今日から担当に配属されたR子と申します。よろしくお願いします。 K男 こちらこそよろしく。ところで、R子さんは今までサーバー構築の経験はあるのかな? R子 入社時の研修でちょっとだけ……。 K男 R子さんも明日からばりばり構築してもらうよ。1日最低10台がノルマね。 R子 えぇ!? 不安だなぁ…… ちゃんと家に帰れます? うぇ~ん。 さて、R子さんは一体どうなるのでしょうか。1日10台がノルマといわれていますが、サーバー構成が同じ場合、一度構築してしまえば似たような単純作業の繰り返しになります。この単純作業を自動化することにより、効率的にサーバーを構築できるようになります。自動化できれば、10台であろうが、100台であろうが怖くありません。 連載では、こんなときに役立つサーバー構築の自動化技術について紹介していきます。 初心者でもサーバー構築/運用が自動化できるように サーバー構築

    環境構築自動化の手順と評価検証、Puppetの基礎知識
    hiyuzawa
    hiyuzawa 2014/06/21
  • Active Directoryはなぜ必要なのか

    連載では「Active Directoryとは?」「なぜ、Active Directoryを使う必要があるのか?」などをあらためて考察し、より効果的に運用するための方法を探っていく。 連載目次 Active Directoryを使う理由とは? 「十年一昔」とはよく使われる言葉だが、ITの世界における10年は十分過ぎるくらいに昔を指す。 2000年にリリースされたWindows 2000 Serverの目玉機能として登場した「Active Directory」は、現在までに多くの企業に導入されている。Windows Serverのアップグレードを繰り返しながら、10年以上経過しているところもあるのではないだろうか。初期導入からかなりの年月が経過したActive Directoryでは、最初に設計した担当者や運用管理者が入れ替わり、当初の設計意図とはかけ離れたものになっている可能性もある。

    Active Directoryはなぜ必要なのか
    hiyuzawa
    hiyuzawa 2014/04/12
  • Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方

    Ruby 2.1の基構文/基文法まとめ&Pryの使い方:若手エンジニア/初心者のためのRuby 2.1入門(2)(1/7 ページ) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyの変数、定数、リテラル、演算子、条件分岐とループ(繰り返し)、コメントの基的な使い方について解説。Ruby 2.1での新機能や便利な実行ツール「Pry」のインストールと使い方も紹介します。

    Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方
    hiyuzawa
    hiyuzawa 2014/03/28
  • ガチで5分で分かる分散型バージョン管理システムGit

    0分―― 分散型バージョン管理システム「Git」とは ソフトウェア開発ではソースコードを作成しながらソフトウェアを作り上げていきますが、バグの修正や機能の追加ごとにソースコードの状態を記録し、それぞれのバージョンを管理することが必要になります。 そういったソースコードを管理するソフトウェアが「バージョン管理システム」であり、複数人でのソフトウェア開発において必要不可欠なソフトウェアとなっています。

    ガチで5分で分かる分散型バージョン管理システムGit
    hiyuzawa
    hiyuzawa 2013/07/06
  • まとめてたくさん処理したい! を解決する「Capistrano」

    まとめてたくさん処理したい! を解決する「Capistrano」:特集 DevOps時代の必須知識 インフラ運用の自動化を実現し、DevOpsを支援するツールはいくつかあります。ここではその中から「Capistrano」というツールについて、サンプルを用意しつつ紹介します。 はじめに インフラ運用の自動化を実現するツールには「Chef」や「Puppet」などいろいろあります。今回の記事ではそういったツールのうち、Capistranoというツールを簡単なサンプルを用意しつつ紹介します。 Capistranoとは Capistranoとは簡単にいうと、オープンソースで提供されている、複数のサーバ上で同時にスクリプトを実行するためのソフトウェアツールです。主に、同じ役割のサーバが複数台存在するような環境での自動化であったり、アプリケーションのデプロイ自動化に利用されています。 特にRuby On

    まとめてたくさん処理したい! を解決する「Capistrano」
    hiyuzawa
    hiyuzawa 2013/07/05
  • インフラストラクチャ自動化フレームワーク「Chef」の基本

    DevOpsというキーワードに関連して、「Chef」というツールの名前を聞いたことのある人も多いのではないでしょうか。この記事では、インフラにおける構成管理、展開作業を自動化するChefの構造および基的な使い方について解説します。 インフラストラクチャ自動化フレームワーク「Chef」 Chefは、物理、仮想、クラウドといったさまざまな大きさのインフラに対して、サーバやアプリケーションの展開を容易にするための自動化フレームワークです。 Chefの重要な要素の1つに「Infrastructure as Code」という概念があります。インフラをどのように構築し、維持するべきかという定義はRubyの文法で記述され、ソースコードのように扱うことができます。つまり、あたかもRubyでプログラミングをするように、インフラの構成管理をコードによって行えることがChefの利点の1つです。 自然言語による

    インフラストラクチャ自動化フレームワーク「Chef」の基本
    hiyuzawa
    hiyuzawa 2013/07/05