2018年4月13日金曜日

ブログ引っ越しました

http://surumegohan.hatenablog.com/

はてなブログに引っ越しました

過去記事はここで残しておきます

2017年5月24日水曜日

JJUG CCC 2017 Springに参加しました。

2017年5月24日

ごきげんよう。

2017年5月20日(土)に新宿で開催されたJJUC CCC 2017 Springに参加してきました。
参加メモを残しておきます。

参加目的は最近Java界隈からはすっかり離れているので、世の中の動向を知りたいというものです。

JJUG CCC 2017 Spring

Twitterハッシュタグ:#jjug_ccc (セッションごとにハッシュタグあり)

====================

10:00-10:45 JHipsterで学ぶ!Springによるサーバサイド開発手法

発表者:SHINICHI KOZAKEさん
Twitterハッシュタグ:#ccc_f1


スライドはこちら
https://speakerdeck.com/kozake/jhipstertexue-hu-springniyorusahasaitokai-fa-shou-fa

そもそも「JHipsterって何?」という状態で聴講しました。
Spring BootとAngularは便利だけど学習コスト高いよね。というお話。

サンプルコードが充実しており、Webアプリがローコストで作れるらしい。
登壇者のこざけさんの現場ではJHipsterのコードを真似しているとのこと。
あと個人的によさげだと思ったのが監査証跡がDBに保存されるので便利ってところ。

聴いてる限り結構便利そうなので機会があれば使ってみたいなぁ。

====================

11:00-11:45  Vue.js + Spring Bootで楽しくフルスタック開発やってみた

発表者:うらがみさん
Twitterハッシュタグ:#ccc_g2


スライドはこちら
http://backpaper0.github.io/ghosts/spring-boot-doma-vue/#1


ほぼ満席で後ろの席にいたのでスライドが遠くなってしまった。。
今流行りのフレームワークとかがちらっと紹介されてて調べるにはいいかも。
デザインパターンの話とかもあった。


DBアクセス?に「Doma」ってやーつがあるらしい。
気になるので調べておこう。


====================

13:30-14:15 JavaエンジニアのためのPostgreSQLステップアップ

発表者:喜田 紘介さん
Twitterハッシュタグ:#ccc_m1

スライドはこちら
https://www.slideshare.net/kkida85/jjugccc2017springpostgrescccm1


13時には部屋に入ったけど、すでに混んでいて超満員状態。
入れなくて諦めた人もちらほらいた。
喜田さん曰く「参加者10人くらいだと思った」とのこと。

SQLをちゃんと理解しようってお話が前半。
PostgreSQLだけじゃなくてMySQLやOracleも少し話してた。

肝心なところは「DBに任せられる処理はDBに任せましょう」ってところ。
あとDBAの仕事内容と、「こういうことを共有してください」というお話。

すごくまとまっててわかりやすい発表&資料だった。

====================

14:30-15:15 Javaエンジニアに知ってほしいRDBアンチパターン

発表者:Soudai Soneさん って書いてあるけど、「たけとも」さんです。
Twitterハッシュタグ:#ccc_g4 と #RDBアンチパターン

スライドはこちら
http://soudai.hatenablog.com/entry/jjug_ccc

そーだいさんの発表は笑いをとるところは面白いし、真面目なところは真面目ですごいと毎度のことながら思う。

SoftwareDesign5月号の記事の内容もあった。

・DBの寿命はアプリケーションよりも長い
・いつか直したいの「いつか」は一生こない
・「データベースの死はサービスの死」解決できる人は英雄
などなどの名言がでてた。
あと、「DBもモニタリング監視しよう」というのが、「たしかに!」ってなった。

DBのリファクタリングのしんどさがとても伝わってきた。
設計大事だよなぁ。

====================

15:45-16:30 Javaで実装して学ぶOAuth 2.0!

発表者:多田真敏さん
Twitterハッシュタグ:#ccc_e5


スライドはこちら
https://speakerdeck.com/masatoshitada/javadeshi-zhuang-sitexue-buoauth-2-dot-0

私はセキュリティ方面には疎いので勉強のために聴いてみた。

「認証」と「認可」は違うらしい。
OAuth2.0とOAuth1.0はStruts2とStruts1と同じくらい違うらしい。

スライドに各用語がまとまってたり、丁寧な図解があるので、なんとなーく、やんわりと伝わった。
この分野を調べるきっかけには良かった。


====================

16:45-17:30 劇的!データベース・ビフォーアフター 時代はディスクからインメモリーへ

発表者:漆原 茂さん / 山河 征紀さん
Twitterハッシュタグ:#ccc_c6

スライドみつからなかった。

まず「インメモリーデータグリッドは、メモリキャッシュではない」らしい。

とにもかくにもRDBをディスってた。。。
事例が3パターンあったんだけど、インメモリーデータグリッドで処理すれば速くなるだろうって話。
ただ、
・アーキテクチャを変更したアプリの影響
・DBの書き込みは非同期
・運用はどうするんだろう
とか気になるところがあった。

メモリだからすんごい速いんだろうけど、データの同期とかトランザクション処理をアプリで頑張るっぽくて、すごく大変そうな気がする。

====================

17:45-18:30 Java × Arduinoで始めるIoT / フィジカルコンピューティング

発表者:YUSUKE YAMAMOTOさん
Twitterハッシュタグ:#ccc_i5

スライドはみつからなかった。

「あるでぃーの」って読むらしい。
電子工作のお話でした。
LEDをチカチカさせたり、Twitterと連動させたり
なんかこう、わくわくする感じだった。
Arduinoの実演販売みたいだったw
登壇者がすごく活き活きとしていたw
ある意味で一番面白かったセッションだった。


====================

18:30-21:00 懇親会

LINEさんが寿司スポンサーとなったらしくて、会場で回転すしが回ってた。
とてもおいしかったです。
登壇者の方々に軽くご挨拶して、LT大会を聴きました。
LTはみなさん2-3分という時間で勢いがあって面白かった。
個人的には しょぼちむさん のバスの時刻表アプリの話が面白かったなー


====================
総括

今ではJavaをほぼ書かなくなってしまった身としてはすごく楽しかった。
今のJava界隈を少しでも知れたので良かった。
知らない技術、フレームワークとかたくさんでてきて勉強になったし、
各登壇者のプレゼンの仕方も参考になった。

これだけ充実して参加費・懇親会費無料ってすごい。


2016年9月5日月曜日

Oracle Master Gold 11g 合格体験記


ごきげんよう。
先日、Oracle Master Gold 11gに合格したので受験記を残しておきます。


受 験 日 : 2016/08/15
合  否 : 合格
受験科目 : 1Z0-053
受験言語 : 日本語
取 得 点 : 66%(合格点ぴったり)
合 格 点 : 66%
問 題 数 : 78
出題形式 : 単一選択,複数選択
試験時間 : 120分
勉強期間 : 2ヶ月くらい
受験目的 : キャリアアップ
勉強形態 : 独学
実務経験 : ちょっとだけ
勉強前のレベル : Silverの知識が薄れかけている程度
本試験のレベル : ある程度の知識が必要な中級者向け試験。でもしっかり勉強すれば合格できる。
何度目の挑戦か : 1回目

【 使用教材 】

・ORACLE MASTER Gold[Gold DBA11g](試験番号:1Z0-053)完全詳解+精選問題集
→ いわゆる白本

・iStudy


一押し >>> 白本

【 勉強方法 】

通勤中にiStudyをぽちぽちやってましたが
ほとんどの時間は白本に充ててました。

本来は実機で確認すべきことが多いですが
今回は机上が大半になってしまいました。

夏休みを利用して白本を3週、iStudyを2周しました。


【 試験の感想 】

もっと高得点を予想してましたが蓋を開けてみればギリギリ合格。
白本でみたことのある問題がちらほらあり、白本サマサマでした。


【 受験者へのアドバイス 】

白本をまずは読んでしまいましょう。
途中わからないことがあっても、後半の章でわかったりするので
まずは全体を一読してしまった方が良いと思います。


【 次のチャレンジ 】

DB系はOracleのパフォチュー

2016年3月21日月曜日

Oracle Master Bronze 12c SQL基礎 合格体験記

2016年3月21日

ごきげんよう。

Oracle Master Bronze 12c SQL基礎に合格したので記録しておきます。


受 験 日 : 2016/03/21
合  否 : 合格
受験科目 : 1Z0-061
受験言語 : 日本語
取 得 点 : 73点
合 格 点 : 65点
問 題 数 : 75
出題形式 : 単一選択,複数選択
試験時間 : 120分
勉強期間 : 40-50時間程度
受験目的 : 自分のスキルアップ
勉強形態 : 独学
実務経験 : チョットダケ
勉強前のレベル : OSS-DB Goldは持ってる。実務経験もあるけど12cはほとんどなし。
本試験のレベル : ちょい難しい

何度目の挑戦か : 2回目

【 セクション毎の正解率 】

非公開

【 使用教材 】

【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集(オラクルマスタースタディガイド)」
「徹底攻略 ORACLE MASTER Bronze 12c SQL基礎問題集[1Z0-061]対応」
「最強WEB問題集Oracle Master 12c Bronze SQL基礎(1Z0-061)」


一押し >>> 【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集(オラクルマスタースタディガイド)


本屋さんで中身をみて白本を購入。
その後問題集を購入。


【 勉強方法 】

白本を1週解いてからping-tのWeb問題集にチャレンジしたら全然わからなくて撃沈。
ping-tをほぼ全問銀にしてから1度目の受験をしたが5点足りず不合格。

なので、黒い徹底攻略問題集を購入して1週。
その後、白本の模擬試験を再度実施。

【 試験の感想 】

120分が長いようで、受験すると短い・・・
あまり時間があまらなく焦りました。

見直そうと思っても見直せず・・

1問1.4分しかかけられないので、即答できる問題は即答して
SQLを眺めないといけない問題に時間を使うべきでしょう。

【 受験者へのアドバイス 】

PostgreSQLの資格をもってるから余裕でしょと思ったら大間違いだった・・
Oracle特有の記述方法がもりだくさん。
かつ12cは難易度高いという噂は本当でした・・・

2016年3月現在では、Oracle Master Bronzeの合格条件に
11gとSQL基礎も選べるので
認定だけ狙うならそちらの方がいいかもです。


【終わりに】

1回目の受験時なめてました。。
ちゃんと模擬試験を繰り返してようやく合格しました。

再受験無料キャンペーン中ですが本気で取り組まないと落ちますね・・


以上

2016年1月6日水曜日

MySQL徹底入門 第3版~5.5新機能対応~ を読んだ

2016年1月6日


ごきげんよう。


年末年始でちょこちょこ読んでた
「MySQL徹底入門 第3版~5.5新機能対応~」
が読み終わりました。

読んでみた感じとしてはMySQL初心者にはオススメです。
5.5なのでちょっと古いけど。
ただ、データベースってなんぞや?ってレベルの方の場合は
「おうちで学べるデータベースのきほん」
を先に読んだ方が良いかもしれません。


MySQLに関しては私はトーシローなので、都度ぐぐりーのしながら今までやりくりしてたんですけど、真面目にやらんとダメだなと常々思ってました。
で、ひとまず本を読みながらやっていくかーということでこの本を1冊目にチョイスしました。

CentOS7にMySQL5.5をインストールするところから手を動かしてちくちくやってました。

本の中身としては「徹底入門」らしく、一通りのMySQLの勘所は広く浅く書いてありました。

インストール 
→ 環境設定 
→ テーブル作る 
→ SQLを打つ 
→ PHPとかJavaとかでのデータベースプログラムを作る

って一通りの流れができていてわかりやすいです。

レプリケーションについても最低限の設定方法が書いてあります。
準同期はなんで「準」なのよ。ってところも触れてあります。
ただ、バックアップについても記載があったんだけど、リストアについては記載が少なかったかなーという印象です。

レプリケーションとバックアップ&リストアについては運用面を考えると重要なので、そこらへんの知識が欲しい場合は自分で調べながら補完すると良いかもです。

あと、文字コードの注意点と巻末のFAQがなかなか良かったです。
文字コードはハマることも多いので気をつけたいところです。


というわけで、MySQLを徹底入門しました。
次に読むMySQLの本は下記のどれかかなー。

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
実践ハイパフォーマンスMySQL 第3版
詳解MySQL


以上


2016年1月2日土曜日

「精神科医が教える読んだら忘れない読書術」を読んだ


2016年1月2日

ごきげんよう。

初詣のおみくじは末吉だったので。今年はほどよく頑張っていこうと思います。


さて、今回はIT技術的な話ではなく、先日読んだ本について書きます。

精神科医が教える読んだら忘れない読書術です。

年末年始休みにいくつか本を読む予定だったのですが、当方忘れっぽいのでこの機会にこの本を読みました。
すると「読んだらレビューを書きましょう」ってあったのでレビューとまではいかないけど、感想でも書こうと思った次第です。


で、この本は「精神科医が教える」って書いてありますが精神科医っぽさはほとんどなく、著者が読書をたくさんする人なので、その人が実践してることが書いてあります。
精神科医だからすごいのか?って期待で読むと釣られるんで注意。
読書しまくってる人がやってることって感じです。


はい。中身の話。


1章を自分なりに要約すると。
「読書は楽しみながらやること。で、読んだら行動することが重要。」
たしかに読んでそのままだと忘れちゃうし、行動を伴わないと「おもしろかったー」で終わってしまうのでとても腑に落ちた。
巷によくあふれてる自己啓発本を私も数冊読んだことがありますけど、基本的にどれも「グダグダ言ってないで行動しろ」って書いてあるものだと認識しています。
今回は読書に関してなので、読みっぱなしにしないで読んで気づいたことがあったら行動に移してみましょうってことを言ってるんだと思います。


2章は忘れないためにやることが書いてある。
「本を読んだら10日以内に3回アウトプットすること。」
「議論(飲み屋で話せるくらい)できるくらい読まないと効果が薄い。」
ということだそうです。
要するにインプットだけだと忘れちゃうってことですね。
読む前からアウトプットを意識して読むと良いそうです。


3章はアウトプットについてもう少し書いてある。
「具体的にどこがためになったのかを要約して誰かに伝えること」
「感想は読んだ当日でもいいけど、書評やレビューは次の日にする。なぜなら当日だと感情的になっちゃうから」
私からすると「これはどうなんだろうな?」と感じた。
本の種類にもよると思うんですよ。
小説とか自己啓発本とかはわかるんだけど、技術書の類はどうなのかなと。
技術書を読むときはたいてい手も動かす(はず)なので、視点が違うのかもしれない。


4章から忘れない読書術はどっか行っちゃってる。
「面白そうと思って本を買ったらすぐに読み始める。熱が冷めちゃうから」
これはその通り、、積み本はよろしくないね。。私はたくさん積んでます。。。
「著者に直接会う」
ってのもあった。
たしかに自分にとって良かった本の著者は実際に会ってみたい。
PostgreSQLの場合はJPUGのイベントとかアンカンファレンスとかに著者がいらっしゃることがある。


5章はどんな本がいいの?って話になってる。忘れない読書術はどこ行ったんだ。
「なりたい人が書いてる本、推薦してる本を読む」
これは最近自分でも気づいていて、技術書を読むときに、(自分の中で)すごい人が書いてる or 話題にしている本はいい感じなことが多い。
最近だとそーだいさんが「SQLアンチパターン」という本をオススメしてた。
ので、早速買った。
25章あってまだ私は5章くらいまでしか読んでないけど、すごく良い本。
データベース設計する人は読んでおいて損はない本。一部の人たちが名著と呼ぶのも納得。


6~8章は「電子書籍すげー」って話と「著者(樺沢 紫苑さん)のオススメ本の紹介」です。
オススメ本に精神科医っぽい視点が入ってるんだけど、一般の人はそれを読むか?って感じの本がいくつか紹介されてる。
あと読書好きにはKindleが便利で、いかに便利かってのがながーーく書いてあった。
まぁ、電子書籍便利だよね。って感じです。
すげぇどうでもいい。この章削って100円くらい安くしてくれ


総括:
「アウトプットを意識して本を読む」ってのと「レビューを書きましょう」ってのはとても納得。
これは今後実践していきたいところ。
なのでブログに書いてみた。


以上です。




2015年12月13日日曜日

第6回 PostgreSQLアンカンファレンス@東京(2015/12/12)に参加しました

2015年12月13日

ごきげんよう

第6回 PostgreSQLアンカンファレンス@東京(2015/12/12)
に参加しましたので、その際のメモを参加報告として記載します。


Twitterハッシュタグ:#pgunconf

======================

■ウィンドウ関数とplv8、PL/R  国府田 諭さん

ウィンドウ関数はWindowsじゃない!w

から始まりました。

PostgreSQLのウィンドウ関数はドキュメントがわかりにくいとのこと。

たしかにドキュメントがちょっとわかりにくい
3章、4章、9章、リファレンスにまたがってる。

というわけで
plv8でウィンドウ関数を自作した

Q.
Window関数をごりごり使う時は分析が多い 
Rとかで実装する方がよくない?
plv8はフィット感どうなの?

A.
大量のデータはRでやるには荷が重い


Web系の人が必要かもしれない?


■所感■
たしかにWindow関数のマニュアルは読みにくいかもしれない
plv8 は初耳単語なので調べます・・

======================

■2016年にしたいこと 桑田さん

1、libpgなしでもDBにアクセスしたい

問題点
・DBドライバが配列型やJSON型に未対応
・libpgのバインディングを言語ごとに作るのは面倒
・新しい言語を試したくてもDBアクセスできないから実用性が低い


解決策
・DBサーバにhttp1/2機能(I/F)を追加

 どの言語でもhttpには対応している
 非同期アクセスもしやすい


2、SQLの静的解析を評価したい

 SQLのテストは少々困難
  → テストデータを用意するのが面倒

 データ型や制約を活かしきれてない
 例;スカラサブクエリになることを表現できない

JavaはCheckStyleやFindBugsみたいなツールがあるけど
SQLだと静的解析するツールが(そんなに)ない!


JSONはちょっと難しい
 → 時刻や日付のデータ型がない

JSONの欠点は「全部」をパースしないと解析できない

http2をDBサーバに組み込むの誰かやってくれたら嬉しい


■所感■
http2のI/Fが追加されたら確かに面白いかも


======================

Kei Hibioさん

Haskellを使ってSQLを組み立てるDSLを作りました

■資料
https://htmlpreview.github.io/?https://github.com/khibino/haskell-relational-record/blob/master/doc/slide/PostgreSQL-Unconference-201512/Query.html


あれやこれや作ってみたようです
・inner Join
・Left Outer Join
・group by
・order by

Q 普段これ使うの?どう使うの?
A SQL生成するところだけ発表したけど、結果も生成されるんです


HaskellのI/FがPostgreSQLにない?



■所感■
スライドを見ながら
なるほど・・って感じたけど
自分じゃ絶対かけない・・・


======================

うさぎコレクター ~PostgreSQLで画像データ管理~
Ayumi ishiiさん

■資料



■問題
変化の激しい世の中において常に技術を追いかけ高いパフォーマンスが求められる
→ 癒しが重要
 → ペットのうさぎが癒し業をボイコットしてる

■仮説
うさぎ画像をみれば癒されるのではないか


■やってみる
うさぎ画像の検索結果から画像を抜き出す
→ ローカルに画像を保存
→ PostgreSQLで画像情報を管理する

<コンプライアンス注意>
非営利目的での再利用が許可された画像に限定
取得した画像は個人で癒しに使うのみ


Googleに非営利目的での再使用が許可された画像を表示する機能がある
→ 非営利目的用のURLになってる
 → 正規表現で地道にこれを抽出する!


ただし、うさぎ画像を非営利目的用画像にしぼると
かわいい画像が減る問題発生


画像をどうやって管理する?
・bytea → データ量が多くなると性能劣化
・ラージオブジェクト → io_import()などを使う
・外部ファイル → 画像の更新がDB管理でできない

PHPを使うとこんな感じになる
insert into image values(Io_import('/home/postgres/1')


■結果

画像フォルダがうさぎ画像でいっぱい!
手元にうさぎ画像がいっぱい!
ローカルなのでオフラインでもうさぎ画像がいっぱい!
何が起きてもうさぎ画像がいっぱい!

Q
このシステムの欠点がある。
このシステムにより飼ってるうさぎが癒し業を完全に放棄してしまうのでは?

A.
うさぎに気づかれないように使いますw


■所感■
こういうの好きw
他の画像でもできそうだし、応用が効きそう
アンカンファレンスらしい発表だった

======================

9.5で追加されたGroup by機能の使い方 喜田さん


GROUP BY GROUPING SETS
1クエリで複数の集計を組み合わせて取得

標準SQLへの対応したと考えてる
・GROUP BY GROUPING SETS
・GROUP BY ROLLUP
・GROUP BY CUBE
 → CUBEはクロス集計ができる


■Group byの新機能で嬉しいこと
1クエリで結果を得られるのでAPとDBのアクセス回数を削減できる。
SeqScanの回数を削減できる。

■注意点
ソートが激増してDISKソートになるので、WORKメモリを増やしましょう
→ クイックソートになります


grouping関数の存在と役割。
9.5では使えたがマニュアルに書いてないし、pg_procなどからも定義が探せない。

関数じゃなくて修飾子っぽい?


■所感■
Group byはたしかに何回もやらないと
欲しい集計が今までできなかった気がする。
複数列を一気に対象にできるなら便利そう。


======================

PostgreSQL CLUSTER計画 久田正樹さん


ウィーンに行ってきました
PostgreSQL Conference Europe 2016

世界最大の401名の参加で世界最大


PGConf.EU Cluster Summitで何が決まった?
 PostgreSQL TODOに更新があった
 FDW、パラレル実行、パーティショニング、おそらくGSM/GTMを拡張し、ビルドインのShardingソリューションのPOCを作る

議事録公開されてるけど、参加みんな言いたい事いっててよくわからないw


シャーディングをする => PostgeSQLがCLUSTER化されることが決まった!

ひとまずShardingでクラスタのPOCを作りますよ

Postgres-XCを拡張する?
※よくわからなかった

Q:
クラスタ化のマイルストーンありましたか?

A:
ありません


■所感■
クラスタ化されるのが早ければ2~3年後かも?
という話もでていた。
たしかにそろそろクラスタ化とか、こういう話がでてくるんだろうなと思った。
Postgres-XCの発展も個人的には期待したい。


======================

postgres_fdwを久々に使ってみた  ぬこさん


AWS RDS PostgreSQL上では実質的に日本語全文検索できねーじゃねーか!
→ postgres_fdwを使おう


※スライドみててメモとってなかった・・

■資料



■所感■
postgres_fdwって聞いたことしかなくて
調べるにはいい機会になった。


======================

パラレルシーケンシャルスキャンの検証 snagaさん


9.6に実装される機能?

パラレルシーケンシャルスキャンのデモ

資料は以下


■所感■
シーケンシャルスキャンが高速化するなら、みんな幸せになりそう。
ただ、まだまだ検証段階なのでこれからどうなるのか楽しみ。
場合によりIndexよりも速くなったりするのかなぁ。



以上