<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>tdtshのブログ&#187; 開発環境</title>
	<atom:link href="http://www.tdtsh.com/blog/archives/category/%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tdtsh.com/blog</link>
	<description>ソーシャルメディアとか スレートとか Google App Engine とかの事の備忘録</description>
	<lastBuildDate>Tue, 07 Feb 2012 05:03:26 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/category/%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83/feed" />
		<item>
		<title>macvim-kaoriya が良さげ</title>
		<link>http://www.tdtsh.com/blog/archives/1568</link>
		<comments>http://www.tdtsh.com/blog/archives/1568#comments</comments>
		<pubDate>Sat, 03 Dec 2011 21:30:17 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[macbookair]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1568</guid>
		<description><![CDATA[WindowsでKaoriya版vimを使っていてそのままMacで同じような環境を手に入れたい方向け。]]></description>
			<content:encoded><![CDATA[<p>WindowsでKaoriya版vimを使っていてそのままMacで同じような環境を手に入れたい方向け。</p>
<p><a href="http://code.google.com/p/macvim-kaoriya/" target="_blank">macvim-kaoriya &#8211; MacVim KaoriYa &#8211; Google Project Hosting</a> </p>
<p>あるもんですねー。</p>
<p><a href="http://code.google.com/p/macvim-kaoriya/downloads/list" target="_blank">ここ</a>からdmgをダウンロードしてアプリケーションフォルダにドラッグするだけと言う簡単インストール。</p>
<p>私のMBAは caps lockキー をcommandキーに割り当てているんで、できれば control は command になってくれると操作性が同じになって嬉しいんだけど。</p>
<h4>参考させて頂いた先人の知恵</h4>
<p><a href="http://idita.blog11.fc2.com/blog-entry-646.html" target="_blank">Mac Explorer｜ MacVim-KaoriYa &#8211; より日本語に強く使いやすいエディタMacVim</a> </p>
<p><a href="http://nbp.jugglershu.net/2011/10/keyremap4macbookprocontrolcommandmacvim.html" target="_blank">Nothing but Programming: KeyRemap4MacBookProとControl,CommandキーとMacVimと</a></p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1568" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1568/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1568" />
	</item>
		<item>
		<title>windows機 ユーザによる mac os x 備忘録</title>
		<link>http://www.tdtsh.com/blog/archives/1557</link>
		<comments>http://www.tdtsh.com/blog/archives/1557#comments</comments>
		<pubDate>Sat, 03 Dec 2011 01:13:41 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[macbookair]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1557</guid>
		<description><![CDATA[普段の仕事での開発環境は ThinkPad (Windows XP)です。

テキストエディタの<a href="http://www.kaoriya.net/software/vim" target="_blank">vim (Kaoriyaさんの)</a> と
ファイラー(<a href="http://flspider.blog93.fc2.com/blog-entry-31.html" target="_blank">mfiler</a>)があまりにも手に馴染みすぎて、他の環境になかなか移れずにいます。

数年前までは、そこに<a href="http://www.edcom.jp/edmaxtop.html" target="_blank">EdMax - インターネットメーラー</a> が加わっていたのですが、今はGMailへの完全移行が完了しているし、メールの使用頻度も下がっているので、マァ別に他のMUAでも事足りるかなと。
GMailでメール送信時に開業コードがLFのみなのだけ何とかしてくれたらMUAアプリイラネ。

あと、ThinkPadが手放せなかった理由がTrackPointなのですが、コレに関してはMacbook Airのマルチタッチトラックパッドの圧勝です。
速攻でApple信者になってしまいました。
大袈裟かもしれませんが異次元のUXです。
それにトラックポイントの弱点である、使いすぎると右手が凝って肩まで凝るというのがありません。
]]></description>
			<content:encoded><![CDATA[<p>前の記事 <a href="/blog/archives/1227">Windows使いが Macbook Air でいきなりつまずいた4つのこと</a> </p>
<p>普段の仕事での開発環境は ThinkPad (Windows XP)です。</p>
<p>テキストエディタの<a href="http://www.kaoriya.net/software/vim" target="_blank">vim (Kaoriyaさんの)</a> と、ファイラー(<a href="http://flspider.blog93.fc2.com/blog-entry-31.html" target="_blank">mfiler</a>)があまりにも手に馴染みすぎて、他の環境になかなか移れずにいます。<br />
特に mfilter はもうショートカットが駿逸で無いと不便で・・・<br />
かなり布教しましたよ。</p>
<p>ショートカットといえば、ランチャはコレです。<br />
<a href="http://www.beyond-boundaries.info/software/" target="_blank">Magic Spell | 此岸ヲ夢想シ彼岸ヲ憂ヒ</a><br />
Linux に環境を合わしたいので Ctrl + F2 にバインドして使っています。</p>
<p>数年前までは、そこに<a href="http://www.edcom.jp/edmaxtop.html" target="_blank">EdMax &#8211; インターネットメーラー</a> が加わっていたのですが、今はGMailへの完全移行が完了しているし、メールの使用頻度も下がっているので、マァ別に他のMUAでも事足りるかなと。<br />
GMailでメール送信時に開業コードがLFのみなのだけ何とかしてくれたらMUAアプリイラネ。</p>
<p>という訳で、近日中にコレら素晴らしいツール達の後継者探しを含め、環境構築してまたブログ書こうと思います。</p>
<p>あと、ThinkPadが手放せなかった理由がTrackPointなのですが、コレに関してはMacbook Airのマルチタッチトラックパッドの圧勝です。<br />
速攻でApple信者になってしまいました。<br />
大袈裟かもしれませんが異次元のUXです。<br />
それにトラックポイントの弱点である、使いすぎると右手が凝って肩まで凝るというのがありません。</p>
<p>ショートカットとか忘れるんで、個人的備忘録としてメモしておきます。</p>
<p>勿論 commandとcaps lockキーは速攻で入れ替え設定済です。</p>
<p><a href="http://www.chrome-life.com/mac/1548/" target="_blank">MacBook Airのキー操作がわからん！Windowsユーザーが戸惑うショートカットキーまとめ(チートシート付) | Chrome Life</a> </p>
<h4>ショートカット</h4>
<p><a href="http://support.apple.com/kb/HT1343?viewlocale=ja_JP" target="_blank">Mac OS X のキーボードショートカット</a> </p>
<p>コピー＆ペースト　　Command+C, Command+V<br />
Chromeタブ切替　　　　　　　⌘-option + 左右矢印キー<br />
Chromeリロード Ctrl+r<br />
Chrome下スクロール Fn+矢印<br />
Chromeウィンドウ復元 Command+shift+T<br />
Chromeアドレスバーにハイライト Command+L<br />
ウィンドウ閉じる   Option+Command+w<br />
カナ control+k、英数字 control+；<br />
spotlight起動    control + スペース</p>
<p>option + command + esc	強制終了	control + alt + delete<br />
shift + command + 3	画面をdesktopに保存	printscreen<br />
shift + control + command + 3	画面をクリップボードに取り込む	printscreen</p>
<h4>eclipse (mac版)ショートカット</h4>
<p>エディタ最大化、戻す           Alt + -（ハイフン） -> x,   Alt + -（ハイフン） -> r<br />
import補完      Ctrl + Shift + o<br />
getter, setter 生成   Alt+Shift+S -> r<br />
宣言を開く    F3  またはCtrl+クリック   戻る command + [<br />
タブを閉じる Ctrl+w<br />
タブの切り替え Command+F6 (Windows は Ctrl+F6)</p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1557" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1557/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1557" />
	</item>
		<item>
		<title>Webブラウザ上で Android や iPhone アプリが開発できる Monaca</title>
		<link>http://www.tdtsh.com/blog/archives/1517</link>
		<comments>http://www.tdtsh.com/blog/archives/1517#comments</comments>
		<pubDate>Sun, 27 Nov 2011 21:29:49 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1517</guid>
		<description><![CDATA[Webブラウザ上で Android や iPhone アプリが開発できる Monaca 、私もちょこっとやってみました。]]></description>
			<content:encoded><![CDATA[<p><a href="http://junglejava.jp/archives/2011/11/entry_2372.html" target="_blank">Jungle Java &#8211; Monaca を少しだけ試してみた</a>を見て、私もちょこっとやってみました。</p>
<p>要するに、HTML5から Android や iOS のネイティブアプリをビルドできる、WEBベースのIDEの様です。</p>
<p><a href="http://monaca.mobi/" target="_blank">Monaca &#8211; クラウドベースのネイティブアプリ開発環境</a></p>
<p>入会直後は何も無いんで、「プロジェクトを追加する（新規作成）」をクリックして作ります。<br />
<a href="http://www.tdtsh.com/blog/wp-content/uploads/2011/11/device-2011-11-25-2.png"><img src="http://www.tdtsh.com/blog/wp-content/uploads/2011/11/device-2011-11-25-2-300x194.png" alt="" title="device-2011-11-25-2" width="300" height="194" class="aligncenter size-medium wp-image-1515" /></a></p>
<p>プロジェクトを新規作成して、「このプロジェクトの編集を開始する（IDE起動）」をクリックすると、こんな感じです。</p>
<p><a href="http://www.tdtsh.com/blog/wp-content/uploads/2011/11/device-2011-11-25-3.png"><img src="http://www.tdtsh.com/blog/wp-content/uploads/2011/11/device-2011-11-25-3-300x190.png" alt="" title="device-2011-11-25-3" width="300" height="190" class="aligncenter size-medium wp-image-1516" /></a></p>
<p>なんだか良く判らないまま、右上の「Android」-「ビルド」で、apkファイルがダウンロードされました。</p>
<p>手元のEVOにインストールしてみました。<br />
一応動いてます。</p>
<p><a href="http://www.tdtsh.com/blog/wp-content/uploads/2011/11/device-2011-11-25-162053.png"><img src="http://www.tdtsh.com/blog/wp-content/uploads/2011/11/device-2011-11-25-162053-180x300.png" alt="" title="device-2011-11-25-162053" width="180" height="300" class="aligncenter size-medium wp-image-1513" /></a></p>
<p>いやすごいですね。</p>
<p>enchant.jsと組み合わせてお手軽にゲームとか作れるようです。</p>
<p><a href="http://blog.asial.co.jp/858" target="_blank">Monaca enchant.js でお手軽スマフォゲームアプリ開発 : アシアルブログ</a></p>
<p>こんどやってみよう。</p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1517" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1517/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1517" />
	</item>
		<item>
		<title>github を git clone しようとすると Permission denied (publickey) とかで出来ない</title>
		<link>http://www.tdtsh.com/blog/archives/1507</link>
		<comments>http://www.tdtsh.com/blog/archives/1507#comments</comments>
		<pubDate>Sat, 26 Nov 2011 15:10:41 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[インフラ]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1507</guid>
		<description><![CDATA[最近、git ばっか使ってます。 だって、べんりだもの。（みつを） Subversion使わなくなっちゃった。 で、git クライアントは、Windowsでは TortoiseGitを使っています。 (TortoiseG [...]]]></description>
			<content:encoded><![CDATA[<p>最近、git ばっか使ってます。<br />
だって、べんりだもの。（みつを）<br />
Subversion使わなくなっちゃった。</p>
<p>で、git クライアントは、Windowsでは <a href="http://code.google.com/p/tortoisegit/downloads/list" target="_blank">TortoiseGit</a>を使っています。<br />
(<a href="http://sourceforge.jp/projects/tortoisegit/releases/" target="_blank">TortoiseGit 日本語化版</a>はなんか古そうだったのでパス)</p>
<p>git clone とかは CLIの方が楽なんでコマンドプロンプトから、その後はTortoiseGit で運用しています。</p>
<p>久々にgithub をclone してみようとすると、こんな感じで失敗します。</p>
<pre>
C:\git>git clone git@github.com:xxxx/xxxxxx.git -v
Cloning into tdtsh_test...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
</pre>
<p>最近は http も使えるんで、</p>
<p>git clone https://xxxx@github.com/xxxx/xxxx.git</p>
<p>こんな感じでhttpもいけるんですけど、TortoiseGit でpushとかが出来ませんでした。<br />
やはりSSHでないと。</p>
<p>こういうときは<a href="http://help.github.com/ssh-issues/" target="_blank">ヘルプ</a>を参考にがんばります。<br />
ほうほう ~/.ssh/config を書けと。<br />
cygwinのhomeの.sshの下にファイルを作る、と。</p>
<pre>
Host github.com
	User git
	Port 22
	Hostname github.com
	IdentityFile /home/.ssh/id_dsa
</pre>
<p>こんな感じで書いてみたけど、状況変わらず。<br />
パーミッションも普段使っているんで間違ってない。</p>
<p>だいぶ前の事なんで忘れてたけど、多分<a href="http://code.google.com/p/msysgit/downloads/list" target="_blank">msysgit</a>を事前にインストールした様な気がする。</p>
<p>インストール時にUser Git Bash Only を選択した様な気もしますが、確かPATHを通してコマンドプロンプトでも使えるようにしてた様な。</p>
<p>git はてっきり cygwin のんと 思っていましたが、whichすると こうなってました。<br />
/cygdrive/c/Program Files/Git/bin/git</p>
<p>思いっきり忘れてました。</p>
<p>c:\Program Files\Git\.ssh\</p>
<p>の下に秘密鍵を置いて、Cygwinからファイルのパーミッションをちゃんとするといけました。</p>
<p>TortoiseGit は %USERPROFILE%/.ssh/ を見ているみたいだし。<br />
アチコチに鍵があってウットオシイです。</p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1507" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1507/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1507" />
	</item>
		<item>
		<title>いつのまにか Apple Developper登録 してた話</title>
		<link>http://www.tdtsh.com/blog/archives/1470</link>
		<comments>http://www.tdtsh.com/blog/archives/1470#comments</comments>
		<pubDate>Sat, 12 Nov 2011 21:46:40 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1470</guid>
		<description><![CDATA[&#160; Apple Developerに登録をしようと思ったらすでに登録していました。 いつやったか覚えてないけど、登録内容から考えると2年以上前に・・・。 Mac持って無かったのにどんだけ勇み足なんだと。 > 過 [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;<br />
<a href="http://developer.apple.com/jp/" target="_blank">Apple Developer</a>に<a href="http://wiki.livedoor.jp/iphonedev/d/iOS%20Developer%20Program%c5%d0%cf%bf" target="_blank">登録</a>をしようと思ったらすでに登録していました。</p>
<p>いつやったか覚えてないけど、登録内容から考えると2年以上前に・・・。<br />
Mac持って無かったのにどんだけ勇み足なんだと。 > 過去のわたし</p>
<p>スタンダードプログラムで 10,800円/年 らしいけど、毎年コレ払ってたと言うことか。<br />
ちゃんと明細見てないから覚えてない・・・</p>
<p>でも遅ればせながらMacは手に入れたぜ！<br />
とりあえず Xcode は 4.2にアップデートしたぜ！</p>
<p>あとはアイディアを形にするだけです。<br />
がんばります。</p>
<p>2011/11/15追記 10,800円は有料会員で、私はまだお金払っていないみたいです。お騒がせしました。</p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1470" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1470/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1470" />
	</item>
		<item>
		<title>409 Conflict No transaction is in progress で appengine にデプロイできない</title>
		<link>http://www.tdtsh.com/blog/archives/1455</link>
		<comments>http://www.tdtsh.com/blog/archives/1455#comments</comments>
		<pubDate>Fri, 11 Nov 2011 04:20:38 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1455</guid>
		<description><![CDATA[今日、GAE/Jでeclipseからデプロイしようとすると、失敗しました。 ダイアログはこんな感じです。 Unable to update app: Error posting to URL: https://appen [...]]]></description>
			<content:encoded><![CDATA[<p>今日、GAE/Jでeclipseからデプロイしようとすると、失敗しました。<br />
ダイアログはこんな感じです。</p>
<pre>
Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/startserving?app_id=XXXXXXX&#038;version=XXXX&#038;
409 Conflict
No transaction is in progress.
</pre>
<p>前にも何度かやった気がするけどイチイチ忘れるんでメモ。</p>
<p>appengine java sdk がインストールされていればそれを使えばいいんだけど、eclipse の Plugin としてインストールしているなら、eclipse のインストールディレクトリのpluginの中にSDKがそっくり存在します。</p>
<p>私のいまの環境ではこんな感じでした。</p>
<pre>

cd c:\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle_1.5.5.r36v201110112027
\appengine-java-sdk-1.5.5\bin
(実際は1行)

appcfg.cmd rollback c:\git\PROJECTNAME\war
</pre>
<h4>参考にした先人の知恵</h4>
<p><a href="http://blog.tyato.jp/2011/08/gaej-409-conflict.html" target="_blank">一日一歩: GAE/J デプロイにて 409 conflict が出た場合の対処 </a></p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1455" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1455/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1455" />
	</item>
		<item>
		<title>Slim3 1.0.14 とCross-Group Transactions</title>
		<link>http://www.tdtsh.com/blog/archives/1430</link>
		<comments>http://www.tdtsh.com/blog/archives/1430#comments</comments>
		<pubDate>Wed, 02 Nov 2011 10:53:24 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[slim3]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1430</guid>
		<description><![CDATA[Slim3が1.0.14になってる訳ですが、手もとのeclipseを確認したら、slim3-1.0.12.jarじゃないですか。 Slim3 Eclipse Pluginで横着してたんで、気がつきませんでした。 ソフトウ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://sites.google.com/site/slim3appengine/release-notes" target="_blank">Slim3が1.0.14に</a>なってる訳ですが、手もとのeclipseを確認したら、slim3-1.0.12.jarじゃないですか。</p>
<p><a href="https://sites.google.com/site/slim3documentja/documents/eclipse-plugin" target="_blank">Slim3 Eclipse Plugin</a>で横着してたんで、気がつきませんでした。</p>
<p>ソフトウェアの更新で出現しないんですけど、勝手にjarを入替えちゃってもいいんですかね。</p>
<p>というかPluginで入れても、<a href="https://sites.google.com/site/slim3documentja/documents/how-to-upgrade" target="_blank">更新は手作業</a>なのかな。 （後日ちゃんとslim3pluginのアップデートが配信されました (2011/11/09 追記)）</p>
<p>やってみた。いけた。</p>
<p>Slim3 1.0.14から、appengine SDK 1.5.5のリリースを受けて、グローバルトランザクション周りが変わっているようです。</p>
<p>Datastore.beginGlobalTransaction() じゃなく、フツーのDatastore.beginTransaction() で、<a href="http://code.google.com/intl/en/appengine/docs/java/datastore/overview.html#Cross_Group_Transactions" target="_blank">Cross-Group Transactions</a>に対応しているとか。</p>
<p>5 entity groupsまでなら、複数Entity Groupをぶっこんでも、問題なく更新とかできる様になっている筈。</p>
<p>今までは複数のEntity Groupをトランザクションに含めると「IllegalArgumentException：can&#8217;t operate on multiple entity groups in a single transaction.」とか怒られたんですが、今回からは 5 Entity Group 以上を含んだ場合出るのかな。</p>
<p>また今度ちゃんと試します。</p>
<p><a href="/blog/archives/1448">試しました (2011/11/09 追記)</a></p>
<p>・・・おそらく<a href="http://d.hatena.ne.jp/higayasuo/20100210/1265781747" target="_blank"> GTXの実装には苦労された事と思う</a>んですが、ひがさんの心中や如何に。</p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1430" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1430/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1430" />
	</item>
		<item>
		<title>EVO と  Macbook Air が有ればマクドで仕事できますよね</title>
		<link>http://www.tdtsh.com/blog/archives/1370</link>
		<comments>http://www.tdtsh.com/blog/archives/1370#comments</comments>
		<pubDate>Fri, 21 Oct 2011 15:26:16 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[macbookair]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1370</guid>
		<description><![CDATA[いや、そんなにMac使い込んではいないですけど。 Google App Engine での開発とか、Macでブラウザとeclipse があれば、あとはWiFi か HTC EVOでテザリングで開発できちゃう訳です。 オフ [...]]]></description>
			<content:encoded><![CDATA[<p>いや、そんなにMac使い込んではいないですけど。</p>
<p>Google App Engine での開発とか、Macでブラウザとeclipse があれば、あとはWiFi か HTC EVOでテザリングで開発できちゃう訳です。<br />
オフィスに居る必要性がどんどん薄くなり、いやむしろマクドやスタバの方が捗るんですけど。</p>
<p>とはいえ実際の仕事はコード書くだけでは無いんですが、IT化が進み、パソコンを持ってないビジネスマンなんか居ないと言っても過言じゃ無い昨今、テキストよりも肉声のコミュニケーションを重視するというか、単にめんどくさいんかタイピングが遅いんか、兎に角会議とか電話とか好きな人もいる訳です。</p>
<p>仕事はチームワーク発揮しないとダメなやつが大半なんで、メンバのコミュニケーションの質と量はそれはそれは大切な訳です。けれども、コーディングしている時とかこっちはフロー状態を維持したいものですから、そりゃもうちゃんとメリハリつけてやりたいんですよ。<br />
時間を決めて、午前中は調整とか会議とかそういうのん、午後は会話禁止、とか。そすると調整や会議が仕事の人は半日で帰れますね！</p>
<p>因みにHTC EVOは会社支給のやつで、会社のIPフォンから内線もかけられるんで、更にどこでもええやん感がアップしています。コレはGJですよ。最終的には社員全員が首の後ろにジャックを設けて、ケーブルを通じて脳から脳へ直接伝達できるのんを情シスのひとたちが導入してくれるのを待っています。</p>
<p>で、スマホにBluetoothのヘッドセットをつないでホワイトノイズを流せば、外界のノイズは遮断されますし、電話があればすぐ出られます。マイク位置が耳のとこなんで声が聞こえにくいとすこし不評ですけど。<br />
で、マクドの2階とかで、40過ぎのオッサンがワイヤレスのヘッドフォンつけてMacbook Airとスマホ2台をカチャカチャやってる訳です。本人はカッコいいつもりですが端から見るとハイパーメディアクリエイターかぶれみたいですかそうですか。</p>
<p>それにしても正直10年以上使い込んでるNT系のWindowsよりMBAが良いと思えるか、使ってみるまで判らなかったです。<br />
あとはeclipseでjavaScriptのコーディングとかデバッグとか良い感じになればもっと良いです。どうすればいいんでしょうね。</p>
<p>因みにヘッドセットはコレです。iPhone と EVOで電話が出来て音楽が聞ければいいんで。安いのにナカナカよいですよ。<br />
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=tdtsh-22&#038;o=9&#038;p=8&#038;l=as4&#038;m=amazon&#038;f=ifr&#038;ref=ss_til&#038;asins=B0037BQ710" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1370" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1370/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1370" />
	</item>
		<item>
		<title>GAE/J で Python の bulkloader をつかってみる</title>
		<link>http://www.tdtsh.com/blog/archives/1359</link>
		<comments>http://www.tdtsh.com/blog/archives/1359#comments</comments>
		<pubDate>Tue, 16 Aug 2011 11:46:29 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[クラウド]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1359</guid>
		<description><![CDATA[&#160; Java版のbulkloaderが出ると信じて待つこと1年以上、for businessもスベッてしまい、いまだその気配もなく。 痺れを切らして、普段 GAE/Jな私が、Python版のbulkloader [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;<br />
Java版のbulkloaderが出ると信じて待つこと1年以上、for businessもスベッてしまい、いまだその気配もなく。</p>
<p>痺れを切らして、普段 GAE/Jな私が、<a href="http://code.google.com/intl/ja/appengine/docs/python/tools/uploadingdata.html" target="_blank">Python版のbulkloader</a>を使ってみました。</p>
<p>普段GAE/Jなので、<a href="http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/devenvironment.html" target="_blank">スタートガイド Python 開発環境 / Google code</a>を参考に、環境作りからはじめます。</p>
<p>&nbsp;</p>
<h4>Pythonをインストール</h4>
<p><a href="http://www.python.org/download/" target="_blank">Download &#8211; Python</a>から手繰り、私の場合はWindows (未だにXPデス)なので、Windows x86 MSI Installer なんをインストールします。最新は2.7.2の様です。<br />
Macなら最初から入っていますし、Linuxも大概のディストリビューションで最初から入っています。</p>
<p>&nbsp;</p>
<h4>Google App Engine SDK for Python をインストール</h4>
<p>GAE/JなヒトでもPython版SDKを既に入れている方もいるかもしれませんが、入れてないヒトは入れましょう。</p>
<p><a href="http://code.google.com/intl/ja/appengine/downloads.html" target="_blank">Google App Engine SDK のダウンロード</a>から、Google App Engine SDK for Pythonをインストールします。最新は1.5.2でした。</p>
<p>とりあえずCドライブ直下に置きました。<br />
インストールディレクトリは c:\appengine-python-sdk-1.5.2 となりました。<br />
これを環境変数PATHに追加しときます。</p>
<p>&nbsp;</p>
<h4>GAE/J側の準備</h4>
<p>既存プロジェクトの web.xmlを編集し、GAE/J側のRemoteApiServletを有効化？します。</p>
<pre>
	&lt;servlet&gt;
		&lt;servlet-name&gt;remoteapi&lt;/servlet-name&gt;
		&lt;servlet-class&gt;com.google.apphosting.utils.remoteapi.RemoteApiServlet&lt;/servlet-class&gt;
	&lt;/servlet&gt;
	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;remoteapi&lt;/servlet-name&gt;
		&lt;url-pattern&gt;/remote_api&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;
</pre>
<p>勿論この後デプロイします。</p>
<p>&nbsp;</p>
<h4>設定ファイル (yaml) を作成</h4>
<p>cmd.exe を起動し、appcfg.py で create_bulkloader_config を実行します。</p>
<pre>
cd c:\appengine-python-sdk-1.5.2
appcfg.py create_bulkloader_config --url=http://{appId}.appspot.com/remote_api --application={appId} --filename=config.yml
</pre>
<p>High Replicationの場合は、&#8211;application の引数のアタマに s~ をつけないといけないみたいです。<br />
こんな風に。</p>
<pre>
cd c:\appengine-python-sdk-1.5.2
appcfg.py create_bulkloader_config --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --filename=config.yml
</pre>
<p>自動生成されたconfig.yml には、そのとき appengine側に存在する kind のスキーマを反映したものになっているようです。</p>
<p>アップロード/ダウンロードするkindが限定されている場合などは、このymlファイルを編集して対象kindだけのymlファイルを作っても良い。</p>
<p>自動生成されたymlファイルは、TODO: の記述がいくつかあり、ココを適宜修正する必要があります。<br />
最低でもconnector (と connector_options )を編集します。</p>
<pre>
  connector: # TODO: Choose a connector here: csv, simplexml, etc...
  connector_options:
    # TODO: Add connector options here--these are specific to each connector.
↓
  connector: csv
  connector_options:
    encoding: utf-8
</pre>
<p>&nbsp;</p>
<h4>CSVアップロード</h4>
<p>ダウンロードするには、こんな感じ。</p>
<pre>
appcfg.py download_data --filename=test2.csv --config_file=test.yml --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --kind={ClassNameOfKind} -v
</pre>
<p>アップロードはこんな感じ。</p>
<pre>
appcfg.py upload_data --filename=test.csv --config_file=test.yml --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --kind={ClassNameOfKind} -v
</pre>
<h4>参考にさせて頂いた先人の知恵</h4>
<p><a href="http://pomu0325.blogspot.com/2011/02/gae-bulkloadergaej.html" target="_blank">pomu0325: [GAE] bulkloaderをGAE/Jで使う</a></p>
<p><a href="http://d.hatena.ne.jp/zetta1985/20100119/1263911416" target="_blank">Javaプログラマの為のGAE/py bulkloader &#8211; GAE/py環境設定 &#8211; - 高卒文系プログラマの日常 by zetta1985</a></p>
<p><a href="http://isann.blog2.fc2.com/blog-category-0.html" target="_blank">きのふよりけふ、けふよりあした　 未分類</a></p>
<p><a href="http://d.hatena.ne.jp/noriboz/20110121/1295571732" target="_blank">CSVファイルのデータをアップロードする方法 &#8211; 気楽に開発メモ</a></p>
<p><a href="http://ikaisays.com/2010/06/10/using-the-bulkloader-with-java-app-engine/" target="_blank">Using the bulkloader with Java App Engine &#8211; Ikai Lan says</a></p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1359" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1359/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1359" />
	</item>
		<item>
		<title>eclipse で slim3 のbuild.xmlを開いてもアウトラインに何もでない</title>
		<link>http://www.tdtsh.com/blog/archives/1285</link>
		<comments>http://www.tdtsh.com/blog/archives/1285#comments</comments>
		<pubDate>Tue, 24 May 2011 10:05:47 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[slim3]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=1285</guid>
		<description><![CDATA[eclipse で slim3 の開発をやるとき、build.xmlを開いて「アウトラインビュー」でコントローラとかモデルとか作れて便利ですよね。 私は手で作っちゃう事も結構ありますけど、大量に書くときはやはりeclip [...]]]></description>
			<content:encoded><![CDATA[<p>eclipse で slim3 の開発をやるとき、build.xmlを開いて「アウトラインビュー」でコントローラとかモデルとか作れて便利ですよね。</p>
<p>私は手で作っちゃう事も結構ありますけど、大量に書くときはやはりeclipseです。</p>
<p>で、久しぶりにやろうと思ったら、なんかOutlineが真っ白です。<br />
eclipse(Gallileo)の調子が悪いのかな。そういえばAndroidのプラグインとか入れてエミュレータを動かしたとき、エミュレータを終了できなくなっちゃったり、最近怪しいです。<br />
日本語化とかするんじゃなかった。<br />
とか思いながら、この際だからとHeliosに入れなおしました。<br />
今回は日本語化もせず、プラグインとかも最低限にしました。</p>
<p>で、slim3のブランクプロジェクトを作って、build.xmlを開いたんですが、やっぱりアウトラインは真っ白です。</p>
<p>原因は全然別にあって、[Preferences] &#8211; [General] &#8211; [Editors] &#8211; [File Associations]で、*.xmlがJavaエディタとかに関連づけられてたからでした。<br />
Ant Editorをデフォルトにすると治りました。</p>
<p>冷静に考えれば判ったはずですが、最初はググっても情報なくて焦りました。</p>
<div id="fb-root"></div>
   <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "135970219784621", status: true, cookie: true,
		 xfbml: true});
	};
 (function() {
  var e = document.createElement("script"); e.async = true;
 e.src = document.location.protocol +
   "//connect.facebook.net/jv_ID/all.js";
 document.getElementById("fb-root").appendChild(e);
}());
</script><span class = ""  style = "  "><fb:like href="http://www.tdtsh.com/blog/archives/1285" send = "false" layout="standard" show_faces="false" width="" action="like" colorscheme="light" font="" /></span>]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/1285/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/1285" />
	</item>
	</channel>
</rss>

