土曜日から2泊3日で山中湖に家族でキャンプに行ってました。
天気は快晴ではなかったけど、いつも雨に降られる我が家にとっては良い天気でした
キャンプ場が湖畔にも道路にも近くて、車の騒音がうるさかったです。夜中にバイクが爆走してたりして、ちょっと雰囲気をぶち壊しな感じですた。でも、湖畔は涼しくて気持ちよかった~
2008年7月21日月曜日
2008年7月16日水曜日
のりおくれた
買った人も買わなかった人も、iphone(アイフォーン)の話題でもちきりですな
iPhoneに関しては色々思うところがあったりするけど、なんか今更ってかんじで、完全に話題に乗り遅れました。
昨日コジマに100円EeePCを見に行ってみて思った、「欲しいけど、必要ないか....」
ついでに新03のモックも持ってみて、「欲しいけど、アドエスでもいいか」
D4のモックをチルトアップしてみて、「欲しいけど、いや、そんなに欲しくないかも」
iphoneは「次回入荷は未定です....」
結局、僕がiphone買わない理由は「お金ないから」ですが、アドエスで十分間に合ってるからでもあります
iPhoneに関しては色々思うところがあったりするけど、なんか今更ってかんじで、完全に話題に乗り遅れました。
昨日コジマに100円EeePCを見に行ってみて思った、「欲しいけど、必要ないか....」
ついでに新03のモックも持ってみて、「欲しいけど、アドエスでもいいか」
D4のモックをチルトアップしてみて、「欲しいけど、いや、そんなに欲しくないかも」
iphoneは「次回入荷は未定です....」
結局、僕がiphone買わない理由は「お金ないから」ですが、アドエスで十分間に合ってるからでもあります
2008年7月14日月曜日
展覧会案内にGoogleMapを追加
展覧会案内ページに、会場の地図を表示するようにしたので忘れる前にメモ
まず入力ページのヘッダにgooglemapを使用するために以下を追加
keyは予め取得しておく
続けて javascript で動作を書く
入力ページを開いたときにinitialize()を実行する
initialize()は
html内の map_canvas エレメントにgooglemapを挿入する。
初期位置をformのid=lat,id=lngより取得する(lat,lngはpythonで予め埋め込む)
markerオブジェクトとGeocoderオブジェクトを作っておく
markerをドラッグして移動したときと、地図をダブルクリックした時にformのlat,lngを書き換えるようにイベント登録しておく
function markerToform(latlng) で、マーカーの位置をformのlat,lngに反映させる処理をする。地図を使用するcheckboxにもチェックを入れておく
function showAddress() は、会場住所から場所を検索できるようにgeocoderを使用した処理をする。(サンプルをコピペ)
htmlソース
案内状表示ページのhtmlにも同様にgooglemapのjavascriptを追加しておく
案内状では、地図ボタンを押したときに地図を表示、閉じるボタンを押したときに地図表示を閉じるようにしたい
function viewmap(obj,lat,lng) と function closemap(obj)
案内状表示ページを生成するpythonのコード(地図の部分抜粋)
btnopenをクリックしたときにviewmap(this,point.lat,point.lon)が呼ばれる
viewmap スクリプトで
this オブジェクト以下の id=mapにgooglemapを表示する様にしたかったけど、id=mapのエレメントへの参照の仕方がわからなかったので
みたいな、わけわからん参照になってしまった...
入力ページからPOSTされたデータを処理するpythonプログラム(抜粋)
ソースの表示にBlogger Syntax Highlighterを使用してみた。
http://www.kuribo.info/2008/06/blogger-syntax-highlighter.html
まず入力ページのヘッダにgooglemapを使用するために以下を追加
keyは予め取得しておく
<script type="text/javascript" src="http://www.google.com/jsapi?key=key"></script>
<script type="text/javascript">google.load("maps", "2.x");</script>
続けて javascript で動作を書く
<script type="text/javascript"><!--
var map = null;
var geocoder = null;
var marker = null;
function initialize() {
map = new GMap2(document.getElementById("map_canvas"));
if (GBrowserIsCompatible()) {
var lat = document.getElementById("lat");
var lng = document.getElementById("lng");
var latlng = null;
if (lat.value != "" && lng.value) {
latlng = new GLatLng(lat.value,lng.value);
} else {
latlng = new GLatLng(35.671940094926995,139.76398944854736);
}
map.setCenter(latlng, 17);
map.addControl(new GLargeMapControl());
geocoder = new GClientGeocoder();
marker = new GMarker(latlng,{draggable: true});
map.addOverlay(marker);
GEvent.addListener(marker, "dragend", function(){
markerToform(marker.getLatLng());
});
GEvent.addListener(map, "dblclick", function(overlay,point) {
marker.setPoint(point);
markerToform(point);
});
}
}
function markerToform(latlng)
{
var lat = document.getElementById("lat");
var lng = document.getElementById("lng");
lat.value = latlng.lat();
lng.value = latlng.lng();
document.getElementById("mapenable").checked=true;
}
function showAddress() {
address = document.getElementById("address").value;
geocoder.getLatLng(
address ,
function(point) {
if (!point) {
alert(address + " \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002");
} else {
map.setCenter(point, 13);
marker.setPoint(point);
markerToform(point);
}
}
);
}
// --></script>
入力ページを開いたときにinitialize()を実行する
initialize()は
html内の map_canvas エレメントにgooglemapを挿入する。
初期位置をformのid=lat,id=lngより取得する(lat,lngはpythonで予め埋め込む)
markerオブジェクトとGeocoderオブジェクトを作っておく
markerをドラッグして移動したときと、地図をダブルクリックした時にformのlat,lngを書き換えるようにイベント登録しておく
function markerToform(latlng) で、マーカーの位置をformのlat,lngに反映させる処理をする。地図を使用するcheckboxにもチェックを入れておく
function showAddress() は、会場住所から場所を検索できるようにgeocoderを使用した処理をする。(サンプルをコピペ)
htmlソース
<input type="button" name="showaddr" id="showaddr" onclick="showAddress()" value="地図"/>
<label class="description" for="mapenable">地図</label>
<input type="checkbox" id="mapenable" name="mapenable" value="enable" {% if entity.point %}checked{% endif %}/>地図を使用する
<input type="hidden" id="lat" name="lat" value="{{ entity.point.lat|default:"" }}" />
<input type="hidden" id="lng" name="lng" value="{{ entity.point.lon|default:"" }}" />
<div id="map_canvas" style="width: 500px; height: 300px">
</div>
案内状表示ページのhtmlにも同様にgooglemapのjavascriptを追加しておく
<script type="text/javascript" src="http://www.google.com/jsapi?key=key"></script>
<script type="text/javascript">google.load("prototype", "1.6.0.2");</script>
<script type="text/javascript">google.load("maps", "2.x");</script>
<script type="text/javascript"><!--
var WEEK ='week2';
function viewmap(obj,lat,lng)
{
var par = obj.parentNode.parentNode;
var elm = par.childNodes;
var cld = elm[1];
cld.style.display="block";
elm[0].childNodes[0].style.display="block";
obj.style.display = "none";
var map = new google.maps.Map2(cld);
map.addControl(new GLargeMapControl());
map.setCenter(new google.maps.LatLng(lat, lng), 17);
map.addOverlay(new GMarker(new GLatLng(lat, lng)));
}
function closemap(obj)
{
var par = obj.parentNode.parentNode;
var elm = par.childNodes;
elm[0].childNodes[1].style.display="block";
obj.style.display = "none";
var cld = elm[1];
cld.style.display="none";
cld.innerHTML="";
}
// --></script>
案内状では、地図ボタンを押したときに地図を表示、閉じるボタンを押したときに地図表示を閉じるようにしたい
function viewmap(obj,lat,lng) と function closemap(obj)
案内状表示ページを生成するpythonのコード(地図の部分抜粋)
if entity.point:
cards+=u"""
<div class="maps"><div class="maphed"><div class="btnclose" onclick="closemap(this)"></div><div class="btnopen" onclick="viewmap(this,%f,%f)"></div>地図</div><div id="map" name="map"></div>
</div>""" % (entity.point.lat,entity.point.lon)
btnopenをクリックしたときにviewmap(this,point.lat,point.lon)が呼ばれる
viewmap スクリプトで
this オブジェクト以下の id=mapにgooglemapを表示する様にしたかったけど、id=mapのエレメントへの参照の仕方がわからなかったので
function viewmap(obj,lat,lng)
{
var par = obj.parentNode.parentNode;
var elm = par.childNodes;
var cld = elm[1];
みたいな、わけわからん参照になってしまった...
入力ページからPOSTされたデータを処理するpythonプログラム(抜粋)
mapen = self.request.get('mapenable')
if mapen == "enable":
try:
lat = self.request.get('lat')
lng = self.request.get('lng')
postcard.point = db.GeoPt(lat,lng)
except:
postcard.point = None
else:
postcard.point = None
ソースの表示にBlogger Syntax Highlighterを使用してみた。
http://www.kuribo.info/2008/06/blogger-syntax-highlighter.html
2008年7月9日水曜日
トラ技
トランジスタ技術 (Transistor Gijutsu) 2008年 08月号 [雑誌]
今度の付録はUSBマイコン
NEC 78Kシリーズだそうです
基板がUSBコネクタになっていて、そのままPCに挿せるみたい
今度の付録はUSBマイコン
NEC 78Kシリーズだそうです
基板がUSBコネクタになっていて、そのままPCに挿せるみたい
ロケット
先週の土曜日に、小学校の行事でペットボトルロケットを打ち上げました。
普段は炭酸飲料は飲まない家庭なのですが、ロケット製作のために1週間かけてCCレモンを飲みきりましたゲフ
一機あたりにペットボトル2本必要で、子供二人分で合計4本のペットボトルが必要でしたゲフ
2008年7月7日月曜日
人気エントリー
先週から、客先での作業のため殆ど出社できず、とても忙しかった。帰宅しても、飯喰って寝るだけという毎日でインターネットする暇もなし。
ただ、電車での移動中にRSSを読む時間が結構あって、こういうときにアドエスが役に立った。RSSリーダでざっくりとブログやニュースの記事を読める。
時間が結構あるので、はてなの人気エントリーをGoogleReaderの購読リストに加えてみた。
人気エントリーの記事って長文で、思ったことを色々と書いていて、なんだか皆さん若いなぁと思った。
で、気になったのが、怒っている人が多い。
後味悪い記事が結構あって、普段読んでるモバイルデバイス系のニュースやblogとは、なんか違う
後味悪いというのは、反感を抱いたり、共感したり、出来る記事だけど、なんだか気分が沈む感じ
いつも読んでる記事は、こんな凄いデバイスが出るぜ!とか、こんな技を見つけた!とか、便利なアプリがあるよ!
みたいな内容なので、割と後味が良いし、物欲も湧き上がる。
後味悪い記事を読んだ後は、なんだか仕事に行くのが嫌になってくる(客先に行きたくないだけかも?)
そういえば2chも読んでいて、ネガティブパワーを感じる事が多いのであまり読まないようにしてる。
というのは、年をとったからだろうか?
ただ、電車での移動中にRSSを読む時間が結構あって、こういうときにアドエスが役に立った。RSSリーダでざっくりとブログやニュースの記事を読める。
時間が結構あるので、はてなの人気エントリーをGoogleReaderの購読リストに加えてみた。
人気エントリーの記事って長文で、思ったことを色々と書いていて、なんだか皆さん若いなぁと思った。
で、気になったのが、怒っている人が多い。
後味悪い記事が結構あって、普段読んでるモバイルデバイス系のニュースやblogとは、なんか違う
後味悪いというのは、反感を抱いたり、共感したり、出来る記事だけど、なんだか気分が沈む感じ
いつも読んでる記事は、こんな凄いデバイスが出るぜ!とか、こんな技を見つけた!とか、便利なアプリがあるよ!
みたいな内容なので、割と後味が良いし、物欲も湧き上がる。
後味悪い記事を読んだ後は、なんだか仕事に行くのが嫌になってくる(客先に行きたくないだけかも?)
そういえば2chも読んでいて、ネガティブパワーを感じる事が多いのであまり読まないようにしてる。
というのは、年をとったからだろうか?
登録:
投稿 (Atom)
