jfluteの日記 このページをアンテナに追加

2017-11-29

驚きのDBFluteフェス2017終わり

|

終わったー

f:id:jflute:20171126111553j:image

どーびーふるーと?
キャストの新卒の方が細工してくれたようです笑

...

11年経ったDBFlute, 驚きのフェスでした。
(ブログは11/29ですが、フェス自体は11/26です)

// DBFluteフェス2017 | Connpass
https://connpass.com/event/70648/

...
...

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

まずは、今年も会場を提供してくれました、
ビズリーチさんに感謝。
素敵なガーデンでフェスができることのが幸せです。

...

そして、今回もバーガー支援をしてくださいました、
N2SMさん(Fess, sugayaさん) に感謝。
(金銭的に)個人運営のフェスなのでめちゃありがたいです。

...

そしてそして、
RemoteApi, RemoteApiGen
をコントリビュートしてくれました、
U-NEXTさんに感謝。
(この話、あとでセッションの中で出てきます)

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

...
...

すっかり恒例となりましたが、
「1000円取る方式、いきなり懇談会方式」
随分と参加の敷居を上げてるような気もしますが笑、
それでも35名の方に来場頂きました!

f:id:jflute:20171126162331j:image

...

ただ、ちょっと当日始まる前に...
DBFlute Intro を猛烈にリリースしているでこちゃん、
関連する DBFlute-1.1.5 をリリースしているjflute。

f:id:jflute:20171126112548j:image

さて、いきなり懇談会

中目黒レインボーバードランデヴー
(Rainbow Bird Rendezvous)
のごはん!

f:id:jflute:20171126115631j:image

いつものごとく、
多くの人が普段あまり口にしない料理に驚き、
そして、おいしくたのしく頂きました(^^。

f:id:jflute:20171126115638j:image

正直、この時点では、
まだちょっとムードは固い感じです。

f:id:jflute:20171126120002j:image

でもいいんです。まずは場を共有すること。
徐々にみんな会話が盛り上がってきます。

f:id:jflute:20171126122549j:image

オーガニックコーラアップルタイザーも、
ガツっと仕入れました!

f:id:jflute:20171126113712j:image

First Section A: "Fess/Elasticsearch"

Fess/Elasticsearchを使った業務で使える?全文検索への道 | Slideshare

恒例のすがやさんのお話。
Fess と Elasticsearch,
どんどん様々な形式のデータが積み上がっていく中、
検索エンジンの需要というのを感じます。

f:id:jflute:20171126130116j:image

これからの時代、さらに着目すべき分野かもですね。
(裏番組登壇中でjfluteは聞けなかった><)

First Section B: "ConditionBeanのマニア"

マニアではありますが、
結構、実務的な話もしたと思います(^^。

f:id:jflute:20171126130421j:image

来年は、マニアのマニアをやりたいですね。

Second Section A: "DBFlute Intro, デコメント"

DBFlute Introで気軽にDBコメント変更 | Slideshare

DBコメントの悩みに着目するという、
なんともDBFluteらしい、
新卒三年目でメイン登壇しちゃう
"でこちゃん" のセッションf:id:jflute:20171126135854j:imageDBコメントをみんなで書いていこう」
を実現する DBFlute Intro の "デコメント"、
まだ機能限定ですが、使える状態になっています。

DBFluteフェス当日にリリースされた、
DBFlute Intro-0.1.3 と DBFlute-1.1.5 で、
Intro から SchemaHTML を開いて、
カラムコメントをクリックすると...
ぜひ試してみてください(^^。

Second Section B: "RemoteApi, RemoteApiGen"

Lasta RemoteApi と RemoteApiGen | Github

DBFluteコアユーザーの "あわねくん" から。

f:id:jflute:20171126140053j:image

完全に LastaFlute のお話ではありますが、
やはり昨今はそもそも「RemoteApi呼び出し」
というのに興味がある方が多いらしく、
予想外に!?人気セッションとなりました^^。

こないだの...

U-NEXTさんから Lasta RemoteApi をコントリビュート頂きました

の更に続編的なお話。

RemoteApiGenは、jfluteも驚く、
かなりファンキーな機能になっています。

Third Section A: "個人Webサービス, Lasta+SaaS"

Lasta FluteとSaasを使って 個人でWebサービスを運営してみた話 | Slideshare

Clock It! の "みやさま" のスタートアップなお話。

f:id:jflute:20171126150017j:image

個人Webサービスを作る!
このテーマにDBFluteは非常に興味津津です。

それを見事に体現しているみやさまのお話は、
非常に説得力がありますね。

Third Section B: "DBFlute+IntelliJ IDEA"

なんと、jflute が IntelliJ のお話!
まずそこに驚いた方も多いのでは笑。

f:id:jflute:20171126145524j:image

でもやはりやることはマニアック、
.ideaディレクトリを攻め込んでみました。
内容はこちらのページの通りです。

Friends - IntelliJ | DBFlute

警告設定やフォーマッター設定、
これをプロジェクトに合わせて調整して、
みんなでgitで共有することが大切。

こちらも予想外に人が来て、
反応を見ると、IntelliJを愛用しながらも、
IntelliJの警告ジレンマに「うーん」
ってなってる方々多いようですね。
Java以外の言語のユーザーの方も
いらっしゃいました。

なんだかしばらく定番のネタになりそうだなって。
他の勉強会でも話していったら面白いかも!?

...

ちなみに、司会の "らいとくん" です。
堂々とした立ち回りでスムーズな進行ありがとう!
(ハンズオン早く卒業して欲しいなー)

f:id:jflute:20171126145823j:image

バーガー懇談会!

もはや恒例になりました。
世田谷オルオルカフェ の、
ヴィーガンバーガー!

f:id:jflute:20171126154909j:image

「懇談会が二回ある」ってのがポイント。
最初はやはりちょっとみんな固いのですが、
ここに来ると共通の話題も増え、顔も知り、
自然と交流がたくさん生まれていました。

「おいしーな、これ」

f:id:jflute:20171126155127j:image

ってな言葉が飛び交う中、
DBFluteユーザー同士が交流するのを
見るのが、ぼくはとっても嬉しいですね。

f:id:jflute:20171126161148j:image

世代LT大会

さあ、今年のLT大会は、
なんと「次世代」と名付けて、
若者だらけのLT大会としました。

でも、みんなしゃべり上手だし、
おもしろいし、ひねりもあるし、
すごいなぁとしみじみ。

かぼすのDBFluteフェスのLT「Swagger」
 by かぼす


f:id:jflute:20171126162149j:image

...

別に、ふなきくん、プルリクしてもいいんだからね笑 | Slideshare
 by ふなきくん U-NEXT


f:id:jflute:20171126163532j:image

...

ちょっと便利なテストの話 (PoliceStory) | Slideshare
 by しょーごくん Luxa


f:id:jflute:20171126164511j:image

...

DBFluteハンズオンで学んだこと etc. | Slideshare
  by かたしん


f:id:jflute:20171126165717j:image

...

(スライド公開調整中)
 by こばなお Luxa

f:id:jflute:20171126171108j:image

...

ただ、一名風邪で欠席の方がいらっしゃったので、
飛び入りでベテランが登場(^^。

死にかけの現場より by かねこさん
(スライドは公開されず)

f:id:jflute:20171126172701j:image

...
...
...

若い人が人前で発表する機会を提供したいな

って、ずっと昔から思っていました。

なので、敷居の低いDBFluteフェスで、
どんどんチャレンジして遠慮なくチャレンジして、
発信することに慣れていって欲しいなって(^^。

「同世代の話が聞けてすごく刺激になりました」

って声も聞かれて、やって良かったなぁと。

最後のjfluteトーク

また、実際にここに書いたように
しゃべったわけではないですが、
だいたいの流れと伝えたいことを
まとめました。

言ってないことも少し付け足しちゃいます笑
(ちょこっと言い忘れたこととか...)

f:id:jflute:20171126174959j:image

jflute: プロダクトの紹介

なんとかFlute, 増えましたね。
(ひとつひとつ簡単に紹介)

...

jflute: 多すぎ、品質キープのジレンマ

ただ、11年経って...

さすがに限界は少し見えてきた気がします。
これ以上メンテナンスするライブラリが増えると、
品質が破綻するだろう。

o LastaFluteはとってもやって良かった
o DBFluteのためにもなった

そう言い切れますが、
当然のこと、LastaFluteをやった分、
DBFluteの改善に当てる時間は減ったのは事実です。
ユーザーのみなさんにはごめんなさい。

jflute: プルリクリクエストします

まあ、さすがに「多すぎ」ってところで、
メンテナンスがおっつかないものも。
ということで、
ひとつプルリクリクエストさせてください。

dbflute-example-on-springbootのプルリクリクエスト

ERFluteのように、
使いながらみんなで品質を高めていくやり方、
これもちょっとずつ増やしていこうかなと。

jflute: 11年前のDBFluteパワー

DBFluteをもっとやりたい!
ということで、10年前に会社員を辞めました。
まったく見込みもないのに。
でも...

やるだけやって誰も使わないでおしまいなら、
それはそれでいい

やらずにおしまいになる方がいやだったと。

また、jfluteってどこまでやれるんだ!?
個人の限界にもチャレンジしてみたいってのも。
やらずに限界を知らずに終わるのもいやだった。
どうせ負けるならボロボロになって負けたいねって。

そして、それら感覚は、いまも同じかも。

jflute: 世の移り変わり

ただ、世の中は11年前に比べて
だいぶ変わった気がします。

フレームワークプログラミング言語の上に建ってます。
プログラミング言語がどんどん増えてきました。
フレームワークは建て直しをしなければなりません。
建て直しのコストを払える体力がなければ、
追従は難しいでしょう。

(これ言ってないけど...)
システムの多様化が進み、
フレームワークに対する要求は複雑になりました。
フレームワーク開発の専門性も高まり、
求められる品質も高くなってきました。
品質を担保できる組織力がなければ
提供自体が難しくなっていくでしょう。

(これも...言ってないっけ?)
その中でも世に出てくるようなフレームワークは、
非常に品質が高いものばかり。
それを提供できるパワーのある組織も増えました。
なので極端な話、何を使ってもちゃんと使いこなせば、
大抵のサービスは作ることができてしまいます。
「このツールならこんな問題が解決できるよ」
が、あまり響かなくなってきていると感じます。
「このツールでないと解決できない」という高付加価値、
これを付けるのは非常に難しい時代になりました。
(でもこれは世の中にとっては良いことではあります)

もちろん、効率面で色々と差はあるはずですが、
その差を論理的に導き出すのは難しいもの。
社会実験でもしなければ証明できません。

以前よりも一層、
「感覚的なデザイン性の一致」(要は好み)
に左右される割合が増えていると感じます。
そこでは、プロモーションが大きな影響を与えます。
プロモーションも体力が必要です。
その体力がない運営体制ツールは厳しいでしょう。

(これは言ったと思うんだけど)
でもこれはどの業界も同じです。
市場が成長してくると同じようなことが起こり、
そのもの自体のポテンシャルはあまり関係なく、
体力のないものは淘汰されてきます。

jflute: 限界のちら見

ほぼ個人でやってきたDBFlute,
もちろんたくさんの協力も頂いていますが、
強まるプレッシャーの中で、
たくさんのリソースを持つプロダクトたちのように、
振る舞っていくのはかなり厳しいと感じます。

なんだかんだ、DBFluteを知ってる人は極少、
ネット上でも世の勉強会でもほとんど話題にならない、
「ふぅー」と吹けば簡単に吹き飛ぶようなものです。
DBFluteを使ってくれたり、
DBFluteを学んでくれたりするみなさんに、
その事実はちゃんと伝えておかないといけません。

普段から DBFlute, DBFlute 言っていますし、
今日みなさんが来てくださって喜んでいますが、
決して楽観的な気分は持っていません。
ただ、淡々と、
DBFluteを見つめる必要がjfluteにはあるので、
厳しさも直視しているつもりです。

jflute: 広めることのジレンマ

もちろん、
DBFluteをものすごくメジャーなものにしたいか?
というと気持ち的には別にそういうことはありません。

そして、今日のように、
DBFluteユーザーが普通に集まってくれる...
これだけで十分と言えば十分かもしれない。
もともと現場は千差万別DBFluteがフィットする現場の
数パーセントにでも届けば。

...

でも、実際にはそうではありません。
プロダクトというのは、
ユーザーがいなければ滅ぶのです。

サービス運営で儲けがないと滅ぶの当然だけど、
オープンソースフレームワークは実質ボランティア、
別にユーザーが増えなくても滅ばないのでは?

いや、同じです。ユーザーがいるから発展するのです。
芸術作品としてのモチベーションはそう長く続きません。
ユーザーが0になれば、さすがにやらないでしょう。
ユーザーが少なければフィードバックもなく発展がせず、
世の中からどんどん立ち遅れていき陳腐化し、
開発者自体もモチベーションが続かないでしょう。

技術というのは、広めなければ滅ぶのです。

「使ってくれる人たち、気に入ってくれる人たちを、
まったく興味の湧かない人が混じった中で探す」

という「広める」という寂しい行為を、
同時にしていかなければならないのです。
「ロジカルではない壁」も立ちはだかるでしょう。

プログラミングだけやり続けられれば、どれだけ幸せか?
でも、人に使ってもらうものを作ってる以上は、
単なる技術追求では済まされないのが「モノ作り」です。

...

身の回りの若者たちも、自分が追求したい思考と思想を持ち、
「それらを広めていきたい」という話を聞くようになりました。
イバラの道を知っているだけに、ちょっと複雑な気持ちになります。
自分よりも優秀な方々なのでうまくやるのかもしれませんが笑。
どのみち若者を止めることはできませんから、
様々なジレンマを経験し、どんどん強くなっていくでしょう。

jflute: 若者のオープンソース貢献

暗い話をしたいわけじゃなく、
素直にそう感じているという話を伝えたいだけですが、
明るい話もしましょう。

昔は jflute ひとりで DBFlute を開発してきた、
という感じでしたが、多くの若者が協力してくれています。

DBFlute Intro もそうですし、
今日はDBFluteへのプルリクの話もありました。
若者たちが、DBFluteフェスでLTをたくさんしてくれました。
しかも、とてもクオリティの高い発表ばかりでした。
すげーなー、と素直にそう思います。

そして、何よりも、このDBFluteフェスを
安心して運営してくれてる若いキャストたちがいます。
DBFluteフェス、そろそろ止めようかな...
と何度も思ったことはあります。やはり負荷が高いので。
でも、彼らが協力してくれて、
非常にスムーズに運営してくれることで、
また今回も開催することができました。
ぜひみなさん、彼らに拍手をお願いします。

jflute: 若者への厳しいアドバイス

と、若者を讃えてばかりで、
甘やかしてもしょうがないので(^^、
二つアドバイス。
一緒に課外活動して、よくわかったことでしょう。

一つ、チャットやメールなど、見逃さず素早く返すこと

基本中の基本ですが、
課外活動では業務よりも実は重要です。
オフィスに一緒にいないですから、
それでしかコミュニケーションはできない。
時々のface-to-faceではごまかせないのです。
もし将来、個人でやりたいことがあるのであれば、
ここが脆いと非常にネックになりますよ。

二つ、やりきること

プライベートの活動って思ったより進まないでしょ?
会社員になったからには、セカンドアクションなのです。
あと三ヶ月あると思っても、実際に使える時間と、
不意に時間を使えなくなるリスクを考慮すると、
実は一週間もないかもしれませんね。
時間だけで言うと「今週末まで」って感覚かもよ。

それを乗り越えられるスピード、
そして、行動力がないと、
どんどん遅れて止まってしまいます。

やりきる力、これを養って欲しいです。

夢を叶えたいなら、
この二つは心に刻んでおきな。

jflute: 若者を育てる土台

別に、若者たちがずっとDBFluteの活動をする、
と思っているわけでもありません。

DBFluteを使わない仕事になったら興味なくすでしょうし、
別のツールのほうが好きになるかもしれませんし、
何よりも、自分の夢があればそっちを叶えたいでしょう。

なので、別に後継者がどんどん出てきてる、
っていう感覚で捉えているわけでもありません。
そう思ってはいけないとも考えています。

ただ、いま力を付けるために、
DBFlute関連のことを手伝ってくれるなら、
その分、成長するために伝えられることは、
何でも伝えますし、厳しいレビューもしましょう。
jfluteが全力で成長をサポートしたいなと。

そして、
「そろそろ自分のことやりたいです」
となれば、それはそれで応援します。
続きはまあ...きっと、
jfluteやあわねくんがメンテしますよ^^。

...

jfluteにとって、

DBFluteLastaFlute は、
若者を育てるための土台

とも言えるかもしれません。

jflute: 意外に終わらないもの

それにしても、
意外にオープンソース開発・運用って、
終わらないものですね。

11年前に、11年後にまだやり続けてるなんて、
まったく想像はしていませんでした。

仕事もなんとか、やっていけています。
「DBFlute/LastaFluteの使っている現場にいたい」
それがオープンソース作者としての優先事項として。
それがいつまで続くか当然わかりませんが、
続かなくなったら言います。

...

さて、大きな発表も何もありませんが、
11年経った今のjfluteの考えていることを、
ユーザーのみなさんに伝える必要があるだろう、
そう思って今日話をさせて頂きました。

DBFluteらしく、
目の前の地味な問題を解決していきながら、
若い人たちの飛躍のステージにしていく、
ってのは変わらないかもですね。

限界が見えてから、jfluteはどうするんだろう?
それも知ってみたいなって。

この椅子に誰も座らなくなるまでね。

f:id:jflute:20171126175447j:image

...
...
...
...
...
...
...
...
...
...

BGMはDBFluteらいく!?

これまたDBFluteフェスの恒例!
懇談会や休み時間などにBGMを流しました。

まあ、jflute個人的に、
パワーをもらったサウンドたちでまとめました。
これらの曲がなければ、DBFluteはなかったかもしれない!?
っておおげさですが、そのくらいのソウルサウンド。
どんな曲かは、これは会場にいらっしゃった方々だけ^^。

ちなみにこれ、
ゲストコントロール的な意味合いもあるのです。

セッション始まるときにフェードアウトすると、
グッと場が引き締まってみんな聞く態勢になりますし、
セッション終わってBGMが流れると、
「ああ休んでいいんだな、立ち歩いていいんだな」
ってのが自然と伝わりやすいのです。

驚きの連続のフェス

昨年に引き続き、ブログありがとうございます!

DBFluteフェス2017(#dbflute)に参加してきました
 | @chichi1091 の 雑記 (てっしーさん)

とぅげったーもありがとう!
DBFluteフェス2017 | Togetter

たくさんの方から、
「いやぁ、楽しかった」
「すごく、刺激になりました」
「いろいろと勉強になりました」
という声を頂きました。

f:id:jflute:20171126183501j:image

...

もう淡々としてるだろう...

そう、jfluteも思っていた
「DBFluteフェス2017」ですが、
全然そんなことはなく、
様々な驚きがあったフェスになりました。

f:id:jflute:20171126183552j:image

...
...
...

ご来場頂いた方、本当にありがとうございます。

f:id:jflute:20171126111423j:image

2017-11-23

dbflute-example-on-springbootのプルリクリクエスト

|

プルリクリクエスト、つまり、
「プルリク募集」のお知らせです。

dbflute-example-on-springboot | Github

という DBFlute と SpringBoot を連携させた、
Example プロジェクトがあるのですが...

現状の惨状

現状、ほとんど画面もなく、
まともなプログラムがない状態です。
LoginControllerはあれど、
アクセスすると落ちます。

DBFluteの自動生成はできてて、
SpringBootとのつなぎこみもできているので、
環境的なExampleにはなっていますが、
プログラミングの Example としては、
成り立っていません。

重要なExample

jfluteも、なかなか Example の整備まで
手が回らずそのままという感じですが、
DBFluteプロモーション的には、
重要な Example です。

SpringBoot で DBFlute を使っている
プロジェクトはとても多いですし、
今後もそこがメインの組み合わせになるからです。

そこで、プルリクしてくれる方を募集しています。

どんな画面を作るの?

LastaFlute の Example の...

lastaflute-example-harbor | Github

と同じ構成の画面を作りたいです。

同じ画面をそれぞれのフレームワークで実装することで、
比較がしやすくなるためです。

なので、DBFluteの検索部分などのロジックは、
そのまま lastaflute-example-harbor のものを
流用することができます。

勉強のきっかけに!?

なかなか今までこういうことを
書いたことはないのですが(たぶん)、
メンテするツールも増え、
このままじゃまずいなということで、
たまらず「募集」することにしました。
特に何も報酬はありませんが...

o DBFlute得意でSpringBootを勉強してみたい方
o Spring得意でDBFluteを勉強してみたい方
o 両方得意で貢献してくださる方

もしよければm(_ _)m。

2017-11-22

U-NEXTさんから Lasta RemoteApi をコントリビュート頂きました

|

前回の SolrFlute, KVSFlute...

U-NEXTさんからSolrFlute,KVSFluteコントリビュート頂きました

に引き続き、

...

U-NEXTさん から、

LastaFlute向けのRemoteApiのライブラリ

をコントリビュートして頂きました。
ありがとうございます。

まあ、技術顧問やってますから、
ある程度関わってはいますが(笑)、
大方を実装したの現場のメンバーですので、
とっっっても嬉しいです。
(まあ取り込むに当たって、
いろいろと修正はさせて頂きましたが)

RemoteApiって、
「外部のサービスを呼び出すためのライブラリ」
ということです。
要は「別サービスの JSON API を呼ぶ」とか。
(もちろん、呼び出し先は、
別にLastaFluteである必要はありません)

マイクロサービスアーキテクチャな構成が多くなり、
社内の中で別のサービスを呼ぶなんてのも増え、
こういったライブラリが自然と必要になってきました。

ドキュメントすでにあります

ドキュメントはガツっとここにあります。
どんなの?って気になる方は、
ぜひ読んでみてください。

定まったリモートAPI呼び出し (RemoteApi Call)

独自にベタベタHTTP通信をやるよりも、
こういったライブラリを使うことによって、
統一的な制御などが後から挟み込みやすくなりますし、
ログや例外時のハンドリングなども統一的にできるので、
とっても良い感じです。

今週末のDBFluteフェス2017にて、
この RemoteApi のセッションがあります。
しかもそこでは、Generator も!?
楽しみのセッションです。

// DBFluteフェス 2017
https://connpass.com/event/70648/

本家がLastaFlute

githubリポジトリはこちらです。

https://github.com/lastaflute/lasta-remoteapi

まるまるコントリビュートということで、
もう本家がLastaFlute側になります。
U-NEXTさんでも、すでに本家の
lasta-remoteapi に切り替えて利用しています。

つまり、jfluteが、
もうメインでメンテしていくって感じですね。
コントリビュートしてもらってから、
だいぶリファクタリングと機能追加もしてます(^^。

企業のオープンソースへの貢献

オープンソースへの貢献、とっても嬉しいですね。
良いものにしていきたいと思います。

実は、オープンソースにしたことによって、
すでに別の会社での実績もあります(開発中)。
(今週末のDBFluteフェスで話があるかも!?)

...
...
...

内部で抱えずオープンにしていく姿勢が、

結果的に企業に良い影響として戻ってくる

と思いますし、

そういう風になるように協力したい

って僕らも思います。

...
...
...

# また、こういうの内部で抱えてても、
# メンテナンスも止まってしまいがちなので、
# オープンにしていってフィードバックがもらえる状態、
# そして、様々な人がメンテできる状態にするってのが、
# 継続させるために大事だとjflute個人も考えています。

f:id:jflute:20170411123955j:image

2017-11-21

LastaFlute-1.0.2 Released

|

LastaFlute-1.0.2 をリリースしました。

それに伴って、
LastaRemoteApi や LastaDoc.jar なども、
リリースされていますので、
該当するライブラリをお使いの方は、
アップグレードをお願いします。

セキュリティ強化のため、
ログアウトしたら、自動的にセッションinvalidate
するようにしています。
詳しくはこちらを:
 => LastaFlute移行 1.0.1 to 1.0.2
<< LastaFlute-1.0.2 >>
o HibernateValidatorを6.0.5にアップグレード
o MailFluteを0.5.7にアップグレード
o make requestParameterMapFilter in FormMappingOption
o ログアウトしたら、セッションをinvalidateするようにした
o URLマッピングで型変換エラーになるケースで別の一致するメソッドがあればそっちに
o MailFluteのpushUlterior()に対応
o HibernateValidatorで、propertyに<list element>が出ないように修正
o Gsonの拡張をもっとしやすいようにした e.g. LaYourScalarTypeAdapterFactory

<< MailFlute-0.5.7 >>
o RemoteApiでメール飛ばすための拡張ポイント
o アプリの仕組み向けのパラメーターを設定するpushUlterior()を作成

<< LastaRemoteApi-0.4.0 >>
o ruleでベーシック認証などさまざまな設定できる拡張ポイント
o PathVariables で OptionalThing 対応
o バリデーションエラーの翻訳のメソッドを調整

<< LastaDoc.jar-0.3.1 >>
o Swaggerの改善

<< TomcatBoot-0.6.0 >>
o proxyPortをconfigで指定できるように
o 依存Tomcatを8.5.23にアップグレード

<< JettyBoot-0.4.9 >>
o ローカルでもSwaggerが使えるように

<< UTFlute-0.8.5 >>
o utflute-lastaflute: DIコンテナのwebとlibrary起動の自動判別
o utflute-lastafluteで、依存するLastaDoc.jarを0.3.1にアップグレード
(0.8.4)
o log(msg)で{}に対応する文字列に"$"が入っていたときに例外発生を修正
o Servlet関連のオーバーライドしたときに自動的にContainerを再起動するように
o utflute-lastafluteで、依存するLastaDoc.jarを0.3.0にアップグレード

2017-10-22

プログラマーでも、弟子入りとか師事とかあっていいんじゃない?

|

プライベートアプレンティス

つい最近、
友人がプライベート運営してるサービスの開発に、
勉強のために若い方がお手伝い参加すると聞いて、
とっても良いことだなぁと思いまして。

色々な現場でよく言ってたんです。

「サービスを作りたい!」

って方は多いですが、
なかなか実力もきっかけもないときは、
開発環境の準備からいきなり手間取ったり、
そもそもの企画や画面設計やDB設計もあったり、
アーキテクチャ構築やプログラミングも
試行錯誤しながら...なんて感じで、
なかなか先に進みません。

その過程もすべて含めて楽しめるならいいですが、
あまりに期間が長いと人間だんだんモチベーションも減り、
しばらく止まってしまって挫折しちゃったり。

まだやり切る実力がないときに突っ込んでも、
なかなか効率も良くないから...

身の回りでそういうことをやっている先輩がいるなら、
一画面でも二画面でもいいから手伝ってみたら?

って。
その中で、学べることたくさんあって、
本当に自分がやるときの大きな糧になるはずです。
何か差し迫ったきっかけがないのであれば、
そういうことで充電してもいいんじゃないかと。

その先輩にとってもありがたいことです。
プライベートでやっているのだから、
手が足りなくて手が足りなくてしょうがない。
ノウハウを提供することで、
自分の手が少しでも楽になるのであれば良い話です。

これ「サービス開発」だけの話じゃないです。
周りにオープンソースコミッターがいれば、
「オープンソース活動を手伝う」でもいいし、
勉強会に参加したり運営してりしてる人がいれば、
「コミュニティ活動を手伝う」でもいいし。

別に自分のやりたいことと完全に一致しなくてもいい。
学べることは様々なところにあります。

そして、なんといっても、
「人同士がもっとい密接につながること」で、
プラスアルファな相乗効果があるとも思っています。

なぜかプログラミングでは聞かない

jfluteは、ドリフが大好きなのですが、
しむらさんがいかりやさんに弟子入りを懇願した
っていうエピソードが好きです(^^。
(まあ月並みのことくらいしか知りませんが...
その後も色々とあったみたいですけどw)

演奏家フィギュアスケートの選手などの
プロフィールでもよく「...を師事」とか見ます。

知り合いのダンスの先生も、
自身が先生という立場になっても、
「...先生のダンスを学びたいので習ってくる」
というのをよく聞きます。

また、こんなところでも、伝承があるなぁとふと思いました。
「優れたスポーツ選手がコーチを雇い、
トレーニングを欠かさないのと似ている!」(38ページ)
 => シリコンバレーの「何が」凄いのか | SlideShare

こういうの、プログラミングの世界では、
ほとんど聞かないことだなぁと。
まあ、あまり言わないだけであるかもしれませんが、
多くはない印象です。

もちろん、そういうプロの世界では、
ちゃんと金銭が発生してのことだったりするわけで、
一概に比較できるものじゃありませんが、
仕事の中の先輩後輩関係でさえも、
そういうことは少ないと感じます。

プログラミングの世界では、
「伝承」というのがとても弱い

それで総合的にロスしてることが
たくさんあるんじゃないかと考えるのです。

...

先ほどのサービス開発の例は、
「付き人になる」ってのが近いかもしれませんね。
プログラミングだと若くても貢献できることが
いくらでもありますから、
もっともっとGive&Takeがやりやすんじゃないかと。
いまやチャットとかでリモートやり取りもできるし。
別にずっとじゃなくて、三ヶ月だけ、半年だけ、
って期間を決めてもいいでしょうし。

属人性こそ伝承したい?

プログラミングの世界では、
「誰からも教わらず自分ひとりで成長するもんだ」
的な話をよく耳にします。

jfluteは、これに対して、
局所的な場面では正しいこともあるでしょうが、
大きな視野で見ると、ちょっと乱暴だと感じます。
というか、もしそうなのであれば、
「プログラミングって、そんなに簡単で浅いもんなんだ」
って思ってしまいます。

...

A + B = C

これてどの場面でもどの場所でも確定するようであれば、
それはもはや単なる定理で、
本やネットに書いてさえあればいいだけ。
調べるコツだけわかればいい。
そして、その定理を使って問題を解決していくのであれば、
そこの属人性は何もなく、ひとりで極められます。

もしかしたら、
プログラミングはそういうイメージがあって、
あまり人から学ぶ必要がないって感覚があるのかもしれません。
でも、そういう部分はどんどんツールが進化して、
人間がやらなくてもいいようになっています。

...

少なくとも昨今のプログラミングでは...

o Cであれば、...なメリットがあるが、ちょい不安
o Dであれば、...なデメリットがあるが、安定はしている
o Eであれば、...そもそも良いのか悪いのか論証に時間がかかる

というように、答えは固定ではなく、選ぶものになります。
つまり状況に応じた判断が必要になるのです。
厳密にはどれが良いとも証明できない、でも選ばないといけない。
これらの選択肢を洗い出して特徴を捉えること自体も難しい。

例えば、とあることを優先して C を選んだとしましょう。
別のところで...

S + T = U or V or W

似たような選択肢があって U がいいと思ったとします。
ただ、その場面においては U が良さそうに見えるかもですが、
先ほど A + B のところで C を選んでいます。
「そこが C なのに、ここは U なの?」って、
局所的な論理性では良さそうに見えることが、
全体のバランスを加味した論理性のを考えた時には、
必ずしもそうならないこともあります。
さらに M + N もあるかもしれません。
様々な論理がごちゃごちゃに入って、
まったく証明できない判断を繰り返します。

これはもはや論理性のデザインです

判断の連続を積み重ねてできあがる、
他に存在しない唯一の属人的な作品です。

プログラミングは、判断の連続です。
パズルを解いておしまいではありません。
パズルの解き方も重要かもしれませんし、
パズルを解くべきかどうかも疑わないといけません。
アーキテクチャデザインは、まさしくその最たるもの。

// プログラマーに求められるデザイン脳
http://d.hatena.ne.jp/jflute/20170623/desigraming

それは...

「先人からの伝承」と「孤独の実践」の
コラボでようやく乗り越えられるくらい

の難易度のものだと思います。

人に教えてもらってばかり...
ひとりでひたすら勉強してばかり...
どちらか片方だけ、なんて言ってる場合じゃないと。

// 両方だいじなんです
http://d.hatena.ne.jp/jflute/20150426/bothdaiji

「バランス感覚」というスキルこそ伝承したい。

...

【追記】
Facebookのコメント頂いたのですが、
そういえばこんな本ありました!
 => ソフトウェア職人気質 | Amazon

大昔、師匠に見せてもらったことあります。
あまり覚えてないので...改めてちゃんと読もうかな^^。
「メディア掲載レビューほか」のところに書いてある、

自分の「作品」に責任を持つソフトウエア職人

そういう心意気のプログラマー増えて欲しいですね(^^。

焦ることはない

すぐに自分の城を持ちたくなるのは、気持ちわかります。
本当に自分のやりたいことをすぐにやりたくなるのも、
よくわかります。

ただ、それは...
やりたいことを最終的に成就させたいのであれば、
「そのためにいま必要なことはなに?」
その選択肢の一つを、本日話題にしてみました。

ちょっと遠回りしたくらいで、
モチベーションが続かないのであれば、
そこまでやりたいことじゃないよ、きっと。
成功してる人たちは、
みな地味なことを続けてきた人たちばかり。

...

先輩は、あなたの成長のリソースです。

// こうはい extends せんぱい
http://d.hatena.ne.jp/jflute/20131124/extendsmaster

// お世話になってる先輩が登壇する勉強会くらい行ってみたら?
http://d.hatena.ne.jp/jflute/20161201/gotomeeting

「...さんのプログラミングの考え方や判断力を学びたいです!
色々と手伝わせてください」

って、フランクに盗みに行ってもいいと思うよ。

f:id:jflute:20171022154800j:image