ContractS開発者ブログ

契約マネジメントシステム「ContractS CLM」の開発者ブログです。株式会社HolmesはContractS株式会社に社名変更しました。

ArchUnitがDDDのモジュール実現にちょうど良かった話

この記事は Holmes Advent Calendar 2020 - Qiita 11 日目の記事です。 こんにちは。エンジニアの友野です。最近、Quartoにハマっており、チーム内普及に勤しんでいます。 先日、ドメイン駆動設計(以降、DDD)初学者にありがちな 「これはどこに置くんだっ…

目標管理制度を一年間運用する中での取り組みと学び

この記事はHolmes Advent Calendar 2020 10日目の記事です。 こんにちは。HolmesでVP of Engineeringとして開発組織の組織づくりや採用を担当している守屋です。 最近はもっぱら子供のクリスマスプレゼントに頭を悩ませています。 この記事では約一年間運用…

第2回 場のデザイン

Holmesでスクラムマスターの役割を担っているid:tomoya_misudaです。 引き続きファシリテーション協会のセミナーで学んだことを紹介します。 今回は、場のデザインです。会議が終わらない、みんなに発言してほしい、和やかに進めたい、厳格に伝えたいなど、…

顧客課題をプロダクトバックログに変換するプロセス-Alpha

株式会社Holmesで2020年10月よりプロダクトオーナーをしているid:w-miuchiです。 プロダクトオーナー(以下PO)としてプロダクトバックログをどういう観点、手順で作成すべきか考えました。この作成のプロセスを記載いたします。 まだまだ試行段階であること…

Spring BootでWebSocketを試す

この記事は Holmes Advent Calendar 2020 - Qiita 5 日目の記事です。 こんにちは、Holmesでサーバサイドエンジニアをしているid:c-terashimaです 12月は年末ということもありより忙しい月かと思いますが、いかがお過ごしですか? 私は技術書典10の執筆にPHP…

IntelliJでVueコンポーネントを書くときに知っておきたい機能3選

この記事は Holmes Advent Calendar 2020 - Qiita 4 日目の記事です。 ここ数日、アンプ購入をきっかけにギター熱が再燃している田中です。 JetBrains 社の提供する IntelliJ IDEA 等の製品は強力な補完を行うことができる高機能な IDE です。 言語ごとに細…

スクラムチームに振り返りbot導入してみた

こんにちは。 株式会社Holmesでスクラムマスターしてます、id:k_kubouchi です。 Holmesの開発はアジャイルでのスクラム開発で行っています。 スクラム開発のイベントには「スプリントレトロスペクティブ」というスプリントを振り返るイベントが存在します。…

第1回 ファシリテーションを学ぶ理由と必要なスキル

Holmesでスクラムマスターの役割を担っているid:tomoya_misudaです。 ファシリテーション協会のセミナーで参加して学んだことや実践したことを数回に分けて書きたいと思います。 第1回は、ファシリテーションについてや学ぶキッカケなどまとめます。 www.fa…

Gaugeを使ってMarkdownで書いたテスト仕様を動かしてみる

こんにちは。Holmesでエンジニアをしている山本です。 社内でATDDの話題が出たことがありました。受け入れテストと言えばCucumber、というイメージがあったのですが、他にないか調べたところ、Gaugeという、Markdownを仕様としてテスト実行できるツールがあ…

プロダクトにドメイン駆動設計を適用するためにはじめたこと

こんにちは。最近Slackのカスタム絵文字作りにハマっている友野です。Holmesでサーバーサイドエンジニアをしています。 Holmesが提供するホームズクラウドは、今年8月にサービスローンチ3周年を迎えました! これまでの支持に感謝し、これからも長く使っても…

WebシステムのXcodeによるモバイル確認についてまとめました(デザイン、動作)

こんにちは、Holmesでエンジニアをしている柳沢です。 今回はモバイルのデバッグ方法について書こうかと思います。 皆さんはどのように確認していますか? 多数の人はWebブラウザに搭載されているデベロッパーツールを利用していると思います。 デバイスを選…

WebDavでWord直接編集をしてみる

こんにちは、尿管結石を再発させてしまったid:c-terashimaです 数年ぶりに味わう痛みはやはり辛いですね。。皆さんも健康に気をつけて楽しいエンジニアライフを送っていきましょう 文章を書くにはWordを利用されている方が多く、契約書を作成するにも今使っ…

PlantUMLでドメイン駆動設計のモデリングを実装する(Nizi Project編)

こんにちは!株式会社Holmesでエンジニアをしている平田です。 Holmesでは、現在、プロダクト開発にドメイン駆動設計を取り入れようと、社内で勉強会の開催や各メンバーが勉強したことを共有しあったりしています。 ドメイン駆動設計に取り組むにあたって、…

Nuxt.js上でFroala Editorを動作させる方法

Holmesでエンジニアをしている三澤です。 弊社のサービスであるホームズクラウドには、契約書のテンプレートを自由に作成することができる機能があります。この機能を実現する上で、軽量なJavaScript リッチテキストエディターのFroala Editor(公式サイト)を…

SpringBootのアノテーションを使う際につまずいたポイント

Holmesの倉島です。サーバーサイドの実装をしている最中に度々存在する、@(アノテーション)とそれに関連するエラー に頭を悩ませています。今回はそんな一例を紹介しようと思います。 @RestController とあるControllerクラスに@RestControllerをつけたとこ…

gilotによるGitログ解析を、複数Gitリポジトリに対して試してみた

Holmesでエンジニアをしている山本です。 gilot (ジロー)の紹介記事を見て、複数チーム・複数Gitリポジトリで開発している弊社ではどのような結果が得られるかと思い、試してみました。 qiita.com 実行環境 参考 解析対象 解析対象とするリポジトリについて …

課題解決のためにスキルマップ(星取表)を作成

はじめまして、Holmesでスクラムマスターの役割を担っているid:tomoya_misudaです。 今回は、スキルマップ(星取表)を実施したことをお伝えしたいと考えます。 組織が抱えていた課題 企業、組織としての成長過程で、組織を構成するメンバーには一定の流動性…

REST APIのレスポンスステータスについて改めて考える

こんにちは。7月にHolmesにジョインした友野です。サーバーサイドエンジニアをしています。 今回はREST API実装時のHTTPレスポンスステータスについてです。 基本的なことですが、重要なことなので備忘録もかねて記事にしておきます。 余談ですが、Holmesで…

AWS App Mesh 導入のはまりどころとポイント

はじめに 弊社は、SPA化するためにフロントエンドとAPIを分離することにしました。それによってコンテナ間の通信状況とパフォーマンスをより簡単に把握したいニーズが生まれ、監視の高度化・インフラの安定化を目的として、AWS App Meshの導入を検討しました…

Pixelaを使ってデプロイを可視化してみた #pixela

こんにちは、id:c-terashimaです Pixela とはGitHubの草のように数値を可視化するツールです pixe.la 弊社はGitLab CIを利用してmasterブランチにソースがマージされると自動的にステージング環境へデプロイが行われます ちょっとしたことではありますが、ス…

スクラムチームに新しい仲間が入るので、ドラッカー風エクササイズによるチーム期待値調整ワークをやってみた

こんにちは。Holmesでスクラムマスターをしている吾郷です。 今回はチームビルディングの一環として行ったドラッカー風エクササイズについて振り返っていきたいと思います。 前提・状況 現在弊社では、毎月会社に数名の新しい仲間が入ってくれています。嬉し…

AWSでWebSocketのネットワーク構成を考えてみる

Holmesでエンジニアをしているid:w-miuchiです。 先日弊社のサービスでリアルタイム通知の構築がトピックに上がりました。 リアルタイム通知の手段としてWebSocketに着目し、そのネットワーク構成を考えてみました。 今回はその考えた中から構成案をいくつか…

Spring Bootのgradle bootRunによる起動を高速化してみる

Holmesでエンジニアをしている山本です Holmesでは、サーバーサイドアプリケーションをGradle管理のSpring Bootで実装しています。現在、ローカル環境での gradle bootRun によるSpring Bootアプリケーションの起動まで、数十秒かかっているため、多少なりと…

Selenium IDEでイチからUIテストを作成してみる

本記事は2020年5月20日現在の情報をもとに作成しています。 はじめに Selenium IDEとは? Selenium IDEをChromeに追加する テストの作成(記録) 補足 新たにテストを追加する場合 テストの実行 テストの修正 まとめ おわりに はじめに こんにちは。 株式会…

Facebookライクなローディング、スケルトンスクリーンをVue.js、Reactで簡単に実装する

こんにちは!株式会社Holmesでエンジニアをしている平田です。 みなさんスケルトンスクリーンをご存知ですか? FacebookやYouTubeなどで使われているローディングのことをスケルトンスクリーンと言ったりします。 今では様々なWEBサイトでも使われているため…

spring-boot-starter-scim2を使ってSCIM APIを作る

こんにちは、id:c-terashimaです tl;dr SCIMとはプロビジョニングやデプロビジョニング用のアカウント・グループ情報をRESTful APIで操作するプロトコルです 基幹システムで管理しているアカウント情報を別システムに流し込むのに利用され、ホームズクラウド…

@SpringBootTestを使ったSpockテストが遅いので、Gradleでテストをカテゴリ分けして起動を高速化する

Holmesでエンジニアをしている山本です。 以前の記事でも言及があったように、現在はユニットテストの起動および実行に非常に時間がかかっています。 最もコード量が多いプロジェクトで、ユニットテストの起動に約2分、実行には数十分かかります。 理由とし…

Vuex + TypeScriptで非同期通信のサンプルを作りました

Holmesでエンジニアをしているid:w-miuchiです。 Holmesのアプリケーションは、フロントエンドを主にThymeleaf + JQueryで構築しています。 今後はSPA(Single Page Application)に切り替えます。それにともないNuxtJS + TypeScriptを採用することになりま…

新米エンジニアがTDD(テスト駆動開発)を、約3ヶ月間行なって感じたこと

2019卒で入社した、Holmesの倉島です。(サーバーサイドエンジニア) 2020年の1月から、自社でTDD(テスト駆動開発)を推進していく方向になりました。 そこで、私が開拓を任されましたので、ブログ記述時現在(2020年4月)まで約3ヶ月間TDDを行なった感想を述べ…

認定スクラムマスター研修レポート

こんにちは! Holmesの吾郷です。 少し前になりますが、 2019年1月から本格的に運用スタートしたスクラム開発を経て、 2020年1月から新チームのスクラムマスターを務めることになりました。 それにあたり、会社から認定スクラムマスター研修を受ける機会をい…