JVM 上で動く Lisp 方言。JVM のバイトコードへとコンパイルされる。
こんにちは。開発本部の木下です。 Visual Studio Codeの普及と同じくしてLSP(Language Server Protocol)を開発で使用することは普通のこととして浸透したように思います。 LSP があれば、Intellij IDEAに代表される IDE が提供してきたような開発体験を VSCode や Vim や Emacs といった普段から自分が使用しているエディタで得られることができるようになります。 しかしながら弊社の Clojure アプリケーションで LSP を使った開発を生産的に行うには 1 つ問題がありました。 この記事ではどういった問題なのかということと、…
初めまして、開発本部の細木です。 21年度新卒でトヨクモに入社し1年が経ちました。 今回は就職から1年経って今までの経験などを振り返ってみたいと思います。 就職までの経緯 医師以外の道 ITエンジニアという職業 内定を得るまで Progate(5年生の10月頃〜) AtCoder(5年生の11月頃〜) Web開発 就職活動 入社後にやったこと 4〜5月 スケジューラーチームに配属 6〜9月 React Query導入 バックエンド入門 仕事の仕方について 10〜11月のファーストリリースまで 11月ファーストリリース後〜3月 Zoom連携機能 予定詳細ポップアップの全画面表示 最近 応用情報技…
ハロープロットの概要 ハロプロのグループやメンバーに関するデータベースを活用した、Webサービス(になるはず)です。 今回もフロントエンドを少しいじっただけですが一応前進したということでこれをハロープロットのv0.0.2とします。 以下のリンクからハロープロットにアクセスできます。 https://helloplot.io/ v0.0.2の内容 画面遷移機能を実装してみた パンくずリストも実装してみた 遷移先は工事中 少し細かい話 以前のリリースノートでこのアプリがClojureScript製でre-frameのテンプレートから作られているという話をしました。 github.com このテンプ…
ハロープロットの概要 ハロープロットというWebサービスを作ろうと思っています。 ハロプロのグループやメンバーの情報を私個人で集められる範囲で集め、データベース化し、それをビジュアライズしたものをみなさんが自由に見られるようなサービス(になるはず)です。 とりあえずトップページだけ作って公開しました(機能は全く実装されていない)のでこれをハロープロットのv0.0.1とします。 以下のリンクからハロープロットにアクセスできます。 https://helloplot.io/ v0.0.1の内容 ハロープロットを公開 機能はまだない 少し細かい話 このサービスはAWS上のマネージドサービスを積極的に…
Clojure Advent Calendar 2021 12/11 (土) です☆ 12/10 (金) は id:kbaba1001 さんのClojureで仕事をはじめて1年経った - さめたコーヒーでした♪ www.kbaba1001.com Clojerl は Erlang VM で動く Clojure です。Erlang/OTP や Erlang library の函數を Clojure の函數であるかの樣に呼べるのが特徴です。Clojure の library は、ClojureScript に於けると同じく reader conditionals を書けば使へます。 Clojerl…
二年ぶりの開催でした。memo です。 scrapbox.io LT はこれ。Elixir でない BEAM 言語も OK だと主宰者の方から言っていただけたので、Clojerl を紹介しました。 scrapbox.io
先日書いた以下の記事で Python の script を貼り附けた。 c4se.hatenablog.com しかし今は Clojure (Babashka) で書く事に決めてあるので、書き直した。Windows 版の Babashka (bb.exe) ではなく Linux 版 (bb) を呼んでゐる。WSL2 で作業するのでこれで困らないが、かうした理由は、 日本語 file 名を WSL2 上の bash から引數で與へ、java.io.shell/sh を呼ぶと encoding が bug る。file が NTFS 上に在るか WSL2 上に在るかは關はりが無い bb.exe か…
お椀型形状の左右分離型キーボード Dactyl LightCycle をビルドした。 初めての自作キーボードだったこともあり、悩んで苦労したことや作りながら分かることが多かったので、この記事がこれからDactylをビルド&カスタムする人の参考になれば嬉しい。 なお、Dactyl LightCycleのビルドは2回行っている。1回目はElite-Cを使った有線タイプで、特にケースをカスタマイズせずにそのままPLAで印刷した。2回目はBLE Micro Proを使った無線タイプで、ケースをカスタマイズしてABSで印刷し、パテ埋めで積層痕消したり塗装を行った(PCBは1回目のものを流用)。 ビルドに…
clojureでWebアプリを作る方法をしらべるとDuctがよく出てくるのだが、 github.com 元となっているRingを手で動かして理解したかったので、Ductは使わずに簡単なAPIを書きながらチョコチョコやってた。 こちらの記事には大変お世話になった。おかげでhandlerとmiddlewareを完全に理解した。 tech.toyokumo.co.jp さて、routingのライブラリでbidiで紹介されていたのでそれを使ってゴニョゴニョやっていたのだが、なぜか思うようにいかないルーティングがあり、githubのドキュメントや、書いてあるtestをみたりしていたのだが、ちょっと痒いと…
nazology.net しかしドイツのルートヴィヒ・マクシミリアン大学(LMU)で行われた研究によって、初期生命の遺伝子と考えられているRNAそのものに翻訳機(リボソーム)なしにアミノ酸の重合を独自に行う機能があることが示されました。 生命の起源の謎! 最初の生命はどうやって遺伝情報を翻訳したかが解明される! - ナゾロジー ⇧ amazing... Eclipseのワークスペースとは? Eclipseというのは、 Eclipse(英: Eclipse、イクリプス)は、コンピュータプログラミングにおいて使用される統合開発環境(IDE)である。 Eclipse (統合開発環境) - Wikip…
ここ数年インターネットを徘徊していて見つけた「傑作論文集」をブックマークして部分的につまみ食いしたりしてきた。 自分用の備忘録として&他の人にも有用かもしれない、ということで記事にしておく。 計算機科学全般 書籍だが、MIT出版の出しているIdeas that Created the Futureという本はすごくおすすめ: mitpress.mit.edu アリストテレスまで遡って1980年まで、計算機科学を作り上げた考えの入った46本の論文が取り上げている。編者による各論文が何故重要かという前置きも非常に参考になる。カバーされている分野としても論理学、情報理論、人工知能、コンピュータアーキテ…
ビジネステクノロジー開発部の開発事例として、Edikariというプロダクトについて簡単に紹介します。
有限ラムダ多項式 Lisp 「平方根の例」を移植するために Common Lisp のサブセットを目指した Lisp を作成します。これを「有限ラムダ多項式 Lisp」と呼ぶことにします。仕様は以下のようになります。 定数・変数 定数には数値、t (真を表す)、nil (偽を表す)があります。数値は任意の桁数の小数を使うことができます。定数と演算子以外の文字列は変数として使うことができます。 ( 関数名 式 式 … 式 ) 「式 式 … 式」を引数として関数を実行します。「関数名」は 最初から定義されている関数名(car、cdr、cons、first、second、third、atom、nul…
メモ elixir のインストール。windows , mac 共に基本的には elixir 本家の通り。 mac の場合、appleシリコン用 homebrew をインストールしてから brew を使った。 windows の場合は chocolatey をインストールしてから使った。 chocolatey をインストールする際、PowerShell を 7 に upgrade した。 えっと暫く前までお金がなくて安い中古マシンにUbuntuをインストールして生活していました。10年程。 それで不便があったわけではないのですが、70歳で年金が出るようになって若干生活に余裕が出てきたのでWin…
もし觀測されてゐれば明らかだったらうが、もうとっくに Elixir を使ってゐない。代はりに Clojure と Clojerl を使ってゐる。 2020-09-03 には以下の通り、新しく Elixir でものを作りはしないだらうと書いてゐた。 scrapbox.io この時は Clojerl と Elixir を共存できると踏んでゐたのだ。しかし直ぐに、Clojerl を主とする場合は Elixir を一緒に使ふのは無理が有るとわかった。 それで Elixir を書くのは諦めたのだが、作った library ne_sachirou | Hex と Docker image https://…
2021/11~2021/12 Headless CMSのSleepy Hollowは途中でコミットしなくなってしまった。モチベ超絶ダウン中。 プライベート趣味が忙しくなり、技術にプライベートで触れる機会が著しく減った。 業務内外で触れている技術とか他 11月: Elixir, Clojure, Spring Boot, Gauge 12月: Clojure, Spring Boot, Gauge
There’s No Such Thing as Clean CodeのHacker Newsコメント経由でコードやシステム設計・最適化についての良いコメントを見つけた。どうやらHacker Newsで何度も引用されているらしいが日本語で言及された記事が見つからなかったので取り上げてみる。 コメントは2016年のSandi MetzのThe Wrong Abstractionに関するもので、発言者のcurun1rいわく「私は設計の優先順位をこの順序で学習することで、優れた開発者になれた」。*1 4つの基準と優先順位のガイドライン 状態 > 結合 > 複雑性 > コード量 私は状態 (state…
バージョン管理ツールを言語毎に入れるのがわずらわしいのでasdfというバージョン管理ツールを導入するることにした。 参考資料 バージョン管理ツール asdf でディレクトリごとにPythonのバージョンを指定する asdfインストール $ brew install asdf asdfに含まれるプラグイン一覧を表示 $ asdf plugin list all initializing plugin repository...Cloning into '/Users/masashimiyagaki/.asdf/repository'... warning: templates not found…
はじめに(翻訳者より) Arweaveプロジェクトは2017年にICOを行い(その際は「Archain」という名称でした)、以来継続的にコラムやリリースなど情報発信を続けてきています。 それらの情報の大部分が英語で発信されたものであるため、日本人に向け、少しずつ翻訳して紹介していきます(都合上、意訳を多く含みます。文末にリンクを張りますので可能なら原文も確認してみてください)。 Weaving Clarity:SmartWeaveのための安全なスマートコントラクト https://arweave.medium.com/weaving-clarity-safe-smart-contracts-f…
本日、新作プログラミングゲーム『SILVER BULLET 戦場のエンジニア 銀の弾丸コードを打て』(以下、『SILVER BULLET』)を公開いたしました! youtu.be 対応言語 Swift、C、C++、C#、Objective-C、Java、Perl、Python(2.x系)、Python(3.x系)、Ruby、PHP、Scala、Go、Kotlin、Haskell、Erlang、Bash、R、JavaScript、CoffeeScript、COBOL、VB、F#、Clojure、D、Elixir、Rust、Scheme(計28言語)無料で利用可能(paizaへの無料会員登録が必要…
はじめに 以前、VSCode の選択部分を codeblock として挿入する記事を書きました。 こちらから入手できますので、使いたい方はどうぞ。 github.com これはこれで便利なのですが、RubyMine、MATLAB など他のアプリでも利用したいですし、ターミナルの出力なども codeblock にできればいいなと思いました。昨日作成したタスク登録 (macOS のサービスを用いた Notion タスク登録 : Notion 解説(40) - hkob’s blog)と同様に選択部分を codeblock として登録する macOS サービスを作りました。 作成したスクリプト 作成…
2022-01-08 追記 ここから ===== cljstyle を教えてもらったー! bufferings.hatenablog.com 2022-01-08 追記 ここまで ===== cljfmt をサクサク動かしたいのやー ↓Clojure 用の Linter の clj-kondo は GraalVM で Native Image 化してあるのでサクサク動く GitHub - clj-kondo/clj-kondo: A linter for Clojure code that sparks joy. ↓でも、Clojure 用の Formatter の cljfmt は Lein…