タグ

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

  • 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)で書きなおした方法/設計/感想
    Ehren
    Ehren 2024/02/28
  • The Missing README: A Guide for the New Software Engineerを読んだ

    The Missing README: A Guide for the New Software Engineerを読んだ The Missing READMEという新人ソフトウェアのためのエンジニアガイドの書籍を読んだ感想です。 The Missing README learning.oreillyで読める The Missing README: A Guide for the New Software Engineer 2021年8月10日 に出版された書籍 The Missing READMEはコード、設計、テスト、リファクタリング、例外処理やログ、依存管理、コードレビュー、CI/CD、インシデント対応、コミュニケーションやプロジェクト管理など幅広いことがすっきりとまとまってる感じの書籍です。 全体的に説明に出てくるコードは少なめです。逆を言えば特定のプログラミング言語に依存していな

    The Missing README: A Guide for the New Software Engineerを読んだ
    Ehren
    Ehren 2021/09/13
  • markedで安全にMarkdownからHTMLを生成するsafe-marked

    MarkdownHTMLにコンパイルするmarkedは0.7.0でsanitizeオプションを非推奨にしています。 これはサニタイズの処理をmarkedから外す目的です。 Sanitize and sanitizer · Issue #1232 · markedjs/marked このsanitizeオプションの代わりにDOMPurifyを利用することを推奨していますが、 DOMPurifyはブラウザとNode.js両方で使うには癖があるためちょっとややこしいです。 なぜならDOMPurifyはDOM APIに依存しているため、 Node.jsで動かす場合はjsdom使うためです。 単純にjsdomを使ってしまうとブラウザでもjsdomが含まれてしまい、ファイルサイズが巨大になってしまいます。 そのため、ブラウザ向けの場合では直接DOMPurifyを使い、 Node.jsの場合はDOMP

    markedで安全にMarkdownからHTMLを生成するsafe-marked
    Ehren
    Ehren 2020/04/20
  • 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型である話
    Ehren
    Ehren 2016/09/07
  • ライブラリをES2015(ES6)で書いて公開する所から始めよう

    この記事はECMAScript 2015の事始めとして、ライブラリをECMAScript 2015で書いて公開するというところから始めるのがいいのではという内容です。 ECMAScript 2015(ES2015)はES6とも呼ばれていてどちらも同じものを指しますが、この記事ではES2015に統一します。 ECMAScriptのバージョンについては次のページを参照してください。 ECMAScript · JavaScriptの入門書 #jsprimer 2018-12-27: 追記 textlint/textlint-rule-helperのmasterはTypeScriptの実装へ変換されています。 Babelの実装はhttps://github.com/textlint/textlint-rule-helper/tree/2.0.1から参照できます Babel から TypeScrip

    ライブラリをES2015(ES6)で書いて公開する所から始めよう
    Ehren
    Ehren 2015/05/20
  • npmで名前空間を持ったモジュールを公開する方法(scoped modules)

    npmにモジュールを公開することは多くなってると思いますが、今までのnpmだと名前は早い者勝ちでした。 最近npm Private Modulesというprivateで扱えるモジュールを有料でサポートしましたが、これはscoped modulesをprivateで扱う時だけ有料でpublicで公開する時は無料で行えます。 scoped modulesというのは、@username/project-name という感じで、@ユーザー名がパッケージ名に入るので異なるユーザー間では重複しません。 The npm Blog — solving npm’s hard problem: naming packages 公開手順 実際にscoped modulesをpublicに公開する手順としては、 npm init --scope=<npmユーザ名> パッケージの名前が@<npmユーザ名>/パッケー

    npmで名前空間を持ったモジュールを公開する方法(scoped modules)
  • #error_handling_sushi でPromiseのエラーハンドリングについて発表した

    #error_handling_sushiJavaScriptのエラーハンドリングについて議論した。 自分はPromiseのエラーハンドリングの握りつぶしの問題を見つけやすくするイベントの実装について、Promise Error Handlingという話をした。 ログ: #error_handling_sushi - Togetterまとめ #error_handling_sushi 始まった #寿司とは pic.twitter.com/XZe21QTsDO — Takuto Wada (@t_wada) March 6, 2015 – 基調講演 - teppeis これが #error_handling_sushi pic.twitter.com/vSLDpthYi4 — azu (@azu_re) March 6, 2015 #error_handling_sushi 基調講演 一

    #error_handling_sushi でPromiseのエラーハンドリングについて発表した
    Ehren
    Ehren 2015/03/09
  • Greasemonkey2.0対応 - LDRFullFeed、LDR NG、ldr_keyhack_jkc+n

    Greasemonkey2.0ではFirefoxの変更に合わせて、セキュリティ周りの変更がありました。 それにより、色々なGreasemonkeyがそのままだと動かなくなっています。 Changes to unsafeWindow for the Add-on SDK | Mozilla Add-ons Blog Greasespot: Greasemonkey 2.0 Release UserScriptのGreasemonkey 2.0対応 | monoの開発ブログ 動かない原因は大きく分けて2つあります。 @grant none がデフォルトになった unsafeWindowの挙動が変わった(Firefox側の変更) @grant none @grant - GreaseSpot Wiki UserScriptのGreasemonkey 2.0対応 | monoの開発ブログ に詳しい

    Greasemonkey2.0対応 - LDRFullFeed、LDR NG、ldr_keyhack_jkc+n
    Ehren
    Ehren 2014/07/31
    2.0 出たんだなぁ...
  • 改めて最強のJavaScript IDE 「WebStorm」についてまとめてみた(改訂版)

    WebStormHTML(5)+CSS+JavaScript等をメインに扱う、Windows, Mac OS X、Linuxのクロスプラットフォームに対応したIDEです。 これを読む前に以下の文章を見ておく必要があります 最強のJavaScript IDE 「WebStorm」を使ってみた | Web scratch この記事はWebStorm1.0の頃にかかれたものです。 横浜JSTDDハンズオンでWebStormについて発表してきた | Web scratch WebStorm指南書 この記事はWebStorm 4.0 EAPの時に書かれたものです この記事は、WebStorm 1.0 から WebStorm 5.0までの変更や追加機能等を最強のJavaScript IDE 「WebStorm」を使ってみたをベースにまとめたものです。 購入方法 既に購入済みな方などは飛ばして大丈夫で

    改めて最強のJavaScript IDE 「WebStorm」についてまとめてみた(改訂版)
    Ehren
    Ehren 2012/09/09
  • カヤック社内勉強会でBusterJSについて発表してきた

    完全にノープランでしたが、唐突にカヤックの社内勉強会に参加してきて、今色々触っているJavaScriptのテストフレームワークのBuster.JSについて発表してきました。(部外者です…) JavaScript Testing FrameworkのBusterJSを使う スライド : JavaScript Testing FrameworkのBusterJSを使う 今JavaScriptのテストフレームワークは色々ありますが、Buster.JSはJsTestDriverと似た仕組みを持ったテストフレームワークです。 Nodeで書かれてる所が大きく違いますが、細かい仕組み等はBuster.JS Architecture overviewという文章が公開されているのでそこを見るのがいいです。 中心となってる作者の一人はSinon.JS、Test-Driven JavaScript Develo

    カヤック社内勉強会でBusterJSについて発表してきた
  • FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい

    Firefoxのデバッグ拡張ことFirebugですが、Firefox4よりFirebugとは別にWeb Consoleという機能が入りました。 しかし、Firebug自体もさらに便利になっているので、少し紹介します。(Firebug1.7 –1.8 の範囲で) 現在のFirefox4に正式対応しているのはFirebug1.7xで、Firebug1.8xはAlpha版として公開されているのでまだ不安定な部分もあることに注意して下さい。 特に注意書きしてない部分はFirebug1.7の項目だと思って大丈夫だと思います コマンドラインに履歴ボタン コンソールパネルでのコマンドエディタ(でかい方のコマンドライン)にHistoryボタンが新たに追加されました。 過去に実行したコマンドをポップアップから選択して挿入することができます。(以前はCtrl+ZでUndoし続ける必要があった) コマンドライン

    FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい
  • KeySnailプラグイン開発の方法とデバッグ

    KeySnailついて 自分はEmacsユーザーでもありませんが、KeyConfigの代わりにKeySnailを使い始めました。 そもそもKeyConfigとは役割違うし、KeyConfigもFirefox4対応したので併用しています。 keysnailはuserChrome.jsのキー特化みたいな存在で、便利なAPIがある環境みたいなとらえ方でもいいかもしれないです。(emacsのキーバインドは一切使わないで、まっさらな状態で始めました) KeySnailのプラグイン開発について JSReferenceというMDN(MDC)やECMA-262 3rd EditionをKeySnailのプロンプトから検索できるプラグインを書いたので、これに沿って説明していきます。 こんな感じの動作するやつです。(フルスクリーンで見た方がいい) 端的に言えばChemr-jsみたいな感じでインデックスをキャッ

    KeySnailプラグイン開発の方法とデバッグ
  • JavaScriptコードのパフォーマンス比較ができるWebサービス「jsPerf」の使い方

    自分が書いたJavaScriptのコードスニペットに対してどのコードが早いのかベンチマークを比較することができるWebサービスであるjsPerfの紹介と使い方。JavaScriptでは同じ機能を実現するための方法は様々であり、どのコードが優れているのかを調べる方法としてプロファイラなどを利用することがあります。しかし、JavaScriptはブラウザ毎によっても速度が変わることが多いため、ブラウザ依存のツールだと比較しにくくなるため、ブラウザ上でテストコードを実行し、それらのベンチマークを簡単に記録、比較できるサービスがjsPerfです。 jsPerfの比較方法 jsPerfの内部ではBenchmark JSというベンチマークライブラリが使用されています。(jsPerfの運営者が作成している) jsPerfの計測方法は一定時間内にどれくらいコードスニペット部が実行できたのかで比較します。その

    JavaScriptコードのパフォーマンス比較ができるWebサービス「jsPerf」の使い方
  • ブラウザの最新情報を知るために、Web開発者が読んでおくべきブログ

    JavaScriptやWeb開発に興味を持っている人はブラウザ周りの新しい情報も知っておくと良い場合も多いです。 なのでブラウザ周りに絞ってブラウザ別のブログなどを紹介。 Internet Explorer(IE) IEBlog – Site Home – MSDN Blogs IEについての最新情報を書いているオフィシャルサイト Hebikuzure’s Tech Memo IEやWindowsについて多岐にわたり書かれているブログ。 更新頻度が高く、IE Blog の記事の私訳などとても参考になる。 Internet Explorer ブログ (日語版) – Site Home – MSDN Blogs IEBlogの翻訳記事などを掲載する日語オフィシャル版(全て翻訳されるわけじゃないのでIEBlogも見た方がいい) Internet Explorer デベロッパーセンターのMSD

    ブラウザの最新情報を知るために、Web開発者が読んでおくべきブログ
  • JavaScript Gardenの読書メモ - prog*sig

    ■感想 まず発見したときにサイドバーのデザインが綺麗だなと思った。また文章内でちゃんと内部リンクが貼ってあってとても見やすい作りになっている。 内容もそこまで難しい書き方はしてないので何とか読める。またコード(or 文字)で書くようにしているのかは知らないけど、画像を一切使わずにprototypeとかをちゃんと説明できていて凄いと思った。 かなり仕様も囓ってる感じの人が書いてて、noteにES5の時についてなども触れられていてかなり細かいとこも書かれていた。難易度的にはJavaScript Patternsと同じくらいだと思うけど、とてもいい文章をWebで公開してくれているので是非読んでおくべきだと思う。 著者であるIvo Wetzel (Writing)とZhang Yi Jiang (Design)に感謝を。 JavaScript Garden http://bonsaiden

  • OAuth for Greasemonkeyのラッパーライブラリ

    **Post Now browsing to TwitterをOAuth認証に対応しました | Web scratch**でGreasemonkeyスクリプトの「Post Now browsing to Twitter」をOAuth認証に対応したものを作りました。 OAuthのJavaScript実装はいくつかあるみたいですがGreasemonkeyで使う感じになってるものは無かったみたいなので、OAuth.jsを使ったtwitterでのOAuth認証を手助けするラッパーみたいなものを書きました。 xAuthを使えば楽な気もしますがブラウザベースのものはxAuthを使わずにOAuthを使ってねとの事です 大部分は TwitterクライアントのOAuth対応(JavaScript編) | tomatomax.net Twitter API を OAuth で認証するスクリプトを 0 から書い

    OAuth for Greasemonkeyのラッパーライブラリ
  • 最強のJavaScript IDE 「WebStorm」を使ってみた

    JavaScript対応のIDEをまとめてみたの続きのようなもので、その中で紹介していたWebStormが素晴らしいので別途紹介。 WebStormHTML(5)+CSS+JavaScriptに対応してるIDEで、Windows, Mac OS、Linux上で動作します。 有料のソフトウェアですが、オープンソースライセンスがあったり体験版は45日間使えるのでとりあえず試してみましょう。 この記事の続編(アップデート版)を書きました 特徴 とにかく膨大な機能が載ってるので全てを紹介するのは無理があるため、凄いと思ったところを掻い摘んで紹介。 主にJavaScriptを書くエディタとして使っていますが、CSSHTMLも普通のIDEより書きやすいです。 基的にWebStormで日語に関する問題は少なめです。一部IMEの変換候補が出てくる場所がずれたり、プラグインで日語がダメだったりする

    最強のJavaScript IDE 「WebStorm」を使ってみた
  • JavaScriptベストプラクティス30選-jsEdu

    #jsEduから適当に選んで日語にしたものです。 訳とかは全く正確ではなく、as possibleなど表現をかなり省いてるので命令口調になってます。 フィーリング的なものはあんまり入れてないので、興味をもったらTogetter – 「JavaScriptのベストプラクティス大会 jsEdu」を読みましょう。(まとめた奴はこれの10倍くらいありますが、被ってるのや関係無いのもあるので読める程度の量です) 全てを確認したわけではないので、正確性は保証しかねます。 ==ではなく===を使うべき (自動的に型変換に行われないのでバグが減る、高速) new Object() and new Array() よりも[] or {}を使うべき。 []や{}の方がシンプル JavaScriptを高速化する6つのテクニック | エンタープライズ | マイコミジャーナルで出てくるのは間違いだと思う。 []

    JavaScriptベストプラクティス30選-jsEdu
  • 1