uoz 作業日記

様々な作業の記録を共有するブログです。

Webstorm (Intellij idea) でnode.jsデバッグが止まらねえ

症状

タイトルのとおり。
ブレークポイントを設定しても止まらない。



厳密に言えば、とまってるっぽいけど、Webstorm上でそれが検出されない。
Resume buttonにも反映されないので、止まってるのを動かすこともできない。
再起動するしかない。

原因

とりあえず、console.logを実行するとそれ以降のブレークとポイントで止まらない事がわかった。

対策

stackoverflow等、いろいろ探してみた。
debugging - Webstorm console.log interrupts debugger - Stack Overflow
今のところ、解決策なし...

How to take sreencapture (screenshot) of WebView for OSX app (swift) | OSXのSwiftアプリでスクリーンショットを取る方法(webViewのiframe内)

I found two ways.
ググりまくって、2つの方法を見つけた。iOSの場合は多いが、OSXアプリの情報は少ない。

Using WKWebView | WKWebViewを使う方法

References
https://github.com/lemonmojo/WKWebView-Screenshot
http://qiita.com/edo_m18/items/3df1861dfb837838d33b(timer)

let delay = 3.0 * Double(NSEC_PER_SEC)
let timeout = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))

let image = self.webView!.captureScreenshotWithTimeout(timeout)

"self.webView" is a instance of WKWebView.

This method works, but can not take contents inside iframe.

Another problem is that this code use private API, so you cannot publish apps through the App Store using this codde.

ただし、この方法だとiFrame内が真っ黒になってとれない。

Using screencapture command | OSXのscreencaptureコマンドを使う方法

References
https://github.com/leemachin/say-cheese

 system("screencapture -c -x");
 let imageFromClipboard = NSImage(pasteboard: NSPasteboard.generalPasteboard())

This code can get iframe content.
However, you have to crop image if you need only a part of the whole screenshot.

  • R option allows you to take a part of the whole screen.

http://qiita.com/South_STR/items/f4624134726eca839647

私のtodo タスク管理の変遷

学生時代から10年くらいの私のTodo管理の変遷です。
でも初期の頃のは覚えてなかった...

googleカレンダーのタスク

これです。
Google カレンダーに ToDo リストを表示する | Google カレンダー の使い方

Gmailをずっと使っているし良いかと思ったけど、なんか欄が小さいからか定期的にみることが習慣化しなかった。

Toodoledoo

ちょうどGTDとか流行ってた時期、iPhoneアプリもいれてやってみた。

http://www.toodledo.com/signin.phpwww.toodledo.com

タスクとかの登録がめんどくさすぎてあきらめました。

Evernoteでテンプレート

Evernoteチェックボックス機能とか使って単純にtodoリストを作ってたけど、
予定と実績を管理したいなと思って作ったテンプレート。
f:id:uoz:20160216123012p:plain

これを毎日コピーして使ってた。

ただし、スマホだと表がくずれるのと、予定の変更がめんどくさいのでもっとシンプルなものに変えた。

Evernoteテンプレート改良


表を使うのをやめて、単純に/で予定と実績を区切ることにした。

f:id:uoz:20160216125051p:plain

良かった点

これは結構使いやすくてつづいた。

スマホでも入力がかんたんだし。

欠点

ただし、この方式だと、開始時刻はきめられても終了時刻がないからダラダラやっちゃって、だいたい予定の半分くらいしか消化出来ていなかった。

あと、これを使い始めた頃から忙しくなり、複数のプロジェクトの進捗管理という問題がでてきた。

Torrelo

カンバンです。

Evernoteによるその日のtodo一覧に加え、プロジェクトの管理として使っている。

trello.com

良い点

UIが単純でわかりやすいので意外と続いている。

Fluidでアプリ化して使ってます。
fluidapp.com

悪い点

プロジェクトの分け方が難しい。
これは別にトレロのせいではないか。

時間割方式 Evernoteテンプレート

f:id:uoz:20160216125357p:plain

小学校とかの時間割みたいにしたら、週の予定を俯瞰できるし、あるタスクをどれくらいやるか管理できて便利じゃないかと思って作ってみた。
定着するかどうか試し中。



時間を決めるという点では、ポモドーロテクニックに影響を受けている。
今日から始める生産性アップ術。ポモドーロ・テクニック再入門ガイド | ライフハッカー[日本版]

RailsでgulpでES6をやってみたかったんです

Babel / gulp / es6 / rails

なので、このブログの通りにやりました。

ruby-rails.hatenadiary.com


できたコードは、ここにあげました。

aoyagikwansei / rails-gulp-template — Bitbucket

sprockets-rails / es6 / rails

RailsでbabelでES6を使う方法は、gulpとかgruntとか使うこれみたいな方式とrailsにもとからついているsproketsを使う方式の大きく2パターンあります。

後者のsprockets方式はこっちに公開してるので良かったらどうぞ。


aoyagikwansei / babelTest — Bitbucket

こっちはこの記事をそのままやったものです。

Sprockets4を使ってRailsアプリケーションのJavaScriptをBabelで書く - Qiita

Airbnbをスクレイピングして相場とか出すサービスをつくろうとしたけど諦めて公開する話

f:id:uoz:20160207224447j:plain

エアビーデータバンク

最近、Airbnb関連のことを始めようと思ってて面白いサイトを教えてもらった。

AirbDatabank(エアビーデータバンク)


どんなサイトかというと、日本のAribnbの宿泊率や客単価を東京の区とか、エリアごとに時系列で見られるというもの。

Airbnbやろうとしている人にとっては、どのあたりに物件を借りるかとか、宿泊料金をどう設定しようかとか、いろいろと使えそうなサイト。

パクろう!

なかなか需要がありそうなサイトだけど、私が初めて見た時はまだ東京24区しかデータがなかったし、いろいろ改善の余地ありと思ったので、パクリサイト(ある種のクローラー)をつくろうと実装を始めた。

Rubyベースで、ヘッドレスブラウザPhantomJS(poltergeist)を利用している。

GitHub - teampoltergeist/poltergeist: A PhantomJS driver for Capybara

あれ?

これでビューを集めていろいろしようと思ってたのだが、なんと今日本家のエアビーデータバンクの作者が知り合いだったことが判明した。

そこと戦うのもなんだし、本家もしらんうちに日本全国に対応していたりして、やる気が失われたので、作りかけを公開します。


ソースコードはこちら。

github.com

できること


例えばローカルで普通に動かすと、

http://localhost:3000/home/rooms

にアクセスすると、コード内で指定した地域について、物件の下記データを取得する。

  1. 名前
  2. URL
  3. airbnb内のid
  4. まるまる貸切?
  5. 宿泊人数
  6. ベッドルーム数
  7. ベッド数
  8. エリア名
  9. 住所

本当はこの後、上記部屋データを元に、稼働率、宿泊料金に加え、データを分析して、例えば

  1. 駅から何分ならいくら位でいけるのか
  2. 駅ごと、路線ごとの料金相場
  3. 地価、ホテルの稼働率や料金との比較

なんかを提供できたら良いなと思っていた。

使うためには

phantomjsをダウンロードして実行ファイルにパスを通す。
PhantomJS | PhantomJS


あとはこっからコードをダウンロードして動かすだけ。
GitHub - uozias/air-b-scraping-tool: scraping tool fof the famouts homestay service


これでわからない初心者の人がいたらコメントで聞いてもらえればこたえるかも。

最後に

これからこちらが進化していくと思うので、AirbDatabank(エアビーデータバンク)の方をどうぞよろしく。

AirbDatabank(エアビーデータバンク)

エクセルVBAで、Wordpressに画像を投稿する

表記の通りの話です。


前にこういうことをして、Microsoft Excelで動くマクロでWordpressに投稿することができた。

uozias.hatenablog.com


その後、画像投稿機能をつけるのにめちゃくちゃハマった。

最初は下記のmetaWeblog.newMediaObjectを使って投稿しようとしていたけど、画像データをエンコードするのしないのという話でうまく投稿できなかった。


XML-RPC MetaWeblog API « WordPress Codex



結論としては、Wordpress APIのwp.uploadFileを使い、画像データはバイナリで読み込んで、base64エンコードすることで投稿成功した。




この記事では、VBAじゃないけど、Wordpress APIのwp.uploadFileを使っていて、base64エンコードするなと書いてあるのでちょっと罠だった。

【技術】wordpressにxmlrpcで画像を投稿する際の注意点 - はたけアーカイブ



例によって、そういうマクロをほしい方はこちらからご依頼ください。

aiwさんのプロフィール【クラウドワークス】




以下は調べたURL集です。


参考にしてください。


xml-roc wordpress 画像
http://iiwake.me/2013/07/03/388

http://hatakazu.hatenablog.com/entry/2012/07/17/213509

http://www.moonmile.net/blog/archives/1717

http://id123.blog34.fc2.com/blog-entry-8.html

http://hatakazu.hatenablog.com/entry/2012/07/17/213509

vba バイナリ
http://www.cocoaliz.com/excelVBA/index.php/47/

vba base64 ファイル
http://www.ka-net.org/blog/?p=4479

http://blog.achikoko.net/2013/11/vbabase64.html

wordpress metablong xmprpc api
https://codex.wordpress.org/XML-RPC_MetaWeblog_API

xml パース
http://freefly3104.hatenablog.com/entry/2015/04/03/222516

http://d.hatena.ne.jp/tkawa/20090206/p1

バイト → 文字列

http://qa.atmarkit.co.jp/q/1088

http://homepage2.nifty.com/nonnon/SoftSample/SampleBase64.html

http://zakizaki.cocolog-nifty.com/software/2011/10/vbaxmlrpctrac-f.html]

Base64エンコードしないとエラー、エンコードしたらデコードされない
https://wordpress.org/support/topic/sending-data-in-bits-to-newmediaobject


xml-rocで使えるwordpressAPIはmetablog apiだけではない
http://webexplorar.com/wordpress-remotely-publish-post-using-xml-rpc/

wordpress api
https://codex.wordpress.org/XML-RPC_WordPress_API/Media

Fallout4 の Steamでのセーブデータ共有がおかしくなったら

1. この下のデータを全部消す(もしくはどっかにうつす)。


C:\Users\<ユーザ名>\Documents\my games\Fallout4\Saves


2. Steamを起動する。

データの同期が終わったら終わり。


Windows 10の話です。