タグ

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

  • オブジェクト指向の呪いと、その避け方 - mizchi's blog

    このテーマで書く前に、まず、最初に自分に多少の偏りがあることを認めておかなくてはなりません。 オブジェクト指向より、関数指向寄り オブジェクト指向のアプローチは有用だが、ただしそれを実現する手段はクラスと継承ではない。 階層化されたツリー構造(GUI/リレーショナルな参照構造)に埋め込まれる状態はコード品質を悪化させるので、できるだけ出現するべきではない。 ただし、状態は確実に存在する。だからこそ慎重に扱うべきだ、という派閥です アンチパターン: 特に理由もないクラスメソッドへの所属 何かのバリデータを実装したいとします。 その関数がどこに所属するかについて、よく見るこれらの実装は全部アンチパターンといっていいと思います export class Validator { static validate() {...} } export class Validator { validate(

    オブジェクト指向の呪いと、その避け方 - mizchi's blog
    toshiwo
    toshiwo 2018/07/31
  • 漸進的型付け言語の時代に必要なもの - mizchi's blog

    最近では、Gradual Typing、漸進的型付けと呼ばれる型システムを備えた言語(拡張)が増えてきています。 次のようなもの JavaScript: TypeScript / Flowtype Python: mypy / pyre-checker PHP: hack / php-storm flow/pyre-checker/hack と facebook 製が多いですね。 この記事は、それらを使う動機と運用について書きます。この記事の出発点として、 おそらく TypeScript/Flow で発生した問題が後発の言語で発生すると思っており、それらを使う方や、設計する人への提言でもあります。 自分は昔 https://github.com/mizchi/TypedCoffeeScript というAltJS作ろうとして、実装のツラミはなんとなく知ってるつもりです。ホビーレベルで作るもの

    漸進的型付け言語の時代に必要なもの - mizchi's blog
    toshiwo
    toshiwo 2018/07/05
  • フロントエンドの負債と向き合う - mizchi's blog

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

    フロントエンドの負債と向き合う - mizchi's blog
    toshiwo
    toshiwo 2018/03/14
  • エンジニアのベンチャー企業の選び方/働き方/やめ方 - mizchi's blog

    この記事は退職者アドベントカレンダーの12日目です。 adventar.org 経歴としては、新卒で設立してすぐのゲーム会社 => 小規模教育系ベンチャー => Incements(Qiita) => フリーランス。 今年で29歳、20代で3回退職しました。20代のうちは冒険してベンチャー企業で働いてみよう、と思ってたのですが、結局29を目前にフリーランスになってしまいました。 ベンチャーで働くこと ベンチャーで働くのはリスクを取るということ。一番言いたいのは、ストックオプションもたずにベンチャーやるな、ストックオプションも確実に換金できるわけじゃない、ということ。上場するときに行使するか、バイアウト時に買い取ってもらわないといけません。 また、ストックオプションの期待だけ給与は下がるので、他の会社で同じことをやるのに比べて、 -100~-150万ぐらいの相場です。少数精鋭志向で最初からじ

    エンジニアのベンチャー企業の選び方/働き方/やめ方 - mizchi's blog
    toshiwo
    toshiwo 2017/12/13
    まぁ行きたい会社ないのはわかる
  • やはり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
    toshiwo
    toshiwo 2017/10/02
  • Redux は 概念的に Rx のサブセットであるという話 - mizchi's blog

    この資料のアレ。 mizchi.hatenablog.com Reducer は単なる (State, Action) => State の関数で、redux.combineReducers は複数の reducer を名前空間でマップした新しい reducer にするもの。 Rx分かる人、Redux分かる人向けに、 redux.combineReducers を実装して、Rx.Observable.scan で reducer として実際に動くコードを書いた。 const Rx = require('rx') const combineReducers = reducerMap => { const initialState = Object.entries( reducerMap ).reduce((acc, [key, reducer]) => { return Object.ass

    Redux は 概念的に Rx のサブセットであるという話 - mizchi's blog
    toshiwo
    toshiwo 2017/09/30
  • Splatoon2 感想 - mizchi's blog

    前作ギリギリS+、今作150時間ぐらい。今Sでうろうろしてるプレーヤーなのでガチ勢ではない。一緒にやってる人達がS+ばかりなので、足を引っ張らない程度になろうと、ヒーヒー言いながらやってる。 前作は、ダイナモでハコフグヒラメエリアだけで厳選でS+に上げたので、実質S適正ぐらいだったと思う。自分には入力精度と視野と決め打ちな戦術プランが不足している、という自覚があり、それらは経験で補わないといけないが、それらを得るための体力と時間を捻出しないといけないのが難しい。 この記事で、あれこれ文句言ってるが、面白いからこそ出る不満であって、アプデに期待している。展望として、2年ぐらいは飽きずに遊ばせてくれという感じ。あと自分の意見じゃなくて、自分よりうまいS+環境の人達の意見を鵜呑みにしている部分もある。 インフレ抑止 & 前作トップメタへの懲罰的なナーフ 前提として、前作でインフレしきった状態をリ

    Splatoon2 感想 - mizchi's blog
    toshiwo
    toshiwo 2017/08/15
    アメフラシは、蓮コラとして精神攻撃(は基本)として有用なケースがある気がする
  • Qiita の Increments を退職します - mizchi's blog

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

    Qiita の Increments を退職します - mizchi's blog
    toshiwo
    toshiwo 2017/03/01
  • FF15感想 -トータルの体験はいいが細部がとにかく雑- - mizchi's blog

    クリア済み。隠しダンジョンは行ってない。 できるだけネタバレしない感じで。あんまり体調が良くないので、推敲せず殴り書きで。 最初に このゲームは不思議なゲームで、存在を知った時の、ホスト4人のロードムービーという誰得なのかわからん導入で敷居を下げたあと、結果としておそらくゲーム初心者やアンチなプレーヤーに耐えるほどの包容力か何かで圧倒して全体として満足する、という感じになるのだが、やはり細部が荒いので無限に文句を言えてしまう。 不満を列挙するだけならプレーに耐えないゲームのように思えるかもしれないが、結果として満足感は高いので、個人的には 80/100 の点数をあげたい。が、点数では語れない魅力がある作品ではある。やはり海外の先行レビューを見ても似たような歯がゆさがある。 Choke Point | 『FINAL FANTASY XV』海外レビュー 全体通して 個々のシーンで開発側のやりた

    FF15感想 -トータルの体験はいいが細部がとにかく雑- - mizchi's blog
    toshiwo
    toshiwo 2016/12/04
    まだクリアしてないけれど、ドライブのところ以外は概ね似たような感想。戦闘バランスもかなり雑
  • ペルソナ5 クリア済み感想 ネタバレ無し - mizchi's blog

    P5、115時間でクリア。最初から最後までずっとハード。クリア時はLv70。ペルソナはソロネ/コウリュウ/トランペッターが主力。最終パーティは竜司、真、祐介。ラストダンジョンは途中から面倒くさくなって煙玉で逃げたり雑にハマ成功率UP付けたマハンマオンぶっぱなしていた。 コープは意図的に6で止めた竜司と、解禁条件をたぶん見逃した三島10以外埋まった。最終的にはずっと筋トレしていた。 シナリオ シナリオについて色々言いたいことはあるがまあコアターゲットを考えればこんなものだろう、という印象。とはいえ名称と解釈と演出に既視感が強すぎる。お決まりの演出を積み重ねただけとも言えるけど、パロディらしくメタっていく要素もないのでもやもやする。偽○○○○はウオーって思ったけど。 怪盗というコンセプトと、ペルソナという世界観のシナジーはあったと思う。 竜司は英雄願望・脳筋というキャラクター設定とピカレスクと

    ペルソナ5 クリア済み感想 ネタバレ無し - mizchi's blog
    toshiwo
    toshiwo 2016/09/26
    世界樹の感想は完全同意。1が一番おもしろかった
  • 同調圧力、その再生産 - mizchi's blog

    皆が面白いと思うものを面白いと思えないから、面白くない、と言うと「水を差すつまらないやつ」とか「斜に構えて気取ってる」みたいな扱いされるんだけど、こっちは当に面白く無いと思っているわけで、その可能性を検討できない人は、同質的なコミュニティだけで生きてきた幸せなやつなんだな、と思う。 「嫌なら見るな」という言葉も嫌いで、まあ僕は見ないんだけど、結果としてそういうものに囲まれて生きることになるので、「政治的なアクション」として、否定的な見解を発していくのは必要なことだとも思っている。たとえそれが自分に通じる範囲にしか響かなくても、僕が快適にしたい領域はそこなので。 たとえばシンゴジラは僕も見てよかったと思ってるけど、国威発揚的な演出はクッセーと思ってて、嫌いな人いるだろうなって思うし、絶賛以外許さんという連中はまさに多数派の同調圧力の発露なので、個人的な嫌悪の対象にある。 僕が18まで無理矢

    同調圧力、その再生産 - mizchi's blog
    toshiwo
    toshiwo 2016/09/03
    まぁ、よかったからと言って、すべての点に不満が無いなんて余程だからなー。そういう意味では、自分は映画とかゲームなんかのコンテンツなら肯定から入る方。だな
  • 本を書くためのアウトラインエディタを作ってる - mizchi's blog

    少し前からアウトラインエディタを作ってる。 こんなの (画面は開発中のものです) ファイルツリー 複数シート同時編集 ファイルツリーUIというのをスクラッチで初めて作ってみたんだけど、「当然こう動いて欲しいよな」というヒューリスティックな挙動をたくさん作るハメになってて学びがある。 なぜ作ったか 技術書を書いて Kindle Direct Publishing で販売しようと思って、Macで売れてるアウトラインエディタを一通り試したんだけど、惜しい物が多くて、個人的にしっくり馴染むものがなかった。なので、技術書を書く前に、自分がを書くために必要なツールを作るところから始めることにした。 作家・藤井太洋に聞く 「小説を書くためのツール、Scrivener」 - DOTPLACE を読んで、その辺のアプリに対する感覚を自分でも意識して作ってる。Scrivener は wysysig なんで自

    本を書くためのアウトラインエディタを作ってる - mizchi's blog
    toshiwo
    toshiwo 2016/08/23
  • さよなら CoffeeScript - mizchi's blog

    prototype.js が jQuery に置き換えられた時、開発者が気づいたのは、自分に当に必要だったのはprototypeのメソッド拡張などではなく、クエリエンジンだったということ。 coffeescriptが当初、熱狂的に支持された背景はなんだっただろう。今思えば、それはアロー記法とクラス構文だったと思う。 javascriptの関数型への憧れ、prototypeベースの限界 javascript は断じて関数型言語ではないが、他の言語と同じぐらい関数型言語に憧れていたのも、また事実だろう。しかしビルトイン関数が高階関数を要求するデザインにしては function というキーワードはながすぎたし、その function が暗黙に作り出す this スコープの複雑な振る舞いも開発者の悩みの種だった。「あらゆる関数スコープで状態を持つことが"できすぎる"」という割れ窓だった。 ES5

    さよなら CoffeeScript - mizchi's blog
    toshiwo
    toshiwo 2015/10/02
  • 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
    toshiwo
    toshiwo 2015/09/29
  • キーボードの配列をDvorakにしてみた - mizchi's blog

    昔からずっとqwertyの非効率さは感じていて、前々からやろうと思っていたのだけど、仕事中にやるとおそらく仕事がまったくすすまなくなり、ストレスでヤバくなるということはわかっていたので、この連休中に覚えてしまおうと思った。 今は二日目 なぜ Dvorak か 英文入力において、QWERTY配列と比べて上段と下段の使用頻度が低くなるように設計されている。 そのためQWERTY配列に比べて、英文入力における指の移動距離を短くすることができる。この特徴から、腱鞘炎などの予防に効果があるとされる。 母音は左手に集中しており、英文の入力において母音に連接しやすく高頻度で使う子音ほど、右手に集中している。 このために右、左、右、左とリズミカルに打鍵できる確率が高まり、QWERTY配列に比べて高速かつ効率的な入力が可能であるとされる。キーボードをタイプする速さの世界記録は、この配列を利用する者によって樹

    キーボードの配列をDvorakにしてみた - mizchi's blog
    toshiwo
    toshiwo 2015/09/22
    ここ数日イカがアクティブ気味だったのはこれかw
  • YAPCで俺たちの夏が終わった - mizchi's blog

    これを書くことによってYAPCが終わる そもそも自分も発表申し込もうかなとは思ってたけど、@teppeis @koba04 @yosuke_furukawa @Jxck (敬称略)が喋る時点でJS方面の界隈としては役満感があったしみんなフロントエンドの話そこまでして聞きたくないやろ、という感じで申し込まなかった。彼らの話はどれも評判良かったのでめでたい。 1日目 朝起きれなかったのでラリー・ウォールみてない。 Matzのセッションとてもよくて「今日はRubyの話をしません」「ネタが尽きたのでRubyの話をします」「Rubyの言語デザインの最大の失敗はPerlの影響を受けたこと」というコンボがよかった。 質問タイム、「TypeScriptとかで動的型付けの言語に静的型のタイプヒンティングいれるの流行ってるけど、Ruby3.0のソフトタイピングは開発者支援とコンパイラ支援どっちを目指してますか

    YAPCで俺たちの夏が終わった - mizchi's blog
    toshiwo
    toshiwo 2015/08/24
  • 睡眠障害で辛い - mizchi's blog

    一緒に働いたことがある人は知ってると思うけど、自分は尋常じゃなく朝に弱い。 で、自分でもさすがに酷いと思っており、様々な努力をしたが改善せず、結局睡眠科をうけて睡眠障害だと診断された。 自分がそうだと疑った理由は 睡眠障害らしきものとわたしの20年間振り返りメモ - 青いの のおかげ。inoaoさんとは違うけど、自分は 睡眠相後退症候群 DSPSに罹患して9時5時生活を送ることは、毎日6時間の時差ぼけを体験しているようなものである。患者は週日には数時間しか眠ることができないので、週末には午後まで眠って睡眠時間を補うことがよくある。週末によく眠ったり、普段昼寝をしたりすることで、DSPS患者は昼間の眠気から解放されるが、遅い睡眠相はそのまま続く。 DSPS患者は、極端な夜型の傾向がある。彼らは、夜が最も頭が冴えていて、物事がうまくでき、創造力にも溢れていると感じる。彼らは単純に早く眠ることが

    睡眠障害で辛い - mizchi's blog
    toshiwo
    toshiwo 2015/07/31
  • Rx.js, Immutable.js について - mizchi's blog

    自分はImmutable.jsとRxをなぜ採用しなかったか、自分の考えを整理するために書き出してみる。 僕の理解が及んでいない無知のゆえのアレもあると思うので間違っていたら罵倒ブコメお願いします。 Immutalbe(.js) 扱う対象をイミュータブルにするのはたぶん間違いなく正しい。正しいが、現時点のエコシステムにおいてその必要性を示せてない。具体的に言うと、Immutable.jsの110kbのオーバーヘッドの配信負荷、読み込み負荷、開発者の学習コストを支払ったとき、それに見合う価値を提示できているのか?にまだ疑問が残る。 PureなJSでも、ただ単に目的のデータを作るだけなら、ほとんどのケースで組み込みのarray.mapとObject.assign(またはそのポリフィル)で代用できる。(勿論生成したオブジェクトに副作用を加えないことが前提になるが) あと型がない環境でImmutab

    Rx.js, Immutable.js について - mizchi's blog
    toshiwo
    toshiwo 2015/07/18
  • 最近のReactへの言及についての違和感 - mizchi's blog

    「最近のReactへの言及についての違和感」というエントリ書いたら燃えますかね— イカid:mizchi0x (@mizchi) 2015, 6月 7 僕がみた資料の中でFluxの設計について正しい理解をしていると思えるのはげたさんのこの資料だけです https://t.co/XaKHhhuP2A— イカid:mizchi0x (@mizchi) 2015, 6月 7 みんなsetStateに騙されてる— イカid:mizchi0x (@mizchi) 2015, 6月 7 一部で「React使うとコード量が増える」という意見、サーバサイドで書いたテンプレートのレタッチをするjQueryと比べたらそりゃそうなんだけど、SPAでそもそもJS側がテンプレート握るような環境では handlebars とかで書いてたところが JSXになるだけでそれ移行コスト— イカid:mizchi0x (@mi

    最近のReactへの言及についての違和感 - mizchi's blog
    toshiwo
    toshiwo 2015/06/07
  • スプラトゥーンくっそ面白かったので話をさせてくれ!!!(ブキ寸評+マップ寸評+その他) - mizchi's blog

    2chゲーム界隈のスレッドによく出入りしていた経験としては、良ゲーかクソゲーか議論がまとまらないのは凡作のスレッドで、真の名作のスレッドは、議論とかかまってる暇はなくて、ひたすらゲームの話しかしないもので、スプラトゥーンは、間違いなく後者だ。 はじめに 自分はエイムがガバ過ぎてFPSがまったく駄目で、なので塗りを重視したり、ローラー寄りのレビューになる。LoLはそこそこやったがここ一年ぐらいやってない。どちらかと言うとFPS脳よりMOBA脳。 まずはよく使われるブキの寸評。 プロモデラーRG 近〜中距離の鬼。特長はとにかく圧倒的な塗り速度。 トルネードとトラップはゲーム理解度が低いまま使っても活かしきれないが、ランク20までやってるとさすがにトルネードは当ててくる。 もっと上達してるプレーヤーは、高台にトラップを置いていくなどしてやらしい。自分が使った試合はBバスパークの高台にトラップ置

    スプラトゥーンくっそ面白かったので話をさせてくれ!!!(ブキ寸評+マップ寸評+その他) - mizchi's blog
    toshiwo
    toshiwo 2015/06/01
    プロモデラーMG/RGは単騎で強いので個人的に飽きた感ある。わかばは仲間の位置見ながら、バリア有効活用がおもしろい。地味にボムも