タグ

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

  • グレープシティ、HTML5でもExcelライクなWebアプリが作成可能な製品を発売 | gihyo.jp

    グレープシティ(⁠株⁠)は1月30日(木⁠)⁠、JavaScript UIライブラリ集「Wijmo(ウィジモ⁠)⁠」の新製品を発売した。 同社では昨年2013年5月より、HTML5対応のリッチUIを提供するJavaScriptライブラリ集「Wijmo」を発売している。今回、同社の主力商品の1つである「SPREAD」の機能を取り入れた、Excelライクな操作性と機能を持った表計算グリッド「SpreadJS」ウィジェットを収録した「Wijmo Enterprise 2013J v3(ウィジモ エンタープライズ⁠)⁠」を発売した。 「SpreadJS」を使えば、データのソートやフィルタリング、320種類以上の数式、スパークラインや条件付き書式によるデータの視覚化など、Excelと同等の操作性と機能をWebアプリケーションに簡単に実装できる。 Wijmoシリーズはサブスクリプション方式で販売してい

    グレープシティ、HTML5でもExcelライクなWebアプリが作成可能な製品を発売 | gihyo.jp
  • プログラマ必須知識を身につける!:新刊ピックアップ

    改めてアルゴリズムとは何か? アルゴリズム(algorithm)の語源は,9世紀前半のイスラム世界の科学者であるアル=フワーリズミーの名前に由来しています。アル=フワーリズミーは,それまでに存在した計算の技法を,『⁠インドの数の計算法』という書籍にまとめたことで知られます。つまり,アルゴリズムは,数学的な考え方の基と深く結びついています。 また,コンピュータの世界では,ある特定の目的を達成するための処理手順(プログラム)を指します。手法には「ソート(並べ替え⁠)⁠」⁠「⁠マージ(結合⁠)⁠」⁠「⁠分類」「⁠探索」などがあります。 プログラミングには必須か? プログラマの方であれば,先述したアルゴリズム以外にもハッシュ法や暗号化手法,圧縮展開手法などを理解しておくことは,とても有用です。なぜなら,先人が残してくれた,間違いのない,効率的な手順なのですから。また,ITパスポート試験や基情報

    プログラマ必須知識を身につける!:新刊ピックアップ
  • 第2回 本当にコードを失っても大丈夫なのか、確かめてみよう | gihyo.jp

    前回、「⁠これまでの記事で取り上げたコードを、テスト駆動ベースに移行していく」と書きました。さっそく、取り組んでいきましょう。その中で「コードをすべて失ってしまったとしても、テストが無事なら元と同じ品質のコードをもう一度書くことができる」かどうかを確かめていきましょう。 今回取り上げるプログラム 今回取り上げるのは「PHPでNゲージ模型を自由自在に動かそう」です。第1回のリスト1は、以下のようになっていました。 リスト1 「⁠Nゲージ」第1回リスト1より #! /usr/local/bin/php <?php $url = "http://192.168.0.100/"; file_get_contents($url."?00=C"); file_get_contents($url."?01=D"); file_get_contents($url."?02=D"); file_get_co

    第2回 本当にコードを失っても大丈夫なのか、確かめてみよう | gihyo.jp
  • 第32回 バージョン管理─Mercurial連携の使い方 | gihyo.jp

    はじめに いつものように解説編です。Mercurial連携はGit連携やSubversion連携と異なり、そんなに機能豊富ではないので1回でおしまいです。 Mercurial連携時のユーザインターフェイスの特徴 今まで紹介したGitやSubversionの時と同じようにMercurial連携時もユーザインタフェースが変化します。 ある程度はバージョン管理システムに関わりなく共通で、特定のバージョン管理システムによって部分的に異なるというのは、そういう事情を知っていれば便利なのですが知らないと混乱の元ですよね。でも、きっとこれはAndroid Studioの利点なのだと思いましょう。 Version Controlツールウィンドウ Git連携と同じくMercurial連携時も「Version Controlツールウィンドウ / Consoleタブ」にAndroid Studioが内部で実行し

    第32回 バージョン管理─Mercurial連携の使い方 | gihyo.jp
  • 第18回 クラスの継承と透視投影 | gihyo.jp

    前回の第17回「簡単なクラスを定義する」で予告したとおり、今回のお題は引続きクラス定義と透視投影を使ったコードだ。Keith Peters氏が著書『ActionScript 3.0 アニメーション』でつくられたサンプルの動きをもとに、CreateJSでスクリプティングした。ユーザーインタラクションは含まれていない。 Shapeクラスを継承する3次元座標のクラス定義 早速、3次元座標のクラスを定める。前回と違うのは、座標だけでなくボールのシェイプも、このクラスでつくってしまうことだ。EaselJSなら、Shapeクラスを使えば円形のシェイプが描ける。では、この機能を丸ごといただこう。こういうとき、プログラミング言語では、Shapeクラスを「継承」して3次元座標のクラスを定義する。 JavaScriptの継承は他の言語と少し変わっている。継承したいクラス(⁠「⁠スーパークラス⁠」⁠)のオブジェ

    第18回 クラスの継承と透視投影 | gihyo.jp
  • 第16回 3次元空間で座標を回す | gihyo.jp

    前回の第15回「Matrix2Dクラスで座標を回す」では、星形の2次元平面座標をPointオブジェクトで定めて直線で描き、平面上で回るアニメーションまでつくった(第15回コード3「マウスポインタの水平位置に応じてアニメーションが回る向きと速さを変える⁠」⁠)⁠。今回は座標を3次元に拡げて、y軸で水平方向に回転させる。そのとき、遠近法の計算も加えていく。 z座標を加えてy軸で回す 前回述べた通り、EaselJSライブラリそのものには3次元空間を扱うクラスがない。Pointクラスもxy座標しかもたない。そこで、3次元空間の座標はObjectインスタンスでつくることにする。もちろん、プロパティはxyz座標だ。 {x:x座標値, y:y座標値, z:z座標値} 第15回コード3に新たな関数(newPoint3D())を加え、戻り値は3次元座標のオブジェクトとする。すでに定めてあった星形の座標をつく

    第16回 3次元空間で座標を回す | gihyo.jp
    waman
    waman 2013/11/27
  • 【特別寄稿】今すぐ役立つ!文系のための数学的発想講座 ──演繹法と帰納法 | gihyo.jp

    ――ぶれのない論理力を身につけて的確に仕事をこなしたい…、そんなビジネスパーソンはけっこう多いはず。そこで『大人のための数学勉強法』(⁠ダイヤモンド社)などの著書を持ち、NHK(Eテレ)『⁠テストの花道』に出演するなど話題の「大人の数学塾」塾長、永野裕之さんにご登場いただき、“⁠根っからの文系⁠”こそ今すぐ使える数学発想術について語っていただきました。 はじめまして。私は永野数学塾(大人の数学塾)塾長の永野裕之と申します。この度、技術評論社さんで『根っからの文系のためのシンプル数学発想術』を上梓させていただいた関係で、当記事を担当させていただくことになりました。どうぞよろしくお願いいたします。 ところで…いきなりですが問題です(・_・;) [問題]下の画像を見てください。片方は雨が道に落ちたときの様子を記録したもので、他方は人為的に作ったものです。雨が道に落ちたときの様子を記録したのはどち

    【特別寄稿】今すぐ役立つ!文系のための数学的発想講座 ──演繹法と帰納法 | gihyo.jp
    waman
    waman 2013/11/23
  • 第1回 iOS7で何が変わったのか | gihyo.jp

    iOS7が9月18日に公開されて2ヶ月ほどがたち、既にインストールされた方も多いのではないでしょうか。 iOSで初めての大きなUIの変更でもあり、非常に注目されました。特に「フラットデザイン」が採用されたことで、賛否両論あり話題を呼んでいます。 しかし、そのフラットデザインが注目される一方で、それ以外の変更はあまり注目されていません。ですが見た目だけではない質的なUIデザイン変更が多くなされており、フラットデザイン以外の部分にも深く注目してiPhoneアプリやスマートフォンWebの設計/デザインを行っていくことが大切になってきます。 連載ではデザインの視点から見たiOS7の変更点を、フラットデザインだけにとどまらないこれからのUIデザインのあり方も含め、数回に分けてお送りしていきます。 スキューモフィズム(Skeuomorphism)からの脱却 iOS7での見た目のフラットデザイン化は

    第1回 iOS7で何が変わったのか | gihyo.jp
  • 生物ミステリーPRO―いまだから読みたい,古生物たちの世界:新刊ピックアップ

    魅惑的な古生物たちの世界。 知的好奇心をくすぐり,知的探究心を呼び起こし,そして何よりシンプルに面白い。そんな世界を,みなさまにお届けします。 生命が明確な形を化石として残すようになってから約7億年。この途方もなく長い時間のなかで,実にさまざまな生物が栄枯盛衰を繰り広げてきました。みなさんがよくご存じの「恐竜」はそのなかの一つです。 しかしすでに絶滅し,化石でしか姿を知ることのできない古生物は,恐竜だけではありません。五つ眼の動物,鎧をまとった魚,8指の両生類,ヘビがトグロを巻いた様な形のアンモナイト・・・・・・。彼らは実に挑戦的な姿をしています。 世にいう古生物学者は,こうした生物の化石を分析し,その生物の暮らしや進化などの謎解きを楽しんでいます。 ・・・・・・筆者は常々思っていました。「⁠こんな極上のミステリーを,研究者の世界にとどめておくのはもったいない⁠」⁠。 そんな折,まさに絶

    生物ミステリーPRO―いまだから読みたい,古生物たちの世界:新刊ピックアップ
    waman
    waman 2013/11/17
  • 『おいしいClojure入門』でプログラミングの楽しさを味わいませんか?」:新刊ピックアップ

    CPUのマルチコア化が関数型普及の引き金 「関数型プログラミング言語は難しい?」――とよく言われますが,どうなんでしょうか。 現在,皆さんが使っているパソコンを見てください。ちょっと昔のを使っているんでしたらCore2 Duo,今どきの新しいものでしたら,Corei7とか5とか3とか。CPUの性能を示すシールが貼られていませんか。それはCPUのコア数を表しています。コアとはCPUの重要な計算機能部分のことで,Core2 Duoならば2個分のCPUをまとめて1つとしたCPUだよ,という意味です(かなりおおざっぱな説明ですが,わかりやすくということでご容赦ください⁠)⁠。 CPUの数を増やせば,コンピュータの計算能力が向上するのはわかりやすいと思いますが,Pentiumが主流だった時代は,マザーボード側に2個以上のCPUを載せることで性能向上を図っていました。業務用のサーバなどは2個以上のCP

    『おいしいClojure入門』でプログラミングの楽しさを味わいませんか?」:新刊ピックアップ
  • 第20回 ロジスティック回帰の実装 | gihyo.jp

    今回は実践編、前回導出した確率的勾配降下法でのロジスティック回帰の学習を実装してみましょう。 環境はこれまでと同じくPython/numpy/matplotlibを用います。インストールなどの準備は第6回を参照してください。 パーセプトロンの実装の復習 今回のロジスティック回帰の実装は、連載第17回のパーセプトロンの実装と非常によく似たものになります。 そこでパーセプトロンの実装を再掲しておきます。パーセプトロンそのものの復習はここではしませんので、必要なら連載第15回をご覧ください。 import numpy as np import matplotlib.pyplot as plt import random # データ点の個数 N = 100 # データ点のために乱数列を固定 np.random.seed(0) # ランダムな N×2 行列を生成 = 2次元空間上のランダムな点 N

    第20回 ロジスティック回帰の実装 | gihyo.jp
  • 第2回 3Dプリンタが苦手な形をプログラミングで作るには | gihyo.jp

    前回は穴のある立体を扱いました。今回は、いわゆる3Dプリンタではうまく出力できないケースを取り上げてみたいと思います。 その前に、出力したデータがどうなっているのか、画面上で確認してみましょう。 前回作ったキートップは、上の画面のようになっています(マウスでドラッグして回転させることができます⁠)⁠。すべて、小さな三角形に分割されているのがわかります。この画面はデータの確認に便利なよう、三角形と三角形のあいだに隙間を作ってありますが、実際にはぴったりとつながっています。そして、面が手前を向いていると太い線で、面が逆を向いている場合は細い線で表示されます。これも、データ中のベクトルが正しいかどうかを確認するためのものです。 ルーバーの部品を作る 今回作るのは、下の画面のような形です。これを使って写真1のようなルーバーを作ることができます。ホームセンターなどでアクリル板を5cm幅に切ってもらい

    第2回 3Dプリンタが苦手な形をプログラミングで作るには | gihyo.jp
  • 世界のTeXユーザが日本へ集結――日本初開催となるTUG 2013、10月23~26日に東京で開催 | gihyo.jp

    実行委員には、TeX Live の取りまとめなど活発なKarl Berry氏、TeX入門書『LaTeX2ε 美文書作成入門』シリーズ著者の奥村晴彦教授など多彩な顔ぶれが名を連ねる。 『LaTeX2ε 美文書作成入門』著者 奥村晴彦教授サイン会開催10月26日10:50~11:10、12:20~12:40の時間帯にて、『⁠LaTeX2ε 美文書作成入門』著者奥村晴彦教授のサイン会を開催します。ふるってご参加ください(なお、サイン会をご希望の方はTUGへの参加が必要となります⁠)⁠。

    世界のTeXユーザが日本へ集結――日本初開催となるTUG 2013、10月23~26日に東京で開催 | gihyo.jp
    waman
    waman 2013/09/26
  • 第3回 推薦システムの分類とその効果 | gihyo.jp

    はじめに 前回の連載では、推薦そのものの概要について紹介しました。今回は推薦システムの大まかな枠組みを紹介し、続いて代表的なフィルタリング手法の概要を説明します。フィルタリングとは情報を推薦する手法のことです。 最後に、推薦システムの効果についていくつかの事例研究を紹介することで解説します。 情報推薦システムの枠組み 「膨大な情報の中からユーザに適した情報を探索し、そのユーザに提供すること」が情報推薦システムの役割です。これはつまり、検索システムの一種としてとらえることもできます。一般的な検索システムは、検索エンジンにキーワードを入力し、その結果を受け取ります。それに対して、情報推薦システムはそのキーワードに類するものを推薦システム側が決め、ユーザに対してその結果を返します。 ここでは、推薦システムの枠組みを構築して行く際に考慮される観点を以下の4つに分類し、それぞれの観点について簡単に紹

    第3回 推薦システムの分類とその効果 | gihyo.jp
    waman
    waman 2013/09/09
  • 第5回 Android StudioとGradle[前編] | gihyo.jp

    広い意味で取れば、Android StudioのProjectはEclipseのワークスペース(Workspace)に相当しますが、Eclipseと異なり関連のあるModuleだけで構成されています。そのため感覚的には 「EclipseのProject=Android StudioのProject+Module」 のほうがしっくり来るのではないでしょうか。 仕方が無いことなのですが、このようにIDEによってプロジェクト管理方法や用語が異なることが、Android Studioへの乗り換えやEclipseとの併用の大きな妨げになっていると思います。 Android StudioのベースとなったIntelliJでは、プロジェクトを作成すると「Projectと同じ場所に1つのModuleができる」が基形なのですが、Android StudioではGradleとの兼ね合いにより、 「Projec

    第5回 Android StudioとGradle[前編] | gihyo.jp
  • 第19回 ロジスティック回帰の学習 | gihyo.jp

    前回はロジスティック回帰モデルを紹介し、その負の対数尤度関数まで求めました。 今回はここからロジスティック回帰の学習手順を導きます。 確率的勾配降下法の復習 「学習」というとなにやら高尚で複雑な響きがありますが、機械学習が実際にやっているのは、適当なモデルを決めて「一番良い」パラメータを選ぶことでした。 何を「一番良い」とするかは難しいところですが、機械学習の多くのモデルでは「誤差が最も小さい」あるいは「尤度(観測された事象の確率)が最も大きい」といった指標で「一番良い」を選びます。つまり「関数を最小(または最大)とするwを求める」ところに落とし込まれるわけです。 この「関数の最小化」を「最適化」と呼びますが、これは一般にはとても困難な問題です。1次元空間上の話なら中学や高校の数学で解けますが、機械学習の問題の多くがそうであるように、何万次元もの高次元空間上で厳密解を求めるのは不可能に近い

    第19回 ロジスティック回帰の学習 | gihyo.jp
  • 第7回 粒子同士が引き合う力を直線の濃淡で示す | gihyo.jp

    前回は、ランダムに動く粒子それぞれの間にバネのような力を与えてアニメーションさせた。すると、粒子は互いに集まっては離れることを繰り返す、という面白い動きになった(再掲第6回図3⁠)⁠。ここまでのコードは、以下のjsdo.itに掲げてある(第6回コード2⁠)⁠。 第6回 図3 オブジェクトがひと固まりに集まっては離れる(再掲) オブジェクトが引合う力の範囲をかぎる 互いに離れれば離れるほど、引き戻す力は強まるというのがバネの性質だ。ただし、それを単純に当てはめたために、仲間から外れた粒子の激しい動きが止められず、しかも仲間はずれは次第に増えてしまうというのが前回の問題だった。 もともと、バネはいくらでも伸び縮みするものではない。むしろ、その動きを正しく保てる範囲はかぎられる。そこで、この粒子のアニメーションでも、互いの間に引合う力が及ぶ距離を決めてしまおう。2点の座標からその間の距離を導くに

    第7回 粒子同士が引き合う力を直線の濃淡で示す | gihyo.jp
  • 第3回 はじめましてのAndroidアプリケーション | gihyo.jp

    Android SDKはAndroid Studio付属のものです。筆者の場合、既存のAndroid開発環境は持ち合わせていませんので、上記以外にAndroid関連の設定は一切ありません。すでにAndroid開発環境を持っている方は、環境変数ANDROID_SDK_HOMEや~/.androidなどを一時待避しておくと、無用なトラブルに悩まされないで済むかと思います。 説明上の注意 今回からAndroid Studioの操作説明が入ります。説明の都合上、以下のルールで画面や機能について記述します。 画面名や画面上の項目はカッコ(⁠「⁠」⁠)で示します(例:「Preferences」「⁠Appearance」など) 設定画面など、画面内の特定のタブや項目を指示する場合はスラッシュ(/)で区切って示します(例:「Preferences / Appearance」Preferences画面のAp

    第3回 はじめましてのAndroidアプリケーション | gihyo.jp
  • 第1回 Android Studio、そしてベースとなる「IntelliJ IDEA」とは何か? | gihyo.jp

    Android Studio最速入門~効率的にコーディングするための使い方 第1回Android Studio、そしてベースとなる「IntelliJ IDEA」とは何か? はじめに 5月15日にサンフランシスコで開催された米Google Inc.のイベント「Google I/O 2013」にて、Android向けの統合開発環境(以下、IDE)「⁠Android Studio」が発表されました。Android Studioは、今までEclipseのプラグインとして提供されてきたADT Plugin(Android Development Tools)とは異なり、新たに「IntelliJ IDEA」をベースに作り直した全く新しいIDEです。 Android Studioのニュースは瞬く間に国内外に知れ渡り、そのニュースと共にIntelliJ IDEAという言葉も多く目にしたと思います。 Int

    第1回 Android Studio、そしてベースとなる「IntelliJ IDEA」とは何か? | gihyo.jp
  • 第19回 Node.jsに見るSOAP vs. REST論争 | gihyo.jp

    3年ほど連載を続けているこのコラムだが、今号からは少し装いを変え、最新の技術トピックを業界全体の流れから俯瞰(ふかん)的に見た考察を加えていきたい。最初のトピックはNode.jsだ。 Node.jsを取り巻く議論の背景 2009年に発表されて以来、ソフトウェアエンジニアの間で注目を集めているNode.js だが、それを取り巻く非同期プログラミングへの賛否両論の根底は、1990年代の初めにミニコンピュータからパーソナルコンピュータ(以下PC)へと引き継がれたRPC(Remote Procedure Call)に関する議論にある。 RPCの発想をPCの世界に持ち込んだのはMicrosoftである。Windows 95より前は、ノンプリエンプティブマルチタスク[1]しかサポートしていなかった。 Windows格的なマルチタスク機能を持ち込んだのは、David Cutlerを筆頭とするDEC(

    第19回 Node.jsに見るSOAP vs. REST論争 | gihyo.jp