2009年5月21日木曜日

テキストで表を作成するツール(メルマガとかで使える)

自社製品のメルマガを出す際に、どうしても表組みにしたいところがあったので、テキストで表を作成するっ便利なツールはないものか、と検索したところ、とあるSEさんがつぶやいておられる中に、便利そうなツールの紹介が。

らくらく罫線

Excelのアドイン形式。

早速使ってみたんですが、泣きそうなぐらい便利。
ほんとにExcelの表がそのままテキストになります。
(そりゃ、色とかはさすがに無理ですけどね)

センタリングとかの位置揃えも出来ちゃうし、重宝しそうです。
いつも使っているExcelにアドインで使えちゃうところもステキ。

2009年4月17日金曜日

CSVの項目を並び替えるスクリプト

仕事で必要になったので、久々にコードを書くにはちょうどいいかも
と思い、WEBで調べつつ手軽なVBScriptで作成。
(VBScriptってトコがヘナチョコ感満載。でも、WSH使えるなぁ…)

[並び替え前のCSV]  [並び替えた後のCSV]
1番目の項目  --------> 5番目
2番目の項目  --------> 4番目
3番目の項目  --------> 2番目
4番目の項目  --------> 1番目
5番目の項目  --------> 3番目

といった変換をするスクリプトです。
本当に久々にコードを書いたので、
カッコワルサとかその辺は勘弁してください。
ちなみに、これ作るのに2時間もかかりました…
細切れで空いた時間に作ったとはいえ、萎える…orz


-------------------------------------------

'---------------------------------------------------------------
' CSV変換スクリプト
'---------------------------------------------------------------

Option Explicit

' 引数(ドラッグアンドドロップしたファイル名)を取得
Dim objArgs
Set objArgs = WScript.Arguments

Dim strFileName

If objArgs.Count = 0 Then
strFileName = InputBox("変換したい CSV のファイル名をフルパスで入力してください。")
Else
strFileName = objArgs(0)
End If

'ファイル名が入力されなかったら終了
If strFileName = "" Then
WScript.Quit
End If

Dim objFS

'定数の定義
Const ForReading = 1,ForWriting = 2,ForAppending = 8
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")

Dim objFileInput
Dim objFileOutput

Set objFileInput = objFS.OpenTextFile(strFileName, ForReading)
Set objFileOutput = objFS.CreateTextFile(strFileName & ".convert.csv", True)

Dim aryDestCols(4)
Dim strLine
Dim arySrcCols
Dim strCol

'ヘッダを書き出す場合はここで。
objFileOutput.Write _
"""1カラム目"",""2カラム目"",""さ~んカラム目""" & vbCrLf


Do Until objFileInput.AtEndOfStream
'変換元CSVを1行読み込む
strLine = objFileInput.ReadLine
'項目ごとに分解する
arySrcCols = Split(strLine, ",")

'マッピング通りに入れ替え
aryDestCols(0) = arySrcCols(3)
aryDestCols(1) = arySrcCols(2)
aryDestCols(2) = arySrcCols(4)
aryDestCols(3) = arySrcCols(1)
aryDestCols(4) = arySrcCols(0)

objFileOutput.Write Join(aryDestCols, ",") & vbCrLf
Loop

objFileOutput.Close
objFileInput.Close

2009年4月2日木曜日

体制変更、技術寄りなポジションに戻りました

技術部門から営業部門に転向して3年。

技術への関心と知識を落さないように、
と思ってこのブログを始めたものの、
結局技術系なネタはほとんどなし、でした。
反省。

そんな中、会社の組織体制が4月から変更、
ボクはまた技術系の立ち位置に戻ることに
なりました。

技術系、といっても、ほとんどプロマネみたいなもんですが。

プロダクトを抱えているので、業務系知識から
市場データや競合等の情報整理、それらをまとめた
製品企画から実装、品質管理まで、幅広く
担当していくことになりそうです。


というか、そういった幅広くまとめていけるように
ならないといけなさそうです。

ちょっと大きな変化ですが、何とかかんとか
頑張っていきたいと思います。

というわけで、今後、ひょっとしたらまた
技術寄りなネタもエントリーできるかもしれません。
期待薄ですが…。

というわけで、今日が新年度スタートの方も
多いかと思いますが、今期もよろしくお願いします。

2009年2月13日金曜日

名前だけでも覚えて帰ってください

デブサミ2009、初日の最終コマ「コミュニティから選出のLT大会」で、
Linuxコンソーシアム リッチクライアント部会の代表としてカールの
梅村さんと二人で発表してきました。

LT(ライトニング・トーク)ということで、全11団体が持ち時間5分の中で
精一杯自己表現するわけですが、そんな中、私たちは「漫才」してきました。

いや、一度やってみたかったんです。人前で漫才。
死ぬまでにやりたい100のリストにも、ちゃんと書いてます。

最後の方でボクがネタを忘れてしまって頭が白くなりかけたシーンも
ありますが、梅村さんが見事にフォローしてまとめてくれました。さすが。

<追記>
部会でSilverlightを担当いただいた宮崎さんが動画を撮ってくれていました。
http://koguma98.com/devsumi2009/RichCl/
※Silverlight2のランタイム要
</追記>

結局、「何をしてる部会なのか」があまり伝わらなかったと思いますが、
Welrichプロジェクトは真面目にやってますので、興味のある方は是非
部会にご参加ください。

http://www.linuxcons.jp/modules/i_richclient/


大事なLTで漫才やるようなリーダー2名でやってる部会なので、
これ以上ないぐらいの気軽さで来てもらえれば、恥をかいてまで
素人漫才をやった甲斐があるってもんです。

皆さんのご参加、お待ちしてます。
(と言いつつ、次回の開催日をまだ決めてないダメリーダー…すいません)

2009年1月20日火曜日

SOAは死んだそうです

興味深い記事。

「SOAは死んだ」
http://japan.cnet.com/blog/0040/2009/01/19/entry_27019558/

<引用>
SOAとはサービスに基づいたアーキテクチャを構築する考え方であったはずなのに、ベンダーのセールストークによって、既存のアプリケーションを都合よく結合するツールに成り下がっていたのです。
</引用>

まさに、そうですね。
ベンダーでセールストークしているボクにとっては、耳の痛い話です。

「既存のシステムを変更することなく繋げることが出来るようになります」
といって実際に繋いでみたけど、それは上記のエントリー内にあるような
SOA本来の「アプリケーションポートフォリオの再設計」などという
崇高な理念の下に行ったものではなく、
「とりあえず変更できないから上に被せて何とかしよう」
というものでした。

SOAというよりは、マッシュアップ。

ちなみにこのブログで一番PVが高いのは、
なぜSOAは普及しないのか
です。
良くも悪くもキーワードとしては人気なんでしょうね。


これからはマッシュアップ。
ただ、冠に「エンタープライズ」はつけちゃいけない
1年以上経った今も、相変わらずボクはそう思っております。

2009年1月16日金曜日

【メモ】MIMEとDIME

AmazonのWebサービス仕様を調べていたら、皆さんご存知「MIME」と同じ並びで「DIME」という言葉があることを知ったので、メモ。

DIME/WS-Attachment入門(msdn)

.Netプラットフォームじゃないと使えないみたいだけど。
(間違ってたら教えてください)

2009年1月15日木曜日

Shuriken Pro(メーラー)・・・もう使いません!

■2012/02/15追記(ココから)
このページは継続的にアクセスがあり、皆様からコメント欄にて有益な情報をご提供いただきました。
元投稿とは別に、先に復旧のための情報をまとめておきます。コメントをいただいた皆さん、ありがとうございます!


OS:Windows XP
Shurikenのバージョン:Shuriken Pro 4

以下、データ復旧に役立ちそうな情報

バックアップがある場合
直近のバックアップしたファイルよりリストアをおこない、新フォルダに旧フォルダを上書きする
(鍵科学さんのコメントより)


バックアップがない場合

Shurikenのツールを使って復旧(←これが一番簡単そう)
スタートボタンからshurikenの「ユーザー管理ツール」を起動し、「リカバリー」ボタンをクリック、メールデータが保存されているフォルダを指定
(匿名さん…2012年2月15日のコメントより)


Shurikenのツールを使わずに復旧(←最終手段)
メールデータ保存場所の中にある、拡張子が「mbx」で終わるファイル(=メール本文の固まり)を見つけ、Shrukenの「フォルダ」メニューから「インポート」を選び、mbxファイルを指定する

メールデータが保存されている場所
 C:\Document And Settings\<ユーザ名>\Application Data\Justsystem\Shuriken

(大事なこと)
サポート期間が終わって問合せ出来ないからといって、腹を立てない(ボクだけですね)

■2012/02/15追記(ココまで)


今朝、会社についてノートPCを開き、メールを受信するためにいつものようにShuriken Pro 4を起動。

いつもなら、まずはパスワード入力画面が表示されるのに、なぜか「アカウント設定ウィザード」が表示される。

嫌な予感…。

ウィザードをキャンセルしてとりあえず起動すると、予感的中。受信フォルダから何から何までスッカラカンの初期状態。
営業を生業としているボクにとって、仕事上メールは一番大事なモノといっても過言ではない。
思わず走って逃げ出したくなったけど、とりあえずデータファイルが残ってないか探してみることに。

Outlook等ならまだしも、Shurikenのデータ保存先なんて正直どこにあるのか全然わからないけど、4年近く溜め込んでいるのでデータサイズは相当大きいはず。そこで、Scannerを使ってHDDのフォルダ別要領を調べ、
Document And Settingsフォルダの中の隠しフォルダを探し当ててデータファイルを発見。

<Scannerの画面キャプチャ>


ただ、mbxファイルがフォルダ別に作成されており、やたらとフォルダ分けして管理していたボクにとっては復旧作業は地獄。
とりあえず、途中で打合せなんかも挟みながら、結局18時過ぎに完全復旧。

ボクの一日を返してください・・・


以前からShurikenは、メールを個別表示すると、いきなり不意に画面が真っ白になったり、しかもサポートに電話しようと思ったら「2008年11月11日でサポートは終了しました」とかHPに書いてあるし、もう金輪際Shurikenなんて使いません。Thnderbirdに乗り換えます。

皆さん、不足の事態に備えてメールのバックアップは定期的に取っておきましょう。
じゃないとこんな風に、知らない人に「ダメな子」として晒されてしまいますよ?



でやーーーっ!グサッ!(俺のハートに)
密令 シュリケン マグネット[ピンク] 2個セット


ほんと皆さん、バックアップは取っておきましょう。
あ、普通は取ってるんですか?そうですか。

2009年1月13日火曜日

RSSの内容をJavaScriptで表示する

あけましておめでとうございます。
すっかり更新が滞っておりますが、今年はもうちょっと技術ネタを書けるように頑張ります。

さて、今さらですが会社から発信する情報を、毎回ゴリゴリとHTMLで書くのはもうイヤだ!と思いまして、というか以前から思ってまして、ようやくRSSフィード化&ページにも自動表示!対応を行いました。

フィードの作成には「RSSエディタ Headline-Editor Lite版」(無償)を使いました。
(既に有名なソフトなようですが、確かにシンプルで使いやすいエディタです)

これで作ったRSSをWEBサーバに配置したら、後はそれを読み込んで表示するJavaScriptを書くだけ。

ちょこっとWEBで調べて、今回はGoogle先生のAPIを利用させてもらうことにしました。

Google AJAX Feed API を使ってJavaScriptでサイトにRSSフィードを表示する方法
を参考に(というかパクって)、何とか完成。

WEBサーバに配置したXMLがなかなか反映されないのは、キャッシュのせい?
などと、ちょっと不明な点もありますが、これでアップデートする度に「あっちのページもこっちのページも同じように修正しなければ」という不毛な作業がグンと減りそうです。