<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>La Verda Luno</title>
  
  <subtitle>451 Unavailable For Legal Reasons</subtitle>
  <link href="https://blog.masuqat.net/atom.xml" rel="self"/>
  
  <link href="https://blog.masuqat.net/"/>
  <updated>2026-02-21T17:58:19.314Z</updated>
  <id>https://blog.masuqat.net/</id>
  
  <author>
    <name>MasuqaT</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>「√（ルート）の法則」による情報浸透の数理的理解</title>
    <link href="https://blog.masuqat.net/2025/01/19/simulation-for-rule-of-root/"/>
    <id>https://blog.masuqat.net/2025/01/19/simulation-for-rule-of-root/</id>
    <published>2025-01-19T15:00:00.000Z</published>
    <updated>2026-02-21T17:58:19.314Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2025/20250120[0].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2025/20250120[1].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2025/20250120[2].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2025/20250120[4].png&quot;&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;コミュニケーションにおいて「√（ルート）の法則」と紹介されているものがある。&lt;a href=&quot;https://www.nikkei.com/article/DGXNASFK1000Z_Q0A510C1000000/&quot;&gt;社長に必要な法則 - 日本経済新聞&lt;/a&gt; である。
これを応用して情報浸透を数理的に捉え、いくつかのマネジメントのプラクティスを説明できるのではないかということでシミュレーションをしてみた。&lt;/p&gt;</summary>
    
    
    
    <category term="Management" scheme="https://blog.masuqat.net/categories/Management/"/>
    
    
    <category term="simulation" scheme="https://blog.masuqat.net/tags/simulation/"/>
    
    <category term="rule-of-root" scheme="https://blog.masuqat.net/tags/rule-of-root/"/>
    
    <category term="middle-manager" scheme="https://blog.masuqat.net/tags/middle-manager/"/>
    
  </entry>
  
  <entry>
    <title>Utility-first CSS の配置用ユーティリティだけ使う例</title>
    <link href="https://blog.masuqat.net/2022/02/27/example-of-use-only-layout-utilities-of-utility-first-css/"/>
    <id>https://blog.masuqat.net/2022/02/27/example-of-use-only-layout-utilities-of-utility-first-css/</id>
    <published>2022-02-27T13:35:01.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;遅ればせながらこの前の年末年始に &lt;a href=&quot;https://tailwindcss.com/&quot;&gt;Tailwind CSS&lt;/a&gt; と &lt;a href=&quot;https://chakra-ui.com/&quot;&gt;Chakra UI&lt;/a&gt; を触った。（月並みな感想だが） utility-first CSS は書きやすい一方、前者は &lt;code&gt;class&lt;/code&gt; に書かれる多くのユーティリティによりノイズが多く見え、後者は別の機能が載りすぎて too much という印象を受けた。これらを眺めていると、全てのスタイルを &lt;code&gt;class&lt;/code&gt; や Props に直接は書かなくても utility-first CSS の利点を生かせるのではないかと思い始めた。&lt;/p&gt;
&lt;p&gt;この記事では、Tailwind CSS との互換機能を持つ &lt;a href=&quot;https://windicss.org/&quot;&gt;Windi CSS&lt;/a&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-library&quot; id=&quot;user-content-fnref-library&quot; data-footnote-ref=&quot;true&quot; aria-describedby=&quot;footnote-label&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; を利用しつつ、utility-first CSS におけるノイズの少ない表記法として、配置用ユーティリティだけ使う場合の例を示す。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="code-design" scheme="https://blog.masuqat.net/tags/code-design/"/>
    
    <category term="css" scheme="https://blog.masuqat.net/tags/css/"/>
    
    <category term="html" scheme="https://blog.masuqat.net/tags/html/"/>
    
    <category term="memo" scheme="https://blog.masuqat.net/tags/memo/"/>
    
    <category term="utility-first-css" scheme="https://blog.masuqat.net/tags/utility-first-css/"/>
    
  </entry>
  
  <entry>
    <title>Shadow DOM による境界で複数 UI システムを共存させる</title>
    <link href="https://blog.masuqat.net/2022/01/15/multiple-ui-system-coexistence-with-barrier-by-shadow-dom/"/>
    <id>https://blog.masuqat.net/2022/01/15/multiple-ui-system-coexistence-with-barrier-by-shadow-dom/</id>
    <published>2022-01-15T06:22:20.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2022/20220115[0].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2022/20220115[1].png&quot;&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;製品のフロントエンドで利用する「UI システム」を漸進的に移行していく際に役立ちそうな方法を思いついて組んでみた。残念ながら自分はこの方法は当面使わないことにしたので、ある種の小ネタ集として公開し、供養しておく。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="ui-design" scheme="https://blog.masuqat.net/tags/ui-design/"/>
    
    <category term="css" scheme="https://blog.masuqat.net/tags/css/"/>
    
    <category term="html" scheme="https://blog.masuqat.net/tags/html/"/>
    
    <category term="memo" scheme="https://blog.masuqat.net/tags/memo/"/>
    
    <category term="css-in-js" scheme="https://blog.masuqat.net/tags/css-in-js/"/>
    
  </entry>
  
  <entry>
    <title>イベントハンドラ Props は optional にする</title>
    <link href="https://blog.masuqat.net/2021/08/28/event-handler-props-should-be-optional/"/>
    <id>https://blog.masuqat.net/2021/08/28/event-handler-props-should-be-optional/</id>
    <published>2021-08-28T13:45:23.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://dev.to/occar421/event-handlers-should-be-optional-2p01&quot;&gt;English version&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;イベントハンドラって渡されなくてもそのコンポーネントは困らないよなということで、React においてもタイトルの書き方をこれからはやっていきたいという気持ちを表明しておく。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="react" scheme="https://blog.masuqat.net/tags/react/"/>
    
    <category term="code-design" scheme="https://blog.masuqat.net/tags/code-design/"/>
    
    <category term="thought" scheme="https://blog.masuqat.net/tags/thought/"/>
    
  </entry>
  
  <entry>
    <title>View-Hook Pair によるバリエーションのあるコンポーネントの実装</title>
    <link href="https://blog.masuqat.net/2021/08/21/component-variant-with-view-hook-pair/"/>
    <id>https://blog.masuqat.net/2021/08/21/component-variant-with-view-hook-pair/</id>
    <published>2021-08-21T14:55:11.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">バリエーションのあるコンポーネントを素朴に実装すると、コンポーネント内が分岐だらけになったりコンポーネント間で重複コードまみれになったりして保守性が低下してしまう。その問題に対して View-Hook Pair ではどのように対処するかを示す。</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="mvvm" scheme="https://blog.masuqat.net/tags/mvvm/"/>
    
    <category term="react" scheme="https://blog.masuqat.net/tags/react/"/>
    
    <category term="code-design" scheme="https://blog.masuqat.net/tags/code-design/"/>
    
    <category term="thought" scheme="https://blog.masuqat.net/tags/thought/"/>
    
    <category term="view-hook-pair" scheme="https://blog.masuqat.net/tags/view-hook-pair/"/>
    
  </entry>
  
  <entry>
    <title>aria-sort 属性によるソート中のテーブルのマークアップ</title>
    <link href="https://blog.masuqat.net/2021/07/09/aria-sort-for-table-styling/"/>
    <id>https://blog.masuqat.net/2021/07/09/aria-sort-for-table-styling/</id>
    <published>2021-07-09T13:02:00.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;表による一覧画面を実装する最中に思いついた小ネタを載せておく。&lt;a href=&quot;https://momdo.github.io/wai-aria-1.1/#aria-sort&quot;&gt;aria-sort&lt;/a&gt; 属性を使ってテーブルのヘッダーをマークアップする。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="ui-design" scheme="https://blog.masuqat.net/tags/ui-design/"/>
    
    <category term="css" scheme="https://blog.masuqat.net/tags/css/"/>
    
    <category term="html" scheme="https://blog.masuqat.net/tags/html/"/>
    
    <category term="memo" scheme="https://blog.masuqat.net/tags/memo/"/>
    
  </entry>
  
  <entry>
    <title>フロントエンドではまずプレゼンテーション系を分離する</title>
    <link href="https://blog.masuqat.net/2021/05/29/separate-presentation-system-first-in-frontend-architecture/"/>
    <id>https://blog.masuqat.net/2021/05/29/separate-presentation-system-first-in-frontend-architecture/</id>
    <published>2021-05-29T08:25:39.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">ストアと呼ばれているものはリポジトリと &quot;UI Store&quot; に分割することができて、後者を含むプレゼンテーション系を最初に分割すると上手くいくだろう。</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="react" scheme="https://blog.masuqat.net/tags/react/"/>
    
    <category term="code-design" scheme="https://blog.masuqat.net/tags/code-design/"/>
    
    <category term="thought" scheme="https://blog.masuqat.net/tags/thought/"/>
    
  </entry>
  
  <entry>
    <title>View-Hook Pair パターン（草案）</title>
    <link href="https://blog.masuqat.net/2021/02/14/view-hook-pair-pattern-draft/"/>
    <id>https://blog.masuqat.net/2021/02/14/view-hook-pair-pattern-draft/</id>
    <published>2021-02-14T05:29:49.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">大きい処理について、サーバーやツールではレイヤーや関心単位により比較的簡単に分割できるが、フロントエンドのコンポーネントでは別の難しい問題がある。それに対して View-Hook Pair と名付けた分割統治方法を（軽く）提案する。</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="mvvm" scheme="https://blog.masuqat.net/tags/mvvm/"/>
    
    <category term="react" scheme="https://blog.masuqat.net/tags/react/"/>
    
    <category term="code-design" scheme="https://blog.masuqat.net/tags/code-design/"/>
    
    <category term="thought" scheme="https://blog.masuqat.net/tags/thought/"/>
    
    <category term="view-hook-pair" scheme="https://blog.masuqat.net/tags/view-hook-pair/"/>
    
  </entry>
  
  <entry>
    <title>技術系の境界線</title>
    <link href="https://blog.masuqat.net/2020/11/03/system-mode-border/"/>
    <id>https://blog.masuqat.net/2020/11/03/system-mode-border/</id>
    <published>2020-11-03T14:00:35.000Z</published>
    <updated>2026-02-21T17:58:19.312Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2020/20201103[0].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2020/20201103[1].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2020/20201103[2].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2020/20201103[3].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2020/20201103[4].png&quot;&gt;&lt;link rel=&quot;preload&quot; as=&quot;image&quot; href=&quot;/images/2020/20201103[5].png&quot;&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;これは &lt;a href=&quot;https://kichijojipm.connpass.com/event/191220/&quot;&gt;設計ナイト2020&lt;/a&gt; の感想記事です。&lt;/p&gt;
&lt;p&gt;CQRS と GraphQL の話が主な話題でしたが、ディスカッションなどで示唆に富む話を聞けたので、（レポートというよりも）考えたことを書き残しておきます。&lt;/p&gt;
&lt;p&gt;発表内容についてはあまり書きませんが、すでに &lt;a href=&quot;https://qiita.com/foo_72354921/items/695ba00725e7422c6ad5&quot;&gt;設計ナイト2020感想 - Qiita&lt;/a&gt; と &lt;a href=&quot;https://alexander.achanblog.mydns.jp/?p=521&quot;&gt;設計ナイト2020に参加してきました。 | achanBlog&lt;/a&gt; という記事があります。 Q&amp;amp;A やディスカッションについても &lt;a href=&quot;https://twitter.com/hashtag/sekkeinight&quot;&gt;#sekkeinight&lt;/a&gt; 付きのツイートを見ると、何が交わされたか把握できると思います。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="ddd" scheme="https://blog.masuqat.net/tags/ddd/"/>
    
    <category term="code-design" scheme="https://blog.masuqat.net/tags/code-design/"/>
    
    <category term="thought" scheme="https://blog.masuqat.net/tags/thought/"/>
    
  </entry>
  
  <entry>
    <title>Template literal types で型上の簡易 Lisp パーサー</title>
    <link href="https://blog.masuqat.net/2020/09/07/lisp-parser-on-template-string-types/"/>
    <id>https://blog.masuqat.net/2020/09/07/lisp-parser-on-template-string-types/</id>
    <published>2020-09-07T15:34:51.000Z</published>
    <updated>2026-02-21T17:58:19.312Z</updated>
    
    
    <summary type="html">Lisp,TypeScript,Template literal types,Parser</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="typescript" scheme="https://blog.masuqat.net/tags/typescript/"/>
    
    <category term="lisp" scheme="https://blog.masuqat.net/tags/lisp/"/>
    
  </entry>
  
  <entry>
    <title>ドメインイベントを Generator で表現する</title>
    <link href="https://blog.masuqat.net/2020/08/09/domain-event-as-generator/"/>
    <id>https://blog.masuqat.net/2020/08/09/domain-event-as-generator/</id>
    <published>2020-08-09T13:09:00.000Z</published>
    <updated>2026-02-21T17:58:19.312Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;ふと思いついたので書いた。&lt;/p&gt;
&lt;p&gt;IDDD 本では Observer Pattern を使った基盤をドメインコードが利用しているが、これに似た機能を JavaScript の Generator/AsyncGenerator で再現してドメインイベントをより独立にする試み。&lt;/p&gt;
&lt;p&gt;サンプルコードは&lt;a href=&quot;https://github.com/MasuqaT-NET/BlogExamples/tree/master/Web/Misc/domain-event-as-generator&quot;&gt;こちらから&lt;/a&gt;。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="typescript" scheme="https://blog.masuqat.net/tags/typescript/"/>
    
    <category term="ddd" scheme="https://blog.masuqat.net/tags/ddd/"/>
    
    <category term="javascript" scheme="https://blog.masuqat.net/tags/javascript/"/>
    
  </entry>
  
  <entry>
    <title>ユーザーも DevOps の範疇だ</title>
    <link href="https://blog.masuqat.net/2020/07/26/users-in-devops/"/>
    <id>https://blog.masuqat.net/2020/07/26/users-in-devops/</id>
    <published>2020-07-26T08:13:50.000Z</published>
    <updated>2026-02-21T17:58:19.313Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;春から新しい職場で働いているが、Web 系の仕事かつエンタープライズに近いという点は前の職場とも共通している（次を探すときも似た条件になるんだろう）。今の職場のリリースサイクルは速いので良いと思う。&lt;/p&gt;
&lt;p&gt;働く中で「リリースしやすさ」についていろいろ思い浮かんだことがあるので、明文化して残しておこうと思う。&lt;/p&gt;</summary>
    
    
    
    <category term="Product" scheme="https://blog.masuqat.net/categories/Product/"/>
    
    
    <category term="thought" scheme="https://blog.masuqat.net/tags/thought/"/>
    
    <category term="agile" scheme="https://blog.masuqat.net/tags/agile/"/>
    
    <category term="release" scheme="https://blog.masuqat.net/tags/release/"/>
    
  </entry>
  
  <entry>
    <title>5 種の記号だけで JavaScript(w/ pipeline operator) を書く</title>
    <link href="https://blog.masuqat.net/2020/07/19/javascript-in-5-different-characters/"/>
    <id>https://blog.masuqat.net/2020/07/19/javascript-in-5-different-characters/</id>
    <published>2020-07-19T11:42:32.000Z</published>
    <updated>2026-02-21T17:58:19.312Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;JavaScript は 6 種の記号だけで処理を書ける言語であることは知られており、&lt;a href=&quot;https://github.com/aemkei/jsfuck&quot;&gt;JSFuck&lt;/a&gt;がその実装として有名だ。 &lt;a href=&quot;http://slides.com/sylvainpv/xchars-js/&quot;&gt;Xchars.js&lt;/a&gt; と &lt;a href=&quot;https://qiita.com/Tatamo/items/24099958b90cbed61d67&quot;&gt;本格JavaScript記号プログラミング 6種類の記号だけでJavaScriptを書こう - Qiita&lt;/a&gt; もこの理由を学ぶ上で参考になる。  &lt;br&gt;
しかし、&lt;code&gt;[]()!+&lt;/code&gt; や &lt;code&gt;[]()=+&lt;/code&gt; などのバリエーションはあれど 6 種よりも少ない種類の記号で書く方法は今まで見つかっていない。（DOM を使えば可能らしいが。）&lt;/p&gt;
&lt;p&gt;もし、現在提案中の&lt;a href=&quot;https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Pipeline_operator&quot;&gt;パイプライン演算子&lt;/a&gt; が正式に採用されれば、&lt;code&gt;[]|&amp;gt;+&lt;/code&gt; という記号 5 種の組み合わせで書けるようになる。その「トランスパイラ」やアイデアは &lt;a href=&quot;https://syllab.fr/projets/experiments/xcharsjs/index.html&quot;&gt;Xchars.js&lt;/a&gt; と &lt;a href=&quot;https://speakerdeck.com/masatokinugawa/shibuya-dot-xss-techtalk-number-10&quot;&gt;5文字で書くJavaScript（スライド）&lt;/a&gt; で触れられている。&lt;/p&gt;
&lt;p&gt;この記事は、&lt;a href=&quot;https://qiita.com/Tatamo/items/24099958b90cbed61d67&quot;&gt;本格JavaScript記号プログラミング 6種類の記号だけでJavaScriptを書こう - Qiita&lt;/a&gt; の説明手順を参考にし、 5 種の記号で JavaScript のコードを書くための要素についてまとめている。&lt;/p&gt;
&lt;h2&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;関数実行を担っていた &lt;code&gt;()&lt;/code&gt; を &lt;code&gt;|&amp;gt;&lt;/code&gt; で置き換え、 &lt;code&gt;true&lt;/code&gt; と &lt;code&gt;false&lt;/code&gt; を得るための &lt;code&gt;!&lt;/code&gt; や &lt;code&gt;=&lt;/code&gt; を &lt;code&gt;&amp;gt;&lt;/code&gt; で置き換える。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="babel" scheme="https://blog.masuqat.net/tags/babel/"/>
    
    <category term="javascript" scheme="https://blog.masuqat.net/tags/javascript/"/>
    
  </entry>
  
  <entry>
    <title>Row Level Security による素朴なマルチテナント実装</title>
    <link href="https://blog.masuqat.net/2020/03/28/naive-multitenancy-with-row-level-security/"/>
    <id>https://blog.masuqat.net/2020/03/28/naive-multitenancy-with-row-level-security/</id>
    <published>2020-03-28T14:00:04.000Z</published>
    <updated>2026-02-21T17:58:19.312Z</updated>
    
    
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;引き続き（しばらくは） SaaS 開発をやっていくことになったので、フロントエンドエンジニアではあるが SaaS バックエンドについても知見を持っておこうとしている。前々からの懸念・課題としてマルチテナントの DB をどう安全に実現するかというものがあったため、それを調べることにした。&lt;/p&gt;
&lt;p&gt;この記事では、あくまで具体的な動く例を元に解説を加えているだけなので、軽く知りたい方や実例・ストーリーを求める方は記事最後の参照記事を見るだけで十分かもしれない。&lt;/p&gt;
&lt;p&gt;ソースは&lt;a href=&quot;https://github.com/MasuqaT-NET/BlogExamples/tree/master/Web/Misc/rls_multitenant&quot;&gt;こちらから&lt;/a&gt;。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="enterprise" scheme="https://blog.masuqat.net/tags/enterprise/"/>
    
    <category term="rdb" scheme="https://blog.masuqat.net/tags/rdb/"/>
    
  </entry>
  
  <entry>
    <title>TypeScript 3.7 の Assertion Functions 注意点</title>
    <link href="https://blog.masuqat.net/2019/10/07/typescript-3_7-assertion-functions-caveat/"/>
    <id>https://blog.masuqat.net/2019/10/07/typescript-3_7-assertion-functions-caveat/</id>
    <published>2019-10-07T01:11:40.000Z</published>
    <updated>2026-02-21T17:58:19.312Z</updated>
    
    
    <summary type="html">&lt;p&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/&quot;&gt;Announcing TypeScript 3.7 Beta&lt;/a&gt; に “Optional Chaining” と “Nullish Coalescing” という待望の機能とともに “Assertion Functions” が登場しています。&lt;br /&gt;
これは従来からある &lt;a href=&quot;http://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards&quot;&gt;User-Defined Type Guard&lt;/a&gt; と似ていて、こちらは条件に合わない場合に例外を投げるような、別言語での assert 構文・関数と似たものを TypeScript のフロー解析に入れる機能追加です。&lt;/p&gt;
&lt;p&gt;Assertion Functions については &lt;a href=&quot;https://qiita.com/uhyo/items/b8d2ea6fbf6214fc4194&quot;&gt;TypeScript 3.7の asserts x is T 型はどのように危険なのか&lt;/a&gt; が全体的に詳しいです。&lt;/p&gt;
&lt;p&gt;この投稿の本題は、それの制約に関するメモです。 Assertion Functions を使ってトリッキーなことをしようとして阻まれたわけですが、日本語の記事により救われる時間があると思ったので紹介します。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="typescript" scheme="https://blog.masuqat.net/tags/typescript/"/>
    
  </entry>
  
  <entry>
    <title>インデックスページを Light モード Dark モードに対応してリニューアルした話</title>
    <link href="https://blog.masuqat.net/2019/08/25/top-page-renewal-with-color-scheme/"/>
    <id>https://blog.masuqat.net/2019/08/25/top-page-renewal-with-color-scheme/</id>
    <published>2019-08-25T04:29:04.000Z</published>
    <updated>2026-02-21T17:58:19.311Z</updated>
    
    
    <summary type="html">&lt;p&gt;Chrome 76 で &lt;a href=&quot;https://developer.mozilla.org/ja/docs/Web/CSS/@media/prefers-color-scheme&quot;&gt;&lt;code&gt;prefers-color-scheme&lt;/code&gt;&lt;/a&gt; という Media Query が実装されるのに合わせ、 &lt;a href=&quot;https://masuqat.net/&quot;&gt;MasuqaT.NET のトップページ&lt;/a&gt; に Light モードと Dark モードの両方に対応したページにリニューアルしました。&lt;/p&gt;
&lt;p&gt;最初から 2 モードを考慮してデザインする時に何を気にしたか・どう実装したかを手前味噌ながら載せておきます。私はデザイナさんではないので、エンジニアの趣味ページ・アプリ作成という文脈です。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="webpack" scheme="https://blog.masuqat.net/tags/webpack/"/>
    
    <category term="ui-design" scheme="https://blog.masuqat.net/tags/ui-design/"/>
    
  </entry>
  
  <entry>
    <title>fluent-react を試す</title>
    <link href="https://blog.masuqat.net/2019/05/17/fluent-react/"/>
    <id>https://blog.masuqat.net/2019/05/17/fluent-react/</id>
    <published>2019-05-17T11:44:23.000Z</published>
    <updated>2026-02-21T17:58:19.311Z</updated>
    
    
    <summary type="html">&lt;p&gt;&lt;a href=&quot;https://projectfluent.org/&quot;&gt;Fluent&lt;/a&gt; が発表されてその説明を読んでいると React 用のバインディングがあることがわかります。&lt;br /&gt;
大規模開発の関心事（苦労）の一つとしてローカライゼーションがあり、それらがどういう思想・ API になっているか気になったので調査してみました。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="react" scheme="https://blog.masuqat.net/tags/react/"/>
    
    <category term="l10n" scheme="https://blog.masuqat.net/tags/l10n/"/>
    
  </entry>
  
  <entry>
    <title>認証用の Context を Hooks で</title>
    <link href="https://blog.masuqat.net/2019/04/30/auth-context-with-hooks/"/>
    <id>https://blog.masuqat.net/2019/04/30/auth-context-with-hooks/</id>
    <published>2019-04-30T13:42:49.000Z</published>
    <updated>2026-02-21T17:58:19.311Z</updated>
    
    
    <summary type="html">&lt;p&gt;React で認証用の &lt;a href=&quot;https://reactjs.org/docs/context.html&quot;&gt;Context&lt;/a&gt; を作れたら便利そうだなと思ったので、開発イメージを掴むために &lt;a href=&quot;https://reactjs.org/docs/hooks-intro.html&quot;&gt;Hooks&lt;/a&gt; も活用して認証用のコードを書いてみました。&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="typescript" scheme="https://blog.masuqat.net/tags/typescript/"/>
    
    <category term="react" scheme="https://blog.masuqat.net/tags/react/"/>
    
  </entry>
  
  <entry>
    <title>redux-dynamic-modules を使う</title>
    <link href="https://blog.masuqat.net/2019/04/27/redux-dynamic-modules/"/>
    <id>https://blog.masuqat.net/2019/04/27/redux-dynamic-modules/</id>
    <published>2019-04-27T05:01:14.000Z</published>
    <updated>2026-02-21T17:58:19.311Z</updated>
    
    
    <summary type="html">&lt;p&gt;&lt;a href=&quot;https://redux.js.org/&quot;&gt;Redux&lt;/a&gt; の Code-Splitting は実現するのは面倒臭そうだしバグもたくさん踏みそうだなと思っていたら &lt;a href=&quot;https://redux-dynamic-modules.js.org/&quot;&gt;redux-dynamic-modules&lt;/a&gt; という良いライブラリを見つけたので試してみました。&lt;br /&gt;
紹介するために触っていても非常に良いライブラリという感触だったので、これで大規模開発でも Code-Splitting による パフォーマンス維持を頑張っていけそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/MasuqaT-NET/BlogExamples/tree/master/Web/React/redux-dynamic-modules&quot;&gt;サンプルプロジェクトはこちらから&lt;/a&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="typescript" scheme="https://blog.masuqat.net/tags/typescript/"/>
    
    <category term="react" scheme="https://blog.masuqat.net/tags/react/"/>
    
    <category term="redux" scheme="https://blog.masuqat.net/tags/redux/"/>
    
  </entry>
  
  <entry>
    <title>EcmaScript の中の TypeScript</title>
    <link href="https://blog.masuqat.net/2019/04/06/ts-in-es/"/>
    <id>https://blog.masuqat.net/2019/04/06/ts-in-es/</id>
    <published>2019-04-06T13:17:52.000Z</published>
    <updated>2026-02-21T17:58:19.312Z</updated>
    
    
    <summary type="html">Babel や ESLint による TypeScript サポートによって TypeScript の周辺ツール回りの環境が大きく変わり、 EcmaScript と TypeScript の境界は小さくなりました。そこで、ツールにサポートされた経緯の振り返りとツールの設定のおさらいをします。</summary>
    
    
    
    <category term="Tech" scheme="https://blog.masuqat.net/categories/Tech/"/>
    
    
    <category term="typescript" scheme="https://blog.masuqat.net/tags/typescript/"/>
    
    <category term="webpack" scheme="https://blog.masuqat.net/tags/webpack/"/>
    
    <category term="babel" scheme="https://blog.masuqat.net/tags/babel/"/>
    
    <category term="jest" scheme="https://blog.masuqat.net/tags/jest/"/>
    
    <category term="prettier" scheme="https://blog.masuqat.net/tags/prettier/"/>
    
    <category term="tslint" scheme="https://blog.masuqat.net/tags/tslint/"/>
    
    <category term="unit-test" scheme="https://blog.masuqat.net/tags/unit-test/"/>
    
    <category term="eslint" scheme="https://blog.masuqat.net/tags/eslint/"/>
    
  </entry>
  
</feed>
