2015年2月24日火曜日

une histore un peu privee

C'est fini, c'est fini; le boulot d'aujourd'hui est enfin fini.
Moi, dans cette entreprise oû je travaille, ils considèrent que je déteste travailler.

Les Japonais travaillent vraiement dûrs; comme s'ils ont la haîne de la vie privées:
Il y a 20 ans,  je travaille comme un homme de vente. Là bas, si un staff rentre chez lui, par example à 20 du soir, il serait battu au lendemain matin par sa boss, en disant "pourquoi tu as rentré chez toi aussi tôt, si bien que les autres restaient et travaillaient encore?"

C'est fous: mais, C'EST LES JAPONAIS: ... moi, j'en avais marre, mais je restait à cette bureau pendant 4 mois. C'est la raison que je ne veux pas travailler si durement:

merci:



2015年2月19日木曜日

Mais c'est COOL! : OpenStreetMap est devenu un navigateur enfin!

Bonjour, tout le monde!
J'attrappe la grippe et j'ai mal a tete up peu, hehe.

J'aime bien OpenStreetMap, qui est la carte libre comme le wikipedia.
http://openstreetmap.fr/

Ce service de web pocede maintenant la fonction de navigteur de route comme Google Map; c'est super!

J'aimerais bien visiter Lille encore une fois...

2015年2月18日水曜日

【連載第二回】ど素人がWebサービスを立ち上げるまで何日かかる?:お名前.comでドメインをとるのじゃ

はーいこんばんわ。
「明日は何やろっかなー?」とか、ほざいときながら、昨日はサボってしまいました。
だって風邪ひいてたんだもの。ごほげほがほ。

まあ昨晩早めに床にはいって、ぐっすり眠ったら大分良くなりまして。
めでたく今日、連載を再開できる運びとなりました。
・・・別に毎日やんなくてもいいんだけど、うん。

で、前回はConoHaさんでサーバ立てたので、今日はドメインを取得してみました。
でもでもまだ実働じゃないしー。お金ないから安くすませたいしー。
というわけでお名前.comさんを利用することにします。安いから。
だって年間99円からとか、広告ばんばん出てるんだもの。

さっそくトップページにアクセス。
・・・「まずは、ドメイン名を検索してみよう!」はいはい。
くーまーさーんーのーいーうーとーおーりー。

わーい、いっぱいでてきたー・・・。

ど・れ・に・し・よ・う・か・な?
でも、99円のドメインは、「.pw」とか「.red」とか・・・。うーん、いくら「とりあえず」といっても、pwってなんかイメージしにくいなー。
と思ったら、「.link」ってあるじゃないですか。
かっこいい。これにしよう。ポチッとな。
(すでに紙パックワインをしこたま飲んでいるので気が大きくなってる)

年間180円。うん。安いよね。Whois情報公開代行もおねがいしますよっと。

支払いは、コンビニ払いにしました。しかし、コンビニ手数料と登録料がほぼ同じ、っつーのもなんだけど、まあ酔っ払ってるからいいや。あはははは。

さて、今日はここまで。
次回は(明日とは言わないw)、サーバでドメインの設定をしようかな。

2015年2月16日月曜日

【連載第一回】ど素人がWebサービスを立ち上げるまで何日かかる?:まずサーバよね。ConoHaの無料クーポン使おう

はいこんばんわ。ど素人でえす。

もともと片足突っ込んでたとはいえ、この一年、サーバー管理だのアプリ開発だの、ゼロから独学で始めて突っ走って参りました。
もうここまできたら行くところまでいっちゃえ、ということで。
そろそろWwbサービスを立ち上げることにしました。

(アプリも単体じゃ採算もなにもあったもんじゃないですしねー)

まあ、なにはともあれサーバでしょ。
でも、普段実稼働してる自社サーバでいきなり試すなんて怖い。
なんかトラブルがあったら、実務にガツーンと影響出ますしね。どうせ対応・復旧するのは自分だし。
これ以上、休日にサーバのことを気にしながらコドモと散歩するのは嫌だ(本音)。

というわけで、先日「オープンソースカンファレンス  2015 Hamanako」で頂いてきた、ConoHaさんの三千円分無料クーポンを投入してみます。


ConoHaさん太っ腹だぁ・・・。
ちなみにこちらが一緒にもらった薄い本。

うふふ。二巻か三巻あたりからよんでみよっかなー。

・・・本題本題。
まずはConoHaのアカウントを作成して、ログインします。
アカウント作成時に、電話認証が必要になるので注意。でも自動音声による案内だったので、とくに問題なくクリア。

で、コントロールパネルから、[アカウント] > [クーポン]の順に選択。

「クーポンを登録」をクリックして・・・

クーポンコードを入力。で、[確認]をクリック。
わーい。

とりあえずこれで、無料でサーバを立てる準備はオッケー。次はVPSを作成せねばなるまい。

[サービス] > [VPS]の順に選択し、・・・

[VPS追加]をクリック。
とりあえずお試しなので、プランとrootパスワードの他は、あんまり選ぶところはないなー。
シンプルでええこっちゃ。



で、作成後、しばらく待ってると、「準備ができたでー!」とメールが届きます。
たぶん30分もかからないくらい。

やった、ぼくにもできたー。

さーて、明日は何をやろうかなー。



2015年2月14日土曜日

きたきたきたー。:GitHubからAndroid Studioにプロジェクトをチェックアウトしてみた

みなさんこんにちは!
今日は日本Androidの会浜松支部の定例会にきています!

今日のお題は、「Android Studio」。
そろそろ開発環境もAndroid Studioにシフトしないとまずいよねー、ということで、勉強会に参加です。

勉強会そのものはAndroid Studioのインストールなど環境構築から始まったのですが、私は前回すでに環境構築すませてたので、らくちんらくちん(遅刻もこれでとりもどした)。

で、HelloWorldもなんなく実機で動作しました。
ケーブルでMacBook Airにさして、そのままRunするだけ。
・・・なんか、Windows 8であれだけ苦労したのが嘘のよう。

で、お次は・・・。支部長さんがOpenStreetMapを表示するサンプルアプリを作ってきて頂いたので、それをAndroid Studioにインポートして動かしてみよう、と。
ソースコード自体はGitHubにあるらしい・・・。

まずは既存のプロジェクトを全部閉じて、「Checkout project from Version Control」を選択します。

で、「GitHub」を選択。

GitHubへのログインが必要になりますよー。
ログインできたら、「Vcs Repository URL:」にプロジェクトのURLを入力、「Clone」をクリック。

・・・えええええ!?の、No files are ...?

あ、開いてないだけだった。画面左から適当に開けばオッケー。

・・・わーい。
これで幸せになりましたー。
Macbook Airで開発ってのもらくちんでいいですねー。



2015年2月7日土曜日

開発環境をシフトしてくよ。:Macbook AirでAndroid Studioのプロジェクトをcodebreakで管理しよう

ううう、眠いよう・・・。最近ハードワーク気味です、こんにちは。

今日は用事で外出しましたが、ちょっと時間が空いたので、お仕事を突っ込みます。
最近開発仕事によく使ってるMacbook Airを持って、デニーズへGO。
いいですねMacbook Air。軽いし。薄いし。ターミナルを開けばそこはもうUNIXライクな世界。うふふふーふ。

・・・もう、開発業務はこっちにシフトしようかしら・・・と先日のブログ記事でつぶやいてたんですが、まあ時間的にちょうどいいので実行しちゃおうと。
で、まあ、結果的には成功したんですが、なにぶん疲れ果てていたので、一体なにをどうやったか、ロクに覚えていない・・・。

でもまあ、自分の備忘録的に、メモを残しておくことにします。

前提

  • codebreakにアカウント、リポジトリを作成済み
  • Android Studioはインストール済み
  • Androidプロジェクトはcodebreakから取得し、Android Studioに新規プロジェクトとしてインポート済み
  • gitクライアントにはSourceTreeを使用

・・・なにやったっけ。

ええと、すでにAndroid Studioにプロジェクトとしてコードは取り込んであるんで、これをcodebreakのリポジトリに紐付ければええんじゃないか・・・と思って・・・。

そうそう、codebreakのリポジトリをブラウザで開いて、Clone URLをコピーしたんだっけ。下の画像の右上の部分。

えーとー。次はー・・・。
あ、SourceTreeを起動してー。「新規リポジトリ」から「既存のローカルリポジトリを追加」ってクリックしたんだった。これで、Android Studioのワーキングディレクトリを選択してー・・・。


あと・・・はー。そうそう、確か、SourceTreeで、追加したローカルリポジトリを開いて、っと。
で「リポジトリ」メニューから「リポジトリ設定」を選択・・・したはず・・・。


ここで「リモートの名称」は適当に。「URL / パス」で、先ほどコピーした、codebreakのURLをペタっと貼り付け。

これでオッケー。だったはず。
・・・あ。違った。
Android Studioでコードを変更して、いきなりコミット、プッシュしようとしたら、拒否されたんだっけ。競合がある、とかで。

こちらの記事を参考にさせていただいて。
まずSourceTreeでcodebreakのリモートリポジトリからプルしてから、コミット、プッシュしたら、無事に成功。

・・・。あかん。疲れとる。ぐだぐだや。
でもまあ、結果よければ全てオーライ。これで外出先でも仕事ができるね。わーい!・・・わー・・・い・・・。










2015年2月4日水曜日

TIFFか!TIFFか!TIFFなのか!!:iOSのカメラアプリでメーカー名などを写真のEXIFに埋め込む



えーと。こんばんは。

今日一日苦しんでた不具合がやっと解消されそうなので、愚痴を吐きます。げえーっ。

つい先日、Apple様のApp StoreにiPhoneアプリを公開した訳ですが。

ボスからまた連絡が。「このアプリ使えんの?」
いやー、使えますよ、やだなあえへへへ、と答えようとしたら、
「EXIF情報ないんだけど」

( ̄△ ̄;)

そ、そんなはずは・・・。
EXIF情報は、Android版を作ったときに散々やったしなー・・・
Commons Imagingちゃん口説き落とした: Exif情報のコピー

まあでも、そんなこと言ってても仕方ない。できてないもんはできてない。
で、確認してみましたら、

・・・。うん、確かに無いね。
いや、大事な情報の、「DateTimeOriginal」と「DateTimeDigitized」はきちんと保存されてる・・・されてるけど・・・
他の情報がほとんどない
・・・えええええ・・・。

NSDictionary作るときに、きちんとCGImageSourceCopyPropertiesAtIndexでコピーしたんだけどなー・・・。と思いつつ、コードをもいっぺん見てみると
NSMutableDictionary *EXIFDictionary = [[NSMutableDictionary alloc] init];
コピーしてねぇじゃん orz オイ俺!しっかりせえ!1
あかんわー。初期化して、箱だけ作って満足してるじゃんー。
慌てて修正。こんな感じに。
NSMutableDictionary *EXIFDictionary = [[metadataAsMutable objectForKey:(NSString *)kCGImagePropertyExifDictionary]mutableCopy];
これで安心。ふー。
と思ったけど、・・・んー。なんか、メーカー名(「Apple」とか)、モデル名とか、あとは作成日付とか、そこら辺の情報がまだ保存されてないのよねー。
リファレンス(こちら)見て、関係ありそうなのはセットしてるんだけどなー。

メーカー名とモデル名は、特に変更しないから、最初にmutableCopyで持ってきたもの使えばいいし。
変更したいのは撮影日時とデータ化日時だから、それはsetObjectしてるし・・・
[EXIFDictionary setObject:originalDateTime forKey:(__bridge NSString *) kCGImagePropertyExifDateTimeOriginal];
[EXIFDictionary setObject:originalDateTime forKey:(__bridge NSString *) kCGImagePropertyExifDateTimeDigitized];

EXIFのDictionaryに、他に関係してるエントリはないしなー・・・と思いつつ、ふと「TIFF Dictionary Keys」の方も覗いてみましたら。
const CFStringRef kCGImagePropertyTIFFMake;
const CFStringRef kCGImagePropertyTIFFModel;
const CFStringRef kCGImagePropertyTIFFDateTime;
あるやん あるある あるやんかー・・・
( ̄△ ̄;)

で、TIFFのディクショナリー追加して、
 NSMutableDictionary *TIFFDictionary = [[metadataAsMutable objectForKey:(NSString *)kCGImagePropertyTIFFDictionary]mutableCopy];
このエントリたちをsetObjectして・・・。
[EXIFDictionary setObject:originalDateTime forKey:(__bridge NSString *) kCGImagePropertyTIFFDateTime]; 
[TIFFDictionary setObject:Make forKey:(__bridge NSString *) kCGImagePropertyTIFFMake]; 
[TIFFDictionary setObject:Model forKey:(__bridge NSString *) kCGImagePropertyTIFFModel]; 
[TIFFDictionary setObject:Software forKey:(__bridge NSString *) kCGImagePropertyTIFFSoftware];
ビルドしてみたら。
ほい。
半日以上悩んでたのが、あっという間に解決しましたよ。
( ̄∇ ̄;)

ま、できたから良いとすっか・・・。


あと関係ないけど、kCGImagePropertyMakerAppleDictionaryって何に使うんだろな・・・。最初これが無いせいかと思って追加したけど、なーんも変わらなかった。しくしく。