タグ

ブックマーク / gihyo.jp (30)

  • はじめに『コーディングを支える技術――成り立ちから学ぶプログラミング作法』(WEB+DB PRESS plusシリーズ)|gihyo.jp … 技術評論社

    WEB+DB PRESS plus(ウェブディービープレスプラス)シリーズは, Webアプリケーション開発のためのプログラミング技術情報誌『WEB+DB PRESS』編集部が自信を持ってお届けするシリーズです。 世の中にはたくさんのプログラミング言語があります。読むべきドキュメントもたくさんあります。しかしあなたの使える時間は有限です。すべてを学ぶことはできません。 また、特定の言語やツールなどの知識はすぐに陳腐化します。変化の速度が速いからです。意識して「変化しにくい知識」を学ばなければ、学んだことがどんどん価値を失ってしまうでしょう。 それでは、何をどう学べばよいのでしょうか? 筆者は学び方には3つの柱があると考えています。 比較から学ぶ 歴史から学ぶ 作ることで学ぶ 1つ目は,複数の言語を比較することです。何がその言語特有のことで,何がいくつもの言語で共通のことなのかを学ぶことができ

  • 第3回 Mahoutの環境構築とFP-Growthによるマーケットバスケット分析 | gihyo.jp

    HadoopとMahoutをインストールする Hadoopのバージョンに注意 前回はマーケットバスケット分析の理論編として、アソシエーション分析とアプリオリアルゴリズムについて解説しました。今回は実践編として、Mahoutが実装しているアプリオリアルゴリズムを改良したFP-Growthを用いて、実際にマーケットバスケット分析を行ってみましょう。 そのための準備として、まずMahoutとHadoopをインストールする必要がありますが、 その際1つ注意する点があります。現在のMahoutの最新バージョンである0.7は、利用するHadoopのバージョンが0.20系である必要があります。しかし、Apacheの公式サイトからはすでにHadoopのバージョン0.20をダウンロードすることはできません。 Hadoopのバージョン0.20をお持ちでない方は、Cloudera社のページからダウンロードするこ

    第3回 Mahoutの環境構築とFP-Growthによるマーケットバスケット分析 | gihyo.jp
  • 第1回 機械学習を実践する前の基礎知識 | gihyo.jp

    みなさん、次のようなことができたらいいと思ったことはありませんか? 「顧客ごとに、適したタイミングと内容で、DMを送信できたら……」 「CGM系サイトへの誹謗中傷なんかのスパム投稿を自動識別できたら……」 「サーバの負荷が高まるタイミングを事前に予測できたら……」 一見するとこれらは実現していることがまったく異なりますが、じつはある共通点があります。それは「データを分析し、その結果を活用している」という点です。 Data is Kingの考えから得られるメリット かつてAmazonに在籍していたRonny Kohaviは「Data is King at Amazon」と言い、データの重要性を説きました。事実、Amazonはユーザの購買履歴から商品のレコメンデーションを行い、ユーザのサイト内の遷移履歴やクリック率からサイト構造の改善を行うなど、データを徹底的に活用していることで知られています

    第1回 機械学習を実践する前の基礎知識 | gihyo.jp
  • 第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp

    あのWebサービスもJVMを利用している 「Javaは大規模なエンタープライズシステムにしか使われない」 それが常識だと思っていませんか? たしかに、これまでJava Virtual Machine(JVM)は、他の言語を実行すると遅く、Javaのプログラムを実行する環境にすぎないものでした。ところが、Java 7から実装されたInvokeDynamicにより、JVM上で、RubyPHPなどさまざまなコンピュータ言語で記述されたプログラムをより高速に実行できるようになりました。 これにより、今までエンタープライズでJava言語で記述されたプログラムを実行するだけの環境であったJVMが、汎用的な実行環境になったと言えます。また、これまでJavaの実行環境として使用されていたノウハウが、他の言語で記述されたプログラムを実行する際にも利用できます。 最近では、TwitterがJVMをアプリケー

    第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp
  • 海外テック情報局:あなたのFacebookソーシャルのパスワードは実は3つあります|gihyo.jp … 技術評論社

    毎日の生活に欠かせないサービスになりつつあるFacebookですが、ログインに使われるパスワード認証が少し変わった挙動をしているという事実が話題になっていました。特に意識していなくても実は最大で3通りのパスワードでログインができるということが確認されています。 自分が決めたままのパスワード 自分が決めたパスワードの大文字を小文字に、小文字を大文字に入れ替えたパスワード パスワードの1文字目が小文字だった場合はそれを大文字にしたパスワード この一見不可思議な挙動は、Caps Lockが意図せずに入ってしまっているケースや、スマートフォンなどで最初の1文字目が自動的に大文字になって入力される場合を許容するための挙動であることがFacebook広報担当からの回答として2011年9月のZDNetの記事でも言及されており、実は既知の事実だったようです。 このような入力間違いを許容するという仕様は斬新

    海外テック情報局:あなたのFacebookソーシャルのパスワードは実は3つあります|gihyo.jp … 技術評論社
    daisuke-m
    daisuke-m 2012/07/06
    ほう…。凄いな。
  • 第25回 Red HatによるPaaS型クラウドサービス「OpenShift」 | gihyo.jp

    OpenShiftについて 「OpenShift」は、米Red Hat社が運営しているPaaS型のクラウドサービスです。JavaPHPRubyPythonPerlに対応しており、それぞれの開発フレームワークを利用したアプリケーションを展開することができます。現在はまだプレビュー段階ですが、SLA無しなどといった条件のもとで利用することができるのが特徴です。 OpenShiftには、無償で利用できる「Express」と、有償の「Flex」の2種類のサービスがあります。ExpressではWebコンソールやコマンドラインツールを用いたWebアプリケーションの作成や公開、カスタマイズ、gitを用いたデプロイやリポジトリ管理などを行え、アプリケーションは共有のサーバインスタンスに展開されます。 一方Flexでは、自前のサーバインスタンスやクラウドオブジェクトを作成・展開することが可能で、その

    第25回 Red HatによるPaaS型クラウドサービス「OpenShift」 | gihyo.jp
  • 第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp

    使いやすい認証機構を実現する「Apache Shiro」 今回取り上げる「Apache Shiro」は、Javaアプリケーション向けに開発された認証と承認のためのオープンソースのフレームワークです。Shiroを使うことで、ログインなどの認証の仕組みや、アクセス管理、セッション管理などといった機構を、容易にアプリケーションに付け加えることができるようになります。 JDKにはJAAS(Java Authentication and Authorization Service)という認証・承認サービスが用意されていますが、JAASで提供されるAPIはあまり使い勝手が良くなく、わかりにくいという意見が大多数を占めていました。ShiroはJAASよりも理解しやすく、簡単に利用できる認証・承認の仕組みを提供する目的で開発されました。Shiroを利用するメリットとしては次のようなものが挙げられています。

    第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp
    daisuke-m
    daisuke-m 2011/12/06
    個人的にはspring-securityの方が好きかなー。
  • 第19回 Javaプログラムから外部プロセスを起動するための「Apache Commons Exec」 | gihyo.jp

    Apache Commons Execとは Javaプログラムから外部プロセスを実行する一般的な方法としては、標準ライブラリに用意されているjava.lang.ProcessBuilderクラスや、java.lang.Runtime.exec()メソッドがあります。しかしこれらのクラス/メソッドによるサポートは限定的であり、あまり使い勝手が良くないことでも知られています。「⁠Apache Commons Exec」(⁠以下、Commons Exec)は、そのような標準的な方法に変わる外部プロセスの起動手段を提供してくれるオープンソースのライブラリです。特にプロセスに対する適切な入出力処理が、比較的簡単に記述できるようになっている点が大きなメリットです。 Commons Execはこのページよりダウンロードできます。稿執筆時点での最新版はバージョン1.1です。ダウンロードしたファイルを解凍

    第19回 Javaプログラムから外部プロセスを起動するための「Apache Commons Exec」 | gihyo.jp
  • 2011年10月12日 「ジョブズがいなくなってよかった」はヒドい!? RMSの発言が巻き起こした騒動 | gihyo.jp

    Linux Daily Topics 2011年10月12日「ジョブズがいなくなってよかった」はヒドい!? RMSの発言が巻き起こした騒動 「いまとなってはDebian GNU/Linuxという名前なんかにするんじゃなかったと後悔している。どう考えてもGNUはいらない。でもRMSにそうしろと言われたときは、"LinuxはGNUの下にあるし、妥当かな"と思ったんだ⁠」⁠ - こう述懐するのはかのDebianファウンダーのIan Murdockである。コメントに登場するRMSとは説明するまでもないが、Free Software Foundationの御大であるRichard M. Stallman。いま、RMSが発したひとことが世界の多くのAppleファン(にわか信者含む)を怒らせ、ちょっとした騒ぎになっている。 ITに多少なりともかかわる人間ならSteve Jobsの死に衝撃を受けなかった人

    2011年10月12日 「ジョブズがいなくなってよかった」はヒドい!? RMSの発言が巻き起こした騒動 | gihyo.jp
    daisuke-m
    daisuke-m 2011/10/22
    エリックレイモンドまで出て来たのかw
  • ルーター自作でわかるパケットの流れ ~ソースコードで体感するネットワークのしくみ

    2011年7月8日紙版発売 小俣光之 著 A5判/192ページ 定価2,068円(体1,880円+税10%) ISBN 978-4-7741-4745-1 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 ネットワークはどのようにつながるのか,「パケットの気持ちになって」考えてみたことはありますか? 書では,パケットキャプチャ,ブリッジ,ルーターを「プログラムとして」作りながら,パケットの流れを体感理解。ネットワークの理解がより深まるうえ,「低レイヤーでのネットワークプログラミングのテクニック」「ネットワークで実現したいことを幅広く考えられる力」「障害発生時に問題を切り分ける力」も身につきます。 こんな方におすすめ ネットワークの仕組みを頭ではなく体で覚えてみたい方 ネットワーク機器を自

    ルーター自作でわかるパケットの流れ ~ソースコードで体感するネットワークのしくみ
    daisuke-m
    daisuke-m 2011/07/07
    『パケットの気持ちになって」考えてみたことはありますか?』ねえよwwwww
  • 最終回 乱数思考 | gihyo.jp

    宝クジの購入は非合理的 人間は確率的な思考が得意ではありません。宝クジが当たる確率は非常に低く、賞金の期待値は投資額の半分しかありません。宝クジの購入が非合理的なのは明らかです。にもかかわらず、たくさんの人が一攫千金を夢見て購入するのは不思議です。 宝クジの場合は嫌なら買わなければよいのですが、保険の種類の選択に悩んだり、携帯電話の料金プランに悩んだりと、確率計算と無縁に生活することは困難です。 間違えやすい確率問題 確率計算が必要な問題は、直感に反することがよくあるので注意が必要です。 誕生日一致問題 確率の見積りを間違えやすい例として、「⁠N人の人間がいるとき、同じ誕生日の人がいる確率はどれぐらいか?」という問題があります。誕生日は365種ありますし、自分と同じ誕生日の人を知っていることは珍しいので、かなり多くの人間を集めないと誰かの誕生日が一致することはないだろうと思いがちです。しか

    最終回 乱数思考 | gihyo.jp
  • 第1回 Amazon Elastic MapReduceを使う準備をする | gihyo.jp

    Amazon Elastic MapReduceとは 昨今、バッチ処理にHadoopを活用する事例が話題になっています。その中でも特筆すべきなのは、分散処理技術であるMapReduceです。しかし、MapReduceを実際に使うには、数台から数100台のサーバを用意し、Hadoopのセットアップもしなければなりません。そのようなサーバ構築・管理、セットアップの手間を無くし、すぐ使えるのがAmazon Web Service(AWS)のElastic MapReduce(EMR)です。 図1 Amazon Elastic MapReduce AWSMapReduceの説明は多くの書籍、ブログなどを参照してください。また、EMRを使用するには、まずAWSのアカウントを作っておく必要がありますが、その手順も割愛させていただきます。連載ではEMRの使い方、気をつけなければいけない点などを重点的

    第1回 Amazon Elastic MapReduceを使う準備をする | gihyo.jp
  • 第6回 エンジニアとしての人生を楽しむには | gihyo.jp

    エンジニアという職業を楽しめていない人へ これまでこのコラムでいろいろなことを書いてきたが、結局のところ一番伝えたいのは、ソフトウェアエンジニアという職業がこれからますます重要になること、そしてそんな時代にソフトウェアエンジニアという職を選んだのだから、もっともっと仕事を、そして人生を楽しんで欲しい、ということである。 しかし、この業界で働くことを満喫している私のようなエンジニアがいる一方で、この業界のことを「きつい、帰れない、給料が安い」と嘆く人たちもたくさんいるのも事実。そこで今回は、そんな人たちのためにメッセージを贈る。 現状を把握する 何よりも最初にすべきは、自分の現在の立場をきちんと把握すること。「⁠仕事がきつい、上司が悪い」などと嘆いている暇があったら、その原因がどこにあるのかを理解し、自分の置かれた立場をきちんと理解することに時間をかけるべきである。 具体的には、次に列挙した

    第6回 エンジニアとしての人生を楽しむには | gihyo.jp
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • 機械学習 はじめよう 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    機械学習 はじめよう 記事一覧 | gihyo.jp
  • 第1回 NoSQL、そしてCassandraとは | gihyo.jp

    NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach

    第1回 NoSQL、そしてCassandraとは | gihyo.jp
    daisuke-m
    daisuke-m 2011/03/01
    写経なう。
  • 第2回 Cassandraのインストールから起動まで | gihyo.jp

    前回はCassandraとは何かを簡単に説明しました。第2回では、Cassandraを実際にインストールして開発環境で動かしてみましょう。 Cassandraをインストールしよう 環境を確認する まずは環境の確認をしましょう。筆者の環境は以下のようになっています。 Windows 7 Professional Sun JDK 1.6.0_18 64bit Eclipse 3.5.1 この連載ではおもにWindowsでの環境を想定しています。ただ、CassandraはJavaベースなので、MacLinuxなど別OSでも同様に動くはずです。 Cassandraをダウンロードする 連載では現時点での最新版Cassandraha 0.6.1を使います。以下のサイトからダウンロードできます。 The Apache Cassandra Project URL:http://cassandra.ap

    第2回 Cassandraのインストールから起動まで | gihyo.jp
  • 第7回 エンジニアのための算数 | gihyo.jp

    庄司先生は初めに、「⁠プログラマ定年説」の話題を持ち出し、「⁠35(歳⁠)⁠」という数字を挙げました。これは数年前、ブログやメディアでも騒がれた「プログラマの定年は35歳なのか」という議題なのですが、ここで庄司先生は「35歳が定年かどうかというのは、実際に35歳でプログラマとして働いている人がいるので正しいとは思いませんが、それより大事なのは、このように数字を見ること」と言います。そして、エンジニアなのだから「数字を見方につける」ことができ、それができればモノの見方が変わるとして、エンジニアの算数の授業を始めました。 ここでは、身の回りに起こる事象を数字で捉え、定量的な考え方をすることで、エンジニアの働き方が良い方向に変わるという仮設のものと、授業が進みました。 なぜ働くのか―自分の幸せのために そして、米国労働総計局の2006年の調査数字を引用して、「⁠平均的アメリカ人は、起きている時間

    第7回 エンジニアのための算数 | gihyo.jp
    daisuke-m
    daisuke-m 2011/01/27
    先生かっこいいです!
  • Google Chrome版Firebug:デベロッパーツール取扱説明書 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Google Chrome版Firebug:デベロッパーツール取扱説明書 記事一覧 | gihyo.jp
  • 2010年11月18日 "ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード | gihyo.jp

    Linux Daily Topics 2010年11月18日"ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード Linus Torvalds氏という人は、少なくともメールの中では、かなりはっきりと感情を表に出す。誰かor何かに対して怒っているときは相手を名指しで批判(というより非難)し、逆にうれしいときはあふれる喜びを隠そうとしない。今回紹介するのは後者のほう。「⁠I'm also very happy」「⁠it is a _huge_ improvement」「⁠Good job.」など、喜びと称賛の表現がたくさん書かれているメールだ。 Linus氏を歓喜させたのは、カーネル開発に携わるMike Galbraith氏が書いた233行のカーネルスケジューリングパッチ。このパッチを適用すると、デスクトップ環境においてパフォーマンスが著しく向上するという。

    2010年11月18日 "ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード | gihyo.jp