サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
murayama.hatenablog.com
機械学習、画像認識を始めると「大量の画像データないかなー」とググることになります。そうするとすぐにImageNetなる存在に気づきます。 ImageNet ImageNetとはスタンフォード大学がインターネット上から画像を集め分類したデータセット。一般画像認識用に用いられる。ImageNetを利用して画像検出・識別精度を競うThe ImageNet Large Scale Visual Recognition Challenge(ILSVRC)などコンテストも開かれる。(:AI白書より引用) ILSVRC、2012年のコンテストでディープラーニングを使ったチームが圧勝した話も有名です。 それでImageNetのサイトを訪問すると、画像を検索して、そんで画像選んで、ダウンロードしようとするとURLの一覧が表示されてー。え。これからどうしようとなります。一括ダウンロードするサンプルプログラムも
今年もITエンジニア育成の新入社員研修に取り組んでいます。日々の空前絶後のハードなトレーニングのおかげで今年も優秀なPHPerたちがたくさん育っています。 慣れないプログラミングの習得に苦労しつつもポジティブにがんばっているみなさんへ。PHP初心者が効率良くPHPプログラミングを習得するためのAtomパッケージを紹介します。 linter-php PHPの構文エラーを見つけてくれます。 atom.io インストールの途中、依存パッケージも求められるので忘れずにインストールします。AtomのLinterパッケージはHTMLやCSSなど様々な言語に対応しているので必要に応じて探してみると良いです。 indent-guide-improved インデント範囲をわかりやすく表示してくれます。 atom.io プログラミングを理解できない人の多くはインデントを意識できていません。インデントを徹底すれ
これからPythonで機械学習始めたい方向けのまとめです。 Python PythonはWebアプリの開発からちょっとしたツールの開発まで、多目的に利用できるプログラミング言語です。また機械学習ライブラリが充実しているため近年注目を集めています。 www.python.org 次のAnacondaディストリビューションでPythonをインストールすることもできます。 Anaconda Pythonで機械学習を始めるにはCONTINUUM社の配布しているはAnacondaディストリビューションを活用すると良いでしょう。以下のURLからダウンロートすることができます。 www.anaconda.com AnacondaにはPython本体だけでなく機械学習に必要なライブラリも梱包されているため、Anacondaをインストールすればすぐに機械学習プログラミングを始めることができます。 Jupyt
Laravel5を使ったWebアプリケーションを開発しています。 開発時はビルトインサーバで開発して、運用時はApacheでということがやりたかったのでまとめです。OSにはUbuntu14.04を使っています。Vagrantも使ってます。 開発時 - ビルトインサーバの起動 開発時はphp artisan serveでビルトインサーバを使ってます。手軽で便利です。 $ php artisan serve IP指定で起動することもできます。 $ php artisan serv --host 192.168.33.10 運用時 - Apacheで動かすには 基本的にはApacheでLaravelアプリケーションのバーチャルホストを定義するだけ。Laravelアプリケーションのpublicフォルダをドキュメントルートに指定します。 バーチャルホストの定義 Apacheにバーチャルホストの定義を
最近、Javaのマイクロフレームワークがきてるようです。 http://postd.cc/java-micro-frameworks-the-new-trend-you-cant-ignore/ Javaのフレームワーク事情 Javaに限らず、Webアプリケーション開発の世界ではフレームワークを使って開発することが一般的です。JavaにはSpringフレームワークや標準のJavaEEなど多くのフレームワークが存在しますが、これらのフレームワークは様々な要件を満たすため、多くの機能が含まれています。そのため、フレームワーク初学者にとって、フレームワークとはどういうものかを学習するという意味では全体像が掴みにくく、学習コストの高いものになっています。 昔はStrutsを勉強して、それからHibernateを勉強して、それからSpringやSeasar2を勉強する、という流れがありました。最近は
もうすぐ6月も終わります。この記事は4月から入社して、新入社員研修で初めてプログラミングを学んだ方へのメッセージです。 はじめに プログラミングメンター(指導者)の仕事をしていると、プログラミングの習得には3つのステップがあることに気づきます。 覚える わかる できる ここでは覚える、わかる、できるの違いについて考察します。 ステップ1:覚える 初めてプログラムを学ぶとき、変数や配列、if文やfor文といった様々なルールを覚えないといけません。プログラミング習得の第1歩は「覚える」ところからスタートします。たとえばJavaプログラミングを習得する場合は、次のようなプログラムを書くところから始まります。 public class Main { public static void main(String[] args) { System.out.println("Hello World");
はじめに Railsの環境をパパっと作りたい。でもVagrantもChefもよくわからない。そんな私でもすぐできました。 こちらが参考になりました。 以下内容をまとめてみました。 Using Vagrant for Rails Development Overview 読み終えるまでにかかる時間は20分くらい Vagrantは開発環境のセットアップを自動化するツールです。あなたのコンピュータ上に仮想環境を構築します。Vagrantを使えば開発環境とプロダクションサーバの整合性を保ったり、同僚と同じ環境で開発したりできるようになります。 仮想環境上に構築したRails開発環境は、ホストコンピュータの設定がいかなる状態になろうとも、同じ状態を維持できます。もし、1年後に開発プロジェクトを再度稼働する必要が生じた場合にも、数分でプロジェクトを起動できます。これは大変便利なことです。 ここでは仮想
はじめに Rails4.1でテスト環境を構築する方法を調べてました。以下のブログ(英語、、)が参考になったので紹介します。 Setup Rails 4.1, Spring, Rspec, and Guard - Girders Setup Rails 4.1, Spring, Rspec, and Guard Rails4.1では、Springを使うことでrailsコマンドやrakeコマンドの起動を素早く実行することができます。Springはアプリケーションのバックグラウンドで動作し、アプリケーション起動時のもろもろの動作をサポートします。Springに関連する情報を見つけるのに苦労してので、ここにまとめておきます。 私はテストフレームワークにRSpec、テストランナーのイベントウォッチャーにGuardを使っています。Springを使えば、エディタで編集したファイルを速やかにテストしてくれ
元ネタ こちらを参考にQueriesについてまとめます。 https://parse.com/docs/android_guide#queries 前回の記事はこちら。 AndroidでParse入門 - Objects編 - Murayama blog. Basic Queries 多くの場合、getInBackgroundでは取得したいオブジェクトを指定するのに向かないでしょう。ParseQueryは、リストオブジェクトや単一オブジェクトを取得するための様々な方法を提供しています。 一般的には、ParseQueryを作成して条件を付与します。そして、findInBackgroundメソッドとFindCallbackを使ってマッチしたParseObjectsのリストを取得します。たとえば、特定のplayerNameのスコアを取得するには、whereEqualToメソッドを使用してキーの値
元ネタ こちらを参考にUsersについてまとめます。 https://parse.com/docs/android_guide#users 前回の記事はこちら。 AndroidでParse入門 - Analytics - - Murayama blog. Users 多くのアプリは、セキュアな方法でユーザアカウント管理する必要があります。ParseはParseUserという特別なユーザクラスを提供しています。これにより、ユーザーアカウント管理に必要な多くの機能が自動的に施されることになります。 このクラスを使用することで、あなたのアプリにユーザアカウント管理機能を追加することができます。 ParseUserクラスはParseObjectクラスのサブクラスです。そのため、フレキシブルなスキーマ、自動永続化、Key-ValueインタフェースといったParseObjectの機能を継承しています。
BowerはWeb開発用のパッケージ管理ツールです*1。フロントエンドJavaScriptライブラリをインストールしたり、なんか他にもいろいろできそうです。 BOWER: A package manager for the web インストール Nodeとnpmがインストール済みであれば、以下のようにコマンドを実行します。 npm install -g bower パッケージのインストール パッケージのインストール方法は複数あります。 # カレントディレクトリのbower.jsonファイルからインストール bower install # ローカル、リモートパッケージをインストール bower install <package> # リモートパッケージをGitタグ指定でインストール bower install <package>#<version> たとえば、jQueryをインストールすると
ここんとこのブログの題材として2週間ほどPhantomJSを触ってみましたが、これけっこう難しいです。JavaScript独特のイベント処理や、WebKitの仕組みうんぬんで、リンクをクリックするのにもハマったりします。 何かいい方法あるはず、、と調べてたら、やっぱりあるんですね。 CasperJS CasperJS is a navigation scripting & testing utility for PhantomJS, written in Javascript http://casperjs.org/ CasperJSは、JavaScriptで実装されたPhantomJSのユーティリティです。ざっくり以下のことができます。 ブラウザのナビゲーションステップを順に定義できる フォーム入力 リンクのクリック ページのスクリーンショット(画面の一部分だけもOK) リモートDOMの
CasperJSは、JavaScriptで実装されたPhantomJSのユーティリティです。PhantomJSを使ったFunctional Testを実行することができます。 CasperJS, a navigation scripting and testing utility for PhantomJS | CasperJS 1.0.2 はてなブログ(murayama blog)をテストしてみる テストの題材として、 き、気がつけば使っていたChrome拡張機能 オススメ3つ - Murayama blog. を扱うことにします。*1 さて、上記のページは以下のように構成されています。 タイトル:き、気がつけば使っていたChrome拡張機能 オススメ3つ 見出し: 縦長画面もキャプチャできる - Screen Capture (by Google) 見出し: 検索結果を1年以内のものに
PhantomJSは、Webページのロード/操作が可能です。 Webページ上での様々な操作を自動化することができます。 DOMの操作 PhantomJSではDOMスクリプティングやCSSセレクタを使うことができます。 ブラウザで実行されているかのように振る舞います。 page = require("webpage").create() url = "http://www.httpuseragent.org" console.log "The default user agent is #{page.settings.userAgent}" page.settings.userAgent = "SpecialAgent" page.open url, (status)-> if status != "success" console.log "Unable to access network
PhantomJSとは PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. http://phantomjs.org/ PhantomJSはJavaScript APIで動くヘッドレスWebKitです。 PhantomJSはDOMハンドリング、CSSセレクタ、Canvas、SVGなどネイティブにサポートしており、高速に動作します。 ものすごく簡単にいうと、ターミナルで動く画面をもたないブラウザですね。 主な利用シーンは以下のとおりです。 Webテスト ページオートメーション スクリーンキャプチャ ネ
週末の昼下がりに、 Railsのガイドを読んでたら、以下のようなコードに遭遇したのでメモしておきます。 def logged_in? !!current_user end 気になったのは、エクスクラメーションマークが2つ付くところです。 通常、!(エクスクラメーションマーク1つ)の場合は否定(Not)になります。 じゃー、!!(エクスクラメーションマーク2つ)付けるとどうなるの? って気になったので調べてみました。 !! (The double bang / double not) in Ruby - Momoro Machine 先に結果を見た方が早いと思うので、コードも引用させてもらいます。 >> !!active => true >> active = false => false >> !!active => false >> active = nil => nil >> !!ac
目的 最近、仕事でRubyを使うことが増えてきました。 Ruby、Railsと勉強すると次に考えるのは、 「テストどうやって書くよ」ということですよね。 #きっとそう。 そんなわけでRSpecの学び方をまとめます。 対象者 そろそろRSpecでテストを書きたい!人向け。 学び方 step1 - 「RSpec の入門とその一歩先」へを体験する まず勉強になるのがこちら。 RSpec の入門とその一歩先へ - t-wadaの日記 「東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。」 http://d.hatena.ne.jp/t-wada/20100228/p1 RSpecワークショップ資料を公開してくださっ
ひさしぶりにLinuxでいろいろやろうと思い、VirtualBoxのインストールから始めました。ゲストOSはCentOS5.5。 だいぶ前にやった方法(VirtualBox上のCentOSにsshでログインする方法 in Mac - Murayama Blog.)でホストOS(Mac)からゲストOS(CentOS)へログインしようとしたら、 CentOS起動時に以下のエラーメッセージ。 Configuration error: Failed to get the "MAC" value (VERR_CFGM_VALUE_NOT_FOUND). で、ちょっとハマりましたが、こちら(http://naoki-k.blogspot.com/2009_06_01_archive.html)を参考にさせて頂いて無事解決しました。 ゲストOS側のNICをIntelとしている場合は、 ポートフォワーディ
というのが気になりました。 Webアプリケーションの開発で、 JNDIでInitialContextからDataSourceを取得してキャッシュするようなコードをよく見ます。 例えばこんなの。 private static DataSource ds = null; public static Connection getConnection() throws NamingException, SQLException{ if(ds == null){ InitialContext ic = new InitialContext(); ds = (DataSource)ic.lookup("java:/comp/env/jdbc/xxx"); } return ds.getConnection(); } 上記のメソッドはちょっとイマイチなとこもあるけど、まー気にしない。 static変数に
Linux勉強中です。 今日はiptablesを試してみます。 参考書籍はこちら。 Ubuntuで作るLinuxサーバー (日経BPパソコンベストムック) 作者: 日経Linux出版社/メーカー: 日経BP出版センター発売日: 2008/12/12メディア: 大型本購入: 6人 クリック: 369回この商品を含むブログ (11件) を見る そうそう、この本オススメです。 タイトルにもあるとおり、サーバ構築がメインでして、 内容も浅すぎず、深すぎずちょうどいいです。 暇な人は本屋さんへGO。 で、勉強した内容をまとめます。 iptablesとは iptablesはパケットフィルタリング機能をもつソフトウェアです。 ファイアウォールやNATとして利用できます。 CentOSの場合は、デフォルトでインストールされており、 ファイアウォールの設定もデフォルトで有効になっています。 iptables
tcpdumpはネットワークのトラフィックを監視するツールです。 tcpdump で監視がスタートします。 ただい、この場合、NICに流れるいろんなパケットが出力されちゃいます。 特に、sshでログインしてtcpdumpってするとびっくりします。 監視対象のパケットを絞り込む場合は、ホストやポート、プロトコルを指定します。 tcpdump host 192.168.24.73 and port 80 上記の場合であればホストが192.168.24.73、ポート80番(HTTP)のパケットを監視できます。 この場合、送信元、送信先の指定はしていないので、送信元、送信先のいずれかに該当するものが監視対象となります。 送信元の指定のみをフィルタリングの対象としたい場合はsrcと修飾します。同様に送信先を指定する場合はdstを指定します。 tcpdump src host 192.168.24.7
最近Linuxをいじってます。CentOS。 Linuxあまあまな僕ですがちょっと勉強がてらいろいろやってみます。 本日のテーマはこちら。 DLNAサーバ。 なにそれ、常識? Digital Living Network Allianceの略で、電子機器間のネットワーク接続を可能にするガイドラインを定める業界団体を指す。 http://journal.mycom.co.jp/column/osx/226/index.html ざっくりいうと、サーバ上の動画などをブラビアとかPS3とかで動画を共有できたりするみたいです。 もちろんブラビアもPS3も持ってない。 でもやる。 仕組み的にはこんなかんじ。 DLNAサーバたてとけばPCでもテレビでも携帯でもなんでもマルチメディア見れちゃうぜ、の図。 Cacooで書いてみました。Cacoo便利。 DLNAサーバの設定 サーバOSはCentOSの5.2
Commons DBCPについて調べてみました。 ちょっと前置きからスタートします。 Connectionオブジェクトの生成について Javaは、DBとの接続をjava.sql.Connection型のオブジェクトとして取り扱います。 JDBCドライバを使った一般的なプログラムは以下のようになります。 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521/ORCL", "scott", "tiger"); Connectionオブジェクトの生成にかかる負荷 上記のプログラムの場合、 Connection con = DriverManager.getConnection( "jdbc:o
前回のサーバ編の続き。 せっかくサーバをたてたのでクライアントから接続してみたい。 そんな当たり前のところをまとめます。 DLNAクライアント ちょろっと調べてみたところDLNAクライアントアプリはそんなに多くないようです。 僕はクライアント機にMacを使う予定だったので、 Macを対象に探したのですがなかなか有力情報が見つからず苦労しました。 で、とりあえず動作を確認できたのがこちら2点。 PLEX こっちはもう、正直クライアントとかいう次元ではなくヘビーなアプリです。 Macに標準でついてるFront Rowみたいなアプリです。見た目もすげーゴージャスです。 Plex - A Complete Media Solution 単純にPLEXのみでメディアサーバとして成り立つみたいです。 Mac OSXを高機能メディアサーバに「Plex」 - MOONGIFT|オープンソース・ソフトウェア
一般的?なソートアルゴリズムのJava実装まとめ。 選択法(セレクションソート) 交換法(バブルソート) 挿入法(インサーションソート) シェルソート クイックソート 選択法(セレクションソート) import java.util.Arrays; public class SelectionSort { public static void main(String[] args) { int[] array = new int[] { 5, 4, 6, 7, 1, 9, 8, 2, 3 }; for (int i = 0; i < array.length; i++) { int min = i; for (int j = i + 1; j < array.length; j++){ if (array[min] > array[j]){ min = j; } } int tmp = ar
IllegalArgumentException IllegalStateExceptionの使い方についてまとめます。 IllegalArgumentException パラメータ値が不適切 メソッドのパラメータ(引数)が不正だった場合にスローする例外クラスです。 例えば、 public void introdue(String address){ みたいなメソッドがあるとします。 さらに引数addressの仕様として「文字列桁数は16桁まで」と決まっている場合、以下のようにコーディングします。 public void introdue(String address){ if(address.length() > 16){ throw new IllegalArgumentException("addressが16桁を超えています。"); } // 処理 } 引数がnullの場合 上記の
netstatコマンドでポートとプロセスIDの関連がわかる。 netstat -tanpオプションの補足:-tはTCP、-aですべての情報、-nで数値表示、-pでプロセスIDの表示。 ポートからプロセスの詳細を調べるにはlsofコマンドを使う。 lsof -i:portNo 疑問 PID/Program nameの表示がない場合 ローカルだとnetstat -tanp時に以下のようになりました。 [root@murax Desktop]# netstat -tanp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name ・・・(省略)・・・ tcp 0 0 0.0.0.0:2049 0.0.0
お久しぶりです。 最近、毎日パワーポイントと真面目に向き合って、気づいたことがあるのでメモします。 #Office2003の話です。 パワーポイントに限らずOfficeにはクリップアートという、 斬新なイメージがついてます。 #メニューの挿入 => 図 => クリップアート で選択できます。 例えば、こんなんとか。 クリップアートを資料にちょくちょく使いたいなー、と思うことはあるのですが、 デフォルトでついてるクリップアートは、正直、微妙なかんじのものが多いので、 Office Onlineのクリップアートを使ったりしていました。 Office Onlineのクリップアートは、 そこそこイケてるものがあるなー、と思っていまして、 検索してはDL、検索してはDLと繰り返してたんですけど、 僕が使うクリップアートは似通ったものが多いことに気づきました。 こんなんとか、 こんなんとか。 なんとな
AS3.0アニメ本も9章に入りました。やっと半分くらいです。 9章のお題は衝突判定。 衝突、ぶつかったかどうかを判定することですね。 これが理解できれば、グラディウス的なシューティングゲームが実装できるかもしれません。 あるいはスターソルジャーか。 メガドライブのサンダーフォース3は隠れた名作でしたね。 ゲームの話は置いといて、衝突の話に入ります。 この章を読むまで知らなかったんですが、 表示オブジェクトの基底クラス(語弊があるかも)であるDisplayObjectクラスでは、 あらかじめ衝突を判定するhitTestObjectメソッドと、hitTestPointメソッドが用意されています。 hitTestObjectメソッドは引数にDisplayObject型のオブジェクトをとります。 つまり、引数に指定したDisplayObjectオブジェクトとの衝突判定を返します。 一方のhitTe
次のページ
このページを最初にブックマークしてみませんか?
『Murayama blog.』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く