タグ

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

  • Qiitaのランキングの最初の設計者としての「いいね」の設計と、「LGTM」は下においてほしいという話 - mizchi's blog

    https://blog.qiita.com/like-to-lgtm/ Qiitaさんの変更。思想はまぁわかるものの、「全部読んでから押してほしい」といいながら、開いた直後に押せるところに配置するのは意味がわからないかなあ。https://t.co/HEtwKg0txr— chokudai(高橋 直大)🌸🍆🍡 (@chokudai) 2020年3月12日 これについては chokudai さんに完全に同意なのですが、その理由として、自分の在職時に企画したサービス設計意図が強くあって、退職者がそれについて今更どうこういうのはどうか思うところもあるのですが、当時の同僚がほぼ全員退職してしまっているため、ここでその意図を伝えます。 お前は誰 & 何 当時の Qiita の開発で、ストックといいねを分離して、いいねをベースにしたランキングの実装のを提案したのが自分です。社内の Qiita:

    Qiitaのランキングの最初の設計者としての「いいね」の設計と、「LGTM」は下においてほしいという話 - mizchi's blog
    sue445
    sue445 2020/03/16
  • 2020 年、 React 軸で学ぶべき技術 - mizchi's blog

    なぜ仮想 DOM という概念が俺達の魂を震えさせるのか - Qiita から 5 年経ち、 仮想 DOM を備えた React やそれを採用した Vue や他のライブラリも市民権を得たように思います。 有用な技術が市民権を得る、というのはエコシステムが花開くことでもあります。新しいプロダクトを作る際の技術選定において、 TypeScript + React が常に正解というわけではないですが、このスタックはかなり強力だという手応えがあります。 このスタックは得意のウェブフロントエンドは勿論、それ以外もとりあえず 80 点ぐらいの品質でプロトタイピングできる、というようなエコシステムになってきたような肌感があります。 モダンフロントエンドだと TypeScriptWebpack は採用しているのを前提として、記事では React を軸にその技術を活かすために、次の 6 個の技術を紹介

    2020 年、 React 軸で学ぶべき技術 - mizchi's blog
    sue445
    sue445 2020/01/04
  • 人類は(いつ?/そもそも?)ビジュアルプログラミングに至るのか。またはプログラミング的思考とはなんなのか - mizchi's blog

    西村賢さんのこの記事について coralcap.co 68件のコメント https://t.co/jGBUcpTCoK “プレーンテキスト Markdown 時代の終焉 - portal shit!” https://t.co/1Q831CDuXY— 限界シェアハウスみたいなTL (@mizchi) 2019年11月18日 ↑ の記事や、あとは最近の slack の wysiwyg 化について色々思うところあった。 wysiwyg は人類の技術の進歩なのかコンピュータへの適応の失敗なのかは議論の余地がある— 限界シェアハウスみたいなTL (@mizchi) 2019年11月19日 編集してるものと、出力されるものが違う、という発想、エンジニアの発想であるのは間違いなく、markdown を使うのはプログラミング的な思考や訓練が前提にあるのはそうで、人間を訓練するか、内部状態が汚れるのを許容

    人類は(いつ?/そもそも?)ビジュアルプログラミングに至るのか。またはプログラミング的思考とはなんなのか - mizchi's blog
    sue445
    sue445 2019/11/19
  • フリーランス完走した感想 - mizchi's blog

    2 年ほど走ってみました。 Qiita の Increments を退職します - mizchi's blog からの 転職活動 https://gist.github.com/mizchi/4e097923bb92399d03ced9da44f15cfa の結果 この記事は、自分の体験を書くことで、どういう人がフリーランスに向いてるか、というのをわかるように書いたつもりです。自分に近い属性ということで、ある程度プログラマとして経験を積んだ人向けです。 フリーランス辞める理由 フリーランスが嫌になったわけではないです。機会があればまたやりたいとも思っています。今回はフリーランスを続けるより良い選択肢があった、というだけの話です。 個人事業主を 2 年やって、消費税の徴収方式が変わるタイミングがあり、法人化してフリーランスの働き方を続けるか、個人事業主をやめるか、という 2 つの選択肢があり

    フリーランス完走した感想 - mizchi's blog
    sue445
    sue445 2019/06/05
  • SPA が、ウェブ開発のベストプラクティスになる時代 - mizchi's blog

    最近のフロントエンドに関するお気持ち。正直まとまってはない。 最近、こんな感じのツイートや記事が増えた。 web 技術をキャリアの中心にしない シングルページアプリケーション (以下SPA) の台頭により、私の観測範囲ではモダンな Web サイトは SPA で作られるようになった。サーバーサイドは JSON を返す API サーバーとなり、DB やバックエンドシステムのプロキシのような存在になりつつある。 私はサーバーサイドエンジニアとしてキャリアを積んできた。SPA が流行りだした頃、いずれサーバーサイドエンジニアは不要になって自分のキャリアを考え直さなくてはいけない時期がくるのではないかと戦々恐々としていた。 自分も元々、SPA を他サイトとの「差別化技術」と定義していた。ブラウザのタブページのライフサイクルにおいて、初期化プロセスを一回にまとめてシームレスな遷移を実現する技術。たとえ

    SPA が、ウェブ開発のベストプラクティスになる時代 - mizchi's blog
    sue445
    sue445 2019/03/05
  • Edge 終了に寄せて - mizchi's blog

    初報を聞いたとき、描画系だけ blink に入れ替えて処理系は V8 使わず ChakraCore などに入れ替えるのかな、と思っていたが、どうも V8、というか chromium 一式を使うらしい。 正直に言って、Edge が死ぬことに、そこまで強く思うところはない。Edge は内部的に自身のベンダープレフィックスで webkit と名乗るぐらい (標準ではなく) webkit との互換性の意識が高いので、お前自分のことを webkit だと思ってるもんな、みたいな気持ちがあった。 webkit みたいなブラウザが消えて、webkit 後継のブラウザをベースに作り直される。開発者として追うべきは、個別の実装ではなく依然として標準仕様であって、それだけの話。 リリースサイクル 僕が思うに、 MS の抱えていた真の問題は、Windows に紐付けられたリリースサイクルとサポートにあって、Wi

    Edge 終了に寄せて - mizchi's blog
    sue445
    sue445 2018/12/13
  • Webpack の考え方について - mizchi's blog

    なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? - from 健人 井関 www.slideshare.net この記事バズってたけど、わからない人がよりわからなくなる、という点で問題だと思っていて、webpack の目的の質的な部分から整理する必要があると思います。 (あと友人webpack に挑戦していたので入門資料も兼ねてる) Webpack質的な部分は次の3つです。それ以外は全部おまけ機能だと思ってよいです。 ES Modules のエミュレート node_modules のリンカ 拡張子ごとの変形 Webpack当にやりたいこと こういうコードがあるとします。 // src/a.js export default () => console.log('hello'); // src/in

    Webpack の考え方について - mizchi's blog
    sue445
    sue445 2018/11/26
  • 「この〜を導入すると、なんとこうなりました!どうです?わかりやすいと思えませんか?」 - mizchi's blog

    主にUI設計やプログラミングのAPI設計について、「わかりやすい」というのは主観的で合意が取れないのでクソという話。 定量的な指標が示されてない そもそも趣味が合わない場合はそこで終わり 〜の来意図された機能が隠れてしまっている ↑によって隠れてしまった機能を呼び出すのが、最終的にコストが掛かる 何が言いたいかと言うと、「指標の伴わない変更に意味はない」「APIの呼び方を変える程度のラッパーライブラリやヘルパーには、特に意味がない」ということです。 ここからプログラミングの話に絞りますが、特にショートハンドしたいだけの場合、ショートハンドするAPIの実装は、必ず来の機能を呼び出す脱出ハッチも必要となります。 よく練られていない「わかりやすさ」は、次第にこの脱出ハッチを使うことを要求するようになり、結果として捨てられることになります。この破棄までの過程は、結果的に「技術的負債」と表現され

    「この〜を導入すると、なんとこうなりました!どうです?わかりやすいと思えませんか?」 - mizchi's blog
    sue445
    sue445 2018/11/08
  • Qiita の Increments を退職します - mizchi's blog

    4月からフリーランス。直近半年の仕事は埋まってるけど、パイプ作っときたいとかあれば mizchi2w@gmail.com までメールください。 なんでやめるの? 要約: 自分のスキルの、ベンチャー企業の社員としてスキルミスマッチ フロントエンドの、とくにSPAで高速で堅牢なアプリを作る、という自分のスキルセットを振り返ると、「需要はあって必要なことには必要だが、どうしても瞬間風速が高いそのタイミングを超えると扱いに困る」という人材適正があると認識しており、前職のQuipperから引き続き2社連続で、「そのために入った最初のプロジェクトが終わると、やや手持ち無沙汰になる」という状態になっていました。 とくにスタートアップのような、予算が厳しい上にピボットする可能性ある現場だと、自分のスキルが活かせないフェーズがある、というのが、会社にとっても、個人のモチベーションとして厳しいものがありました

    Qiita の Increments を退職します - mizchi's blog
    sue445
    sue445 2017/03/01
  • ブログを書き続けること - mizchi's blog

    昔から気をつけてることなのだけど、ある程度、ブログ、とくに技術テーマ以外の記事を書く頻度はコントロールしよう、と思っていた。具体的には、1ヶ月の間に2, 3回ホッテントリなどに入ることは問題ないが、2, 3ヶ月連続で耳目を引き続けるのは、避けた方がいいのではないか。とくに落ち着いて暮らしたいなら。 中長期的にあまりに注目を引き過ぎると、勝手に記事間の文脈を悪意を持って補完されたり、固定のウォッチ対象にされてしまったりすることがある。粘着なアンチは聞く耳を持たないので無視するに限るが、人間何に反感を持つかわからないもので、自分がコントロール出来ない要素をたくさん抱えると、書くことそのものが億劫になっていく。日常生活にも影響が出る。少なくとも僕は、自分が書いたものが自分のコントロール下から外れていないか、怖くなってエゴサーチばっかりしてしまう。 「悪意を持ったコメント」に対抗する方法は難しく、

    ブログを書き続けること - mizchi's blog
    sue445
    sue445 2016/08/08
  • スプラトゥーンで前歯が折れた - mizchi's blog

    ※ネタです 起きたら前歯ぐらぐらしててあーこれ抜かんといけないやつだ…ってなってる…— ダイナモポグラマ (@mizchi) 2016年4月12日 前歯折れて歯医者いったら、虫歯じゃなくて物理的な衝撃で折れてるって言われて、「殴られたりとかしませんでした?」「いや…心当たりないですね…」って言ったけど、よく考えたらスプラトゥーンで負けてる時イライラして歯ぎしりする癖あったから、それの積み重ねのような気がしてきた— ダイナモポグラマ (@mizchi) 2016年4月12日 いきなり殴られたかどうか聞いてくる歯医者も相当ロックだと思う— ダイナモポグラマ (@mizchi) 2016年4月12日 さっき麻酔うったからまだ生きてる実感が無い— ダイナモポグラマ (@mizchi) 2016年4月12日 @seizans そんなァ— ダイナモポグラマ (@mizchi) 2016年4月12日 ス

    スプラトゥーンで前歯が折れた - mizchi's blog
    sue445
    sue445 2016/04/12
  • 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
  • 修正: 意識高い系に食い物にされる学生プログラマ - mizchi's blog

    追記2 Sun Nov 23 2014 17:12:29 GMT+0900 (JST) 書いた時点でいくつか事実誤認があったようで、このまま変に拡散するよりも文を取り消させていただきます。情報が非常に限られた状態での思い込みで記事を書いてしまい、ご迷惑おかけしました。指摘してくださったはてブの皆様ありがとうございます。 今現在、この件についてなんらかの意見を持ってはいません。変に消すと誤解を生むので、記事自体は残しておきます。 追記1 Sun Nov 23 2014 15:28:27 GMT+0900 (JST) 全然追ってなかったけどブコメで2chの書き込みの件把握しました 自分も多少そうだったんだけど、政治とか意識高い系の学生団体とかがウヨウヨしてるキャンパスにプログラム多少書ける人間として通ったりしていると、君すごいね~とおだてられてああいうことに巻き込まれる確率高くなるんだけど、

    修正: 意識高い系に食い物にされる学生プログラマ - mizchi's blog
    sue445
    sue445 2014/11/23
  • 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
  • シンプルさが勝つ。人間はシンプルではない。 - mizchi's blog

    迷ったらシンプルな方— 片手間以上 (@mizchi) 2014, 7月 19 僕は主にUIを作るエンジニアなのだけど、以下の話題について。 時間をかけて、つまらないものを作りたいか? - futoase.hatenablog.com ニコニコ動画はSynvieプロジェクトが原型 - はてな村定点観測所 UIの有効性を証明する仮説とその検証において、ほとんどの場合において次の二つが根源的な問題となる。 だいたいのものはシンプルな方が勝つ 人間はシンプルではない 二点間の距離を求める三平方の定理は、(ディスプレイが歪んでいない限り)簡潔でシンプルだが、二点のボタンを順番に押すときのマウスの軌道、そのあいだのユーザーのメンタルモデルの変化は、まったくもってシンプルではない。 人間はシンプルなものの価値を認めたがらない、というバイアスがある。金を産まないといけないソフトウェア開発の現場は、コアフ

    シンプルさが勝つ。人間はシンプルではない。 - mizchi's blog
    sue445
    sue445 2014/07/22
    “いずれ人間も仮想化される”
  • 昔ながらの「片手間に書くJavaScript」の限界 - mizchi's blog

    Javascriptを使うのをやめろ:Railsの時代遅れ云々についての結論 - Qiita この記事は、全体的に自分の業務以外の評価基準やトレンドを知らないんだなという感じで、わざわざ付き合うと精神的に消耗する感じがした。ただ、それが彼らの職でない以上、自分もこの結論に至るのは仕方ないと感じている部分はある。 真の問題は、自分がレガシーなJavaScriptを書いているという自覚がない人間が、ここ数年の技術トレンドから乖離したコードを書き続けることで他のエンジニアやエコシステムそのものに悪影響を及ぼしているケースが散見されている。一行書く毎にグローバル汚染するスクリプトを見せられてもメンテ出来んと言われても、はいそうですねとしか言えないし、そういう人に最近のライブラリを触らせると遅くなるというのは、画面全体を一つのMustacheテンプレートにしてBackbone.Modelのパラメー

    昔ながらの「片手間に書くJavaScript」の限界 - mizchi's blog
    sue445
    sue445 2014/06/30
  • Swift ファーストインプレッション - mizchi's blog

    とりあえずThe Swift Programming Language読んで、実際に自分で少し書いてみた感想。 諸事情でAppleにiOSデベロッパーとしてお布施していたので Xcode6beta落として少し書いてみた。プロジェクトスケルトンをswiftで生成できるので、そのコードを眺めたりしていた。 ファーストインプレッション Immutable脳の人が設計したっぽい。 スクリプト言語っぽい構文に、型注釈。これはGoとシンタックス上の設計思想が似ているんだと思う。 基的にImmutableな設計でありながら、オブジェクト指向を採用しており、Scalaっぽいマルチパラダイム感がある。Scalaの人は好きになりそう。 型推論のおかげで動的型付け言語触ってきた人にも抵抗がない感じになってる。推論のおかげで静的型付け言語が動的型っぽくみえるのはHaskellとかOCaml方面の雰囲気。 LLV

    Swift ファーストインプレッション - mizchi's blog
    sue445
    sue445 2014/06/03
  • 2時間縛りでd3.js挑戦してみた - mizchi's blog

    何この記事 あんちべという人から無茶ぶりがきたので対応した mizchi、d3ブログ書いてくれた呑む— 3D円グラフ皆殺し (@AntiBayesian) 2014, 3月 2 @AntiBayesian D3まだ極めてないです— 高意識エネルギー (@mizchi) 2014, 3月 2 @mizchi 2時間やろう、早く極めたまえ— 3D円グラフ皆殺し (@AntiBayesian) 2014, 3月 2 @AntiBayesian おっしゃ待ってろ— 高意識エネルギー (@mizchi) 2014, 3月 2 前提 よく誤解されるんですが、D3.jsはグラフ描画ツールではなく、JavaScriptSVGを生成するためのjQuery風DSLで、DSLとはいえかなりローレベルなライブラリです。SVGはベクタグラフィックスを生成する規格。ブラウザ上のSVGは、図形を書けるDOMであり、他

    2時間縛りでd3.js挑戦してみた - mizchi's blog
    sue445
    sue445 2014/03/02
  • 技術的負債という(非エンジニアにとっての)隠しパラメータが生産性100倍を起こす - mizchi's blog

    元糞コードマイスターとしては、生産性については思うところある。 技術的到達深度が深い人じゃないとそもそもかけないコードってのももちろん存在して、その前提で10倍とか100倍になりうる話をする。 そもそもマイナスになる人がいるって話。 隠しパラメータをモデル化 エンジニアA:「週に10の成果を出して3の負債を生む人」を考える。この人は開発を止めてリファクタリングをすれば10-3 = 7の技術的負債を返却できるとする。 ここで正確には成果10には* aの係数が掛かっている。これはプロジェクト開始時1.0で、技術的負債が貯まるほど0に近づいて行く 次に、エンジニアB:「週に15の成果を出して10の負債を生む人」を考える(これにも係数aがかかる)。この人は見た目上は上の人の1.5倍速く成果を出しているように観測できるが、負債もたまりやすい。リファクタしても綺麗になりにくい。 これは割とエンジニア

    技術的負債という(非エンジニアにとっての)隠しパラメータが生産性100倍を起こす - mizchi's blog
  • なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog

    ってsinonのスタブ漏れを探しながら何度目かわからない感じにキレてた。 とにかく仕事でJSのテスト書くのが辛いので考えてみる。比較的JSのテストに慣れてる自分ですら辛いのだから、世界はもっと辛いに間違いない。サーバーサイドのnode.jsの話ではない。 JavaScriptで完結しない 構造がHTMLの構造と密結合している。装飾や位置、表示/非表示はCSSによって制御されている。 クライアントJSはHTMLと密結合しており、CSSからビューは影響を受ける。それらがネットワークの結果を受け非同期に振る舞いを帰る。その最終的な値を取得するのが難しい。 もちろんサーバーサイドだってDBやネットワークという外部リソースを扱うが、モックの手法が確立しているし、局所的な複雑度は、JSの方がはるかに多い。 言語仕様が貧弱 mochaやjsmineはrspecを真似てるけど、質的にJavaScript

    なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog
    sue445
    sue445 2014/02/05
    “たとえ良いテストが書けなかったとしても、テストを書こうとする意志をなくしたら終わり。” >いいはなし