[日記] 「UNIXという考え方」読んだ

2014/09/30

こんにちは。きんくまです。

「UNIXという考え方―その設計思想と哲学」 という本を読みました。

中身はUNIXに関することというよりは、どういうコンセプトでUNIXが作られているかというのに重点がおかれているものです。コンパクトに短くまとめられた本なのですぐに読むことができました。

私自身はターミナル万歳というほど使いこなしているわけでもなく、設定ファイルをviで少しいじったり、gitのコマンドうったり、シェルスクリプトで面倒な作業をやったりという感じです。
プログラミングは基本IDEで行います。

ただ、いくつか気になることがあったので興味を持ちました。

最近の課題「どうやったらメンテしやすいプログラムがかけるのか」

この投稿の続きを読む »

LINEで送る
Pocket

[AS3/AIR] iTunes Connectで審査用にデータをアップできないので、ビルド番号を変更するシェルスクリプトを作った

2014/09/27

こんにちは。きんくまです。

話すと長くなってしまうのですが、この1週間、お仕事でクライアントのAIRアプリをAppleに申請を出すのに苦労しています。

いくつかあったものをリンクすると、

これはOSの最小バージョンの設定ですね。
>> Adobe Air iOS Invalid Bundle The bundle does not support the minimum version os specified in info.plist

つぎにこれ。どうしてなのかわかならないのだけど、ld64ていうのにシンボリックリンクを貼るもの。
>> No longer able to submit app to iTunes.

最後に残ったのがこれです。
>> ERROR ITMS-9000: “Redundant Binary Upload. There already exists a binary upload with build version ‘1.0’ for train ‘1.0’”

Redundant Binary Uploadって?

この投稿の続きを読む »

LINEで送る
Pocket

[iOS] Habit KeeperのiOS8対応版を申請しました

2014/09/22

こんにちは。きんくまです。

Habit KeeperのiOS8対応版の申請をしました。

主に広告関係や、iOS8だとバッジが更新されない問題を修正しました。

あと、アイコンもフラットデザインに変更しました。

Icon-60@2x

Icon-60@2x

審査期間について、確実なことは言えないのですが、だいたい1週間から10日ほどかかりそうです。
もうしばらくお待ちください。

LINEで送る
Pocket

[iOS] Habit KeeperのiOS8対応について

2014/09/18

こんにちは。きんくまです。

日課管理アプリのHabit KeeperのiOS8対応についてお知らせします。

誠に申し訳ありません! 
現在iOS8でアプリを立ち上げるとクラッシュしてしまう現象が確認されました。
その対応方法について、検討中です。
ご不便をおかけします。

対応の進捗については、このブログや、アプリ内から確認できるヘルプページにも記載する予定です。
恐れ入りますが、もうしばらくお待ちください。

※ストアからは対応が終わるまで、一時的に有料版、無料版ともに配信停止しました。

LINEで送る
Pocket

[JS] htmlのformの各要素(input/select/textarea)のidやnameをExcelに写したい

2014/09/13

こんにちは。きんくまです。

今回は表題の通り、htmlのformの各要素(input/select/textarea)のidやnameをExcelに写したいです。

こういうのの需要がはたしてあるのかどうか全くわかんないのですが、記事をアップ。

クライアント側とサーバー側でformを一緒に作るときに、どんなものがあるのか一覧で出力して、そいつを資料として残したいです。
クライアント側で動的にformの要素が見え隠れしたりすると、サーバー側のひとからすると、なんかわかりづらい。htmlのソースを追ってもいいのだけど、見づらい。そんなときに一覧で取得する要素が見えたらいいよね。という感じです。

サンプルのページでこんなのがあったとします。

>> こんなページ

html_screenshot

最終的にはこんな感じにしたいです。

excel_screenshot

この投稿の続きを読む »

LINEで送る
Pocket

[AS3] GUID = 一意なIDをつくりたい

2014/09/11

こんにちは。きんくまです。

あるオブジェクトに番号をふりたくなりました。
それで、その番号は他のオブジェクトとはかぶりたくありません。

こういう場合DBだと、オートインクリメントにして、データを追加するたびに1ずつ増えていく数値型idを生成できます。
で、最初はこれを自作でやればいいのかなーと思ったのですが、管理が面倒だなと思いました。

1回ページを読み込んだときのみ、一時的にidを生成するだけだったらいいのですが、もしそいつをどこかに保存して、それを読み込むとなると管理が大変かなと。データを全て読み込んだあとに、次に生成するidは、読み込まれた全てのオブジェクトの中の一番大きいものにするとか。

で、そんなのはいやなので、ググったところ。こちらの記事が見つかりました。

>> How to create a GUID / UUID in Javascript?

この投稿の続きを読む »

LINEで送る
Pocket

[jsfl] シンボル化されていないシェイプでも座標を丸めたい!

2014/08/28

こんにちは。きんくまです。

Flashでツールアプリを作っております。最近IDEをFlash BuilderからIntelliJ IDEAに乗り換えました。1年まえにくらいにWebStormも買っちゃったので、JetBrainsさんにお布施してますね。あーいまみたらWebStromの方はライセンス切れしてました。(でも、アップグレードできないだけで、そのバージョンで使い続けること自体は大丈夫みたい)
これでjs/TypeScriptもflash/AIRもIDEA一本でできるからいいかもと思って使ってます。
ためしてないけど、Androidも作れるの??

さてさて、クライアントから「たくさんあるファイル内の、ステージ上のオブジェクトの座標を丸めたい」というご要望がありました。

で、こういうときはjsflを使って自動で作業をさせるのですが、そんなときこんな感じのjsflがあります。

var sel = fl.getDocumentDOM().selection[0];
sel.x = Math.round(sel.x);
sel.y = Math.round(sel.y);

(上のコードは適当なんで動かないかも。)

で、これはMovieClipのインスタンスだったり、シンボル化されているものをステージ上に置いたときには、きちんと機能するんですが、シンボル化されていないもの、例えばシェイプなんかについてはうまく機能しないのでした。

これは困りました。ググっていろいろと試みたのですが、うまくいきません。
で、結局作ったのがこれです。

function snapPixels( element ) {
	/* 浮動小数点の丸め誤差のため数回まわす */
	for(var i = 0; i < 5; i++){
		var tmpX = element.left;
		var tmpY = element.top;
		var dx = Math.round(tmpX) - tmpX;
		var dy = Math.round(tmpY) - tmpY;
		if(dx == 0 && dy == 0){
			break;
		}
		element.x += dx;
		element.y += dy;
	}
}

/* 使い方 */
var sel = fl.getDocumentDOM().selection[0];
snapPixels(sel);

snapPixelsのところが本体です。下の2行は使いかたで、実際には、ステージ上全体を捜査してループでエレメントを検出したりとかして使うことを想定してます。

flashの内部構造がどうなっているのか正直よくわからないんですが、調べてみると、シェイプの場合、element.x, element.y はプロパティパネル上のx, yとは値が違っていました。その代わりに、element.left, element.topがx,yの値になっていました。
なので、element.left, element.topを四捨五入の対象にして、x,yに差分を割り当てました。

ただ、これだけだと何故かうまくいかないことがあります。たぶん内部的に浮動小数点で座標をもっているのか(よくわかんなくて書いてます)1回ではなく3回ぐらい回すと、完全に小数点以下を0にすることができました。うーん、謎。

LINEで送る
Pocket

ページトップへ戻る