タグ

ブックマーク / mizchi.hatenablog.com (27)

  • リモートワークの設計と運用 / または Discord + VSCode LiveShare がいいぞという話 - mizchi's blog

    この記事読んで自分のリモートワーク経験からどうやるのが今一番良いだろうか、という話をずっと考えていたので、書き出してみました。 リモートワークをする人必読。組織パフォーマンスを左右する「デジタル心理的安全」とは? | 未来を変えるプロジェクト by iX(アイエックス) 自分自身はフルタイムリモートとフリーランスでのリモートの2つの経験があります。 次の会社が申請すればリモート可というスタイルなのですが、自分がリモートワークする場合、働く環境に期待しているのはこういうことだ、というのを事前に宣言しておく目的もあります。 フルリモートではなく、部分的なリモートを想定しています。 リモートワークに期待すること リモートワークは、基的には「うまく運用すれば効率が下がらない」というものです。リモートワークで効率が上がることもありますが、基的にはある種の福利厚生、雇用競争力のためと割り切ったほう

    リモートワークの設計と運用 / または Discord + VSCode LiveShare がいいぞという話 - mizchi's blog
    mickn
    mickn 2019/06/12
  • WebComponents: ReactNative.View のような CSS の既定値を持つだけの x-view を作ってみる - mizchi's blog

    ReactNative 触った事ある人なら、ReactNative.View の iOS の UIView や Android View みたいな一貫性のある基底クラスが羨ましい人も多いと思う。 今の Webでは実質 div がそれを担っているわけだが、div になんでも押し付けるのはよくないという意見もわかるところがあり、それ専用の基底となる x-view 要素を作るとどうなるだろうか。 ほしいもの デフォルトが display: flex; デフォルトが box-sizing: border-box; flex は便利だが Web のプリミティブ要素として既定値でflex を持つものはないので、毎度手数が多くなって嫌だなぁぐらいの気持ちがあった。 実装 とりあえず ReactNativeWeb がどう実装してるか真似しつつ実装した const defaultViewStyle = do

    WebComponents: ReactNative.View のような CSS の既定値を持つだけの x-view を作ってみる - mizchi's blog
    mickn
    mickn 2019/03/13
  • 実践: React Hooks - mizchi's blog

    hooks が発表されてから趣味でも現場でもずっと hooks を使っています。おかげでだいぶこなれてきて、だいたいなんのライフサイクルでも表現できるようになってきました。 最初は単に useState が state を、 useEffect が componentDidMount/componentDidUpdate を置き換えるもの、と説明を済ますつもりでしたが、 useEffect についてはライフサイクルのモデルがぜんぜん違うので、別の説明をする必要があるように感じていました。 で、その結果 React Hooks を理解するには、関数のメモ化を理解するのが最も簡単だと思ったので、その説明をしつつ、イディオムを解説していこうと思います。 最初に: React Hooks は何であり、何ではないか 関数コンポーネントが状態を持てるようにするもので、関数のメモ化のテクニックを多用しま

    実践: React Hooks - mizchi's blog
  • React Hooks での状態管理と副作用の表現 - mizchi's blog

    React Hooks は Stateless Functional Component でも setState 的な状態操作や componentDidMount のような操作を可能にするための仕様提案です。 既に開発ブランチに入っていますが、 現時点で公式に採用されたものではないです。リリース時にはAPIが変わる可能性があります。 React のメイン開発者の一人である sebmarkbage の出してる RFC https://github.com/reactjs/rfcs/pull/68 試してみる react@16.7.0-alpha.0 に既に実装されており、公式のブログでも解説が出ています。 https://reactjs.org/docs/hooks-intro.html https://reactjs.org/docs/hooks-reference.html 自分は以下

    React Hooks での状態管理と副作用の表現 - mizchi's blog
    mickn
    mickn 2018/10/30
  • Redux 再考 - mizchi's blog

    今まで自分で作ったものが十数個、仕事で5社ぐらいの redux を見てきたので、その結果思うところを書く。 前提として、自分はエコシステムに乗るという意味で今では redux 肯定派だが、redux それ自身が過剰に抱えている複雑さはもっと分解されるべきだ、という立場。 Redux がうまく設計されているとどうなるか 一貫した一つの設計論に従うので、考えることがなくなる 難しさが廃されるのではなく、難しい部分が一箇所に集中する。React Component の末端では、何も考えることがなくなる。状態管理という難しい部分を作る人と、末端のコンポーネントのデザインに注力する人を分けられる。 大規模になっても設計が破綻しにくい、というエンタープライズ向きな特性を持つ。が、その技術基盤は(静的)関数型由来の考えが多く、基礎設計や基盤理解にはハイスキルが要求され、需要と適用対象のミスマッチを感じる

    Redux 再考 - mizchi's blog
  • off-the-main-thread の時代 - mizchi's blog

    off-the-main-thread は今フロントエンドで熱いテーマの一つです。日語圏では今ひとつ話題になってないので紹介しておきます。 off-the-main-thread の概念の大まかな概要については、Chrome 開発者の nhiroki さんの日語の記事があるので、こちらを参照してください。 nhiroki.jp speakerdeck.com ここまでのあらすじ 従来のウェブブラウザーでは、一つの画面につき一つ割り当てられる、UI スレッドと呼ばれる名前空間で様々な処理を行ってきました。DOMセマンティクスの評価, CSS による rendering / painting、JSのScripting…。もちろん裏側ではブラウザが様々なバックグラウンドサービスに処理を委譲し、スレッドで実行され、その非同期な結果を受け取っているわけですが、少なくともUIスレッドで走るJSから

    off-the-main-thread の時代 - mizchi's blog
    mickn
    mickn 2018/10/03
  • WEB+DB PRESS Vol.106 で仮想DOMアルゴリズムについて書かせていただきました - mizchi's blog

    特集書かせていただきました WEB+DB PRESS Vol.106 作者: 成田元輝,杉浦颯太,小和瀬塁,山中大輔,末田正樹,藤野真聡,竹馬光太郎,桑原仁雄,倉長拓海,牧大輔,秋山卓巳,前田雅央,星北斗,末永恭正,久保田祐史,池田拓司,はまちや2,竹原,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2018/08/24メディア: 単行この商品を含むブログを見る ターゲットは「仮想DOMアルゴリズムそのものに興味がある人」と「Reactのキャッチアップに遅れた人」 よくあるReactについての記事ではなく、仮想DOMアルゴリズムとそれによって実現されるFluxを解説する話です。Reactのコード例は出ますが、あくまで仮想DOMアルゴリズムそのものについて書いています。VueFlutter にもそのまま応用できるはずです。 特集の内容を要約すると、仮想DOM

    WEB+DB PRESS Vol.106 で仮想DOMアルゴリズムについて書かせていただきました - mizchi's blog
    mickn
    mickn 2018/08/28
  • いつ ReactNative を使っても大丈夫か - mizchi's blog

    AirBnb がReactNativeをやめることが話題になってますね。 medium.com RNの未熟さ、社のRNのForkのメンテナンスコスト、JavaScriptのスケールのしなさ、JavaScriptCoreの実装の違い、クラッシュレポートが信頼できない、開発者は主に片方のプラットフォームしか知らないのでOSSのライブラリはバグってる、結局ブリッジを描く人間が必要、人が雇えない、山ほど出てくる…— Hello (@rejasupotaro) 2018年6月19日 以下私見です。 RN採用可否のフローチャート 自分がRN使いたいといって相談された際にはこういう感じで返してます。基的にはExpo 採用可能か否かで判断してます。 Expo ではじめる ReactNative 開発環境 - Qiita プラットフォームごとにUXを突き詰める必要がある => RN やめとけ Q: 社内に

    いつ ReactNative を使っても大丈夫か - mizchi's blog
  • フロントエンドの負債と向き合う - mizchi's blog

    某所で書いたものを公開用に書き直したもの 前提 フロントエンドでTDDは難しい、というかほぼ不可能である。なぜなら事前に副作用をデータとして表現できるか不明だからだ。たとえばあなたのプロダクトの画面の何処かにボタンを追加するために、その内部表現を事前に思い浮かべることが可能だろうか? react-redux などのFluxフレームワークは如何に副作用をアクションとして表現することで、テスト・デバッグのための情報を残すか、という視点で発展してきた側面がある。あの冗長なアクション定義は、全てデバッグのために書いていると言っても、過言ではない。それすら「Textは文字がある」といったトートロジーなデータになりがち。 フロントエンドの現実的な単体テストは、他の開発者のために、自分が書いたコードの要求を満たしているか検知する手段として、防衛的にテストアフターしておく。これぐらいしか現実的な手法がない

    フロントエンドの負債と向き合う - mizchi's blog
    mickn
    mickn 2018/03/14
  • 読まれるテキストは読者へのおもてなしの構造を持っている - mizchi's blog

    大学生だった当時、梅田望夫のを読んではてなにやってきた僕は、ブログ論壇への憧れだけがあって、技術者にもなれず、時流のテーマに対して書くべきテーマを持たず、ただ実家の宗教に対する恨みだけを書き綴っていた。 もちろん、そんなものを好きこのんで読む人はいなくて、ただ虚無へとテキストを放り込んでいたのだけだど、いつからか、ある程度パターンを獲得して、その真似をするようになって、成功失敗を繰り返して、それなりにPDCAを回してきたと思う。思えば、その過程でいろんな人のヘイトを買った気がする。 人間のテキストの読み方、その反応、というのはパターンを、いくつか書き起こしてみる。 読者は、ファーストビューのレイアウトで、読む読まないを決める タイトルは記事の印象の5割 章タイトルが残りの半分 文はほとんど読み飛ばされる 書き手としては単語の印象の連なりでイメージを形成することになる 段落が均等に分割さ

    読まれるテキストは読者へのおもてなしの構造を持っている - mizchi's blog
    mickn
    mickn 2017/12/19
  • 当初の懸念どおりブラウザのプッシュ通知は邪悪に使われはじめている。実装側はクリックまで購読確認を待つべき。 - mizchi's blog

    追記: 2019/11/12 2年経ったけど体験が悪化し続けた結果、 Firefox がこの記事の通りになりましたね… www.fxsitecompat.dev プッシュ通知、ネイティブアプリの機能郡をWebに持ち込むPWA技術の売りの一つだが、当初から懸念されていたとおり、非常にノイジーなものとなってしまっている。自分も気づけばあらゆるサイトの購読確認を、無意識で拒否を押すようになってしまった。 hagex.hatenadiary.jp 少し前の記事。最近はどこかで wordpress のプラグインになったのか、目にする機会が非常に多くなり、非常にストレスフル。最初は技術的な目新しさからか、ある程度容認していたが、さすがにこの状況が悪化する一方で、気でやばいんじゃないかと思っている。とくに初見のブログの記事を読む前に、購読確認が出るのが最悪の体験となっている。 そもそもプッシュ配信とは

    当初の懸念どおりブラウザのプッシュ通知は邪悪に使われはじめている。実装側はクリックまで購読確認を待つべき。 - mizchi's blog
    mickn
    mickn 2017/12/06
  • やはりHTML/DOMは再発明されるべきじゃないか - mizchi's blog

    と思う次第である。以下理由。 JavaScript, GUI設計の今 JSはそのプラットフォーム特性上、あらゆる言語の使用者の、あらゆる不満が集まる場所で、ヘイトを集めやすい環境だと思う。近年は npm というプラットフォームの登場でエコシステムが生まれ、思いつく限りあらゆるメソッドが適用されてきた。貧弱な言語基盤だが、その中で生き残った方法論が、今一番GUIの課題を上手く扱えている、と自分は考えている。 React/ReduxAngular によって、Flux/MVVMという抽象パターンが枯れてきたように思う。(この際、現場はまだ jQuery だぞ、みたいな話は無視する)。要は View は State の写像である、ということに尽きる。State はシリアライズ可能(JSON)で、Flux Action/Rx.Observable の Event Stream を入力とし、それ

    やはりHTML/DOMは再発明されるべきじゃないか - mizchi's blog
    mickn
    mickn 2017/10/02
  • マストドンについて所感 - mizchi's blog

    鉄は熱いうちに叩け。 表面上はただの Twitter、というかTweetDeck フェデレーションの抽象は一般ユーザーには理解が難しすぎる せめて Yammer ぐらいは倒してほしい フェデレーション(連邦) ユーザーレベルだとTwitterと同じサーバー抽象にみえるが、その上流にサーバーレベルP2Pとでもいうのだろうか、サーバー同士が接続して大きなストリームを形成する。 fshinさんが指摘するように、リモートの削除に難があるが、炎上するような連中はそこまで考えないので、普及するとした場合、それが普及のボトルネックになることはないと考えている。これは善悪でかくあるべしという話ではなく、そうならざるをえないという話。 マストドンに関する現時点での解釈と感想 | F's Garage 中のコード https://github.com/tootsuite/mastodon 読んだ。 Rails

    マストドンについて所感 - mizchi's blog
  • Re: React.js界隈の人に聞きたい - mizchi's blog

    React.js界隈の人に聞きたい 前提 Reactより前に僕がやりたかったこととして、冪等性の担保の為に毎フレーム document.body.innerHTML を書き換えたかったがパフォーマンス的にそれが許されなかったが、Reactは擬似的にそれを達成させてくれたという圧倒的感謝🙏がある— ダイナモポグラマ (@mizchi) 2016年5月23日 SPA 世の中にSPAの需要があるのか?という点考えていたけど、需要がないからSPA技術がいらない、というのはたぶん間違ってて、SPA技術を持たない人が多いからその発想もなく、SPAで達成できることがイメージ出来ないのがアプリケーション設計の縛りになっている、という感じな気がする— ダイナモポグラマ (@mizchi) 2016年5月23日 GmailやTrelloやPivotalやグラブルは異常な技術の集大成ではなく、個別に分解可能な

    Re: React.js界隈の人に聞きたい - mizchi's blog
    mickn
    mickn 2016/05/24
  • NTTフレッツ光を騙る訪問販売員が、うちに訪問しにきたときのやりとり - mizchi's blog

    やられた。 blog.livedoor.jp 【ご注意ください】株式会社JMT、エヌティーサポート、ベイシスイノベーション、株式会社RGイノベーションといった悪質な代理店がNTTを名乗って So-Net NURO光の詐欺まがいの勧誘をしている件 http://satsumahomeserver.com/blog/4568 やりとり 「NTTフレッツ光です」 「料金改定がありましてその確認と手続きです」 まるで規定事項の伝達のような口ぶり。 「今の4500円から3800円になります。確認のためNTTの登録番号がわかる書類はありますか」 出してしまった。これ出した時点で勝手に契約させられた模様。これ立派な詐欺だと思うんですが。 この後、さきの資料にあるように、 「2か月無料の有料オプションに入ってることになってるので、自分で解約してくださいね」となった。今日まで料金改定と、+アルファで有料オプ

    NTTフレッツ光を騙る訪問販売員が、うちに訪問しにきたときのやりとり - mizchi's blog
    mickn
    mickn 2015/09/30
  • Haskellの勉強で詰まってる部分 - mizchi's blog

    まず前提として、大量に間を割いたわけではない。週末気が向いた時にちょろっとやるぐらい。わからないと放置するので全然進んでない。 このテキストについて、名前空間の扱いやcabalについて一部批判と受け取られない表現があるかもしれないが、これはおそらく僕の無知より発しているので、わかってる人はバーカと罵っていただきたい。(この界隈、教えてといっても教えてもらえないので、罵ってもらうのが楽ではある) あくまで現在の状況。すごいHは読んだが全部は理解していない。頻繁に詰まるが解説を読めばなんとかなったりならなかったりしている。 モナドについて 箱のメタファは適切ではないとかなんとか言われているのをたまにみるが、自分はアレで理解している。 Functors, Applicatives, And Monads In Pictures - adit.io 問題はモナドがわかってもモナドで包まれた値の中

    Haskellの勉強で詰まってる部分 - mizchi's blog
  • Object.observeのGoogle Chromeでの先行実装とAngularについて - mizchi's blog

    読みました。 Angularが好き - Can I do web? https://twitter.com/agektmr/status/519128909695045633 僕の中で、Object.observe なんてどうみてもangularのためじゃんって雰囲気が最初からあって、あまりにも当前だと思っていたので、さも事実のように書いてしまってました。 実際に検索してみたところ、その関係に実際に言及するような資料は発見できませんでした。この点は僕の想像でした。申し訳ありません。 ですが、検索すると僕以外にも多くの人がそう思っており、それなりに根拠もあります。なぜそう思っていたのか、その理由を提示します。 2012/06 Angularの公開リリース 2012/11 Object.observeの仕様の初出 http://wiki.ecmascript.org/doku.php?id=h

    Object.observeのGoogle Chromeでの先行実装とAngularについて - mizchi's blog
    mickn
    mickn 2014/10/07
  • Angularが嫌い - mizchi's blog

    僕は当にAngularが嫌いで、もはや許せないレベルに達していて、今ではもう当に使いたくない。 イカ理由。 APIがほんっっっっっとうに糞 趣味の問題といえばそうでもあるが僕は糞だと思う 実装が黒魔術 良識あるJSエンジニアなら Function.prototype.toString() しない 実際に一部のクロージャが破壊されてて挙動が直感に反する DirtyCheckの実装、表面的にもDirtyな挙動として現れるのでデータバインドとして何も嬉しくない Googleだから許される、みたいなコミュニティの驕りが当に嫌 Angularの都合だけでChromeでObject.observeを前倒しするのやめろ Angularの内部モジュール同士が密結合 DI, module, factory, それぞれ大きなテーマなのに密結合 使いはじめるとAngularをやめることが困難 パフォーマン

    Angularが嫌い - mizchi's blog
    mickn
    mickn 2014/10/06
  • ゲーマーのエンジニアが転職先としてソーシャルゲーム業界を選ばない理由 - mizchi's blog

    今回の転職にあたって、各方面から「なんでゲーム業界にいかないの?」と何度も訊かれたので、書いておく。 僕のキャリアはソーシャルゲーム業界から始まって、教育の会社にいって、次はxxxだ。転職先に関しては後日。 僕はそもそもスーパーファミコン時代にスクエニ黄金期の洗礼を受けた古い気質のゲーマーで、ソーシャルゲームを一切楽しめない人間で、ソーシャルゲームに開発として関わった人間でもある。バイアスが掛かっているのは認める。 古巣がどうこうって問題ではなくて、業界全体の問題なので、そこらへんは誤解しないように。 ソーシャルゲーム業界 今のソーシャルゲーム業界の開発現場は、開発の現場が「面白いゲームを作ろう」というモチベーションにはなりにくい。 感覚として、ソーシャルゲームってのは「課金させる場」を作ることであって、面白いゲームを作ることはあまりフォーカスされない。 それを言えばコンシューマだって売り

    ゲーマーのエンジニアが転職先としてソーシャルゲーム業界を選ばない理由 - mizchi's blog
    mickn
    mickn 2014/09/27
  • 近況 - mizchi's blog

    近況 - mizchi's blog