投稿

3月, 2013の投稿を表示しています

pythonスクリプトでtweetする簡単なサンプルを3分で実装する

cygwinコンソールからtweetするサンプルスクリプトの実装をしてみる。


まずはtwitter developersサイトに行きます。
1. Applicationを新規作成 2. OAuth settingsでAccess levelを [Read and Write] にする 3. 以下4つの情報を参照 CONSUMER_KEY     CONSUMER_SECRET ACCESS_KEY       ACCESS_SECRET


# -*- coding: utf-8 -*- #!/usr/bin/env python import sys import tweepy CONSUMER_KEY = '**************' CONSUMER_SECRET = '**************' ACCESS_KEY = '**************' ACCESS_SECRET = '**************' mypost = sys.stdin.readline().strip() if 0==len(mypost): exit() auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) api = tweepy.API(auth) api.update_status(mypost) 実行時に以下のように怒られたら2をチェック。”tweepy.error.TweepError: Invalid / expired Token”

事業提案よりもやってからの事後提案がセンスいい

「こんなのやったらどうですか?」
っていう事業案を投げた。
今の時代、平社員1年目の私でも部長に意見ができる。
そう、メールならね。


1年目だし「うざってぇメール投げてんじゃねぇよ氏ね」って言われるの覚悟で投げたった。
何も知らん部長だから、
背景、問題点、改善策といった段落分けで、
「ロジカルかつ簡潔に」
を目標に文章化した。
相手が偉い人だし、長い話をじっくり読むのが想定しづらいのでね。




これが意外と部内の審査をあっさり通り抜けたんです、しかも2日で。
うちの会社、一応大企業なんだけどかなりフラットで、
二段階くらい上にあがるともう社長にぶち当たれる良い組織なのです。


あとこの組織、かなりアイディアで動いてるわけです。
論理よりも感性だとか新しいとかが尊重される世界なのです。
そーゆーのやりたい人は腐るほどいて、
そこで戦うよりも、もっと業務改善とかに目を向けて、
改善できる点をロジカルに詰める方が戦略上賢いし自分の価値が出せるはずと思ってる。
そこで思い立った今回の提案。



1年目のアイディアを直近の先輩に投げてもないがしろにされて無いもの扱いになるだろうから、
どうせならやけくそになって、いきなり偉い人に投げてみたのが功を奏したようです。

部長に直接事前説明の根回しをしたのと、
部長宛にメール投げて、併せて先輩に投げるというプロセスを取ったので、
上に展開せざるを得なかったのでしょうね。

他部署の室長まで話が流れている今の状況。
頑張るしかないわけです。




でもここでふと思う。
口先だけでいいのかと。
にでるだけでいいのかと。



「お前エンジニアだろ?」
「プランナーじゃないだろ?」
やっぱり自分である程度創りあげてから投げるべきだった。

「こんなの作ってて、すげぇ良い評判もらってるんすよ~」

って言ったほうが、現実味あるし「俺がやる」っていう本気度も伝えられる。
これからは事後提案にしようと思いました。
ていうか今の提案を水面下で一刻も早く実装しなきゃいけないんじゃないだろうか。
頑張ろう、やっぱうんこだわ俺。

PythonでWebページを取得しURLの抽出する

利用ツール&モジュール
- Python2.6以上 - HTMLParser - urllib2,urllib
試しに当ブログのトップページに含まれるリンクを抽出するスクリプトを作成しました。


# -*- coding: utf-8 -*- # http://ymotongpoo.hatenablog.com/entry/20081211/1228985067 # http://nihitok.blogspot.jp/2011/07/pythonhtml.html # Modules ------------------------ from HTMLParser import HTMLParser import urllib, urllib2 import fnmatch # Classes ------------------------ class My_parser(HTMLParser): # My_parserインスタンスが生成された際に呼び出されるコンストラクタ def __init__(self): HTMLParser.__init__(self) self.is_data = False self.href = None self.val = None self.data = [] # 開始タグにぶつかったらhandle_starttag()を呼ぶ def handle_starttag(self,tagname,attribute): if tagname.lower() == "a": for i in attribute: if i[0].lower() == "href" and fnmatch.fnmatch(i[1], "http*"): self.is_data = True self.href = i[1] # 終了タグにぶつかったらhandle_endtag()を呼ぶ …

家電芸人で紹介された最高な家電まとめ

イメージ
テレビ朝日でやってた

アメトーーク今こそ!!家電芸人2013春スペシャル(3月22日金曜日放送)

非常に楽しく見させてもらいました! その中ですっげーなーって思った製品を紹介。

ふとん専用クリーナー raycop のSMART


掃除機って括りから飛び出して、
「布団専用」というカテゴリー付けはブルーオーシャンだと思うし、
それ専用に機能を特化してるので先行利益を得てるんじゃないですかね!


喋る自動掃除機 SHARP 「COCOROBO」


こっちは喋る自動掃除機。
iROBOTのルンバの二番煎じにしか見えない。。
「喋る機能」がついてるとかいってバッテリーが少なくなったら関西弁で喋るとかそーゆーレベル。
センサーで状態をチェックして予め用意された音声ファイル流すってレベルなのかな。
既に先行者がいる市場にわざわざ製品出すんだけど、
特に消費者に対して魅力的ではない機能をつけてる。
さらにはプラズマクラスター。。。
足し算の論理って日本メーカーの十八番ですよね。
これ売れてるんだろうか。。


究極の手ぶれ補正ビデオカメラ、SONY HDR PJ-790v


これはまじで欲しいと思った!
手ぶれ補正もすごいんだけど、
取った動画をそのまま付属のプロジェクターで投影して、
周りの人と鑑賞できちゃうスグレモノ!
カカクコムで11万くらいで買えちゃいます!

超小型ビデオカメラ! GoPro 「GoPro HERO3」


ここまで小さかったらいろいろカジュアルな使い方ができそう。
でも将来的には、スマホに組み込まれるレベルの機能になっていく気も。

プロジェクションマッピングiPadアプリ「DynaMapper


いまや東京駅とかのイベントですっかり馴染みのワードになってるプロジェクションマッピング。
これはプロジェクションマッピングがiPadだけでできてしまうアプリです。
これはすっげーと思った!
自分の部屋に合わせて画像の位置を設定する機能がありましたー
たった450円です。





楽天カードよさようなら、これからはRecruit Card?

MarkeZine: リクルート、業界最高水準のポイント付与率のカード「Recruit Card」を展開


楽天カード今まで使ってた。
100円で1ポイント。ポイントは楽天市場とかで使えるよ!
ってルールが単純だったし、edyも使えたので。
ポイント溜まったら楽天市場とかで買い物してる。
カード決済時の1ポイントと、楽天市場のポイントが1ポイントで
100円で2ポイントつくし。

5月30日からRecruitCardが出るようですね。
こっちは年会費無料で100円で1.2ポイントRecruit Card。
RecruitCardPlusは年2100円で100円で2ポイント貰える仕組み。
なんか良さげに聞こえるじゃん。

でも待て待て。
ポイントはリクルートのサービスで使える模様。
リクルートにはECのショッピングモールが無いからあんま使えねー。
還元率はちょっとだけマシだけどぶっちゃけ微妙。
あとEdyも使えないだろーなー。
うーん、、、まだ楽天カードが安定かなー。

1分でPythonでスクレイピングツールを作る

# -*- coding: utf-8 -*- import urllib #proxies={'http': 'http://192.168.0.1:8080'} url = "http://www.goldmansachs.com/" #filehandle = urllib.urlopen(url, proxies=proxies) filehandle = urllib.urlopen(url) data = filehandle.read() print data まずはコード!
urllibをインポートしてurlopenするだけ。
コメントアウトしてる部分はプロキシ経由でアクセスするときに使います。
これでGoldman Sachsのサイトをぶっこ抜けました。

将来的にはタグ解析の後、データベース化つくってC++で解析とかしようかなと!
スクリプト使って各サイトにアクセスするわけだけど、
データぶっこ抜くためにサーバー立てて自動化できたら素晴らしいなぁ。
分散処理とかできたらなー。

<a href ***ってところをぶっこぬいてグラフネットワーク的に解析したら
人気サイトとかわかるよね。
こーゆーのがGoogle先生のやってることなのでしょうか。
めっちゃ興味ある。。。

今興味持ってるのは
pythonに通常装備されてるsqlite3と、
pythonでスクレイピングツールつくろうぜってサイトで言及されてるBeautifulSoupです。

つけまつげ

本名:きゃろらいんちゃろんぷろっぷきゃりーぱみゅぱみゅ
(Caroline Charonplop Kyarypamyupamyu)


きゃりーぱみゅぱみゅにハマっている。
かわいい+グロい+不思議な世界がこの世でOnly Oneだと思うので好き。


つけまつげの歌詞に、
「同じ空がどう見えるかは心の角度次第だから。」
というフレーズがある。
なんか心の持ちようで、
明るくも暗くもなる人生。
どうせなら明るく行きたいよねっていうのを、
ポップな曲調から感じ取った。





ぱみゅぱみゅらしく「Only Oneなこと」を目指そうと思った。
昔からなんか似通ったものがあるものに興味が無い。
何かの真似とか既存のもののパクリとか。
それが仕事だったりすると嫌になるだろうな。
自分がやるべきことなのかなとか思っちゃう。





支離滅裂ですね、おしまい。

SDK開発者として

GoogleMapsのリファレンスが素晴らしい。
https://developers.google.com/maps/documentation/javascript/?hl=ja

文章でダラダラ書くのではなく、
まず最優先でコードありきで、少しの補足がおまけ程度に付けてまとめてある。
言葉がたくさん必要なSDKってそもそも設計が良くないわけで、
SDK提供者側は、コード見たら一発で分るレベルのAPIを用意すべき。
その点でGoogleMapsAPIは洗練されてる。
世界中のアプリ開発者の人の目に晒されてるからかも。
あと、リファレンス内のコードが見やすく整形されてるってのも良い。
細かいことだけどアプリ開発者から見た時の印象が違う。


現状、HTML,CSS,Javascript関連に疎いエンジニアが、
副産物としてドキュメンテーションしてるんだけど、
この環境は非常に良くない。
ドキュメンテーションに対する意識を高めて、
もっとフレームワークを洗練させて、
SDKを使う人の立場にたった洗練されたものを提供すべきだと思った。
さすがにsdkのデモとかはしっかり作ってるけど、
リファレンスではHTMLコードベタ張りとかが横行してる世界、ヨクナイ。
改善しよう!

アメリカ出張

新卒1年目にしてアメリカ出張の機会があった。
ディベロッパーとして一つのプロジェクトのプログラマとして働いてきた。
カナダ人、メキシコ人、インド人、アメリカ人といった多国籍メンバー。
向こうのエンジニアが素晴らしいと思った点をまとめる。

■Whyを突き詰める
ある設計を提案するとして、
確実に「なぜそうなんだ」という問いを、
明らかに真というレベルまで掘り下げて質問してくる。
設計に関する技術要素や背景を構造化して整理することで、
全く知らないことであっても同じレベルで議論できるようになる。

■Debateする
納得行かないことはひたすら意見をぶつける。
日本人的などっちかが折れる「意見のすり合わせ」ではなく、
おもいっきりぶつけて、その結果秀でた意見が採用される。
喧嘩に近いレベルで白熱するが終わったあとは仲良くランチする。
自他共に成長するので凄くいいカルチャー。

■最高を求める
複数解があったとき、
時間的制約は度外視で技術的に最高のものを採用する。
間に合わせられないのはエンジニアの責任って感じで。
特にソフトウェアの場合はじめの設計が将来のメンテナンスコストを左右するのもあるので、
遠い先の将来も見据える必要がある。


自分に足りていないものも同時に見えてきたのでまとめる。

■技術を教えてもらう
自分で学ぶ部分は最低限やった上で、
高度なこと・実践でしか学べないことは積極的に教わる。


■ オンタイムで問答ができるようにする
step1. 相手が喋ったことを理解すること
step2. 聴解力
step3. 文章構成力