2014年7月21日月曜日

python3でtwitterのlibrary

Python2.xの時はtweepyだったのだが, 3.xでは使えないようなのでPython Twitter Toolsというのを使う

https://github.com/sixohsix/twitter


使い方がしばらくわからなかったので日本語で書く。
他の選択肢も今無さそうだしこれでいいんだろう。動くし。

はまったのはRESTのapiを叩くのが、pythonの関数みたいな書き方で全部叩けますよ、というところ。
ソース見てしばらく「???」となっていたが、callableなclassにしてあって、それでうまく解決しているっぽい



簡単に書くとrest apiをpropertyとかmethodみたいな書き方で
twitter = Twitter()
twitter.statuses.update('aaaaaaaaaaaaahhhhhhhhhhh!")

ってやるだけで動くようなライブラリだった。

んー,, Qiitaにまとめるほうが見やすいか
まとめた

2014年7月19日土曜日

pycassaとかtweepyとかgeventとかgdataとか言うものがpython3では使えませんよ、という事

多分書いておくとあと10年で3人ぐらいに需要があるだろう情報を記述

python2の時にcassandra用のライブラリとしてpycassaというのがメジャーだった。
https://github.com/pycassa/pycassa
こいつじゃね。

んで、自社webアプリで当時作ったものがあってですね、cassandra使ってるんですよ。
どんなに大規模になってもcassandraならscalabilityバッチリ、やったね!とか思って。
こいつですね
https://ideawalk.net/


んで、会社は未だにpython2.x(2.7)なんですが、「もうpython3が出てから8年も(!)経ってるんだからそろそろpython3.xに移行すんべ」、と思って色々やってみたところ、、これがまぁ色々うまくいかないんですよ...

ハマったところ
gevent
 -> 3.2.xあたりまでは対応させようとした気配。ただpython3.4.xには現時点ではもっていけない様子。あと数年したら安定して3.xの最新に対応させられるんだろうけどもうちょい様子見ぽい。
https://github.com/surfly/gevent/issues/38

websocket用に使っていたのだが、今の自社アプリでは実質使ってないから、しばらくこいつのことは忘れるようにする
gevent-websocket
 ->これも当時"pythonでwebsocketやるならこいつだよね"という感じだったモジュールなんだが、geventが動かんのにこいつが動くわけがない。
どうも直近のpythonでは他のモジュールを使ったほうが良さそう
https://github.com/aaugustin/websockets

tweepy
 ->こいつもpython2時代はメジャーだったtwitter用ライブラリ
多分こいつを使うべきなのだと思われる
https://github.com/sixohsix/twitter


gdata
 ->google spreadsheetに書いたり読んでみたり。
 これもなんでかpython3版が無い。こいつどうするか今考え中orz
この辺が候補orz
https://code.google.com/p/gdata-python-client/source/clones
多分こいつを使うべきだろうと思うのだが、pipでは3.4.xには入れられないぽいのでどうしたものか。ソース落としてくるにしてもbranch多すぎてよくわからんす
https://code.google.com/r/aigarius-gdata/source/browse

pycassa
 -> pycassaの中の人がお手上げしている.
https://github.com/pycassa/pycassa/issues/178
このへん見てもcassandra-driverを使えと云っておるので、おっしゃるとおりcassandra-driverにすることとする。
http://pycassa.github.io/pycassa/

先がなげーぜ!!!!
とりあえずこれからcassandra-driverのマニュアル読んで何とかする。

2014年6月24日火曜日

Unity 4.5.1

社内で使っていたUnityのversionを 4.3.1から4.5.xに上げようかどうか悩んでいる。
今まで運用しているプロジェクトは怖いのであげない事になりそうだが、いつまでも4.3.xでいいのか、という疑問は少し残る。

4.5.xで色々試しているのだが、今のところ問題は無さそう.
メモリリークとかwwwとか4.3.3あたりで問題化してたところは残ってるのかもしれないが、かといってずっと試さないといつまでたってもわからないからまずは道を切り開いてみようかと。


https://www.facebook.com/groups/unityuserj/permalink/711181188941824/
「実は俺もそう思ってたんですよねー」程度のレスぐらい誰かくれてもいいと思ったんだけど質問書いても誰も返事来ない。

このあとにリリースするアプリがあればそれは多分4.5.x使ってます。
興味ある人は連絡下さい。

2014年1月12日日曜日

xfl内の画像をプログラムで置換する方法

途中まで書いたのに消えた

xfl の /bin/*.dat氏ね、と思っているあなたのために


xflのディレクトリのDOMDocument.xmlの中に

DOMBitmapItem name="hoge/dummy.png" itemID="52d27d94-00001f5c" sourceExternalFilepath="../png/dummy.png" sourceLastImported="1385281771" sourcePlatform="macintosh" originalCompressionType="lossless" quality="50" href="hoge/dummy.png" bitmapDataHRef="M 2 1389525958.dat" frameRight="11140" frameBottom="11620"





このへんがあるのでsourceExternalFilepathを適当なpngのpathとかに書き換えてやる.
その後jsflでlibraryitemのupdate


fl.outputPanel.clear();
fl.trace("start script export all bitmap ");

var doc = fl.getDocumentDOM();
var library = doc.library;
var itemArray = library.items;
var s = "";
var item;
for(var i=0; i < itemArray.length;i++){
item = itemArray[i];
doc.library.selectItem(item.name);
var selItems = fl.getDocumentDOM().library.getSelectedItems();
if("bitmap" == selItems[0].itemType){
//item.exportToFile(imagepathURL + item.name);
fl.getDocumentDOM().library.updateItem();
fl.trace("export and update bitmap !" + selItems[0].name);
}
}

fl.trace("finish script export all bitmap ");

2013年10月24日木曜日

vmware fusion + Marvelicks + Windows8.1 環境で vmware-host にアクセス出来ない

色々短期で入れ替えたので何がまずいのかわからんかった。

症状としては

- Windows 8 -> 8.1 へ Windows上のストアアプリからアップデート
 ー>この時点で微妙に何かおかしい。bootcamp上のイメージが見つからん的な事を言われる
  ↓これと同じエラーだったかな...
  http://coelacanth.heteml.jp/blog/windows-8%E3%81%8B%E3%82%898-1%E3%81%AE%E6%9B%B4%E6%96%B0%E3%81%A7vmware-fusion%E3%81%8C%E3%82%A8%E3%83%A9%E3%83%BC/

この時点では普通に動いてるのを一応は確認.
しかし問題はvmwareの方だった気はする。

- Apple発表会で新OS発表キタ━(゚∀゚)━!
 -> 喜んで地雷を踏むためにMarvelicksインストール

この時点でもまだ動いてたんだけどな...


- 今朝vmware再起動すると vmware-hostが見つからない的なエラーが頻発するようになる
 ー>共有フォルダをon/offすると見えたり見えなかったりする。なんじゃこれ

- ググる
 http://anago.2ch.net/test/read.cgi/mac/1381631214/

OSX 10.8.5 
VMWare Fusion 5.0.3 
Windows 8 Proからストア経由で8.1にアップデート後、VMWare Toolsの再インストールができない(vmware-hostにアクセスできないため、何とかというメッセージが出ていた記憶が)状態でした。 
仮想マシン→共有から、共有フォルダをオフにして、VMWare Toolsをインストールし直し、改めて共有フォルダをオンにして、今のところ特に異常なし。 

Fusion 5で8.1が上手く動いてない人の参考になるといいんですが。 
 ー>試す。動かん。

- またググる
 http://coelacanth.heteml.jp/blog/windows-8%E3%81%8B%E3%82%898-1%E3%81%AE%E6%9B%B4%E6%96%B0%E3%81%A7vmware-fusion%E3%81%8C%E3%82%A8%E3%83%A9%E3%83%BC/ 

  調べてみると、BootCampの設定を再作成するために、設定ファイルをゴミ箱に入れてもう一回BootCampを起動すればいいよということでした。



Library\Preferences\com.vmware.fusion.plist
Library\ Preferences\VMware Fusion
Library\ Application Support\VMware Fusion


動いた。


結論


vmwareの設定ファイル全捨てで、もう一回bootcampをvmwareに設定しなおして、vmwaretoolsも入れなおせ。そこまでやらんと何かおかしい。

....これで一応vmrunとかvmware-hostとか変なコマンドも全部動いてる。大抵の人のところでは


2013年10月12日土曜日

忙し

もう10月だ

年初の目標達成できてないなー
今年は5月まで投げモン頑張っていたが、大コケしてしまったから後半は挽回のためにヒーヒー言っている状態。
いろんな仕事はやっている。
もう少し頑張る予定。
落ち着けるといいなぁ・・

2013年7月28日日曜日

MXPとかZXPとかってJSFLからどうやって作るの?

全くもって日本語ソースが無いのでこれも書いておく。
誰かの役に立つだろう。


JSFLとは?

Flashのエディタ側拡張スクリプト。
この辺みとけ
 http://help.adobe.com/ja_JP/flash/cs/extend/WS5b3ccc516d4fbf351e63e3d118a9024f3f-7fe8.html

SWFで動くActionscriptではなくて、エディタ側を操作するためのスクリプト。
単純に言うと
・ライブラリのアイテム全部リネーム
・ムービークリップ開いて全部のムービークリップにデバッグ用のムービークリップ足す

とか、普通Flashのエディタ上でやろうとしてる事は大体できるってースクリプトです。
ファイルの保存とかパブリッシュとかもできる。要はマクロっすわ。

んで、JSFL作ったときに、デザイナーさんとかに「できたーよー」とか言っても使ってもらえないわけですよ。
「xxxxxxのディレクトリにコピーして使って」
って事になるんだけど、これがまたえらいわかりにくいところにあるので、リモートでの作業をお願いしてたりしたらインストールの説明がえらい面倒
http://help.adobe.com/ja_JP/flash/cs/extend/WS5b3ccc516d4fbf351e63e3d118a9024f3f-7fe8.html

MXPとは?

そこで、JSFLをインストールするためにパッケージ化して、クリックしたら勝手にインストールしてもらえるよ!って仕組みがMXPらしい。
俺も最近知った。
JSFLのページにそんな事全然書いてないし。

ZXPとは?

どうもMXPが圧縮された形式がZXPだと思う。これも資料があまりないし調べる気も無いからややうろ覚え。
まぁMXPじゃなくてZXP使っとけばいいようだ。

ZXPの作り方

mxiというファイルを作って、そこに適当なJSFL名書いておく。
mxiをクリックするとZXP作ってもらえる。
下ではmxiと同じディレクトリに linkager.jsflというものを作って置いてある形。
files/file/ sourceに自分が使いたい名前書いて、authorとかdescriptionに好きなように書けば良い。


<macromedia-extension
name="Linkager"
version="0.0.1"
requires-restart="true"
type="suite">
  <author name="Nariya Takemura" />
  <products>
<product name="Flash" version="6" primary="true" />
  </products>
  <description>
<![CDATA[This extension installs linkager script.]]>
  </description>
  <ui-access>
<![CDATA[non non only modify fla or xfl.]]>
  </ui-access>
  <license-agreement>
<![CDATA[free :<br>
BSD or Apache lisece.<br/>
exactly free.<br/>]]>
  </license-agreement>
  <files>
<file source="linkager.jsfl"
 destination="$Flash/Commands" />
  </files>
</macromedia-extension>




とりあえずmxiの記法についてはここにエライこまかく書いてあるが英語だしどうせみんな興味ないべ、という気がするが、気になる人は一読を。
http://help.adobe.com/en_US/extensionmanager/cs/using/MXI_tech_note.pdf


その他
もっとちゃんとやりたい人(署名したいとか)は
https://www.adobeexchange.com/resources/7
ここでも読むと良い気がする。
Exchange Packagerとかいうのでパッケージすればいいっぽ。(大して難しくは無いが需要ないだろう・・)

参考リンク

http://blog.kaihatsubu.com/?p=1405
http://homepage2.nifty.com/addsome/as_manager3.htm