Jupyter, Ipythonの設定 ~起動、グラフの日本語表示、エイリアス、インライン表示、スタートアップモジュールインポート~PythonIPythonmatplotlibcmderJupyter
はじめに ディープラーニングのフレームワークTensorFlowは各種処理をProtocol Buffers経由で外だしすることで、PythonとGPU/分散コンピュータとのスイッチングを減らし、計算を効率化しています。 Protocol Buffersは、Googleの分散コンピューティングを支える技術で、言語非依存、プラットフォーム非依存にデータ構造をシリアライズする仕組みです。現在、C++, C#, GO, Java, Pythonがサポートされています。 TensorFlowは、処理をノードとしてグラフを構築し、一気に計算する仕組みになっています。 グラフの例 以下TensorFlowのグラフがProtocol Buffers形式にシリアライズされる様子を見てみたいと思います。 サンプルプログラム TensorFlowで足し算をしてみます。 初期値0で加算1を3回実行します。 im
JSON関連ツール JSON Editor Online JSONの構文チェック及びJSONオブジェクトを表示してくれるサイト。 http://www.jsoneditoronline.org/ JSONLint JSONの構文チェックサイト。 http://jsonlint.com/ JS Hint JSONだけでなく、JavaScriptの品質チェックサイト。 http://jshint.com/ Chrome ExtensionのJSON Formatter Chromeから簡単に使える。 https://github.com/callumlocke/json-formatter * potato4dさん、大変ありがとうございます! 実際試してみるための、オンラインJSON API一覧 A collective list of JSON APIs for use in web dev
タイトル通りです。 特徴量を入力して分類・識別(回帰)するだけの単純なコード例が意外と無いので、自分で書いときます。 下の記事でやった単純なディープラーニングの実装のTensorFlow版です。 簡単なディープラーニングのサンプルコード (2入力1出力/2クラス分類) with Keras http://qiita.com/ryo_grid/items/e746238c78b8c6427200 学習用データは作るのが面倒なので、学習処理のループのところで偶数奇数で分岐して食わせるデータを変えるということをしています。 学習時の回答データは、正解のラベルに対応する要素のみ1で他は0の配列を用意します。 import tensorflow as tf # number of inputs input_len = 2 # number of classes classes_num = 2 ses
dtypeに何も指定せずにいると、勝手に型を判別してしまいます。 例えば以下のようなタブ区切りのデータがあった場合 data_1.txt id x01 x02 x03 x04 x05 x06 x07 x08 x09 x10 0001 0.54 0.54 0.85 0.79 0.54 0.36 0.28 0.52 0.21 0.49 0002 0.72 0.68 0.77 0.69 0.07 na 0.29 0.42 0.32 0.51 0003 0.68 0.99 0.19 0.16 0.31 0.76 0.57 0.08 0.07 0.98 0004 0.98 na 0.49 0.47 0.09 0.52 0.42 0.35 0.83 0.64 0005 0.37 0.35 0.99 0.88 0.81 0.46 0.57 0.47 0.06 0.55 # coding: UTF-8 i
Deep Learningを勉強するためにGPUを買ってUbuntuマシンにドライバーをインストールしたもののGUIログインできなくなってしまいました..。いろいろ試しながら何とかGUIログインできるようにしたときの話です。 自分のマシン環境 OS Ubuntu 14.04 LTS (Windows7とのDualブート) GPU GeForce GTX 950 (購入して追加したもの) Quadro NVS 295 (PCに最初から搭載されてたもの) 最初にやったこと NVIDIAのドライバーをインストールするとGUIログインできなくなるというのはよく起こるようで記事はそこそこ見つかります。以下あたりを参考にしたのですが自分の環境の場合解決されませんでした。環境によってはこれらの方法でうまくいく人もいるかもしれません。 http://may46onez.hatenablog.com/ent
Node.js+Express+socket.ioでリアルタイムチャットを作ってWeb Appsに無料ホスティングする(yarnも試してみた)Node.jsSocket.ioAzureExpressWebApps Node.jsのフレームワークといえばExpressが有名です。そしてSocket.io+Node.jsという組み合わせもやはり有名です。これらを使ってチャットを作ってみます。 僕が運営しているdotstudioの裏側ではAzure Web Appsを使っていますが、今回のチャットも同様にWeb Appsでホスティングしてみます。 筆者の環境 macOS Sierra 10.12 Node.js v7.0.0 (出たばかりですね) yarn v0.16.1 Express 4.14.0 socket.io 1.5.1 npmでもいいですが、それだと前の記事と全く同じになりそうなの
Asynchronous Methods for Deep Reinforcement Learning asynchronous gradient descentを用いたreinforcement learningの学習手法を提案する。 experience replayは過去の観測を定期的に再利用して学習する事で時間依存性を回避し学習性能を向上可能で、よく使われてきた。 本論では代わりにマルチエージェントをマルチCPU上でそれぞれ走らせ、異なった環境の観測を同時に与える事で時間依存性を回避した学習を可能にする。 これによりさらなる性能向上が可能で、かつGPUに頼らずCPUのみで計算時間を減らす事が可能である。 Learning and Inference via Maximum Inner Product Search, ICML2016 log-linear modelの学習を行う際
はじめに Vue.jsは軽量ですが、数万件のリストを並べるとそりゃ普通につらい。 だから目に見えるとこ以外はdom描いてもらうのやめるってコードです。 デモ デモ(jsfiddle) コード <div id="app"> <div style="overflow:auto;height:170px;" @scroll="getScrollParam"> <ul :style="listStyle"> <li style="height:17px" v-for="num in displayList">{{num}}</li> </ul> </div> </div> new Vue({ el: '#app', data: function(){ return { list:list, scroll:0,//スクロール量 scrollMax: (list.length - displayRow
最近、無数に関数型記事が上がっています。入門記事は、これでもかと言うくらい。私も関数型を浸透させたいので、めげずに上げます。多くの記事は、文字のみで語っていてソースコードで見なければ、良くメリットがわからないという指摘を見かけた気がしたので、コード中心の記事を上げたいと思います。 TL;DR 関数型プログラミング、関数型言語を使うことによって、以下の利点を得ることが出来ます。 副作用があるコードと無いコードを分けて、テストのしやすさを確保します。 関数型プログラマは、ミスの発見の多くをコンパイラに任せます。 抽象的な汎用関数を使い、具体的な関数を記述します。結果ソースコード全体が短くなります。 はじめに 用語説明 用語の定義から入ります。関数型プログラミング自体に厳密な定義は無いと思います。しかし、自分が思っている関数型プログラミングを以下に項目を列挙したいと思います。 関数がファーストク
{ "message" : "Validation failed", "errors" : { "identify" : [ "The identify is invalid format", "The identify is too long", ], "password" : [ "The password is required", ], } } 3.柔軟性 httpパラメータで取得するパラメーターの制限、絞り込み、並び順を指定可能にしよう。カンマ区切りで複数条件可能! * fields : 取得したいパラメーター * getNumber : ページ数 * pageSize : 1ページの件数 * sort : 並び替え * q : 文字列の部分検索 例:/companies/:companyId?fields=data&q=サンプル&sort=id,name 注釈:頻繁に使用する条
言語処理100本ノック 2015の挑戦記録です。環境はUbuntu 16.04 LTS + Python 3.5.2 :: Anaconda 4.1.1 (64-bit)です。過去のノックの一覧はこちらからどうぞ。 第4章: 形態素解析 夏目漱石の小説『吾輩は猫である』の文章(neko.txt)をMeCabを使って形態素解析し,その結果をneko.txt.mecabというファイルに保存せよ.このファイルを用いて,以下の問に対応するプログラムを実装せよ. なお,問題37, 38, 39はmatplotlibもしくはGnuplotを用いるとよい. 33. サ変名詞 サ変接続の名詞をすべて抽出せよ. 出来上がったコード: # coding: utf-8 import MeCab fname = 'neko.txt' fname_parsed = 'neko.txt.mecab' def pars
2020/2加筆 より詳細な内容を下記のブログに記載しました。 https://kakedashi-engineer.appspot.com/2020/02/03/ml-sklearn/ ニューラルネットワークのライブラリ ニューラルネットワーク(多層パーセプトロン)を弄ってみたいという時が結構ある。最近はtensorflow, chainer, theanoとディープラーニングのライブラリは豊富に公開されているんだけど、環境構築が少し面倒だったりもする。そして、なぜか機械学習ではおなじみのscikit-learnではニューラルネットワークは実装されていなかった。(ちなみにPyBrainというライブラリもある) scikit-learn 0.18.0 しかし、2016年9月にリリースされたVer. 0.18.0でとうとうニューラルネットワークが実装された。これでおなじみの超シンプルなAPI
地球惑星科学の研究などをやっていると、1つの図に複数の地図とデータを同時にプロットしたいという場面にしばしば遭遇する。 試しに今回は、Pythonのmatplotlibを用いて、 1〜12月の1ヶ月毎の2次元データ(全球の海面水温データ)を地図とともに同時に1つの図にプロットする ことを目標とする。 1. 複数の地図を同時にプロット コード import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.basemap import Basemap xlim = [100, 170] # 図の範囲(x軸方向:経度) ylim = [10, 60] # 図の範囲(y軸方向:緯度) column = 3 # 列の数 fsizex, fsizey= 16, 18 # 図の横・縦の長さ line_interval = 15
数年前 Twitter の API はベーシック認証、かつ Public な API だったので Twitter Bot なんて楽ちんで作れたのですが、最近は認証は OAuth、Public な API も無くなってしまい Bot を作るのはとても難しくなりました。 やりたい事はそんなに大した事ではないのに、認証のおかげでコードも大きくなりがちで、気付けば本体コードよりも認証用のコードの方が多くなってしまう事もあります。Bot を作りたいのに敷居が高くて手を出せない、なんて思っている方も多いかもしれません。 でももし Twitter Bot がシェルで書けたら、簡単だと思いませんか?実は twty というツールを使うと簡単に Twitter 連携アプリケーションが作れてしまうのです。 GitHub - mattn/twty: command-line twitter client writ
import matplotlib.pyplot as plt import matplotlib.cm as cm import numpy as np x =np.linspace(0,2*np.pi,100) for i in range(30): plt.plot(x,i*np.sin(x),color=cm.hsv(i/30.0)) plt.xlim(0,2*np.pi) plt.savefig("cm.png") plt.show() 色の参考にcmリスト さっきのcm.hogeの所を色々変えてみたものを図示 [0,1]のグラデーションになっていて,一番平らなのが0,盛り上がっているのが1 可視化の参考にどうぞ 王道カラフル系 hsv jet spectral 単色濃淡(っぽい) bone gray pink copper 複数色グラデーション系 cool hot 季節の色たち
ゴール こんな感じでSonarQubeさんからコードレビューされます。 各種言語のソースコードでダメな内容をLint的な感じで教えてくれます。 リンククリックで該当箇所も表示されます。 コードの品質担保 プロジェクトが大きくなると技術的負債がソースコードに蓄積されていきます。 技術的負債がたまってくると新規機能追加や既存機能改修時に色々悪影響が出てきてプロジェクトが遅延します。 技術的負債がたまるにつれ、リファクタリングコストが高くなり、 最悪作り直しの方が早いという結果にもなりかねません。 何より常時問題がある箇所を直していれば、誰かが書いた負債を引き継がなくて済むというメリットがあるので 精神的な負荷を下げることができます。 手動でのコードレビューはしんどい かといって目見でコードレビューをするには人的コストもかかるし限界もあります。 ツールを使い自動でやる場合は、ソフトウェアメトリッ
はじめに 最近流行りのDeep Learningに関する入門記事です。 Deep Learningは既にオープンソースのライブラリが豊富に出まわっており、今回はその中でも国産で定評があり、とある記事でGPU計算が現状で割と速いと書かれていたchainerを使用します。 ただ、Chainerの入門記事は多くあるのですが、そのほとんどが手書き文字を認識するmnistのサンプルを実行して終わっています。 たしかに、mnistのサンプルを眺めれば、Chainerの使い方はわかってくるのですが、なんとなくわかるのと自分で組めるのは違うなということで、今回はchainerを使ったDeep Learningが自分で組めるというところまでを目標にやっていきます。 開発環境 ・OS: Mac OS X EI Capitan (10.11.5) ・Python 2.7.12: Anaconda 4.1.1 (
Serverless Frameworkとは 最近巷で騒がれているサーバーレスなアーキテクチャを容易に作成、管理できる一般的なフレームワークというよりツールに近いもの。 Severless FrameworkのAWS環境においては、CloudFormation・Lambda・API Gateway・DynamoDB・S3・IAMなどのサービスを組み合わせてサーバーレスなアーキテクチャを管理・構成している。 今回は、Severless Frameworkを用いてLambda・API Gateway・DynamoDBのアーキテクチャで簡単なREST APIを実装する。 なお、本記事ではv1.0.xを対象としている。 v0.xと大きく構成・設定が変わっているので注意。 環境 今回はAWS上で、Severless Frameworkを用いて簡単なREST APIを作成する。 Severless F
はじめに 皆さんご存知、SERVERLESSフレームワーク。僕は最近どっぷりこのフレームワークに浸かっております。進化が早くてついていくのが大変です。 SERVERLESSってAPI Gateway作るよね?ってことはHTTPプロキシとしても作れるんじゃね?ってなって試してみました。 前編:パスやクエリストリングが決まっている場合のHTTPプロキシの作り方 後編:流行りの{proxy+}(オールスルー)のHTTPプロキシの作り方 を書く予定です。 実施環境は以下のとおりです。実施される方は、必要なものをインストールしてください。 AWSアカウント aws-cli v1.10.47 serverless v1.1.0 また、基本的な使い方は下記記事を参考にしてください。 SERVERLESSフレームワークv1.0正式リリース版を触ってみた この記事のゴール プロキシ先は、図書館の検索ができる
また開発でPythonをゴリゴリ書く環境になったので、折角なのでPython環境を整備した。 自分はWeb開発 + ちょっとしたスクリプトでの利用が中心で、今では2系のコードを扱うことが無くなった為、pyenv, pyenv-virtualenvの利用を辞め、venvを使う方法に変えた。 (追記: 2017/12/29 2017年現在もこの環境で開発中です。) 環境: OS X EL Capitan, High Sierra pyenv, pyenv-virtualenvをアンインストールする pyenvが必要かどうかフローチャート - Qiita に従い、pyenv, pyenv-virtualenvをアンインストールする。 詳しくはリンク先参照だが、開発環境の構築方法を探してこの記事に辿りついた人にpyenvは不要だと思われる。 私も過去にはpyenvを使って.python-versi
はじめに 一般的なWebシステムを念頭に、性能テスト(performance testing)の概念的なところについて少しまとめてみました。 個別のツールや、チューニングについての記事は多いですが、大枠のフレームについての記事があまりなかったので、書いてみましたが、誤りなど指摘いただけますと幸いです。 最初性能テストの話をまとめようと思っていたのですが、考えてみたら、要件があり、設計があり、テストがありと、一連の流れが必要なのでした。 まずはテストプロセスの定義から。定義についてはこちら1を参照しています。 (テストに関する用語はなんでもそうですが、定義している団体や個人によって、意味合いが異なっています。なので、ここに書いたことはそれを念頭に置いて頂ければと思います。人によって、高負荷テスト、高負荷試験etc...なんでもありですしね) テストプロセスの定義 性能テスト(performa
概要 docker-composeで構築した環境に、nginxのコンテナを作成し、リバースプロキシとロードバランシング(scaleを使います)の機能を持たせた手順。 下記の記事に、リバースプロキシとロードバランシングの機能を加えたものです。 [関連記事] docker-compose on CentOS7構築手順メモ CentOS 7.1 docker-engine (Docker 1.12.3) docker-compose 1.8.1 docker-engine, docker-composeのインストール 下記を参照 docker(docker-engine), docker-composeのインストール コンテナ構成 コンテナ名 役割 リンク先 イメージ元
gulpを知って、よく分からないままイジイジしてしばらくgulpから離れて、最近またgulpをやってみようと思いタスクランナーをイジイジしてました。 なんとなく自分の開発スタイルにあってそうな感じの設定ができたのでメモがてら。 私はWeb制作のフロントエンドエンジニアで、基本的にHTML・CSS・JavaScript・PHPくらいしか触りません。 やりたいこと 主にMAMPを使用してたので、MAMPの資産は活用したい 開発/更新が終わったら差分ファイルを抽出したい もちろんファイルの変更を監視してブラウザリロードしたい Sassとかやってみたい すみません、Stylus も使ってみたいんです 画像の圧縮もしてみたい 更新して、差分だけをアップロードしたいんです インストールしたパッケージ インストールしたパッケージは下記になります。 npm を使用してインストールします。 del パッケー
概要 Docker にて、Webサーバ環境を作成し、いろいろ設定ファイルなどを編集していたら、記載もれがあり、Apacheが起動しなくなった。かつ、Dockerコンテナ起動時のコマンドで起動してたため、コンテナ自体の起動もできなくなった。結果、コンテナ内にも接続できなくなり、途方に暮れてしまったので、対処法をメモ。 docker cp を使って、コンテナ-ホスト間ファイルコピー Dockerイメージ → ホスト環境 docker cp <コンテナID>:/etc/aaa.conf aaa.conf ホスト環境 → Dockerイメージ(Docker1.8からサポート) docker cp aaa.conf <コンテナID>:/etc/aaa.conf 上記コマンドを使用して、ホスト環境に対象設定ファイルをコピーしてきた。 問題の箇所を修正した上で、Dockerイメージの方に戻し、コンテナ再
2017年1月4日追記 2016年12月から下記の内容がうまく動かない状態が起きておりましたが、letsencrypt-nginx-proxy-companionが2017年の年明け早々に修正されたので、現状は問題ない状態かと思います。 2016年2月にDocker + nginx-proxyでGitLab CI環境を作ってみる(1)というという投稿をしたのですが、その後にGitLabなどバージョンアップが続いたり、後に自分で色々気づいたこともあったりで新しく投稿します。 2月の投稿と違うところとして、 nginxコンテナとdocker-genコンテナを別々に立てていたのを、nginx-proxyコンテナ一つにまとめる Let's Encryptを利用して、httpsに対応する その他、GitLab周りで細かい設定の追加 となります。前回の説明から変わった部分だけのおおざっぱな説明となりま
「小町の溜息」は、発言小町に投稿された文章を六つの感情パターンに分類し、 悩みを投稿するとそのパターンに沿って、平安時代の歌人、小野小町の和歌の美しいフレーズで回答してくれる仕組み。 概要やイベントの様子は記事や公式サイトに譲るものとして、ここでは、取り組んだ内容の詳細についてご紹介します。 ハッカソンの成果物 : おののこまち Line Bot 今回のハッカソンでは次のものを作りました。 ニュース・相談を入力すると、小野小町が内容を表す和歌を返歌するLine Botです。 なお、アイコンはあきたこまちよりお借りしました。 I. システム構成 今回作成したサービスのシステム構成は次のとおりです。 システム構成にはLINE Bot API の HTTPS Callback は Amazon API Gateway を使うと簡単便利安価で最高 - おともだちティータイムを参考にさせていただきま
背景 過去に大好評だったDocker入門の内容を2016年版にupdateした再入門投稿3本が終わったので、 まだ紹介していない機能を投稿していきます。 Docker Compose 入門 Docker Machine 入門(Hyper-Vの場合) Docker Machine 入門(AWSの場合) Docker 再入門3 2016 Docker 再入門2 2016 Docker 再入門1 2016 Docker 入門 (SlideShare) 動作環境 ThinkPad X200s OS:Linux MINT 18 ThinkPad X1 Carbon OS:Windows 10 Pro (Hyper-V) 個人的に開発環境OSはLinuxが主なので、MacOSやWindowsについては優先度が低いのでご了承ください。 Docker 1.12(docker swarm mode) 複数の
最近は lego を使う方がトラブルが少なくてオススメ。特に dns-01 が使える環境だとWEBサーバも不要になるのでとても便利です。そしてlegoもDockerから利用すればインストールの手間がなく便利です。 ↓は今や古い記事です。当時のアレコレの参考文献までに。 元記事 certbot は普通にインストールしようとすると色んなパッケージとかをローカル環境に入れ始めるので気持ち悪い。 証明書さえ手に入れば良いのでプログラムは Docker 内で実行させれば十分。 ドメイン確認に http を使うが /.well-known/acme-challenge/* のパスが通ればよいだけなのでそこだけ Proxy する形が外側の設定がクリーンに保てて楽ちんでよい。 手順 certbot の実行前にホストのWEBサーバに設定しておく。
前回Packer + itamaeでDockerfileのないDockerライフの記事でitamaeを使ってDocker imageを作ることにしました。 ただその時の課題として対象マシンにitamaeを動かすためにrubyをインストールしないといけないことでした この問題を最近 k0kubunさんがリリースされたMItamaeが解決してくれそうだったので使ってみました。 MItamaeとは? @k0kubun さんが作成されたmrubyのItamae http://k0kubun.hatenablog.com/entry/mitamae そもそもItamaeは何が問題だったのか Itamae ssh経由での適用は遅いのでサーバー側において実行したい linuxとかにはrubyが入っていないものもある Itamaeのためだけにruby一式をインストールする? シングルバイナリで出来たら便利
Bashショートカットのチートシート Bashのショートカットは、よく忘れるので、備忘録として、記載します。 「+」は、同時押し。「/」は、どちらかのショートカット。「,」は、続けて入力をするキーの場合に記載しています。 わかりにくいですが、日本語キーボードで、shiftを押さなければならないキーは、「shift」を記載しています。 よく使うショートカット ショートカット 説明
はじめに この文書は、 Steven Bird, Ewan Klein, Edward Loper 著 萩原 正人、中山 敬広、水野 貴明 訳 『入門 自然言語処理』 O'Reilly Japan, 2010. の第12章「Python による日本語自然言語処理」を、原書 Natural Language Processing with Python と同じ Creative Commons Attribution Noncommercial No Derivative Works 3.0 US License の下で公開するものです。 原書では主に英語を対象とした自然言語処理を取り扱っています。内容や考え方の多くは言語に依存しないものではありますが、単語の分かち書きをしない点や統語構造等の違いから、日本語を対象とする場合、いくつか気をつけなければいけない点があります。日本語を扱う場合にも
Natural Language Toolkit¶ NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, and an ac
こんにちは@tereka114です! 先日、社内勉強会がありました。 今回、私は「Jupyter Notebookを納品した話」で、発表しました。 普段、Jupyter Notebookをデータ分析や機械学習を取り組む中で使います。 このJupyter Notebookを案件の中で使ってみた時に感じたことを発表しました。 実際のスライドはSlide Shareにアップロードしました。 Jupyter Notebookを納品した話 from Hiroki Yamamoto www.slideshare.net Jupyter Notebook一つでドキュメンテーション、コード、図を書き、分析過程を見せられます。 実際の仕事で使うと自分の考えや分析の過程、そして、結果を説明する場面は必ず遭遇します。 そんな時に非常に重宝しました。 また、仕事を通してJupyter Notebookの良かった点
フロントエンド開発という言葉があちらこちらから聞こえてくる。 「反対語はバックエンド開発だから、サーバとかCUIじゃない、アプリとかGUIあたりのことを指す広い意味の言葉だよね。」 ・・・とか思ってたらとんでもない。 世の中ではJavaScript界隈を限定している風な使われ方をしている。 私のような C/C++ メインのレトロエンジニアは肩身が狭くなるばかりである。 本文は、近年のWeb技術に追いつこうと調査した結果のメモ書きである。 n番煎じの内容だが、Web業界にいない人間の視点 なので、私と同類のレトロエンジニア等、一部の人には新しい気付きが与えられるかもしれない。 詳しい人の添削・ツッコミは大歓迎。 詳細はリンク先に任せ、私が思う「わかりやすい順序」で、調べたことをざっと紹介していく。 きっかけ 読み飛ばしてもよい。 Reactを使うとなぜjQueryが要らなくなるのか 数年前、
動機 朝の山手線は、一本遅らせただけで非常に空いてたり、 逆に一本乗り過ごすと全然来なかったり、 遅延のアナウンス出ていないのに平気で5分以上到着が遅れたりしますね。 そういうとき、今山手線がどこにいるかとかどれ位混んでるかとかわかればいいのに…って思うわけですが、そういうアプリがあるんですよ。 JR東日本アプリ - App Store やるじゃんJR東日本…と言いたいところだけど、、まぁその、App Store評価1.5なだけはあって、 現在の内回り電車の列車位置を見つつ各電車の位置も確認したい、と思ったら、 起動→通信中 山手線トレインネットを選ぶ→通信中 山手線の駅がぱらぱらと画面に表示されだす 電車の位置が表示される 内回りを選ぶ 電車を選ぶ→通信中 該当の電車内の混雑状況が表示される 戻る→3に戻る という感じの操作になります。 とりあえず、1〜8全てのタイミングでエラーになって
はじめに 今回は、ローカル(Mac)で作成したアプリケーションのファイルをリモート(サーバー)と同期していきます。 プロジェクトのファイルの同期には Git を使用します。 プロジェクトを Git で管理 最近のソースコードを管理することは Git が多くなって気ました。 SubVersion なら使ったことがあると言う人もいるかも知れません。 何を使うにも基本的に一長一短なのですが、複雑なことをしなければ、基本的には Git は難しくないので、ここでは Git を使ってソースコードの管理をしていきます。 Gitとは? Gitに関する説明は他に譲るとして、メリットだけ書いておきます。 ローカル(手元のMac)とリモート(サーバー)のプログラムを簡単に同期できる 複数人で同じプロジェクトを運用できる 特に、ひとりで開発する際には前者の恩恵を受けることが多いです。 FTPでいちいちファイルをや
概要 普通に中気になりますよね?(自分だけですかね?) またトラブルが有ると中身知りたくなってきますよね? だいたいどんな仕組みなのかわかるといいことがあるかもと思いみてみました。 (正確ではない簡易クラス図と簡易シーケンス図を利用させていただいています。) 何か間違いなどございましたらご指摘お願いします。 最初にまとめ 中身について公式にドキュメントなどがあるか分からないですが個人的に見てみて、 以下の3フェーズに分かれていそうだと感じました。 1. Observable構築フェーズ → subscribeを呼ぶまでに準備として構造を構築 2. subscribeフェーズ → 実際に実行されていくまでにそれぞれが購読していく 3. 実行フェーズ → 購読しているものに結果を渡していく 例とするプログラムについて 今回はこのプログラムに対して見ていくことで理解していきます。 以下のプログラ
imguiとは imguiは、OpenGLやDirectXなどの描画環境の中で動くGUIフレームワークです(vulkanも?)。 "Immediate Mode GUI"と呼ばれるパラダイムにより、大変短く直感的なコードでGUIを構築できます。 どういうGUIコンポーネントが使えるかは、リポジトリのスクショを見ていただいたほうが良いかと思います。 デバッグや調整、テスト用のGUIを構築することが目的のフレームワークです。 環境 今回この記事ではwindows10, vs2015, Cinder(0.9.0)上でサンプルを作成しました。 Cinder用には専用のimgui拡張があるため、そちらを使用します。 https://libcinder.org/ https://github.com/simongeilfus/Cinder-ImGui 根本的な考え方や、imguiのAPIは同じですが、
->Fedora release 24 (Twenty Four) 開始! Centosに諸々を入れる的なDockefile 中身はこんな感じ FROM centos:7 RUN yum -y update && \ #git yum install -y git && \ #epel yum -y install epel-release && \ #remi yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && \ #httpd yum -y install httpd && \ #php7 yum -y install --enablerepo=remi-php70 php && \ #関連モジュール yum -y install --enablerepo=remi-php70 ph
今回は、Spring BootとSpring Sessionを使用してスケーラブルなステートフルWebアプリ(HTTPセッションを使うWebアプリ)を作ってみるぞ〜 システム構成のイメージ 今回は・・・ Webサーバー兼ロードバランサーとしてNginx アプリケーションサーバーとしてSpring Boot(Embedded Tomcat) セッションストアとしてKVS(Key Value Store)の有名どころであるRedis を使用し、Nginx、Spring Boot(Embedded Tomcat)、RedisをそれぞれDockerコンテナ上で動かします。 なお、今回はRedisは1台構成にさせてもらいます。実際のシステムを1台構成で動かすことはあり得ませんが・・・ (Master/Slave構成によるクラスタ化は次回の宿題ということで・・・) フレームワーク構成 Spring B
最近、サークル(?)でWordPressを作った物の紹介に使おうぜと提案があったので作った際の覚え書きです。 とりあえずdocker-composeでWordPressを建てます。 version: '2' services: db: image: mysql:5.7 volumes: - /home/core/wordpress/data/db:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest volumes: - /home/core/wordpress/wp-conte
Djangoでアプリケーションを作るにあたって 前回Djangoで作る自分だけのTwitterクライアントhttp://qiita.com/Gen6/items/11fa5265053da95fcf0b、 をやりましたので今回はSQLiteを使った簡易的なTo-doリストアプリケーションを作成していきたいと思います。色々カスタマイズ余地を残すべく出来る限りシンプルな構成としてみました。To-doリストから自分へTwitterでリプライを送るなどの改造余地もあるかと。 今回はDjangoのFormを活用して作っていきます。 これが理解できるようになると簡易的な顧客管理システムや、掲示板、SNSっぽいアプリケーションなどできる幅がぐっと広がるような気はします。 Djangoってそもそもどうやってはじめるのかは以下の記事を御覧ください。 http://qiita.com/Gen6/items/1
Javaからの利用例 これの使い所は自動テストのキャプチャでしょう。もちろんテストフレームワークに付属しているスクリーンキャプチャメソッドを使えば良いのでしょうが、界隈によてテストエビデンスはWinShotで取るという暗黙の了解があったりします。暗黙の了解は満たしつつ自動化するための妥協案というわけです。 以下にSelenideと組み合わせた場合の例を示します。この例では次の3箇所でWinShotを使ってスクリーンキャプチャを取る例です。 Googleのページを開いた直後 検索ワードを入力した直後 検索結果を表示した直後 import static com.codeborne.selenide.Selenide.*; import static org.junit.Assert.*; import java.io.File; import java.io.IOException; impo
Webアプリケーションにおける機械学習活用の基礎──HTML5 Conference 2016セッションレポート 中井悦司(グーグル株式会社) みなさん、こんにちは。Google Cloud Solutions Architectの中井です。 HTML5 Conference 2016では、「Webアプリケーションにおける機械学習活用の基礎」と題して、機械学習の基礎となる仕組み、そして、機械学習を利用したクライアントアプリケーションの例を紹介させていただきました。今回は、この発表の内容を振り返りたいと思います。 機械学習とディープラーニング、そして、AIの関係 機械学習そのものは古くから利用されている技術であり、過去のデータを元にして、「(まだ見たことのない)未来のデータにもあてはまる一般的なルール」を発見することがその役割となります。つまり、はじめて見るデータに対して、何らかの予測を立て
精度が上がったと話題のGoogle翻訳で僕が書いた日本語を訳してみて、その英文を見て意味が分かるかどうか、英文に違和感があるかないかを検証する。 What is Moyamoya? まあわかる。 The purpose of this book is to solve the "Moyamoya on programming". 引用符の閉じ位置とかtheとかに違和感があるけど、まあわかる。 Everyone is learning programming, "What is object-oriented? I do not know like I understood ..." You may have felt moaiyoya such as. これは書き直しが必要そう。元の日本語が「わかったようなわからないような…」という文字列を含む複雑な構造だから訳せないんだな。 In thi
私は普段は Windows マシンから自宅サーバの Linux に ssh で接続して作業しており、端末内で作業が完結している間はいいのだけど、Web ブラウザはローカル側なので、URL を開いたりクリップボードのやりとりなどが面倒。 そこで便利なのが lemonade! GitHub - lemonade-command/lemonade: Lemonade is a remote utility tool. (copy, paste and open browser) over TCP. ssh 越しから URL を飛ばしてローカルでブラウザを開いたり、リモート側からローカルのクリップボードの読み書きができる。便利。 lemonade を使う上であれこれやったのでメモ。 port forwarding lemonade 作者の pocke さんはローカルマシン内で動いている仮想環境との
hb.matsumoto-r.jp 前回の記事では、PHPが動くApacheのコンテナをhaconiwaを使って沢山起動しました。しかし、前回のコンテナは、 同じコンテナイメージがあるディレクトリを複数コンテナで共有している ホストから見てもuid/gidがapacheで全て起動している pidもホストとコンテナで共有している というように、コンテナとホストの空間が混在した状況になっていました。そこで、今回はさらに踏み込んで、よりコンテナを独立した環境にするべく、 動的にコンテナイメージのtar.gzからそれぞれの独立したコンテナ用のディレクトリを用意する 動的に各コンテナにホストのuid/gidレンジを切り出し、コンテナ内ではuid=0からレンジの数だけマッピングする 例えば100個のuidレンジ(80000 ~ 80099)をコンテナ内では(0 ~ 99)とみなせるようにする 動的にマ
はじめに YOLOとはYou Only Look Onceの略とのことですがまあ当て字ですかね。速度に特化した画像検出・認識用ニューラルネットワークで、Cベースのdarknetというフレームワーク上に構築されています。元論文はこちらです。特徴は、全画像からいきなりクラス確率と物体のバウンディングボックス座標を推論する点です。R-CNNなどと違って複数の候補領域に対して何度も推論しないでよいので、Look Onceだから速い、というわけですね。 TensorFlowに変換した例はすでにあるようなので、今回はchainer化をしてみます。Cで組まれているものをわざわざスクリプト言語に変換するのは中身を理解するためです。今回の記事では学習済の係数を使った推論のみを行いますが、論文を読んだ感じだと学習手順が最大の特徴の一つに思われるので、そのうちトレースしたいです。 コードはこちらを参照してくださ
第1回 Apache Mesos 勉強会に行ってきました。 第1回 Apache Mesos勉強会 - connpass Mesos が何かを一口に言うのは難しいですが、サーバを束ねてクラスタとして扱い、そのクラスタ上で色んなアプリケーションをジョブとして実行させるもの、というような認識をしています。 最初に勉強会の印象ですが、いつも行く勉強会と違って Web 系エンジニアの比率が低く、けっこう色んな業界、分野で注目されている技術なのだなと感じました。 以下、勉強会内容のメモになります。 コンテナ向け軽量OS比較 TIS 森元さん。 コンテナ向けの軽量OSとして CoreOS、Project Atomic、Snappy Ubuntu Core の比較。 各OSの特徴、リソース消費、今後の動向予想など。 下記、森元さんが書かれた記事に本発表と関連する内容がまとまっている。 Dockerをより
なにはともあれ、インストール 今回ご紹介する「The Great Suspender」は、Google Chrome 専用の拡張機能。以下の Chrome ストアから無料でダウンロードできます。 サイトにアクセスしたら、右上の「Chrome に追加」ボタンを押して完了です。 インストールが完了すると、右上に人の顔のようなアイコンが追加されます。 実際に使ってみよう 使ってみようと言っても、基本的には自動的にスリープするので、あまり能動的なアクションは必要ありません。 一定時間使われなかったタブは、こんな感じでスリープします。クリックをすると再読み込みされるような仕組み。 右上のアイコンをクリックすると、「このタブを一時的にスリープさせない」「このタブ以外のすべてをスリープさせる」などの設定が可能です。 使いやすいように設定をしよう 右上のアイコンをクリックして「setting」を選択すると
「その後」シリーズです。 Windows Server 2012 より、OS 標準でチーミング機能「LBFO」(Load Balancing and Failover) ができたことはご存じのとおり。 それまでは Intel PROSet や Broadcom BACS, HP NCU といった 3rd Party の NIC Team ユーティリティが必要でした。 @IT - Windows Server insider - Windows Server 2012 R2 の NIC チーミング機能(LBFO)をマスターする http://www.atmarkit.co.jp/ait/articles/1402/06/news129.html チーミング機能が Windows OS に内蔵されたことで、保守サポートの観点ではシンプルになりましたが、技術アーキテクチャーの面ではまだといったと
追記:この記事へのコメントとして、この記事以上に内容の趣旨を端的かつ完璧に表しているコメントがありましたので、まずはそれを紹介しつつ、引き続き呼んで頂けると幸いです。 FaaS的だけど「アプリ側の構成も基盤側に合わせて変えるべき」路線なFaaSに対し「アプリは従来のままでもちゃんと動くよう基盤側が頑張るべき」という基盤側の矜持を感じる by takahashim FastContainerアーキテクチャ構想 - 人間とウェブの未来 FaaS的だけど「アプリ側の構成も基盤側に合わせて変えるべき」路線なFaaSに対し「アプリは従来のままでもちゃんと動くよう基盤側が頑張るべき」という基盤側の矜持を感じる2016/11/13 18:25 b.hatena.ne.jp 素晴らしいまとめの一言です。それがまさに本構想に至った意図でございます。僕もこんな趣旨をかけるようになりたいです。上記の的確なコメン
Pmilterというサーバソフトウェアを作りました。 github.com PmilterはProgrammable Mail Filterの略で、SMTPサーバ(送信や受信)とmilterプロトコルで通信し、SMTPサーバの送受信の振る舞いをRubyでコントロールできるサーバソフトウェアです。 これまでにも、milter managerやRubyのgemを使ってmilterサーバを作るといった素晴らしいソフトウェアがありました。ですが、今回僕がフルスクラッチで作りたかった理由としては、 とにかくインストールや設定がシンプルで運用しやすいサーバソフトウェアにしたい ミドルウェアとして振る舞いを設定する感覚でRubyで制御する事に専念したい 依存ライブラリを減らしワンバイナリでサーバに配置できるようにしたい 設定変更に再起動することなくRubyを変更するだけで振る舞いを変えられるようにしたい
新型MacBook Proに32GBのメモリ(RAM)が搭載できずにピーチクパーチク言っている人が多い。僕もその1人だ。電池持ちも大事だが、メモリは多いことに越したことはない。 ……と言ってみたものの、本当にRAMは32GBも必要なのだろうか。16GBでは不十分なのだろうか。 僕自身は必要ないだろう。現状、16GBのRAMで困っていることはない。ハードコアな映像制作も画像編集もしない。新モデルでも16GBで十分やりくりできるだろう。 8GBと16GBで迷っている人は下記記事が参考になるはず。 では、”プロ”と呼ばれる人たちはどうなのだろうか。究極のモバイルマシーンとしてMacBook Proを心待ちにしていたトップクリエイター達にとって、RAMが16GBというスペックはさすがに厳しいのではないだろうか。 ZDNetにMacBook Pro(2016)は、仮に”プロ”でもRAMは32GBも搭
前回の記事の続きというか、補足というか、蛇足というか。 あれから 結論としてstd::mutex使おう、と勝手に放り投げたのですが 速度的にメチャクチャ遅くて、ちょっと使い物にならないなぁという結果になったので コメント頂いた内容など含めて、速度を検証してみました 単純な排他制御コストの比較なので、他のところで早くしろっていうツッコミは無しよ? (例:OpenMPのリダクション指示節とか) ※追記:std::mutexが異常に遅いというのは、VisualStudio2013の問題だったようです。 テストプログラム 概要 int型のグローバル変数に加算処理をして、最終的な変数値を確認するという 色気も何もあったもんじゃないテストを実行して、処理時間と演算結果を確認します 排他制御については、前回の記事のコメントを参考にさせて頂いてます。 環境 Windows 7 (64bit) 上で確認 開
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く