プログラミング

App Storeではレビュワーの価値観を超えるアプリは世に出ない

勉強と思ってアプリをつくって提出していたがどうにもレビューを通りそうにないので、面倒になってApp Storeで公開するのを諦めた。 勉強が目的でアプリの内容は何でも良かったので、今回は手頃なFlashでつくったポケモンの努力値カウンターをiPadに移植した…

PhoneGapを利用したアプリケーションにMobile App Install Ads(Facebook SDK)を組み込む方法

前提 https://developers.facebook.com/docs/tutorials/mobile-app-ads/ の内容に従えば良い https://developers.facebook.com/docs/tutorials/mobile-app-ads/jp/ に日本語訳があるが、現文章に若干追従していないように見える 正常に組み込むことができた…

UnityでつくったアプリをiOS向けにもビルドしてみる

いくつか Android用のコードは#if UNITY_ANDROIDみたいなプリプロセッサで飛ばした アイコンが非常に汚くなる Unityが勝手に縮小している 自前で縮小し直すも、prerenderのチェックを外してもアルファチャンネルが上手く透過されない(Appleはとにかく角丸に…

ひさしぶりにUnityでAndroid向けにビルドをしてPlayでAPKの更新をした

ちょうど1年くらい前にごちゃごちゃメモしていたわけだけど、 開発環境がWindowsからMacに変わってUnityのバージョンも若干上がって手を加えることになったのでメモしておく。 先ず最初に何も変更せずビルドしようとしたが、うまくビルドできなかった。 Wind…

AndroidのWebViewでCSSをあてたsubmitボタンがタップしてもdisabledっぽい見た目にならない件について

ちゃんと調べてませんが、少なくとも手元のAndroid 4.0端末でWebViewに限らずWebKitっぽいやつは表題のような問題がある雰囲気でした。 これでどう困るのかというと、submitしてんのにそれっぽい見た目にならなくてユーザーを不安にさせてしまいます。 ちな…

wgetだけであるページに含まれる全てのリソースに対してGETクエリを発行する方法

wget --spider -r 1 -p --span-hosts --domains=example.org http://example.com/ 例えばこのコマンドを実行すると、http://example.com/ にある exapmle.org に設置されているリソース全てに対してGETクエリを発行する(この場合は http://example.com/ は e…

Perlは文字列と数値をそれほど区別しないけどMongoDBは区別するので気をつけようという話

初心者のハマりがちなミスみたいな感じで虚しい…。 DBIx::Lite経由で数値$numを取得する MongoDB::Collection#find({ num => $num })みたいなクエリを発行する 結果が空になる!!どうして?! 結論としては、$numが実のところ文字列になっていたので、 文字…

Custom Classに指定したUIViewのinitWithFrameが呼び出されない件でハマった

諸事情によりiOS開発をまた勉強するかーと思って電卓レベルの凄く簡単なアプリを作ろうとXcodeとの格闘をはじめた。 Storyboardを使ってUI部品を配置して、殆ど同じUI部品を配置するつもりだったのでなんとか共通化できないかと考えたところ、そういえばCust…

徳丸本を読みました

今更ですが読みました。 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践作者: 徳丸浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2011/03/03メディア: 大型本購入: 119人 クリック: 4,246回この商品を含むブロ…

シェルスクリプトでエラーが起きたら処理を中断する方法を知った

ネタとしては小さすぎるけど便利すぎるのでメモしておこうと思った。 "set -e": 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する - 元RX-7乗りの適当な日々 set -eと書くとエラーが起きた時に中断してくれるっぽい(厳密には間違っている…

俗にいうHTML5で実装されたまともそうなゲームを初めて見つけた気がする

Bombermine — Massively Bomberman Online with up to 1000 players on the single map 大体こういうのはHTML5で実装すること自体が目的になっていてゲームとしてはお粗末なものばかり見てきたのだけど、 ようやく初めてきちんとしたゲームを見た気がする。 …

perlbrew環境下でPERL5LIBを使うのはやめよう

テキトーにセットアップした時の名残か何かでPERL5LIBが設定されていたけれど、これのせいで色々と問題が起きていた…。 perlbrewとPERL5LIBの相性は悪い - Islands in the byte stream 社内IRCで聞いてもやめておきなさいという話しかなかったし、実際にやめ…

Gunosyから来るメールをRSSフィードに変換するスクリプト書いた

shimobayashi/gunosy2feed · GitHub 実行すると標準出力にRSSフィードを出力するので、cronに登録して定期実行し結果をリダイレクトして書き出すことを想定している。 GmailのフィルターでGunosyから来るメールはGunosyラベルが付けられていることを期待して…

git pullをすると何故か古いコミットオブジェクトと衝突をする

gitを使って開発をしていて、 トピックブランチを統合ブランチにマージ 衝突したので解消してコミット git pushしようとしたら統合ブランチが更新されていた git pullしようとしたら何故か古いコミットと衝突してしまいpullできない、pushできない、困った!…

Perlのoverloadについて

@shimobayashi 演算子を左右に引数を取る関数だと見ると、オーバーロードになります— デブさん (@kuzuha) 2013年2月20日 @shimobayashi function + (scalar a, scalar b) {} を上書きしてないですよね、function + (SomeObject a, SomeObject b) {} を新たに…

サイドバーにバラ曲線を描画するようにしてみました

以前2chでバラ曲線というものの存在を知って、 なんとなく気になっていたのでcanvasの練習がてら実装してみた。 はてなブログはドメインが管理用のものと分けられているので好き勝手にJavaScriptを設置できる。 そんなわけで、サイドバーに設置してみた。 リ…

Cosm Graphsを更新した際に知ったJavaScriptの小ネタ

Cosm Graphs shimobayashi/cosm-graphs · GitHub 諦めていたグラフのオーバーレイ表示に対応しました。 いくつか有用な話題があったのでメモしておこうと思う。 canvasのsame origin policyをJSONPを経由して回避する canvasで画像処理をする際にもsame orig…

妥協してCSSをインライン展開する

先日PhantomJSを使ってCSSをインライン展開する - 下林明正のブログというエントリーを書いたけど誰からも相手にされないという感じで、引き続きなんとかしたいという気持ちだった。 CSSの擬似セレクターとかにまできちんと対応しようと思うと先日のエントリ…

PhantomJSを使ってCSSをインライン展開する

CSSをインライン展開したいという需要がある。 例えばHTMLメールを送る場合、外部CSSは解釈されない、headタグ内のstyleタグも解釈されない、各タグのstyle属性に記述するのが一番だ、というようなシチュエーションがある。 そんなわけで、CSSを簡単にインラ…

Cosmでつくったグラフを良い感じに表示するようにした

Cosm Graphs 1分毎にグラフを更新してくれる ルーラーを表示してくれる 1スケールあたり1時間半相当で、5スケールあるので7時間半分ある。これは、一般的な睡眠リズムと睡眠時間に合わせてある rキーでトグルできる ルーラーは、table要素をposition: absolu…

MySQLのTIMESTAMP型の罠

MySQL :: MySQL 5.1 リファレンスマニュアル (オンラインヘルプ) :: 6.3.1.1 TIMESTAMP の特性 TIMESTAMP カラムはデフォルトで NOT NULL になっているため、NULL 値を含めることはできません。NULL を指定すると、現在のタイプスタンプが割り当てられます。…

Androidのセンサーの精度の設定について

完全に憶測で書いているので注意するように。 iPhoneより多彩なAndroidのセンサをアプリで操作 (2/3) - @IT をなどを見るとSENSOR_DELAY_NORMALなどといったかたちで指定する遅延時間について書いてある。 遅延時間ということは、今まで何も考えずになんと…

Androidで騒音レベルと揺れの大きさを計測・ロギングする方法

こんな感じでロギングできます。 調査するのをめんどくさがってところどころでdeprecatedなメソッドを利用しているので注意。 参考:同期間におけるSleepTimeでの計測結果 騒音レベルの計測方法 リアルタイムに音声解析をする場合、AudioRecordを使ってアプリ…

年始なのでdotfilesの棚卸をした

これまで雑然と放置されていたdotfilesの類を棚卸した。 tmux set -g mode-mouse on set -g mouse-resize-pane on set -g mouse-select-pane on set -g mouse-select-window on 追記した。マウスで操作できるの知らなかった。 if-shell 'test "$(uname)" = "…

tiqavを高速に利用するためのChrome拡張"tiqav-quick"を公開しました

Chrome ウェブストア - tiqav-quick からインストールすることができます。 高速にMarkdown形式でコピーできるのでご利用ください。 Chrome拡張をつくるのは初めてだったのですが、適当にやっていたらなんとかなりました。 その辺りの情報についてもまとめて…

Mac OSX(10.8)でUSBRHを動かせ…ませんでした

USBRHが余ったので会社のMacから利用できないかと思って試行錯誤してみたけどダメだった。途中経過まで残しておく。 usbrh温度計を組み立てる、その2。pyusbとubuntu 10.04とbulkRead - dullhikoのだるい日記 を動かしてみようと思った。 何も考えずにコピペ…

ビッグエンディアンとリトルエンディアンの狭間で

Arduinoはリトルエンディアンな環境っぽい。 0xFF00 >> 8 == 255なのはなんとなく見た目通りだから良いけど、 65280 >> 8 == 255なのは違和感を感じる。なぜなら、65280はビッグエンディアンな環境なら0xFF00としてそのままメモリ上に表現されると思うけど、…

ブラウザのおもてなし

今更気づいたのだけど、ブラウザでリンクにマウスオーバーした時に左下とかに表示されるリンク先、本当のリンク先がリダイレクトしてた場合はリダイレクト先のURLを表示していた。 確かにその方が便利だけど、そのことを利用して意図しないページに遷移して…

Google Custom Search APIがひどい

無料利用での話ですが、遊びでちょっと触ってみたけどかなり厳しい感じだった。 1日100クエリーまで 実際には40クエリーほどで打ち切られる…?時差の関係なのか、DailyといいつつHourlyな制限もかかっているのかは不明(レスポンスからはDailyの制限に引っか…

utf8mb4メモ

MySQLの文字コードのオプションにはutf8mb4というものがあるんだなあ。 こういう話 らしい。 真面目に国際化考えているならこういう対応も必要になりますね。 一口にUTF-8といっても本当に色々とあるのでややこしい…。