タグ

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

  • 第1回 Evernoteを徹底活用! | gihyo.jp

    Evernoteでできること 皆様こんにちは、加藤と申します。連載では、Evernote が提供している各種APIについて、概要や使い方を説明をしていく予定です。今回は第1回ということで、APIの話に入る前にEvernoteのサービスについて紹介したいと思います。 Evernoteは、テキストや画像、PDFなどのデータをクラウドで管理してくれるサービスです。フリーミアムなので、基的には無料で使用可能です。有料のプレミアム版では、データのアップロード量や通信の暗号化、多くのファイル形式が扱えるなど、機能の追加がされています。 Evernoteにはさまざまなプラットフォーム用にクライアントソフトウェアがあり、クラウドを通して各クライアントが自動で同期できます。また、クライアントではオフライン作業も可能です(iPhone/Androidなどはプレミアム版のみ対応⁠)⁠。私は現在、自宅と職場の

    第1回 Evernoteを徹底活用! | 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
  • 第1回 まずはTitaniumを体験してみよう | gihyo.jp

    はじめまして、株式会社はてなでアプリケーションエンジニアをしている倉井龍太郎(id:r_kurain)と申します。この連載では、今もっとも注目集めているスマートフォンアプリ開発環境であるTitanium Mobile(以下Titaniumと省略)を使ったiPhone及びAndroidアプリケーションの開発方法について解説していきます。 Titaniumとは TitaniumはAppceleratorが開発しているスマートフォンアプリ開発環境です。iPhone/iPod/iPad であればObjectice-Cを使用して、AndoridであればJavaを用いて作成するネイティブアプリケーションが、どちらの環境でもJavascriptのみで開発できるようになるものです。Titanuiumは無料で利用することができます。サポートを受けるにはAppceleratorの有料プランに入会する必要が

    第1回 まずはTitaniumを体験してみよう | gihyo.jp
  • 第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp

    「締め切りを守ること」の大切さ 今までたくさんの日米のエンジニア仕事をしてきた。その中には私よりも明らかに「賢いエンジニア」もいたし、ものすごい生産性でプログラムを作ってくれる「馬力(ばりき)のあるエンジニア」もいた。しかし、そんな中でも、私がものを作るうえで最も大切だと考えている「あること」をキチンとこなせる人は100人に1人もいなかった。その「あること」とは、「⁠常に締め切りを守れるように仕事をすること」である。 チームで仕事をする場合、どうしてもお互いが担当するタスク(=作業)の間に依存関係が生じる。そんなときに、どれか一つのタスクの完了の遅れが、ほかのタスクの完了に波及し、それがタスク間の競合を引き起こして全体のスケジュールがさらに遅れる、という事態はソフトウェア開発の現場ではよく見られる。そんな状況をできるだけ回避するには、プロジェクトに関わる人全員が、自分に割り当てられたタス

    第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • 第4回 正規分布[前編] | gihyo.jp

    今回と次回では前後編に分けて、統計においてもっともよく使われる確率分布である「正規分布」のお話をします。 第2回・第3回の復習 最初に、前回までのおさらいを簡単にしておきましょう。 まず確率を定義するものとして、確率変数 X と確率分布 p(X) を紹介しました。これが「確率」であるためには、以下の2つの重要な条件を満たしている必要がありました。 確率の値は0以上1以下 すべての取り得る値の確率の合計は1 これらの条件は、今後機械学習を学んでいく上で、常に意識しておかないといけません。今回も使いますよ。 それから、確率変数が複数ある場合の「同時確率」「⁠条件付き確率」「⁠周辺確率⁠」⁠、そして「事後確率」を導入し、「⁠確率の加法定理と乗法定理」という2つの定理と、「⁠ベイズの公式」を導きました。加法定理と乗法定理については、今回も使いますのでその時に確認しましょう。 最後に、「⁠条件付き独

    第4回 正規分布[前編] | gihyo.jp
  • 第3回 ベイジアンフィルタを実装してみよう | gihyo.jp

    さらに詳細な利用方法が知りたい方は、Yahoo!デベロッパーズネットワークのマニュアルを参照してください。 ベイジアンフィルタの実装 ここから格的にベイジアンフィルタの実装に入っていきます。 その前に、まずは先程のリスト1のコードを利用して入力された文章をわかち書きし、単語の集合を返す関数を作成しnaivebayes.pyとして保存しましょう。こちらも先程のmorphological.pyと同様にutf-8で保存してください。 リスト2 文章の分割をする関数(naivebayes.py) # -*- coding: utf-8 -*- import math import sys #yahoo!形態素解析 import morphological def getwords(doc): words = [s.lower() for s in morphological.split(doc)

    第3回 ベイジアンフィルタを実装してみよう | gihyo.jp
  • 第2回 確率の初歩 | gihyo.jp

    今回は、機械学習で使う「確率」のお話です。 確率は、統計的な機械学習のもっとも重要な基礎知識です。とはいえ、確率についてゼロから説明するというのは紙数的にも厳しいため、高校の確率を少し憶えているくらい(期待値や標準偏差など)を前提とし、「⁠高校の確率」と「機械学習の確率」の質的な相違点について、少し丁寧に見ていく、という形で進めていきます。 機械学習と確率 最初に、機械学習にとって確率はどういう役割なのかを確認しておきましょう。 実のところ、機械学習に確率が必須というわけではありません。ニューラルネットワークやサポートベクターマシンなどの有名な手法も「確率を用いない機械学習」ですし、その他にも数多くの手法があります。しかし、「⁠確率を用いない機械学習」の多くは、「⁠結果のランキングを作りづらい(評価値の大小に意味がない⁠)⁠」⁠「⁠条件が異なる場合の結果を比較できない」などの欠点がありま

    第2回 確率の初歩 | gihyo.jp
  • 第1回 機械学習 ことはじめ | gihyo.jp

    次のサービスや製品はどれも身近にありますが、これらに共通していることはなんでしょう。 Amazonの「この商品を買った人はこんな商品も買っています」 はてなブックマークの「関連エントリー」 Google 翻訳 Google 日本語入力 メールクライアントのスパムフィルタ デジタルカメラの自動顔認識 ニンテンドーDSの手書き文字認識 買い物履歴、ユーザが書いたコメントやタグ、Webに無数にあるページ、メール、画像や動画と対象はそれぞれ異なっていますが、どれも「データから有益な情報を取り出す」ということを行っています。 これらは「機械学習」という技術を使って実現されているのです。 機械学習の応用範囲 機械学習は冒頭で挙げた以外にも、様々な分野で使われています。 例えば、ノイズ除去や特徴の抽出を目的とした利用パターンがあります。音声認識や画像認識、文字認識(OCR)などはその代表格です。それらも

    第1回 機械学習 ことはじめ | gihyo.jp
  • 連載:きちんと学びたいテストエンジニアのためのTestLink入門|gihyo.jp … 技術評論社

    第3回次期バージョン1.8に見るTestLinkの過去・現在・未来 TestLink日語化部会 2008-10-17

    連載:きちんと学びたいテストエンジニアのためのTestLink入門|gihyo.jp … 技術評論社
  • 第1回 一生の仕事を選ぶということ | gihyo.jp

    「一度しかない人生、思いっきり楽しもうぜ」 酒の席になるとやたらと人生哲学みたいなものを語り出して部下や後輩を困らせるという人がたまにいるが、私もあの手の「説教」を聞くのは得意ではない。しかたがないので、「⁠はあ、そうですか」とか「勉強になります」とか言いながらも、心の中では「早く終わらないかな」とか、その日に解決できなかったバグを「明日の朝にはどう攻略しようか」と作戦を練ったりしている私だ。 じゃあ自分なりの「人生哲学」みたいなものをまったく持っていないかというと、そうではない。ただ、そんな話はネチネチと時間をかけて語るものでもなければ、ましてや酒の席でするのに適した話ではないと思っているだけのことだ(私が、下戸だというのはさておいて⁠)⁠。 では具体的には何かと言えば、「⁠自分が当にやりたいことを見つけろ」という、とても単純な話だ。言い方を変えて「わがままに生きろ」でも「自分に正直に

    第1回 一生の仕事を選ぶということ | gihyo.jp
  • 第1回 NoSQL、そしてCassandraとは | gihyo.jp

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

    第1回 NoSQL、そしてCassandraとは | gihyo.jp
    todogzm
    todogzm 2010/04/27
  • 第1回 Chrome ExtensionsのAPI#1 | gihyo.jp

    こんにちは、ALBERTの太田です。今回からChrome4のリリースまでの間、Google Chrome Extensionsの詳細を追っていきたいと思います。なおタイトルの通り、この連載は先取り! Google Chrome Extensionsの続編となっています。 まず、重要なお知らせがあります。前回の特集で何度か使用していたToolstripsとMoleがベータリリースまでに削除されることが決まりました。その代わりとして、今回解説するBrowser Actionsが利用できるようになります(Important: Toolstrips being removed in favor of browser actions⁠)⁠。また、Browser Actionsに合わせて、第3回で解説したPage Actions APIの新バージョンが提案されています。こちらも詳細は追って解説します。

    第1回 Chrome ExtensionsのAPI#1 | gihyo.jp
  • Mercurialではじめる分散構成管理 記事一覧 | gihyo.jp

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

    Mercurialではじめる分散構成管理 記事一覧 | gihyo.jp
  • 第6回 勝手に「分散構成管理」 ~非Mercurial環境との共存 | gihyo.jp

    今回は、対象の構成管理がMercurialであるか否かに関わり無く、Mercurialを併用することで開発効率を向上させる手法を説明します。 題材としてフリーソフト/オープンソースソフトを取り上げますが、ここで説明する手法は、「⁠Mercurial以外の構成管理ツールの使用を指定されている開発」といった、(⁠残念ながら)良くあるシチュエーションでも適用可能です。 なお稿では、フリーソフト/オープンソースソフトの総称として、以降FLOSS(Free/Libre and Open Source Software)の略称を使用します。 No Patch, No Life 世間的にFLOSSが認知されて随分時間も経ちましたし、その数も相当なものになりました。 その気になれば、CVSやSubversionで運用されているリポジトリにアクセスして、最新成果をいち早く試してみることも、これまでの開発過

    第6回 勝手に「分散構成管理」 ~非Mercurial環境との共存 | gihyo.jp
  • 第1回 Hello, Wicket | gihyo.jp

    Wicketとは WicketはApache Software Foundationで開発されている、Webアプリケーション開発用のフレームワークです。フレームワークにもさまざまなものがあり、それぞれ用途が異なります。Wicketの行うことは、ブラウザからのリクエストを受け付け、処理を振り分け、ページを生成してブラウザにレスポンスを返すことです。位置づけとしては、Apache Strutsと同じと考えれば良いでしょう。 Wicketの特徴 Wicketには他の多くのWebフレームワークとは異なる、大きな特徴があります。多くのWebフレームワークが、リクエストからレスポンスまでのフロー(流れ)をどのようにコントロールするか、という方針で作られているのに対して、Wicketは「Webページをページというオブジェクトとして扱い、オブジェクトを組み立てることでアプリケーションを構築する」という考え

    第1回 Hello, Wicket | gihyo.jp
  • gihyo.jp -「Joel on Software」Joel Spolsky:翻訳エッセイ編―プログラムマネージャになるには

    Pick Up Entry from "Joel on Software" 翻訳エッセイ編―プログラムマネージャになるには 優れたプログラムマネージャを擁しているということは、素晴しいソフトウェアを生み出すための秘密の公式だ。あなたのチームにはそういう人がいないかもしれない。ほとんどの開発チームには優れたプログラムマネージャがいないのだから。 Charles Simonyi は優れたプログラマであり、WYSIWYGワープロを生み出し、Martha Stewartと付き合い、Microsoftの株で何十億ドルという金を手にして宇宙にまで行った男だが、彼は大きなソフトウェア開発チームの管理における『人月の神話』(⁠注1)の問題を解決しようと、超優秀なプログラマを1人置いて最上位の関数を書かせ、下位の関数の実装は必要に応じてチームの下っ端プログラマにやらせるという方法をとった。この超優秀なプログ

    gihyo.jp -「Joel on Software」Joel Spolsky:翻訳エッセイ編―プログラムマネージャになるには
  • ついにベールを脱いだJavaFX:第1回 JavaFXの概要と基本|gihyo.jp … 技術評論社

    2008年12月4日(米国時間⁠)⁠、とうとうJavaFXがリリースされました。2007年のJavaOneで発表されて以来1年半、やっとリリースまでこぎつけました。そこで、このたびリリースされたJavaFX 1.0をベースに、短期集中連載としてJavaFXを解説していきます。 JavaFXとは何だ JavaFXはSun Microsystems(以下Sunと表記します)が提供するリッチクライアント向けの新しいプラットフォームです。Javaという名前が入っていますが、Javaとは別個のプラットフォームです。とはいうものの、技術的にはJavaがベースになっています。 JavaFXの開発はオープンソースで行われています。java.netのOpenJFXプロジェクトを中心に、OpenJFX-CompilerプロジェクトやSceneGraphプロジェクトなどで精力的に開発が行われています。ただし、現

    ついにベールを脱いだJavaFX:第1回 JavaFXの概要と基本|gihyo.jp … 技術評論社
    todogzm
    todogzm 2008/12/09
    構文がまた変わりましたか…。JavaFXのターゲット開発者が誰であるかを見定めたら、普及する可能性はあると思う次第。JavaのクライアントGUI環境は充実しているし。Java Web StartとかAppletとか。
  • Java Expert #03

    2008年11月14日紙版発売 編集部 編 B5判/176ページ 定価1,958円(体1,780円+税10%) ISBN 978-4-7741-3677-6 ただいま弊社在庫はございません。 Amazon 楽天ブックス ヨドバシ.com 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 Javaエンジニアのための技術専門誌「Java Expert」の第3弾です.今回の目玉は「NetBeans 大特集」。NetBeansコミュニティ全面協力のもと,Javaエンジニアの必携IDE「NetBeans」を大特集します。最新バージョンの機能概要の他,NetBeansを利用したWebシステム開発,スクリプト言語開発,拡張方法など,これ1冊で,NetBeans Expertになれる情報が満載です。その他,「BlazeDS」を利用した実践的開発のノウハウ,Java開発者のため

    Java Expert #03
  • Mercurialではじめる分散構成管理:第1回 「分散」への第一歩 〜 ローカルでの複製|gihyo.jp … 技術評論社

    Linux/Unix環境ならパッケージ管理経由での導入が簡単です。 Windows環境への導入は、Cygwinを常用しているならCygwinのsetup.exe経由でPythonスクリプト形式を、そうでないならインストーラ経由でのバイナリ形式の導入が簡単です。 それぞれのインストール手順に関しては、別途詳細を説明したページを参照してください。 インストールが済んだなら、早速使ってみましょう。 まっさらな状態からリポジトリを作成する手順は次ページ以降で説明しますので、手近な対象としてMercurial自身のリポジトリを複製してみましょう。 コマンド1 % hg clone http://selenic.com/repo/hg mercurial-repo requesting all changes adding changesets adding manifests adding file

    Mercurialではじめる分散構成管理:第1回 「分散」への第一歩 〜 ローカルでの複製|gihyo.jp … 技術評論社