投稿

Anaconda 導入して幸せになること3選

仕事してて久々にデータ解析しなきゃならんことになって、 Excel でしこたまグラフプロットすることがありました。 それはもう苦行の一言につきます。 この地獄から抜け出すために、いろいろと調べましたよ私。 そこで出会ったのが Anaconda とかいうディストリビューション。 Pythonの数値計算環境を構築するために様々なパッケージをまとめたもので、 行列演算は NumPy, 代数処理は SciPy, グラフ描画は Matplotlib ってな感じに必要なもん全部入ってます。 ここ数時間しか触っていないけど、既に幸せになったことを 3点にまとめてみた。 1. 導入が鬼のように楽 numpy 入れて scipy 入れて matplotlib いれて、、、おっとバージョン違うから動かない。。。なんてことやってました以前の私。 でも Anaconda はこれら全部 + ipython notebook やら scikit-learn とかナウいものもパッケージに同梱です。 インスコに悩むことが無いことこそ我々情弱が求めることでしょうね。 インスコにあたって我々がすべきことは、 https://www.continuum.io/downloads ここアクセスしてインストーラ落としてイエスマンするだけです。 2. グラフの描画が楽 Excel なんかに戻れないですお。 グラフタイトルとか凡例をGUIで操作するなんて鬼のように時間かかるストレスフルな所業やってらんないでござるな人におすすめ。 3Dプロットも綺麗っすよ。 3. Python だから 「描画なら gnuplot でええやん」なんて冷たいこという gnuplotter さんにも私はおすすめします。 Python だからコードが簡素。numpy,scipy で数値解析をかませるのも用意。 ちなみにプロット周りは matplotlib とかいう Matlab ライクな記法をするライブラリがあります。Matlaber にはおすすめせざるを得ない。 事務系の人でも使えるんちゃうかな。 勝手な想像だけど数値解析を伴う事務系の作業って定型的なものが多い気がするから、 社内のギークの数時間を...

Canon EOS Kiss X7 、今が買いな理由。

この間、友人に自分がいいと思っている電化製品をお勧めする機会があった。 自分が心底いいと思っているものを友人とも共有して、その良さを共感してもらいたいという純粋な気持ちで、熱く語ってみた。 特にバックマージンは入ってこないけど、共感してほしい気持ちが強くてどうにかして買って欲しかった。 (マジでバックマージンが無いので、誰かが納得して買うことを期待してここで記事としてまとめることにする!) 私は営業マンではないし口下手な方だけど、自分が心底いいものと確信している電化製品については、その良さを熱く語れると勝手に思っている。 ちなみに今回激しくおすすめした製品は一眼レフ Canon EOS Kiss X7。 友人に買ってもらうというためにやったことは以下の3つ。 1.  どう役立つかを相手目線で具体的に伝える 相手は同い年で同じような経歴の人。 限りなく自分目線で話が通じる相手だったので、自分目線で感じたメリットを伝えた。 我々アラサーの男が一眼レフを欲しくなる理由は、、、 ライフイベントを綺麗に残したい!   - 結婚式向けの動画(プロフィールムービー等) 素材の作成   - 新婚旅行の思い出を綺麗に残したい   - 子供の写真を綺麗に (ry 純粋な趣味として!   - 背景がぼやけてる写真なんかプロっぽい(F値をいじります)   - 瞬間を捉えたり、わざとブレさせたり(シャッタースピードいじります)   - いい写真を SNS でうpしてドヤ顔してるやつ多数 2.  払う金額以上の価値があることに納得してもらうこと 人にものを買わせるには、価格がリーズナブルであることが必要条件。 なぜリーズナブルなのかを説明する必要がある。 また、1つめの理由は一眼レフ全てに当てはまることだけど、なぜ Canon EOS Kiss X7 なのか。 これらに対する回答はこれだっっっっ!!! ☆ 世界最小最軽量という謳い文句 一眼レフは大抵でかい。ミラーが入ってるから。 でもこの機種は普通の一眼レフと一線を画する小ささと軽さ。 一眼レフ始めた人って、大抵カメラを持ち歩くのがダルくてやめちゃ...

Django

Django で作成したwebサイトをEC2 で公開する $ python manage.py runserver 0:8000 デフォルトではローカルホストにしかポートがバインドされないので、明示的に"0:PORT" とポート番号をオプション指定する必要がある。 http://serverfault.com/questions/430848/amazon-ec2-not-able-to-open-web-application-even-if-port-it-opened Python Django 入門 http://qiita.com/kaki_k/items/511611cadac1d0c69c54 仮想環境上で作業したいときは、 workon env して実行。 ログアウトしてもプロセス実行を継続したい場合は、 $ nohup python manage.py runserver 0:8000 http://qiita.com/QUANON/items/a21d6c1fcdaf009cadb4 実行方法 workon python2.7; python manage.py runserver 0:8000;

ざっくり MySQL 入門(1)

エクセルシートでいうと、 シートにあたるのが table、各列を field、各行(各要素)を record と呼ぶ。 以下実行したコマンド履歴。 create database blog_app; show databases; use mysql; use test; grant all on blog_app.* to dbuser@localhost identified by "password"; use blog_app; create table users( id int, name varchar(255), email varchar(255), password char(32) ); show tables; drop table users; show tables; use blog_app; create table users( id int not null auto_increment primary key, email varchar(255) unique, score double, sex enum('male','female') default 'male', created datetime ); show tables; desc users; drop table users; create table users( id int not null auto_increment primary key, email varchar(255) unique, score double, sex enum('male','female') default 'male', created datetime ); desc users; insert into users (email, score, created) values ('hoge@google.com', '22.2', '2012-11-11 11:11:11') ;    insert into users (email, score, creat...

Vagrant + Ansible で高速開発環境構築

サーバー構築するのに手順書見ながらいちいち apache いれて、mysqlいれて〜。。。 みたいな手作業が面倒だったので、プロビジョニングツールの勉強した。 Chef が流行ってるっぽいけど、  - 何でもできる分学習コスト高い。(そこまで難しいことする予定がない)  - Ruby 覚えるの面倒 ということで却下。 YAMLだけ知ってれば簡単に使える Ansible を採用。 ホストOSはMac。 その上で Virtualbox + Vagrant を使ってゲストOSとして CentOS を起動。 Mac 上から CentOS に Ansible 使ってツールをインストールします。 ============================================= まず、vagrant ssh でなくて普通の ssh でゲストOSに接続できるように、 sshのコンフィグファイルに設定を追記。 $ vagrant ssh-config --host 192.168.33.10 >> ~/.ssh/config http://qiita.com/y_arakawa/items/7bb292c999873032e6a4 $ ssh vagrant@192.168.33.10 で入れればOK。 Ansible を使ってソフトウェアをインストールする手順はここを参照。 http://liginc.co.jp/web/programming/server/129004 あとは先人が作ってくれた playbook をテキトーに clone すれば良いかな。 よさ気なリポジトリをリンク。 https://github.com/ansible/ansible-examples/tree/master/lamp_simple

【まとめ】 広告コピーってこう書くんだ!読本

新潮文庫「Yonda?」、東京ガス「ガス・パッ・チョ!」、「日テレ営業中」などの名コピーを生み出した、論理派コピーライター谷山雅計さん。 【ガスパッチョ】コピーライター谷山雅計が書いたキャッチコピー集【日本の女性は美しい】 彼が20年以上実践してきた「発想体質」になるための31のトレーニング法について、 「広告コピーってこう書くんだ!読本」という本にまとまっていたので、 その感想をまとめておきます。 広告業界にいる人や広告業界で働きたい学生向けに書かれてるかもですが、 内容は、誰にとっても学びになり、かつ分かりやすいことばで構成されているのでカナリおすすめ。 私自身、広告業界とは縁もゆかりも無いですが、 刺さったポイントについて以下にまとめておきます。 「なんかいいよね禁止」 受け手と作り手の違い。 受け手は一生「なんかいいよね」「なんかステキよね」と言い続けます。 作り手は「なぜいいのか」「これこれこうだからじゃないか」と考え続けます。 広告の世界でいい仕事をしている人は、「なぜ」を考えている人。 広告の世界に限らず、例えばシステム開発の仕事でも、 普段から「なぜシステムのパフォーマンスが出ない」のか、 「なぜシステムが動く」のかを考えて仕組みを理解している人は高いパフォーマンスを出している。 コピーの「書く」は「散らかす-> 選ぶ -> 磨く」 散らかす: できるだけ多くの切り口・視点からコピーを探す 選ぶ: 受け手にとってほんとうに意味のあるものを選択する 磨く: 選んだものをわかりやすく印象深いものにするために言葉をブラッシュアップする コピーを書く人はこの3ステップをこなすことが基礎としてある。 コピーに限らず、何かを創造する作業においてこの 3ステップは一般的に必要なプロセスといって良いと思う。 例えば、とある物事をボトムアップに整理する作業をするとしよう。 散らかす: 関係する事象を雑多にかき集めてくる。 選ぶ: ある程度数が揃ったところで、様々な視点から考えた枠組みに従って選択(⇔分類)する 磨く: 整理された情報を元に本質的な幹となるモノをまとめる 「広告は普通の人の意欲を期待してはいけない」 そもそも広告なんて読みたいと思ってない...

開発環境のセットアップを自動化したい

Linux 環境で開発したいが色んなモノが全て Windows 環境でしか動かない。 私の家のデスクトップPCはデュアルモニタでテレビも見られてすごく快適なのだが、 娯楽と並行していざ開発作業となると Windows なのでやりづらくてしょうがない。 何でもコマンドベースで済ませたい人なので。。 その対処方法として、最近はAWSの無料枠を使って、リモートにssh接続していた。 でもわざわざ契約するのもめんどいしそのうち金かかるようになるし、 ローカルですべて完結できたら幸せだなーと思っていて、 最近色々調べました。 巷で話題の Vagrant とか Chef とか Docker とかいうもんがなにやらこの問題を解決してくれそう。 一過性のもんだろと思ってたけどちゃんと勉強すると多分デファクトスタンダードになりそうなほどよいもの(たぶん)だと感じ始めた。 このページがほんとうに役に立ちました。ありがとうございます。 Windows上でVirtualBox+Vagrant+CentOSによる仮想環境構築 VirtualBox さんは、ゲストOSを起動するための仮想環境。 Windows(ホストOS) 上で Linux(ゲストOS) を動作させるために必要。 他にも VMware とかいうのがある。 Vagrant さんは、VirtualBoxさんに命令してOS起動しろとか止めろとかいう処理を肩代わりしてくれるもの。OSの設定にかかる複雑な設定をまるっと隠蔽してくれる。 必要があれば Vagrantfile とかいうのに命令を書いておけばその通り動いてくれる。 Vagrantfile みたいなインフラ環境をコードにしたものは Infrastructure as Code とか言われる。 インフラ環境もコードにしちゃえば流用出来て便利だよねってノリ。 Vagrant で起動したゲストOSには、TeraTerm みたいなターミナルアプリとかで接続。 $ vagrant up したときに、 SSH address: ***.***.***.****:portnumber みたいなのがあるのでこれに接続してあげればOK ついでに node.js も入れておく。 node.jsをyumで...