メイン

Movable Type アーカイブ

2005年05月02日

ハッピープログラミングのススメ

結局のところ、技術というよりは、コミュニケーション能力が問われるわけです。

仕事とは?

* 技術を習得し、その技術を利用して、お客様に便利なサービスを提供していく。
   これがわれわれの仕事です。
* 技術を追求していくことも勿論大切なのですが、技術だけで仕事ができるわけではありません。
* 何のための開発や制作であるかを忘れてはいけません。
* お客様は、人間であることを忘れてはいけません。
* お客様が困っていることは何でしょう。と自分に問いかけてみよう。
* お客様が怒っていることは何でしょう。と自分に問いかけてみよう。
* お客様が喜ぶことは何でしょう。と自分に問いかけてみよう。
* お客様の声に耳を傾け、じっくりと考えていきましょう。
* 自分がやれる、やれない。というレベルで考えるのではなく、
会社として、どのようにすればできるのか、まずは考えていきましょう。

iPLUSONEのハッピープログラミングのススメ

* プログラミングは知的でわくわくする楽しいことである。
* しかし、そこへたどり着くにはなかなか難しい時代である。
o コンピュータへの要求が多様化しているということが一番大きい。
o 特に初心者は、何からやっていいのか。
o そうはいっても、やれる人はどんどん進んで、やれない人は甘えているだけというのが大きい
o できる人、できない人という括りは、結局は、やる人、やらない人というだけのことだ。
o とはいっても、精神論だけでは解決策が見出せないので
o ソフトウエア開発を事業とするものとしては、なんらかの方針を示す必要がある
o 何でもかんでも、個人任せな会社にはしたくない。
* 初心者が、エンジニアになるために、どういったアプローチがよいか。
* その中で、何が問題になるのだろうか。

* 理論ばかり立派でアウトプットがでないのでは困る。
* 理論と実践のバランスが大切である。
* とにかく実践せよ。実践すると何らかの結果が出る。
* ネットでだれかやったことを鵜呑みにしてはいけない。実際に試して、どうなるか。確認すること。
* 「・・らしい」では、話が先に進まない。
* 「・・だった」。だから、次にどうする。という最終判断までもとう。

* 最初は誰もわからない
* 最初は、知らないことばかりだ。
* 何かを習得しようとすれば新しい言葉の嵐で、それらを調べていくうちに、何を覚えようとしていたのかがわからなくなる。こんな経験はないだろうか?
* 全部を一気に習得することは難しい
* 個々の小さく噛み砕いて、理解できる範囲を狭めていくことが重要
* とにかく、コツコツと蓄積していくしかない。
* 最初からあれこれ聞いていては、煙たがられるだろう。 などと、気を使うことはない。
* ビギナーの特権である。最初から聞きまくれ。
* ただし、すべてを聞くのではなく、聞くポイントを考えてみよう。
* 自分が試せば済むことは、自分でやること。
* 何を聞いたらいいのかわからない。と困っているなら、それを相談すればよい。

2007年12月22日

レイアウトの変更

ようやくMTのテンプレートをいじくる時間ができたのでチャレンジしてみた。
トップは3段組に変更した。
しかし、記事ページがおかしい。
トップと同じレイアウトでいいの・・・

あと、alpha, beta, gammaなんていうカラムのつけかたはよくないな。

これらの名前は、日本語名にして、一度それで設定したものから
スタイルシートやHTMLファイルを生成するように
してあげるラッパーをつくったら結構受けそうだが、どうだろ。

2007年12月23日

Movable Typeでソースコードを記述するために

プログラムソースコードをWeb上で公開する場合、
そのまま表示したいのだが、タグだけで対応するのでは意図しない結果になる。
スペースやタブ、そして、記号文字がパースされた時点で無視されてしまうからだ。

それだけでなく、せっかくだから言語の予約語などはハイライト表示したいという
希望にかなったものがsyntaxhighlighterだ。


ダウンロードしてきて、スタイルシートとJavaScriptを使えるようにすればよいだけだ。
あちこち、使い方を説明しているサイトがあるので参考にすればよい。

ただ、改行位置に、「<br />」が入ってしまい悩むと思うが、
これはMovable Type側で改行を「<br />」に変換するためである。
ソースコードを貼り付ける前に、改行を「&#10;」に変換してから貼り付ければよい。

2007年12月24日

MTのエントリを自動で登録するには?

この連休中でMT(Movable Type)のカスタマイズ方法について急速に理解を深めた。
うちの会社サイトもこのMTを利用して作られていはいる。

MTの仕組みやは知っていたが、実際にカスタマイズまでやってみるといろいろと見えてくる。
カスタマイズされたあとのブログ運用が大変便利なのは前からわかっていたが、
カスタマイズ自体は、簡単にできることと、それ以上のことで差が大きい。

なぜかMTのデフォルトデザインは、ダサい色と、ダサいレイアウトなのだが
このあたりを変更するのはカスタマイズというよりも、HTML自体の編集といったほうがよい。
入力フォームでやれるような内容ではない。
クライアント上でファイル編集して、FTPでアップロード、再構築。という作業になる。
これではCMSとはいえない。

このあたりも含めて設定だけで、できるような仕組みをプラス提供してあげれば
便利だなと思った。

ブラウザから次のようなことができるような仕組みを考えてみたい。
・レイアウト変更が自由自在にできる。
自由自在ではなくとも、カラム2、カラム3の変更。
カラム2も、メニューの左右は選べるように。

・スタイルシートになっている値の変更
せっかくスタイルシートで指定している値は、画面上から、もっとわかりやすい名前で参照できるようにして、
変更したらスタイルシート生成、そして再構築できるようにしたい。

何かを使ってみると、いろいろなリクエストが沸いてくるが、これが本業ではないので
まずやらなければならないことはというと、

ZorgへアップしたフォトをBloggerにリンクを張ってコメントを書いていたが
ここのBlog一本でいけそうなので、あちらは廃止する。
mixiも、どんなものかとフォトアルバムを試しに有料で使ってみたが、これも続けるほどではない。

そうなるとBloggerやmixiにあげた日記をこちらへ移行しておきたい。
幸いMTは、過去日付エントリーが可能なので、移行というよりも
再度エントリー作成からでもよいと思っている。

勿論手作業ではなく、自動生成させての話だ。

Zorgから各フォトページのURLとフォトのURL、そして撮影日をもってきて、
それを元にエントリーを生成する。
もってくるほうは頭に浮かぶが、MTのエントリは直接DBへ書いてよいのか?
ちと調べてみよう。

と思ったら、そういえばHomepasge BuilderからXML-RPCインタフェースを使った各ブログサイトへの
書き込みインターフェイスってのがあった。
ということで、このXML-RPCインタフェースが用意されているわけだから、
自前でこの処理を書けば、登録できるということになる。

XML-RPC APIを使った投稿

XML-RPC 仕様書

Movable Type で使える XML-RPC API

Zorg API [zorg.photos.getPhotos]

ようやく辿り着いたが、zorg.photos.getPhotosのレスポンスから必要な情報を取得する。

まずは、PHPのソースをどうぞ。

1回のリクエストでは50件づつ返すので、リクエストを繰り返して、欲しいところを抜き出すこと。
その際、リクエストのパラメータに開始番号(start)が必要になる。

ちなみに、最後に投稿したフォトが1番となり、一番古いのが最後となる。
あと、公開していないフォトは除外されて出てこないので、総数からもはずされている。

これで、すべての情報が整った。

2007年12月25日

XML_RPCにて自動登録が成功だ!

XML_RPCにて自動登録実施中


長い道のりであった。わかってしまえば詰まらん理由ではあるが、 皆のためにまとめておこう。

その前に、
カテゴリーのセット
タグのセット
もやってしまおう。

続きを読む "XML_RPCにて自動登録が成功だ!" »

2007年12月26日

Zorgフォト一覧からMTエントリの登録(総集編)

Zorgのzorg.photos.getPhotosは、指定した番号のフォトから50枚の情報を返す。
したがって、4000枚だから80回GETする必要がある。
これをWEBアプリとして動かすのは、危険なので、以下のような仕組みにした。


■get_zorg.php
引数で開始番号を与え、zorg.photos.getPhotosでその開始番号から50件のみ取得し、
1件1行で出力。
フォーマットは、フォトID,タイトル,ViewサイズのURL,投稿日時,撮影日時
カンマ区切りで出力

■ex.sh
get_zorg.phpを起動して、結果をファイルmy_photo.txtへリダイレクト
ループで、4000になるまで、+50づつ。

データ行以外に、HTMLタグが出力してしまっているので
それを取り除く。幸い先頭がフォトIDで、iから始まっているので、iではじまらない行は除外。

% grep ^i my_photo.txt > my_photo_result.txt

これでフォト一覧ファイルができあがり。
このファイルをよみながら、XML_RPCでMovable Typeへ書き込みを行うプログラムを作成した。

ファイルから読み込んだ内容をMovable TypeへXML_RPCで書き登録するPHP

今回、行った問題点を整理しておく。


最初のミステイクは、
$client = new XML_RPC_client( $path, $host, 80 );

$client = new XML_RPC_client( $host, $path, 80 );
としちまった。ホスト、パスという順番だろうという思い込み。
メソッド定義をよみましょう。

XML_RPC_Messagenのメソッドで、記事を投稿するメソッドには、
blogger.newPost
metaWeblog.newPost
の2つがあり、最初blogger.newPostを試した。
こちらはすんなりと成功した。
それもそのはず、引数すくない。
まず、タイトルがない。というか本文の先頭10文字が勝手にタイトルになる。
なんじゃ、この仕様は?記事本文しか登録できない。

で、次にmetaWeblog.newPost
こちらは、ほぼすべての項目の登録が可能。
しかし、嵌った。

投稿日時がまずかった。
//"dateCreated" => new XML_RPC_Value('2007-12-25', "ISO.8601")
これでいけると疑わず、最後までほかをチェックしていたら
'dateCreated'=> new XML_RPC_Value(date("Ymd\TH:i:s",time()), 'dateTime.iso8601')
正しくは、こちらであった。

2007年12月27日

年末残課題




最近MTをはじめてから、カスタマイズに時間をとられ睡眠不足です。
いろいろやりたいことが沢山あるがなかなか反映できない。

ソースコードの表示にSyntaxHighlighterを利用しているが、
これがアーカイブページや検索結果に反映されない。

カレンダーを追加してみたが、アーカイブのリンク先にカレンダが表示されてしまうようになったので、はずした。

あと、Zorgのフォトからエントリー作成計画は、2000件ほど完了。
どうも1000件くらいでサーバにConnectできなくなる。
で、今朝再度チャレンジしてみたが、1件も登録できずという状態。
残り2000件ほどは冬休みに対応する。

聖徳太子は10人の人と話ができた云々いわれているが、
今私は、複数の人と
C,PHP, Java, JavaScript, SQL, bash, perl, ruby, MTタグ, CSS,
そして、りんたろうとは、りんたろう語で会話をしている。

2007年12月28日

復旧完了

MTのエントリに、Zorgへのフォトリンクを全部登録したんだけど
1件1エントリーは面倒なので、日付単位でまとめて、どかんと登録したら
壊れた。(笑)

で、その場所では、全エントリを削除して再構築したんだけど
どうにもこうにもInternal Server Errorの呪縛から逃れられず
場所を移動しました。

ということで、
http://www.iplusone.sakura.ne.jp/
に新しく構築。

About Movable Type

ブログ「iPLUSONE Photo Blog」のカテゴリ「Movable Type」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはJavaScriptです。

次のカテゴリはMySQLです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34