ZennでSOQLをER図として可視化するツールの記事を書きました

こちらの記事です。 「SOQLのクエリをER図として可視化するツールを作ってみた」 zenn.dev

久しぶりにZennで記事を書きました

久しぶりにZennで自作パーサーコンビネーターライブラリ「takenoco」とその応用について記事を書きました。 zenn.dev zenn.dev

Goで書いたスクリプト言語「dust」の v0.0.5 をリリースしました

github.com

GoのJSON・TOMLパーサー「go-loose-json-parser」v0.0.14 をリリースしました

github.com Unmarshallerを実装し、型付きの変数にマップできるようになりました Loose JSON | TOML normalizer でvalidではないJSON・TOMLからvalidなJSONへの変換を試せます

Goのパーサーライブラリ「takenoco」v0.0.11 をリリースしました

github.com

Open SOQL 0.3.0 をリリースしました

github.com クエリ言語SOQLのオープンソース実装「Open SOQL」v0.3.0 をリリースしました✅Publish / Subscribe メッセージ送信のサポートhttps://t.co/GlJ8heN6XC#SOQL #SQL #javascript #TypeScript #query— shellyln (@shellyl_n) August 28, 2020 Publish…

Open SOQLでReduxを代替することはできるか?

Qiitaに記事を書きました。 qiita.com これを書こうと思ったのは、GraphQLをストアにしようという tech.okcupid.com こちらの記事を見たからなのですが、 Open SOQLではすべてが非同期になってしまうのがやや気になりますが、クライアント・ローカルのリゾル…

Open SOQL最初の安定版 v0.1.0 をリリースしました

思った以上に制作に時間が掛かってしまいましたが、ようやく最初の安定版をリリースできました クエリ言語SOQLのオープンソース実装「Open SOQL」最初の安定版となる v0.1.0 をリリースしましたApollo Serverのようにリゾルバを定義することで、任意のデータ…

SOQLを実行するライブラリ「Open SOQL」を作りました

Salesforceのクエリ言語である「SOQL」をSalesforceとは関係なく実行するためのライブラリ「Open SOQL」を作りました。 github.com 作りかけになっていた自作のSOQL(typoではなくSalesforceのアレ)互換のクエリ実行ライブラリが、何とかクエリ実行可能になり…

kintone用 開発支援・デプロイCLIツール「KDX」を作りました

kintone CLI for development & deployment, with Developer Experience. Enjoy type-safe and repository-centric development! KDXは、Developer Experienceを保ってkintoneを基盤とするシステムの開発・デプロイを行うためのCLIツールです。 github.com g…

スキーマ検証ライブラリ Tynder v0.2.1 をリリースしました

スキーマ検証ライブラリ「Tynder」v0.2.1 をリリースしました スキーマ検証ライブラリ Tynder v0.2.1 をリリースしました今回のリリースでは別のtype/interfaceのプロパティを型として参照できるようになりました(TypeScriptでは`a: Foo['x']`と記述するけど…

スキーマ検証ライブラリ Tynder 最初の安定版をリリースしました

github.com スキーマ検証ライブラリ「Tynder」最初の安定版となる v0.1.0 をリリースしました 使い方についてQiitaに記事を書いています qiita.com また、ボイラープレートも用意しているのでぜひお試しください github.com ボイラープレートのバックエンド…

TypeScriptの型定義を使って、実行時にデータの検証を行う

JavaScript / TypeScript でプログラムを書いていて、入力値や外部から受け取ったデータの検証って本当に面倒ですよね。 最近では、 JSON Schema を使うのが一般的かと思いますが、あのJSONを手書きするのは絶対に嫌。 ということで、型定義を(ほぼ)TypeScri…

Kanban board と Google Calendar を連携する

Kanban boardアプリとGoogle Calendarの連携を実装しました。 github.com github.com 方式はお手軽に iCal(*.ICS) 形式ファイルのURLを Google Calendarの「URLで追加」によってポーリングするようにします。 kanban-board-calendar-exporter を使ってCloudW…

Kanban boardアプリ作りました

先日、Kanban boardによるタスク管理アプリ「kanban-board-app」をリリースしました。 github.com kanban-board CouchDB 経由でデバイス間同期できるPWAとなっています。 こちらから試せます。

Lispインタープリター「Liyad」へのコンパイラ搭載(作業中)

現在、Lispインタープリター「Liyad」にコンパイラ搭載を進めている。 まだ、公開リポジトリにはpushしていないが、現在、技術検証用のプロトタイプを作成している。 同インタープリターはJavaScriptで書かれているので、コンパイラといっても、ホスト環境の…

Object.assign はプロトタイプ汚染攻撃に対して安全

古いlodash#merge()にはプロトタイプ汚染に対する脆弱性(修正済み)がありましたが、Object.assign() の動作について調べてみました。 var a = {}; console.log(Object.assign({},JSON.parse(`{"__proto__":{"foo":"bar"},"a":"b"}`))); console.log(a.foo); …

Lispインタープリター「Liyad」における末尾再帰最適化

拙作のLispインタープリター「Liyad」においても、 (無いとLisp処理系として格好が付かないので) 非常に限定的に末尾再帰最適化を実装しています。 Liyadにおける末尾再帰最適化 Liyadでは、単純にASTのS式が特定のパターン(1種類)に合致するときのみ末尾再…

各言語におけるクロージャー

Liyad v0.0.13をリリースしました。 今回のリリースでは、クロージャー(関数閉包)関連のオペレーターが追加になりました。 ($closure (arg1 argN) use (var1 varM) expr) (|-> (arg1 argN) use (var1 varM) expr) ($capture (var1 varM) ($lambda (arg1 argN…

🚧RawGitからjsDelivrへの切り替え🚧

Qiitaに書きましたが、RawGitが終了する模様です😿 最近作った、Ménneu Markdown Notebookで使っていたので、参照先をjsDelivrに切り替えました。 記事も直さないと…

進行中のプロジェクト

現在、私の進めているプロジェクトの概要と当面のゴールについて説明したいと思います。 Ménneu Markdownやhtmlのドキュメントテンプレートから、動的にドキュメント生成するためのCLIおよびAPIです。 ドキュメントはhtml、画像、pdfとして出力できます。 後…

ブログ作りました

最近、Qiitaなどで投稿していましたが、少し、自由な内容でも書いていきたいと思い、ブログを作ってみました。 技術のこと、現在進めているプロジェクトのこと、ポエムや雑記を書き残せたら、と思っています。 生暖かく見守ってもらえたら嬉しいです。