2013年11月29日金曜日

Web技術者が知っておく必要があるガイドライン

Web制作者が必ず目を通しておく必要がある(と自分では思っている)ガイドラインです。

W3Cが勧告し、公開しており、日本語訳もあります。


ウェブコンテンツ・アクセシビリティ・ガイドライン (WCAG) 2.0
http://www.jsa.or.jp/stdz/instac/commitee-acc/W3C-WCAG/WCAG20/



日本では、「使いやすいウェブコンテンツのあり方を示したガイドライン」として
JISX8341として定められており、現在は2010年版が公開されています。

JIS X 8341-3:2010 解説
http://waic.jp/docs/jis2010/understanding.html


上記情報を踏まえ、富士通がわかりやすい形でまとめています。

富士通ウェブ・アクセシビリティ指針
http://jp.fujitsu.com/webaccessibility/

2013年11月26日火曜日

テキストファイルの行数をカウントする

パソコンで作業をしていると、ふと、テキストファイルの行数を
数える必要が出てくるタイミングがあります。

これが、忘れたころにやってくるので、都度「どうやってたかな」と
思い出しながらやるという悪循環。

で、残しておくことにしました。



【コマンド】
------------------------------------------
del count.file
for /F %i in (*.txt) do type "%i" | find /c /v "" >> count.file
ren count.file count.txt


【解説】
for で全てのファイルに対し、
type で、ファイル内容を標準出力し、
find /c /v で、読み取ったデータの行数をカウント




【おまけ コマンド(各コマンドのヘルプです)】

------------------------------------------
> type /?

テキスト ファイルまたはファイルの内容を表示します。
TYPE  [ドライブ:][パス]ファイル名

------------------------------------------
>find /?

ファイル (複数可) 内のテキスト文字列を検索します。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "文字列" [[ドライブ:][パス]ファイル名[...]]
  /V        指定した文字列を含まない行をすべて表示します。
  /C        指定した文字列を含む行の数だけを表示します。
  /N        行番号を表示します。
  /I        大文字と小文字の区別をしないで検索します。
  /OFF[LINE] オフライン属性が設定されたファイルをスキップしません。
  "文字列"  検索する文字列を指定します。
  [ドライブ:][パス]ファイル名
            検索するファイル (複数可) を指定します。

パスが指定されていないときは、プロンプトで入力されたテキストまた
は別のコマンドからパイプ処理で渡されたテキストを検索します。


------------------------------------------
>for /?

指定されたコマンドをファイル セットの各ファイルに対して実行します。

FOR %変数 IN (セット) DO コマンド [コマンドパラメーター]

  %変数     単一文字の置き換え可能なパラメーターを指定します。
  (セット)  ファイル セットを指定します。ワイルドカードを使用できます。
  コマンド  各ファイルごとに実行するコマンドを指定します。
  コマンドパラメーター
            指定されたコマンドのパラメーターまたはスイッチを指定します。

バッチ プログラムで FOR コマンドを使用するときは、%変数の代わりに、
%%変数を使用してください。変数名では大文字と小文字が区別されるため、
%i と %I は異なります。

コマンド拡張機能を有効にすると、次の FOR コマンドの追加形式
がサポートされるようになります:

FOR /D %変数 IN (セット) DO コマンド [コマンド パラメーター]

    セットがワイルドカードを含む場合は、ファイル名ではなくディレクトリ名
    の一致を指定します。

FOR /R [[ドライブ:]パス] %変数 IN (セット) DO コマンド [コマンド パラメーター]

    [ドライブ:]パスから始めて、ツリーの各ディレクトリで FOR 文を実行し
    ます。/R の後にディレクトリが指定されていない場合は、現在の
    ディレクトリが使用されます。セットが単一のピリオド (.) である場合は、
    ディレクトリ ツリーの列挙だけを行います。

FOR /L %変数 IN (開始,ステップ,終了) DO コマンド [コマンド パラメーター]

    セットは、ステップの量ごとに変化する開始から終了までの数列です。
    たとえば、(1,1,5) は 1 2 3 4 5、(5,-1,1) は (5 4 3 2 1) という数列に
    なります。

FOR /F ["オプション"] %変数 IN (ファイル セット) DO コマンド
       [コマンド パラメーター]
FOR /F ["オプション"] %変数 IN ("文字列") DO コマンド [コマンド パラメーター]
FOR /F ["オプション"] %変数 IN ('コマンド') DO コマンド [コマンド パラメーター]

    または usebackq オプションの場合:

FOR /F ["オプション"] %変数 IN (ファイル セット) DO コマンド
       [コマンド パラメーター]
FOR /F ["オプション"] %変数 IN ('文字列') DO コマンド [コマンド パラメーター]
FOR /F ["オプション"] %変数 IN (`コマンド`) DO コマンド [コマンド パラメーター]

    ファイル セットは、1 つ以上のファイル名です。各ファイルが開かれ、
    読み取られ、処理されてから、ファイル セットの次のファイルに進みます。
    処理では、ファイルの読み取り、個々のテキスト行への分割と、0 個以上の
    トークンへの解析が行われます。その後、見つかったトークン文字列を変数値に
    設定して for ループの本体が呼び出されます。既定では、/F は、各ファイルの
    各行から、空白で区切られた最初のトークンを取得して渡します。空白行は
    スキップされます。既定の解析動作を変更するには、省略可能な "オプション"
    パラメーターを指定します。これは、異なる解析オプションを指定する 1 つ以上の
    キーワードを含む、引用符で囲まれた文字列です。キーワードは、次のとおりです:

        eol=c           - 行末のコメント文字を指定します (1 文字)。
        skip=n          - ファイルの先頭でスキップする行数を指定します。
        delims=xxx      - 区切り文字のセットを指定します。
                          これは、既定の区切り文字であるスペースとタブを
                          置き換えます。
        tokens=x,y,m-n  - 各繰り返しに対して、各行から for 本体に渡す
                          トークンを指定します。これにより、追加の変数名が
                          割り当てられます。
                          m-n の形式は範囲で、m 番目から n 番目の
                          トークンを指定します。
                          tokens= 文字列の最後の文字がアスタリスクである場合は、
                          追加の変数が割り当てられ、最後のトークンが解析された
                          後、行に含まれている残りのテキストを受け取ります。
        usebackq        - 次の新しい表示形式を指定します。
                          逆引用符で囲まれた文字列がコマンドとして実行され、
                          一重引用符で囲まれた文字列がリテラル文字列コマンドに
                          なり、ファイル セットのファイル名を二重引用符で
                          囲めるようになります。

    例を参考にしてください:

FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

    この例は、myfile.txt の各行を解析します。セミコロンで始まる行を無視し、
    各行の 2 番目と 3 番目のトークンを for 本体に渡します。
    トークンは、コンマまたはスペースで区切られています。
    for 本体の文が %i で 2 番目のトークンを、%j で 3 番目のトークンを取得し、
    %k で 3 番目以降のすべてのトークンを取得していることに
    注意してください。
    スペースを含むファイル名に対しては、二重引用符でファイル名を引用する
    必要があります。
    この方法で二重引用符を使うためには、usebackq オプションも
    使わなければなりません。
    使わなければ、二重引用符はリテラル文字列の定義として
    解釈され、解析されます。

    %i は for 文で明示的に宣言され、%j と %k は tokens= オプションで暗黙的に
    宣言されています。
    tokens= 行を使って 26 個までのトークンを指定できますが、
    文字 'z' または 'Z' よりも高い変数を宣言することはできません。FOR 変数名は
    単一の文字で、大文字と小文字を区別し、グローバルなものであり、一度に
    アクティブにできるのは合計 52 個までです。

    また、かっこで囲んだファイル セットを一重引用符で囲み、文字列にすることに
    より、即時の文字列に対する FOR /F 解析ロジックを使うこともできます。
    これは、ファイルからの単一入力行として処理されます。

    最後に、FOR /F コマンドを使って、コマンド出力を解析することができます。
    かっこの中のファイル セットを逆引用符で囲みます。この文字列は、コマンド
    ラインとして子 CMD.EXE に渡されます。出力はメモリにキャプチャされ、
    ファイルのように解析されます。
    例:

      FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

    この例は、現在の環境の環境変数名を列挙します。

また、FOR 変数参照の置換も拡張されました。
次のオプション構文を使うことができます:

    %~I         - すべての引用句 (") を削除して、%I を展開します。
    %~fI        - %I を完全修飾パス名に展開します。
    %~dI        - %I をドライブ文字だけに展開します。
    %~pI        - %I をパス名だけに展開します。
    %~nI        - %I をファイル名だけに展開します。
    %~xI        - %I をファイル拡張子だけに展開します。
    %~sI        - 展開されたパスは短い名前だけを含みます。
    %~aI        - %I をファイルの属性に展開します。
    %~tI        - %I ファイルの日付/時刻に展開します。
    %~zI        - %I ファイルのサイズに展開します。
    %~$PATH:I   - PATH 環境変数に指定されているディレクトリを
                   検索し、最初に見つかった完全修飾名に %I を
                   展開します。
                   環境変数名が定義されていない場合、または検索
                   してもファイルが見つからなかった場合は、この
                   修飾子を指定すると空の文字列に展開されます。

修飾子を組み合わせて、複合結果を得ることもできます:

    %~dpI       - %I をドライブ文字とパスだけに展開します。
    %~nxI       - %I をファイル名と拡張子だけに展開します。
    %~fsI       - %I を完全なパスと短い名前だけに展開します。
    %~dp$PATH:I - PATH 環境変数に指定されているディレクトリを
                   検索して %I を探し、最初に見つかったファイル
                   のドライブ文字とパスだけに展開します。
    %~ftzaI     - %I を DIR コマンドの出力行のように展開します。

上の例の %I と PATH は、他の有効な値で置き換えることができます。
%~ 構文は、有効な FOR 変数名によって区切られます。%I のような大
文字の変数を使うと読み取りやすく、大文字と小文字を区別しない修飾子
との混乱を避けることができます。


2013年11月25日月曜日

スマートフォン + アプリでカード決済できるサービス(square,paygate,PayPal Here)

スマートフォン + アプリでカード決済できるサービス

気になったので調べてみると、いくつかありますね。

【square】

手数料が3.24% その場で領収書発行可能

https://squareup.com/jp

3.5mmのイヤホンジャックがインターフェース。


【paygate】

http://paygate.royalgate.co.jp/#mov

こちらはBluetooth通信
プリンタとの連動も容易


【PayPal Here】
あのPayPalのモバイル決済版
https://www.paypal.jp/here/



アプリをインストールしていればカード不要とか、それぞれ独自色を出してますね。
これからは格好いい決済が増えるかもしれません。


2013年11月22日金曜日

Android端末におけるRAMとROMの違い

パソコン知識をベースに見てしまうとおかしなことになってしまうのでまとめ。

PCの場合
ROM・・・READ ONLY MEMORY

一旦書き込んだら読みだす事しかできないデータの総称
例) CD-ROM とか


RAM・・・RANDAM ACCESS MEMORY

一般的に「メモリ」と言われるやつですね。
http://ja.wikipedia.org/wiki/Random_Access_Memory


Androidの場合

RAM・・・パソコンと同義
ROM・・・内蔵ストレージ


って、紛らわしい。なんでこうなってんでしょうかね。

PC上でAndroidを動かすエミュレーター[bluestacks]

特長

  • Android4.0(ICS)
  • 画面の回転も可
  • GooglePlayも可
http://www.bluestacks.com/index.html

さっそくインストールして使ってみようとしたら、アプリを起動すると
OSが強制的に再起動してしまい、使えませんでした。

ちなみに、[Windows8.1Pro](Win8からのUpgrade) + [デュアルディスプレイ環境]
色々とアプリも入っているので競合したのかな?と思いつつ、一旦放置

追記:

その後、アップデートをしたら動くようになったので
ひとまずホーム画面を自分用にするまでをやってみました。

インストール後の画面、しばらく時間がかかります


勝手にOSをアップしてくれるようです


立ち上がりました。ホーム画面のようです


設定は普通のAndroidのような感じです


GooglePlayを起動してみます。


自分のアカウントを入れて、ログイン


画面が開きました。いつもの見慣れた感じです


ホームアプリを自分がいつも使っているものにしてみようと思います。
検索して、インストール


ホームボタンを押したらホームアプリの選択が出たので、いつものを選択



ホームが変わりました。



ひとまず、自分環境ができたので、これから色々と試してみようと思います。


2013年11月20日水曜日

ASP.net MVCのとっかかり

ふと入ってきた情報によると、モデルファースト、エンティティファーストで
Webサイトが容易に作れるらしい。

ライトランゲージではできるフレームワークがあるのは知っていたけども
マイクロソフトが出してきたってのが興味深い。

業務システムを提供している立場である以上、Microsoft製品の選定は避けられない。



詳細な説明は、検索すれば主要なものが出てくるので割愛するけども、
MVCの設計思想とMS製品の使い方が分かれば、単純な画面くらいは
さらっとできそうな感触。

「30分で作る、マスタメンテナンス画面」なんてお題で社内プレゼンしてもよいかも。


正しく理解して実装に使用すれば、生産性アップは間違いない。
とはいえ、業務システムという性質を考えると、複雑な処理は保守性を
下げる可能性があるのでケースバイケースとなりそう。


まだ実業務で使うケースは出てきていないのですが、出てきたらまたまとめます。


とっかかりサイト
http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_07/aspnetmvc3_07_01.html


以下、自分ブックマーク

-----------------------------------------------------------------
@IT
第1回 Mono×LinuxでASP.NET MVCを動かすまで (1/2)
http://www.atmarkit.co.jp/ait/articles/1303/15/news069.html

msdn

ASP.NET MVC3 の@ModelTypeについて
http://social.msdn.microsoft.com/Forums/ja-JP/9eb7eb05-4403-4bef-989a-e4e692cb1145/aspnet-mvc3-modeltype?forum=vbgeneralja


しばやん雑記

DisplayFor/EditorFor と DataType の不文律
http://shiba-yan.hatenablog.jp/entry/20110912/1315837010


2013年11月19日火曜日

ASP.netでブレイクポイントを置いても止まらない件

いくつかのプロジェクトを経験していくなかで、人により、または
開発環境により、ブレイクポイントを置いても動かない現象があったので
その時の対処の一つとして。

注:根本的な解決ではない気がするので、一時的な処置と捉えてください。


  1. プログラムをビルドして実行
  2. メニューより「ツール」⇒「プロセスにアタッチ」を選択して、起動しているサービスを選択
  3. 「アタッチ」を押す
これにより、デバッグが可能となります。


通常はおそらくVisualStudioがよきに計らってくれているはずなのだけども。。。

Console.WriteLineで出力コンソールへ出力されない場合の対処

Console.WriteLine(value)で、出力コンソールに値が出るのは周知ですが、
ASP.net (WebService)にて同様の処理を書いても出力されませんでした。
と思ったら、c#で出て、vb.netだと出ない?という違いかも。(未検証


この場合、

System.Diagnostics.Debug.WriteLine(value)

で出力されます。

2013年11月18日月曜日

2013年11月15日金曜日

2013年11月14日木曜日

日本郵政の郵便番号データをまとめて使う方法

システム開発屋であれば、運用方法等踏まえた上で
最適な提案をするのが筋ですが、とりあえず簡単にやるときに
使えそうな手順を

1.日本郵政のサイトより、郵便番号データをダウンロード
 http://www.post.japanpost.jp/zipcode/dl/kogaki.html

2.ダウンロードしたデータを展開して、同じフォルダに格納。

3.コマンドプロンプトを立ち上げて、上記フォルダへ移動後、以下コマンドを実行
 del list.csv
 dir /b *.csv > list.txt
 del result.csv
 ECHO "全国地方公共団体コード","旧郵便番号","郵便番号","都道府県名カナ","市区町村名カナ","町域名カナ","都道府県名","市区町村名","町域名","一町域複数郵便番号区分","小字毎番地起番区分","丁目有町域区分","郵便番号複数町域区分","更新表示","変更理由" > result.csv
 for /F %i in (list.txt) do copy result.csv + %i result.csv

 これで、result.csvというデータに、全国のデータが入りました。

 あとは、取り込んで使うなど、好きに加工

2013年11月13日水曜日

ExcelでASCII文字からASCIIコードを取得する(VBA関数)

文字列の先頭文字に対応する ASCIIまたはJISコードを返す
=CODE(文字列)

指定した数値をASCIIコードとみなして対応文字を返す
=CHAR(数値)

ClickOnceで必要となるデジタル証明書の有効期限を伸ばす

既定では、VisualStuduiの発行で利用される証明書の期限は1年のため
運用を続けていくとある日いきなり有効期限切れが発生するようなケースがあります。
有効期限が切れると、プログラムの再発行ができなくなってしまいますので
以下方法により、有効期限を伸ばします。
※私の環境では運用アプリケーションには影響がありませんでした。

【やりかた】

  1. Microsoftから証明書更新のソースを取得
  2. プログラムを作成
  3. プログラムに引数を指定して実行
RenewCert.Exe 旧pfxのフルパス、新pdxのフルパス "CN=署名の情報をそのまま"


これで、5年に伸ばせました。
※リンクにある元ソース上で"5"と決め打ちしている所を可変にすれば、指定した年数で
 有効期限を更新することも可能となりそうです。

【作成した証明書の確認方法】
※利用しているブラウザおよびバージョンにより、下記方法ではNGかもしれません

  1. PFXファイルをダブルクリックしてインストール開始
  2. 【次へ】【次へ】で【完了】まで持っていく
  3. 「インストールしていいか?」と聞かれるので「OK」
  4. ブラウザを開き、「インターネットオプション」から「コンテンツ」タブを選択し、「証明書」ボタン
  5. 出てくるウインドウの中で、「個人」の所に、作成した証明書が出てくるので確認

【証明書を作成した後】

  1. VisualStudio管理配下のPFXファイルを上書き
  2. 証明書の設定画面で、再度同じファイルを選択

これで、運用中のアプリケーションに対する署名情報を変更せずに
有効期限のみを更新できます。


【参考リンク】


2013年11月11日月曜日

名刺サイズのLinux搭載可能パソコン(Raspberry Pi)

格安
http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi

色々と用途が広がるかもしれないのでしばらくウォッチ

Raspberry Piを使ってできそうなこと

ネットで漁っているといろんな使い方がありそうですが、
自分がイメージしやすいかたちを幾つか。

アプローチ1:普通にLinuxの機能を乗っけて使う

  • Webサーバ
  • メディアサーバ
  • ファイルサーバ(容量と静音が課題か)

アプローチ2:ソフトウェアを作って、便利に使う

  • 各種サーバから自動的にログを収集して管理
  • NASと接続して統合ファイル管理のフロントエンドとして
  • 無線LANの通信速度を監視して遅くなったら勝手に再起動してくれる
  • DDNSクライアント
  • 不正アクセス監視
アプローチ3:多種多様なハードウェアとの組み合わせで、市販品と同等機能を構築


  • USB接続な案)
  • 電子工作込な案)
    • カメラモジュールつけて
      • ストリーミング配信
      • セキュリティ監視
    • GPSモジュールをつけて
      • 簡易GIS
      • 車載器
    • 温度湿度計をつけて
      • 定期監視かつアラーム
ここの領域は、費用対効果はともあれ市場にある製品と同じことができる気がしてます。

USB給電が可能なため、用途が相当広がりますね。

Raspberry Piを使うための準備


  • 本体

これがないと始まらない。

  • SDカード

個人的には16GBくらい欲しい。Class10で。

  • 電源

MicroUSBに給電できるタイプのアダプタ
既存のものがあればそれでもいいかと思います。

  • キーボード

ネットワークでつながってしまえばターミナルでもなんとかなりそうですが
初期セットアップなど諸々の想定をすれば必要。

1)USBキーボード
2)USB BluetoothドングルでBluetoothキーボード

  • マウス

CUI前提なので考慮外。
GUI動かすならキーボードと同じ要領で。

  • LAN環境

私の使いたい用途だとローカルOnlyってのは考えづらいので
USBの無線LANドングルを用意

  • USBハブ

キーボードと無線LANでUSBポートが埋まってしまうのは悲しいので
余裕があればセルフパワーのUSBハブなどあると用途が広がります。
手持ちがあればバスパワーでもいいかもしれません。
一時の辛抱であれば、なくても良いですね。

  • HDMIケーブル

インストールの時にはあったほうがよいですね。RCAでもいいですが。
RCAで利用するのであれば音声出力用のミニジャックも。


これくらいあれば、ひとまずは物理的には足りそうです。

2013年11月8日金曜日

あなたの「欲しい情報」を見つけてくる[Gunosy]

アカウントを登録するだけで、「欲しい情報」を見つけてきてくれるサービス[Gunosy]

http://gunosy.com/



Twitterアカウントか、Facebookアカウント、メールアドレスで登録可能。

Androidアプリもありました。

どうやって探してきてくれるかは「自分自身の過去のポストやソーシャル上のアクティビティを分析対象」とのことで、詳細は企業秘密との事

アカウントを公開している人であれば、その人が何に興味を持っているかも見れる。

ホリエモンこと、堀江貴文さんのGunosyはこちら[http://gunosy.com/takapon_jp]

Web上で仮想環境でクロスブラウザの確認ができるサービス

Web上で、複数のブラウザによる動作検証ができるサービスです


無償で利用できそうなのでしばらく使ってみます。





【動作イメージ】


Webで仮想環境を利用できるほか、VMをダウンロードしてローカルでも実施可能

こちらも参照
http://www.modern.ie/ja

Microsoft提供です




2013年11月7日木曜日

無料でWebサイトができる?イスラエル発のwebサービス"wix"

Webからのドラッグアンドドロップ操作などで、Webサイトが出来てしまう模様

http://ja.wix.com/

まだ試していませんが、ざっくりいうとこんな感じの模様です

  1. デザインを選んで、簡単にWebサイトを作れる
  2. Webサイトのデザイン変更なども、画面上から直感的に操作可能
  3. アプリを追加することにより、ECサイトなど様々なWebサービスをノンプログラミングで構築できる
  4. 広告を取り除きたい時には有料会員へ移行することで可能



思っていることを体系的に整理するときの便利ツール(マインドマップ)

思ったことを直感的に整理する「マインドマップ」

ツールがWebサービスとして公開されています。

アカウント登録不要でも使用可能。登録すればデータの保存も可能です。
Googleアカウントとリンクすれば、GoogleDriveへの保存も可

【初期画面】

【新規作成画面】

【使用中イメージ】

2013年11月6日水曜日

リモートデスクトップ環境でWindows7(Vista)を再起動する

リモートデスクトップで仮想環境にあるWindows7(またはVista)へ接続した場合、
通常の操作方法では「シャットダウン」「再起動」は選択できないため
以下の方法で行う


  1. スタートメニューから「Windowsセキュリティ」を選択
  2. 画面右下にある電源ボタンを選択して「再起動」
意外と落とし穴でした。

2003Server,2008,2012は問題なく可能。

詳しくはこちら
http://www.atmarkit.co.jp/fwin2k/win2ktips/1355rstrdc/rstrdc.html

複数のリモートデスクトップ接続を簡単管理 - Remote Desktop Connection Manager

今まで記憶でやっていたので、こういったツールでリモートの接続先を一元管理できるのは便利。


MS製品です。

http://blogs.technet.com/b/stanabe/archive/2010/05/28/remote-desktop-connection-manager.aspx

2013年11月5日火曜日

Oracleのシャットダウン

記憶ではSQL/Plusから実行するもんだと思っていたのですが、
改めて調べてみると、ツールからの設定でいけるということが判明



  • [コンフィグレーションおよび移行ツール]→[Administration Assistant for Windows]→「Administration Assistant for Windows」を起動
  • 「データベース」の下に作成されているデータベースで右クリック。「起動/停止オプション」→「起動/停止構成」画面を表示
  • 「サービス停止時にインスタンスを停止」にチェックを入れて、「即時停止(Shutdown immediate)」

注:Oracle 10.2.0.5 他は未確認

MySQLでProcedureを使って動的表を返す

開始年月と終了年月を指定すると、表にして返してくれるサンプルです

DROP PROCEDURE IF EXISTS procedureName;
DELIMITER ;;
CREATE DEFINER=root@localhost PROCEDURE `procedureName`(in `arg_ym_start` varchar(10),in `arg_ym_end` varchar(10))
    READS SQL DATA
BEGIN
    -- 年月の開始と終了を指定することにより、年月の表を返す
    declare current_ym varchar(10);
    DROP TABLE IF EXISTS tmp_ym;
    CREATE TEMPORARY TABLE tmp_ym
    (
        title           varchar(100)
       ,yearmonth       varchar(10)
       ,ym_start        varchar(10)
       ,ym_end          varchar(10)
    );
    set current_ym = arg_ym_start;
    CREYMD : WHILE current_ym <= arg_ym_end DO
        INSERT INTO tmp_ym values (current_ym,current_ym,CONCAT(current_ym,'/01'), DATE_FORMAT(ADDDATE(ADDDATE(CONCAT(current_ym,'/01'),INTERVAL 1 MONTH),INTERVAL -1 DAY),'%Y/%m/%d'));
        set current_ym = SUBSTR(DATE_FORMAT(ADDDATE(CONCAT(current_ym,'/01'),INTERVAL 1 MONTH),'%Y/%m/%d'),1,7);
    END WHILE CREYMD;

    SELECT
    title  
    ,yearmonth
    ,ym_start
    ,ym_end
    from
    tmp_ym;
    DROP TABLE IF EXISTS tmp_ym;

END;;
DELIMITER ;

【実行結果例】
mysql> call procedureName('2012/01','2012/12');
+---------------+-----------+------------+------------+
| title         | yearmonth | ym_start   | ym_end     |
+---------------+-----------+------------+------------+
| 2012/01       | 2012/01   | 2012/01/01 | 2012/01/31 |
| 2012/02       | 2012/02   | 2012/02/01 | 2012/02/29 |
| 2012/03       | 2012/03   | 2012/03/01 | 2012/03/31 |
| 2012/04       | 2012/04   | 2012/04/01 | 2012/04/30 |
| 2012/05       | 2012/05   | 2012/05/01 | 2012/05/31 |
| 2012/06       | 2012/06   | 2012/06/01 | 2012/06/30 |
| 2012/07       | 2012/07   | 2012/07/01 | 2012/07/31 |
| 2012/08       | 2012/08   | 2012/08/01 | 2012/08/31 |
| 2012/09       | 2012/09   | 2012/09/01 | 2012/09/30 |
| 2012/10       | 2012/10   | 2012/10/01 | 2012/10/31 |
| 2012/11       | 2012/11   | 2012/11/01 | 2012/11/30 |
| 2012/12       | 2012/12   | 2012/12/01 | 2012/12/31 |
+---------------+-----------+------------+------------+

2013年11月1日金曜日

TeraTermで複数ウインドウに一括でコマンドを実行

  • TeraTermでホストへログイン
  • メニューバーから「コントロール」→「ブロードキャストコマンド」

  • 接続しているホストの一覧から、送信したいホストを選択
  • 入力欄で入力を開始すると、選択したホストに対してリアルタイムでテキストが送信される
複数端末への同時ログインと組み合わせて使用しています。

【備忘録】Kanon(Trac統合パッケージ)をインストールしたときのLinuxのパス

困った時の備忘録

Kanon(Trac統合パッケージ)をインストールしたときに、色々と迷子になったので備忘録
※Kanonはデフォルトインストールしている状態です

サイトのLogoを変更するとき
【ファイル】
/var/opt/kanon/trac/[プロジェクト名]/conf/trac.ini

【変更箇所】
[header_logo]のsrc
【実態の置場】
/var/opt/kanon/trac/[プロジェクト名]/htdocs/your_project_logo.png
【その他】
高さと幅を変えたい時には同じセクションの以下を変更(ない場合には追加)すればOK
height = (数値の値)
width = (数値の値)


ログイン前のトップ画面から[Register]を消したい時
trac.iniに以下を記載(ある場合には変更)

[components]
acct_mgr.web_ui.registrationmodule = disable


svnリポジトリが既にあって、変更したい場合
trac.iniを変更後、以下を実行
# trac-admin /var/opt/kanon/trac/[プロジェクト名] repository resync [svnリポジトリのフルパス]


添付ファイルの最大値を変更する
[attachment]
max_size = 1048576