2011/01/31

Google Cloud PrintがWindowsでベータ

前回、Google Cloud PrintというエントリーでGoogleがクラウドを使ったプリンターサービスを立ち上げようとしていると書いたが、Google―携帯から印刷できるクラウドプリント機能をリリース―当面Windows版のみを読んだら、すでに、beta版がwindowで始まっているようだ。

早く、mac版をサポートしてほしいことを望む。

2011/01/30

[PHP]$_REQUESTって

なにかなーっと思って、$_REQUESTのところを読んだら、「$_GET」、「$_POST」と「 $_COOKIE」のすべてを連想配列にもたした変数のようです。

漠然と処理する分には、この変数でも構わないと思うのですが、なんか処理が重たくなるような気が。。。

実際、どうなのだろうか?

2011/01/28

[本]親として大切なこと

瞬殺


第1章 子どもは磨けば必ず輝く
第2章 親が教えてあげる大切なこと
第3章 しつけ次第で子どもは育つ
第4章 素直な心で学べば子どもは育つ
第5章 正しいことを教えれば子どもは育つ

via:目次

親父から突然もらった本なのだが、内容的にどうなのだろうか?

タイトルは「親」と銘打っているが、実質、親としてどう振る舞うべきかという具体的な指針はあまりなかったような気がする。
むしろ抽象的な内容ばかりで、なんだか仏様の説教を聞いているような気分になり、さらに、氏の他の書籍を読む前に読むべきエントリー本のように感じてしまった。
氏の経営に対する考えを子育てにもそのまま平衡移動させて適用しているような感じもした。

だって、すでに他の書籍に書かれている内容を掲載したって書いてあったんだもーん。

したがって、他を読んだ方にとっても、本書を少し物足りないと感じると思うのだがいかがだろうか?

しかし、既に亡くなってしまった方の名前が著者として、未だに本として出版されるとは。
それだけでも、氏の影響力の強さを感じずにはいられない。

氏は、果たしてこのような書籍を本当に出版してほしかったのだろうか?と思わずにはいられなかった。

正直言って、氏の本を読んだのは、これが初めてだったので、機会があれば、他の書籍にもあたってみたい。


2011/01/27

[JavaScript]Unix timeから元の日付に変換

JavaScriptでは、getTime()メソッドを使ってUNIX timeを取得することができるのですが、逆に、UNIX Timeから元に日付に戻したい場合は、どうするのでしょうか?
Unix time(1970/1/1 00:00:00(UTC)からの秒数)と日付時刻の変換に変換するプログラムがあったので、そちらを参考にしてサンプルを作ってみると、

var hoge = new Date();
hoge.setTime(unix time);

という流れでオッケーなようです。
ためしに実行してみると、確かに、設定することができました。

2011/01/26

[css]visibilityとhiddenの違い

visibility:hiddenとdisplay:noneの違いが気になったので、ぐぐってみたところ、下記のエントリーに的中。

・ visibility:hidden: 非表示にされるが、その領域が空白のまま確保される。
・ display:none: 非表示にされ、その領域も確保されない。

via:visibility:hiddenとdisplay:noneの違い

つまり領域の違いだけだったんですね。

2011/01/25

[facebook][Google App Engine]アプリの作り方Hello World

今、ものすごくfacebookにはまっておりまして、アプリの作成方法を調査しました。
(参考はFacebook.com上のアプリ)

1.Facebook Developersグループページ右側にある「Set up New App」をクリックします。(下図参照)
Photobucket

2.アプリケーション名の入力を行い、規約の「同意する」を選択し、「アプリケーションを作成」ボタンを押す。
(ここでは、test_maitoという名前を入力。)
Photobucket

3.ボタンを押した後、下のような画面に遷移する
Photobucket

4.左側の「facebook Integration」を選択し、キャンバスページとキャンバスページURLの入力を行い「変更を保存」ボタンを押す
(下の例では、キャンバスページは、http://apps.facebook.com/test_maito
キャンバスページURLは、http://●●●●●●●●/test/)
Photobucket

5.保存完了後、「サンプルコードを使って、今すぐスタート」をクリックし、アプリの動作確認を行う。
Photobucket

6.動作確認結果
Photobucket

この時、facebookからアクセスされる時に、動くプログラムは下のようになっております。

#!/usr/bin/env python

import os
import urllib
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template

class MainHandler(webapp.RequestHandler):
def post(self):
signed_request = self.request.get('signed_request')

auth_url = "http://www.facebook.com/dialog/oauth?client_id="
auth_url = auth_url + "●●●●●●●●●●" #アプリID
redirect_url = "http://apps.facebook.com/test_maito/" #キャンバスページ
redirect_url = redirect_url.encode('utf-8')
auth_url = auth_url + "&redirect_uri=" + urllib.quote_plus(redirect_url)
if not signed_request:
self.response.out.write("<script>top.location.href='")
self.response.out.write(auth_url)
self.response.out.write("</script>")
else:
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))

def main():
application = webapp.WSGIApplication(
[('/test/', MainHandler)],
debug=True
)
util.run_wsgi_app(application)

if __name__ == '__main__':
main()

facebook上にアプリを表示する際に、上のプログラムが2回呼び出されます。

まず始めに、facebook側のサーバーがPOSTでアクセスを試みます。
その後、こちら側で変数auth_urlで設定したurlにリダイレクトを行うと、再度、上のプログラムが呼び出されます。
(上の例ではtop.location.hrefを使ってリダイレクトされています。)

2回目に呼び出される時に、facebook側のサーバーでは、「signed_request」というPOST変数も一緒に送信を行います。

一度目は、signed_requestは送信されません。

なので、1回目と、2回目を区別する方法として、signed_requestのあるなしで判定を行います。

変数が存在する場合は、htmlを表示するように指示を行っております。
(上のプログラム例では、index.html)

index.htmlは下のようになっております。
<html>
<head>
<title>facebook app test</title>
</head>
<body>
<center>
Hello facebook apps!!<br>
this is test apps.
</center>
</body>
</html>


2011/01/24

[VBA]行全体を選択する

行全体を選択したくなる時があります。
で、その方法を調べました。
3.行の指定を読むと、RangeオブジェクトのEntireRowプロパティを使えばオッケーとのことなのですが、ちょっと気になるのは、Rangeオブジェクトを使うに当たって、引数を2つセットしなければいけないということ。

行全体を指定することは自明なのだから、別にどこかのセル一つだけでもいいと思うのだが、いかがだろうか?

2011/01/23

[VBA]関数の戻り値が配列の場合

関数の戻り値に配列を返したくなったので、ぐぐってみたところ、
Functionの戻り値を配列にしたいのですが」があって、ちょうど同じ悩みの相談がありました。

回答を読んでみると、

function hoge() As Integer()

End Function

というように、型名に()をつければいけるようです。

実際に試したところ、確かに、実行できました。

2011/01/22

[vba]配列の大きさを変更する

配列の大きさを動的に変更したい場合があります。
Excel(エクセル) VBA入門:配列の利用を読むと、こんな感じに動的に変更することができるようになります。

Dim hoge() As Integer
ReDim hoge(4)

ReDimを使う事で何回も、変更することができます。
覚えておくと便利かもしれません。

2011/01/21

祝長男出産

今日の、7時37分に家内が長男を出産。
Photobucket

3100gの元気な赤ちゃんが生まれました。
親ばかを差しひいても、とてもかわいい。

名前は「聡斗」にします。

元気に赤ちゃんに育ってほしいなー。

それにしても、今回の出産活動を通して色々と勉強になることが多かった。

まず、出産は2日間に渡って続いたのだが、初日は、陣痛促進剤抜きで陣痛をおこし、出産するという予定だったのですが、なかなか陣痛がこなかったので、2日目になって、お医者さんと相談した結果、陣痛促進剤を点滴として注入し、出産するという予定になったのですが、その際に、同意書にサインをしたことは一生忘れることができないだろう。

確かに、ここ数年で医療技術が超進歩したのは、とてもあきらかな事実なのだが、それでも、なにかしらの原因で失敗することはある。
まさに同意書にそれが書いてあったのを見て、少し不安になってしまったが、それを絶対に家内に見せてはいけないと思い、平然を装った。
内容としては、陣痛促進剤をうつとひょっとしたら、合併症を引き起こすかもしれないということ。
結果的に、無事に出産したので安心しました。

家内があんなに叫ぶの見るのは初めてだった。
いままでさんざん、傷つけまくったが、あそこまで、叫んだのはなかった。
すごくつらいんだろうなーっと思ったら思わず泣きそうになってしまった。
いやもう泣いていただろう。

家内よ、本当にお疲れさまでした。
今日の日は、歴史の教科書にはのらないけど、kuwahara家の歴史に新たな1ページを刻んだことは明らかなのだ。
それだけで十分歴史を作ったと思う。

2011/01/20

[PHP][本]初めてのPHP5

病院移動中に読了


訳者まえがき
はじめに
1章 オリエンテーションと始めの一歩
2章 テキストと数の操作
3章 判定と繰り返しについて
4章 配列の操作
5章 関数
6章 Webフォームの作成
7章 データベースに情報を保存
8章 クッキーとセッションでユーザを記憶
9章 日付と時刻の取り扱い
10章 ファイルの操作
11章 XMLのパースと生成
12章 デバッギング
13章 その他のPHPでできること
14章 日本語処理

via:目次

本当にすごくバランスが取れたいい本。これぞ本当の初心者が読むべき本かなと。
バランスってなにかというと、変数の処理の仕方を始め、フォーム変数、関数の作成、DB接続、日付の処理、ファイルの操作、XMLファイルの処理方法、デバッグの方法、さらに日本人にはかかすことができない日本語の処理等、アプリケーションを作る上で必要不可欠だと思われる部分。

プログラム初心者ではないが、PHP初心者という方にもお勧めではないだろうか?

ただし、これだけ読んですべてに対応できるかと言われれば、そうではない。
残念ながら本書から漏れているが、とても需要だと思われるものには以下の項目がある。

・クラス、メソッドの設計(本書に少しあったが、やはり足りない)
・JSONのパースと吐き出し方法
・ajax通信時のクライアントからのパラメータ処理
・SOAP通信時の処理方法

これぐらいカバーしとけばオッケーっしょ。
さらにセキュリティーとかもあるけど。。。

2011/01/19

[VBA]¥について

基本的にプログラムのほとんどは、割り算を「/」で表現し、vbaも当然この記法が認められているわけだが、参考4-7:演算子の種類と優先順位を読むと、どうやら、「¥」を使って、割り算を行なうとあまりをカットしてくれるようだ。

整数解が欲しい場合には、便利だと思った。

2011/01/18

[chrome os]初お目見え

この前、会社で、html5-developers-jp主催の第14回「HTML5とか勉強会」やります!が開催されたのだが、そのとき、googleの方から、chrome osの紹介があり、そのときの写真を撮りました。(ちょっと見にくいのですが。。。)

Photobucket

Photobucket

Photobucket

Photobucket


完全に、chromeしか入っていないパソコンでした。
デモを見て思ったのは、chrome web storeで購入したアプリもスタートさせる場合にも、chromeからではないとできないということ。

せめて、opera widgetの独立して動かせるようになると、いいと思うのだが。。。

2011/01/17

[JavaScript]scrollTopを取得する時の注意点

IEでdocument.body.scrollTop が取得できないによると、IE上で、scrollTopを取得する時は、

document.body.scrollTop

ではなくて、

document.documentElement.scrollTop

で取得するようです。

実際にローカルで試した確かに取得できました。

2011/01/16

[本]脳科学おばあちゃん久保田カヨ子先生の誕生から歩くまで 0~1才 脳を育むふれあい育児

超よみやす

これでもかというぐらい、ふんだんにイラストが入っており、読みながら実際の子育て風景を創造できるのでとてもいいですね。

後、各年齢ごとに子育て方法が書かれているので、子供の年齢に該当するところだけ読めばいいので、ある種、はや引きみたいな感じになっていてそこもいい。

この本を通して、いい親父になりたいものであるとひしひしと感じた。


2011/01/15

[VBA]For文を脱出する方法は、

ループ抜けるを参考にすると、「Exit For」をみたいです。

2011/01/14

[VBA]文字列を数値型に変更する

ワークシートの名前に数字を入れたかったので、数値型から文字列型に変更する方法を調べました。

教えて!gooによると、CStr関数を使えば変更できるようです。

試してみたところ確かに文字列型に変更することができました。

2011/01/13

[VBA]ワークシートの名前を変更する

ワークシートの名前を変更するよるとNameプロパティーを使えば変更することができるようです。

サンプルコードとして、

Worksheets("hoge").Name = foo

とすれば変更することができます。

[OpenSocial]mixiのOpenSocial WAP extensionが採択

OpenSocial API Blog: Mixi's new platform feature: "Apps for Touch"によると、mixiが提案していたOpenSocial WAP Extension Specificationが正式に採択されたようです。
(主に、ガラケー上で展開するopen socialアプリの仕様を提案していたようです。)

日本の技術あるいは提案が世界標準として認められたのでうれしいですね。

2011/01/12

[IT用語]ハードウェアアクセラレーション

最近、iPhone用のサイト製作を行っているときにタイトルの言葉を目にしたので、気になって調べました。

wikipediaによると、CPUにハードウェアを追加し、ソフトウェアが反応するよりも早く動作させることによって全体のパフォーマンスをアップさせるということです。

言葉にすると「ふーん」という感じだが、よくまーこういうことが思いつくなーと感服してしまった。

2011/01/11

[VBA]コンストラクタ発生時の衝撃的なこと

なんと、なんと、mo.ro.雑記さんのExcel:VBA:Classのコンストラクタとデストラクタを読んでびっくりしたのですが、コンストラクタ発生時に引数を渡すことができないようです。

こりゃーびっくりだわー。

2011/01/10

[VBA]配列の大きさを取得する

配列を使う局面があってその際に長さ(大きさ)を必要としたので、その方法について調査。
VB 配列操作・データ分解編を読むと、UBound関数を使うと配列の最大値連番数を取得するということなので、連番が0からスタートであることを考えると

Dim hoge(5) as Integer
Dim foo
foo = UBound(hoge) + 1

という形で取得できそうです。

重要なポイントはUBound関数で取得した値に1を加えるということ。
上記の場合、fooに、6がセットされます。

2011/01/09

[VBA]型宣言について

去年、VBAのお仕事を個人で頂いたので、その時に学んだことについて書いていきたいと思います。

Excel VBA(エクセル マクロ) 関数集 変数定義の各型宣言について読んでいてとても興味深かったのは、エクセルのワークブックやワークシートを型として宣言できるところ。

Set foo = Workbooks("ワークブック名(日本語でもおk、拡張子付き)")
Set hoge = Worksheets("ワークシート名(日本語でもおk)")

これって便利じゃねー??

2011/01/07

[mac]app storeがオープン

アップルは1月6日、Mac OS X向けアプリケーションをワンクリックで購入できる「Mac App Store」をオープンした。

via:アップル、Mac App Storeをオープン

というわけで、早速試してみました。

OSのアップグレードが必要で、16.6にすると自動的にApp Storeのアイコンがでてくるので、それをクリックすればStoreで売られているアプリを見ることができます。

chrome web storeと違って、こちらはクライアントアプリを売っているわけなのですが、果たして成功するのかどうか今後の行方を見ていきたいです。

2011/01/06

[Android]OS ver3.0のHoneycombが紹介されています

A Sneak Peek of Android 3.0, Honeycomb - Official Google Mobile Blog: "3.0, Honeycomb"というエントリーでAndroid OSの新しいバージョンである3.0が紹介されていました。

どうやら、tabletを意識して作っているそうです。

下に紹介されていた動画を貼り付けます。


2011/01/05

[php]readfileについて

昔のエントリーを検索して発見できなかったので、1エントリー。

最近、readfile関数を使う機会があったのでちょっと内容を調査。

リンク先の記事を読んでみると、引数の内容を読み込んでそれを画面に出力してくれるようです。

なので、画像やら、リンク先のurlやらを設定するといいようです。

2011/01/04

[Game]wiiとマリオを購入

正確にいうと、弟の誕生日プレゼントに購入

ヨドバシカメラ横浜店で買ったのですが、対象のソフトを買うと、もれなくコントローラーも一本ついてくるということで、こちらのソフトを選びました。

で、コントローラーの色を選択することができたので、弟の彼女が選択したのはこちら

実際、少し触らせてもらったのだが、すごいおもしろかったです。

よくできているなーっと思いました。マリオっていうコンテンツいやブランドが持っている力なのでしょうか?
ホント、付き合いたてのカップルに是非、おすすめの一作だと思いました。