#author("2016-05-20T16:07:58+09:00","","")
#freeze
#author("2024-06-22T00:40:16+09:00","default:admin","admin")
#counter
----
*ホームページビルダーでExcel表をアップする方法 [#o7e04aae]

★表としてコピペする
対象とするセルを選択してCopy → 入力先でPaste を実行するとデフォルト(枠だけの表)で入力できる

・Laten拡張(ウムラウトなど)文字化けするので要注意

★先頭行の背景色を変更する
対象行を選択して、右側のカラーパレットで、背景色を変更する
文字は 書式 → 文字飾り → 太字 の様に設定する

*manの出力をテキストで読めるようにする [#t5b51c30]

★ colが使えるなら

man xxx | col -bfx 

などで対応可能

★ colがない場合(NonStopなど)

man xxx | perl 's/..\x08\x08|.\x08//g'

で画面用の装飾が無くなる


*2つのシートを比較する方法 [#w7dcace9]
条件付き書式で数式指定で
=A1<>Sheet2!A1 
といった条件指定で該当セルを強調することで確認しやすくなります

詳細は
2つのシートを比較し、違うセルに色をつける ⇒ https://www.excelspeedup.com/shi-tohikaku


*Excelの条件指定で*を使うには [#e34a2259]
フィルターで指定するときに*を含むレコードをリストアップしたい場合には ~*の様にする~
~がエスケープ文字になっている

*NotePCの電池劣化確認 [#w01aa90b]

コマンドプロンプトで

powercfg/batteryreport

を実行すると、$HOME直下に battery-report.html が作成される~
現在のフル充電と設計上限値が分かるので、劣化度合もわかる

参照: https://dekiru.net/article/19383/


*FreeMind 1.0.1 のBug Fix [#g5a1ea53]

FreeMind 1.0.1 にはWindowsでのアイコンが空白になるBugがある。

regedit で \HKEY_CLASSES_ROOT\Freemind\DefaultIcon が

PATH\freemind.exe,1



PATH\freemind.exe,0

とする。

詳しくは
https://sourceforge.net/p/freemind/bugs/1195/



*Shellの置き換え [#hd3e8ff0]

.profile の末尾に~
 exec /bin/bash
のように記述する~
ログインできなくなるといけないので、別の端末でログインできることを確認すること

*Excelのシート名一覧取得 [#c1b7f261]
(1) Excel を開く~
(2) Alt + F11 キーを押して VB 画面を開く~
(3) Ctrl + G キーを押して"イミディエイト"ウィンドウを開く~
(4) イミディエイトウィンドウ内に下記のコマンドを貼り付けて、Enter キーを押す~

For Each i In ThisWorkbook.Sheets: debug.print i.name : next i

参照)https://qiita.com/wakayama-y/items/d5f6e3664a34704c397f


*Excelに関数を張り付けるとき [#w7b0d362]
@echo off のように、最初に@から始まる場合、そのセルが文字列にならず編集が思うようにいかない場合がある ⇒ '@ でスタートするようにする

*Excelでファイル名をグラフのタイトルに使う [#ya4275ae]
直接は関数エラーで動かないけれど、グラフで隠すCellにファイル名のデータを作る
 =MID(CELL("filename"), SEARCH("[",CELL("filename"))+1, SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-6)

例えばそれが L1セルだった場合、
 =Sheet1!$L$1
とグラフタイトルを選択して、式のところに入力する~
ここでシート名は変更すると自動で更新される

*VBAでBookやWorksheetを扱う方法 [#w8a42d06]

現在のBookとWorksheetを知る
 set bk = ThisWorkbook
 bk_name = bk.Name
 set ws = ActiveSheet
 ws_name = ws.Name

ファイルをオープンする
 full_name = ThisWorkbook.Path + "\" + file_name
 set bk = Workbooks.Open(Filename:=full_name,Notify:=False)

オープンしているn番目のファイルを扱う
 bk = Workbooks(n)

*VBAでOpenしたファイル(Book)を隠す [#eb1dd4ee]
 bk.Activate
 Application.WindowState = xlMinimized

*VBAでフィルターを設定する [#ed915550]

 if Not ws.AutoFilterMode Then
   ws.Range("A:F").AutoFilter
 End If

ここでは、A~F列にフィルターをONにする

F列に設定する場合(文字列を入力するイメージ)
 key_str = "*" + KEY文字列 + "*"
 ws.Range("F:F").AutoFilter Field:=6, Criteria1:=key_str

ここで*はワイルドカードの役割

*ExcelのFindでは行幅注意 [#neaa07ca]

VBAのFindは結構強力

 set_pos ~ Range("A1:Z1").Find(What:=key_str,LookIn:=xlValues).Column

これで、key_strと一致する列番号が返ってくる~
ここで問題になるのが、”一致”と xlValues ~
行幅が狭くて全部が表示されない ##### とかになると”値が一致しない"ので、Findできないという落とし穴が・・・

(いや、日付を動的に表示するところで、通常月だとOKだけど、11月とかだと 列幅が足らなくてエラーになった:::)


*現在のワークブックの並び順を確認する関数 [#f1455b58]

VBAではExcelファイルがすでにオープンしているかどうかで次の処理が違ってくる~
ActiveSheetやIndexに相当する Workbookのプロパティは存在しない~
そこで次の関数を作ってみた~
Openされていなければ0が帰り、Openされている場合は、WorkBooksのIndex番号が戻る~
ここでポイントは、booknameに与えるファイル名はディレクトリー名を含まない普通のファイル名を使うこと

 Public Function OpenBookNo(bookname As String) As Integer
 Dim bk As Workbook
 Dim no As Integer
 no = 0
 For Each bk In Workbooks
 no = no + 1
  If bk.Name = bookname Then
   OpenBookNo = no
   Exit Function
  End If
 Next
 OpenBookNo = 0
 End Function

*Excelで前のシートに連結する指定方法 [#nc178ac7]

前のシートのZ1セルをを参照する場合:例えば、月単位でシートが分割されている時

 =INDIRECT(SUBSTITUTE(INDEX(book,SHEET()-1),"["&doc&"]","") &"!Z1")+1

現在のBOOKのシート番号から1つ少ないシートのZ1セルを指定して、+1しているが増分が1日分になっている~
SUBSTITUTE(文字列、検索文字、置換文字、置換対象) という文字の置き換え関数~
INDIRECT(参照文字列) ここでセルの指定を文字列で "A"&2 のように指定可能~
INDEX(範囲、縦位置、横位置) 指定範囲の特定のセルの値~
⇒ ファイル名一覧、から現在のシートの直前にものを取得[文書名]部分を消したシート名のZ1セルを指定している値に+1をしている

ここで定義されている、bookとdoc は

book:(名前の定義で)
 =GET.WORKBOOK(1)

1はファイル名一覧を指定


doc:(名前の定義で)
 =GET.DOCUMENT(88)

88はActiveBookの名前を指定しています

ROW()を使って現在の行数がわかる~
シート名の一覧が行にならんでいる時には、その行数を使って例えば20行めからの場合
 =SUBSTITUTE(INDEX(book,ROW()-19),"["&doc&"]","")

参照: ~
http://excel4macro.blog86.fc2.com/blog-entry-178.html~
http://excel4macro.blog86.fc2.com/blog-entry-170.html~
https://www.tipsfound.com/excel/01306


*Javaの開発 [#n325588d]
JavaはPCで開発したjarファイルを他の環境にバイナリモードでFTPするとそのまま使えたりする~
(JDKがなくJREだけというのは結構ある : Linux上のJavaをWindowsで開発もよくある)

jarファイルはそのまま実行できたりもする~
Windowsでのコンパイルシェルはこんな感じ
 javac -cp ".\jar\*;." %1.java
⇒ ここではライブラリがローカルのjarディレクトリ以下にある

単独のアーカイブを作る場合は下記の様に
 jar cvf test.jar test.class

実行する場合は
 java -cp "./*" test <parameter>

*Javaライブラリ作成方法 [#fff9b456]
 jar xf xxx.jar
⇒ ディレクトリ構成(例えばcom)が作成、classも配置される~

該当箇所に、classを追加・差し替える~
 jar cf xxx.jar com
⇒ com以下がjarファイルに再集結する

*Javaのコード分析 [#dfd0882f]
jarファイルがある場合、Java Decomplilerを実行、該当jarファイルをOpenすると、
ディレクトリ構成とjavaのソースが表示される。~
Java Decomplilerは jar形式で提供されているので、それをダウンロードして起動する~

http://jd.benow.ca/

リバースエンジニアリングした結果は~
・コピペでテキストファイルに落とすことができる ⇒ そのまま編集して使える~
・コメント行は表示されないが、行のカウントには含まれる~
・文字コードの関係で化ける場合がある~



*Excelで特定の条件を満たすレコードの集計 [#rda4ad42]

例えば 0.5msec 以上のトランザクションの平均値を求めるといった場合~
sumifの様な1関数だけで処理しようとするとなかなかできない

⇒ フィルターとsubtotalを組み合わせる~
対象列にフィルター(0.5msecより大きい)を使い集計結果を subtotal(1,H2:H10000) みたいにする

よくわからない場合は、列を増やして2段階の集計も検討してみる

*VBAの書き方 [#hea96e42]
どんな書式にすればよいかわからない場合はマクロを記録状態にして、オペレーションを実行すると正解が記録される。
すべてのオペレーションが記録されるので、調査対象の処理が終わったら記録を終了させること。
Pivotのグラフ化やソート指定などでは重宝する。、

*VNCの使い方 [#a9cc39a5]

サーバー側にインストールされている前提で
login して、 vncserver を実行 ⇒ 画面番号が表示される

クライアントから vncviewerを起動
先ほど起動したサーバーの画面番号をポート番号としてして指定
passwordを入力してログイン

*シェルで拡張子をとる [#zb362a93]

 chk_f=${fil_n%.*}

で、無印ファイル名が作れる(fil_nの変数から、最後の .* を削除したものを chk_fに代入する) ← ${変数名} に加工をしている

*シェルでファイルがあることのチェック [#dba5318e]
 if [ ! -e ${chk_f} ];
 then
  <ファイルが無かった場合の処理>
 fi

*shellにgoto文はない [#maf4aefd]

参考)http://mapplio.info/flo/flo_lecture2/bash_charpter.html#goto

*grepで複数条件の指定 [#l13d289a]

 grep -e "条件1" -e "条件2" -e "条件3"

アンマッチの場合は

 grep -v -e "条件1" -e "条件2" -e "条件3"


*shellのファイルチェック [#n3002b7f]

 if [ ! -f <file> ];
 then
  ここでエラーメッセージ出して exit 1
 fi

参照) https://shellscript.sunone.me/if_and_test.html

*STDERROR にメッセージ [#dba00a04]

 echo "HOGEHOGE" >&2

通常の出力をテキストファイルにRedirectして、レコードカウントやコマンド等を画面表示する場合使用する

*expr は遅いので、Loop処理の場合は [#fe23aed3]

 let cnt_n++

を使うと早い

*時間の差分処理 [#be77778e]

d_day前の日付は・・・

 today_st=`date "+%Y%m%d"`
 now_sec=`date -d "$today_st" +%s` ⇒ Universal Secondに
 dif_sec=`expr $d_day \* 86400`  ⇒ 24時間は 86400秒
 tgt_sec=`expr $now_sec - $dif_sec`
 
 p_day=`date --date=\@tgt_sec +%Y%m%d` ⇒ --date=@Usec で 絶対秒を日付に

 p_str=${p_day//\//} ⇒ パラメーラの一部を // で置換 この場合 / を削っている
 
p_day が 2018/08/05
p_str が 20180805

参照) http://bioinfo-dojo.net/2017/09/15/bash_string/

*シェルのsubroutine [#pfa8a268]

 <関数名> ()
 {
 関数本体
 }
 
 関数名 引数リスト

subroutineの中では引数の $1 $2 ・・・ が使える

参照) https://shellscript.sunone.me/function.html

*bash では option を指定可能 [#g2f3a641]

 while getopts ab:c: OPT
 do
 case $OPT in
  "a" ) <a-operation> ;;
  "b" ) <b-opertaion> ;;
  "c" ) <c-operation> ;;
  * ) <other options> ;;
 esac
 done

これで、 $PRG -a -b 2018 -c New といったオプション指定が可能
⇒ b: c: は引数があることを示す

参照) https://shellscript.sunone.me/parameter.html

*shell で複数行のコメントを作成 [#zec4a338]

 M1="HELLO"
 M2="WORLD"
 MSG=$M1"\n"$M2
 echo -e $MSG

で、

 HELLO
 WORLD

になる。 ⇒ "\n"で連結する、 echo -e で改行を表示する

参照) https://code.i-harness.com/ja/q/3fcec7 ; https://hacknote.jp/archives/21658/

*1秒以下のsleepについて [#fc6233b4]

 usleepも使えるが・・・

sleep 0.1s で 0.1秒のsleep が可能

#linux だと、 usleep 100000 で 0.1秒だけど、NonStopでは usleepがないから・・・

*Excelで列数とA1型表示を入れ替えるには [#cc019e4a]

SUBSTITUTE(ADDRESS(1,A2,4),1,"")

 1行 A2列の相対参照文字列の 1 を ””で置き換える ⇒ (1,28) → AB1  → AB


CELL("col",INDIRECT(A5&"1"))

 A5の値+1 のCellを参照して、その列数を返却 ⇒ AB → AB1 → 28

*Excel のメッセージ表示 [#ne7dcff2]

VBAのプログラムで実行時に下のバーにメッセージを表示するには

Application.StatusBar = "MESSAGES"

で表示可能

Application.StatusBar = False で終了


*LF ⇒ CRLF にするには(Windows環境) [#bb4ab6ad]

手順は、以下のコマンド1行です!

find <LF.txt /V "hogehogehoge" >CRLF.txt

参照) http://ippanse.techblog.jp/archives/2238655.html



*PowerShellを使った Pattern Matching Rename [#cb13b7d6]

PowerShell で

dir | rename-item -newname | $_.name -replace '-SELECT','_SELECT' }

のようにすると、xxx-SELECT.sql とかが一斉に xxx_SELECT.sql に変わったりする。


*Excel おばけLinkの削除方法 [#pcd9d273]

どうやって消えなくExcelのLinkが残った場合、
そのファイル自体をリンク元のファイルとしてコピーしてしまう。~
→ 起動すると、なぜかお化けリンクが消える~
→ ファイル名を本来のものに戻して万事解決・・・~

http://flying-porco.hatenablog.com/entry/2017/04/01/231924

が決定打!


*Excel 条件付き書式設定のやりかた [#qeb75ce5]

セルの値で別のセルの色を返ることができるが・・・・

複数のセル(カラム)を同時に色を変えたい場合がある・・・

でも、変更する対象のセルは1つにした方が良い~
指定方法としてはRangeを指定できるが、最初のものだけが適用されたり、
色々とご機嫌斜めになることがある~
→ 参照先を$Aの様に相対ではない書式で指定して、個別に指定~
→ そのセルの書式を延々とコピー~
にするとよいかも


*Windowsのランニングタイムチェック [#xfe61cb6]

set starttime=%date% %time%

 xxxx

echo Start: %starttime%~
echo End  : %date% %time%

これで、msecぐらいまでは処理時間がわかる。

*Windows For文を使ったパターンマッチング [#e631700c]

for /F "tokens=1,3 delim=_" %%i in ("%FileName%") DO (~
set PG_NAME=%%i~
set DAY_STR=%%j~
)

このようにすれば、ファイル名から先頭の部分と3番目の日付を分離できる

SORT_HOST_20161231.log のようなファイル名から、

SORTと 20161231 を抜き出すことができる。

変数 i の次が j になっていることも注意。


*Windowsのゴミ箱をつかわない方法 [#fb3bf797]

shift+del でよかった 簡単!~

でもファイルのサイズがGBオーダーだと、結構切実ですよ。

*Windowsでstartを使ったバックグランド処理のやりかた [#q1c387ef]

start /b /wait /min "" <BatchCmd>

そうすると、画面に淡々と処理が表示される

==============================~
@echo off~
setlocal~
cd /d %~dp0~

:REENT~
set FileName=%1~

if "%FileName%"=="" (~
echo "END LOOP"~
pause~
exit 0~
)~

start /b /wait /min "" <BatchCmd> ~

shift~
goto REENT~

====================~

で、このバッチにファイルのリストをDrug&Dropすると、
順番にバッチが処理される。~
先頭のcd は同じディレクトリーに実行するBatchがある場合を想定。~
あと、バッチファイル側では終了時にExit 0 /B で終わる必要がある。

*Windowsの参照先のログインパスワードが変わったら [#gdf9c9c0]

資格情報で記憶されているパスワードを変更する必要がある。~
コントロールマネージャの資格情報マネージャを起動すると、~
アクセス先がホストIPで指定されているので、それを編集、~
もしくは、削除してから、改めてファイルマネージャーでアクセスをする。~
数回失敗するとアカウントロックされる環境では特に注意。~
(ブラウザーと違って、パスワードが変わったら聞いてくるなど甘い考えは捨てること)

*PCがブルースクリーンを出したら [#t561d9de]

再起動でF8をひたすら押し続けるとセーフティーモードで立ち上がる~
そこで、障害ですぐ再起動するのをやめて、きちんとブルースクリーンを確認~
それから次は、正常に起動した構成で立ち上がる を選択するとなんとか起動する~
通常のセーフティモードでもブルースクリーンになるときには、試してみる価値あり~
→ BIOSはハード、WindowsはWindows なので、ハードがまともでOS設定が壊れたらF8!

*Windowsで環境変数の設定を見る [#da9edbca]

レジストリーをみる
 reg query HKU\<USERNAME>\Environment

どんなユーザが登録されているかを見る場合は
 reg query HKU

S-15-・・・・ 見たいな名前で登録されている。
cygwinとかで実行する場合は、¥が副作用を起こすので、¥¥にする必要があったりする。

*Windowsでサービスとプロセスを確認 [#c58d9d4f]

サービス名一覧
 sc query state= all | findstr /B SERVICE_NAME

プロセス一覧
 tasklist

サービスの一覧
 tasklis /svc


*PSプリンター [#q88e45eb]
プリンターにPostScript出力するときには、プリンターのプロパティで、
プリンタプロセッサ → XPS2GDI 
とRAWからPostScriptエミュレーションを選択する必要がある

HPのプリンターはPCL以外は”無視”してエラーにもならない・・・

*chromeでは [#o7534fe0]
パスワードがわからなくなったら → 設定 → 詳細 → パスワードとフォーム で
パスワードを管理 を選択~
該当ログインのパスワードを選択 → 表示 にするとパスワードが出てくる~
・・・ OSユーザのパスワードを聞かれますが

*jstat : Javaのメモリ使用状況を確認 [#xebe2d39]

jstat -gcutil -h5 <pid> 100ms

と、JavaのプロセスIDを指定すると画面に0.1秒単位での推移が表示される。~
 100ms を 10s とかにすることも可能。
 -h5 は5行ごとに項目見出しを入れる意味。
 -gcutil は GCの利用率を確認するコマンド

S0 / S1 / E / O / M / CCS / YGC / YGCT / FGC / FGCT / GCT ~
最初の3つが、From / To /Eden の利用率%

*うっとうしい広告をブロックする [#qc4a9ddc]
Adblock Plus を導入する~
フィルターに */sitejack/* を追加する~
→ あら不思議、Netflixのめんどくさい広告(ライフハッカーへの)が消える~
ある程度の広告は認めるが、可読性を著しく落とすこのタイプの広告はNG!

*Lhaplusでは大きなファイルを解凍できないことがある [#m0955e89]

7zを入れてみましょう。解凍できます。

*Windowsで Serviceの一覧を確認するには sc query を実行する。 [#t1466b08]

QUERY と QUERYEX のオプション:~
        クエリ コマンドにサービス名が続く場合、サービスの状態が戻されます。
        この場合、それ以上のオプションは適用されません。クエリ コマンドに
        オプションがない場合やまたは以下に一覧に表示されているオプションが
        続く場合は、サービスが列挙されます。
    type=    列挙するサービスの種類 (driver、service、all)
             (既定 = service)
    state=   列挙するサービスの状態 (inactive、all)
             (既定 = active)
    bufsize= 列挙バッファーのサイズ (バイト)
             (既定 = 4096)
    ri=      列挙の開始を指定するための再開インデックス番号
             (既定 = 0)
    group=   列挙するサービス グループ
             (既定 = all groups)

構文の例~
sc query                - アクティブなサービス ドライバーの状態を列挙します~
sc query eventlog      - イベントログ サービスの状態を表示します~
sc queryex eventlog    - イベントログ サービスの拡張状態を表示します~
sc query type= driver   - アクティブなドライバーのみ列挙します~
sc query type= service  - Win32 サービスのみ列挙します~
sc query state= all     - サービスとドライバーをすべて列挙します~
sc query bufsize= 50    - 50 バイトのバッファーで列挙します~
sc query ri= 14         - 再開インデックスを = 14 にして列挙します~
sc queryex group= ""    - グループにないアクティブなサービスを列挙します~
sc query type= interact - 対話型サービスをすべて列挙します~
sc query type= driver group= NDIS     - NDIS ドライバーをすべて列挙します~


*Windowsで Diffを実現するには・・・ [#aec28004]
fc a b でdiffに相当~
fc /B a b でバイナリ~
fc /N a b で行番号表示

*Windows UpdateでインストールしていないUpdateが出る(skype) [#q920c0f2]
SkypeがMicrosoftに買収されたためと思われる~
該当Updateを右ボタンで非表示にすることができる

*linux でpingが通るのにtelnetがつながらない [#q8f4f337]
Firewallが原因の可能性が大~
 /sbin/chkconfig iptables off
 /sbin/service iptables stop
で止めちゃうとログインできるようになりました。
sshでログインできることが前提です

*IEのよく使うサイト表示をカスタマイズする [#s0809606]
デフォルトでは10個だが、増やしたい場合は、
Registoryを修正~
HKEY_CURRENT_USER ⇒ ~
\Software\Microsoft\Internet Explorer\TabbedBrowsing\NewTabPage~
にあるキー NumRows を REG_DWORDの型指定で追加・変更する。~
デフォルトは2なので、これを例えば3とかにすると、行数が増える。~
詳しくは
[[Internet Exploer 9の「よく使うサイト」をカスタマイズする:http://www.atmarkit.co.jp/ait/articles/1201/13/news144.html]]
を見てください。
----
*PukiWikiの使い方 [#ud2a8816]
**ページ名を変更するには [#f268cf51]
下側のアイコンでページ名変更があるので、それをClick
**アイコンを変更するには [#ka1cbd49]
imageディレクトリーの下にファイルをコピーして~
skin/pukiwiki.skin.php の $_IMAGE['skin']['logo'] = 'pukiwiki.png'; を修正~
Winidowsからのコピーの場合、画像ファイルの拡張子が”PNG”だったりするので、それも正確に
**TopPageの名前を変更するには [#r88b9918]
あらかじめFrontPageと同じ内容のページを作っておき
pukiwiki.ini.php の$defaultpage  = 'FrontPage';~
を新しく作成したページ名に修正する~
多分、FrontPageの名前修正とpukiwiki.ini.phpの修正でもいけると思う
**ローカルファイルとのミラーリング [#dc943325]
構成ファイルの修正を直接するより、ローカルにミラーを作ってFTPでUpload/Downloadがよい。~
ただ注意するのはFFFTPではミラーリングは、一覧表示のディレクトリー単位で行うので、
pukiwikiの下一覧を指定しないといけない。~
例えば、puiwikiのディレクトリーを一覧で表示してミラーリング実行するとその上のディレクトリーまでコピーされて結構大量のファイルを処理することになる。


*ファイル読み込み実行 [#ka6ee1f4]
**Windows [#a29fa2c2]
 for /f %%a in (data.txt) do (
  hogehoge [%%aを使います]
 }

**Linux [#pf758d29]
 while read v ;
 do
  hogehoge [$vを使います] ;
 done < data.txt

*sqlcmd のオプションでCSV出力 [#n96706b8]
 sqlcmd -d DB -S server -i SQL_stm -h-1 -W -s, 

-hでヘッダーの行数、-1を指定するとでなくなる~
-Wで空白がつめられる
-sでセパレータが指定、ここで-s"," でもいい(が-s, で良いとは野蛮だが・・・)

なお、SQL文先頭に set nocount on を忘れないでね~~

詳しくは~
https://technet.microsoft.com/ja-jp/library/ms162773(v=sql.105).aspx~
https://msdn.microsoft.com/ja-jp/library/ms189837(v=sql.120).aspx

*Windowsのバッチで別バッチを呼ぶときは [#j3931588]
call を使いましょう。~
そのまま呼ぶと、処理が戻ってこない。~
あと、先頭に@echo off は忘れないこと。

*SQLSERVERでの時間指定 [#e18213bf]
現在時刻はgetdate() で与える。~
日付の単位はExcelと一緒で1日なので、2週間前は getdate() - 14

*SQLSERVERのデータベース名 [#iabeed94]
 select DB_NAME(), ・・・; 
とすると、明確にDBの名前がわかる。~
#だからなんなのという気もするが、データベースの定義が普通と違うから・・・ 

*同一テーブルでの複数条件の指定方法 [#lf5d80f3]
 select count(a),count(b),min(c) from Table;
だと全件、bだけ条件付きでカウントしたいばあいは、~
 select count(a), (select count(b) from Table where xxxx ), min(c) from Table;
とすれば、少なくともSQLSERVERでは動いた・・・ 少し気持ち悪い

*icleverの使い方 でポイントは、 [#rb7f86c5]
bluetoothの設定をすると、いつでも使える+ Ctrl+Spaceで文字入力の切替ができることを覚えておけばOK!

**iphoneでの使い方: [#y98b0bc5]
bluetoothを iphone側でONにする~
icleverで Fn+EでiOSモードにする~
日本語切替は Ctrl+Space

**Kindleでの使い方: [#k6fc2129]
blutoothの設定をKindle側でONにする(キーボード側もFn+Cでサーチモード)~
キーボードがPCと一緒になるので、表示と異なることになり、記号で文字化けする可能性が出る。~
ただ、入力切替は Escキーとなり、場所的にはこれもふつうのキーボードと一緒

*リモートデスクトップへのファイル転送はCopy&Paste [#d0e6f2e4]
直接ファイルをDrag&Dropはできないので注意! (わざわざマウントする必要ないのだよ)

*Excelでcsvファイルを読むときに、00001の様なデータを読み込む場合は・・・ [#o58fa54c]
Importの機能で、カラムを文字列指定で読み込む必要があります。~
データ⇒外部データの取り込み⇒テキストファイル の順でコマンド実施

*IEでもdeveloppersモードになれます。 [#t2279c50]
F12を使いましょう。~
たとえば、パスワードが***で使えているのだが、忘れてしまった場合には、F12を押して、password と書かれているタグを検索、typeを password から textに変えると、あら不思議、パスワードが表示されるではありませんか・・・ (取り扱い注意) 

*Excelでシートをたくさん非表示にした場合 [#ma7ab6ed]
ユーザ定義Viewを作成すると、一度に表示し直すことができる。~
表示したい状態でユーザ定義Viewを追加・命名~
通常不要なシートをすべて非表示にしておく(一括での非表示はなぜかOK)~
一斉に戻したいときは、ユーザ定義Viewで、登録済みのViewを選択して、表示すれば出てくる。

*Excelで保存忘れてCloseしてしまったら・・・ [#c7f4a978]
Excel起動して、File⇒ 最近使用したファイル ⇒(右下の) 保存されていないブックの復元
をクリックすると、あわてん坊さんの置き土産が一覧表示されるので、胸に手をあてて、これと思うファイルをクリック、起動してから、別名で保存すればある程度戻る~
⇐ 自動保存の機能を使っているので、直近までは戻らないかも知れない(がZeroになるよりは全然良い)

*Excelで条件付き書式を特定列の値で使う方法 [#b61a45e6]
=$B2="Cancel" のように、数式指定すればOK~
ただし、範囲を絞って指定しないとNG(行全体とかの指定はだめ)~
また$B2を$B$2にすると、1セルの設定で全体が変わってしまうので要注意

*psqlで一括表示する方法 [#n85379fa]
 ¥pset pager off
コマンドで実行する場合は
 psql -P pager off -U xxxx  ・・・ ~
pager の On/Off で moreを使う・使わないを指定可能。

**remote 実行の場合 [#k0256b13]
 ssh <HOSTID> -t psql -P pager off -U postgres -d hogehoge -c \"show all \" > ./show_all.log~
の様に使うと良い

**Pagerは環境変数の PAGERが使われるので、そこを変更すれば良い。 [#fed824d0]
 export PAGER=less 
の様にpsql の中でも設定は可能。
 ¥setenv PAGER less

*ssh で sudo を実行するには、-t を付けるとOK [#c4342e6a]
 ssh **.**.**.*** -t sudo cat /var/log/message~
の様に実行する( -tは ssh の直後でもOK)~
出力結果を利用する場合、パスワード入力画面が出てこないが、そのまま入力すればOK~
⇒ ファイルの先頭にパスワード入力用文字列が書かれてしまうので、必要であれば削除する

*sshでログインごとにパスワードを叩かなくするためには [#qd42b28e]
 ssh-keygen -t rsa でキーを作成~
./ssh/id_rsa.pub を、各ホストの ~/.ssh に authorized_keysという名前で保存すると、パスワード入力が不要になる。~
その前に、サーバ側から、クライアント側にsshでログインして、各ホームディレクトリーに .ssh のディレクトリーが作られていることが必要~
このファイル(id_rsa.pub or authorized_keys)は盗まれるとログインフリーの鍵ファイルなので、取扱注意!

*ファイルのアクセスタイムを正確に知るには [#nd8a8485]
 stat <filename>~
stat *.backup のように指定も可~
ls -lt などで表示されるのは 時分までなので、詳細を知りたい場合には、stat を使うと、Micro秒レベルでのアクセス履歴がわかる

*一番新しいファイルを探す [#i2192d22]
 ls -lt ./*.backup | head -n 1 | awk '{ print $NF }'~
ls -t がタイムスタンプでソートする~
head で先頭行を出力~
$NFがカラム数なので、最終列 この場合はファイル名を出力する

**postgresqlでの使い方 [#c515e524]
 NEWER_BACKUPFILE=`ls -lt $ARCH/*backup | head -n 1 | awk '{ print $NF }'
 pg_archivecleanup $ARCH $NEWER_BACKUPFILE~
で最新のバックアップ以前のアーカイブファイルをクリアできる

*Linuxでプロセスのメモリ使用量の平均の求め方 [#q4c92efa]
 ps aux | grep postgres | awk '{ print $6 }' | grep -v "^0" | awk '{ sum += $1 } END{ print sum / NR }'~
最後の / NR を省略すれば合計値。 RSSの値。

*複数行の同じパターンのデータを1行づつにまとめる [#p21133e0]
 cat a.log | awk 'NR%6==1;NR%6==4'| paste - -~
6行単位で、1行目と4行目を使いたい場合~
paste はTABでセパレートするので~
paste -d',' - -  とすると、CSV形式。~
 - - は2行を読み込む(標準入力から) という意味。

*iphoneでの画像撮影 [#k5ac2108]
iphone では、2つのボタンを同時に押すと、画面を撮影できる~
それをメールで送れるので、便利~
フォーマットはpgn

*Excelでの行の飛ばし方 [#x464c922]
 =INDEX(K:K,2+(ROW()-2)*7,1) のようにする~
INDEXで領域を指定して値を引用する~
ROWで現在の列数を取得する~
あとはタイトルなどに合わせて微調整~
1レコード複数行で出力されるsarなどのテキスト出力の合計値だけを使うときなどに有効

*postgresql xlogの位置を知るには [#y5a39d86]
 select * from pg_current_xlog_location();~
これによって現在のxlog位置がわかる~
⇒ 処理の前後で確認すると、1つの処理にどのくらいのログが出力されるかの目安にはなる。~
(ただしデータの形は16進表示)

*乱数を発生するには [#if8fe942]
 num=`expr $RANDOM % 1000`~
$RANDOM は 0~32767の整数がランダムに代入される

*複数項目からなるファイルから、N番目の項目を抜き出すには [#j89f0b42]
 grep all *.sar | awk '{ print $12 }'


*コメント行を抜いて表示 [#c584e84e]
先頭行が#でない行を表示するには
 grep -v "^#"  ~
 grep -v "^#" 
ここで、 -v が reverse option で、マッチしない行を表示になります


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS