サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ChatGPT
azu.github.io
footer: YAPC::Fukuoka 2025 - azu slidenumbers: true autoscale: true theme: Plain Jane, 1 [fit] 読む技術・書く技術・伝える技術 15年続けて分かった持続可能なオープンソース開発 azu (@azu_re) YAPC::Fukuoka 2025 自己紹介 azu GitHub: @azu X/Twitter: @azu_re 2010年から15年間オープンソース開発 今日話したいこと 15年間オープンソース活動のうち 2011年-: JSer.info: JavaScriptの毎週更新の情報ブログ 2014年-: textlint: 自然言語のLinter 2016年-: JavaScript Primer: JavaScript入門書 3つのプロジェクトのタイムライン 問い: なぜ15年も続けてい
本日のテーマ Why: なぜ jsprimer は始まり、更新され続けるのか? How: どうやって更新を実現しているのか? Learn: 技術書を「ソフトウェア開発」することから得られる知見 Future: これからの jsprimer の展望 [fit] なぜ、TSKaigi で JavaScript の話をするのか? TSKaigi のミッション 学び、繋がり、”型”を破ろう なぜ TSKaigi で JavaScript の話をするのか? TypeScript と JavaScript の関係性 TSKaigi のミッション: 「学び、繋がり、”型”を破ろう」 TypeScript から「型」を取り除くと JavaScript になる JavaScript を学ぶことは、TypeScript の理解を深めることに繋がる [fit] $ node --experimental-str
Corepackを使ってNode.jsをアップデートする ⬆️⬆️ 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info [.background-color: #FFFFFFF] Node.js 14は2023年4月でEOL Node.js 14.xは2023-04-30、Node.js 16.xは2023-09-11でEOL(End Of Life) 2023年10月からはNode.js 18と20のみがLTSとしてサポートされるバージョンとなる https://github.com/nodejs/release#release-schedule サマリ Node.jsのバージョンアップは面倒だけど ほとんどのBREAKING CHANGEはライブラリにある npmのバージョンアップは面倒 npm 6とnpm
[fit] textlint - Linterの作り方 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info Book: JavaScript Primer アジェンダ Linterを作る人向けの話 Linterの考え方とアーキテクチャを一致させる 使うものを作ろう、作るために使おう textlint とは 自然言語(日本語や英語など)に対するLinter MarkdownやHTMLなどのマークアップ言語に対応している ビルトインのルールは0 利用できるルールは100以上ある 多くのルールはオフラインで動くので、外部に入力してる内容を送信しない CI/CDに組み込める自然言語のチェッカー(表記揺れ、スペルチェック、誤用、読みやすさのチェックなど) textlint users Translation: Angul
🌕 moonでのmonorepo管理とpackemonでのCJS/ESMのdual package 🌕 moon 一貫性を持ったmonorepo管理ツール for JavaScript ハッシュを使ったファイルキャッシュ プロジェクトのパッケージ間の依存関係の分析とタスク実行 Node.js/npmパッケージマネージャーのバージョン管理と一貫性 TypeScriptのProject Referendcesの一貫性 比較 Nx: The Framework + Pluginで拡張する Lerna: Nx傘下、ライブラリ公開向け Turborepo: タスク実行の最適化をする moon: monorepoでの一貫性を提供する Packemon: moonと同じ作者。ESM/CJSのライブラリ公開向け 比較(言語) Nx: TypeScript + C++[^1] Turborepo: Go
These RSS Feeds is a collection of GitHub Advisory Database. Supported Feed types JSON Feed Atom Feed OPML Feeds(All ecosystems): https://azu.github.io/github-advisory-database-rss/index.opml COMPOSER: https://azu.github.io/github-advisory-database-rss/composer.json (atom) GO: https://azu.github.io/github-advisory-database-rss/go.json (atom) MAVEN: https://azu.github.io/github-advisory-database-rs
オープンソースと寄付と慈善活動と [fit] 寄付するために寄付管理プラットフォームを作る話 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info Disclaimer この資料は自分用にまとめたものです 寄付、慈善活動が良いか悪いかについて議論しません まだ学問のように体系がしっかりしているわけでもないので、現時点の解釈が多く入ります それっぽい事実はあるけどあくまでそれっぽいだけ アウトライン 寄付/慈善活動について勉強していた オープンソースの課題との類似性が高そうと思った オープンソースでの重要性として透明性を認識していて、寄付に関しても透明性が重要視されている また寄付を躊躇する問題は予算のプレコミットメントで解決できるかも philan.net つくってみた 課題が見えてきた 慈善活動への興味 最近、
ESLint この文章はESLint v7.8.1を元に書かれています。 ESLintはJavaScriptのコードをJavaScriptで書かれたルールによって検証するLintツールです。 大まかな動作としては、検証したいJavaScriptのコードをパースしてできたAST(抽象構文木)をルールで検証し、エラーや警告を出力します。 このルールがプラグインとして書くことができ、ESLintのすべてのルールはプラグインとして実装されています。 今回はESLintのプラグインアーキテクチャがどうなっているかを見て行きましょう。 どう書ける? ESLintでは.eslintrcという設定ファイルに利用するルールを設定して利用します。そのため、実行方法についてはドキュメントを参照してください。 Documentation - ESLint - Pluggable JavaScript linter
JavaScript Plugin Architecture この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャについて見ていくことを目的としたものです。 次の形式で読むことができます。 Web版 PDF形式 ePub形式 Mobi形式 この書籍のソースコードは、次のGitHubリポジトリに公開されています。 azu/JavaScript-Plugin-Architecture: JavaScriptプラグインアーキテクチャの本 Twitterのハッシュタグは#js_plugin_book 更新情報はRSSやリリースノートから見ることができます。 はじめに JavaScriptの世界では1つの大きなライブラリよりも小さなライブラリを組み合わせていくようなスタイルが多く見られます。小さなものを組み合わせて作るためには、プラグインと呼ばれる拡張の仕組みが必要とな
textlint editor - ブラウザでも動くPrivacy Firstの文章校正ツールを作る話 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info テーマ textlint Privacy Firstな校正ツールを作る サーバにデータを送らずに、ローカルで文章のチェックをする textlintとは? textlint textlintJavaScriptで書かれた文章のLintツール ESLintの文章版 Markdown、Re:View、HTMLなど文章構造をパースしてからチェックする 一般的なスペルチェッカーは構造を見ないので誤検知する 200弱ぐらいのルールがある Collection of textlint rule · textlint/textlint Wiki 日本語、英語、言語に依存しな
Introduce to Secretlint 🔑 自己紹介 Name : azu GitHub : @azu Twitter : @azu_re Website: Web scratch, JSer.info What's Secretlint? What's Secretlint? パスワードやAPIアクセストークンなど公開してはいけないデータにチェックに特化したLintツール https://github.com/secretlint/secretlint Why Secretlint? Why Secretlint? 既存のツールは過剰検知する(検知件数を増やすため) プロジェクトに導入しやすくしたい プラグインで拡張できるようにしたい How to use Secretlint? How to use Secretlint? プロジェクトに導入する Node.jsのエコシステム
ユーザー入力として受け取ったテンプレートをコンパイル テンプレートレベルがProgramming Language Templateは安全にコンパイルするのが難しい 高度なテンプレートはプログラミング言語そのもの コンパイル時に任意のコードが実行できてしまう => ⚠Danger Programming Language Templateをコンパイルする危険例: ローカル メールでマクロ付きのWordファイルを開いて、ローカルで任意のプログラムが実行されてしまうケース マクロはプログラムそのもの 偽装メールが再び拡散、不正マクロを仕込んだ添付ファイルでマルウエア感染:マクロウイルスの再来? - @IT デフォルトではマクロは無効化されており、オプトインで有効化になっている Office ドキュメントのマクロを有効または無効にする - Office サポート Programming Lang
autoscale: true ブックマーク管理システム: 動くアプリをとにかく早く安く作ろう asocial-bookmark https://github.com/azu/asocial-bookmark モチベーション: はてなブックマーク APIが壊れた => 困った 金曜にAPIが500 Internal Server Error返すという報告した CloudFrontがエラーを返してるので何かを設定ミス? { body: '403 Forbidden Insufficient scope', headers: { 'content-type': 'text/plain', 'content-length': '32', connection: 'close', date: 'Fri, 31 May 2019 05:24:36 GMT', server: 'nginx', 'se
autoscale: true 考えながらクライアントサイドのウェブアプリケーションを作る話 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info このスライドは Faao - ドメイン駆動設計で作るGitHub Issue Client - を改定したものです。 過去に作ったやつ azu/GithubReader: Github Notifications Client for OS X azu/github-reader: [node-webkit] GitHub client app - Viewer for Notifications and News Feed. azu/github-issue-teev: [NW.js] GitHub Issue Manager(Viewer) Faao Faao -
Loading...
Open Job Application Letter 追記:このドキュメントは有効期限が切れています。応募は募集していません。 結果のレポートは https://azu.github.io/open-job-letter/report/ にて公開されています。 これは求職記事(Hire Meな記事)です。 無関係な方はスルーしてください。 ステータス 公開者: azu GitHub: @azu Twitter: @azu_re Mail: azuciao@gmail.com 公開: 2018年11月13日 有効期限: 2018年12月5日 追記:このドキュメントは有効期限が切れています Profile ウェブではazu(アズ)という名前で活動しています。 仕事的な活動 仕事では、ウェブサービスのフロントエンドと呼ばれる領域の設計/開発を行うことが多いです。 開発では既存の仕様との調整をし
autoscale: true JXA for TypeScript/Node.js 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info JXA(JavaScript for Automation) AppleScriptのJavaScript版(WebKit) macOSにはビルトインされているので何もしなくても使える osascriptという実行エンジンがある Home · JXA-Cookbook/JXA-Cookbook Wiki jxa@apple-dev.groups.io | Wiki JXAの問題 クラッシュする リファレンスがまともにない 実行環境がまともではない – 落ちまくる エディタ環境もまともにない デバッグが難しい macOSのみ対応 JXAのいいところ (JXA)スクリプトファイル
autoscale: true Firefoxのトラッキングブロックについて 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info Firefoxのトラッキングブロックについて 今日の情報は2018-09-10書かれたものです。 最新の内容は以下を参照してください Mozilla Security Blog Security/Tracking protection - MozillaWiki Anti-tracking FirefoxがAnti-trackingな実装を始めた 将来的にデフォルトでトラッカーをブロックしたいという方針を掲げた Changing Our Approach to Anti-tracking - Future Releases Anti-tracking Improve page loa
autoscale: true Webpagetestから始める継続的 パフォーマンス改善 ページロードタイム編 :hourglass: 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info Create: textlint, Almin アジェンダ パフォーマンス改善は指標を決めて行わないと迷子になる パフォーマンス改善を行うには継続的な計測を行う 今回はページロードについて、ランタイムは範囲外 パフォーマンス改善のアプローチ 継続的なパフォーマンス計測とリグレッションの検知 ^ 目的はパフォーマンス改善には計測が必要という事実を知ること ^ パフォーマンス計測は継続的に行う必要がある ^ パフォーマンス改善は何を目的、指標にして改善するかを決めないと迷子になる ^ 目的をもって継続的にパフォーマンス改善を行い
プロポーザルのステージの進み方 2ヶ月に1度行われるTC39のミーティングでプロポーザルのステージを更新 ミーティングの議事録は tc39/tc39-notesで公開 毎年のECMAScriptをリリースするタイミング(6月)で、Stage 4のプロポーザルをマージ ECMAScript 20XXとしてリリース なぜ仕様策定プロセスが変わったのか ES2015以前: すべての仕様の合意が取れてからリリース ES2016以降: 合意が取れた仕様からリリース 変更理由: ECMAScriptのリリースに長い歳月がかかり言語の進化が停滞した 歴史的失敗: ES4では多くの変更を入れることを試みたが、TC39内でも意見が分かれ最終的に合意できなかった これにより言語の発展が数年間停滞した[^1] [^1]: Programming Language Standardization: Pattern
Comparison table of `this` value. Show the result of your browser. Method version: What is `this` value in method
autoscale: true The Concept of Almin Almin is a State management library for JavaScript Almin features Scalable Medium-small(1,000LOC) – Large(100,000LOC) Testable Implement UseCase/Store/Domain as component Debuggable Logger/DevTools/Performance monitoring Layered Architecture DDD/CQRS Different team structures imply different architectural decisions. -- Clean Architecture Robert C. Martin The Co
autoscale: true Faao - ドメイン駆動設計で作るGitHub Issue Client - 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info 過去に作ったやつ azu/GithubReader: Github Notifications Client for OS X azu/github-reader: [node-webkit] GitHub client app - Viewer for Notifications and News Feed. azu/github-issue-teev: [NW.js] GitHub Issue Manager(Viewer) Faao Faao - Feature Support Modern browser/mobile/Electron(re
autoscale: true ECMAScript Specification Suite ECMAScriptの国際標準化 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info ECMAScriptと国際標準 デファクトスタンダード: 事実上の標準のこと ECMA-262("ECMAScript"と呼ばれるやつ)のこと。開発者はこっちを見る デジュールスタンダード(国際標準): ISO/IEC/ITUが標準化したもの ISO/IEC 16262のこと 政府調達などの要件に国際標準化されたものを利用することが多い 日本だと国際標準はJIS規格として翻訳されていることが多い 例: Unicode デファクトスタンダード: Unicode デジュールスタンダード: ISO/IEC 10646 FAQ - Unico
リクルートなら、もっと面白いことができる。 「技術的に楽しめる組織」をつくりたい。
ServiceWorkerはSameOriginを超えられるのか 結論 キャッシュには入れられる キャッシュの内容には触れられない ServiceWorkerではなくFetch APIの領域 Fetch API ServiceWorker内ではfetchやnew Requestを使用 modeを指定する事で"same-origin", "no-cors" , "cors" を選べる "no-cors"を指定するとsame-originを無視してデータを取れる fetch("http://example.com/", { mode: 'no-cors' }); // サーバ側でCORS未対応でもデータを取得出来る // 返されるデータはopaque filtered responseとなる 'opaque' filtered response? same-originを無視して取得したデータ
autoscale: true Open Collective 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info An Open Collective is a group of people with a shared mission that operates in full transparency. -- https://opencollective.com/faq What is Open Collective? 会費や寄付を募るページを作成できる コミュニティでそのお金を管理できる メンバーはbudgetから経費精算できる budgetは公開され、お金の動きは公開される 誰がどのように? オープンソースプロジェクトの寄付管理 オープンソースプロジェクトの開発費用管理 ミートアップの費用管理 Don
次のページ
このページを最初にブックマークしてみませんか?
『azu.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く