Excelのリンク先が消せない

[事象]
Excelでリンク先を消そうとしても、OKボタンは押せるが実際にはリンク先が消せていない。

[原因]
他でリンク先を参照している部分が存在しているため。
名前の定義に残っているのが一番多い。

[対応方法]
名前の定義など参照している部分を先に削除を行い、その後リンク先を削除する。

CloudBerry Explorerにアクセスすると407エラーが発生する

[事象]
CloudBerry Explorerをインストール後アクセスすると、407 Authenticate requiredというエラーが発生し起動が行えない。
プロキシ環境のため、以下のフォルダ内の設定ファイルにプロキシの設定を入れたがそれでも動かなかった。

C:\Users\username\AppData\Local\CloudBerryLab\CloudBerry Explorer for Amazon S3\settings.list

[原因]
インストール直後は認証のためか一度Cloud Berryのサイトにアクセスを行う様になってようで、その際にsettings.listの内容は参照していなさそうであった。

[解決方法]
一度ブラウザなどでどこかにアクセスして、その際にFiddlerなどでProxy-Authorizationの値を取得しておく。
その後、CloudBerry Explorerを立ち上げる際にFiddlerでアクセスを止めておき、起動した際に止めたアクセスにCloudBerry Explorerの値を付加してアクセスする事で起動する様になった。

[補足]
手編集でも問題ないとは思うが、バージョンによっては形式が異なる可能性もあるので、setting.listを画面上から編集をし直した。

Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門 (CodeZine BOOKS)

Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門 (CodeZine BOOKS)

Vim8系でMarkdownを確認しながら編集を行う設定(Windows編)

 長い間Vim7.4-Kaoriyaを利用していたのですが、Software Desingでvimの細道読んでいるとそろそろ乗り換えた方がよさそうだったので乗り換えました。
 一からインストールし直したので、vimrcをぶっ飛ばしてしまったので(汗)、quickrunとかも一から設定し直す事にしました。Vim8からはデフォルトでパッケージ管理マネージャーが含まれているとのことだったので、そちらを利用する様に設定し直しました。あくまでも私の環境では以下で動いたのですが、もっといい方法はあるかもしれません。

[前提条件]
vim8-Kaoriyaがインストールされている事以外特にありません。

[作業内容]
1.以下のソースをGitHubからダウンロードしてくる。
GitHub - thinca/vim-quickrun: Run commands quickly.
GitHub - plasticboy/vim-markdown: Markdown Vim Mode
GitHub - kannokanno/previm: Realtime preview by Vim. (Markdown, reStructuredText, textile)
GitHub - tyru/open-browser.vim: Open URI with your favorite browser from your most favorite editor

2.vim内に1.で取得したソース群をそれぞれ配置する。
 C:\Program Files\vim80-kaoriya-win64にインストールしている場合、C:\Program Files\vim80-kaoriya-win64\vim80\packまでまずは移動する。
 その後、上記のパッケージのディレクトリ名をそれぞれ作成し、その中にstartというフォルダを作成する。最後に1.でダウンロードしたzipファイルを展開したものを配置する。多分start以外はディレクトリ名は任意っぽいですが、私は以下の様に作成しました。

pack
|-vim-quickrun
| |-start
|   |-vim-quickrun
|     |-autoload
|     |-doc
|     |-plugin
|
|-vim-markdown
| |-start
|   |-vim-markdown
|     |-after
|     |-doc
|     (以下略)
|
|-previm
| |-start
|   |-previm
|     (以下略)
|
(以下略)

3.vimrcに記述を追加する。
 quickrunが実行された時にmarkdownであることを解釈させ、HTML生成をさせてブラウザに表示させる様にする。なお、例はchrome絶対パスで指定した場合である(もっと簡単な記述もありますが、一旦こっちで書いておきます)。なお、私はvimrcではなく、gvim側を使っているのでgvimrcに記載しています。

(中略)
" quickrunでPrevimOpenを起動させる様に関連づけ
let g:quickrun_config = {
      \ 'markdown': {
      \   'runner': 'shell',
      \   'outputter': 'null',
      \   'command': ':PrevimOpen',
      \   'exec': '%c',
      \ },
      \ }

" マークダウン関連のファイルの関連付け
autocmd BufNewFile,BufRead *.{md,mdwn,mkd,mkdn,mark*} set filetype=markdown

" プレビューする際のブラウザ指定
let g:previm_open_cmd = 'C:\\Program\ Files\ (x86)\\Google\\Chrome\\Application\\chrome.exe'

 上記で作業は終了です。
 その後、\rと入力すれば、Chromeが立ち上がり多少時間が経った後にMarkdownの結果が表示されるようになります。

[参考URL]
u10e10.hatenablog.com

連動ファイル設計不備

過去の失敗をevernoteに書き留めていたので、少しずつこちらに移植。

[内容]
ファイル連動に関して、以下の考慮が出来ていなかった。
・項目にカンマを含む場合の考慮
・項目に改行コードを含む場合の考慮
・受取先が数値項目なのに、送信されてくるデータがダブルクオーテーションで囲まれていた場合の考慮
 ETLのツールによっては、型定義していないと、同じ項目なのにあるレコードでは数値、あるレコードでは文字列と自動変換してしまう。結果、後続処理でエラーになる場合がある。
・項目に半角スペースパディングやゼロパディングが行われている場合の考慮
 逆に半角スペースサプレスやゼロサプレスが行われている場合の考慮
・DBでnull、空文字で管理している項目の取扱い
 (nullも空文字も同じ扱いなのかどうか、XMLJSONの項目の存在有無に関わるのかどうか)
・コード値が直値で設定されている項目や、変換後のデータが送信されてくる場合の考慮
・ヘッダーが含まれて送信されてくるかどうかの考慮
・ファイルによって文字データが異なったり、外字などが入ってくる可能性の考慮
・日付のフォーマットが項目によってばらばら(2017/02/01、2017/2/3、2017.1.2)
・同様にタイムスタンプも項目によってばらばら(2017.01.02 12:34:56, 2017/01/02 12:34:56.789, 2014-10-10T13:50:40+09:00)
・上記の不安定なデータが連動される可能性を考慮せず、またバリデートする事を怠っていた事

[原因]
・今まで安定しすぎたデータしか取り扱ったことがなかった為
・ユーザーが直接作成するデータを想定できていなかった為
・ファイル連動のバリデート処理や、項目定義が甘かった為

[対応方法]
・ETLなどで決め打ちなどせずに、柔軟なプログラムなど用いてバリデート処理や前処理などを行う。
 またはETLでどこまでうまく裁けるかのスペック把握を行っておく。
・連動ファイルを取り扱う際に考慮しておかないといけない事を纏めたファイルフォーマットやチェックリストを手持ちしておく
・項目のフォーマットに関しては厳密に決めておく
・事前に生データをもらっておく
・どちらが変換に責任を持つのか決めておく
 相手先との力関係、連動元がホストやNotesなどレガシー系で修正できないなどでも決まるので、その場合開発PGMの価格転嫁できるかの調整
・例外ケースの調整を行っておく

P247 img要素のサイズは固定化する

img要素は、あらかじめ大きさを指定することで余計なLayoutを避けることができる。
img要素の大きさを指定しない場合には、画像が読み込まれていない段階では、仮の大きさで一度Layoutが行われる。画像が読み込まれ次第要素の大きさが変わることになるので、Layoutやそれに続くレンダリング処理が再度行われる。

Webフロントエンド ハイパフォーマンス チューニング

Webフロントエンド ハイパフォーマンス チューニング

カレントスキーマ上のテーブルやカラムにコメントを付与

DDLを色んな環境にばらまく必要があり、スキーマ名は利用環境によりばらばらであった為、調べる事となった。

[方針]
●コメント付与はsys.sp_addextendedpropertyを用いる。
●SCHEMA_NAME関数にて名称を取得して、それを一度変数に代入しておき、それを代入する。
(MySQLみたいにcreate文内にコメントを追加することができない。)

[方法]

DECLARE @sName = SCHEMA_NAME()

--テーブル
EXEC sys.sp_addextendedproperty 
@name=N'Description', @value=N'テーブル名です',
@level0type=N'SCHEMA', @level0name=N@sName,
@level1type=N'TABLE', @level1name=N'table_hoge' 

--カラム
EXEC sys.sp_addextendedproperty 
@name=N'Description', @value=N'カラム名です',
@level0type=N'SCHEMA', @level0name=N@sName,
@level1type=N'TABLE', @level1name=N'table_hoge',
@level2type=N'COLUMN', @level2name=N'column_hoge'

[参考URL・文献等]
セキュリティ関数 (Transact-SQL)
SQLServerのテーブルやカラムにコメントをつける方法 - ソフトウェア開発日記

SQLServer2014データベース構築・管理ガイドEnterprise対応

SQLServer2014データベース構築・管理ガイドEnterprise対応


SQL Server 2014の日本語で読める参考書は、2016年4月現在もこれくらいしかない。
もうそろそろ2016がリリースされるので、(あまり売れる本でもないので)各出版社ともそこを狙っているのか。
詳しく書かれており、現場で困る様な内容についても色々触れてくれている。
(3カ月ほど関わった案件で初めてSQL Server使う事になったので読んで理解したと思ってたら、
見事にすべての記載内容が頭から飛んでしまっていた。。。)

P74 psacct

Linux上で実行された、すべてのコマンドやプロセスを記録する。

プロセスの終了時に、実行ユーザーや実行時刻などの情報をバイナリの履歴ファイル /var/account/pacct に記録する。

lastcommコマンドを使用すると、履歴を確認できる。

OpenSSH[実践]入門 Software Design plus

OpenSSH[実践]入門 Software Design plus