記事一覧

macOS で入力言語を切り替える際のアニメーションを減らして誤操作を減らす方法

背景macOS にて英語と日本語の入力ソースを頻繁に切り替えるような使い方をしており、言語切り替えのたびに表示されるアニメーションは視覚的にわかりやすく便利ですが、時…

hden
9か月前

ChatGPT と一緒に肉を焼いてみた

ふと無性にサムギョップサルを食べたくなってきたのですが、あいにく手元にレシピが無かった。人気のレシピサイトで検索しても良かったのですが、せっかくなので ChatGPT …

hden
1年前
2

Datomic Cloud を一年半運用してきた感想

こんにちは。トレタの CTO の鄧(でん)です。今回はトレタ Advent Calendar 2022 12 月 4 日分の記事で会社の主力サービスの運用の話です。 はじめに トレタでは O/X (O…

hden
1年前
2

Datastream for BigQuery で Incremental な分析環境を作ってみた

こんにちは。トレタの CTO の鄧(でん)です。今回はトレタ Advent Calendar 2022 12 月 3 日分の記事でデータ基盤と分析環境の話です。 トレタでは約 1,944 GiB (RDS バ…

hden
1年前
5

Datomic Cloud を半年運用した感想

こんにちは、株式会社トレタで Clojure を書いている鄧(でん)です。 2021 年 7 月より新規事業をして飲食店向けのセルフオーダーシステムを開発しており、そのバックエン…

hden
2年前
13

[TLA+] 分散システムを設計する際に形式仕様を導入してみた

こんにちは、トレタの鄧(でん)です。 今回はトレタ社内でシステムを設計する際に導入した形式仕様(formal specification)、あるいは形式手法(formal method)につい…

hden
2年前
6

Datomic Cloudで実現するデータ指向アプリケーションデザイン

これは何かClojure Advent Calendar 2020の記事です。職場でDatomic Cloudを使ってプロトタイピングした経験かTipsとかを淡々と書き下ろした内容となっております。長文で…

hden
3年前
11

まとめ、アンインストール方法

(これは「week-of-datomic」最終日の記事です) これまで schema 管理、アプリケーションロジック、デプロイ、分析などいろいろな視点から Datomic Cloud を使ってみま…

hden
4年前
1

Datomic Analytics

(これは「week-of-datomic」四日目の記事です) 前回はアプリケーションロジックをデプロイするところまで作りましたが、このままだどアプリケーション側に蓄積されたデ…

hden
4年前
1

アプリケーションロジック(Ions)

(これは「week-of-datomic」三日目の記事です) 前回ではデータベースのテータ構造(Schema)を定義するところまで作りましたが、今回は API を公開して外部からアクセス…

hden
4年前
2

データモデリングとスキーマ管理

(これは「week-of-datomic」二日目の記事です) 一般的なリレーショナルデータベース(以下 RDBMS)はデータ定義言語(DML)とデータ操作言語(DDL)という二つの異なる…

hden
4年前
1

week-of-datomic

久しぶりに集中できる時間があったので、念願の Datomic を触てみようと思います。日記もかねて内容を advent calendar 形式で公開しようと思います。 スケジュール● 12/…

hden
4年前

Datomic Cloud のシステム構成とインストール方法

(これは「week-of-datomic」初日の記事です) Datomic は単体で動く「on-prem」とクラウドで動かす「Datomic Cloud」がありますが、今回は自分の AWS アカウント上で Dat…

hden
4年前
1

Datomic Cloud Analytics を使ってみた

アプリケーションのデータ分析や障害対応、または会計監査の際に、過去の状態を完全に再現できたらいいなと思ったことありませんか?またはデータの関係性を変更する(一対…

hden
4年前
6

Steve Yegge の Google とプラットフォームに関するぶっちゃけ話

元 Google 元 Amazon エンジニアの Steve Yegge が 2011 年に「Stevey's Google Platforms Rant」というタイトルで発表したブログがありました(日本語訳がありましたので…

hden
4年前
1

現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ

これは何か和田卓人さん(🦁)の「現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ」を Clojure で挑戦しました。 お題: 現在時刻が関わるテスト* 問1: 時間…

hden
4年前
1
macOS で入力言語を切り替える際のアニメーションを減らして誤操作を減らす方法

macOS で入力言語を切り替える際のアニメーションを減らして誤操作を減らす方法

背景macOS にて英語と日本語の入力ソースを頻繁に切り替えるような使い方をしており、言語切り替えのたびに表示されるアニメーションは視覚的にわかりやすく便利ですが、時としてその遅延が誤操作を引き起こすことがあります。もちろん他の可能性も模索しましたが、現状最も効果があったのはアニメーションの無効化で、本当はシステム側の他の仕組みが加わっている可能性は否定できませんが、こちらのアニメーションが出てこ

もっとみる
ChatGPT と一緒に肉を焼いてみた

ChatGPT と一緒に肉を焼いてみた

ふと無性にサムギョップサルを食べたくなってきたのですが、あいにく手元にレシピが無かった。人気のレシピサイトで検索しても良かったのですが、せっかくなので ChatGPT と一緒にレシピから作ってみました。

想定読者ChatGPT に興味がある方

肉が好きな方

環境ChatGPT 3

フライパン一つ

との他は一般的なご家庭でもよく見かける材料のみ

レシピを生成してみるChatGPT はプロ

もっとみる
Datomic Cloud を一年半運用してきた感想

Datomic Cloud を一年半運用してきた感想

こんにちは。トレタの CTO の鄧(でん)です。今回はトレタ Advent Calendar 2022 12 月 4 日分の記事で会社の主力サービスの運用の話です。

はじめに

トレタでは O/X (Order Experience) という名で飲食店向けのモバイルオーダーエントリーシステムを提供しており、将来的には POS レジまで作る予定となっております。もちろんお客さんにとってかなり重要な

もっとみる
Datastream for BigQuery で Incremental な分析環境を作ってみた

Datastream for BigQuery で Incremental な分析環境を作ってみた

こんにちは。トレタの CTO の鄧(でん)です。今回はトレタ Advent Calendar 2022 12 月 3 日分の記事でデータ基盤と分析環境の話です。

トレタでは約 1,944 GiB (RDS バックアップサイズ) のデータベースを扱っており、一般的な daily バッチ式の ETL では時間がかかり過ぎるため、元々 Debezium ベースの内製ツールを使って AWS にあるプロダ

もっとみる
Datomic Cloud を半年運用した感想

Datomic Cloud を半年運用した感想

こんにちは、株式会社トレタで Clojure を書いている鄧(でん)です。
2021 年 7 月より新規事業をして飲食店向けのセルフオーダーシステムを開発しており、そのバックエンドに Datomic Cloud と Clojure を採用しました。

採用理由は幾つかありますが、主に履歴、監査ログ、変更通知周りの機能要件がマッチしていると考えており、現状 Datomic と親和性が最も高い Clo

もっとみる
[TLA+] 分散システムを設計する際に形式仕様を導入してみた

[TLA+] 分散システムを設計する際に形式仕様を導入してみた

こんにちは、トレタの鄧(でん)です。

今回はトレタ社内でシステムを設計する際に導入した形式仕様(formal specification)、あるいは形式手法(formal method)についてお話したいと思います。

なぜ形式仕様が必要なのか?モバイルアプリや Web アプリ、またはマイクロサービスなどの普及により基本分散型のサービスが主流になりつつあると思いますが、その分散型のシステムを設計

もっとみる
Datomic Cloudで実現するデータ指向アプリケーションデザイン

Datomic Cloudで実現するデータ指向アプリケーションデザイン

これは何かClojure Advent Calendar 2020の記事です。職場でDatomic Cloudを使ってプロトタイピングした経験かTipsとかを淡々と書き下ろした内容となっております。長文ですが、これを機にDatomicに興味を持って頂けると嬉しいです。

データ指向アプリケーションとは
ここで言うアプリケーションはデータ(実績やファクト)を蓄積、表示、加工、運用、場合によっては分析

もっとみる
まとめ、アンインストール方法

まとめ、アンインストール方法

(これは「week-of-datomic」最終日の記事です)

これまで schema 管理、アプリケーションロジック、デプロイ、分析などいろいろな視点から Datomic Cloud を使ってみましたが、今回は後片付けをしたいと思います。

Datomic Cloud は基本 CloudFormation で管理されていて、CloudFormation Stack を削除することでほぼ消えるの

もっとみる
Datomic Analytics

Datomic Analytics

(これは「week-of-datomic」四日目の記事です)

前回はアプリケーションロジックをデプロイするところまで作りましたが、このままだどアプリケーション側に蓄積されたデータがサイロ化するので今回は分析基盤と繋げてみようと思います。

アーキテクチャー
Datomic は内部のデータを SQL(Apache Presto)のインタフェースを通じて外部に公開することが可能です。

Access

もっとみる
アプリケーションロジック(Ions)

アプリケーションロジック(Ions)

(これは「week-of-datomic」三日目の記事です)

前回ではデータベースのテータ構造(Schema)を定義するところまで作りましたが、今回は API を公開して外部からアクセスできるようにしたいと思います。使っているデータセットは「MusicBrainz」、音楽業界のアーティストと曲のデータベースです。

アーキテクチャーDatomic Cloud は独自の最適化されたアーキテクチャー

もっとみる
データモデリングとスキーマ管理

データモデリングとスキーマ管理

(これは「week-of-datomic」二日目の記事です)

一般的なリレーショナルデータベース(以下 RDBMS)はデータ定義言語(DML)とデータ操作言語(DDL)という二つの異なる文法で操作するのですが、Datomic の世界ではデータとデータ構造(以下 schema)を区別しておらず、すべてデータとして扱います。もちろんトランザクションもデータですのでビジネスドメインのメタデータを追加し

もっとみる
week-of-datomic

week-of-datomic

久しぶりに集中できる時間があったので、念願の Datomic を触てみようと思います。日記もかねて内容を advent calendar 形式で公開しようと思います。

スケジュール● 12/3 (火) - Datomic Cloud のシステム構成とインストール方法
● 12/4 (水) - データモデリングとスキーマ管理
● 12/5 (木) - アプリケーションロジック(Ions)
● 1

もっとみる
Datomic Cloud のシステム構成とインストール方法

Datomic Cloud のシステム構成とインストール方法

(これは「week-of-datomic」初日の記事です)

Datomic は単体で動く「on-prem」とクラウドで動かす「Datomic Cloud」がありますが、今回は自分の AWS アカウント上で Datomic Cloud を動かしてみようともいます。

Datomic Cloud のインストール方法について
まずは AWS Marketplace ではなく、公式の Cloud For

もっとみる
Datomic Cloud Analytics を使ってみた

Datomic Cloud Analytics を使ってみた

アプリケーションのデータ分析や障害対応、または会計監査の際に、過去の状態を完全に再現できたらいいなと思ったことありませんか?またはデータの関係性を変更する(一対多 → 多対多)際に、もっとシンプルに出来ないかと考えてことはありませんか?

Datomic Cloud はデータの構造、粒度、キャッシュ、それと「時間の巻き戻し」も含め、全てきめ細かく管理できるように設計されたアプリケーションアーキテク

もっとみる

Steve Yegge の Google とプラットフォームに関するぶっちゃけ話

元 Google 元 Amazon エンジニアの Steve Yegge が 2011 年に「Stevey's Google Platforms Rant」というタイトルで発表したブログがありました(日本語訳がありましたのでよかったらこちらからどうぞ)。中身は当時のクラウドプラットフォームに対する愚痴ですが、その中で当時の Amazon が SOA (今時の言い方だとマイクロサービス) 化を進めて

もっとみる

現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ

これは何か和田卓人さん(🦁)の「現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ」を Clojure で挑戦しました。

お題: 現在時刻が関わるテスト* 問1: 時間に応じて異なるあいさつをする関数を作成する(テスタブルに)
* 問2: ロケールによって異なるあいさつに対応させる(テスタブルに)

この解答例の大きな目的* 関数とプロトコルによる問題のモデリング過程
* 責務の分割と

もっとみる