タグ

ブックマーク / efcl.info (21)

  • Inside Frontend 2019 アウトラインメモ

    Inside Frontendに参加してきたのでアウトラインメモ。 A1: TypeScript: Why and how we adopted it at Slack - Felix TypeScript + React Battle Field 1のUIReact TIL Battlefield 1 user interface is powered by React+MobX : javascript Electronアプリで書かれてるSlackとかSkypeとかはJavaScriptで動いてる Slackでは、C++とかのネイティブコードも使ってる JSDocなどを使ったドキュメントや型も書いてたけど、スケールしなかった このような場面でTypeScriptを使うことにした TypeScriptはRuntimeに関与しない 多くのnpmモジュールは @types をサポートしてる

    Inside Frontend 2019 アウトラインメモ
  • lernaでのmonorepoにおけるリリースフロー(Fixed/Independent)

    一つのリポジトリで複数のパッケージを管理する際にはLernaとYarnのワークスペースを組み合わせて運用するmonorepoにすることが多いです。 lerna/lerna: A tool for managing JavaScript projects with multiple packages. LernaにはFixed(すべてのパッケージが同じバージョン)とIndependent(パッケージごとに異なるバージョン)のモードがあります。 https://github.com/lerna/lerna#how-it-works 基的にはFixedの方が運用は簡単ですが、不自然なバージョンの上がり方を避けたい場合などはIndependentのmodeを使うことになります。 この記事では、Fixed modeとIndependent modeでのパッケージのリリースフローについて見ていきます

    lernaでのmonorepoにおけるリリースフロー(Fixed/Independent)
    michael26
    michael26 2019/01/26
  • Markdownで年表的なタイムラインを管理するツール

    mdlineというMarkdownでタイムライン(年表)を書いて、HTMLなどの形式にしたりできるパーサ、ジェネレーターなどのツールを書きました。 特定の記法で書いたMarkdownから年表的なタイムラインを作成するツール書いた。 $ npx mdline ./timeline.md -o timeline.html 現在はMarkdown to HTMLができる。https://t.co/7Vv0DUmYkX pic.twitter.com/oYJICloElA — azu (@azu_re) January 20, 2019 たとえば、次のようにECMAScriptのタイムライン(年表)をmdlineが決めたMarkdown形式で書きます。 (実際にはただのMarkdownなのですが、次のように 日付: タイトル とHeaderのレベルを合わせるとタイムラインとして扱う感じです) ##

    Markdownで年表的なタイムラインを管理するツール
  • 次世代 Web カンファレンス 2019 アウトラインメモ

    次世代 Web カンファレンス - connpassに参加してきたのでメモ。 このメモは文字起こしではなくあくまでメモなので、そのままの発言じゃなくて解釈や要約が混じっています。 詳細は動画をみてください 次世代Webカンファレンス 2019 - YouTube パフォーマンス 登壇者 @1000ch likr @sisidovski 記録 ローディング周り 1000ch: WebKitのレンダリングの様子の動画を見たのが興味を持ったきっかけ 1000ch: HTTP/2になってきてローディングの通信を気にすることは減った? sisidovski: 同時接続数は気にすることは減ったけど、結局は気になる likr: H2 Pushとかが気になっている? 1000ch: 実際に使ったことないけど、会場で使ったことある人? 2割以内ぐらい sisidovski: 「Pushで早くなる」ということ

    次世代 Web カンファレンス 2019 アウトラインメモ
  • LDRライクなRSSリーダのIrodr 1.0.0をリリースした | Web Scratch

    InoreaderのPCフロントエンドとして動くRSSリーダのIrodrが十分安定したので1.0.0をリリースしました。 LDRライクなInoreaderクライントのIrodr 1.0.0リリース。https://t.co/oco0VlPbBDhttps://t.co/UTPYfW3FnW pic.twitter.com/GzKLSj9zeo — azu (@azu_re) September 30, 2018 Release Release 1.0.0 · azu/irodr IrodrはLDRライクな操作感を実現するために作成したInoreaderのフロントエンドです。 RSSの管理やRSSのクロールなどはInoreaderが行っていて、IrodrはAPI経由でRSSを取得しているだけです。 未読などはInoreaderと同期しているため、Inoreaderのウェブ版やモバイルアプリと

    LDRライクなRSSリーダのIrodr 1.0.0をリリースした | Web Scratch
    michael26
    michael26 2018/10/01
  • ページ上でずっと動いているsetTimeout、setInterval、requestAnimationFrameを見つけてパフォーマンス改善する

    ページ上でずっと動いているsetTimeout、setInterval、requestAnimationFrameを見つけてパフォーマンス改善する 複雑なウェブアプリケーションになってくると、1つのページで複数のTimerなどを回すことがあります。 例えば、Twitterのようなアプリならば、ポーリングで更新するためにsetInvervalのようなタイマーを回します。 また、ゲームなどCanvasで描画を行うアプリケーションならば、メインループをrequestAnimationFrameで回します。 このように色々なタイマー系がありますが、アプリが多機能になっていくと色々なタイマーが同時に動くようになっていきます。 特に問題がなりやすいのが表示中だけタイマーを回すコンポーネントです。 よくあるのが次のようなmount時にtimerを開始して、unmount時にtimerを停止するコンポーネ

    ページ上でずっと動いているsetTimeout、setInterval、requestAnimationFrameを見つけてパフォーマンス改善する
    michael26
    michael26 2017/12/07
    丁度昨日ほしいと思ったやつだ
  • pwa_study アウトラインメモ

    pwa_study - connpassに参加してきたのでメモ。 用語 SW = Service Worker XSS = cross site scripting Fetch = Fetch API ウェルカムLT クライアントサイドDDDが行われるようになってきた クライアントサイドにロジックが寄ってきてる 難しい Service Workerもクライアントサイドにそういうロジックや仕組みがよってきたという現象の一つなのでは Service Worker Lifecycle - laco スライド: Service Worker Lifecycle by Suguru Inatomi SWのライフサイクル Service Worker のライフサイクル  |  Web  |  Google Developers これよめば大体分かる スライド -> 記事読むと良い register -

    pwa_study アウトラインメモ
    michael26
    michael26 2017/09/15
  • LDRがサービス終了のため、Inoreader/Feedlyをバックエンドに動くRSSリーダを書いている

    LDRがサービス終了のため、Inoreader/Feedlyをバックエンドに動くRSSリーダを書いている 追記: 1.0.0を出して説明を書き直したので、Irodrを使いたい方はLDRライクなRSSリーダのIrodr 1.0.0をリリースした | Web Scratchを参照してください。 2017年8月31日をもってLDRはサービス終了です。乗り換え先となるRSSリーダを探したりしましたが、求めるものを見つけることができなかったので作ることにしました。 【重要】Live Dwango Reader/LDR Pocketサービス終了のお知らせ|LDR / LDRポケット 開発日誌 次の記事でも書いていましたが、RSSリーダのバックエンドを自前で管理するのはコスト的に難しそうでした。そのため、バックエンドとしてInoreaderやFeedlyのAPI使ったRSSリーダのウェブクライアントを書

    LDRがサービス終了のため、Inoreader/Feedlyをバックエンドに動くRSSリーダを書いている
    michael26
    michael26 2017/08/31
  • textlintのElectronアプリを作った

    textlint-app textlint-appという、インストールするだけで動くtextlintのElectronアプリを作成しました。 インストール方法 https://github.com/textlint/textlint-app/releases/latest からバイナリをダウンロード ダウンロードしたインストーラー(Windows)、app(Mac)を実行すれば動きます。(Node.jsの環境なども不要です) 実行する際に署名されてないバイナリなので警告がでるので、その辺は許可しないと動きません。 Windows: インストーラーで許可を選択する必要がある Mac: /Application/textlint.app をコンテキストメニューから”開く”をして許可する必要がある 特徴 一番の特徴はNode.jsなどの環境を作る必要なくインストールするだけで動く点です。 tex

    textlintのElectronアプリを作った
    michael26
    michael26 2017/05/13
  • アーキテクチャをめぐるたび

    タイトルに特に意味はありませんが、Alminを作る参考にしたものをまとめた感じの記事です。 スライド: 複雑なJavaScriptアプリケーションを考えながら作る話 リポジトリ: azu/large-scale-javascript: 複雑なJavaScriptアプリケーションを作るために考えること 主に書籍を並べていますがその他のスライドなどの参考資料は以下にまとめてあります。 large-scale-javascript/refs.md at master · azu/large-scale-javascript 自分用のメモなので、読んだ順で並べておきます。 右側の年は書籍の出た年です。 実践ドメイン駆動設計 @ 2013 一番最初に読んだDDD系の。 この辺ででてくるレイヤーとか用語を把握した感じ。 けど、そこまでよく分かってない感じはする。 カウボーイが出てくるの読みにくい。

    アーキテクチャをめぐるたび
  • NaNはNot a NumberだけどNumber型である話

    この記事では、JavaScriptのNaNについて改めて学ぶという趣旨の話をします。 JavaScriptで、文字列などから数値へ値を変換したいことがあると思います。 典型的なケースでは、ユーザーに入力してもらった数字となる文字列を、Number型へ変換するというケースです。 この場合、Numberコンストラクタ関数やNumber.parseInt、Number.parseFloatなどが利用できます。(ここでは、Number.parseIntにしていますが、parseIntと同じです) // ユーザー入力を文字列として受け取る var input = window.prompt("数字を入力してください", "42"); // 文字列を数値に変換する var number = Number(input); console.log(typeof number); // => "number

    NaNはNot a NumberだけどNumber型である話
    michael26
    michael26 2016/09/07
  • performance.markでパフォーマンス計測する

    JavaScriptである区間にかかった時間を計測する時に、次のようなコードを書いたことがあると思います。 const start = performance.now(); // 処理 // 色々な処理がすべて終わった doSome(() => { console.log(performance.now() - start); }) Performance Timelineのperformance.markとperformance.measureなどを使うと、ある区間の処理時間をもっと簡単に取ることができます。 APIについて詳しくは以下の記事を見るといいと思います。 User Timing API: あなたの Web アプリをもっと理解するために - HTML5 Rocks Performance.mark() - Web API インターフェイス | MDN 簡単に解説すると perf

    performance.markでパフォーマンス計測する
    michael26
    michael26 2016/08/16
  • textlintでスペースを入れる入れないを統一するルール

    ルール一覧 次のようなルールがプリセットには含まれています。 また、個別のルールとしてもnpmでインストールできるようになっています。 textlint-rule-ja-space-between-half-and-full-width 半角文字と全角文字の間にスペースを入れるかどうかのルール デフォルトはスペースを入れない。 textlint-rule-ja-space-around-code インラインコードの周りにスペースを入れるかを決めるルール textlint-rule-ja-no-space-between-full-width 全角文字同士の間のスペースについてのtextlintルール。 全角文字どうしの間にスペースを入れません。 textlint-rule-ja-nakaguro-or-halfwidth-space-between-katakana カタカナ語間の区切り文

    textlintでスペースを入れる入れないを統一するルール
  • GitHubでライブラリのリリースを見ていくためのツールや方法

    GitHubでのリリース 前回、GitHubのRelease機能ついて書きましたが、これはリリースする側の自動化等についてでした。 git tagとGitHub ReleasesとCHANGELOG.mdの自動化について | Web Scratch 今度は、いわゆるライブラリユーザーだったりソフトウェアの利用者側から、 GitHubでリリースされるものをどう追っていくかについて書いていきたいと思います。 自分は、JSer.infoというJavaScriptの情報を見ていくサイトをやっているので、 JavaScriptのライブラリ等のリリース情報をどう追っていくかが中心になりますが、基的にGitHubでリリースされてるならやり方は大きな違いはありません。 基的には以下に色々書いていた内容のGitHubに関してをまとめた感じの記事となっています。 最近のJavaScript情報の探し方 ·

    GitHubでライブラリのリリースを見ていくためのツールや方法
    michael26
    michael26 2016/05/06
  • JavaScript ASTを始める最初の一歩

    何かJavaScriptのソースコードを機械的にチェックするためのツールを作りたいという場合に、JavaScriptのASTというものを触る必要が出てくると思います。 この記事では、その取っ掛かりとなる案内を簡単にまとめたものです。 ASTとは AST(Abstract Syntax Tree)はコードをパースした抽象構文木のこと。 JavaScriptの場合はJavaScriptオブジェクト(JSON)として表現されます。 コード: { "range": [ 0, 10 ], "type": "Program", "body": [ { "range": [ 0, 10 ], "type": "VariableDeclaration", "declarations": [ { "range": [ 4, 9 ], "type": "VariableDeclarator", "id": {

    JavaScript ASTを始める最初の一歩
  • メモアプリをDayOneからQuiverに移行した

    メモアプリとしてEvernoteOneNote、ファイルベースのMarkdown管理アプリ、DayOneなどを使っていました。 EvernoteOneNoteはメモ機能は強いですが、あんまり気軽に書けるような感じじゃないのでピンときませんでした。 (画像やテーブルは便利ですが、Markdownみたいなプレーンなテキストじゃないのも微妙な点) そのため、ファイルベースのMarkdown管理アプリなどを作ったりしましたが、UIを作りこまないとあんまり使いやすくないということが分かったので、途中で飽きてました。 DayOneは気軽にMarkdownで書けて、iOSアプリもできがいいのは素晴らしいですが、検索機能が微妙でした。 (書くのはいいが、見るのが難しい) 最近Quiverというアプリを見つけて、これを使うようになりました。 AppStore: Quiver: The Programme

    メモアプリをDayOneからQuiverに移行した
  • 今年のOSS活動振り返り @ 2015

    2015年のOSS活動の振り返り 去年のこちら => 今年のOSS活動振り返り @ 2014 | Web Scratch GitHub Contributions in the last yearが6490 => 9322になってるけど、全体では自分のトークンを使ったCIからの自動デプロイが1/3ぐらい占めてそうなので水増し感がある 9月ぐらいまでだいたい7000前後で安定してて、その辺りでRealtime JSer.info追加したのとtextlintの開発を再開したりJavaScript Plugin Architectureという書いてたのが増えてる原因。 Current streak 666だ。 Contributionsはゾロ目にはならなかった。 pic.twitter.com/i7ohh0hKqg — azu (@azu_re) September 1, 2015 Curre

    今年のOSS活動振り返り @ 2015
    michael26
    michael26 2016/01/02
    タスク管理からもう全然違うのか。1週間くらい鞄持ち的なことしてみたい。
  • ecmascript-paper

    ECMAScriptのカンペ ECMAScript関係についてざっとみるカンニングペーパー。 2015年10月18日の次世代 Web カンファレンスでstandardizationのセッションで議論に参加するらしいのでそれのカンペです。 ここに書かれている情報は2015年10月17日現在のものです。 追記: 縦に長い記事読むのが面倒な人向けにスライド形式にしたものも置いておきます。 Introduction | ECMAScriptとは何か? ECMAScriptとは? Ecma Internationalによって標準化されてるJavaScriptの仕様の事。 仕様: ECMAScript 実装: JavaScript 2015年10月18日のStableな最新版はECMAScript 2015(aka. ES6)。 ECMAScript® 2015 Language Specificat

    ecmascript-paper
  • textlintで日本語の文章をチェックする

    textlintMarkdownなどテキスト向けのLintツールで、テキスト版ESLintみたいな感じのツールです。 JavaScriptでルールを書けるテキスト/Markdownの校正ツール textlint を作った | Web Scratch 最近azu/JavaScript-Plugin-Architectureという小さな書籍を書いていて、色々簡単に使えるような仕組みを追加しています。 この記事では簡単なtextlintの導入方法について紹介します。 公式サイトには一部ルールを含むオンラインデモが公開されています。 textlint · The pluggable linting tool for text and markdown ドットインストールにてNode.jsのインストール、textlintの利用方法、エディタとの連携などのチュートリアルが公開されています。Node.

    textlintで日本語の文章をチェックする
    michael26
    michael26 2015/09/10
  • はてなブックマーク検索を作りながらFlux Utilsについて学ぶ

    facebook/flux 2.1.0からFlux UtilsというStoreなどの実装が含まれるようになりました。 今回Flux Utilsを使って、指定したアカウントのはてなブックマークを検索するウェブアプリを書いてみました。 azu/hatebu-mydata-search azu.github.io/hatebu-mydata-search/ mydataのAPIがCORS対応してないのでJSONProxyを挟んでます。(なのでブックマークデータが多いアカウント名は避けたほうが…) これを作ってみてFlux Utilsについて思ったことを書いていきます。 Flux Utilsの紹介ページに、Flux Utilsの解説が書かれています。 簡単にまとめると以下の4つのクラスがFlux Utilsとして提供されています。 Store ベースとなるクラス ReduceStore Store

    はてなブックマーク検索を作りながらFlux Utilsについて学ぶ
    michael26
    michael26 2015/08/25