言葉にできるは武器なるらしい

言葉に文字に残していきます何事も。いつかきっと誰かの役に立つはずだから。

【正規表現】n個目のカラムをダブルコーテーションで括る方法

・状況
csvファイルのデータをDBに取込みたい。
だが、csvファイルの中に明細名のカラムが入っていて
「●●明細(1,000円)」
こんな感じで金額表記で明細名が記載されているのため
まさかのカンマがカラム内に存在している。

このまま取込むと、「●●明細(1」と「000円)」にカラムが分かれてしまうためエラーとなる。
なのでどうにか「●●明細(1,000円)」で1カラムとして取込みたい。

csvをtsvに出力し直せるならその方が手っ取り早そうだが、今回はそれはできない。


・やりたいこと
「●●明細(1,000円)」をダブルコーテーションでくくって「"●●明細(1,000円)"」こうすれば1カラムとして取込める。

正規表現で「●●明細(1,000円)」の直前のカンマと直後のカンマをダブルコーテーションをつけて置換する。
(n回目のカンマに"(ダブルコート)をつけて後ろからm個目のカンマに"(ダブルコート)を付ける)


・直前のカンマを置換
 置換前 ([^,]+,){2}
 置換後 $&"

・直後のカンマを置換
 置換前 (,[^,]*){3}$
 置換後 "$&

取込の際は、テキスト修飾子を「"」を指定します(SQLSERVER2008の場合です)
改行コードがLFではNGでCRLFでOKでした

今回ドンピシャでやりたいことがググってもなかなか出てこなかったのでメモメモ。。。

SQLServer 条件ごとに更新の値を変える方法

これは使えるのでメモメモ

 

update A

set A.hogehoge=(case

       when punipuni = '1' then '202'

       when punipuni = '2' then '203'

       else '204'

       end)

from table1,table2

 where とってくるデータの条件

バックアップ元と先でカウント一致するかの確認クエリ

これもちょいちょい使うのでメモメモ。

 

・まずはBKUPを取得

select * into バックアップ先テーブル名

from バックアップ元テーブル名 (nolock);

 

・BKUP取得後、コピー先とコピー元で件数一致を確認する

select 'テーブル名' as 'table_name'

(select count(*) from バックアップ元テーブル名) as 'moto'

(select count(*) from バックアップ先テーブル名) as 'copy',

( select case when (select count(*) from バックアップ元テーブル名)

 = (select count(*) from バックアップ先テーブル名)

then 'OK' else 'NG' end ) as '比較結果'

 

 

バックアップテーブルするよね

引継の進捗管理シートを作ろう

春、退社、異動に伴いどの現場でも起こる引継作業

そんな引継を少しでもスムーズに行うためのフォーマットを用意しました。(主にシステム運用の作業引継を想定して作りました)


下の文字をコピーして、サクラエディタかなんかで

カンマ(,)をタブに置換してエクセルに貼ると管理シートのフォーマットになります。
引継方は人や現場によってそれぞれだから、参考程度に使えたら使ってって感じです。

 

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

,,,,ざっくり予定(◎:引継(サポート無し)、○:引継(サポートあり)、△:発生時に実施),,,,,,引継元入力,引継元入力,引継元入力,引継元入力,引継元入力,引継元入力,引継元入力,引継先入力,,4月,,,,5月,,,,,6月,,,,
項目①,項目②,項目③,項目④,4月,5月,6月,見込み時間,引継元,引継先(社),引継先(人),並行稼働有無,進捗率(%),ステータス,引継開始日,並行稼働開始日,並行稼働終了日,引継完了日,備考,1週(3-9),2週(10-16),3週(17-23),4週(24-30),1週(1-7),2週(8-14),3週(15-21),4週(22-28),5週(29-4),1週(5-11),2週(12-18),3週(19-25),4週(26-30),


作業環境の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,作業環境,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,作業申請関連,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,  aaa,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,  bbb,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,  ccc,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,作業ツール,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
作業の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,ドキュメント,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,作業手順,◎,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,処理内容,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,過去作業の記録,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,リリース作業の手順,△,△,△,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
システムの理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,商用環境と検証環境,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,システム概要(サーバ、DB、Web),◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,処理フロー,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,   aaa,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,   bbb,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,データベース定義(テーブル、項目),,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,   aaa,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,   bbb,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,各処理におけるデータ推移の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,   aaa,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,   bbb,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,定期メンテナンス,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,サーバ運用ルール,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,システム構成情報資料,,,◎,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
課題引き継ぎ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,ddd,[運用依頼シート],,○,◎,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,ddd,[確認票],,○,◎,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
業務の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,システム共通,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,・キャパシティレポート ,○,◎,,,,,,不要,100%,引継完了,,,,,,,○○○,,,,  ◎◎◎,,,,,,,,
,,,   資料作成,○,◎,,,,,,不要,100%,引継完了,,,,,,   ○○○,,,,,  ◎◎◎,,,,,,,,
,,,・セキュリティパッチ適用対象確認(検証),○,◎,,,,,,,100%,引継完了,,,,,,,   ○○○,,,,  ◎◎◎,,,,,,,,
,,,・セキュリティパッチ適用(検証),◎,,,,,,,,100%,引継完了,,,,,,,   ◎◎◎,,,,,,,,,,,,
,,,・セキュリティパッチ適用対象確認(商用),◎,,,,,,,,100%,引継完了,,,,,,,,   ◎◎◎,,,,,,,,,,,
,,,・セキュリティパッチ適用(商用),◎,,,,,,,,100%,引継完了,,,,,,,,   ○○○,,,,  ◎◎◎,,,,,,,
,AAA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,aaa,・具体的な作業項目001,○,◎,,,,,,,100%,引継完了,,,,,,,   ○○○,,,,,,,,,,,,
,,aaa,・具体的な作業項目002,○,◎,,,,,,,100%,引継完了,,,,,,,   ○○○,,,,,,,,,,,,
,BBB,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,定例業務の説明,◎,,,,,,,,100%,未着手,,,,,,,,,,,,,,,,,,,
,,,年次作業、アカウント作成,◎,,,,,,,,100%,未着手,,,,,,,,,,,,,,,,,,,
,,,過去のインシデント、リリース等の状況,◎,,,,,,,,100%,未着手,,,,,,,,,,,,,,,,,,,

FTPの接続確認方法

何気なく、「このサーバから、あのサーバにftpでつながってるか接続確認しておいて」
と頼まれても、確認方法を知ってる人は朝飯前でも知らない人にとって急に難易度が上がります。

 

FTPの接続確認方法を簡単にまとめます。

 

[スタート]メニューから[コマンドプロンプト]を検索。

●[コマンドプロンプト]を開く

Microsoft Windows [Version xxxxx]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\abcd>ftp xxx.xx.xx.xx   ←ftp linuxサーバのIPアドレス
xxx.xx.xx.xx に接続しました。
220 (vsFTPd 2.2.2)
ユーザー (xxx.xx.xx.xx:(none)): username ←ユーザ名
331 Please specify the password.
パスワード: ユーザパスワードを入力
230 Login successful.         ←ftp接続成功

 

●[コマンドプロンプト]dirコマンドを入力し以下のように表示されれば、ftp接続を抜ける

ftp> dir               ←ファイルの一覧を表示する

ftp> quit               ←ftp接続を終了する
221 Goodbye.

 

 

FWに穴あいているかの疎通確認だけならpingが通ればOKだけど

pingが通ってもftpのportが空いているかは別の話。

ネットワーク越しでもbatファイルを実行する方法

ローカルサーバにログインしてから対象のバッチファイルを実行。ローカルサーバにログインしてから対象のバッチファイルを実行。ってよくあるけど、このログイン作業が若干面倒だったりするのでそれを解決する方法をメモ。


まずはなんでもいいからbatファイルを作ります。


今batファイルが置かれているフォルダをCURRENTとして指定するというだけ
------------------------------------

set CURRENT=%~dp0

md %CURRENT%\テスト

 

-------------------------------------
これだけ。

 

 

自分の生産性をあげる働き方

という本を読んで備忘しておきたいのでメモメモ。

※この記事は完全に個人的な読者感想文なのであしからず

 

 

・パクれるところはパクって学ぶ

・自分をブランド化すること

・経験の棚卸しをして過去を未来につなげる、その選択肢として資格もあり

・議事録は先に書き、話しかけるときは持ち時間を最初に言う

・日曜が憂鬱な人は月曜が見える化できてないから

・引継は効率化のチャンス、俺のスキル衰退期と相手の成長期が重なればベスト

・サクセスストーリーは後付け力だ

 

 

ほんでもって私の読者感想文

・経験の棚卸しと自分ブランド化については今の自分に取り入れるべきポイントだと思った、これが今回の一番の収穫。

・やりたいことが多過ぎるのかもしれないので、willよりもcan,mustに目を向けるのもいいかもしれない

・T型人間はこの手の本によく出てくるな

・議事録作戦は割と効率的にできた

・この作者の別の本をたまたま読んでた

・あとはだいたい分かってるよ、とかそりゃそうだ、って共感するようなことばかりかな

・働き方改革で残業ができなくなった

、残業ってヤル気のある人にとっては勉強時間でしょ、これは言い換えると昔の人が定時後に100時間かけて勉強してたのに今はそれを40時間で覚えろ、って言われてるようなもんだから酷だな。頭良くて効率よく覚えれる人じゃないとムリ。