2010年11月9日火曜日

ITを象徴するロゴ

Check


IT界隈に象徴されるロゴを適当に配置してみた。ハードは一般的なものだけ並べた感じ。

技術屋さんであれば本当なら開発言語やプラットフォーム、ライブラリなども組み合わせたいが、複雑な上に冗長になるので、ハード、OS、ブラウザ、Webサービスをチョイス。

これをどうしろと言われても仕方がないがなんとなく配置しただけなので答えようがない。

できあがった感想は、なんだか幅が広いなぁといったところ。

2010年10月27日水曜日

IE7のショートカット

Check

IE7

キーボードのショートカット

後ろに新しいタブを作成してリンクを開く
CTRL+クリック

前面に新しいタブを作成してリンクを開く
CTRL+SHIFT+クリック

前面に新しいタブを開く
CTRL+T

アドレス バーから新しいタブを開く
ALT+ENTER

検索ボックスから新しいタブを開く
ALT+ENTER

クイック タブを開く (縮小表示)
CTRL+Q

タブを切り替える
CTRL+TAB/CTRL+SHIFT+TAB

指定のタブ番号に切り替える
CTRL+n (n は 1 から 8)

最後のタブに切り替える
CTRL+9

現在のタブを閉じる
CTRL+W

タブをすべて閉じる
ALT+F4

ほかのタブを閉じる
CTRL+ALT+F4

マウス ショートカット

リンクを後ろのタブで開く
リンクで中央のマウス ボタンをクリック

新しいタブを開く
最後のタブの右側で空の場所をダブル クリック

タブを閉じる
タブの真ん中のマウス ボタンをクリック

2010年10月22日金曜日

ブラウザで簡単にスマートフォンアプリが作れる!

Check
http://www.widgetbox.com


RSSリーダーを作ってみたよ!


コードを書かずに作れるので垣根が低くなりましたね!

2010年10月19日火曜日

クイックソートのソースを読んだ

Check
抽象化するのか具体化するのか中途半端になっちゃった。




もっとこまかくしたいな。


'Sub関数宣言(引数:array=配列、first=開始位置、last=終了位置)
 Sub quicksort(array, first, last)
     '変数宣言(point=配列の値, f=, l, tmp)
     Dim point, f, l, tmp
     '一番初めの配列の値を格納する
     point = array(first)
     '開始位置と終了位置を格納する
     f = first: l = last
     'ループ処理
     Do
         '値同士を比較して、一番初めに格納した値よりも小さければ、fを加算し続ける
         While array(f) < point: f = f + 1: Wend
         '値同士を比較して、一番初めに格納した値よりも大きければ、lを減算し続ける
         While array(l) > point: l = l - 1: Wend
         'fがlと一致するかlよりも大きい場合ループ処理を抜ける
         If f >= l Then Exit Do
         'fがlより小さい場合f番目の配列の値をtmpに格納する、
         'f番目の配列の値にl番目の配列の値を格納する、
         'l番目の配列の値にtmpを格納する
         '(要するにf番目の配列とl番目の配列を入れ替える)
         tmp = array(f): array(f) = array(l): array(l) = tmp
         'fに1加算、lから1減算
         f = f + 1: l = l - 1
     Loop
     '引数の開始位置よりもf-1が大きい場合再帰する(引数に配列、開始位置、f-1を設定)
     If first < f - 1 Then quicksort array, first, f - 1
     'l+1よりも引数の終了位置が大きい場合再帰する(引数に配列、l+1、終了位置を設定)
     If l + 1 < last  Then quicksort array, l + 1, last
'関数終了
 End Sub

2010年9月29日水曜日

Twitterが新しくなった

Check


Twitter検索が早くなった印象&新UIガチャガチャいじってTLじゃな区なった画面でもポップアップさせてツイートできるのはナウいless than a minute ago via web



長い検索は「ツイートの読み込みに時間がかかっています。」って表示されるけどくじらさん引退したの;;?less than a minute ago via web



このエントリーは Blackbird Pie で焼きました!

2010年9月28日火曜日

zenbackのブログパーツを試してみた

Check



社名が変わらない方のシックスアパート日本法人が運営するzenback(http://zenback.jp/)のブログパーツをbloggerに導入してみた。

zenbackのブログパーツを利用して表示できるコンテンツは、関連記事、
関連リンク(必須かな?)、はてブ(なぜ略称?)、Twitter、アクセス元、mixiチェックの6つ。

関連記事と関連リンクは1日以上待たないと表示されないようだ。

アクセス元はブログ主のカスタマイズ画面や投稿画面のURLも表示されてあまり参考にできなかったのではずした。(たぶんブログ主のアクセスを記録しない設定にすることで有効にできそうだけど。)

仮登録みたいなことをして数日後に準備ができましたメールが届くので、ブログパーツを仕掛けるのを忘れないようにw

2010年9月25日土曜日

Webフラットインターフェース問題

Check

Webのフラットなインターフェースになれすぎて、リアルもフラットにとらえがちで単純思考に陥りやすい弊害が起きているかも。いやフラットに捕らえることは悪くなくて、でもそれだと立体的に物を語る人には太刀打ちできない。less than a minute ago via webSarry Kenmi
fukkhd


たとえばX軸に人気者、Y軸にハッカーがあって捉えられるけど、Z軸のリアルギークが観測範囲にできない情報弱者がはまちちゃんをDisってしまう問題とか起きている。less than a minute ago via webSarry Kenmi
fukkhd


Webフラットインターフェース問題と。less than a minute ago via webSarry Kenmi
fukkhd

CSVに含まれるダブルクォーテーションを取り除くには

Check
CSVの区切り文字としてダブルクォーテーションが含まれる場合、次のコードをvbsファイルとして保存することで、ドラッグ&ドロップ、もしくはVBSファイルの後ろに引数でファイル名を渡して実行することで、新しいファイル名「@_hoge.csv」が作成できる。

(sample.vbs)
'オブジェクト宣言(FileSystemObject)
Set objFso = CreateObject("Scripting.FileSystemObject")

'引数チェック
fname = WScript.Arguments.Item(0)

'拡張子チェック(CSV)
If objFso.GetExtensionName(fname) = "csv" Then

'オブジェクト宣言(OpenTextFile)
Set objTxIn = objFso.OpenTextFile(fname)

'フルパス
path = objFso.GetParentFolderName(fname) & "\"

'ファイル名
txOut = path & "@_" & objFso.GetFileName(fname)

'オブジェクト宣言(CreateTextFile)
Set objTxOut = objFso.CreateTextFile(txOut)
'オブジェクト宣言(OpenTextFile)
Set objRegexp = New RegExp

With objRegexp
.Pattern ="""([^""]+)"""
.Global=True
End With

Do Until objTxIn.AtEndOfStream =True
txTmp = objTxIn.ReadLine()
Set Matches = objRegexp.Execute(txTmp)
txOut = txTmp

For Each Match in Matches
txOut = objRegexp.Replace(txTmp, "$1")
' txOut = Replace(txOut, ",",",'")
Next

objTxOut.WriteLine(txOut)
Loop

objTxOut.Write(txOut)
objTxIn.Close()
objTxOut.Close()
MsgBox("終了")
Else
'txtファイル以外の場合
MsgBox("csvファイルをドロップダウンしてください")
End If

たとえばこんなCSVファイルなら

"地域","店舗名","住所","tel"
"北海道","○×店,札幌市○×区1-1","xxx-xxx-xxxx"
北海道","××店","札幌市××区2-2","xxx-xxx-xxxx"
北海道","△△店","札幌市△△区3-3","xxx-xxx-xxxx"
"北海道","○○店","札幌市○○区2-1","xxx-xxx-xxxx"
このようになる。

地域,店舗名,住所,tel
北海道,○×店,札幌市○×区1-1,xxx-xxx-xxxx
北海道,××店,札幌市××区2-2,xxx-xxx-xxxx
北海道,△△店,札幌市△△区3-3,xxx-xxx-xxxx
北海道,○○店,札幌市○○区2-1,xxx-xxx-xxxx


  • オチ
UNIX上のCSVの場合は次の一行でよかったりする。

$ sed -g 's/"//' 元ファイル > 先ファイル

2010年9月16日木曜日

Ubuntu 10.04でPDFの日本語が表示されない

Check



そんなときは


$ sudo apt-get install poppler-data


あっさり解決。

2010年9月15日水曜日

テレビも映画も3D対応するんならWebだって3D化だよね

Check
まずはアイコンからw


















ここでダウンロードできます。


デスクトップアイコンもやっつけで作った^^















Twitterが新しくなった

Check
スタートアップページが公開されていたので、Twitter社のいきごみが感じられる。
http://twitter.com/newtwitter

公式アカウントのtwjさんのブログでも紹介されています。(フットボールとかちょっと直訳っぽいかな^^
http://blog.twitter.jp/2010/09/twitter.html

あとで画像貼る↓
なにが新しいの?

デザイン

写真、ビデオ、その他の外部コンテンツの表示

関連コンテンツの発見

ミニプロフィール

プレビュー公開のタイミング

2010年9月13日月曜日

mixiチェックを導入してみた

Check
bloggerのデザインをカスタマイズしている場合、ウィジェットのテンプレートを展開する必要がある。
「ウィジェットのテンプレートを展開」のチェックボックスをチェックすると『<div class='post-header-line-1'>』が検索できた。

mixiチェックしてみてください。

参考にしたサイト:Bloggerにmixiチェックボタンを設置する方法

追記:
個別記事ごとにmixiチェックできるように改良してみた。

参考にしたのはTwitterの公式ツイートボタンを導入する方法。

data-urlの行を次の2行に変えただけ。

expr:data-url="data:post.url"
expr:data-text="data:post.title"

参考にしたサイト:Blogger に Twitter 公式のツイートボタンを導入する方法

2010年8月24日火曜日

lamp-serverやらphp5をいれた

Check
せっかくインストールしたNetBeansを使って何か作ろうと考えた。

そうだRubyなんかでつくるbookmarkツールを作ろうと思った。

なんだか簡単そうなイメージがあるCakePHPを使おうかななんて、それならばMySQLとかいれなきゃなあと、チュートリアルなどを読みあさっていたら、lamp-serverで簡単にインストールできるんだな。

セットアップしてphpmyadmin開こうとしたらindex.phpがダウンロードされてしまった。

いろいろ調べたところ、php5-commonが悪いということに。

apt-get --purge remove php5-common

apt-get install php5

これでいけた。

つづく

Ubuntu 10.04にLinux AMP (LAMP) パッケージをインストールする

Check

ソフトウェアパッケージを同時にインストール

Ubuntu には、PHP 環境に必要なパッケージがすべて含まれる Linux AMP (LAMP) パッケージがあります。「端末」ウィンドウのコマンドプロンプトで次のコマンドを実行することで、ソフトウェアをインストールできます。

sudo tasksel install lamp-server

lamp-server パッケージには、最適なバージョンの PHP、Apache 2、MySQL、および PHP5-MySQL が含まれます。


くわしくはApache、MySQL、および PHP のインストールについては、Ubuntu コミュニティーを参照してください。


2010年8月11日水曜日

Ubuntu 10.04 に NetBeans をインストールする

Check

 

JDKをインストールせずに、NetBeansを入れてしまった!



$ sudo apt-get install netbeans




どうなっちゃうんだろう。。



ubuntu_netbeans



つづき



ubuntu_netbeans_jdk





ちゃんとopenjdk-6-jdkが展開されたよ!



 



起動できた!



ubuntu_netbeans_run2



かっこいい!!!



ubuntu_netbeans_screen



(まだちゃんと動くかどうかみてない。。)



つづく

2010年8月6日金曜日

htaでtextarea

Check

せっかくなのでtextareaに表示しましょう。

MsgBoxを「document.form1.result.value = 」に変えて。

document.form1.result.value = strTemp

実行するとこんな感じに。

screen_textarea

おさらい含めて一旦ここまでのソースを下記に。

<html>
<head>
<title>サンプル・プログラム</title>
</head>
<body>
<form name="form1">
<p>テキスト格納フォルダ(フルパス)
<input type="text" name="fileaddr" value="c:\temp" /></p>
<p><input type="button" value="テキスト内容"
onClick="go_list()" /></p>
<textarea name="result" cols="80" rows="30" wrap=off></textarea>
<p><input type="reset" value="テキスト内容の初期化"></p>
<p><input type="button" value="終了" onClick="window.close()" /></p>
</form>
<script language="VBScript">
'テキスト内容ボタンクリック時
Sub go_list()

' MsgBox "テキスト内容ボタンが押されました。"

Call GET_FileName

End Sub

' ファイル一覧取得
Sub GET_FileName()

Dim WshShell, oExec
Dim strTemp

Set WshShell = CreateObject("WScript.Shell")

' dirコマンドの実行
exCommand = "cmd /c dir /o"
exCommand = exCommand & " " & document.form1.fileaddr.value & "\*.*"
Set oExec = WshShell.Exec(exCommand)

Do Until oExec.StdOut.AtEndOfStream
strTemp = strTemp & oExec.Stdout.ReadLine() & vbCrLf

Loop

' MsgBox strTemp
document.form1.result.value = strTemp

End Sub

</script>
</body></html>

2010年8月5日木曜日

htaでDirコマンド

Check

じつは前回の記事ではDir関数の結果をきちんと取得できていない。

「exCommand = exCommand & " " & document.form1.fileaddr.value & "*.*"」の行でテキスト格納フォルダ(フルパス)のテキストボックスで指定したフォルダに「*.*」を文字列連結してDirコマンドのパラメータとして使用していたため、

dir c:\temp*.*

と同義となった。

そのため、『c:ドライブ配下の先頭がtempを含むファイル名(.ドットを含む)』という意味となり、tempフォルダはおろか、そのほかのファイルにもヒットせず、C:\の空き容量を示すのみとなっている。

 

改善方法は"*.*"の前に「¥」を追記し、ファイルが複数あった場合のコードにする。

ReadAllをReadLineに変更し、Do Untilで全行取得しきるまでループさせよう。

 

改善したGET_FileName関数は下記のとおり。

    ' ファイル一覧取得
    Sub GET_FileName()

        Dim WshShell, oExec
        Dim strTemp

        Set WshShell = CreateObject("WScript.Shell")

        ' dirコマンドの実行
        exCommand = "cmd /c dir /o"
        exCommand = exCommand & " " & document.form1.fileaddr.value & "\*.*"
        Set oExec = WshShell.Exec(exCommand)

        Do Until oExec.StdOut.AtEndOfStream
            strTemp = strTemp & oExec.Stdout.ReadLine() & vbCrLf

        Loop

        MsgBox strTemp

    End Sub

実行すると下記のメッセージが表示される。

dir_msg2

htaで関数を宣言しよう

Check

先記事のつづきで。

関数を宣言します。

関数名は仮にGET_FileName として、以下のように記述。

' ファイル一覧取得
Sub GET_FileName()

    Dim WshShell, oExec
    Set WshShell = CreateObject("WScript.Shell")

    ' dirコマンドの実行
    exCommand = "cmd /c dir /o"
    exCommand = exCommand & " " & document.form1.fileaddr.value & "*.*"
    Set oExec = WshShell.Exec(exCommand)

    MsgBox oExec.Stdout.ReadAll

End Sub

関数ができたら、前段の「MsgBox "テキスト内容ボタンが押されました。"」の行をコメントアウトし、「Call GET_FileName 」を追記して関数を呼び出そう。

dir_msg

実行すると、コマンドプロンプトでdirコマンドを打ったときの情報がメッセージボックスに表示されます。

なんかビビッときませんか?この文字列を成形すればディスク上の情報は自由に表示させることができそうですよ。

すでに、テキストボックスに実在するパスを入力してdirで表示できる情報をメッセージボックスで表示するプログラムが完成しているのです。

つづく

さっきのつづき

Check

さっきのソースをhtaファイルとして保存して、ダブルクリックすると下のようになる。

screen

まだ読み込みのコードが書かれていないのでテキスト内容ボタンを押すと、エラーメッセージが表示される。

 

screen_err

ランタイムエラーというのは、テキスト内容ボタンのところにある「onClick="go_list()"」の「go_list()」が宣言されていないために発生するのだな。

<body>~</body>に、scriptタグを書いて宣言すればエラーとならない。

<script language="VBScript">
    'テキスト内容ボタンクリック時
    Sub go_list()
        MsgBox "テキスト内容ボタンが押されました。"
    End Sub
</script>

screen_msg

msg

htaプログラミングがお手軽なのが実感できたのではないだろうか。

昨日の記事のつづき

Check
 
画像でソースを貼ることがいけてないことに気がついた。
 
メンテナンス性、流用性のためにテキストベースで再掲。
sample001.hta
<html>
<head>
<title>サンプル・プログラム</title>
</head>
<body>
<form name="form1">
<p>テキスト格納フォルダ(フルパス)
<input type="text" name="fileaddr" value="c:\temp" /></p>
<p><input type="button" value="テキスト内容"
onClick="go_list()" /></p>
<textarea name="result" cols="80" rows="30" wrap=off></textarea>
<p><input type="reset" value="テキスト内容の初期化"></p>
<p><input type="button" value="終了"
name="cmdClose" /></p>
</form>
</body></html>

つづく

2010年8月4日水曜日

CSVをXML形式に変換するプログラムの需要はありそう

Check



C言語やJAVAは見かけるがVBS、htaのものは少ないように思える。

そもそもXMLはXMLファイルだけではだめで、DTDファイル、XSLファイルも必要な感じだ。

そこで、CSVを読み込み、必要なファイルを出力し、XMLファイルを生成するプログラムを作りたい。

まずはCSVの読み込み部分に取り組もう。

土台となる画面は以下のようにした。



つづく