#builderscon 2017で「複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ」という発表をしてベストスピーカー賞第三位を頂いてきた

先週開催されたbuildersconで表題の通りの内容をしゃべってきました。発表内容については、スライドもアップしてますが、いつもどおり実況中継シリーズを会社ブログのほうに書きます。ただ、あれ書くのすごい大変なのでもうしばらく時間かかりますすみません…

心理的安全性を獲得しにくい個人(は|を)どうすればいいんだろう

心理的安全性ということばはだいぶ浸透してきて、とくに説明なくみんなに通じるような感じになってきているけれど、まあなかなかに難しいものだなあと思う。 組織やチームのまとめ役となる側からすると、心理的安全性が確保できるチームをどのように作ってい…

第52回NDS(長岡開発者勉強会)で「怖くないし役に立つ設計原則の話」を発表してきました

新潟県長岡市で開催された、NDSの第52回で、「怖くないし役に立つ設計原則の話」というタイトルで発表してきました。 内容としては、 設計原則は「馬鹿の一つ覚え」でやっていくとむしろ保守性を下げてしまうことを確認する 様々な設計原則について例を出し…

#y8spring でフロントエンド開発の話をしてきました

先日行われた #y8spring で、@ushiboyさんとともにフロントエンド開発についてのトークをしてきました。 懇親会会場でお酒を飲みながらトークするという、いわゆる「はちぴースタイル」での発表だったため、かなり会場が温まっていてありがたかったですが、…

オフラインファースト的なGUIアプリケーションをScala.jsで書く話 / write stack - usecase

前回の記事では、Scala.jsで書かれたモデル層がどのようなクラス/オブジェクトをJSで書かれたUI層に公開し、UI層はそれらをどのようにして扱うのかというのを見てきました。今回からはScala.jsで書かれたモデル層のうち、コマンドから始まる一連の状態更新系…

NDS(長岡開発者勉強会)の52回で「怖くないし役に立つ設計原則の話」というタイトルで喋ります

新潟県長岡市では定期的に「NDS」という勉強会が開催されています。わたしも新潟に住んでいるときには非常にお世話になった勉強会で、とても良い勉強会です。 その第52回(52回ですよ!?すごくないですか!?)が6/17に開催されるとのことなので、「怖くな…

オフラインファースト的なGUIアプリケーションをScala.jsで書く話 / Vue.jsによるUI層とScala.jsによるモデル層のコミュニケーション

前回の記事では、Scala.jsをどのように利用したかについて概観を見てきました。 前回、UI層は素直にVue.jsの単一ファイルコンポーネントで書いて、モデル層はScala.jsで書く、というスタイルを取る、と述べましたが、今回はモデル層がどのようなインターフェ…

オフラインファースト的なGUIアプリケーションをScala.jsで書く話 / Scala.jsについて

はじめに オフラインファーストへの要求 近年、オフラインファーストというか、「オフラインのときにも普通につかえて、オンラインになったら同期する」みたいなことに対する要求が高まっているように感じます。 その場合は、ローカルにもきちんと永続データ…

vue-routerのafterEachグローバルフックがhookされるタイミングとonReadyがhookされるタイミング

vue-routerにはonReadyというフックが用意されている。 ドキュメントを読めばわかるように、これは when the router has completed the initial navigation, which means it has resolved all async enter hooks and async components that are associated w…

VuexとPDS、immutable modelの所感

Twitterに書いた内容再掲。 最近Vuexについて考えてるのは、Vuex使ってPDS実現するとなると、状態はVuexのレイヤーで持つことになるから、モデル層はステートレスで作るのが相性良い(というか自然とそうなる)だろうな その時にJSでイミュータブルに寄せて…

画面ごとの複雑さが異なるアプリケーションにどう立ち向かうか

ツイッターで書いた内容です SPAやってると画面ごとに複雑さが全然ちがって、単なる一覧表示してる画面の複雑さといろいろな操作ができる画面の複雑さは雲泥の差になる こういうときに、「この画面はきちんとドメイン層作ったほうが見通しがよくなるけど、こ…

MVVM, Layered Architecture, Clean Architectureを綜合して位置づけを整理する

一つ前の記事にもある通り、掲題の通りの試みを行いました。 github.com 一応、「一通り書けたぞ!」という感じになったので、ここにてこのREADMEを Ver.1.0.0 メジャーリリースとします。 自分ではかなりわかりやすく整理できたつもりでいますが、まだまだ…

GUIアプリケーションアーキテクチャ総合!みたいなやつ書いてる

最近はずっとJSでGUIを書くっていうお仕事をやっていて、その中で様々な知見が溜まってきてます。 そのときにひしひしと感じたんだけど、世の中にはさまざまなアプリケーション・アーキテクチャの話が溢れかえっていて、結構混乱を産んでいるように思います…

Vue.jsとvuex、Fluxについて

最近立て続けにそのあたりの話をする機会があったので。わたしの意見です。 vuexというかFluxに手を出すタイミング Vue.jsを利用していて、相互に関連のある二つ以上の状態を扱う必要が出てきたら、それはもうすでに「十分に複雑な状態管理」である たとえば…

大人と物語ることと混沌について

ぼくは最近、大人になるというのは取りも直さず、自らを物語るということなんじゃないか、と思うことがある。 ぼくたちは、自己だとか内面だとかいったものが先にあって、そいつらがぼくたちの選択や人生を駆動している、とついつい思いがちだ。けど、自己だ…

リソース指向と操作指向のURLに関する最近の思い

弊社のwebAPIはRESTを捨てて操作指向のURLにすることが多いんだけれど、ここのところwebAPIだと結構そういう判断するところが増えてるように感じる(個人の感想です)。 SoEとSoRという話があったけれど、webブラウザ上でもスマートフォン上でもリッチなユー…

参加してきたぜ #nds50

お世話になっている勉強会であるところの長岡 IT開発者 勉強会(NDS)が第50回を迎えるということで、参加してきました。 第50回勉強会(2016/12/10) - 長岡 IT開発者 勉強会(NDS) わたしとNDS 今は東京で働いているわたしですが、ちょっと前までは新潟県でフリ…

双剣問題について

双剣問題についてはyatteiki.fmを参照してください。 双剣問題に関しては言いたいことがふたつあって、ひとつは小菅さんも言ってたけど、「別に結婚とかしたからといって楽になったり落ち着いたりするわけじゃない、むしろその分剣を振り続けなきゃならない…

RDBMSが強すぎる件

以前、「RDBMSを採用すると、無料で外部キー制約とかチェック制約とかトランザクションが付いてきてオトク!!!」という発言をしたことがあって、その考えは今もあまり変わっていない。 RDBMSは単なる便利な箱じゃなくて、データの整合性を守るための仕組み…

日記

金曜は仕事で疲れてしまって例の本を進めることができなかった。 今日(もう日付が変わっているけど、寝るまでが「今日」)は進めようと思ったのだけれど、とにかく精神が厳しい感じになっていてこの状態で進めるのはあまりよろしくないという気がして開いて…

日記 2016/8/4

しばらく、日記を意識的に書いてみようと思っている。 ちょっと訳あって「自分自身がどういう人間でどういうことを感じていてどういうことを考えているのか」ときちんと向き合ってみる必要があるなあということになり、「自己理解ワークブック」というものを…

プログラマとコミュニティ あるいは SD8月号に記事を書かせてもらいました

表題にあるとおり、Software Design8月号の特集記事を書かせていただきました。GitHub入門的な記事です。 今書店で売ってる号は7月号ですので、今売ってるやつには載ってません(でももちろん買ってくださってもいいんですよ?)。発売日は7/18ですので、そ…

#yapc8oji 行ってきた

yapcasia8oji-2016mid.hachiojipm.org YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa という、八王子なのか品川なのかよくわからない名前(正解は「品川は八王子(哲学)」という態度です)のカンファレンスに、スタッフ、そしてスピーカーとして参加…

WEB+DB PRESS vol.92感想

会社のほうのブログでも書きましたが、WEB+DB PRESS vol.92に記事を書かせていただきました。 techblog.reraku.co.jp 見本誌をいただいたので、感想を書きます。 今回は新人さん応援号ということで、新人さん向けの記事が多い感じですね。個人的には新連載陣…

遠く離れたところで昔の夢が叶ってしまった話

なんだか久しぶりの投稿です。前の記事を投稿してからしばらくかなり忙しい日々が続いており、仕事の進捗は出ているのですがブログの進捗がお亡くなりになっていました。逆よりいいと思うことにします。 ところで、「かなり忙しい日々」の中に実は「雑誌への…

既存のクラスをScalazで定義されている型クラスのインスタンスにするの巻

この記事はScala Advent Calendar 2015(Adventar)の9日目の記事です。 Scalaには型クラスのための仕組みがあるぞ! Scalaには、型クラスを実現するための仕組みとしてimplicit parameterという仕組みがあります。これとimplicit conversionを組み合わせるこ…

YAPC::Asia 2015 で発表しました #yapcasia

「Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量」というタイトルでYAPC::Asia 2015 で発表してきました。 Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量 - YAPC::Asia Tokyo 2015yapcasia.org http:…

プログラミングの「抽象化」ってどういう意味で、なぜ必要なのか

<追記>いろいろ反応あってたしかになーって思いましたが、ここで説明されてるのは「汎化」とか「パラメタライズ」としたほうが正しいですね。抽象化というと、一塊の手続きをブラックボックスにして、実装を隠蔽する面のほうが正解に近いです。でもまあそ…

YAPC::Asia 2015で喋ることになりました

8/20,21,22に開催される、プログラマのフジロック(あるいはプログラマの夏コミ)とも言えるYAPC::Asia 2015ですが、無事トークが採択され、発表させていただく運びとなりました。詳細は下記より。 http://yapcasia.org/2015/talk/show/9f7059dc-003c-11e5-a…

「地方」のIT勉強会は参加者がもっと外に向かってアピールしてほしい

わたしの立ち位置 今は東京都でプログラマをやっているが、3,4年くらい新潟県でプログラマをやっていて、当時は地元のコミュニティによく顔を出していた、という人間です 以下本文 少なくともわたしが知っている限りの話です。新潟県には優秀なプログラマが…