ウェブフロント
- angular
- corewebvitals
- editorconfig
- gatsby
- hls
- html
- javascript
querySelectorAllで取得した要素は配列ではないらしい
JavaScript 配列内のオブジェクトの更新ってどうする?
デバッグ関数とかnullチェック関数をutil/index.tsにおいとけば楽なことに今頃気づいた。
ブラウザからジャイロセンサーを使ってみる
JS 画像のアップロード、プレビュー機能を実装
「数値から各桁の値を取り出す処理」って言われたら数学的な処理が一番に思い浮かぶけど、JSならそんなことなかった。
Callback時代の関数をPromise化する
個人的実装されてほしいECMA Script Proposal
JavaScriptのprototypeを使う
音声をなみなみさせる
AudioWorkletとAudioWorkletProcessorを使って音声のビジュアライゼーション
- next
- nuxt
- playwright
- prettier
- react
- reactnative
- tensorflowjs
- tools
- typescript
- wasm
- websocket
- ポエム
- 開発環境
サーバー
その他
初めてのOSSコミット。Reason言語でGeo3x3を実装
Geo3x3(ジオスリーバイスリー)とは
簡単に言うと「緯度・経度をまとめて表す」ためのエンコード・デコードプログラムのことです。
GitHubはこちら
Geo3x3はシンプルなWGS84向けジオコーディングです
地球を東(E)と西(W)に分け、再帰的に3x3の9エリアで分割します。長いほど精度が上がります。
実際にGeo3x3を利用すると
緯度: 33.88662989631775
経度: 130.88225978094528
は、E91259371833 と表すことができます。
Geo3x3を利用したサイトはこちらです。
OSS!
Geo3x3のプロジェクトはOSSになっており4月3日現在、75の言語に対応しています。
そして75言語目を私が担当しました。
Reason言語とは
ReasonはFacebookが作成したOcamlを拡張したAltJSの言語です。
拡張子は
re
で、Hello Worldは以下です。Js.log("Hello world");
私がJavaScriptが得意ということもありReasonに挑戦しました。
強い静的型付け言語
ReasonはOcamlとJavaScriptの融合のような言語のため、関数型かつ静的型付け言語となっています。
関数型の特徴として
switch式
やif式
があったり、静的型付け言語の特徴として型の違う値同士の演算はコンパイル時にエラーがでるなどがあります。
面白かったのはfloat同士の演算時に
let res = 1.0 +. 1.0;
のように
演算子
+ .
が必要なところです。PRを送る
OSSのコミットは初めてだったため、とてもワクワクしていました。
手順
- リポジトリをForkする
- コードを書く
- Forkしたリポジトリにpushする
- Fork元にPRを送る
- Mergeされるのを待つ
基本的な流れは以上のようなものです。
私が実際に送ったPRはこちらです。
福野さんが修正を加えてくださり無事Mergeされました。
いつかOSSに貢献できたらいいなと思っていたのですが、
まさか書いて二日目の言語で初コミットするとは思ってもいませんでした。。
OSSへの貢献はエンジニアとしての社会貢献!!
Thanks you for reading.