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月29日金曜日
2013年11月26日火曜日
テキストファイルの行数をカウントする
パソコンで作業をしていると、ふと、テキストファイルの行数を
数える必要が出てくるタイミングがあります。
これが、忘れたころにやってくるので、都度「どうやってたかな」と
思い出しながらやるという悪循環。
で、残しておくことにしました。
【コマンド】
------------------------------------------
ren count.file count.txt
【おまけ コマンド(各コマンドのヘルプです)】
------------------------------------------
> type /?
テキスト ファイルまたはファイルの内容を表示します。
TYPE [ドライブ:][パス]ファイル名
------------------------------------------
>find /?
ファイル (複数可) 内のテキスト文字列を検索します。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "文字列" [[ドライブ:][パス]ファイル名[...]]
/V 指定した文字列を含まない行をすべて表示します。
/C 指定した文字列を含む行の数だけを表示します。
/N 行番号を表示します。
/I 大文字と小文字の区別をしないで検索します。
/OFF[LINE] オフライン属性が設定されたファイルをスキップしません。
"文字列" 検索する文字列を指定します。
[ドライブ:][パス]ファイル名
検索するファイル (複数可) を指定します。
パスが指定されていないときは、プロンプトで入力されたテキストまた
は別のコマンドからパイプ処理で渡されたテキストを検索します。
------------------------------------------
指定されたコマンドをファイル セットの各ファイルに対して実行します。
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 のような大
文字の変数を使うと読み取りやすく、大文字と小文字を区別しない修飾子
との混乱を避けることができます。
数える必要が出てくるタイミングがあります。
これが、忘れたころにやってくるので、都度「どうやってたかな」と
思い出しながらやるという悪循環。
で、残しておくことにしました。
【コマンド】
------------------------------------------
del count.file
for /F %i in (*.txt) do type "%i" | find /c /v "" >> count.fileren count.file count.txt
【解説】
for で全てのファイルに対し、
type で、ファイル内容を標準出力し、
find /c /v で、読み取ったデータの行数をカウント
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/
アプリをインストールしていればカード不要とか、それぞれ独自色を出してますね。
これからは格好いい決済が増えるかもしれません。
気になったので調べてみると、いくつかありますね。
【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の場合
ROM・・・READ ONLY MEMORY
一旦書き込んだら読みだす事しかできないデータの総称
例) CD-ROM とか
RAM・・・RANDAM ACCESS MEMORY
一般的に「メモリ」と言われるやつですね。
http://ja.wikipedia.org/wiki/Random_Access_Memory
Androidの場合
RAM・・・パソコンと同義
ROM・・・内蔵ストレージ
って、紛らわしい。なんでこうなってんでしょうかね。
PC上でAndroidを動かすエミュレーター[bluestacks]
特長
さっそくインストールして使ってみようとしたら、アプリを起動すると
OSが強制的に再起動してしまい、使えませんでした。
ちなみに、[Windows8.1Pro](Win8からのUpgrade) + [デュアルディスプレイ環境]
色々とアプリも入っているので競合したのかな?と思いつつ、一旦放置
追記:
その後、アップデートをしたら動くようになったので
ひとまずホーム画面を自分用にするまでをやってみました。
インストール後の画面、しばらく時間がかかります
勝手にOSをアップしてくれるようです
自分のアカウントを入れて、ログイン
画面が開きました。いつもの見慣れた感じです
ホームアプリを自分がいつも使っているものにしてみようと思います。
検索して、インストール
ホームボタンを押したらホームアプリの選択が出たので、いつものを選択
ホームが変わりました。
ひとまず、自分環境ができたので、これから色々と試してみようと思います。
- Android4.0(ICS)
- 画面の回転も可
- GooglePlayも可
さっそくインストールして使ってみようとしたら、アプリを起動すると
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
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でブレイクポイントを置いても止まらない件
いくつかのプロジェクトを経験していくなかで、人により、または
開発環境により、ブレイクポイントを置いても動かない現象があったので
その時の対処の一つとして。
注:根本的な解決ではない気がするので、一時的な処置と捉えてください。
開発環境により、ブレイクポイントを置いても動かない現象があったので
その時の対処の一つとして。
注:根本的な解決ではない気がするので、一時的な処置と捉えてください。
- プログラムをビルドして実行
- メニューより「ツール」⇒「プロセスにアタッチ」を選択して、起動しているサービスを選択
- 「アタッチ」を押す
これにより、デバッグが可能となります。
通常はおそらくVisualStudioがよきに計らってくれているはずなのだけども。。。
Console.WriteLineで出力コンソールへ出力されない場合の対処
Console.WriteLine(value)で、出力コンソールに値が出るのは周知ですが、
ASP.net (WebService)にて同様の処理を書いても出力されませんでした。
と思ったら、c#で出て、vb.netだと出ない?という違いかも。(未検証
この場合、
System.Diagnostics.Debug.WriteLine(value)
で出力されます。
ASP.net (WebService)にて同様の処理を書いても出力されませんでした。
と思ったら、c#で出て、vb.netだと出ない?という違いかも。(未検証
この場合、
System.Diagnostics.Debug.WriteLine(value)
で出力されます。
2013年11月18日月曜日
【TOPICS】店員もバーコードもいらない“未来のレジ”、NECが参考出展
バーコードも店員も不要とのこと。
画像認識で認識率は90%以上
http://www.itmedia.co.jp/news/articles/1311/14/news050.html
実用化されるとシステム的な影響も相当あるな~と。
画像認識で認識率は90%以上
http://www.itmedia.co.jp/news/articles/1311/14/news050.html
実用化されるとシステム的な影響も相当あるな~と。
2013年11月15日金曜日
【TOPICS】MSの進化。新しくなったVisualStudioの開発環境
ブラウザ上で動作するVisualStudioオンライン、VisualStudio2013
http://www.publickey1.jp/blog/13/visual_studio_2013visual_studio_online5.html
こっちはASP.netにてTwitterBootstrapをサポート
http://www.publickey1.jp/blog/13/aspnettwitter_bootstrapemberjsvisual_studiocss3build_2013day2.html
過去の開発知識ベースで使っていくと遅れてしまいそう。
http://www.publickey1.jp/blog/13/visual_studio_2013visual_studio_online5.html
こっちはASP.netにてTwitterBootstrapをサポート
http://www.publickey1.jp/blog/13/aspnettwitter_bootstrapemberjsvisual_studiocss3build_2013day2.html
過去の開発知識ベースで使っていくと遅れてしまいそう。
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というデータに、全国のデータが入りました。
あとは、取り込んで使うなど、好きに加工
最適な提案をするのが筋ですが、とりあえず簡単にやるときに
使えそうな手順を
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(数値)
=CODE(文字列)
指定した数値をASCIIコードとみなして対応文字を返す
=CHAR(数値)
ClickOnceで必要となるデジタル証明書の有効期限を伸ばす
既定では、VisualStuduiの発行で利用される証明書の期限は1年のため
運用を続けていくとある日いきなり有効期限切れが発生するようなケースがあります。
有効期限が切れると、プログラムの再発行ができなくなってしまいますので
以下方法により、有効期限を伸ばします。
※私の環境では運用アプリケーションには影響がありませんでした。
【やりかた】
これで、5年に伸ばせました。
※リンクにある元ソース上で"5"と決め打ちしている所を可変にすれば、指定した年数で
有効期限を更新することも可能となりそうです。
【作成した証明書の確認方法】
※利用しているブラウザおよびバージョンにより、下記方法ではNGかもしれません
【証明書を作成した後】
これで、運用中のアプリケーションに対する署名情報を変更せずに
有効期限のみを更新できます。
【参考リンク】
運用を続けていくとある日いきなり有効期限切れが発生するようなケースがあります。
有効期限が切れると、プログラムの再発行ができなくなってしまいますので
以下方法により、有効期限を伸ばします。
※私の環境では運用アプリケーションには影響がありませんでした。
【やりかた】
- Microsoftから証明書更新のソースを取得
- プログラムを作成
- プログラムに引数を指定して実行
RenewCert.Exe 旧pfxのフルパス、新pdxのフルパス "CN=署名の情報をそのまま"
これで、5年に伸ばせました。
※リンクにある元ソース上で"5"と決め打ちしている所を可変にすれば、指定した年数で
有効期限を更新することも可能となりそうです。
【作成した証明書の確認方法】
※利用しているブラウザおよびバージョンにより、下記方法ではNGかもしれません
- PFXファイルをダブルクリックしてインストール開始
- 【次へ】【次へ】で【完了】まで持っていく
- 「インストールしていいか?」と聞かれるので「OK」
- ブラウザを開き、「インターネットオプション」から「コンテンツ」タブを選択し、「証明書」ボタン
- 出てくるウインドウの中で、「個人」の所に、作成した証明書が出てくるので確認
【証明書を作成した後】
- VisualStudio管理配下のPFXファイルを上書き
- 証明書の設定画面で、再度同じファイルを選択
これで、運用中のアプリケーションに対する署名情報を変更せずに
有効期限のみを更新できます。
【参考リンク】
2013年11月11日月曜日
Raspberry Piを使ってできそうなこと
ネットで漁っているといろんな使い方がありそうですが、
自分がイメージしやすいかたちを幾つか。
アプローチ1:普通にLinuxの機能を乗っけて使う
アプローチ2:ソフトウェアを作って、便利に使う
自分がイメージしやすいかたちを幾つか。
アプローチ1:普通にLinuxの機能を乗っけて使う
- Webサーバ
- メディアサーバ
- ファイルサーバ(容量と静音が課題か)
アプローチ2:ソフトウェアを作って、便利に使う
- 各種サーバから自動的にログを収集して管理
- NASと接続して統合ファイル管理のフロントエンドとして
- 無線LANの通信速度を監視して遅くなったら勝手に再起動してくれる
- DDNSクライアント
- 不正アクセス監視
- 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上で、複数のブラウザによる動作検証ができるサービスです
無償で利用できそうなのでしばらく使ってみます。
【動作イメージ】
こちらも参照
http://www.modern.ie/ja
Microsoft提供です
2013年11月7日木曜日
無料でWebサイトができる?イスラエル発のwebサービス"wix"
Webからのドラッグアンドドロップ操作などで、Webサイトが出来てしまう模様
http://ja.wix.com/
まだ試していませんが、ざっくりいうとこんな感じの模様です
http://ja.wix.com/
まだ試していませんが、ざっくりいうとこんな感じの模様です
- デザインを選んで、簡単にWebサイトを作れる
- Webサイトのデザイン変更なども、画面上から直感的に操作可能
- アプリを追加することにより、ECサイトなど様々なWebサービスをノンプログラミングで構築できる
- 広告を取り除きたい時には有料会員へ移行することで可能
思っていることを体系的に整理するときの便利ツール(マインドマップ)
思ったことを直感的に整理する「マインドマップ」
ツールがWebサービスとして公開されています。
アカウント登録不要でも使用可能。登録すればデータの保存も可能です。
Googleアカウントとリンクすれば、GoogleDriveへの保存も可
【初期画面】
【新規作成画面】
【使用中イメージ】
2013年11月6日水曜日
リモートデスクトップ環境でWindows7(Vista)を再起動する
リモートデスクトップで仮想環境にあるWindows7(またはVista)へ接続した場合、
通常の操作方法では「シャットダウン」「再起動」は選択できないため
以下の方法で行う
通常の操作方法では「シャットダウン」「再起動」は選択できないため
以下の方法で行う
- スタートメニューから「Windowsセキュリティ」を選択
- 画面右下にある電源ボタンを選択して「再起動」
意外と落とし穴でした。
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
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 ;
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
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
登録:
投稿 (Atom)