2013年7月25日木曜日

【メモ】UIImageViewに描画したイメージのUNDO方法について

UNDOについて
いろいろ考えたんだけれども
結局NSMutableArrayにUIImageView.imageを保存するという方法で
対処する事に


- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    
    //canvasの情報を保存する
    //undo用にデータを保存
    if (canvas.image != nil) {
        [imageArray addObject:canvas.image];
    }
}

- (IBAction)undo:(id)sender {
    
    NSLog(@"imageArray.count = %d", [imageArray count]);
    if ([imageArray count] > 0) {
        if ([imageArray count] - 1 == 0) {
            canvas.image = nil;
        } else {
            canvas.image = [imageArray objectAtIndex:[imageArray count] - 2];
        }
        [imageArray removeLastObject];
    }
}


本当に使いやすいUNDOってなんだろうか?
これからもう少し実装しながら考えようと思う。



2013年7月23日火曜日

【メモ】VirtualBox for MacにWindows8.1(64bit版)をインストールしようとするとエラー(Error Code: 0x000000C4)の対処

Windows8.1プレビュー版がダウンロードできることを
すっかり忘れてたので、今さらだけどもインストールしてみようと思い立ったら

インストール時にエラーが。。。。

Your PC needs to restart.
Please hold down the power button.
Error Code: 0x000000C4
Parameters:


インストール時にエラーが。。。。
同じ現象がここにあったので
参考にさせて頂きました!

VirtualBoxをインストールしているMacのターミナルから
VBoxManage setextradata [vmname] VBoxInternal/CPUM/CMPXCHG16B 1」
を実行する事で回避できました。

助かりましたーーー!



2013年4月26日金曜日

【メモ】UIImageView(canvas)のタッチした場所にUIImageを貼り付ける方法(Objective-C)

iPhoneやiPadアプリの
お絵かきアプリであるような
キャンバス上にタッチしたら画像が重なるアレを考えてみました。

元となる画像(UIImage)に追加する画像(UIImage)を次々と貼りつけて
UIImageViewに表示させるイメージです。

// 画面に指をタッチされた時
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    
    // タッチ開始座標をインスタンス変数touchPointに保持
    UITouch *touch = [touches anyObject];
    touchPoint = [touch locationInView:canvas];
    
    UIImage* addImage = [UIImage imageNamed:@"draw_square.png"];

    // 描画領域をcanvasの大きさで生成
    UIGraphicsBeginImageContext(canvas.frame.size);
    // canvasにセットされている画像(UIImage)を描画
    [canvas.image drawInRect:CGRectMake(0, 0, canvas.frame.size.width,canvas.frame.size.height)];
    // 追加するイメージをタッチした座標位置に配置(ここは画像サイズを計算した方がよさげ)
    [addImage drawAtPoint:CGPointMake(touchPoint.x, touchPoint.y)];
    // 描画領域を画像(UIImage)としてcanvasにセット

    canvas.image = UIGraphicsGetImageFromCurrentImageContext();
    // 描画領域のクリア
    UIGraphicsEndImageContext();
}


上の実装でとりあえずは動いたけど、
正しいかどうかはこれからテストしようかと。。。

2013年4月25日木曜日

【メモ】addObserverでエラー(Objective-C)

UIImagePickerControllerのカメラをやめて
AVFoundationを使ってカメラアプリ作ってると以下のエラーが。。。



An -observeValueForKeyPath:ofObject:change:context: message was received but not handled.


調べてみると
addObserverあたりで発生している感じ。

今回の場合は、AVCaptureDeviceのキー値監視をしていたんだけど
Viewを閉じる動作(カメラを閉じる)があったのでremoveObserver文を追加するとうまくいった。


-(IBAction)cancel:(id)sender{
    
    AVCaptureDevice* captureDevice =
    [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    
    [captureDevice removeObserver:self forKeyPath:@"XXXXX"];
    [self.captureSession stopRunning];
    
    self.captureSession = nil;
    [self dismissModalViewControllerAnimated:YES];
}

2013年4月1日月曜日

【メモ】PostgreSQLに使えるデータベース設計ツール「SQL Power Architect」

すでにオープンソースのデータベース利活用が広がりを見せる中で
特にPostgreSQLは面白い存在だと思ってるんだけど、
MySQLと比較すると周辺ツールがどうしても貧弱に見えてしまう。

そんな感じなので、PostgreSQLで使えるMySQL Workbenchのようなツールを探してみたら
「SQL Power Architect(http://www.sqlpower.ca/page/architect)」というツールがあるそうだ。

ダウンロードは↓のサイトでできます。
https://code.google.com/p/power-architect/

早速インストールしてみる。



初回起動時は↓のダイアログが表示されて「PL.INI」というファイルの作成をするように
指示される。ので、「Create」をクリックする。



起動したら、とりあえず「New Connection」でDBに接続してみる。
「Database Type」にPostgreSQLを選択すると入力項目が変化し、ある程度補完してくれる。







対応しているデータベース
  • Oracle8i
  • Oracle9i
  • Oracle10g
  • PostgreSQL
  • SQL Server 2000
  • SQL Server 2005
  • SQL Server 2008
  • MySQL
  • DB2
  • Derby Embedded
  • HSQLDB
  • SQLstream
  • H2 Database


接続が完了すると
スキーマ、テーブルが選択できるようになる。

テーブルをドラッグすることでモデリングも可能になるようだ。

まとめ:
どういう場面で活躍するかはまだまだ未定。。
PostgreSQLも良いけど、MacでSQL Serverを使う機会があるので
まずはクライアントツールとして使ってみようかな??

2013年2月6日水曜日

【メモ】XCode4(4.5.1)でアプリ更新する時にミスったからメモ

久々にXCodeネタ

XCode4 (4.5.1)でアプリ更新する時に

Organaizer - Archivesの[Validate...]ボタンを押すと以下の様なエラーが。。。



Info.plistの
【Bundle versions string, short】と【Bundle version】が現在のバージョンのままだった
という事でした。。。

2012年7月12日木曜日

【メモ】iOS6 beta2にアップデートしてみた

iOS6の先行告知ページ
http://www.apple.com/jp/ios/ios6/

を見てて、「PassBook」ってのが気になったので
開発用のiPad2 Wi-Fi +3Gをアップデートしてみた。

1、 iOS Dev Center(https://developer.apple.com/devcenter/ios/index.action#にアクセス
「iOS6 SDK beta」をクリック

2、Downloadリンクをクリックしてアップデート対象をクリック


3、あとはiPad(or iPhone)をPCに接続してMacの場合optionキーを押しながら「アップデートを確認」をクリック
ファイル選択のダイアログが出るので、先ほどダウンロードした「XXXXXXX.ipsw」を選択で完了


2012年7月11日水曜日

【メモ】AppleにiPadアプリを申請してみたらRejectされたメモ

AppleにiPadアプリを申請してみた。

よくわからないままObjective-Cを始めて
delegateにつまづいたりもしたけれどw
なんとか、ここまで来れたよ(感無量)




でRejectされましたw

実はすでに2回目なんだけど、
1回目のRejectはというと。。。

1、デモアカウント(パスワード付きで)が必要
2、いくつか質問があるんだけど。。。
- Is this an existing service? If yes, where is it available?
- Is this app an indispensable part of the service or can the service work without the app?
- Is the service provided in the app iOS only or on multiple platforms? If multiple platform, which ones?
- After the free trial period ends, what are the subscription options? What does the user get, how much does the user have to pay, and what are the payment options? 

って感じ。
デモアカウントをお知らせするのを忘れてました。

2回目のは
1、ログインできないし。。。

よく考えたら日本だけのサービスを考えてたので、
日本以外のIPアドレスはdenyに設定している。。。

とりあえず、連絡してみた。

次どう言われるか。。。

2012年6月21日木曜日

ダイエット生活「21日目」

今月からダイエットを始めた。

きっかけは、体重の増加で体型が気になるとかそんなんじゃなくて、
奥さんがすでにダイエットしてたから

ダイエットって
運動して、
食事制限して、
と何かと難しく我慢が必要なものだと思ってたんだけど、

そうでもないみたい。


「がっつり食べても大丈夫。」
と言っても今までどおりの食事を続けていると意味がなくて、

「糖質」

を摂らない事が重要みたい。

ごはんはなるべく摂らない。
お酒は糖質ゼロを選ぶ。(ビールをやめてハイボールに)
砂糖は摂らない(かわりにラカントSを使うといいらしい)
肉や魚は普通に食べてもいいらしい。


。。。これならいけそうだ!!


ちなみに奥さんが作ってくれた晩ごはんはこれだ!!!



左:サーモンのオイル焼き
右:茄子のトマトソース(?)

写真じゃあんまり伝わらないかもしれないけど、
かなりのボリュームです。
(左のSnowPeakのダッチオーブンについては別の機会に書きたい。かなり良いです。)

しかも超美味かったーーー

今日は野菜が主な感じだけど、
肉の日もあるので、特に我慢はしてないし自然に順調に体重が落ちてます。

始めて21日しか経ってないけど、今のところ5kgは体重が減りました。

苦痛がないのがグッドです。
これなら続けられそう。


しかし、今週末は友達とバーベキューだから一気に太るんだろうなぁww

2012年6月20日水曜日

【メモ】Tomcat6からTomcat7にバージョンアップ時のメモ(context.xmlの自動コピー設定)

久々の技術ネタ。

Tomcat6からTomcat7にバージョンアップした時に調べ物したのでメモ。

【環境】
・Tomcat 7.0.27
・PostgreSQL9.1

Tomcat7からcontext.xmlの自動コピーはデフォルトでfalse(つまり自動コピーしない)に
変わっています。

つまり
$TOMCAT_HOME/webapps/コンテキスト/META-INF/context.xml
から
$TOMCAT_HOME/conf/Catalina/localhost/コンテキスト名.xml
に自動でコピーされなくなりました。

デプロイ時に自動でコピーしてほしい場合は
$TOMCAT_HOME/conf/server.xmlに「copyXML="true"」を追加します。

$TOMCAT_HOME/conf/server.xml(125行目〜)

<Host appBase="webapps" unpackWARs="true" autoDeploy="true" copyXML="true">



他にも小さな仕様変更が行われているかもしれませんので、
調べないとっっ

2012年6月7日木曜日

KARCHER(ケルヒャー)の高圧洗浄機 K3.200を買いました。

先週、友人の家に遊びに行ったら
友人がケルヒャー持ってて試させてもらった。

「すげーーーーーっっ!!」

やっぱり、実際に試してみないと良さがわかんないです。コレは

ついでに言うと
友人が持っていたのは「JTK28」というジャパネットたかたモデルらしい。




という事で
欲しかったけど、なかなか買う事ができなかった
高圧洗浄機をついに買ってしまった!!!

KARCHER K3.200



急いで箱から出して、説明書をマッハwで読破し
庭で試して来ましたw

高圧洗浄機は欲しいけど、買うまでに到らない人にぜひ参考にしてもらいたい。

このモデルは、二ヶ月前に発表された新製品。
http://www.karcher.co.jp/jp/news/products/20120419.htm
(まだ、公式サイトに掲載されていない。。。)

なぜコレにしたかというと

1、コンパクトなモデルが良い
2、静音性

この2点です。

JTK28試させてもらったとき、威力は十分満足
だけど、やっぱりその音が気になりました。

静音性となるとK4.00になるんだけど、
・・・・サイズが

ってことで、K3.200に決定。

さっき使ってみた感じでは、
静かなような気がした。。。。
威力は十分な気がした。。。。

ただ、静音性や使用感は、これからしっかり使ってみて
正確な情報を追記したいと思います。

とりあえず、土曜日にウッドデッキを奇麗にしようと思う。



6月20日 追記・・・
かなり更新が遅くなりました。

結局、ウッドデッキと駐車場とご近所さんの玄関を掃除してみましたw
音は大きかったです。
威力は十分、期待どおり!!

想像以上に綺麗になったので写真を取ればよかったのですが、
掃除に夢中になって、つい忘れてしまいました。。。w

写真を取り忘れたので、次回にアップします。

2012年5月31日木曜日

視野を広く、現状にとらわれない事

タイトルは
自分に言い聞かせる意味を込めて。。。

最近仕事をしていて、視野が狭いなぁと感じる事がありました。

今のプロジェクトは反復型開発(でいいかな?)で進めてます。

#サンプルで動くものを日々作っておいて、ユーザーに使ってもらって
#業務の姿を描いてもらう。
#使っていて、スムーズにいかないところや機能不足などをフィードバックしてもらって
#次のサンプルに実装していく感じ

個人的に問題に感じるのは、
頂いた意見や仕様をサンプルにフィードバックする際に
既存のプログラムを流用したい。という気持ちが働くのは良いんだけど、
流用できずに、捨てないといけない部分が出てくるのに、
無理に流用しようとしてしまうところ。

無理に流用しようとしてしまうから、無理な実装に陥ってしまう。
さらに、その部分を流用しようとするから。。。。。

納期間近などは特に、こういうもったいない精神が働いてしまう。

そんな時は
人に相談するのが一番。
客観的におかしければ、変な説明になってしまいますからね!
この業界はコミュニケーションが本当に重要。
(今回も意見をもらって気づいた。。。ほんとは自分で気づきたいんだけどね。。。)

もう一つ、少しプログラムから離れてみる。
頭を冷やす。
という事。

プログラムを作っている時に
たとえ、頭の中で次の絵が描けていたとしても
「無理/無茶がないか」
「説明ができるか」
という点について自問自答してみるといいのかも。

今回は、人に助けられました。
本当に感謝でした。

2012年1月4日水曜日

【メモ】grub再インストール(CentOS6)

新年あけましておめでとうございます。
今年も少しずつメモを増やせればと思います。

さて、新年早々
会社のPC(CentOS6)が起動しません。。。。

症状はというと
1、電源ON
2、BIOSパスワード入力→Enter
3、GRUBが立ち上がらず、そのままフリーズ。。終了

以前も同じ事象にぶち当たった事があり、
その時は事前に「Clonezilla」でバックアップを取っておいたので
練習もかねてリストアしました。

今回は、勉強もかねてGrub再インストールしてみました。

用意するものは、
以前CentOSをインストールした時に使ったインストールDVD
なければダウンロードします。

手順は
1、DVDドライブにディスクをセットして、DVDから起動するようにBIOS設定を変更
2、メニューから「Rescue installed system」を選択してEnter
  (スクリーンショットはVirtualBox上に構築している別のCentOSを使いました。)

3、(言語選択)メニューから「English」を選択

4、(キーボード選択)メニューから「jp106」を選択
5、(ネットワーク設定)今回は利用しないので、「NO」を選択
6、「Continue」を選択
7、「OK」を選択
8、「OK」を選択
9、「shell Start shell」を選択
10、「chroot /mnt/sysimage/」を入力してEnter
11、「grub-install /dev/sda」を入力してEnter(サーバーの設定によります。)
12、「reboot」を入力して再起動!
で無事起動しました。


2011年12月1日木曜日

【メモ】Excel for Mac 2011でPostgreSQLにODBC接続する(有料の為終了)

WindowsのOfficeで普通に使えてたODBCを使ってデータベースにアクセスしてたけど、
Mac版のOfficeというかExcelでどうやれば良いか分からなかったので、
調べてみました。


【PostgreSQLのODBCドライバのセットアップ】
すでにMacにPostgreSQLがインストールされている前提ですが、
PostgreSQLのクライアントアプリケーションをインストールしたディレクトリ
(私の場合は「アプリケーション」)
の中にある「Application Stack Builder」をクリック

スタックビルダの起動直後の画面はこんなかんじ
お使いの環境にあわせてサーバーを選択して「次へ」をクリック
カテゴリから「Database Drivers」を選択して
「psqlODBC〜」をのチェックをクリック

あとはウィザード画面に従ってインストールを行えば終了です。

【ODBCアドミニストレーターのインストール】
どうやらMac OSX Snow Leopardには組み込まれていないようです。

ここからダウンロードしてインストールしてください。

インストールが終わると
[アプリケーション] - [ユーティリティ] - [ODBC Administrator]を起動

見覚えのある画面が。。。
先ほどODBCドライバのインストールが終わっていれば
[Drivers]タブをクリックするとこんなかんじで表示されます。
では設定を。。。

[User DSN]タブをクリックして右側の[Add]をクリックします。
ドライバ選択画面に表示された[psqlODBC]を選択して[OK]をクリック
DSNには半角英数字のみとなるように入力してください。
今回は「localPostgreSQL」としました。

Descriptionは。。。任意です。
接続情報は左下の「Add」をクリック。
「Key」「Value」という行が追加されますので、
行を選択してTabキーを押す事で編集できるようになります。

[server] [username] [password] [database]を追加して
任意の値を設定して下さい。

設定が終われば[OK]ボタン[Apply]ボタンをクリックして終了です。

【Excelの設定】
次はいよいよExcelの設定ですが。。。。

さっきまでの苦労が。。。。
日本語版のExcelODBCドライバーは提供されていないようです。。。

しかも有料だし。。。
お金払える方は続きをどうぞ。

私は終了です。
仕方が無いのでWindowsで頑張ります。

2011年10月18日火曜日

【メモ】json-framework 3.1alpha3 release!!

iOS5を試していると、
「ARC ....」
というエラーが出ます。。。

autoreleaseやrelaseを記載した箇所に表示されるので
期待を込めて検索してみると

ARC(Automatic Reference Counting)

どうやらiOS5から登場したGCライクな機能のようです。

ARCはまだよくわからないのですが
もしかしたらJavaプログラマーにとって福音となるかもしれません。。。


そんなARCをXCode4のBuild Settingに設定していると困る事が。。。
オープンソースで公開されているライブラリがまだARCに対応していないから。。。

JSONライブラリの「json-framework」もそんなライブラリの内の一つですが、
どうやらARC対応版(α版)がリリースされたみたい。


ちょっと試してみます。

2011年10月12日水曜日

iCoud.com(Web版)正式オープン!



いよいよ始まったみたいですね。
それにしてもデザインがすごい。かっこいい。


ログインしたけど、iPhoneを探すしか有効になってないみたい。
詳しい情報は以下のリンクのはずだけど、まだサイトが有効になってないみたい。
http://www.apple.com/jp/icloud/setup/


家のMacBook AirはOS X Lionだから
違った表示になるかも。。。

【メモ】WebPを試してみた。(for iOS)

カメラを使ったアプリケーションを作っていると
気になるのは画像サイズ。


「画像劣化なしでサイズだけを落としたい。」


おそらく同じ様な経験をした開発者であれば共感してもらえるはず。。。


で色々試してみましたが、これだ!!というものには出会えず。
そんな感じで、興味が別の事に移っていた時に
会社の先輩に教えてもらいました。

【WebP】
http://s.journal.mycom.co.jp/news/2010/10/01/047/index.html
http://ja.wikipedia.org/wiki/WebP

ウェッピーというらしい。
新しい画像フォーマットみたい。
JPEGと同じ非可逆圧縮なんだけど、JPEGよりも圧縮率が良いみたい。

ChromeとOperaは対応してる。。。?みたい。


せっかくiPhone/iPadアプリ開発とかやってるので、
どうせならiOSで試してみたい。


。。。
流行るかどうかは分かんないけど。。。
「画像劣化なしでサイズだけを落としたい。」
が叶うのならば試してみる価値はある。
(もちろんエンコードできてデコードできる事)

さらにググってみるとすでにiOSのサンプルを作ってらっしゃる方がいらっしゃいました。
本当にありがたい。


まずは、このサンプルを動かす事から初めてみます。


1、ダウンロード

こちらのサイトでサンプルコードをダウンロードする事ができます。



2、さらにダウンロード

さきほどダウンロードしたアーカイブの中の「README.md」を見てみると
Exampleアプリケーションをコンパイルする前に「WebP framework for iOS」のビルドが必要
とあります。

http://code.google.com/speed/webp/download.html
「こちらより最新版のlibwebpアーカイブをダウンロードした後に「libwebp-build」に置いて
「build.sh」を動かせば良いみたい!!
(build.shの「libwebp-0.1.2」の記載を「libwebp-0.1.3」に変更する。)

なんて簡単なんだろう。


3、そしてビルド

上のサイトから「libwebp-0.1.3.tar.gz」をダウンロードして「libwebp-build」に。

ターミナルを起動してカレントディレクトリを「libwebp-build」に移動して
build.shを実行すると。。。。

同じディレクトリに「WebP.framework」が出来る。


4、サンプルプロジェクトへの組込み


「TestWebP.xcodeproj」をクリックしてXCodeを起動。
「Frameworks」の「WebP.framework」を削除して、
右クリックで、[追加] → [既存のファイル]を選択し、先ほど作成した「WebP.framework」を選択。
あとは、サンプルプロジェクトをビルドする事で完了です。


実際にiPadで動かしてみました。



動きました。
すごい。

ご利用になる場合はライセンスの確認を!

2011年10月1日土曜日

【メモ】デザインは苦手だけど必要になった場合

業務アプリ、業務Webサービスの制作の現場では、
デザインが必要となるケースがあまりないように思う。


最近、Webサービス、スマートフォンアプリ作成に携わるようになると
むしろデザインが重要と改めて感じる。
中身も大事だが、見た目のせいで評価を落とすこともしばしば。


そんなわけで、デザインで困った時に助けてもらっているツール/サービスの紹介を。


【色/配色】
まずは、色
作成したサービスに合う色を探すのが難しい。
そんな時に助かるのが「Color Scheme Designer 3


右下のタブ「Light page example」をクリックした時

「Dark page example」をクリックした時

簡単に試せるので大変重宝してます。


【CSS/レイアウト】
CSSの奥深さを最近知りました。
CSSをうまく使えばサイトの良さが倍増する。

そんなCSSを簡単に使いたい!
それを叶えてくれるのが「Bootstrap


いつもお世話になってるTwitterが開発したということで
ニュースにもなってましたね。

おかげで簡単にシンプルなデザインのサイトを作ることができます。
さらに、CSSの勉強になりました。

他にも日常的に使ってるものがあると思うけど、
思い出せないので、今日はこの辺で。

2011年9月27日火曜日

Google App Engineを始めようと思う(プライベートで)

4、5年前とかの自分は、
将来クラウド向けのシステムを構築しているなんて夢にも思ってないな。

Google App EngineとかAmazon EC2とか
どこか別次元の話だと、、、

そろそろプログラマー35歳定年説に近づこうとしている中
今Google App Engineでなにか作ろうかな?と考えている。


少し前からサンプルみてみたりしてたけど、
この夏の忙しさでプライベートで何かやるなんてできなかった。。。

最近は少しおちついてきたので、
今がチャンス!!!


思い立ったが吉日。
今日から始めてみよう。

ま、ほかにもやりたいことがたくさんあるが
焦らないようにしないと。。。

時間はまだたくさんあるしね。

2011年9月21日水曜日

【メモ】QCAR for iOS をインストールする(iPad2でサンプルも試してみた)

QCAR for iOSのお知らせが来たのでインストール!!


まずはダウンロード(アカウント登録が必要)
「qcar-ios-1-0-0.zip」をクリック

ダウンロードしたZIPファイルを伸長、「qcar-ios-1-0-0」をクリック

あとはウィザードに従ってインストールを進めるだけ





サンプルプロジェクトが同梱されているので勉強中の身としては大変助かる。

試しに「VirtualButtons」を起動させてみた。
VirtualButtonsフォルダの下のmediaフォルダの下に
「wood.jpg」「target_wood_A4.pdf」「target_wood_USLetter.pdf」
があるのでいずれかを印刷。

「VirtualButtons.xcodeproj」をXcodeで起動させ、デバイスにインストール!!
私は開発機で使っているiPad2にインストールしてみた。

アプリを起動させ、印刷した紙をカメラで映すと。。。。



iPad2で見たからだと思うが、ド迫力w
これはとても楽しい。

他のも試してみよーっと