t_wの輪郭

Feedlyでフォローするボタン
jsプログラミング言語Cloudflare workersの対応言語script

JavaScript

2022/8/4 19:23:00

JavaScript(ジャヴァスクリプト)は,スクリプト言語の一つである。

1995年にネットスケープで開発され,ウェブ ブラウザーNetscape Navigator で実装された。現在に至るまで,ウェブ ブラウザー上で実行できるスクリプト言語としての性格が強い。

Java を意識して作られたため「JavaScript」という名称になっているが,直接の関係はなくまったく別の言語である。

マイクロソフトも追随し JScript を開発した。

Ecma International(旧 ECMA)によって標準化されており,この仕様は ECMAScript と呼ばれている。

ECMAScript は JavaScript 実装の標準化基準として広く採用されている(2009年時点では ECMA-262 3rd edition の採用が一般的)。

あれNode.jsthrowデライトからScrapboxへ転記するスクリプトのジェネレータTypeScriptからJavaScriptへの移行あれ一応 Rust の利を挙げるとすれば no_std のライブラリは一通り使える一方で AssemblyScript だと 既存の JS やら TS の資産は基本的に使えないということぐらいかあれOxlintあれJavaScriptライブラリself.crypto.randomUUID()constあれletfunctionアロー関数式あれMap『大規模なデータをJSON.stringifyとBlobを使って保存しようとしたら,ブラウザがエラーを出すときの対処法』JSON.stringifyあれ技術情報を掘るときに、日本語で検索しても出てこないんだろうなという諦観があるMacaronマイクロフロントエンド実装の方法危険なJavaScriptHTMLとJavaScriptでプロトタイプを作って利用者の操作を取得することでユーザーテストするJSX『t_wの輪郭』の輪郭に編集日時を表示Node.jsのBufferの比較『(自分の) JavaScript のユニットテストの書き方』DatetoISOStringあれawait付け忘れjsでawaitを付け忘れるawaitalertデバッグJavaScriptのString#splitでいい感じに変数に格納する書き方JavaScriptでevent handlerを実装する標準的方法「[Javascript] イベント駆動型の設計ができるEventEmitterに入門」customeElementWatcherEventHandler.webidl『Error の cause オプションによってエラーの再 throw 時にスタックトレースが失われるのを防ぐ【ES2022】』ES2022causeErrorfor awaitgeneratorJavaScriptで「#」をエンコードするには、encodeURIComponentを使うchromeEventHandlerFirefoxのDOMのEventHandlerの実装あれあれあれあれprologをクエリをJavaScriptの関数化WebAssembly.compileBigIntTau Prolog『JavaScriptにおける表明(assertion)の話』『javascriptのオブジェクトリテラルは評価されるまでは、あくまでブロック文でしかない』Ramda.jsconsole.table()AlaSQL連想配列JavaScriptのMapは、100万項目入れても大丈夫JavaScriptでオブジェクトを連想配列として使っていたらバグったAssemblyScriptではJavaScript/TypeScriptのライブラリは使えない了解!console()=>({})あれJScriptWindows Script HostECMAScriptKuromojiJavaScript一家離散問題JavaScriptの四値論理JavaScriptでは、どこか1ヵ所がasync関数になると、芋づる式に他の関数もasyncへの変更が必要となりますIteratorjsiioxcObjectJavaScriptでC言語をコンパイルJavaScripotReflectProxyJawsm

oxc

2024/9/1 10:20:00

jsii

2024/8/25 23:48:00

jsiiJavaScriptのコードを他の言語から呼び出し可能にするポーティングを自動でやるライブラリ(?)

NodeGuiNext.jspuppeteerあれ『Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの』Node.js APIExpressEJSデライト外部検索通類をデプロイしたあれクロールを途中から再開できるようにしたデライトクローラデライト外部検索通類 構成概要図デライト外部検索通類デライトでクローラーを回す『大規模なデータをJSON.stringifyとBlobを使って保存しようとしたら,ブラウザがエラーを出すときの対処法』一部機能をNode.jsからD言語に移行するnode_modulesJSON.stringifyに大きいオブジェクトを渡すと、JSONに変換してくれないNode.jsのBufferの比較『今年のうちに対応したい、Node.jsのBufferに潜む危険性』あれnode-fetchNode.jsのunittestライブラリAmplifyでNode.js 20を使う方法AmplifyでNext.js 14をビルドする方法WebContainerあれ2022年12月3日日記『Node.jsデザインパターン』got (https://github.com/sindresorhus/got)Passport.js『Node.jsでTwitterAPIのリクエストトークンを取得』『[Node.js] PM2を用いて本番環境でNodeJSアプリを動かす』iSH ShellでNode.jsをソースコードからビルドしてインストールあれ12時間経ちましたがiPad mini 6でのnode.jsのビルドが終わりません『Build Node.js from Source』『Node.jsでSitemap.xml(XML)を返すだけ』『【2023年4月版】Ubuntu に node.js と npm を入れたい(バージョン管理も)』あれPassport.js の基本的な利用方法 (Node.js & Express)『how much time do you cost to build nodejs?』『【Node.js Express】WebSocketを使ってみる( 全クライアントに一斉送信)』『nodemailerを使ってメール認証でのサインアップをNode.js express.jsで実装する。』nodejsで開発/本番の設定を切り替える『Node.js — Monday, July 8, 2024 Security Releases』Nodemailer『BunはNodeより速いのか? Misskeyで検証 | gihyo.jp』『node v22.7.x で TypeScript をそのまま実行する』nodejs-whisperRails vs Node.jsgetCallSite()『Node.jsで実行中の処理の行番号や関数名を取得する方法 令和最新版(Node.js v22.9.0以降のgetCallSite) - await wakeUp();』

あれ

2024/5/9 22:34:00

デライトの「アクセシビリティ」というところに目を向けると、100点満点というわけにはいかないが、「JavaScriptをOFFにしていても読める」という点で他のSNSからは一線を画している。ただ、他のSNSはアプリなどのウェブとは異なる形態でアクセシビリティをもたせている可能性はある。

内部の仕組みはわからないのでどれだけ労力がかかるかはわからないし、もちろん優先度の問題もあるが、「JavaScriptをOFFにしていても読める」から「JavaScriptをOFFにしていてもログインや書き込みができる」までは地続きのように思える。
ただ、デライト特有の体験を、テキストブラウザを使用する全盲の人などに提供できるかというと、かなりの難しさを私は感じる。

そもそも全盲の人にとってどのようになっていれば便利なのかが、私の知識不足・勉強不足で見当がつかない。「事業者による障害のある人への合理的配慮の提供が義務化」の障害者差別解消法改正があったので、このあたりの知識やノウハウは社会的需要が高まっているだろうし、インターネット上でも情報が増えていくだろうから、少し勉強しておきたい。

全盲の人が使用するブラウザ=テキストブラウザ(JavaScriptが動かない) という想定が正しいかどうかわからない。「全盲の人が音声でTwitterをしている」という話を随分前に見かけた気がする。

ウェブアクセシビリティというのが「誰にとっての」というのが私の中で不明瞭だ。私の頭の中ではなんとなく全盲の人や、視覚障害者が想定されている。

あれ

2024/5/9 21:52:00

JavaScriptを無効化してブラウザを使っている人がいるという話を以前Misskey.ioで聞いた。昨今のウェブの状況を考えると、JavaScriptを無効化したいという気持ちには一定の理解が示せる。ブラウザバックしようとしたら広告が表示されるなど、JavaScriptによってこちらの想定と異なる動作をするサイトが増えてきている。

開発者の視点では「超長期的には生のHTMLしか勝たん」みたいな気持ちも若干ある。Reactで作ったSPAとかは10年後には動かない、あるいは現在のバージョンのReactなどを動かし続けるとセキュリティ上の問題が露呈するだろうという予感がある。つまりバージョンアップなどの技術の変化に追従する労力が要求される度合いが高い見込み。
といいつつも、私自身はReactを使いがちになっている。

あれ

2024/5/9 21:32:00

ふと気になったのだけども、XとかFacebookとかってJavaScriptなしに動くんだろうか。


試してみたら、Xは動かなかった。

Facebookも動かなかった。

console.table()

2024/2/24 13:37:00

なんかいい感じにオブジェクトとかを開発者コンソールに出力してくれるやつ

あれ

2023/12/8 19:14:00

JavaScriptが妙に速いので、未だWASMを使えずにいる。

const

2023/10/22 16:18:00

JavaScriptで定数を宣言する修飾子

あれ

2023/10/22 16:17:00

(()=>{})()でくくってやれば、try catch 構文やらなんやらをconstに格納できるのを、最近知った。

const variable = (()=>{
  try{
    return hoge;
  } catch {
    return fuga;
  }
})();

のように書く

let

2023/9/24 22:43:00

JavaScriptで変数を宣言

あれ

2023/9/7 9:15:00

Reactのコンポーネント書くときに

const Component = ()=>(
  <div></div>
)

とかやっていい気になってたけど、どうせ後から処理追加してreturn 書くハメになるし、最初からfunctionって書いた方が分かり良い気がしてきた。

あれ

2023/8/28 21:13:00

最近JavaScriptで()=>({})という書き方を覚えた。

オブジェクトが返せる。

JSX

2023/2/24 22:02:00
const [a, b] = text.split("hoge")

みたいな書き方を思いついた。

const text_splitted = text.split("hoge")
const a = text_splitted[0];
const b = text_splitted[1];

みたいに書くよりも短くて意図が分かりやすい。

もうすでに誰か思いついていて、どこかでは常識だったりするのだろう。

あれ

2022/6/26 22:06:00

webpackTypeScriptをビルドして、HTMLの中に埋め込みたいんだけど、方法が見つからずにいる。
TypeScriptをやめて、普通のJavaScriptにしたらできそうな予感がする。

あれ

2022/6/18 9:43:00

AndroidのViewと戦うの疲れてきたな。
HTMLとJavaScriptでAndroidのホームアプリ作りたみん。
ReactNativeとか使えばできるのかしら。

Macaron

2022/6/16 21:08:00

Macaron is an open-source UI design tool to create and maintain Web Components.
Create components visually and use them with any framework, or with vanilla HTML/JavaScript.

あれ

2022/5/14 10:19:00

HTMLJavaScriptCSSについて調べるとき、MDNを参照してそこで止まってしまいがちなのだけど、一次情報とは言えなさそうなのでもっと深堀りできそう


MDNはJavaScriptでも仕様としてはやや間違っていることがあるので、心から信頼してはいません。
 Firefoxの仕様を知りたい時に有用
 仕様書のリンクを追いたい時に有用
 Compatible Table が有用 (今ではcaniuseに押され気味ですが)
 仕様を追いかけるのが労力的につらい時の導入サイトとして有用

やっぱりそういう扱いなんだな。本当に一次情報を当たりたいとなったならば、規格を参照したり、ソースコードを見たりしなければ。

 クロールする際に日時を取得していたが、日時をparseしてtimestampにする際にJSTではなくUTCでparseしてしまっていた。
 「DBに保存されている輪郭の編集日時JSTに補正」、「クローラが日時をJSTでパースするように改修」によって対処した。
 最初、JavaScriptDateモジュールでタイムゾーンを指定すれば治るかと思っていろいろ調べてしまった。

Date

2022/5/1 21:55:00

あれ

2022/3/22 11:07:00

JavaScriptを書けば書くほど落とし穴を自分で掘ってる感じがする


Typescriptに変えよう🥺🥺🥺


Typescript勉強するか~~~~~~
puppeteerによる自動テストもやってみてるけど、早すぎた感


ライブラリに渡す引数に何渡せばいいかわかるし、タイポも減らせるし、バグを圧倒的に減らせたからオヌヌメ・・・!


拡張子をjsからtsに変えたら、至る所が真っ赤になってわろてる


お、tsへの移行が完了した。
300行のJavaScriptだったけど、TypeScriptへの移行に1.5時間かかった。
これから効率が良くなるので、これから取り戻せるはず。

あれ

2022/3/12 15:00:00

RustWebAssemblyを勉強しているのだけれど、console.logするのにもひと手間必要で、JavaScriptを全部置き換えるぜみたいなことをしようとすると苦労しそうだということが分かった。

//Rustwasmからconsole.logするコード
web_sys::console::log_1(&format!("Hello, {}!", name).into());

結局、負荷が高い処理を抜き出して、そこだけWebassemblyにするのが楽そう

await付け忘れ

2021/3/3 8:47:00

asyncにした関数は、関数名の末尾にasyncをつけることでawait付け忘れを緩和できる

気づかない間にPromiseが代入されて、思わぬところでバグが発覚する
原因の特定に時間がかかる
 
簡単に起こる割に修正に手間がかかる
多分tsに移行すれば根治できる

customeElementWatcher

2020/12/27 13:38:00

https://searchfox.org/mozilla-central/source/devtools/server/actors/targets/browsing-context.js#357

/
* The CustomElementWatcher can be used to be notified if a custom element definition
* is created for a node.
*
* When a custom element is defined for a monitored name, an "element-defined" event is
* fired with the following Object argument:
* - String name: name of the custom element defined
* - Set Set of impacted node actors
*/
class CustomElementWatcher extends EventEmitter {
constructor(chromeEventHandler) {

デライトからScrapboxへ転記するスクリプトのジェネレータ
ジェネレータのページ:https://t-wataru.github.io/Delite-to-Scrapbox-script-Generator/
 
使い方
転送先のScrapboxプロジェクトへのURLを、「Input scrapbox project url」へ入力
「Bookmarklet for forwarding Delite's 輪郭 to Scrapbox's page:」に、JavaScriptスクリプトが生成される
生成されたスクリプトを、転送したい輪郭の上で実行する
 
 
転送元の輪郭

 
Scrapboxに転送されて生成されたページ