子供用ハーネス試してみた感想
子供もそろそろ2歳になります。早い。 歩くのも達者になってきて嬉しい半面、ちょっと目を離すと遠くに行ってしまいそうなので、リストバンドタイプのハーネスを買いました。
↓これです。
迷子防止紐 ハーネス 子ども 迷子防止縄 お出かけ用品 事故防止 伸び縮可 超軽量(長めの2.5m オレンジ)
リュックタイプのハーネスを初めてみた時は、そこまで必要なのかなーと少し面食らったのですが、最近考えを改めました。 手をつないでいても、振り払って自分の好きな所に行ってしまうので、本当に命綱だと思いました。
最初はめちゃくちゃ嫌がっていたけど、付けているとそんなに気にならなくなったみたい。 芯にワイヤーが入っていて付け根が金属なので、ちょっと重いなという感じ。 あと、子供側のリストバンドはマジックテープが二重になっているので付けたり取ったりが手間ではある。 テープが固いので巻き方気をつけないと食い込んで痛くなりそうだなと思いました。
手をつなぐのが前提ではあるんですが、万が一のことを考えると安心感があって良いと思います。
.net, sqlserverで時間を扱う時のTipsとか
時間の計算とか、保存をする際に色々ハマったので。
はじめに
時間を扱うにあたって、実世界ではよくある「25時」とか「40時間」みたいな表記を.net frameworkやSQL Serverなどで用意されている時刻型データではうまく扱うことができず、文字列型で保持するような記事が散見されるのだけど、できるだけ時刻型データを使う方向で調査し得られた知見を残す。
.net編
日時データはDateTime、時間はTimeSpanを利用する。
25時とか非実在の時刻を表現するために
一度、TimeSpanに入れて、DateTimeに加算する。
giste189915923de3dbbd94503b4e67dfc57
TimeSpanをLinqで扱うとき
TimeSpanのList等を使う際には、Ticksを使う。
LinqでTimeSpanは使えず、プリミティブな数値型しか受け付けてくれないので、Ticks(long型)を介して集計等を行う。
↓例
SQL Server編
TimeSpanはTicksにしてbigintで保持
SQL Serverにはtime型があるが、有効範囲は00:00:00.0000000〜23:59:59.999999なので、24時間以上の時間は保持できない。(MySQLは838:59:59まで保持できるのに)
数時間ならばいいが、24時間を超えた経過時間を持つ際にはTicksでの保持になる。
既にTime型で持っている場合は、次の関数でbigintに変換すればよい。
参考:
T-SQLでカレンダーを作る
日付をキーとするようなデータを1ヶ月分表示するようなときに使える。 レコードが毎日作られるとは限らない場合、テーブルに保存されているデータだけではどこが欠けているのか分からないが、これを使えば全日分並べることができる。
declare @d as date = '2017-01-01'; with _month(i) as ( select 0 as i union all select i+1 from _month where i < datediff(day, @d, EOMONTH(@d))) select * from (select cast(DateAdd(day, i, @d) as date) as 日付 from _month) as A
何をしているのか
変数でその月の初日を用意しておく
そのまんま。
declare @d as date = '2017-01-01';
再帰CTE(共通テーブル式)を使って、その月の日数を列挙していく
そのテーブル式にwith句で_monthと名前をつけた。
EOMONTH関数を使うとその月の末日を返してくれるので、datediff関数で1日から末日までの日数差を出す。
結果、1月ならば列iに0〜30の値が入ったテーブル_month
ができる。
with _month(i) as ( select 0 as i union all select i+1 from _month where i < datediff(day, @d, EOMONTH(@d)))
用意した変数に、DateAdd関数で日数を足していく
intervalをdayにして、0〜その月の日数-1 を足していけばカレンダーの出来上がり。
select * from (select cast(DateAdd(day, i, @d) as date) as 日付 from _month) as A
あとは、別のテーブルの日付とjoinすれば完了です。
「あなたのセキュリティ対応間違っています」を読んだ
僕が辻さんを知ったのは@ITの連載「セキュリティ・ダークナイト」だった。 当時、情報技術者試験のために覚えた付け焼き刃程度の知識しかなくて、辻さんの活きた話をなんだかドキドキしながら読んだ記憶がある。
そこから数年の間に、社内で勉強会やったりSECCONの地方大会でいいとこまで行けたりして、情報セキュリティについて人より詳しくなったきっかけを与えてくれた人だと思う。
転職してからは今まで以上に周りの人のセキュリティ意識が無い環境…周りに相談できる人も居ないので、どうやればダウンロードサイトのDownload Now!みたいな明らかに怪しいボタンを押さないように教育伝えていったら良いんだろうとか、パスワード管理の現実的な運用ルールとは?とか考えることが多くなった。
そんな時に僕の前に現れたのが…一冊の本だった。
<ここまで前フリ>
- 作者: 辻伸弘
- 出版社/メーカー: 日経BP社
- 発売日: 2016/10/21
- メディア: 単行本
- この商品を含むブログ (2件) を見る
内容としては、最近話題になったセキュリティ事故を挙げて、なぜ起こったのか?事故に対してどうするべきだったのか?背景も含めて詳しく解説されている。 いつうちで起きてもおかしくないなーというケースばかりだったし、どう対応するべきか?という部分は理想を押し付けるのでなく、現実的なアドバイスを提示してくれていて、セキュリティに詳しくない人に寄り添いたいという辻さんの思いがとても感じられました。
さっくり読める分量だったし、みんな読んだらいいんじゃないかな。
子育ては大変だ
独自ブラウザ実装メモ
C#.netで独自ブラウザ組んでるんだけど、いろいろメモ
全体像
Windows FormアプリにWebBrowserコントロールを貼るだけ。
でもタブにも対応したいので、TabControlを貼ってWebBrowserコントロールをもつTabPageを都度増やす。
タブのカスタマイズ
CodeProjectのCustomTabControlが手軽に使えて良いと思います。
Painting Your Own Tabs - Second Edition - CodeProject
WebBrowserコントロールのブラウザ変更
デフォルトはIE7です。不安になります。 レジストリで変更可能。アプリ名がKeyで、IEのバージョンがValue。
IEのバージョンは次の値を指定。
Internet Feature Controls (B..C) (Internet Explorer)
新しいタブで開く機能
これ、結構面倒。 WebBrowserコントロールで新しいウインドウ開くときはIEが開く。やめてくれー。
WebBrowserで新しいウインドウを開くイベントをキャッチして、ウインドウを開く処理を奪い取ります。 アクティブなHTMLタグ(aタグ)を特定し、URLを指定して新しいTabPageを開くようにすると同時にIEを開くイベントをキャンセルします。
今回はIFrameにも対応。ページ遷移しないWebアプリではIFrameを使うことも多い(と思っている)ので。 Document.ActiveElementを取得しても、IFrameの中身のどのタグがアクティブかまではわからず、もう一手間必要。 Document.Window.Framesからフレームを指定して、内部のActiveElementを見ればよい。
今回作りきれてない部分
javascriptのwindow.openとか使ったとき。
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
で、COM扱えるようにして、public void MethodA()をC#で実装したら、
javascript側でwindow.external.MethodA()
みたいに呼び出してあげればよい。
できればC#のメソッドを呼び出すためのjavascriptはブラウザ側から注入してあげるのが良い。
まとめ
こんな感じ。
1年振り返り
ダイジェスト
仕事編
- 転職して1年経ちました
- 強力なメンバーが参入
- 忙しくしています
プライベート編
- 家族が増える予定です
- ちょっとだけ引っ越しました
- VCP更新しました
- ネスペ落ちました
- 2重飛びが10回できるようになりました
仕事
冬〜春 * 販売系のシステム開発 夏〜秋 * 社内のサーバ環境一新 * 情報統制管理の基盤づくり
秋に強力な開発メンバーが来てくれたのでチームとしてはバランスも取れてかなり強力になったと感じます。 最近はもっぱらインフラ関係の整備とシステム保守。
プライベート
近々父親になる予定です。 こんなんで大丈夫かと不安ではありますが、楽しみです。
これ毎年言ってる気がしますが、今年は輪をかけてインプットもアウトプットもしていないなーと思うことが多かったように感じます。 職場の環境が変わって、かなり自由に伸び伸びと仕事させてもらえていますので、ハングリーさに欠けてたのかもなーと。
来年はプライベートが忙しくなりそうですが、月に本1冊、最低1記事を続けます。 今年はお世話になりました。2016年もよろしくお願いします。