タグ

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

  • JavaScript PrimerのES2024対応を手伝ってくれるContributorとSponsorを募集しています

    JavaScript PrimerのES2024の対応を進めていく予定なので、 対応を手伝ってくれるContributorとjsprimerというプロジェクトを支援してくれるSponsorを募集しています。 追記(2024-03-22): Contributorを希望する方は集まりました。ありがとうございます! JavaScript Primerスポンサーは引き続き募集しています! Gold Sponsors Supporters 3行サマリー ES2024の対応を6月末までにやるマイルストーンを切りました ES2024の対応を手伝ってくれるContributorを募集しています Open Collectiveを始めたので、プロジェクトを支援してくれるSponsorを募集しています jsprimerのES2024対応 jsprimerは毎年のECMAScriptの仕様改定にあわせてメジャー

    JavaScript PrimerのES2024対応を手伝ってくれるContributorとSponsorを募集しています
    efcl
    efcl 2024/03/21
    jsprimerのContributorとSponsorを募集しています
  • Kagi Searchをメインの検索エンジンとして使っている

    最近はGoogleではなくKagi Searchをメインの検索エンジンとして使っています。 Kagi Searchは$108/year($10/month)の有料の検索エンジンです。 広告モデルではない検索エンジンなので、有料のサブスクリプションモデルとなっています。 Plan Types | Kagi’s Docs いくつかプランがあり、検索し放題のProfessionalプランが$10/monthです Ultimate Plan ($25/month)だと外部のOpenAIのGPT 4とかClaude 3との連携とかも入ってきます 月に1-2万回ぐらいは検索することを考えると、 (108 / (10000 * 12)) * 150 で大体1検索が0.1円ぐらいのイメージですが、こちらもKagiのLLM機能は利用できるので、実質もう少しコスパは良いと思います。 検索ソースにはGoogle

    Kagi Searchをメインの検索エンジンとして使っている
    efcl
    efcl 2024/03/15
    Google検索ではなくKagi Searchをメインに使ってるので、いいところとだめなところを書いた
  • Twitter/Blueskyの自己ポストの全文検索サービスをNext.js App Router(RSC)で書きなおした方法/設計/感想

    mytweetsという自分の Twitter/Bluesky の自己ポストの全部検索サービスをNext.js App Router(RSC)で書きなおしました。 mytweets は TwitterアーカイブBluesky の API を使って自分のポストを S3 に保存しておき、 S3 Selectを使って全文検索ができる自分専用の Twilog のようなサービスです。 自分の Tweets をインクリメンタル検索できるサービス作成キット と Tweets をまとめて削除するツールを書いた | Web Scratch 過去の Tweets を全文検索できる mytweets を Bluesky に対応した。自分用 Twilog みたいなもの | Web Scratch 最初は CloudFront + Lambda@Edge + Next.js Pages Router で動かし

    Twitter/Blueskyの自己ポストの全文検索サービスをNext.js App Router(RSC)で書きなおした方法/設計/感想
    efcl
    efcl 2024/02/27
    Next.js App RouterでReact Server Components(RSC)の機能を一通り使ったアプリを書いたので、触った感想など
  • 私のJavaScriptの情報収集法 2024年版

    個人的なJavaScriptの情報収集の方法についてまとめてみます。 JSer.infoなどをやっているので、JavaScriptの情報については色々な情報源を見るようにしています。 JSer.infoの範囲の中での情報源については、次の記事でまとめています。 JSer.info 13周年: JavaScriptの情報源を整理する - JSer.info この記事では、少しスコープを広げてJavaScriptの情報収集についてまとめてみます。 かなりスコープが広がってしまうので、万人向けの方法ではなく、個人的な情報収集方法としてまとめています。 この記事では、膨大な情報の中から見つけるというアプローチをとっているので、人によって向き不向きがあると思います。 情報収集の方法 情報の元となる情報源はさまざまなサイトや人になると思います。 しかし、そのサイトや人ごとに見ていくというのはかなり大変

    私のJavaScriptの情報収集法 2024年版
    efcl
    efcl 2024/02/08
    JavaScriptの情報収集方法とRSSについて書いた
  • #jsprimer week: 2024-02-05 - 2024-02-11

    先週のtextlint weekに引き続き、今週はjsprimerの開発に集中するjsprimer weekです。 目標としては、次のECMAScript仕様であるES2024に入るProposalが今週のTC39ミーティングで確定するので、それに合わせてjsprimerをどう更新するかを決めることです。 ECMAScript 2024の対応 · Issue #1706 · asciidwango/js-primer ES2024の変更はそこまで大きなものはこなさそうなので大丈夫そうですが、Node.jsの変更が多くなってるのでNode.jsでCLIアプリ · JavaScript Primer #jsprimerをどうするかをちょっと考えたいです。 markedjs v8へのアップデート · Issue #1694 · asciidwango/js-primer utils.parseA

    #jsprimer week: 2024-02-05 - 2024-02-11
    efcl
    efcl 2024/02/06
    今週はjsprimer week. ES2024の対応をやっていく
  • textlint v14をリリースしました

    textlint v14.0.0をリリースしました! リリースノート: textlint v14.0.0 · textlint 変更ログ: Release v14.0.0 · textlint/textlint textlint v14.0.0は、Node.js v18.14.0以降が必要になります。 Node.js 16は既にEOLなので、Node.js 16のサポートを終了しました。 古いNode.jsを使っている場合は、LTS(Long Term Support)版のNode.jsにアップグレードする必要があります。 Download | Node.js ユーザー向けの変更点 基的にはNode.jsのバージョンが18以降なら、特に影響がある変更はありません。 Node.js 16のサポートを終了 textlint v14はNode.js v18.14.0+が必要です。 Node.j

    textlint v14をリリースしました
    efcl
    efcl 2024/02/04
    textlint v14リリース。 Node.js 16のサポート終了、実験的なフラグの削除、古いAPIに非推奨の警告を出すように
  • Node.jsで機能やパッケージの非推奨メッセージを通知する方法

    ライブラリやツールなどを作っているときに、特定の機能やパッケージを非推奨にする場合があります。 これらの非推奨はリポジトリ上のREADMEやIssueなどに書いても、利用者が気づかないことがあります。 そのため、利用者が気付けるように非推奨の機能やパッケージを使った場合に警告を出す方法を紹介します。 非推奨にはいくつかの段階があり、それに応じてやり方を変えられるので、それぞれの方法を紹介します。 パッケージの非推奨化: npm deprecate <package> <message> コードレベルの非推奨化: JSDocタグの@deprecated 実行時の非推奨化: process.emitWarning() パッケージの非推奨化: npm deprecate <package> <message> npmのパッケージレベルで、そのパッケージが非推奨であることを通知するにはnpm de

    Node.jsで機能やパッケージの非推奨メッセージを通知する方法
    efcl
    efcl 2024/02/04
    npmやNode.jsで非推奨のメッセージを通知する方法について。 パッケージの非推奨化コードレベルの非推奨化、実行時の非推奨化について
  • superwhisperでの音声入力を試す

    superwhisperという、whisper.cppを使った音声入力ができるmacOSアプリケーションを最近使っています。 基的にはggerganov/whisper.cppのモデルを使って、音声認識しながら文字入力ができるアプリケーションです。 特徴 Whisperの認識精度が高い かなり早く喋っても認識してくれる 日語も認識してくれるモデルがある 日語で喋って英語に翻訳してくれる機能もある オフライン対応 有料: サブスク と 買い切り の2種類のプランがある 無料で15分のトライアル、その後は選べるモデルが制限される 公式サイトのデモをみると、かなり早く喋っても認識してくれるのがわかります。 大抵の人にとっては、多分文字入力するよりしゃべったほうが早いぐらいの入力速度が出ると思います。 superwhisper 長文はそこまで得意じゃないけど、1行とか2行ぐらいの文章はかなり

    superwhisperでの音声入力を試す
    efcl
    efcl 2024/01/17
    superwhisperという音声認識でテキストを書けるアプリケーションについて。 日本語を喋って英語を出力したり、認識精度も良くてオフラインでも動くので、気軽な音声入力として便利。
  • GitHub Sponsorsの収入 @ 2023

    2023年に得たGitHub Sponsorsの収入1をまとめた記事です。 去年(2022年)の結果については、次の記事でまとめています。 GitHub Sponsorsの収入 @ 2022 | Web Scratch GitHub Sponsorsは、主にオープンソース活動に対して金銭的に支援をする仕組みです。 GitHub Sponsorsは個人と組織への支援がありますが、ここでは自分個人に対するGitHub Sponsorsについてまとめています。 自分(@azu)のGitHub Sponsorsは、次のページに公開されています。 Sponsor @azu on GitHub Sponsors この記事を公開する理由は、オープンソースの活動をする人/オープンソースの活動を支援する人にGitHub Sponsorsなどの金銭的な支援の仕組みに興味を持ってもらうためです。 個人的な考えと

    GitHub Sponsorsの収入 @ 2023
    efcl
    efcl 2023/12/26
    2023年のGitHub Sponsorsで受け取った支援金額のまとめ
  • 転職時に無職になる手続きをインターネットでする

    転職する際に空白期間がない場合は会社側で手続きがほとんど終わりますが、一旦無職を挟んで転職する場合は、保険証、年金、iDeCoなどの手続きが必要になります。 今回の転職活動にあたって、 この手続きをするのに市役所やプリンターを使いたくないので、インターネットだけで完結できるかにトライしました。 Open Job Letterを公開しました | Web Scratch 手続きの前提条件 会社や個人によって前提が異なるので、ここでは次の前提で記事を書いています。 会社員: 厚生年金 保険証: [ITS]関東ITソフトウェア健康保険組合 iDeCo: 個人型確定拠出年金 退職して次の会社が決まってない場合は、保険証や年金などの手続きが必要になります。 保険証: 国民健康保険か任意継続かは好きな方で 今回は任意継続を選択 年金: 厚生年金から国民年金第1号へ切り替える iDeCo: 「加入者被保険

    転職時に無職になる手続きをインターネットでする
    efcl
    efcl 2023/12/23
    ITS保険証の任意継続、厚生年金から国民年金へ切り替え、iDeCoの加入者被保険者種別変更の手続きをウェブ上でやる方法をまとめた
  • Remix v2へアップデートした時のメモ

    Remixを使って作ったアプリケーションをRemix v2へアップデートした時のメモです。 Remix v2 | Remix マイグレーションガイド: Upgrading to v2 | Remix アプリケーションは Remix + Cloudflare Pages で動かしてるアプリ。 serverBuildTargetの変更 結構前にテンプレートから生成したアプリだったので、それぞれのビルドターゲットの設定方法が変わっている。 V2では、この初期値が結構変わるので、次のページを参考にしてビルドターゲットに合わせたものを設定する。 serverBuildTarget Cloudflare Pages向けのビルドをするので、remix.config.jsに次のように設定する。 この設定はV1でも動くので、まずはこれで動かす。(future.v2_devが有効である必要はあったのかも。忘れ

    Remix v2へアップデートした時のメモ
    efcl
    efcl 2023/10/15
    Remix v2へのアップデート方法、手順、ハマりどころ。
  • Google DomainsからCloudflare registrarにドメインとメールを移管した

    Google DomainsがSquarespaceに買収されるので、持っているドメインとカスタムドメインのメールアドレスをCloudflare Registrarに移管した。 Cloudflare Registrar · Cloudflare Registrar docs 基的にはCloudflare Registrarに表示される手順でやっておけば、問題は起きなかったので、よくできてると思った。 次のような手順で順番に移管していたので、移管時のメモ。 手順 Google Domainsの移行準備 Cloudflareのname serverを使うように移行する ドメインの移管 メールの転送設定 Google Domainsの移行準備 移管する前に、Google Domainに登録しているドメインの設定を変更しておく。 それぞれONになってると移管時に問題が発生する。 DNSSECを無

    Google DomainsからCloudflare registrarにドメインとメールを移管した
    efcl
    efcl 2023/09/30
    ドメインをCloudflareに移管したので手順。Email Routingで独自ドメインのメールアドレスもちゃんと扱える。
  • Bluesky/GitHub/Calendar/RSSをNotionに同期するbluenotiondbを作った

    Notionには同期データベースとしてGitHubやJiraなどを同期できるDBがありますが、任意のサービスには対応していません。 もっと色々なサービスと同期するNotionのデータベースが欲しかったので、bluenotiondbというツールを作りました。 azu/bluenotiondb: Sync Bluesky/GitHub/Calendar/RSS to Notion. bluenotiondbは、色々なサービスからデータを取得してそのデータをNotionのデータベースに追加するツールです。 現状では次のサービスに対応しています。 Bluesky Pull Posts from Bluesky and push to Notion GitHub Activity Pull events of GitHub user and push to Notion Open/Close/Com

    Bluesky/GitHub/Calendar/RSSをNotionに同期するbluenotiondbを作った
    efcl
    efcl 2023/09/09
    "bluenotiondbは、色々なサービスからデータを取得してそのデータをNotionのデータベースに追加するツールです。"
  • JavaScript Primer v5.0.0: ES2023の対応/CC BYライセンスに変更/Open Collectiveで支援できるようになりました

    JavaScript Primer v5.0.0: ES2023の対応/CC BYライセンスに変更/Open Collectiveで支援できるようになりました ECMAScript 2023(ES2023)をサポートしたJavaScript Primer v5.0.0をリリースしました。 Release v5.0.0: ES2023/CC BYライセンスに変更/Open Collective · asciidwango/js-primer JavaScript Primer(jsprimer)は、JavaScriptの文法や機能を一から学べるように書かれている入門書です。 今回のウェブ版のアップデートでは、最新のECMAScriptに対応しました。 jsprimer v5.0.0リリースに合わせて、文章のライセンスをCC BY-NC 4.0からCC BY 4.0へと変更しています。 また、

    JavaScript Primer v5.0.0: ES2023の対応/CC BYライセンスに変更/Open Collectiveで支援できるようになりました
    efcl
    efcl 2023/08/31
    JavaScript入門書のjsprimer v5.0.0リリース。 ES2023のChange Array by copyの対応、`Array.prototype.{findLast, findLastIndex}`の対応。 ライセンスをCC BY-NCからCC BYへ変更など
  • ni.zsh: npmインストール時のサプライチェーン攻撃を検知する機能を追加

    npm/yarn/pnpm/bunを同じコマンドで扱えるni.zshに、npmで配布されているマルウェアを間違ってインストールするのを防ぐ機能を追加しました。 ni.zshについては、次の記事を参照してください。 npm/yarn/pnpm/bunを同じコマンドで扱える ni のzsh実装を書いた | Web Scratch npmパッケージのマルウェア npmパッケージとしてマルウェアをpublishして開発者を狙うサプライチェーン攻撃が最近多くなっています。 たとえば、次の記事ではemails-helperというもっともらしいパッケージ名でマルウェアが配布されていました。 NPM Package Masquerading as Email Validator Contains C2 and Sophisticated Data Exfiltration 他にもtyposquatting

    ni.zsh: npmインストール時のサプライチェーン攻撃を検知する機能を追加
    efcl
    efcl 2023/08/30
    ni.zshでnpmパッケージをインストール(`ni add <pkg>`)する際に、socket.dev を使ったマルウェアチェックができる機能について
  • mubook-hon: Dropboxに保存したepubやPDFを読むビューア、Notionにメモや読んでいる位置を記録できるMobile/PC対応のウェブアプリ

    mubook-hon: Dropboxに保存したepubやPDFを読むビューア、Notionにメモや読んでいる位置を記録できるMobile/PC対応のウェブアプリ mubook-honという読書用のウェブアプリを作りました。 特徴として、Dropboxに保存しているepubやPDFをそのままブラウザで読むことができ、メモやどこまで読んだかをNotionに記録できます。 ウェブサイト: https://mubook-hon.vercel.app/ ソースコード: azu/mubook-hon: epub/PDF reader + Notion Sync + Memo ドキュメント and サンプルデータベース: https://efcl.notion.site/mubook-hon-addce6c324d44d749a73748f92e3a1a6 特徴 Dropboxに保存したepub/PD

    mubook-hon: Dropboxに保存したepubやPDFを読むビューア、Notionにメモや読んでいる位置を記録できるMobile/PC対応のウェブアプリ
    efcl
    efcl 2023/07/31
    epub/PDFビューア + Notionで読書管理/メモをするウェブアプリ。
  • 時期を決めて定期的に更新するnpmパッケージをChangesetsで管理する

    毎月や半年に一回といったように、リリースする時期(間隔)を決めて更新するタイプのパッケージがあります。 具体的には、次のtextlintのプリセットルールは1月と7月という形で半年に一回リリースしています。 textlint-ja/textlint-rule-preset-japanese: textlint rule preset for Japanese. textlint-ja/textlint-rule-preset-ja-technical-writing: 技術文書向けのtextlintルールプリセット なぜ、このようにリリースする時期を決めているかというと、これらのパッケージは他のパッケージに依存していて、他のパッケージの更新がそのままメジャーアップデートになりやすい性質があるためです。 そのため、依存を更新してリリースすると、頻繁にメジャーアップデートしないといけなくなりま

    時期を決めて定期的に更新するnpmパッケージをChangesetsで管理する
    efcl
    efcl 2023/07/17
    changesetsでPRごとに変更内容を記録して、それをまとまったものとしてリリースできるので、時間が空いても楽にリリースできるという話
  • Cloudflare Pagesの`{name}.pages.dev`ドメインに自分だけアクセスできるようにアクセス制限をつける手順

    Cloudflare Pagesの`{name}.pages.dev`ドメインに自分だけアクセスできるようにアクセス制限をつける手順 Cloudflare Pagesの {name}.pages.dev ドメインに自分だけアクセスできるようにアクセス制限をつける手順です。 アプリケーション側の変更は不要で、Cloudflare Accessの機能を使ってアクセス制御ができます。 カスタムドメイン(Cloudflare DNS)を設定している場合の方法は色々ありますが、デフォルトで用意されている {name}.pages.dev ドメインに対して設定する手順についてです。 この手順がかなりややこしいので、設定方法メモ書きです。 プレビューブランチへのアクセス制御の有効化手順 Cloudflare Pagesでページを作る Settings -> Access policyでEnable ac

    Cloudflare Pagesの`{name}.pages.dev`ドメインに自分だけアクセスできるようにアクセス制限をつける手順
    efcl
    efcl 2023/07/09
    Cloudflare Pagesに対して無料で、特定のアカウントのGoogleログインなどのアクセス制御をつける方法
  • CommonJSからES Modulesへの移行する方法。トップダウンかボトムアップか

    Secretlint v7でCommonJS からES Modulesへの移行を行いました。 Secretlint v7.0.0をリリースしました。Pure ESMへの書き直し この記事では、CommonJS(CJS)からES Modules(ESM)への移行を行った経緯と、移行する方法について紹介します。 CJSからESMへの移行は、率直に言えば単調な作業で、メリットが見えにくい作業です。 しかし、将来的にCJSよりもESMが主流になることは間違いないので、移行することは必要です。 移行の作業は、移行方法が決まれば大部分は機械的な書き換えが可能です。 では、実際にどうやって移行したのかを紹介します。 ESMへの移行の影響は依存元へと連鎖する Secretlintのリポジトリはmonorepoになっていて、だいたい40コぐらいのパッケージが含まれています。 そしてパッケージ間で依存関係があ

    CommonJSからES Modulesへの移行する方法。トップダウンかボトムアップか
    efcl
    efcl 2023/07/05
    Node.jsにおけるESMへの移行は、依存関係の読み込み側に影響を与えるため、ボトムアップではなくトップダウンで段階的な移行ができるという話。 依存ツリーの作成や段階的な移行をするための境界線の見つけ方、CJSからESM
  • 過去のTweetsを全文検索できるmytweetsをBlueskyに対応した。自分用Twilogみたいなもの

    過去のTweetsを全文検索できるmytweetsをBlueskyに対応した。自分用Twilogみたいなもの 以前TwitterのTwilogの代替えとして、mytweetsというツールキットを作りました。 自分のTweetsをインクリメンタル検索できるサービス作成キット と Tweetsをまとめて削除するツールを書いた | Web Scratch azu/mytweets: Search all your tweets. 今回、mytweetsをBlueskyにも対応させました。 合わせて、Vercelで動くようにしたりとか色々変更したので紹介します。 特徴 TwitterTwitter archive dataをインポートできます 全部の履歴を取り込めます。 TwitterBlueskyをサポートしています。 アーカイブからの差分をAPIを使って取得して、常に全部のTweetsをま

    過去のTweetsを全文検索できるmytweetsをBlueskyに対応した。自分用Twilogみたいなもの
    efcl
    efcl 2023/07/03
    Twilogみたいな感じで過去の自分Tweetsをインクリメンタル検索できるツール。 Blueskyに対応した