Toyokumo Tech Blog

トヨクモ株式会社の開発本部のブログです。

4月のTokyo Clojure会を開催しました!

自己紹介 こんにちは!アーロンと申します。4月1日にトヨクモのエンジニアとして入社させていただいて主にClojureについてブログを書いてる人です。アメリカ人で純粋な日本語話者ではないのでよろしくお願いします! Github - aburd (Aaron B) · GitHub 概要…

Clojureを静的型付け言語にする

Clojureをschema.coreの型解析を静的に行うことで静的型付け言語のようにしていく方法を紹介します!

Babashka pods から使う clj-kondo

開発本部の飯塚です。 この記事は Clojure Advent Calendar 2022 5日目の穴埋めに向けた記事です。 今回は clj-kondo を Babashka pods として利用する方法を簡単に解説したいと思います。 用語の説明 clj-kondo Babashka Babashka pods Babashka pods とし…

Thanks OSS Award というサイトを公開しました

Thanks OSSチーム チームリーダーの飯塚です。 タイトルの通りですがこの度、Thanks OSS Award というサイトをついに公開できたのでその紹介です。 Thanks OSS Award とは 究極の目標 活動裏話 GitHub Sponsors が有効でない GitHub Sponsors の任意金額の開…

シンプルな例で理解するWASMの基礎の基礎

こんにちは。開発本部の松尾です。 今回は、趣味でWebAssemblyをターゲットにしたコンパイラを作った知見を元に、WebAssemblyについての解説記事を書きました。 WASMとは? WASMの用途やメリット 今回やること テキスト形式について Real World WASM WASMと…

Clojureで作るAPI RESTful APIを追加する

[連載]Clojureで作るAPIの12記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp 前回記事ではRing Middlewareを追加してAPIとしての体裁を整えました。 今回はRESTful APIとして振る舞うために足りない仕組みの整備をしていきます。 RESTful APIに…

Clojureで作るAPI RingMiddlewareを追加してAPIらしくする

[連載]Clojureで作るAPIの11記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp 前回記事ではルーターを追加して設定しました。 今回はその上にRing Middlewareを追加してAPIとしての体裁を整えていきます。 なお、Ring Middlewareについては次の記…

Clojureで作るAPI ルーターを追加する

[連載]Clojureで作るAPIの10記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp これまでWebアプリケーションの開発をするための準備をしてきましたが、これからは実際にWebアプリケーションとしての機能を追加していきます。 今回の記事ではWebア…

Clojureで作るAPI テストできるようにする

[連載]Clojureで作るAPIの9記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp 現在開発しているプロジェクトにはテスト対象自体がまださほどありませんが、先にテストを書ける環境を整えておくことは今後の開発の健全性のために重要です。 そこで…

Clojureで作るAPI ロギングできるようにする

[連載]Clojureで作るAPIの8記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp この記事ではロギングをできるようにしていきます。 Javaのロギングの歴史的経緯と現在 unilogを使って設定する Systemと統合する おわりに Javaのロギングの歴史的経…

Clojureのリンターclj-kondoの使い方

開発本部の飯塚です。 今回は Clojure のリンターである clj-kondo の使い方をちょっと踏み込んだところまで説明できたらと思います。 github.com Clojure でプログラムを書いている人であればすでにほとんどの方は使っているのではと思うのですが、 もし使…

Toyokumoでやったこと・学んだことまとめ

こんにちは、開発本部の石井です。個人的に関心のある分野に転向するために2022年の7月で退職することになったのですが、これは弊社でやったこと・学んだことをまとめておく良いタイミングなのでは?と思い、退職エントリの形でまとめてみることにしました。…

Clojureで作るAPI 設定をednで管理する

[連載]Clojureで作るAPIの7記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp この記事ではアプリケーションの設定をClojureのソースではない設定ファイルで管理できるようにしていきます。 なぜ設定ファイルで管理する必要があるのか aeroを追加 …

Clojureで作るAPI ビルドして実行できるようにする

[連載]Clojureで作るAPIの6記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp この記事ではビルドしてJARファイルを生成し、 java コマンドでアプリケーションを実行できるようにしていきます。 JARファイルとは tools.buildを使う Makefileに追記…

Clojureで作るAPI 開発用のコードを分離する

[連載]Clojureで作るAPIの5記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp この記事では開発用のコードと実際のコードとを分離し、開発用の関数が評価された状態でREPLが起動されるようにすることで、今後の生産性を上げるようにします。 alias…

Clojureで作るAPI ライフサイクルと依存関係を管理できるようにする

[連載]Clojureで作るAPIの4記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp この記事ではREPLを再起動することなくWebサーバーを再起動できるようにしていきます。 なぜ再起動できる必要があるのか 使用するライブラリを追加 Componentを実装 Sy…

Clojureで作るAPI Web サーバーを立ち上げる

[連載]Clojureで作るAPIの3記事目です。 前回の記事はこちらです。 tech.toyokumo.co.jp この記事ではWebサーバーを立ち上げていきます。 Webサーバーのライブラリを追加 まずは依存関係にWebサーバーのライブラリを追加します。 deps.edn を次のようにして…

Clojure で作るAPI 開発環境を構築する

[連載]Clojureで作るAPIの2記事目です。 まずは開発環境を作るところからやっていきましょう。 要件 インストール REPLを動かす First commit フォーマッターの設定 リンターの設定 Makefileにまとめる おわりに 要件 今回は次の要素を必須の要件として構築…

Clojureで作るAPI はじめに

これから、「Clojureで作るAPI」と題して、Clojureを使ってAPIを作る方法をステップバイステップで解説していきたいと思います。 内容としては開発環境の構築から始め、必要な事柄を理解しながら徐々に機能を足していき、最終的には本番環境で使えるようなAP…

昇給によって年収1000万円を超えるエンジニアを産み出すという目標の達成報告

こんにちは。CTOの木下です。 「昇給によって年収1,000万円を超えるソフトウェアエンジニアを産み出す」という目標の達成報告をしたいと思います。 実は初めて達成してからかなり時間が経ってしまっているのですが、これまで、そしてこれからの取り組みによ…

Clojure記事まとめ

弊社で書いたClojure関連記事をまとめます。 リンクになっていないものは今後執筆予定です。 開発環境 エディター フォーマッター リンター プロジェクト Clojure基礎知識 Clojureを使ったWebアプリケーション開発のための基礎知識 [連載]Clojureで作るAPI …

Spacemacsで始める Clojure 開発

こんにちは。開発本部の木下です。 先日ClojureアプリケーションをLSPで開発するための方法について書きました。 tech.toyokumo.co.jp そこで本記事では上記のような Clojure アプリケーションをSpacemacsで開発するための設定について記載します。 なお、Sp…

プリントクリエイターに縦書き機能を実装しました

こんばんは。開発本部の石川です。 今回は、弊社のkintone連携製品の一つであるプリントクリエイターに「縦書き出力機能」*1*2を追加した軌跡を備忘録として書き残しておこうと思います。 プリントクリエイターとは 縦書きに対応したライブラリが無い問題 縦…

モノレポなClojureプロジェクトをClojure LSPで開発するための設定方法

こんにちは。開発本部の木下です。 Visual Studio Codeの普及と同じくしてLSP(Language Server Protocol)を開発で使用することは普通のこととして浸透したように思います。 LSP があれば、Intellij IDEAに代表される IDE が提供してきたような開発体験を VSC…

大学休学 => ゲーム業界でインターン => トヨクモに就職しました

ゲームプログラマを志して情報系の大学に進学してから、大学を休学し、Webプログラマとして就職するに至った、その経緯と心の内や初心を書き残しました。

医学部を卒業後、トヨクモに就職して1年が経ちました

初めまして、開発本部の細木です。 21年度新卒でトヨクモに入社し1年が経ちました。 今回は就職から1年経って今までの経験などを振り返ってみたいと思います。 就職までの経緯 医師以外の道 ITエンジニアという職業 内定を得るまで Progate(5年生の10月頃〜)…

OSSへの寄付活動について

開発本部の飯塚です。 弊社ではオープンソースソフトウェア(以下、OSS)に対して継続的な寄付という形で開発の支援を行っています。 この件について今まで特にアウトプットがなかったので、これを機にトヨクモがOSSをどう思っているのか、なぜ寄付をしている…

トヨクモ株式会社を退職します

開発本部の齊藤です。2021年の1月で退職することになりました。業務内容の紹介も兼ねて今まで何をやってきたか、これから何をするかについて書きます。 入社までの経緯 入社してからやったこと kintone-query-builder (2019年4月) pc-auto-save (2019年5月) …

メール送信ライブラリ tarayo のすすめ

開発本部の飯塚です。 今回は担当している製品で利用しているメール送信ライブラリを自社製のものに移行した経緯や利点などをまとめてみました。 概要 kMailer というサービスの開発/運用を行っている コア機能であるメール送信のライブラリとして postal を…

AWS CLI を Babashka スクリプトでラップして楽しよう

開発本部の飯塚です。 業務で Babashka を使う機会を無理矢理作ってみたので、その副産物を公開してみます。 動機 CloudWatch Logs からログを抽出して調査したい AWS CLI を使ってもいいが、クエリの発行、クエリの完了待ち、結果取得が面倒 良い感じにラッ…