IT社畜犬くわっちょのはてな

青森の片隅で働く、フルスタックエンジニアに憧れる器用貧乏なIT社畜犬の遠吠え

2015.08.10 JJUG ナイト・セミナー備忘録

jjug.doorkeeper.jp

JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 #jjug - Togetterまとめ

こちらに参加して参りました(・ω・U)
以下メモ

JDK9

www.slideshare.net

元スライドはこちら  
HTML5に対応するのは個人的に助かります。

何故ただの講師である僕がJava EEをやるようになったのか

JavaEEに対する熱い想い
Strutsに対する不安はものすごく同意。 ・JavaEE7もまだまだ英語の方が多し。 ・「日本語の教育がない⇒技術が普及しない⇒教育も売れない」から
「日本語の教育を作る⇒技術の普及⇒教育が売れる」の正の循環に

OpenShiftのある生活 または PaaSのある生活

redhat.slides.com

・社内のサービス作る ⇒ スグに公開できるか? ⇒ あんまりない。  
  なのでモチベーションあがらない。負の循環。
・PaaSがあると ⇒ 作ったものをすぐにデプロイできる ⇒ 開発者もやってみようとなる
・教育も楽になる
・大事な事
    ・生産性
    ・イノベーション
    ・競争力

営業マンだってJavaが好き ~元営業マンがJavaを読めるようになるまで~

・営業マン ⇒ 社交的、トーク上手、プログラミングには縁がない... みたいなイメージ
・営業マンのいいところ
    ・たくさんの人と関係が作れる
    ・数字に強くなる
    ・図を使った表現がうまくなる
・営業マンの悩み
    ・SEの見積もりを信じるしかない

・自分で見積してやればいい

・営業からSEになるために
       ・営業経験を活かせる部分に特化して動く(要件定義、設計...)
       ・システム側のことをひたすら勉強!(応用情報技術者とか)

Javaで最速のハッシュアルゴリズムを求めて

speakerdeck.com

・暗号化アルゴリズムの話 xxHash murmurHash CityHashについて
・ハッシュ関数に求められるもの ⇒ 速さと衝突しなさ  

Excel方眼紙アプリケーションサーバと侍の新機能

www.slideshare.net

・Excel方眼紙 ⇒ めんどくさい!編集大変!
・ExcelにパスとOutputを書いたものをlocalhostに表示させるという荒業を披露。
・jpsでプロセス確認、スレッドダンプ確認、ログを取る ⇒ 侍で一発解決!

聞こえないJavaエンジニアがお願いしたいこと

docs.google.com

・聞こえないと勉強会にいっても講師が何をいっているかわからない。
・キーワードの発音がわからない
・スライドにない事を話されるとわからない。Twitterとかで呟いてほしい
・できるだけスライドに残してほしい
・事前に原稿があるならスライドとは別にアップしてURLを教えてほしい
・手話通訳は、通訳さんがエンジニアでないので、見る側が脳内で補完しないといけない部分が多い。
・そもそもJava用語系は手話表現がまだ定まっていない
・説明はゆっくり話す。図を重視、用語の読み仮名が欲しい

これについては思うところあるので別途ブログに書きます。

Ant「ビルドできません」Travis「よし通れ」

www.slideshare.net

・ある現場で起きたオープンソースのバグのお話
・Travisでコンパイルエラーになるぞ! ⇒ ビルドが壊れている悲しい現実
・issueにしたら阿鼻叫喚
・オープンソースは完璧じゃない(コピペあるし)、でも怖くない
・自分の Pull Requestが通るとやっぱ嬉しいよね

細かすぎて伝わらない、現場で起きた謎現象

・細かすぎてプロジェクトのメンバーには一部の人にしか理解できなかった問題。
・タイムゾーンがAsia/TokyoとJapanが混ざる  
       ・Zoneindoのディレクトリの並び順がバラバラ  
           ・いずれもJSTに変わりはないためスルー
・ActiveMQでCPU100% & 本番環境のみ!  
    ・FullGCで起きると数%に戻る  
        ・強制FullGC発生(1回/時)させるOSGiアプリいれた 
              ・誰か原因解明を手伝ってほしい!

RedPen その後の進捗について

RedPenについて RedPen

PedPenデモ RedPen Demo

www.slideshare.net

WildFly Swarm の紹介

www.slideshare.net

この辺りはほうほうと聞いてるだけになってしまいました(・ω・`U) WildFly使いたい

Java使いがPHP使いにクラスチェンジした話

www.slideshare.net

・ Java使いなのに会社入ったらPHPやってねと言われちゃいました。
・ 型を書かないのが辛い!
・ ==と===ややこしいよ!(PHPあるある)
・ フレームワークは使いましょう
・JPHP使いましょう

犬の私見: JavaのMapとPHP連想配列も違いが大きいのでこのあたりでドハマりしそう。
犬的にはPHP連想配列使うとJavaの配列はめんどい(・ω・`U)。。。

webエンジニアとwebディレクターを兼任してわかった3つのこと

事業側「あのー」エンジニア「今忙しい」⇒ 相互不信が生まれる。お互いによくない ・両方やれて理解できる人間が必要だと感じやってみる

  1. . ディレクターは報われない ⇒ 権限ないけどプレッシャーかかる。エンジニアからなめられる。お金を引っ張ってきてないから評価されない

  2. . データ分析が活かしきれない ⇒ ディレクターはデータ解析で何ができるかわからない。解析チームは事業の課題がわからない。間を埋める人間がいない。

  3. . 失念。。。すいません(・ω・`U)

資料希望(・ω・`U)

疑似乱数生成器の評価

www.slideshare.net

この辺も知らないといけない

Random (Java Platform SE 8)

SecureRandom (Java Platform SE 8)

GuavaのOptional

Google Guava - Wikipedia

Kotlin始めましょう!

Kotlin - Wikipedia

Gradle 2.6の新機能のお話

https://jjug.doorkeeper.jp/events/28182 #jjug · GitHub

Play Framework サポートは結構うれしい

感想

・ 今回は比較的ライトな感じのLT
・ 営業や企画の人もエンジニア側に寄ってきている。エンジニア側も営業や企画を理解するようにしていく必要あり。
・ 技術教育とその発信をうまくコミュニティ、会社内でも回せるようにしていく必要あり
・ 5分の内容をメモしながら聞くのはやっぱ大変(・ω・`U)

謝辞

LTされた皆さま、色々と勉強になることが多く大変為になりました。ありがとうございました。
JJUGの皆さま、本当にお疲れ様でした。ありがとうございました。

2015.08.04 「運用フェーズになった自社サービスを抱えた会社のエンジニアってどうやってモチベ―ション維持してるの?」 参加してきました

unmochi.doorkeeper.jp

こちらのお話を聞いてまいりましたー。

簡単ですがまとめー。

「ぼくがかんがえたさいきょうのモチベーションを維持するための環境づくり」

ハイロウテック しおばらひろあき様

  • モチベーションがなぜ重要か?

    • 科学的管理法(能率学) -> 「生産性は報酬と環境で管理」 <= 本当にこれでいいのか?
    • ホーソン実験 エルトン・メイヨーら「心理的要素が生産性に大きな影響を与える」
  • リリースが完了するとなぜモチベーション維持が難しい?

    • 動機づけ要因 ⇔ 環境要因
    • リリース後 = 「達成」が完了された状態
    • 承認欲求の充足が別に必要になる(モチベーションの前段階)
  • なぜ「承認欲求」が満たされないのか?

    • 満たされた状態 = 褒められる
    • 満たされない状態 = 無視・無関心(個人・組織間・コミットメントへの)
      • 個人への無関心(例:○○さんと話したことない)
      • 組織間への無関心(例:サービスインしたからもうシステム部は関係ないよね?)
      • コミットへの無関心(安定運用させるための動きをしても企画側に見えない。企画側の内容もシステム側に見えない)
  • 融合的な対処法

    • タスク情報の共有(コミット・個人)
    • コミュニケーションの場の構築(個人・組織)
    • 「現状」と「成果」の把握(コミット・組織)
  • ツールへの落とし込み

    • タスク情報(タスク管理ツールの導入 -> これをシステム部だけで完結させない。企画・制作側も)
    • チャット・メッセージツール(相互の遊びも重要)
    • ダッシュボード・モニタリングツールの導入
      • ⇒ これらを「非エンジニア系スタッフ」に歩み寄る形で実施(全員が参加できなければ意味がない)
    • 情報のチャネルは「一つに集約」する。メール、タスク管理ツールwikiと分散させない
    • 日本語であること(日本人以外は?)
    • 単純であること
  • 実際のツール

    • redmine(チャネルの集約化、看板化はできる。しかし、導入が難しい、非エンジニアが使えるようになるまで時間がかかる)
    • Let's chat(無料・日本語あり)
    • Googleアナリティクス(わかりやすい・情報の一元化が難しい)
    • Liferay / Joomla!(ポータル用CMSjspとか書かないといけない)
    • Let's chatのbot
  • まとめ

    • redmine + Let's Chat が今のところはいいか
    • 非エンジニアも含めチームの人を巻き込んでいくこと
    • 最適解は異なる。モチベーションの定義を思い出して検討。これ自体がモチベーションをさげてはいけない

「運用にモチベを求めるのは間違っているだろうか 」

GMOくまポン システム部:伊藤大輔

  • 運用エンジニアとは?

    1. 自社サービスを提供し
    2. 新規開発をすでに終え
    3. 運用・保守・開発業務を行うエンジニア
  • 運用エンジニアの憂鬱

    • レガシーコードを運用でごまかす
    • 新しさのない永遠の日常が続く
  • モチベーションとは

    • 承認要求モチベーション:感謝されたい(他人の行動が原動力)
      • マクロの環境に依存
      • 供給が不安定
  • 自己完結モチベーション:好きなことをやりたい(自分の行動が原動力)

    • 自分だけで高めていける
    • 安定したモチベーションが可能
    • 自己コントロールが幸せを産む
  • とはいえチームで働くには、承認要求も必要

    • チームワークには尊敬と感謝とが必要
  • まとめ

    • 自己完結モチベーションを見つけること
    • 承認要求モチベーションの為、うまくチームなどと連携すること

「手段の目的化のために僕らがやるべきこと」

spice life 五十嵐邦明開発部長

  • 前提

blog.spicelife.jp

  • エンジニアのモチベーションと事業利益のベクトルを合わせる

    • 例1:AWS使ったよ -> 一気にお客さんきても大丈夫だよ!
    • 例2:gitにしたよ -> 開発スピード上がります!
  • セキュリティ対策はチャンス

    • これを理由にいろいろやれる
  • やっていること

    • 制度をハッカブルに保つ
    • コードを書いたことがない人は採用しない(企画含む)
    • 納得感を持って仕事に取り組める環境作り
    • 「余計な事をしないで!」ではなく「やるべきことをやって!」
    • 日報にポエム大事

「挑戦と安定と職人気質」

アニメイトラボ CTO こしばとしあき

  • 運用だって大事 でも、エンジニアの精神衛生も大事

  • 挑戦と安定と職人気質

    • 「理想と現実」を知る -> 言語化
    • 1人で全部やるのはワンオペ
    • 安定とは何か? 現状はどうか?
    • トップダウン・コラボレーション
    • 安定とは:揺れ動く事
  • 挑戦と安定とのトレードオフ。それを考え直す

    • しんどいけどたのしい -> たのしいことはモチベーションにつながる
    • モチベーションは上げていくもの
  • まとめ

    • トレードオフを捨ててモチベーションを上げる
    • 熟練職人に近づこう
感想

実際の運用技法というよりは、どちらかというともっと根本の理論から学ぶ会という印象でした。 実際長く運用していくのも人間ですので、 心理学、組織理論といった基本的なところから学んでいき、後は実際の現場に則して合わせていくのがいいのかと思いました。

後は、運用という長いフェイズを楽しめるような仕組みづくりが重要とも感じました。 適度に遊びの精神がないと、人間詰まっていくだけだと思いました。

今回は自社サービスの運用メインでしたが これが運用をアウトソーシングされた側になりますと、顧客側を巻き込んでいくことも必要になるのかなと思います。 そのような、人を巻き込んでいく方法というものももっと掘り下げて聞いてみたいなとも思いました。

運営の皆さま、貴重な機会を提供いただきまして、誠にありがとうございました。

くわっちょLT大会 at GMO 2014/11/23

いまさらですが、11/23にLT大会実施しました。

 

皆様非常に濃いネタを発表してくださり、大変感謝いたします。
宮城からSkype経由で参加してくださった方までいらっしゃいました。

 

取り急ぎ、発表してくださった方々で、資料がオンライン上に公開されているものをまとめました。

 

-- Masayuki Uchida(@pref_myu)さん
IoTを支える(かもしれない)技術
http://www.slideshare.net/etmnk/iot-41909851

 

-- sylph01,OmegaRubyist(@s01)さん
Markdownのゆるい話
https://github.com/sylph01/20141123_md_yurui
http://s01.ninja/md_yurui.pdf

 

-- 多田真敏(@suke_masa)さん
NetBeansでかんたんJava EE ○分間クッキング!
http://www.slideshare.net/masa…/net-beansjava-ee-kuwaccho-lt

 

-- モイー氏(@sailmoi)さん
悪のネットワークを倒そう ~ネットワーク入門レイヤ2からレイヤ3までご紹介 今日からあなたもネットワークハンター!~
http://www.slideshare.net/sailmoi/ss-42004436

 

反省点
・企画自体はちゃんと内部にも話をつけること
・勉強会の主題をもう少し明確にしておくこと。今回の発表内容から、かなり技術的にとがった話が多かったので、そちらを主題とするのもありかも。
※ただし身内だけでクローズしないようにもう少し軽いネタも含むようにしていきたい。

・メンタル面の話も別途やっていけるようにしたい

・遠隔地とつなげる際はビデオカメラ必須。

・ブログとかTwitterのまとめるのを手伝ってくれる人をもう少し確保

 

最後に、参加してくださいました皆様、本当にありがとうございました。

色々グダグダで申し訳ありませんでした。

会場を提供してくださいましたGMOYours様、ありがとうございました。

 

次ある...かどうかは未定ですが、あるなら遅くならないうちに実施しようと思います。

 

 

 

 

秋のJavascript祭り 参加してきました

昨日の話になりますが以下に参加してきましたよ。

 

秋のJavascript祭り - Javascript祭り | Doorkeeper

 

最近はJavaScriptをよく3000行ほど書いたりしていたので

改めて勉強しようと思った次第でございます。

まあその3000行のファイルは仕様変更で2000行ほど減ったけど。

 

始まりは @ampersand_xyz さんによるjsとCSS3によるアニメーションの話から

いきなりCSS3のレベル高い話が聞けました。CSS3のアニメーション設定を

うまく使うとjsのコード減らせて便利。

ただ書き方には注意。始点と終点の意識は大事。

あとデザイン界ではIE8はもはや過去のものになっているいい話を聞けた。

IE6使ってます?リプレイスしましょう。

 

つづいてはGoogle Material Designの概要と、Material Designの話。

実際標準化されているのは便利。デザイン難しい。

polymerで動きを設定しておいて後からタグ使って動かす。

実際この辺りとかも参考になるかもしれない。

昨日の資料が見つからなかったので後で差し替え用。

Web Components普及の夜明け!?Polymer.jsを試してみた。 | OpenWeb

 

 

つづいてはD3.jsの話

D3.jsでのデータビジュアライゼーションについて

 

実際に見たほうが話が早い。

 

続いてはJavaScriptを以下にして学ぶかという、ある意味難しい話題。

JavaScriptと共に歩いて行く決意をした君へ

 

実際、いろんな本見て書いてみて後はデザインやりたいのかエンジニア的な

ことがやりたいのか方向性を早く決めることだと思う。

前者と後者だと求められる知識違うし。

Node.jsとかやろうとするとサーバーとかも知らないといけないしね。

いずれにせよまずは書くこと大事。

 

続いてはこちら

Untitled Prezi by 松田 千尋 on Prezi

こちらも参照 

Socket.io×jQuery最小勉強コストでチャットを作る-ITかあさん

実際少ないコード量でチャット機能が作れるのはすごい。

実際のサービスになるとトラフィック量とか考えないといけないので

バックエンドを悩ませる。

実際にやるならそこら辺含めて考えないといけないな。

 

続いてはLT大会。一気に紹介

Famo.usはもう試したかい?


Feature of SVG and Canvas.

 

Chromeデベロッパーツール

 

Mobile + HTML5

 

とりあえず見つけられた分だけ。

 

どちらかというとデザインよりな話でしたが、OSと絡めた話も聞けたので

改めて勉強になりました。

 

次は何か自分も喋ろう...。

 

 

第4回PostgreSQLアンカンファレンスに参加してきました。

以下にいってきたのです。


PostgreSQLアンカンファレンス@東京(9/6) : ATND

 

一応PostgreSQLは某ECサイトの運用やっていたころに2年以上触ってたし、

その時にDBがらみでまあ色々とあったりしたし

DBの管理や運用を勉強するいい機会になりました。

OSS-DB取ったのも昔。

 

で、本当は上記の運用時の話でもしようかと思ったのですが

資料の完成ができず断念。

決して前日にヱヴァQを見ていたから間に合わなかったわけじゃないんだからね!

ちなみにヱヴァQは2回ほど見ていましたが

やっぱ何度見ても超展開にしか見えないね。

 

閑話休題

というわけで完全にきく側として参加することに。

内容は以下のような感じ。

 ちなみに自分はずっと2の方にいました。

単純に移動がめんどかっただけという体たらく。

 

今回自分が聞いた話は

・PostgreSQL9.4での変更点

・WALファイルの扱いについて

PostGISの話

・contribの57ツール全解説

・MLを読めるようになるための英語力をつけるための話

・PostgreSQL9.5に向けたWALファイル圧縮の話

WAL圧縮

・ETLの話

・PostgreSQL9.5の開発に向けたTODO

とガッツリすぎるくらいに濃いお話が多かったです。

とりあえずWALについての知識がないと話がさっぱりわからないでしょう。

そういう意味では初心者さんにはハードル高いんじゃないかという気がする。

DBの内部構造まで勉強するのってDBAとしての勉強しないとなかなかしないしなあ。

 

全体的にPostgreSQLに本当にかなり携わっている人向けな感じでした。

そういう意味ではレベルが高い話を聞けてよかったと思います。

ただ、実際に稼働しているシステムにおける運用ノウハウや

管理・監視体制とかにかんしてのTIPSについてはほとんどなかった感。

次回開催された際にはそのあたりで語ってみようかと改めて思いました。

実際自分も色々と苦しめられたしねえ。

 

あとOSS-DB Goldクラスの知識があるのは最低ラインかもしれない。

ソースコードとか読んでいるとより深く楽しめると思います。

参加される方は事前に勉強しておきましょう。

自分ももう一回勉強しなおします。

 

 

 

 

 

 

 

 

JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 参加記録

とりあえず、以下行ってまいりましたのです。

JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 8/22(金)開催 | 日本Javaユーザーグループ

 

※ 発表資料などはこちらの記事にまとまっておりましたのでこちらをどうぞ

http://kikutaro777.hatenablog.com/

 

6月7月とずっと行きたかったのですが、予定が合わなかったり仕事の都合で参加できなかったJJUGセミナーですが、今回は比較的緩い感じでLTやるよということで

無謀にもチャレンジしてまいりました。

 

正直Java8がローンチされたにも関わらず

Java8を使う機会が中々巡ってこない状況では

あえて手を上げねばいつまでもやる機会がありませんでしたのでね。

 

そんな感じで勢いだけでLTやるよと言ったものの

ネタなんて当然あるわきゃない。

 

Twitterで「StreamAPIについてやってみては?」とアドバイスを受けたものの

正直技術的な話題はいろんな方がしてるしのう...。

てなわけで普段書いているJava1.5や6のコードを

Java8っぽく書き換えて動かしてみる事に。

 

そうして前後のサンプルを作ったのはいいものの

自分で作っておきながらこれはひどいと感じるビフォーのコードが完成

こんなコードを業務で書いたら確実に怖い人から何かが色々と飛んできそうです。

誰だこんなコードを書いたのは!?

俺だ

 

そんなわけで本番1時間前に完成したのがこちらのスライド

Jjug ナイト・セミナー くわっちょ 20140822

 

ビフォーのコードを見た人からは

 と書いた本人ですらまったく同意見な感想が

まあ正直アフターのコードも微妙ですけどな。

 

(2014/08/23 追記)

さっそくツッコミ記事が作成されてました。

自分でもスッキリしてなかった部分がかなりスッキリしています。

http://blog.ik.am/#/entries/279

@makingさん、ありがとうございました。

 

以下雑感

StreamAPIそのものは実際そんなに難しくはなかったです。

ただ「使いどころを考えなきゃいけない」とは思う。

正直for文をなくすことは確かにできるけど

上記スライドのアフターにあるように、下手したら三項演算子の山になる。

なので今まではとりあえずデータを取ってきて後から加工するという思想だったのを

加工する前に何を取ってくるかにより意識を向けないといけないんじゃないかと。

そいでもってStreamでやる処理は少なくしてできるだけ自作の関数を埋め込まないようにする。

そうじゃないとなんだかメリットないような気がしてます。

実際スッキリしない書き方になってるし。 

 

C#やったことないんでこの辺りの意識が正しいかどうかは正直自分ではわかりません。

その辺はこれからも勉強が必要ですね。

 

まあ、次もレガシーコードネタでLTやるけど

今までの情報資産をいかに未来へと受け継いでいくことができるか?

1から作るのではなく既にあるものを進化させるために、チャレンジは続きます。

 

詳しくはこちらを参照

第八回 #渋谷java - connpass

はたして古いコードはモダンな環境で動くのか?

精一杯あがいてみようと思います。

何より10分という長い時間喋んないといけないんでそこが注意ですな。

 

会場を提供してくださった日本オラクル

主催であるJJUGの皆さま

このような機会をいただけましてありがとうございました。

他の登壇者の皆さま、参加された皆さま、お疲れ様でした。

 

余談:

TechOYAJIのチノコスが各方面に色んな意味で知れ渡っていたことが判明

繰り返しますが女装は趣味ではないですよ。

 

それでは

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

comb meet up! に参加してきました。

http://connpass.com/event/7772/

 

こちらのイベントに参加して参りましたー。

 

主に学生たちがIT技術についてLTするイベントでございます。

自分もSIerとはどういう仕事をするのかについて少し喋りましたが...。

学生たちの勢いと技術への真摯な努力に改めて自分もしっかりしないとなと反省。

改めて自分の技術の棚卸とさらなる磨きをかけていこうと思いました。

ただ最近の学生の技術のトレンドと、今の自分の仕事の技術との間に結構乖離が見られたのも事実。

やっぱHaskellとかGo言語とか勉強しておくべきかなあ。

それでもJavaPHPをまずは磨いていきたい自分でありますです。

それ以前にプロジェクト管理とかも勉強しないとなあ...。

 

社畜犬の異常な愛情 または私は如何にして心配するのを止めてSIとレガシーシステムを愛するようになったか」

http://urx.nu/aRgC

 

こちらで公開しておりますのでよろしくですー。

 

というか他の大人枠の人のスライド今のところ見てない...。

 

というか公開できねえ

 

それくらいに闇が深い内容でした。大人枠。

 

自重しろw

 

あと、お金に関することについても、もう少し年齢の高いイベントでは喋んないといけないかなーと思った次第。

 

 子供たち向けに今度はデータベースの話とかしてみたいなあとも思った。

 

C#の参考書持ってきてた中学生とかいたし、少しは興味のある話もできなきゃね。

 

うん。明日からがんばるぞい。