搾りたての工数と干からびた社畜

99%の雑記と1%プログラミングメモなど

最近読んだ小説

少し旬を過ぎたかもしれませんが、最近又吉さんが花火で芥川賞を受賞されましたね。

 

だからまぁ、少し旬が遅れたとはいえ、ビックウェーブに乗らなきゃいけないわけですよ。

 

今回読んだ本はこれ!

 

 

 

いや、火花も読みんましたよ?

火花の感想は「良い意味でくっだらねぇ!」という一言につきます。僕はAmazonで叩かれるほど悪いものだとは思いません(だからといって良いと言ってない。そもそも小説なんて合う合わないでしょうし)

 

んで本題のこれ。

火花読んだあとに「あー、小説って今まであんまり読まなかったけど、面白いな。物語もそうだけど、作者の思想とか感じれて面白い」と思ったので、前から気になってたこれを購入。

 

ぶっちゃけ今の仕事をやめるつもりはあんまりないし、職場をやめるほど大きな不満は今のところありません。

 

だけど、社会人になって1年弱の期間、一瞬でも「辞めたい」と思ったことは両手では数えきれないほどあります。

なんで、せめて物語を読む中だけでも手にとってみました。

 

あとあらすじがちょっと僕好み

ブラック企業にこき使われて心身共に衰弱した隆は、無意識に線路に飛び込もうとしたところを「ヤマモト」と名乗る男に助けられた。
 同級生を自称する彼に心を開き、何かと助けてもらう隆だが、本物の同級生は海外滞在中ということがわかる。
 なぜ赤の他人をここまで気にかけてくれるのか? 気になった隆は、彼の名前で個人情報をネット検索するが、出てきたのは、三年前に激務で鬱になり自殺した男のニュースだった――

続き気になりません?いや、あらすじなんか読みたいと思わせるように書くもんだろと仰る方もいらっしゃるとは思いますが、個人的には今まで読んだどんなあらすじよりも気になります。(読んだ小説の母数が少ないって?正解かも!) 

まぁ、多分私が主人公と同じ若手社員ということもあって、すごい気になったんだと思います。

 

ネタバレしたい衝動に襲われるのでこのへんで。

火花

火花

 

 

 

【艦隊これくしょん@windows】タイトル画面→船ぷかぷか→猫エラー

Winタブでこの現象でハマったので備忘録

 

艦これのログイン後に間髪入れずに猫エラーという現象の場合、パソコンの時刻があってないことが考えられるので、時刻を合わせること。

 

合わせ方は

右下時計→日付と時刻の変更→インターネット時刻→設定の変更→コンボボックスに列挙されているタイムサーバーから適当なものを選んで時刻を合わせる。選んだタイムサーバーでダメなら別のタイムサーバーを選ぶを繰り返す。

 

これで治りましたとさ。

ランニングに使う音楽プレイヤーはiPodnanoが最強なのでは?という話

以前、ランニングにはソニーの耳にかけるイヤホン一体型のものを使用していました。

f:id:enfor:20150705193608j:plain

 

で、今日もつけて走ろうかと思っていたら、バッテリーが切れてたんですよ。

 

なので、普段使いのiPodnano(7th)を使うかということになりました。

Apple iPod nano 16GB ブルー MD477J/A <第7世代>

Apple iPod nano 16GB ブルー MD477J/A <第7世代>

 

 

で、音楽かけようと思ってディスプレイを見たらフィットネスという普段使わないアプリが目に入ったんですね。

f:id:enfor:20150705193613j:plain

俺「へー、ランニングの目標距離設定できるんだ。とりあえず3キロっと…」

俺「...」スタスタ

iPodnano「500メートル走りました」

俺「ファッ!?」

 

iPodnanoは総距離のみならず、途中の走行距離を教えてくれるみたいで驚きました。

 

これがすごいランニングの意欲を掻き立ててくれる。

自分にとっては、今自分が何キロ走ったか分からないと、ランニングなんて苦痛でしかないんですよ。

 

耳にかけれる一体型って理由だけで使ってるウォークマンより良いんじゃないかこれと思いました。

 

ランニングやウォーキングするときの音楽プレイヤーが欲しい方はぜひIPodnanoをおすすめします。消費カロリーや歩数等も記録してくれますよ!

 

 

余談ですが、3キロ走っても210カロリーしか消費されてなかったのが超驚きでした。

ていうかググったらフルマラソンを完走しても落ちる体重って約300gらしいぜ

【SQL】集計にはウィンドウ関数が便利

いやー、2年目のくせに未だにSQLのウィンドウ関数を本格的に覚えていないので調べました。

 

スキーマはお馴染みscotto/tiger@Oracle

結論から言うとデータを集計するのに使う関数です。

 

■書き方

MAX(EMP.SAL) OVER ()

 ・OVER以前

   ★集約関数(SUMとかMAXとか)とRANK関数(順位決める関数)が使用可能

 ・OVER以後

   ★PARTITION BY(省略可能)

    どの列で区切るかを指定。GROUP BYみたいなもんですな。

   ★ORDER BY(省略可能)

              どの列で整列させるか。

 

さて、emp表から従業員番号と従業員名と各個人の給料と一番高い給与額を算出するよー。

 

ウィンドウ関数使わないとこうなる(SELECT句にサブクエリ。僕のヘボ知識じゃこれが限界です)

select emp.EMPNO,
emp.ENAME,
emp.SAL,
(select max (emp.SAL) from emp) as max
from emp

 

ウィンドウ関数を使うとこうなる

select emp.EMPNO,
emp.ENAME,
emp.SAL,
max (emp.SAL) over ()
from emp

 

結果はどっちも同じ

EMPNO ENAME SAL MAX
7369 SMITH 800 5000
7499 ALLEN 1600 5000
7521 WARD 1250 5000
7566 JONES 2975 5000
7654 MARTIN 1250 5000
7698 BLAKE 2850 5000
7782 CLARK 2450 5000
7839 KING 5000 5000
7844 TURNER 1500 5000
7900 JAMES 950 5000
7902 FORD 3000 5000
7934 MILLER 1300 5000

 

 

 

■で、メリットは?

・集計するのにいちいちGROUP BYとかサブクエリを書かなくていい。

GROUP BY句を書くとSELECTする項目に制限がかかってきます。(GROUP BY句にない項目はSELECT出来ない)

僕がやったようにSELECT句に一々サブクエリを書かなくても良い(サブクエリって一行取ってくるならまだしもデータが多くなると遅くなってパフォーマンスに影響が出るとか)

 

うーん、便利。と共に勉強不足を指摘された気分で苦々しい。

【SQL】SELECTした結果をINSERTする

■今日の失敗談

データベースのあるテーブルの構造が変更になり、旧テーブルから新テーブルにデータを移行しなければなりませんでした。

その時、1行1行こまめにINSERT文を書いてました(IT業界の人間としてあるまじきアナログ精神)

 

そんな事してたら先輩に「SELECTした結果をINSERTすればええやん」って言われました。反省。

 

INSERT INTO TABLE_NEW (COLUMNS1, COLUMNS2,...)

            SELECT COLUMNS1, COLUMNS2,... FROM TABLE_OLD

 

戒めとして残しておきます

(個人的に)買って良かった物と別にそうでもなかった物

浪費を趣味の一つにしているので。

 

・良かったもの

SSD

Transcend SSD 512GB 2.5インチ SATA3 6Gb/s MLC採用 3年保証 TS512GSSD370

Transcend SSD 512GB 2.5インチ SATA3 6Gb/s MLC採用 3年保証 TS512GSSD370

 

 ガンガンガン速ッ!もうHDDには戻れません。

Twitterの中の人が面白くて好きなので、Trancend社の物を愛用中。

TranscendSSDだけで3個使っています。今後は他のメーカーも使ってみたいなぁ。

 

 

■カードケース(AquaDrops)

www.amazon.co.jp

小物入れとしてすごい優秀。

付箋ケースとして使ってます。

 

■ファイルケース(AquaDrops)

 ファイルケースです。

マジでくしゃくしゃにしたり折れたりしたくない書類を入れるのに便利。

この中にごちゃごちゃになったルーズリーフやプリントを入れるだけで整理整頓出来た気になれる逸品。

 

クリップボード(AquaDrops)

www.amazon.co.jp

立ちながらメモを取るためには必須。

AquaDrops製の場合、超薄型(A5067)とそうでないタイプ(A5010)が有り、超薄型のほうがクリップは出っ歯ていません。超薄型をおすすめします。

 

■USB変換アダプター

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

 

MicroUSBしか搭載してないタブレットにおすすめ。WindowsAndroidならマウスが使えるようになるぞ!

ぶっちゃけエロ動画入れたUSB挿してAndroidタブレットWindowsタブレットでエロ動画見るためだけに買いました。

 

■ACアダプターケース

ELECOM アクセサリーケース ACアダプタ用ポーチ ブラック BMA-AC1BK

ELECOM アクセサリーケース ACアダプタ用ポーチ ブラック BMA-AC1BK

 

 パソコンのACアダプターのケースです。ACアダプターはかさばるのですごく重宝します。

 

・残念ながら思ったほどの効果がなかった物

■SurfacePro3

半年くらい前に買ってしばらく遊んで売りました。素晴らしい製品だとは思ったんですけど、キックスタンドが貧弱で非常に落ち着かない。

 

IPadに装着するタイプのキーボード

Logicoolとかがよく売ってるアレ。

文字打つのは便利なんだけど、それなら普通の無線キーボードで良いんですよねぇ。

重くなるし、マウス使えないから結局使い辛くなっちゃいます。

 

■TWIST RING NOTE(AquaDrops)

 使い心地は悪くないんだけど、26穴ルーズリーフではなく29穴ルーズリーフという独自規格のルーズリーフを使用する。

買ってから気付いたぜ…

 

こんなもんですな。多分また変なもの買ってレビューします。

【VB.NET】DataRow配列をDataTableに変換(生成)する

あるデータテーブルをDatatable.Selectメソッドでフィルターにかけた際、返却値はDataRowの配列です。

 

これを再度DataTableに変換する際に、私は今までクソ面倒なやり方でやってました。(フィルターかける前のデータテーブルにCloneメソッドを使ってコピー先のデータテーブルに代入した後にForEach文でデータ取り出してImportRowメソッド使っていたぜ!本当にクソ面倒なことしてたな!)

 

さて、今回はこれを使うとタイトルの事(行配列からデータテーブルを生成)ができる。

DataTableExtensions.CopyToDataTable()

https://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=JA-JP&k=k(System.Data.DataTableExtensions.CopyToDataTable);k(vs.objectbrowser);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5)&rd=true

 

因みに「よし、行配列からデータテーブルに変換するのが面倒だから自分でメソッド作ってdll作ってやるぜ!」とか思って作ってたらこのザマでした。悲しいね!