タグ

ブックマーク / anatoo.hatenablog.com (8)

  • コードレビューは「コードの欠点を指摘する行為」ではない - id:anatooのブログ

    コードレビューを「コードの欠点を指摘する行為」だと無意識に思っている人を見かけるけども、そういうふうに認識しないほうがチームにとって良いですよ、という話。理由は以下。 レビュワーの方がレビュイーよりも実力が無いといけない、という認識と結びつきがち チームの若いメンバーがレビュワーになりづらくなる 古株のメンバーやリーダーの書いたコードがレビューされなくなる レビューで指摘された項目がない = (指摘された欠点が無いということなので)良いコードという図式になりやすい レビュワーが欠点を指摘するあまり攻撃的なレビューをしてしまうことがある 逆にレビュワーがレビュイーに遠慮してあまりレビューしなかったりする レビュワーが誰でもわかる間違いしか指摘できなくなり、建設的な議論が起こらなくなる コードレビューが機能不全に陥る原因の一つが、コードレビューに対する基的な認識がずれていることだと思う。 じ

  • 最新のウェブフロントエンド技術を無理してキャッチアップする必要はない - id:anatooのブログ

    ウェブフロントエンド技術は変化が激しいと言われるけれども、多くの人にとって最新のウェブフロントエンド技術を無理してキャッチアップする必要は無い。以下理由。 ここでいう最新のウェブフロントエンド技術とは、新しいブラウザのAPIや新しいJavaScriptの文法や新しいフレームワーク・ツールなどを指す 今のHTML5はドキュメントを表現するプラットフォームだけではなくアプリケーションプラットフォームとしても機能するように進化をしている最中 だからアプリケーションプラットフォームとしての進化を支える新技術がたくさん出てきている 逆に言うと、アプリケーション(SPAとか)を書かない人にとってはキャッチアップする必要の無い場合がたくさんある また、それらのウェブフロントエンドの新技術を全てキャッチアップするのは基的に不可能だと思う 自分はウェブフロントエンドやそれのパフォーマンスを専門の一つにして

    最新のウェブフロントエンド技術を無理してキャッチアップする必要はない - id:anatooのブログ
  • MastodonはP2Pではないという話、もしくはMastodonの脱中央集権の仕組みについて - id:anatooのブログ

    Fukuoka.php vol22にてMastodonについて話してきました。 Mastodonは最近盛り上がってる分散型SNSですが、その仕組みに興味をもったので調べてみたのが今回の話になります。スライドの中で主に説明しているのは、Mastodonが実装している分散型SNSを実現するためのプロトコルOStatusについてです。 OStatusはAtomフィードを核とした仕様です。ユーザーのつぶやきをAtomフィードで表現し、さらにそれをコンタクト情報を形式化するPortable ContactsとSocial Network上の活動を形式化するActivity Streamsで拡張しています。フィードだけだと、リモートのサーバはポーリングする必要があるため、それを補うためにPubSubHubbubでAtomフィードの更新をほぼリアルタイムに受け取ることができるようにしています。また、Fo

    MastodonはP2Pではないという話、もしくはMastodonの脱中央集権の仕組みについて - id:anatooのブログ
  • JavaScript(ES2015)でvarやletを使う必要はほぼ無い - id:anatooのブログ

    ES2015でvarやletを使う場面はほとんど無いので、まずconstを使う。constだとダメな場合にはletを使う。 背景 ES2015では、変数を宣言するための文法としてconstとletが導入された。 const foo = 'foo'; let bar = 'bar'; constは再代入できない変数を宣言できる。letは再代入できる変数を宣言できる。 const foo = 'foo'; foo = 'hoge'; // ERROR let bar = 'bar'; bar = 'hoge'; // OK あれ、じゃあvarとletは同じなの?っていうとそうではなく、letやconstはvarとは違って、関数スコープよりも細かなブロック単位のスコープを提供する。例えばconstやletを使うと、if文やfor文などのブロック中でのみ有効な変数を宣言できる。 で、プロジェクト

    JavaScript(ES2015)でvarやletを使う必要はほぼ無い - id:anatooのブログ
  • JavaScriptでのDOM操作は重いのかという話とForced Synchronous Layoutについて - id:anatooのブログ

    2015年にもなるのにJavaScriptでのDOM操作のパフォーマンスについて書く。ウェブページにインタラクションを持たせたい時に、JavaScriptでDOM操作を行うことがよくある。このDOM操作のパフォーマンスについて、よく聞く意見を大別すると次の2つがある。 JavaScriptによるDOM操作は重たい レンダリングが重いだけで、DOM操作そのものはそれほど重たくない JavaScriptでオブジェクトのプロパティを操作したりする単体の処理は通常1ミリ秒もかからないが、DOM操作をするとレンダリングが完了するまでに数十ミリ秒程度かかったりする場合がある。1番目のDOM操作が重たいと言っている人は経験則的にそう言っていることが多い。 レンダリングの仕組みを知っている人は2番目の意見を言うが、重箱の隅をつつくような話をするとこれも必ずしも正しいわけではない。DOM操作するコードによっ

    JavaScriptでのDOM操作は重いのかという話とForced Synchronous Layoutについて - id:anatooのブログ
  • Angular.jsで組む場合のアーキテクチャは、MVCじゃなくてMVVMの方が良いっぽいと思った話 - id:anatooのブログ

    Angular.jsを何度か仕事で使ってみて、Angular.jsを使う場合のアーキテクチャはMVCじゃなくてMVVMにしたほうが良いなと思った話を書く。 Angular.jsをMVCフレームワークだと勘違いしていた 少しAngular.jsについて今まで勘違いしていたことがあって、Angular.jsではコントローラを定義できるのでてっきりMVCアーキテクチャで作るものとばかり思っていた。 公式ウェブサイトのタイトルをよくよく見てみると、「Superheroic JavaScript MVW Framework」と書いてある。MVWのWってなんだよとか思ってたらWhateverの略で、要するにMVCでもMVVMでもなんでも良いということらしい。 MVCで組んで困ったこと 勘違いが解ける前は、普通にMVCフレームワークとしてAngular.jsを使っていたけどもそれで何が困ったかというと、

    Angular.jsで組む場合のアーキテクチャは、MVCじゃなくてMVVMの方が良いっぽいと思った話 - id:anatooのブログ
  • 自分が職を失った経緯 - id:anatooのブログ

    この記事は、How I Fired Myself.という記事の試訳です。 2010年の7月、私は22歳で、カリフォルニアのあるソーシャルゲームのスタートアップで働いていた。卒業したてで、私にとって初めての物の職だった。給料をもらってアパートに住んだ。そのころ私は初めて大人になったような気分でいた。 その会社の主力製品であるRPGのコードを書く二人のエンジニアのうちの一人が私だった。大学では哲学を専攻していた。これはどういうことかと言えば、問題に対してどうやって考えればいいかを知っていた一方で、ベストプラクティスや実用的なデザインパターンに関する知識は最低限しか持っていなかった。私は信じられないほどの熱意でもって自分が持っているごく普通のLAMPの知識を駆使した。 私の悩みの種であるゲームデザイナーはしばしばWorld of Warcraftからインスピレーションを得ていた。WoWは、Bl

    自分が職を失った経緯 - id:anatooのブログ
  • ソフトウェアエンジニアに働く慣性の法則 - id:anatooのブログ

    なんでもいいのだけれども、例えばだけどバージョン管理システムつかって開発してないです、みたいな人がいた時に、傍から見たらすごく良くないことをやっているように見えるけど、当人からすれば今までこれで開発してきたし、別にバージョン管理システムなんか使わなくてもいいよ、みたいなふうな反応をされる。また、こういう反応はその当人だけじゃなくてその人の周りの人も同じ様な反応をする。 もうすこし卑近な例で言うと、コードの質なんかに関しても、汚いコードで書くのが普通で今まで数多くの案件をこなしてきました、みたいな場合だと、綺麗なコードなんて犬にわせろ的な態度を取って逆に綺麗にコードを書く人をすこし敬遠した態度を取るような人も見られる。そしてそういう人の周りには似たような態度を取る人が多い。そういう考え方みたいなものは、長い間過ごす同じ開発チームのなかで浸透していくからだと思う。 基的に綺麗なコードを書く

    ソフトウェアエンジニアに働く慣性の法則 - id:anatooのブログ
  • 1