2015年12月13日日曜日

Design Week Kyoto に行ってきたメモ。

Design Week Kyoto(DWK)では、国内外の様々な人と人とがモノづくり・コトづくりの現場のオープンを通じて繋がり合い、新たなイノベーションのきっかけとなる場づくりを目指しています。

事例としてドイツ・フランスのデザイナーとコラボレーションすることを通じて、京都に根付いてきた技術・素材が新たな可能性を切り拓いた事例を中心にトークセッションを行ないます。

日時:2015年12月13日(日)14:00-17:00
会場:京都リサーチパーク町家スタジオ

13:30 開場、受付開始
(第一部)
14:00-14:10 オープニングトーク 北林 功(COS KYOTO)
14:10-14:45 基調対談:西堀 耕太郎氏(TCI研究所)
方 健太郎 氏(EXA Partners)
       -欧州における日本のモノづくりの可能性-
14:45-14:55 (休憩)
14:55-15:30 京都のモノづくりと外国のデザイナーによるコラボレーション事例のご紹介
15:30-16:30 パネルディスカッション
  -外国とのコラボレーションが拓く文化産業の可能性-
16:30-16:45 Design Week Kyotoについての説明
      -コラボレーションの可能性を広げる場について-
(第二部)
17:00-19:00 交流会 (事前申込要、1500円)

----------------------------------------------
「Design Week Kyotoゐゑ」
http://www.designweek-kyoto.com/ja




(パネラー)
西堀 耕太郎 氏 / 伝統工芸「京和傘」日吉屋 五代目当主
「伝統は革新の連続である」を企業理念に掲げ、伝統的和傘の継承のみならず、和傘の技術、構造を活かした新商品を積極的に開拓中。グローバル・老舗ベンチャー企業を目指す。
国内外のデザイナー、アーティスト、建築家達とのコラボレーション商品の開発にも取り組んでおり、2008年より海外展示会に積極的に参加、Maison &Objet(Paris)、Ambiente、Tendence、Light+Building(Frunkfurt)、ICFF(N.Y.)等に出展。和風照明「古都里-KOTORI-」シリーズを中心に海外輸出を始める。現在15カ国に展開中。
2012年、日吉屋で培った経験とネットワークを活かして、日本の伝統工芸や中小企業の海外向け商品開発や販路開拓を支援するT.C.I. Laboratoryを設立し、代表に就任。2012年よりミラノ・サローネ(Fuori Salone)にてContemporary Japanese Design Exhibition展示会主催。
http://www.tci-lab.com/

方 健太郎 氏 / EXA Partners 代表パートナー
東京大学法学部卒業後、国土交通省で国際航空、環境政策、観光行政などに従事。英ケンブリッジ大学で国際法及び経営学修士を取得。その後、ボストン・コンサルティング・グループに転じ、東京オフィスとパリオフィスで日本企業の欧米展開を数多く支援。2010年にフランス人と米国人とともにEXA Partners を立ち上げ、パリとニューポートビーチを拠点に多くの日本企業の欧米進出を支援中。
http://www.exapartners.com/ja/

Wolf Udo Wagner 氏
ドイツデザイナーズクラブ理事。ルフトハンザやVMF、fischer-moebel 等、ドイツを中心に世界的企業のプロダクト、インテリアデザインを担当する。日本企業MUJI のデザインも手がける。DDC のGlobal local project をコーディネートし、旭川の家具団体と独デザイナーのコラボレーション事業も展開。
http://www.wolf-udo-wagner.com/news_e.html

クロイ電機
1952年創業。クロイ電機は創意工夫と不断の努力により、開発重視のベンチャー企業として、これまでにも日本の照明市場を席巻した数多くの新商品を世に出してきました。京都の地にあって、伝統工芸をとりいれたデザイン性の高い透かし杢等の照明器具や、先端的な電子回路技術を搭載した調光器、電子安定器などを開発。
Wagner氏と共同開発した「マトリックス」はMoMAのラインナップにも加わっている。
http://www.kuroi.co.jp/

Elisabeth Vidal 氏
GuzziniやLEGO、ALESSIなどイタリアなどを中心に食器や電気機器などのデザインを手がけている
http://www.elisabethvidal.com/

熊谷 隆慶氏 / 熊谷聡商店 代表取締役
1935年創業。長い歴史に培われた京焼・清水焼の技術や感性を活かし、現代の人々のくらしに寄り添った新しい商品を企画開発。
熊谷氏は、セラミックプロデューサーとして、2014年に「K+」のブランドを立ち上げた。KはKyoto、Kumagai、Kyoto ware、Kiyomizu ware、+はデザイナー・アーティストとのコラボレーションを意味している。
現在、Vidal氏と新たな食器のシリーズを開発している。
http://kplus.kyoto-kumagai.co.jp/

2015年11月24日火曜日

Nexus5 のバッテリーを交換してみた

普段から使っている Nexus5 の調子が悪くなった。
気になる挙動としては、



1. 電源ボタン1回押しでスリープ状態にならない
 電源ボタンを一回押しただけなのに数回押した判定される。
 特にケースに入れていたわけではないので、電源ボタン周りの機構部品がチャタリングしやすい状態にまで経年劣化しているっぽい。
 電源ボタンの取り換えを検討。。

2. 電源が急に落ちる
 普通にアプリを触っているとふとした瞬間に電源が落ちる、条件は不明。
 電源ボタン長押しで復帰した。

3. 再起動のループに嵌る
 「急に電源が落ちる」の進化形。
 電源オン-> 起動シーケンス -> 電源切れる -> 電源オン -> ....
 ずっと繰り返してバッテリーが消耗して死亡。
 
4. バッテリーが一瞬で無くなる
 上の問題をかいくぐって普通に使える状態にもなったりするんだけど、
 バッテリーの消耗具合が異常。
 100%充電しても1時間もたてば瀕死状態。



1はハードウェア不具合っぽいので我慢することにして、
2-4 はバッテリーの不具合っぽいし、そこだけトラブルシュートすれば一気に解決しそうなので修理に出そうか考えた。
ネット上では15800円でやってもらえるとかいう情報を得た。
糞高い。
端末を新たに中古で買ったほうがいいのではと思うほど。
頑張れば修理できるのではないかと考え、ネットで情報収集するとバッテリー交換事例がたくさんあった。
どうやら Amazon でこれらを買い集めれば猿でも交換できるようです。
※ メーカー保証は無いし、自己責任とのことですが。。。



ざっくり言うと端末をパカっと開けてバッテリー差し替える感じです。
バッテリー取り外しのときに、強い粘着テープでくっついてるのでついつい力を入れすぎて、無線アンテナのFPCを外しちゃう可能性があるので注意。
バッテリーのサイド側にある細い線です。
私は気づいて付け直しましたが、抜けてないかよく注意してください。
多分抜けたままだとWiFi か 3G に繋がらなくなるはず。

Nexus5 のカバー

Y字ドライバーで2つめのカバーを外した状態

バッテリー交換完了


追記:
1. 電源ボタン1回押しでスリープ状態にならない

これ、バッテリー交換で治りました。
機構的な不具合かと思っていましたが、バッテリー側が根本原因だったのかな?
まぁ解決したのでOKです!



2015年11月16日月曜日

Python の環境構築 @ ubuntu

ubuntuにnumpy, scipy, matplotlib環境を構築

$sudo apt-get install python python-dev
$sudo apt-get install python-numpy python-scipy python-matplotlib

$ sudo apt-get install ipython-notebook
$ sudo apt-get install python-matplotlib python-scipy python-pandas python-sympy python-nose

$ vagrant ssh -- -L 8888:localhost:8888
apt-get install libxml2-dev libxslt1-dev python-dev
apt-get install python-lxml

Repository
- https://github.com/ks6088ts/Python/blob/master/requests_json.py

Pythonのvirtualenvとvirtualenvwrapperをいれる

sudo apt-get install python-virtualenv virtualenvwrapper

Ubuntu+virtualenv環境で Djangoアプリケーションを作ってみる

vagrant 環境で言われた通りやる。
サーバー起動時は Vagrantfile に記載された ipアドレスを指定するのを忘れずに。
$ ./manage.py runserver "ifconfigで確認したip address":"port"



2015年10月30日金曜日

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

仕事してて久々にデータ解析しなきゃならんことになって、
Excel でしこたまグラフプロットすることがありました。
それはもう苦行の一言につきます。
この地獄から抜け出すために、いろいろと調べましたよ私。
そこで出会ったのが Anaconda とかいうディストリビューション。
Pythonの数値計算環境を構築するために様々なパッケージをまとめたもので、
行列演算は NumPy, 代数処理は SciPy, グラフ描画は Matplotlib ってな感じに必要なもん全部入ってます。

ここ数時間しか触っていないけど、既に幸せになったことを 3点にまとめてみた。

1. 導入が鬼のように楽
numpy 入れて scipy 入れて matplotlib いれて、、、おっとバージョン違うから動かない。。。なんてことやってました以前の私。
でも Anaconda はこれら全部 + ipython notebook やら scikit-learn とかナウいものもパッケージに同梱です。
インスコに悩むことが無いことこそ我々情弱が求めることでしょうね。
インスコにあたって我々がすべきことは、
ここアクセスしてインストーラ落としてイエスマンするだけです。


2. グラフの描画が楽
Excel なんかに戻れないですお。
グラフタイトルとか凡例をGUIで操作するなんて鬼のように時間かかるストレスフルな所業やってらんないでござるな人におすすめ。
3Dプロットも綺麗っすよ。

3. Python だから
「描画なら gnuplot でええやん」なんて冷たいこという gnuplotter さんにも私はおすすめします。
Python だからコードが簡素。numpy,scipy で数値解析をかませるのも用意。
ちなみにプロット周りは matplotlib とかいう Matlab ライクな記法をするライブラリがあります。Matlaber にはおすすめせざるを得ない。
事務系の人でも使えるんちゃうかな。


勝手な想像だけど数値解析を伴う事務系の作業って定型的なものが多い気がするから、
社内のギークの数時間を使ってライブラリ化してしまってもいいかも。
その数時間が事務系作業の無駄時間を省き、より創造的な仕事に使われることを祈って。

2015年10月5日月曜日

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

この間、友人に自分がいいと思っている電化製品をお勧めする機会があった。

自分が心底いいと思っているものを友人とも共有して、その良さを共感してもらいたいという純粋な気持ちで、熱く語ってみた。

特にバックマージンは入ってこないけど、共感してほしい気持ちが強くてどうにかして買って欲しかった。
(マジでバックマージンが無いので、誰かが納得して買うことを期待してここで記事としてまとめることにする!)

私は営業マンではないし口下手な方だけど、自分が心底いいものと確信している電化製品については、その良さを熱く語れると勝手に思っている。

ちなみに今回激しくおすすめした製品は一眼レフ Canon EOS Kiss X7。
友人に買ってもらうというためにやったことは以下の3つ。



1.  どう役立つかを相手目線で具体的に伝える

相手は同い年で同じような経歴の人。
限りなく自分目線で話が通じる相手だったので、自分目線で感じたメリットを伝えた。
我々アラサーの男が一眼レフを欲しくなる理由は、、、

ライフイベントを綺麗に残したい!
  - 結婚式向けの動画(プロフィールムービー等) 素材の作成
  - 新婚旅行の思い出を綺麗に残したい
  - 子供の写真を綺麗に (ry

純粋な趣味として!
  - 背景がぼやけてる写真なんかプロっぽい(F値をいじります)
  - 瞬間を捉えたり、わざとブレさせたり(シャッタースピードいじります)
  - いい写真を SNS でうpしてドヤ顔してるやつ多数


2.  払う金額以上の価値があることに納得してもらうこと

人にものを買わせるには、価格がリーズナブルであることが必要条件。
なぜリーズナブルなのかを説明する必要がある。
また、1つめの理由は一眼レフ全てに当てはまることだけど、なぜ Canon EOS Kiss X7 なのか。

これらに対する回答はこれだっっっっ!!!

☆ 世界最小最軽量という謳い文句
一眼レフは大抵でかい。ミラーが入ってるから。
でもこの機種は普通の一眼レフと一線を画する小ささと軽さ。
一眼レフ始めた人って、大抵カメラを持ち歩くのがダルくてやめちゃうと思うんです。
(昔でかいカメラ買って使わなかった私がいうのだから間違いない。)

☆ 一眼のくせに鬼のように安い
発売当初は9万とかしたのに、今や5万とかだよ。
これには理由があって、既に Canon氏は後継機を発売しちゃってるので、旧型の EOS Kiss X7 の在庫は早くはけて欲しいんでござる。
なぜ今なのか?それは在庫がなくなっちゃうからだよ!!




☆ 最大手のCanonだから絶大な信頼
ほかの白物家電メーカーと違ってCanon氏はこれ一筋だからね。
選択と集中という経営戦略。集中して頑張っとるCanon氏には絶大なパワーが (ry


3. 最後にダメ押し

ユーザー当人の経験に基づく、写真ショーを開催。
更に youtube にうpしてる自作のハネムーン動画を見せてこの良さに納得いただくわけです。


番外編

最近ではカメラ転売なるものも存在していて、買った電化製品は状態が良ければ中古で売れるんです。
「飽きたな~」とか、「次の製品ほしいな~」なんて思ったら、売っちゃえばいいんです。
人気のある一般ウケする機種なら中古でも買い手はつくので、
賢く買えば、買う価格よりも実質出費は少なくて済むんです。

2015年9月13日日曜日

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;

2015年9月10日木曜日

ざっくり 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, created) values ('hoge@google.com', '22.2', '2012-11-11 11:11:11'),('hoge2@google.com', '222.2', '2012-11-11 11:11:11'),('hoge3@google.com', '22.2', '2013-11-11 11:11:11')

select * from users;select email, score from users;select * from users \G
use blog_app;select * from users;select * from users where score < 100;select * from users where score = 222.2;select * from users where score != 222.2;select * from users where email = 'hoge@google.com';select * from users where created < '2012-12-11 11:11:11';select * from users where email like '%@google.com';select * from users where email like '____@google.com';select * from users where score between 0 and 100;select * from users where sex in ('male');select * from users where sex in ('female');select * from users where sex in ('female', 'male');select * from users where sex in ('female', 'male') and score < 100;select * from users where score < 100 or email like '%@google.com';

2015年9月5日土曜日

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

$ 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

2015年8月29日土曜日

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



新潮文庫「Yonda?」、東京ガス「ガス・パッ・チョ!」、「日テレ営業中」などの名コピーを生み出した、論理派コピーライター谷山雅計さん。
【ガスパッチョ】コピーライター谷山雅計が書いたキャッチコピー集【日本の女性は美しい】

彼が20年以上実践してきた「発想体質」になるための31のトレーニング法について、
「広告コピーってこう書くんだ!読本」という本にまとまっていたので、
その感想をまとめておきます。

広告業界にいる人や広告業界で働きたい学生向けに書かれてるかもですが、
内容は、誰にとっても学びになり、かつ分かりやすいことばで構成されているのでカナリおすすめ。

私自身、広告業界とは縁もゆかりも無いですが、
刺さったポイントについて以下にまとめておきます。




「なんかいいよね禁止」

受け手と作り手の違い。
受け手は一生「なんかいいよね」「なんかステキよね」と言い続けます。
作り手は「なぜいいのか」「これこれこうだからじゃないか」と考え続けます。

広告の世界でいい仕事をしている人は、「なぜ」を考えている人。

広告の世界に限らず、例えばシステム開発の仕事でも、
普段から「なぜシステムのパフォーマンスが出ない」のか、
「なぜシステムが動く」のかを考えて仕組みを理解している人は高いパフォーマンスを出している。



コピーの「書く」は「散らかす-> 選ぶ -> 磨く」

散らかす: できるだけ多くの切り口・視点からコピーを探す
選ぶ: 受け手にとってほんとうに意味のあるものを選択する
磨く: 選んだものをわかりやすく印象深いものにするために言葉をブラッシュアップする

コピーを書く人はこの3ステップをこなすことが基礎としてある。
コピーに限らず、何かを創造する作業においてこの 3ステップは一般的に必要なプロセスといって良いと思う。

例えば、とある物事をボトムアップに整理する作業をするとしよう。
散らかす: 関係する事象を雑多にかき集めてくる。
選ぶ: ある程度数が揃ったところで、様々な視点から考えた枠組みに従って選択(⇔分類)する
磨く: 整理された情報を元に本質的な幹となるモノをまとめる


「広告は普通の人の意欲を期待してはいけない」

そもそも広告なんて読みたいと思ってないという出発点から、
「じゃぁどうやってそういう人を振り向かせるか」という流れで発想していく。
結果、自然とキャッチコピーは短く・強く・シンプルなものになる

これは娯楽の業界にも言えることだと感じた。
「そもそも娯楽製品は生活家電のようにお客さんの生活において必須なものではないわけで、どうにかして関心を向かせなきゃいけない。」
これが、発想の起点。
そこから考えた結果、
シンプル・わかりやすい・一目で面白い というモノになる。




2015年8月26日水曜日

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


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でインストールする(centos6.5)

2015年8月14日金曜日

結婚式ムービーを作るのにおすすめな機材とは。

ブライダル業界のトラップカード 3選 では、
結婚式のムービーを自作するに至る背景を紹介しました。

ここではド素人だった私が、自分の結婚式 + 二次会サプライズムービーを自前で作った方法をまとめます。


機材

一眼レフ: EOS Kiss X7


画質の良さはコンテンツの質を引っ張りあげますマジで。
一眼レフは高いんですが、CANONの型落ちがおすすめ。
今で言うと、 EOS Kiss X7 が良いです。
価格.com での価格カーブ見てください。
下げ進行でサチってるのでマジで買いです。
私も買ってます、安くない時に (;´д`)トホホ…
気に入ったところは小さくて軽くて使い勝手が良い所。
ダブルズームキット買ったんだけど、ズームレンズ不要だったのでヤフオクで売っちゃいました。
式に使うだけだったらこっちで十分です。
一眼レフ難しそうに見えるけど、実はオートフォーカスとかがしっかりしてて、
コンデジと同等に扱えちゃいます。


カメラの三脚

意外にこれ忘れがち。
ムービー作成で、手ブレした動画だと何か安っぽく見えます。
手ブレがひどい動画は見ていて酔います。
三脚はピンきりで、一番安いのでもそれなりに使えちゃいます。
私はこれを買いました。




一眼レフの動画機能は、カメラの三脚で固定してしまえばとてもいい動画が撮れます。
レンズは一眼の方がいいし、手ブレが相殺できてしまうので、ビデオカメラは必要なしです。



素材集め

プロフィールムービーに使う昔の写真とかはかなり親依存ですね。
親が写真好きかどうかに依る。
私と嫁は写真が多すぎて逆に選定に困るレベルだった。
これを受けて、子供ができたらしっかり写真・動画に残してあげたいなと思った。

アイディア

youtube でよさ気なコンテンツを浴びるように見て、
自分でも作れそうなものを漁るのがよし。
二次会のサプライズムービーとかいっぱい転がってるし。
見た中でいいなーと思ったのはコレ。


2015年8月12日水曜日

Python で Twitter API を叩いて自動でつぶやく。

Python スクリプトから Twitter API を叩いてツイートする手順のメモです。
ソースコードを https://github.com/ks6088ts/twitter においてますが、絶賛開発中なため手順が少し変わってるかもですが適宜読み替えて実行してください。


[使う技術]
- Python : HTTP リクエストを駆使して OAuth 認証したりツイートしたりします。
- Git : Github からリポジトリを Clone するのに使います。(ブラウザからポチポチダウンロードでもおk)


[手順]

1. ライブラリのインストール
 OAuth 認証と HTTP リクエストを簡素にするためサードパーティ製モジュールをインストールします。
 $ sudo pip install requests requests-oauthlib

2. Twitter アプリの設定
https://apps.twitter.com/ にアクセスして、Read and Write  Permission を付与したアプリを作ります。
電話番号の登録が必要なので若干面倒だったりします。

3. コードの clone
Github に上げてる以下のリポジトリをclone
 $ git clone https://github.com/ks6088ts/twitter

4. OAuth認証
auth.py の api_keyapi_secret に 2 で取得したパラメータを書き込んで実行。
以下のようなログが出れば、auth.json が生成される。
[ec2-user@ip-***** twitter]$ python auth.py Please go here and authorize, "https://api.twitter.com/oauth/authorize?oauth_token=***********************"Paste the full redirect URL here. http://hoge.jp/?oauth_token=*********&oauth_verifier=*****************

※ Please go hereうんちゃら の URL にブラウザでアクセスすると、アプリの認証みたいなページが出てくるのでこれを承諾してください
※ 承諾するとリダイレクトされるので、リダイレクト先のURLをコンソールにコピペしてください。

5. ツイートしてみる
以下を実行すると"sample"とつぶやくはずです。
$ python tweet.py 

[技術メモ]

OAuth について

auth.py : OAuth 認証では、複雑な一連の HTTP のやりとりがありますが、requests-oauthlib がうまく複雑さを隠蔽してくれます。
とりあえず必要最低限な認識として、
API KEY / API SECRET / CALLBACK URL を入力として、
TOKEN/ TOKEN SECRET を取得する
と理解だけしておきましょう。
ぶっちゃけ細かいことはよくわかってません未だに。
それでも、使えることは使えるし、ちゃんとやろうとしたら外部仕様としてエラーハンドリング方法だけ知っておけばいいんじゃないでしょうか、API のユーザー視点では。

Web API を叩くにあたって

広くWebAPIと表現しましたが、Twitter API に限らず普通のWebサービスのAPIは、
OAuth 認証で取得した Token 情報とともにサービスプロバイダが定義したプロトコルに従ったHTTPリクエストを送れば必要なレスポンスが帰ってくる
という認識。

その後の拡張性

自動でtweet できるようになったので、今後の拡張性としては
 - 定期的(or イベント駆動)でつぶやく
 - 文章を工夫する
といったところか。

前者は cron 使えば解決。
$ crontab -e して、crontabの書き方 にしたがってコードを書くだけ。

後者はいろんなウェブサービスとの連携、ウェブサイトの情報をスクレイピングしてデータ生成( 自然言語処理、機械学習、etc)したり夢は広がりまくります。 

2015年8月2日日曜日

EC2 + Python でスクレイピング処理をしてサイトをぶっこぬいてみた。

環境セットアップメモ

AWS AMI 環境が前提条件です。

# lxml のインストールのために必要
# http://dev.classmethod.jp/cloud/aws/preparing-ec2-python-environment/
$ sudo yum -y install libxslt-devel libxml2-devel gcc python-devel

# python ツール群のインストール
# AMI なら pip のインストール要らず
$ sudo pip install lxml requests ipython

スクレイピングコード

https://github.com/ks6088ts/scrape

Git インストールして clone
$ sudo yum install -y git
$ git clone https://github.com/ks6088ts/scrape

Hacker News の記事リストをぶっこ抜く
$ python scrape/hackernews.py anchors https://news.ycombinator.com/

2015年8月1日土曜日

松本人志 大文化祭 2011/11/05 編集版「松本人志と宮本茂のスペシャル対談」

松本人志とゲームクリエイター宮本茂の対談を見た。
日本を代表するトップクリエイター同士の対談。





どこからクリエイティブな発想が来るのか?


物凄く幼稚な部分を取り残しながらも技術を取り込む
成長しすぎないように努力する。

ピクミンの世界観と子供の発想。
でもしっかりと技術がついてきている

自分の作ったものを人が遊んでいる姿が気になる。
自分が遊んでいるように人が遊んでいるかを確認したい。



技術は怪しい

大人になっていく途中で、技術のほうが優位になってくる。
技術的な背景がわかってくると技術力を魅せつけたくなってくる。
しばらくすると技術は怪しいと思ってきた。
本音で思ったことを創る


仕事の悩み

期待に応えたい。でも前と一緒じゃ嫌だ。

今まであったものを強化していく積み上げていくやり方で攻めると、
複雑で重い物。初めての人に取っ付きにくいものになっていく。

少し想定から外したもので、受け入れられるものができると嬉しい。
でもそれをやると迷走する。嵌る。


普遍的なものを創りたい

古いか新しいかよりも、普遍的でずっと残るものを作りたい。
みんながやるパターンに乗るとそれ以上のものを出す必要がある。
目立つためにはいっぱい努力が要る。
独自に考えたものは仕上げる余地がある。
それがオリジナリティ。

ソフトウェア開発における三種の神器、


バージョン管理システム

チケット管理システム

CI ( ウェブサービスならデプロイ、組み込みなら実機テスト )


無いと始まらないねこのへんは。
ソフトウェア開発に限らず、バージョン管理システムは使うべきだし、
チケット管理システムベースで仕事を進めるべき。
早くても質の悪い仕事じゃ意味ないので、仕事の成果を検証するためにもCIがあるべき。


私はソフトウェア開発者としてキャリアをスタートしたわけだけど、
幸い複数の部門で複数の働き方をすることが出来た。
おかげでどういったワークフローが良いモノなのかがざっくり見えてきたので、
ここで言語化してみる。

====================================================


まずは、Atlassian 様が紹介する以下の動画を見ると良い。(Angry Nerds とかワロタ)



JIRA はツールとしてかなり洗練されている。

洗練されすぎている。。!!

このシステムに乗っかって仕事していけば勝手に効率的に仕事が進むんではなかろうか。


ただし、Agile とかスクラムとか出てくるので何かしら勉強する必要があるけど。
日本語で読みやすい本はこれかな。



自分は Agile マンセーな環境にいたので、仕事していくうちに勝手に覚えていきました。
( はじめはなんだよアジャイルって。カタカナうぜえよ☆ なんて思ってました、ごめんなさい。 )



ワークフローにおいて重要だと思ったポイントは3つ。


* 2週間の単位でスプリントを切ること

 夏休みの宿題を思い出そう。
 およそ1ヶ月分の課題がドカっと与えられて「やっとけよ」って放置されるあのシステム。
 狂気の沙汰です。
 よっぽど効率的にさばけませんでした。
 プロジェクトとして終わっとります。
 学校の先生がアジャイルマスターだったら学生は間違いなく幸せ。


 人間、締切がないと頑張らない。
 そこで、2週間とかある程度の時間間隔を設けて締切を作るわけです。
 この時間間隔をスプリントとか呼びます。
 自然と優先度を考えたり、こなす業務の計画が立てやすくなります。




* 業務のストーリー化

 会社組織は構造化されています。
 平社員課長部長ほげほげって感じに。

 一般に管理職と言われている方々はたくさんの人の仕事を管理しますよね。
 しかしあんまり詳細まで見てられないです。
 全部の仕事をしっかり見て評価するなんてそもそも無理なんですよ。

 マネージャー視点からすると、こんなかんじじゃないでしょうか。
   「こまけーこたぁいいから働け。進捗・成果は簡潔に教えろ」
 みたいな。


 簡潔に ⇔ 細部はいいからざっくりと ⇔ ある程度抽象化してって感じにも言い換えられます。
 マネージャーが見てわかるレベルの抽象度で文章化されたお仕事のこと。
 これ、「ストーリー」とか言います。
 基本的には、「HogeがHogeできるようにする」といったテンプレな形の文章に落とし込みます。
 フォーマットがあったほうが簡単に作れるし、マネージャーも把握しやすいし。


* ストーリーの分割

 作ったストーリーは、抽象度が高いので、すぐにアクションに結びつきづらいです。 
 次は大きな単位のストーリーをタスク分割して仕事の粒度を細かくします。
 細かくしたものはタスクとかサブタスクとか呼ばれます。
 タスクを小さくすると何をすればよいかがより具体的に。
 ソフトウェア開発であれば実装レベルまでタスクが具体化される感じです。
 ここまで落ちてくればあとは Githubだのなんだのでプルリクだしちゃって開発ブランチにマージしちゃう感じ。



ソフトウェア開発における、ワークフローは色んなモノが提唱されてきた。
平たく言えば、
 仕事に期限を設ける
 大きな仕事は分割する
 成果はチェックする
といったもので、事務職とかでもこのワークフローって回せるんじゃないかな。
Atlassian はこう言ってます。

We believe that Agile is not just for software development teams.
 Agile > Finance, Design, Marketing, ...

非常に腑に落ちた動画でした。




2015年7月30日木曜日

AWS上でWordpress を構築してみる。

Apache サーバー構築

$ sudo yum update
$ sudo yum -y install httpd
$ sudo chkconfig httpd on
$ sudo service httpd start
$ ps -ax | grep httpd


MySQLインストール

$ sudo yum -y install mysql-server
$ sudo service mysqld start
$ mysqladmin -u root password
$ mysql -u root -p
$ sudo /sbin/chkconfig mysqld on


データベース構築

mysql> create database wordpress default character set utf8 collate utf8_general_ci;
mysql> grant all on wordpress.* to wordpress@"%" identified by 'wordpresspassword';
mysql> flush privileges;

(memo)
Wordpress ユーザーで mysqlに入る
$ mysql -h ip_address -u wordpress -p




Wordpress 設定

$ cd ~
$ wget http://ja.wordpress.org/latest-ja.tar.gz
$ tar xzvf latest-ja.tar.gz
$ cd wordpress/
$ sudo cp -r * /var/www/html/
$ sudo chown apache:apache /var/www/html -R
$ sudo service httpd restart


Wordpress インストール

Webブラウザからサーバーにアクセス
設定情報を入れつつクリックして進む


AWS 上での細かな設定方法等はこの本が詳しくてわかりやすいです。



2015年7月6日月曜日

EC2 で遊んでみたことのまとめ(Apache/Git/スクレイピング)


EC2上でWeb サーバーを立てる

ウェブ上で情報漁ればくさるほど出てくるのでここではコマンドだけメモ。
参考: http://promamo.com/?p=2924
Inbound なネットワーク設定で HTTP(Port80)を開いておくことを忘れずに。

$ sudo yum update
$ sudo yum -y install httpd # Apache インストール
$ sudo service httpd start # サーバー起動
$ sudo su -
# echo "Hello world." >> /var/www/html/index.html

http://ipアドレス/index.html
にアクセスして Hello world. が表示される。


最低限の Python 開発環境のセットアップ
# curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python # pip をインストール
# pip install ipython requests
# yum -y install gcc gcc-c++ kernel-devel # lxml のビルドに必要
# pip install lxml

Git をインストールしてスクレイピング

# yum install -y git emacs # git と emacs をインストール
# mkdir repo; cd repo
# git init
# emacs sample.py # 適当にスクリプト書く
# git add sample.py
# git commit -m "Added sample script."
# git log
スクレイピングのコードはここ参照
http://docs.python-guide.org/en/latest/scenarios/scrape/


MeCab の Python バインディングをインストール

形態素解析で遊んでみる。
Yahoo の Web API とか叩けば出来んこともないけど HTTP リクエスト発行するのが嫌なので。。
セットアップはここを参考にした。
http://qiita.com/saicologic/items/ab70e14f7e2ec2ee0b4d


import sys
import MeCab
m = MeCab.Tagger ("-Ochasen")
print m.parse ("今日もしないとね")
実行すると以下のとおり
In [10]: print m.parse ("今日もしないとね")
今日    キョウ  今日    名詞-副詞可能
も      モ      も      助詞-係助詞
し      シ      する    動詞-自立       サ変・スル      未然形
ない    ナイ    ない    助動詞  特殊・ナイ      基本形
と      ト      と      助詞-接続助詞
ね      ネ      ね      助詞-終助詞
EOS
なんか出来てるっぽい。
標準入出力を介してシェルスクリプト経由で解析データをデータベースにでも注入しようかな。


Requests で Qiita にログインしてみる

requests を pip でインストールしてから、HTTP リクエストが簡単に発行できるようになったので、
ウェブサービスにログインする処理を試してみた。 http://qiita.com/morinokami/items/46b76b365f030be83418

これとスクレイピングを合わせれば何かできそう。

2015年6月29日月曜日

ブライダル業界のトラップカード 3選

ブライダル業界における結婚式の写真業者・プロフィールビデオ制作業者に不満がありまくる。
理由は、ユーザーが金額が鬼のように高いカネを払わざるをえない状況が作られているから。

私は少し背伸びして某外資系ホテルで式を上げました。
把握している範囲で、結婚式で作成する写真・動画コンテンツの類は以下のものがあります。

[写真系]
- 前撮り
- 披露宴・挙式の写真
- 披露宴後の写真

[動画系]
- オープニングムービー
- プロフィールムービー
- エンドロール

最初に提示された金額はもろもろ含めてうん十万円でした。

罠1. おめでたさに乗じてやたら高いマネーを貪りにくる姿、ハイエナの如し

式に係る費用とかよく知らない素人ドケチの私は戦慄したわけですよ。

「アホなの?死ぬの?」

脳内で反芻しました。
金無いから結婚できないってことをよく聞いたんですが、
やっとその意味が理解できちゃったわけですよ。

そこで、私は他の安くて安心な業者がないか必死に探しました。
まともな思考回路では、結婚式場から薦められる業者が高いなーと思えば、
自分で業者を探して安くて安心なところを選ぶわけですよ。

... しかし、そうは問屋がおろさない。

なぜなら、(場合にも依るが)

罠2. 結婚式場が認めた数社しか使うことが許されない。

ただ、他の業者を使っても良いとは言われます。
でもここでまた巧妙なトラップに引っかかるのです。


トラップカード発動!!
「持ち込み料」じゃワレ ゴルァ!!
f:id:shiroibanana:20150629222924j:plain


はい、ミステリーミステリー。

ああ罠だらけ。
外部の業者使うと持ち込み料とかいうのをふんだくって、
我々ユーザーの安く上げようとするその血の滲むような努力も水の泡なのです。
ユーザーからしたら理解のできないお金です。
もう怒りの最上級です。
オコスティックファイナリアリティぷんぷんドリーム
っていうらしいです。


競合他社の存在しない環境を意図的に結婚式場(プラットフォーマー)が作ることで、
競争の仕組みを無効化し、業界全体で潤沢な利益を得ようとする戦略ですねコレ。 
そもそも結婚式場のユーザーにはリピーターが存在しない。
再婚して結婚式上げる人も少ないだろうし(偏見)、
ましてや 1回上げた結婚式式場で二回目の結婚式を上げようなんて猛者この世にいないでしょ。

多少「え?」って思う部分があってもそもそもリピートなんかしないし、
ネットの口コミで炎上させるようなプロブロガーでもない気弱な私なんてカモなわけですよ。

カモになりかけた私は、さすがに腹が立って値引き交渉をしてみました。
どんなスキルを持った人間が、何時間かけて制作するのかを聞いて、
人月計算して大体工費これくらいですよね?って感じで理詰めで行ったら
30万くらい提示されたのが18万ぐらいまで落ちた。
値切ったくせにその業者はさらなる交渉の材料にしただけだったけど(ごめんなさい)。

結局、プロフィールムービーだオープニングムービーだといって10万20万とりに来られてご機嫌斜めの私は「自分で作るわボケ」って感じでムービーと名のつくものはすべて自前で用意することに。
(この時点で私、一切動画作ったことありません。)

さらなる罠として、

罠3. 「挙式の写真はうちで選定した業者以外使えません、なにせ神聖な場所なもんで」

とか言われました。
これはさすがに不可避なトラップでして写真の業者だけは使わざるを得ない状況だったのでそこだけ使いました。
 あー高かった、Fuc○!
... でもいい写真撮ってくれて感謝してるよ(ツンデレ)

次は、未経験から頑張って結婚式動画を自前で作っちゃった話をしようと思う。

2015年6月22日月曜日

戦略思考コンプリートブックをコンプリートしてみる


まえがき

普段仕事をしていて、色んな人に雑多に物事を言われると、
頭のなかが整理できなくてこんがらがってしまう。
やれと言われたことも忘れてしまう。
メモはしてるけどパッとやることが出てこないことがある。
メモリ容量が小さすぎていつもHDDに保存してるイメージ。

外界からの情報を脳内でうまく再構成して圧縮する機能は実現できないだろうか。
イメージは、
 外界からの情報(Input) -> Parser(スキル) -> 思考を巡らせる・・ -> アクション(Output)

書いてて思ったけど、周波数解析がこのイメージに近い。
入ってきた信号を窓関数をかけて細切れにし、ある軸に沿って成分を測定する。
そんな定理・公式はなかろうか。

本屋さんやらAmazonさんやらをうろついて情報収集したところ、
この辺りは大抵コンサルティング業界でノウハウが溜まっている模様。
そこで、戦略思考・コンサルティング系の本を読みあさってみた。

いっぱい読んでいくとアタリ・ハズレが少しづつ見えてくる。
また、読むべき本の順序もあ~、これ先に読むべきだったとか思い返すと残念な気持ちになったりする。
今日は入門編としてはじめに読むべきと個人的に思っている、
「戦略思考コンプリートブック」を紹介してみます。





コンプリートと言っているものの、これは何も知らない駆け出しサラリーマンが戦略思考・ロジカルシンキングに入門するのに最適な本です。
わかりやすさは群を抜いています。
著者はA.Tカーニー出身の河瀬誠さんで、MK&Associates という会社で企業研修の講師もされているようです。高そうだけど、受けてみたい。。。



私は本で買いましたが、kindle 出てるの知らんかった。。
以下、ざっくりメモ。

個人的なメモ

≪章立て≫
序章 戦略思考であなたの付加価値を高めよう
第1章 戦略思考のアプローチを知ろう
第2章 左脳でイシューツリーを作る
第3章 右脳で仮説の手がかりをつかむ
第4章 論点を分解し初期仮説を作る
第5章 仮説を実際に検証してみる
終章 戦略思考であなたの人生を豊かにしよう


序章:

「戦略思考 = ビジネスパーソンの思考のOS」 というキャッチーなワードで始まります。
仕事をする上でのベースとなる基礎能力として戦略思考があります。
仰々しく言っているけど、要は頭の動かし方。
決まった枠組みで思考パターンを繰り返せばそのうち上達してスピーディーに物事を考えられるようになる。
戦略思考を要素分解するとざっくり 「左脳のロジック(@第二章)」 + 「右脳のクリエイティビティ(@第三章)」となる。章立てから構造化されていてわかりやすい。

第一章:

戦略思考の手順としては、仮説 -> 検証の繰り返し
仮説(仮の結論)を出して、それを検証。
間違った点を仮説に反映させ修正・高度化、検証、・・・の繰り返し。
ヒューリスティックな手法にはなるが、複雑な問題の解法としては適切か。
仮説と検証のイテレーションをいかに早くぶん回すかが肝のようだ。

取り組む問題はえてして大きくて複雑なものが多い。
なるべく小分けに分解して分割統治法で攻める。
( クイックソートのアルゴリズムも分割統治だったなぁなんて思い出す。 )

個別の論点に分解する(イシューツリー作り @ 左脳)、
論点ごとに仮説 -> 検証を繰り返す(仮説作り @ 右脳)
論点ごとの結論を合成して全体の結論とする


第二章:

大きな課題を細切れのサブイシューに分解して構造化する。
分類の際は MECE ( Mutually Exclusive & Collectively Exhaustive ) 漏れ無くダブり無く分類することを意識する。
分類の軸はフレームワーク (3C, 4P, etc) だとかでノウハウは体系化されている。
イシューツリーは分類の軸で変わってくる。これは分析者の意思表明にあたる。
例えば軸を出す順番。プライオリティの高いところから出していく。
イシューツリーの階層数は重要なものに関しては深く。
参考書籍は以下。




第三章:

- 顧客視点から発想する
- 前提条件を疑って常識を外して考える

書いてあることはごもっともなんだけど、
実際自分で実践してみないと意味合いが理解できないイメージ。
推薦図書として考具が紹介されていたので読んでみようと思います。




第四章:
第五章:

これから読む。