BootCampで起動したWindowsでパーティションを変えずにDドライブを使う方法
MacBook Airが届いたのでBootCampを使ってWindowsを入れてみたのですが、デフォルトだと1パーティションでCドライブしか使えません。普段オンラインソフトをD:\Online Softに入れて使っていて、パスが同じ方が都合がよいので1パーティションのまま、C:\dataの内容をDドライブとして見えるようにしてみました。
ディレクトリをドライブとして見えるようにするsubstコマンドの永続版、psubstを使います。psubstを使うとレジストリに設定が書き込まれるので、Dドライブに入れたソフトをスタートアップに登録しても問題なく起動できます。
インストール
Persistent SUBST command をダウンロードして、psubst.batをC:\windowsに配置します。
ドライブの割り当て
管理者権限でコマンドプロンプトを起動します。(コマンドプロンプトを右クリック>管理者として実行)
C:\data をDドライブとして使いたい場合は
psubst D: C:\data /P
を実行します。
ドライブレターが重複しているとエラーになるので、コントロールパネル>コンピューターの管理>ディスクの管理 からCD/DVDドライブをQドライブなどに変更しておきます。
割り当ての確認はオプション無しでpsubstコマンドを実行します。
C:\Windows\System32> psubst D:\ => C:\data
再起動後にドライブの割り当てが反映されます。
ドライブの割り当て解除
ドライブの割り当てを解除するときは
psubst D: /D
を実行します。
マッシュアップサービスをつくろう in 山口 を開催しました
山口県WEB勉強会のスピンオフイベントとして「マッシュアップサービスをつくろう in 山口」の主催をさせていただきました。
プログラムを書いたことはあるけどマッシュアップは初めて、という想定で
の3点をスライドで説明しました。
そしてお昼にピザと(ノンアルコール)ビールをつまんだ後で午後からもくもくプログラミング。スライドの途中で紹介だけしたInstagram APIが興味をひいたみたいで、デモでは使い方を説明しなかったのですが早速APIキーを取得して使い始める方もいました。
[twitter:@garakuc]くんは前日に呼んで来てもらったということもあり、MAMPをインストールするところからはじめて手取り足取り教えつつだったのですが、選んだキーワードの写真を画面に並べるところまでやってくれました。
僕はATND地域検索のハッシュタグ検索を、Twitterに丸投げしていたのを、TwitterSearchAPIを使ってダイアログの中にインラインで表示するようにしました。1つのイベントに2つ以上のハッシュタグがある場合も、別のハッシュタグをクリックすると即座に読み込まれます。イベントのハッシュタグを次々見られるようになってちょっと便利になったかな? 本家Twitterの表示にならって最近のつぶやきの時間表示を ○秒前、○分前、○時間前 としているのがミソです。
Google+とPicasaを行き来するブックマークレット
写真を見たい人のプロフィールページを開いてG2Pブックマークレットを実行するとPicasaページに飛びます。G2PPだとGoogle+に投稿した写真に直接飛びます。
PicasaページでP2Gブックマークレットを実行するとGoogle+に戻ってきます。
Picasaで見ると便利なこと
- 投稿写真の一覧をまとめて見られる
- フルサイズの画像をダウンロードできる(Google+側でもフルサイズの画像が参照できてる気も。最近?)
- アルバムを一括ダウンロードできる
ブックマークレット
リンク先のHatena::Letからブックマークレットを登録してください
G2P (Google+ to Picasa)
http://let.hatelabo.jp/mikage014/let/gYC-yKnRg_XZcQ
G2PP (Google+ to Picasa photos_from_Post)
http://let.hatelabo.jp/mikage014/let/gYC-xKnRoemaRg
P2G (Picasa to Google+)
http://let.hatelabo.jp/mikage014/let/gYC-yKnRt8W1Ng
Google検索を使って住所から郵便番号に変換する方法
住所から郵便番号への変換を真面目にやるとDBを用意したり検索ロジックが大変だったりするのでGoogleの検索結果からスクレイピングで郵便番号を得る方法を紹介します。
のようにGoogle検索で「郵便番号 住所」で検索すると郵便番号検索がトップに表示されます。ここの郵便番号を取ってくれば住所を郵便番号に変換することができそうです。
Firebugでソースを見ると郵便アイコンに郵便番号付のURLがあるのでここから郵便番号を取得します。
- file_get_contentsで検索結果を取得
- 最初に現れる www.post.japanpost.jp の位置から適当な長さの文字列を切り出す
- 文字列に含まれる***-****を取り出す
コードに落とすとこんな感じ。
<?php $address = '東京都千代田区千代田1−1'; $query = urlencode("郵便番号 " . $address); // 郵便番号が含まれる文字列を切り出す $str = file_get_contents("http://www.google.co.jp/search?q={$query}"); $start = stripos($str, 'www.post.japanpost.jp'); $str = substr($str, $start, 200); // 文字列から正規表現で郵便番号を取り出す $matches = array(); if (preg_match('/\d{3}\-\d{4}/', $str, $matches)) { echo $matches[0]; } ?>
実行結果
> php test_address_google.php
100-0001
住所から郵便番号に変換できました。
PHPWordを使ってPHPで日本語Word文書を出力する
PHPWordを使うとWord2007以降で使われているdocx形式のWord文書を扱うことができます。これを利用してWord文書のテンプレートを読み込んで、値を埋めて出力することができます。よくある帳票処理に使えます。また、Win32OLEを経由しないのでLinuxでも動きます。
Wordテンプレートに日本語を埋め込む
PHPWordのExampleフォルダにTemplate.phpがあるのでこれをコマンドプロンプトなりで実行してみましょう。うまく動いたら置き換える文字列を日本語にして実行してみます。
<?php require_once '../PHPWord.php'; $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('Template.docx'); $document->setValue('Value1', '太陽'); $document->setValue('Value2', '水星'); $document->setValue('Value3', '火星'); $document->setValue('Value4', 'Earth'); $document->setValue('Value5', 'Mars'); $document->setValue('Value6', 'Jupiter'); $document->setValue('Value7', 'Saturn'); $document->setValue('Value8', 'Uranus'); $document->setValue('Value9', 'Neptun'); $document->setValue('Value10', 'Pluto'); $document->setValue('weekday', date('l')); $document->setValue('time', date('H:i')); $document->save('Solarsystem.docx'); ?>
はい、化けました。
フォーラムの記事を参考にPHPWord/Template.phpのsetValue()からutf8_encodeをコメントアウトします。
<?php public function setValue($search, $replace) { if(substr($search, 0, 2) !== '${' && substr($search, -1) !== '}') { $search = '${'.$search.'}'; } /* if(!is_array($replace)) { $replace = utf8_encode($replace); } */ $this->_documentXML = str_replace($search, $replace, $this->_documentXML); } ?>
今度はうまくいきました。
置換対象文字列を書くときの注意
PHPWordでやってる文字列置換というのが、OpenXML上の文字列をそのまま置換してるだけなのでOpen XML上で文字が離れてしまうと置換されなくなります。
例えば ${Value4} を ${Value3} に数字の部分だけ書き換えると↓のように文字が離れてしまい置換されなくなります。これで半日無駄にしました…。
一旦消してから1入力で${Value3}と入力すればOKです。
ちなみにOpen XMLの中身を見るには、private $_documentXML; の宣言をpublicにするか、getterを用意するなどして、var_dump($document->_documentXML); すると見えます。
参考サイト
PHPWord
http://phpword.codeplex.com/
East Asian characters appears wrongly
http://phpword.codeplex.com/workitem/8
Skype座談会用イヤホン分配セット
6/11の第9回山口県WEB勉強会では2会場を繋いでのSkype座談会でハウリングに悩まされました。2会場で共にスピーカー・マイクを使うと音声がループしてハウリングが起きます。原理的にハウリングを無くすにはサテライト会場が全員イヤホンにするのがいいかなと思ってできるだけ安価な方向で機材を揃えてみました。
- 6ポートイヤホン分配器 1,000円x2 @三月兎
- ミニS(オス)-フォンS(オス)ケーブル 150円x3 @サウンドハウス
- 4chヘッドホンアンプ HA400 Microamp 1,950円 @サウンドハウス
- ミニフォンS(F)-フォンS(M) 80円x5 @サウンドハウス
- イヤホン延長ケーブル*1 200円x5 @マルツパーツ館 秋葉原店
計5,800円。この装備で1つのイヤホン/ライン出力から12人までイヤホンが使えます。6ポート分配機が4つあれば20人までOKです。5人までなら6ポート分配機1つでもいけそうですが音量面でヘッドホンアンプを挟んだ方がいい気がします。
ケーブルと変換アダプタはサウンドハウスのCRASSIC PRO製品がやたら安いです。品質に不安を感じるのであればちょっと多めに買っておくといいと思います。僕のところでは特に不良品には当たっていませんが、CRASSIC PROのステレオフォンケーブルの赤白ゴムはすぐ取れるのでLRをマジックで書いておくと良いと思います。
ヘッドホンアンプもチャンネル数に応じて選べます。庶民の味方BEHRINGER。
4ch-4out
ベリンガー ヘッドホンアンプ HA400 Microamp 4ch
- 出版社/メーカー: BEHRINGER
- 発売日: 2018/09/01
- メディア: エレクトロニクス
- 購入: 5人 クリック: 58回
- この商品を含むブログ (10件) を見る
- 出版社/メーカー: BEHRINGER
- 発売日: 2018/09/01
- メディア: エレクトロニクス
- 購入: 1人 クリック: 13回
- この商品を含むブログ (3件) を見る
BEHRINGER ヘッドホンアンプ・DAC POWERPLAY PRO-XL HA4700
- 出版社/メーカー: BEHRINGER
- メディア: エレクトロニクス
- この商品を含むブログ (1件) を見る
Amazonにちょっとおされなのがあった。
【国内正規代理店品】belkin ベルキン マルチ イヤフォン スプリッター ROCKSTAR F8Z274
- 出版社/メーカー: Belkin Components
- 発売日: 2008/11/10
- メディア: エレクトロニクス
- 購入: 33人 クリック: 173回
- この商品を含むブログ (13件) を見る
*1:店頭売りの特価品を購入
第9回山口県WEB勉強会 東京サテライトを作って参加してみました
今回はINTEROP2011と予定が被ってしまったので、東京サテライトを立ち上げて東京から参加してみました。
ぼくは5月末くらいにわーっと作ったWebサービス「ATND地域検索」について発表しました。ぜひ使ってみて下さい><。
第9回山口県WEB勉強会
- ATND(山口) 第9回山口県WEB勉強会 : ATND
- ATND(東京) 第9回山口県WEB勉強会 東京サテライト : ATND
- Googleグループ: http://groups.google.co.jp/group/yamaguchiwebgroup
- 時間割: 第9回 山口県WEB勉強会 時間割
勉強会の流れ
今回は2拠点開催の利点を活かして、Webサービスの地域性について座談会を行いました。
13時〜14時 | 前回のふりかえり・自己紹介 |
14時〜15時 | 第2回 東京×山口 Skype座談会「WEBサービスの使い方に地域性はあるのかしら?」 |
15時〜18時 | 発表 (東京組:17:30撤収) |
18時〜19時 | ふりかえり |
19時〜 | 懇親会 |
私の発表スライド「ATND地域検索作ったよー」
振り返り
Skype音声通話のセッティングが難しい
という構成で行いました。Skype接続その2は当初予定になかったのですが、山口会場のマイク→さえきPCのスピーカーだと音が小さかったので、急遽むいちPC→みかげPCの音声接続を別途立ち上げました。
2会場ともマイク・スピーカーONにすると音声がループしてハウリングしてしまい、東京側で喋るときはマイクON、マイクONの時はスピーカーボリュームを下げる、ということをやっていたので東京側発表のときに山口側の反応が拾えていませんでした。すみません。
マイク・スピーカーとも本番で使うセッティングでテストしておくべきでしたね。
ハウリング問題は双方でマイク・スピーカーを使う限り避けられない感じなので人数少ない方が全員イヤホン使うのもありかなーと思って帰りにアキバで6ポートイヤホン分配器を買ってみたりしました。
HA400と組み合わせて結構な数をまかなえそう。(ポチ済
思いつきに乗ってくれて会議室の確保、プロジェクター等機材の準備にあたってくれた[twitter:@saekisms]、また、意思疎通が取りづらい中、進行して頂いた[twitter:@azmitter]氏には大変感謝しております。
山口、東京で参加してくれたみなさま、USTで見て頂いた方も、ありがとうございました。次回以降もぜひご参加下さい!