Tags
Cycle.js
HERP ではフロントエンド開発で Functional Reactive Programming のパラダイムを取り入れるために、フロントエンドフレームワークとして Cycle.js を積極的に利用しています。合言葉は、"Cycle.js is 最高.js"
Effect system
副作用のような計算エフェクトを静的に扱うための形式体系です。HERPでは副作用を持つ計算を合成性を高く記述するために extensible effects などを採用しています。
Functional Programming
HERPでは関数型プログラミングのパラダイムを取り入れることで、副作用が少なくメンテナンス性の高いコードベースを維持することを目指しています。
Git
HERPではGitを用いてコードベースのバージョン管理を行っています。
Haskell
HERPではサーバサイドの実装にHaskellを使用しています。高度な型システムと強力な型推論、純粋な計算と副作用の分離、テストケースの自動生成などが、安全なソフトウェアの継続的な開発を可能にしています。
Kubernetes
HERPではコンテナ・オーケストレーションにKubernetesを利用しています。
Nix
HERPでは開発環境・本番環境でのビルドにNixを使用しています。純粋関数型パッケージマネージャーであるNixは、宣言的で再現性のあるビルドを可能にし、ビルドを高速化するためのバイナリキャッシュの機構も提供しています。
OSS
HERPのサービスの開発・提供は多数のOSSによって支えられています。そのため、我々もまたOSSコミュニティに還元できるよう心掛けています。
Purescript
Haskellっぽく、高度な型システムと強力な型推論、純粋な計算と副作用の分離、そしてJavascriptに簡単にコンパイルできる小さな言語です。
Template Haskell
Template Haskellは、コンパイル時に型安全にメタプログラミングを行うための機能です。プログラムによってHaskellの構文木を生成することで、外部ファイルの読み込みをコンパイル時に行ったり、独自の文法を持ったEDSLを定義することを可能にしています。
Terraform
TerraformはHashiCorp社によって開発された、インフラストラクチャの構成管理を行うためのソフトウェアです。Infrastructure as Codeはモジュールの再利用性を高め、現状のリソース状況の把握を容易にすることで属人化を避けることに繋がります。
Type Safety
HERPでは使用する言語の選定にあたって、豊かな表現力を伴った型システムを重視しています。正しく型付けられたプログラムからは実行時エラーを排除できるため、サービスの信頼性を向上させることができます。
TypeScript
HERPではフロントエンド・サーバーサイドともにTypeScriptを採用しています。型システムの恩恵を受けながら開発を行うことで、数多くのエラーを未然に防ぐことや、IDEやエディタの支援による開発効率の向上が可能となっています。
UI
HERPでは最高のユーザ体験を提供するためにプロダクトの細部のUIまで徹底的にこだわって設計しています。
Zsh
HERPでは標準的な開発環境としてZshを推奨しています。強力な補完機能や数多くのオプションは、日々の開発をより一層効率的にしてくれます。