先週開催されたbuildersconで表題の通りの内容をしゃべってきました。発表内容については、スライドもアップしてますが、いつもどおり実況中継シリーズを会社ブログのほうに書きます。ただ、あれ書くのすごい大変なのでもうしばらく時間かかりますすみません…
心理的安全性ということばはだいぶ浸透してきて、とくに説明なくみんなに通じるような感じになってきているけれど、まあなかなかに難しいものだなあと思う。 組織やチームのまとめ役となる側からすると、心理的安全性が確保できるチームをどのように作ってい…
新潟県長岡市で開催された、NDSの第52回で、「怖くないし役に立つ設計原則の話」というタイトルで発表してきました。 内容としては、 設計原則は「馬鹿の一つ覚え」でやっていくとむしろ保守性を下げてしまうことを確認する 様々な設計原則について例を出し…
先日行われた #y8spring で、@ushiboyさんとともにフロントエンド開発についてのトークをしてきました。 懇親会会場でお酒を飲みながらトークするという、いわゆる「はちぴースタイル」での発表だったため、かなり会場が温まっていてありがたかったですが、…
前回の記事では、Scala.jsで書かれたモデル層がどのようなクラス/オブジェクトをJSで書かれたUI層に公開し、UI層はそれらをどのようにして扱うのかというのを見てきました。今回からはScala.jsで書かれたモデル層のうち、コマンドから始まる一連の状態更新系…
新潟県長岡市では定期的に「NDS」という勉強会が開催されています。わたしも新潟に住んでいるときには非常にお世話になった勉強会で、とても良い勉強会です。 その第52回(52回ですよ!?すごくないですか!?)が6/17に開催されるとのことなので、「怖くな…
前回の記事では、Scala.jsをどのように利用したかについて概観を見てきました。 前回、UI層は素直にVue.jsの単一ファイルコンポーネントで書いて、モデル層はScala.jsで書く、というスタイルを取る、と述べましたが、今回はモデル層がどのようなインターフェ…
はじめに オフラインファーストへの要求 近年、オフラインファーストというか、「オフラインのときにも普通につかえて、オンラインになったら同期する」みたいなことに対する要求が高まっているように感じます。 その場合は、ローカルにもきちんと永続データ…
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…
Twitterに書いた内容再掲。 最近Vuexについて考えてるのは、Vuex使ってPDS実現するとなると、状態はVuexのレイヤーで持つことになるから、モデル層はステートレスで作るのが相性良い(というか自然とそうなる)だろうな その時にJSでイミュータブルに寄せて…
ツイッターで書いた内容です SPAやってると画面ごとに複雑さが全然ちがって、単なる一覧表示してる画面の複雑さといろいろな操作ができる画面の複雑さは雲泥の差になる こういうときに、「この画面はきちんとドメイン層作ったほうが見通しがよくなるけど、こ…
一つ前の記事にもある通り、掲題の通りの試みを行いました。 github.com 一応、「一通り書けたぞ!」という感じになったので、ここにてこのREADMEを Ver.1.0.0 メジャーリリースとします。 自分ではかなりわかりやすく整理できたつもりでいますが、まだまだ…
最近はずっとJSでGUIを書くっていうお仕事をやっていて、その中で様々な知見が溜まってきてます。 そのときにひしひしと感じたんだけど、世の中にはさまざまなアプリケーション・アーキテクチャの話が溢れかえっていて、結構混乱を産んでいるように思います…
最近立て続けにそのあたりの話をする機会があったので。わたしの意見です。 vuexというかFluxに手を出すタイミング Vue.jsを利用していて、相互に関連のある二つ以上の状態を扱う必要が出てきたら、それはもうすでに「十分に複雑な状態管理」である たとえば…
ぼくは最近、大人になるというのは取りも直さず、自らを物語るということなんじゃないか、と思うことがある。 ぼくたちは、自己だとか内面だとかいったものが先にあって、そいつらがぼくたちの選択や人生を駆動している、とついつい思いがちだ。けど、自己だ…
弊社のwebAPIはRESTを捨てて操作指向のURLにすることが多いんだけれど、ここのところwebAPIだと結構そういう判断するところが増えてるように感じる(個人の感想です)。 SoEとSoRという話があったけれど、webブラウザ上でもスマートフォン上でもリッチなユー…
お世話になっている勉強会であるところの長岡 IT開発者 勉強会(NDS)が第50回を迎えるということで、参加してきました。 第50回勉強会(2016/12/10) - 長岡 IT開発者 勉強会(NDS) わたしとNDS 今は東京で働いているわたしですが、ちょっと前までは新潟県でフリ…
双剣問題についてはyatteiki.fmを参照してください。 双剣問題に関しては言いたいことがふたつあって、ひとつは小菅さんも言ってたけど、「別に結婚とかしたからといって楽になったり落ち着いたりするわけじゃない、むしろその分剣を振り続けなきゃならない…
以前、「RDBMSを採用すると、無料で外部キー制約とかチェック制約とかトランザクションが付いてきてオトク!!!」という発言をしたことがあって、その考えは今もあまり変わっていない。 RDBMSは単なる便利な箱じゃなくて、データの整合性を守るための仕組み…
金曜は仕事で疲れてしまって例の本を進めることができなかった。 今日(もう日付が変わっているけど、寝るまでが「今日」)は進めようと思ったのだけれど、とにかく精神が厳しい感じになっていてこの状態で進めるのはあまりよろしくないという気がして開いて…
しばらく、日記を意識的に書いてみようと思っている。 ちょっと訳あって「自分自身がどういう人間でどういうことを感じていてどういうことを考えているのか」ときちんと向き合ってみる必要があるなあということになり、「自己理解ワークブック」というものを…
表題にあるとおり、Software Design8月号の特集記事を書かせていただきました。GitHub入門的な記事です。 今書店で売ってる号は7月号ですので、今売ってるやつには載ってません(でももちろん買ってくださってもいいんですよ?)。発売日は7/18ですので、そ…
yapcasia8oji-2016mid.hachiojipm.org YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa という、八王子なのか品川なのかよくわからない名前(正解は「品川は八王子(哲学)」という態度です)のカンファレンスに、スタッフ、そしてスピーカーとして参加…
会社のほうのブログでも書きましたが、WEB+DB PRESS vol.92に記事を書かせていただきました。 techblog.reraku.co.jp 見本誌をいただいたので、感想を書きます。 今回は新人さん応援号ということで、新人さん向けの記事が多い感じですね。個人的には新連載陣…
なんだか久しぶりの投稿です。前の記事を投稿してからしばらくかなり忙しい日々が続いており、仕事の進捗は出ているのですがブログの進捗がお亡くなりになっていました。逆よりいいと思うことにします。 ところで、「かなり忙しい日々」の中に実は「雑誌への…
この記事はScala Advent Calendar 2015(Adventar)の9日目の記事です。 Scalaには型クラスのための仕組みがあるぞ! Scalaには、型クラスを実現するための仕組みとしてimplicit parameterという仕組みがあります。これとimplicit conversionを組み合わせるこ…
「Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量」というタイトルでYAPC::Asia 2015 で発表してきました。 Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量 - YAPC::Asia Tokyo 2015yapcasia.org http:…
<追記>いろいろ反応あってたしかになーって思いましたが、ここで説明されてるのは「汎化」とか「パラメタライズ」としたほうが正しいですね。抽象化というと、一塊の手続きをブラックボックスにして、実装を隠蔽する面のほうが正解に近いです。でもまあそ…
8/20,21,22に開催される、プログラマのフジロック(あるいはプログラマの夏コミ)とも言えるYAPC::Asia 2015ですが、無事トークが採択され、発表させていただく運びとなりました。詳細は下記より。 http://yapcasia.org/2015/talk/show/9f7059dc-003c-11e5-a…
わたしの立ち位置 今は東京都でプログラマをやっているが、3,4年くらい新潟県でプログラマをやっていて、当時は地元のコミュニティによく顔を出していた、という人間です 以下本文 少なくともわたしが知っている限りの話です。新潟県には優秀なプログラマが…