タグ

ブックマーク / thinkit.co.jp (13)

  • ブック・インサイド―『Python機械学習プログラミング』学び方ガイド

    記事では、書籍『Python機械学習プログラミング』を読むために必要な知識、読み方等について説明します。 『Python Machine Learning』が2015年9月に米国などで発売。「機械学習の考え方」と「Pythonプログラミングによる実践」をバランスよく解説していると評価され、米国Amazon.comでベストセラー。その日語訳はコラムや脚注、付録が追加され、2016年6月に発売されました。ここでは、書のより効果的な活用法について監訳者が解説します。 『Python機械学習プログラミング』とは 書籍『Python機械学習プログラミング』は、Sebastian Raschka氏によるPythonを用いた機械学習の入門書"Python Machine Learning"の翻訳書です。著者はミシガン州立大学の博士課程で生物統計学(計算生物学)の研究を行っており、scikit-le

    ブック・インサイド―『Python機械学習プログラミング』学び方ガイド
  • [Think IT] サーバが重いってどういうこと? (1/3)

    サーバが重いってどういうこと? 著者:ウノウ  尾藤 正人   2007/10/4 2007年10月の連載ランキング1位(一覧を見る) サーバ管理者だけではなく誰でも一度は経験したことがある「サーバが重い」という現象。一言で「重い」というのは簡単ですが、重いというのは具体的にどういうことなのでしょうか。 ここでいう重い・軽いは単一のベクトルで判断できるような簡単な代物ではなく、様々な要素によって発生する現象です。処理が重いからといって闇雲にハードウェアを増強するのは賢いやり方とはいえません。例えば、メモリ不足が高負荷の原因なのに、CPUを高速なものに変えても効果はほとんどないでしょう。 このような無駄な投資を避けるためにも、負荷の原因を特定して素早く対応策を講じるのはサーバ管理者にとって重要なスキルになります。記事ではサーバ負荷の特定の仕方と対策の仕方について、簡単な概要を説明します。

  • ベイズの定理でプロジェクトの失敗を予測

    データを確率の枠組みでとらえる「ベイズの定理」 今回は「ベイズの定理」を概説し、この定理をプロジェクト管理にどのように利用するのか説明します。「ベイズの定理」は確率論や統計学において知られている定理であり、さまざまな事象に関するデータを確率論の枠組みで取り扱うことができるという点で有用な定理です。 確率論の枠組みでデータをとらえることができるという点は、確率や統計の知識のある方にとっては特に大きな利点であるように思えないと思いますが、これがまさにベイズの定理の特徴であるということを説明します。 なおベイズの定理はさまざまな応用があります。この定理を使った内容を総じて「ベイズ的」もしくは「ベイジアン」(Bayesian)と呼びます。今回は、ページ数の都合もあり、ベイズ的意志決定に焦点を当て、特にプロジェクト管理における課題を例として説明していきます。 統計を用いた意思決定 ベイズ的意思決定の

  • [Think IT] 第2回:携帯サイトの制作から公開まで (1/3)

    サイト規模に合わせて作り方を選ぶ 前回(http://www.thinkit.co.jp/article/143/1/)は、携帯サイトとPCサイトがどのように違うかを紹介しました。今回は、汎用的な携帯サイト作りを行うための制作の基から、実機テストまで含めた公開までの手順を解説します。 携帯サイトでは、キャリアによる仕様の違いがあるため、これをどの程度まで考慮するか、はじめに考えなくてはなりません。携帯サイトの作成法には、下記の5つの方法がありますが、ここでは「3キャリア対応の静的サイト+プログラム」について紹介します。 1.キャリア別に静的なサイト 2.3キャリア対応の静的サイト+プログラム 3.プログラムによる動的生成 4.CMSを使ったジェネレータ型 5.MobaSiF(http://sourceforge.jp/projects/moba)などのフレームワーク型 3キャリア対応の静

  • [Think IT] 第1回:携帯サイトとPCサイトはここまで違う! (1/3)

    XHTML Mobile Profileに対応したHTML 連載では、「PCサイトを制作してきたけど、携帯サイトは初めて」といった企業や個人クリエイター向けにPCとモバイルの違いなどをふまえ、携帯サイトを公開するまでの入門的なノウハウを紹介していきます。 まず、今回はHTMLの種類やタグ、CSSなど携帯ブラウザによる違いと、画面サイズやキャッシュ容量などの端末による違いについて紹介していきます。 では、早速携帯サイトを作る上でマークアップの基となるHTMLについて説明します(図1-1)。携帯電話はPCと比べても非常に早い進化を遂げてきたため、どれも基HTMLを基準に作られていますが、携帯ブラウザ(iモード、EZweb、Yahoo!ケータイ)で表示可能なHTMLの仕様には実に多くの種類が存在します。 現在市場に出回っている機種ということに限定すれば、XHTML Mobile Prof

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • [Think IT] 【これならわかる!JavaScript/Ajax】やりなおしのJavaScript 第1回:そろそろ本気で学びませんか? (1/3)

    画面の一部を瞬時に切り替える方法 JavaScriptを勉強したいけど、プログラム構造がよく分からなくて、なんとなく使っている人は多いのではないかと思います。市販のやWebサイトにはJavaScriptのサンプルがたくさん載っているので、必要なところをコピー&ペーストしてしまうと、JavaScriptの文法が分からなくても動いてしまいます。 しかし、このような使い方をしていると、JavaScriptサンプルを少しだけ修正したいという時に対応できなくなります。これでは「JavaScriptを使える」とは言えませんよね。 そこで、連載では、JavaScriptをもう一度やり直したい方々のために、勉強の切り口を変えて紹介していきましょう。 最初のトピックでは、JavaScriptを使ってHTMLのコンテンツを入れ替える方法について紹介してます。この技術は、最近話題になっているAjaxのベース

  • [ThinkIT] 第2回:jQueryライブラリの内部とonloadイベント記法 (1/2)

    ※注3: http://jquery.com/ 稿では執筆時点の最新版であるバージョン1.0.4を解説しますが、2007年3月現在では、バージョン1.1.2がリリースされています。下記の解説部分は、1.1.2でも同様の処理が実装されています。 Prototypeライブラリがscript.aculo.usライブラリとの組み合わせで実現していたエフェクト処理の一部も、jQueryではそれ単体のみで対応しており、プログラマにとってWebページを制作する際に必要となる、かゆい所に手が届いた実装が魅力のようです。 また、jQueryライブラリのソースコードにはJavaScriptプログラミングの最新ノウハウがギッシリと詰まっています。リスト1にjQueryのコードを一部抜粋しましたので、実装方法を解析してテクニックの一部を確認してみましょう。 Prototypeライブラリは、JavaScript

  • [ThinkIT] 第1回:Prototypeライブラリの内部 (1/2)

    JavaScriptは絶え間ないポップアップウィンドウや迷惑なアニメーションに覆われた「失われた10年」を乗り越え、Ajaxというキラー技術を引っさげて、ついに復活を成し遂げつつあります。 世界中のエンジニア達がJavaScriptを利用したWebアプリケーションの開発に取り組み、毎日のように新しいライブラリやフレームワークが公開されるようになりました。公開されたコードの再利用により応用が広がり、さらに発展が加速している感があります。 ブラウザー上で誰でも手軽にソースコードを閲覧できるJavaScriptは元来、究極のオープンソース用プログラム言語であるとも言えます。稿では、既存の人気ライブラリの内部構成を徹底解剖するとともに、オリジナルのJavaScriptライブラリを作成するテクニックをご紹介しましょう。 自作したJavaScriptプログラムを他の人にも利用しやすい形で公開すれば、

  • [ThinkIT] 第6回:DOMの拡張(前編) (1/2)

    Prototype.jsには、HTML要素(以下、単に要素)を取得するための2つの関数があります。それは、$関数と$$関数です。ここでは、この2つの関数を中心に話を進めていきます。 $関数は、idから要素を取得する関数です。一般的にJavaScriptで要素を取得するには、document.getElementByIdを使います。このメソッドは非常によく使われるわりに名前が長いため、コードが繁雑になってしまう傾向があります。そこで、Prototype.jsでは$関数を使います。$関数によってコードは、非常にシンプルになります。 例えば、ある要素の内容を書き換えるだけのコードならば、リスト19のように書くことができます。 リスト19:$関数でDOMの要素を書き換える <div id="target"></div> <script type="text/javascript"> var ele

  • [ThinkIT] 第2回:JavaScriptの復習 (1/2)

    前回はJavaScriptの「プロパティ」「空のオブジェクト」「オブジェクト」について復習しました。引き続き「関数オブジェクト」「クラス」「空のクラス」「コンストラクタ」「プロトタイプ」について解説していきます。 JavaScriptでは関数も関数オブジェクトというオブジェクトです。関数オブジェクト自体をプロパティに代入することも可能ですし、関数オブジェクト自体がプロパティを持つことも可能です。 実際に、リスト3のsayMyNameに格納されているものが、関数オブジェクトです。このように、オブジェクトのプロパティに格納された関数オブジェクトのことをメソッドと呼びます。 リスト3:プロパティを定義(再掲) var amachang = { name: '天野',                   // nameプロパティ sayMyName: function() {         //

  • [ThinkIT] 第1回:Prototype.jsを使う準備 (1/2)

    筆者がPrototype.jsに初めて出会ったのは、2005年9月ごろだったと思います。この頃、オブジェクト指向JavaScriptはまだまだ黎明期で、オブジェクト指向の書き方もさまざまな我流が存在していたことを覚えています。 もちろん、筆者も我流のオブジェクト指向で書いていました。しかし、すべてのエンジニアが我流の書き方をしていては、JavaScriptのオブジェクト指向は普及しません。 そんな時にさまざまなブログで取り上げられ始めたのがPrototype.jsでした。Prototype.jsにはクラスを定義するという機能があり、すべてのエンジニアが同じ方法でクラスを定義できるのです。それは、大きなインパクトでした。しかし、その当時Prototype.jsにはまとまったドキュメントが無く、目利きのJavaScripterたちはこぞってソースを読んでいました。 そして、そのことが図らずとも

  • [ThinkIT] 第1回:Ajaxとは (1/3)

    まずは、Ajaxが生まれた背景をおさえる必要がある。そのためにはAjaxとは切り離せないインタラクション・デザインに触れておかなければならない。 読者の皆様の中にも、Apple社の「iPod」で音楽を楽しんでいる方は多いと思う。 iPodのディスプレイの下のスクロールホイールを指で回すと、すぐに反応して画面上のカーソルが上下に動く。スクロールホイールを速く回すほど、カーソルの移動は速くなる。中央のボタンを押せば曲を選択できる。 実は、これはとても優れたインタラクション・デザインだ(少なくとも筆者はそう考えている)。 つまり、インタラクション・デザインとは、「人と操作対象との対話がスムーズに進むようにインタラクション(相互作用)をデザインする」ことだ。ユーザにとっては、インタラクション・デザイン自身が商品とも考えられる。

  • 1