ContractS開発者ブログ

https://tech.contracts.co.jp/

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

フィード

記事のアイキャッチ画像
複数フィールドのバリデーションエラーを集約して表示するVeeValidate v4の活用法
ContractS開発者ブログ
こんにちは。ContractSでフロントエンドエンジニアをしている北原です。 弊社では、UIのバリデーションとしてVeeValidate v4を採用しています。 この記事では、複数のインプットを1つのバリデーションフィールドとして扱う方法について解決策を提示したいと思います。 目次 目次 前提知識 VeeValidateとは? VeeValidate v4 の Composition関数 1. useField 2. useForm なぜ必要なのか? TL;DR やってみる 参考 実装例 1. ラッパーコンポーネントの作成 script template 2. フィールドコンポーネントから関数…
9日前
記事のアイキャッチ画像
APIファーストで契約管理システムの連携力を高める
ContractS開発者ブログ
こんにちは。ContractSでバックエンドエンジニアをしている毛見です。 弊社がAPIファースト開発を取り入れた背景や利点、実際のアプローチを整理してブログにしました。 契約ライフサイクル管理 (CLM: Contract Lifecycle Management) は、単なる電子契約、契約書の保管という枠を超え、営業、法務、財務、購買などの多様な業務との連携によって業務の統制や効率化を図ります。昨今の企業では、業務ごとに専用のSaaSや基幹システムを導入しており、これらのシステムとシームレスに連携することがCLMに求められています。 私たちは、この連携を柔軟に実現するために APIファース…
9日前
記事のアイキャッチ画像
Pub-Subモデルを活用して通知基盤を改善した話
ContractS開発者ブログ
というタイトルで、12/13(金)に開催されたDisruptors Tech Meetに登壇しました。 こんにちは。ContractSの友野です。 Disruptors Tech Meetとは 株式会社ディスラプターズのグループ会社に所属するエンジニアが 各社事例を見て・聞いて刺激をもらう 普段触れない技術の話を聞いてスキルアップに繋げる 発表や意見交換の経験を積む といったことを目的に、日頃の成果を発表・共有する勉強会です。 ContractSはディスラプターズ(キャリアインデックスから商号変更)グループの一員として、継続的なアウトプットの場として活用しています。 同会には、キャリアインデッ…
18日前
記事のアイキャッチ画像
Vue 3, Nuxt 3 マイグレーションを経験してみて
ContractS開発者ブログ
はじめに Vue 3, Nuxt 3へのマイグレーションがなぜ必要なのか 破壊的変更の学習 プラグイン・ライブラリの選定 Vue 2コンポーネントの移行コスト マイグレーション全体を通して さいごに はじめに こんにちは。 ContractSでフロントエンドエンジニアをしている村澤です。 先日、一時的に Vue 2.x から Vue 3.x のマイグレーションへ携わる機会があったため、その間の学びを共有します。 ContractS CLMでは、Vue.js を用いて開発をしています。 Vue.jsとNuxt.jsは、Web開発において広く利用されている人気の高いフレームワークです。 技術の進化…
9ヶ月前
記事のアイキャッチ画像
【Vue.js】Painless なコンポーネント開発のプラクティス
ContractS開発者ブログ
はじめに 早速ですが... :deep 機能について :deep 機能のつらいところ そんなあなたに PrimeVue PrimeVue の Pass Through 機能 Pass Through の利用方法 最後に 出典 はじめに こんにちは!ContractS株式会社の北原です。 フロントエンドのリードとして、プロジェクトの技術選定や品質保守等を担当しています。 早速ですが... みなさまは Vue 3 をお使いになられていますか? これには、以前の Vue 2 と比較して多種多様な改善がふんだんに盛り込まれています。 2020/09/18 にリリースされてから暫く経っているので、実際の…
9ヶ月前
記事のアイキャッチ画像
非エンジニアがMarketingAutomationを使わずに顧客向けメール配信を完全自動化した話
ContractS開発者ブログ
こんにちは。そしてはじめまして。 ContractS コーポレートサクセス部のぽよさんこと新井です。 僕は職業エンジニアではないのですが、職務の一つとして社内の業務システムの管理者を受け持っており、仕事柄多くのツール(特にSaaS製品)を駆使して業務設計する機会が多く、「あ、組み合わせるとこんな感じの動きができるのね」というネタが出てきます。 そんなネタを紹介してみようと思います。 今回出てくるツール 事の発端 出てきた壁、課題 Step1:Salesforceでレポートを準備 Step2:Salesforce to SpreadSheetで自動レポート Step3:Spreadsheetでの…
9ヶ月前
記事のアイキャッチ画像
イベントストーミング体験ワークショップに参加した学びと感想
ContractS開発者ブログ
こんにちは。テックリードの友野です。最近、急に寒くなったもので、衣替えが追いついていません。 さて、11/10(金)にUMTP主催のModeling Forum 2023ワークショップ「ドメインモデリングの強力なツール: Event Stormingを体験しよう」に参加してきたので感想と、メモの整理を兼ねてポストします。 ドメインイベントの伝播による整合性担保やその仕組みはContractS CLMで部分的に採用していますが、その領域はごくわずかです。イベントストーミングという言葉そのものは知っていましたが、業務では採用しておらず、経験もありません。今回のワークショップを通じて、多くの学びがあ…
1年前
記事のアイキャッチ画像
Lombokを利用した開発環境でGradleからJavadocを出力する
ContractS開発者ブログ
エンジニアの友野です。久しぶりのポストですが小ネタです。 日頃、開発時はIDE上でJavadocを参照していたので気にしていませんでしたが、ふと、現状整理するために俯瞰した全体のJavadocドキュメントが欲しくなりました。Lombokはコンパイル時にコード生成するため、Javadoc生成時にはLombokが生成するコードがドキュメント化されません。ちなみに、onMethodのように生成したコードにアノテーション付与などするオプションではそもそもJavadoc生成時にビルドエラーになりました。 Lombokにはアノテーションからコード生成するdelombokという機能があります。つまり、del…
3年前
記事のアイキャッチ画像
transformプロパティを用いたアニメーション改善
ContractS開発者ブログ
こんにちは、id:j-horikawaです。 昨今のUIはリッチ化が進みインタラクティブなデザインを実現するためアニメーションが多く使われています。 アニメーションを多用すると、コンポーネントのアニメーションがカクつく、もたつくなど処理が重くなりがちです。 今回はアニメーションのパフォーマンスに関する1つの改善方法としてDOMのレンダリングに絞った対応策を探ってみましょう。 今回改善したいアニメーション 要素が左から右へ400px移動するだけのシンプルな実装なので実際に処理が重くなることはないのですが、処理が重くなりアニメーションがカクついているという前提でお話を進めます。 HTML <div…
3年前
記事のアイキャッチ画像
SpringBoot+Slackアプリでメッセージ通知を実装してみる
ContractS開発者ブログ
こんにちは、id:c-terashimaです。 技術書典11で無料配布している「Holmes Tech Book」ですが、多くの方にダウンロードしていただいております!ありがとうございます!! ドメイン駆動設計やmiroアプリの作成などバラエティに富んだ内容になっていますので、ぜひダウンロードしていただけると幸いです。 techbookfest.org さて、今回はJava(SpringBoot)からSlackへメッセージ送信を試してみました。 Slackアプリを作る アプリとの認証 Slack SDK アプリケーションとの認証 Slackへ通知 まとめ 参考資料 Slackアプリを作る Sl…
3年前
記事のアイキャッチ画像
#技術書典 11に参加します!
ContractS開発者ブログ
こんにちは、id:c-terashimaです。 今週末に開催される技術書典11にHolmes開発部の有志メンバーで参加させていただきます! techbookfest.org DDDやmiroアプリ作成、E2EテストにPM視点と盛りだくさんとなっております。 価格は無料を予定しておりますので、ぜひお手に取っていただきホームズクラウドの開発裏話を楽しんでいただけたらと思います。 乞うご期待! techbookfest.org
3年前
記事のアイキャッチ画像
Holmesのとあるスクラムチームのとある一週間
ContractS開発者ブログ
Holmesでエンジニアをしている三澤です。 Holmesではアジャイル開発を採用しており、開発部には複数のスクラムチームが存在しています。 私はその中のWakaruチームに所属しているのですが、日々、ホームズクラウドが分かりやすいものになるよう改善を続けています。 今回はWakaruチームの一週間の活動を通して、開発メンバーに焦点を当てて、どのようにスクラム開発を行っているのか、その雰囲気をお伝えしたいと思います。 前提として、Holmesの各スクラムチームはコンポーネントチームではなく、フィーチャーチームとして構成されています。つまり、開発の企画からリリースまでを一貫して行う機能を持ったチ…
4年前
記事のアイキャッチ画像
TestCafeによるPage Object Patternの実装
ContractS開発者ブログ
こんにちは。Holmesでエンジニアをしている山本です。 以前TestCafeについて調べた際、TestCafeでもPage Object Patternが利用できることが分かりました。 E2Eテストとしての導入を検討しているため、簡単にではありますが、TestCafeによるPage Object Patternの実装を試してみました。 実行環境 Page Object Patternの概要 TestCafeにおけるPage Object Patternの実装 実装対象画面 ページオブジェクトの実装 テストケースの実装 今後の実装予定 感想 参考ページ 最後に 実行環境 名前 バージョン OS…
4年前
記事のアイキャッチ画像
SpringBootAdminでかんたん見える化
ContractS開発者ブログ
こんにちは、サーバサイドエンジニアをしているid:c-terashimaです。 ホームズクラウドはSpringBootをメインフレームワークとして採用して複数のAPIサービスが稼働しています。 これからも増えていくが予想されるAPIサービスを管理運用していく上で、以下の課題がありました。 障害発生時のログ調査権限がSREチームメンバーのみで運用負荷が高い JVMが適切に稼働しているかリアルタイムに確認したい どのバージョンのアプリケーションがデプロイ・稼働しているのか確認したい サーバが増減しても低コストでかんたんに運用したい これらを解決するのにSpringBootAdminが適していそうな…
4年前
記事のアイキャッチ画像
テストコードに関する疑問とその個人的アンサー
ContractS開発者ブログ
holmesの倉島です。テストコード記述に関連する個人的な疑問点を、意見・考えをまとめて自分なりの回答を出してみました。 Q1: TDDで実装中に、別のテスト記述可能なメソッド(publicメソッド等)を実装したくなった。これもテスト対象? Q2: コンストラクタのテストコードは必要? Q3: テストの結果として想定している値は複数でも良い? Q4: TDDによる実装後のTODOリストの扱い Q5: テスト結果の検証を行う時 assertEqualsのように、 == や === を使用しないでメソッドを使用して比較する理由は? (最後に)おまけ Q1: TDDで実装中に、別のテスト記述可能なメ…
4年前
記事のアイキャッチ画像
ドメインサービスを書く時の判断基準と大事にしていること
ContractS開発者ブログ
こんにちは。Holmesでサーバーサイドエンジニアをしている友野です。例年ひどい花粉症ですが、医者に処方してもらった薬で今年は快適に過ごせています。薬すごい。 ドメイン駆動設計(以降、DDD)を実践する上で悩みどころは色々ありますが、中でもドメインサービスをいつ、どのように使うかは特に難しい問題です。 今回は、開発時にドメインサービスを使うかどうかを判断するポイントを整理しておこうと思います。 現時点での整理であり、これがいかなる場面においても正解であるとは思いませんが、少なからず社内理解は進んでいます。 TL;DR 弊社ではドメインサービスの使い所として、そのふるまいが以下のいずれかに該当す…
4年前
記事のアイキャッチ画像
社内2人目のコードレビュアーになるためにやってきたこと
ContractS開発者ブログ
こんにちは!株式会社Holmesでエンジニアをしている平田です。最近日本酒にはまり、ネット販売のない酒屋のHPをスクレイピングして入荷したらLINEに通知することで、入手困難と言われる日本酒を飲むことができてエンジニア冥利に尽きる日々を過ごしています。 私は2020年初ごろからHolmesでコードレビュアーを担当しています。現在(2021/03)では開発部28名の中でレビュアー4名体制となりましたが、当時はテックリード1人しかレビュアーがいない状態で、各チームにとってはコードレビューがボトルネックになることがありました。また、レビュアーにとっても負担が大きく、本人のやりたいことに注力できていま…
4年前
記事のアイキャッチ画像
GitLabのIssueがリリースされると関連するSalesforceの要望リストをGASでSlackに通知させてみた
ContractS開発者ブログ
こんにちは。Holmesでプロダクトオーナーをしているid:w-miuchiです。 長々としたタイトルですが、3つのアプリケーションを連動させた例として紹介させてください。 背景 改善案 構成 設定 1. GitLab -> Goole Apps Script 2. Salesforce ⇄ Google スプレッドシート 3. GAS -> Google スプレッドシート 4. GAS -> Slack おまけ 課題 最後に 背景 開発部以外の他部門から、リリースされる機能で解決する問題の把握が難しいという意見を頂きました。過去に投稿した要望が改善されたのかどうかがわからないとのことでした。…
4年前
記事のアイキャッチ画像
頑張らずこだわるCSSアニメーション設定
ContractS開発者ブログ
こんにちは、株式会社Holmesでエンジニアをしている堀川です。 皆さんは普段フロントのインタラクションを作り込むときアニメーションにどのくらいこだわってますか? アニメーション速度を操作するtransitionというプロパティは親の顔より見ていると思いますが、普段業務を行う中で細かいアニメーションの動作にコストをかけられない悩みがあるのではないかと思います。 そこで今回、なるべくコストをかけずにアニメーションにこだわれる animation-timing-function の使い方をご紹介させていただきます。 animation-timing-function animation-timin…
4年前
記事のアイキャッチ画像
RSGT2021参加後、早速実践してみた話
ContractS開発者ブログ
こんにちは。 Holmesでスクラムマスターをしている吾郷です。 先日行われたRSGT2021に参加してきました。 素晴らしい出会いと刺激に恵まれたイベントでした! 今回は参加したセッションの中から振り返りについて、参加後に実践した話と合わせて紹介できたらと思います。 セッション内容 実践 ポジティブふりかえりマッピング Blokus + ドット投票 今後の活動 最後に セッション内容 ふりかえりで参加したセッションは、森さんのふりかえり手法のおもちゃばこでした! 実は、これまで何度か森さんのふりかえり実践会には参加させていただいてます。 retrospective.connpass.com …
4年前
記事のアイキャッチ画像
DevRel活動始めます
ContractS開発者ブログ
こんにちは、id:c-terashimaです 2020年の3月にスタートしたHolmes開発者ブログですが、アピール活動をあまり行ってきておらず数件のアクセスのみという日もありほそぼそと活動してきました。 そんな開発者ブログですが、あることをきっかけに はてなブログランキング 入りします。 あることというのがDDDサポートをしていただいているDDD Community JP主催の松岡さんにご紹介いただいたことです。 DDDサポートをさせて頂いているHolmes様の、DDD導入事例レポートです。ローンチ3年経ったタイミングで、変更に強いプロダクトを目指してDDD導入に踏み切ったとのこと。その背景…
4年前
記事のアイキャッチ画像
SpringBoot + Intellij でホットスワップをする
ContractS開発者ブログ
この記事は Holmes Advent Calendar 2020 - Qiita 15 日目の記事です。 こんにちは。Holmesでエンジニアをしている毛見です。 最近SpringBootのBootRunに掛かる時間が長く、少しの修正でもBootRunし直さなければならないので、それをせずに変更を反映できるホットスワップについて調べたのでまとめます。 環境 macOS 10.15.7 Java11 Intellij 2020.2.4 spring initializerによりプロジェクトを生成 Project : Gradle Project SpringBoot : 2.4.1 Packa…
4年前
記事のアイキャッチ画像
FirebaseのCloud Firestoreを試してみた
ContractS開発者ブログ
この記事は Holmes Advent Calendar 2020 - Qiita 23 日目の記事です。 こんにちは!株式会社Holmesでエンジニアをしている北原です。 私は、2020年の4月に新卒でエンジニアとしてjoinさせていただきました。当初はSpringFrameworkとThymeLeafで開発を行っておりましたが、現在は弊社で使用している技術であるVue.jsの業務にシフトしてきたので絶賛キャッチアップ中です! その学習も兼ねて、趣味の範囲で小規模なWebアプリケーションの作成を考えているのですが、「storeのデータを永続化させたいけど、DBとかバックエンドの処理が動くサー…
4年前
記事のアイキャッチ画像
【AviUtl】図形オブジェクトの座標と連動した数値の表示(スクリプト制御・Lua言語)
ContractS開発者ブログ
この記事は Holmes Advent Calendar 2020 - Qiita 24 日目の記事です。 Holmesの倉島です。趣味でAviUtlというツールを用いて映像編集を行なっています。この度、このAviUtlの機能の一つ「スクリプト制御」に触れたので自身の使用例を紹介したいと思います。 AviUtlとは フリーの映像編集ソフトで、有志によるプラグイン開発等で高い拡張性が特徴です。 AviUtlについて詳しく解説されている記事があったので詳細はこちら。 aviutl.info スクリプト制御とは AviUtlのスクリプト(動作・エフェクト等を操作する効果)はLua言語で書かれています…
4年前
記事のアイキャッチ画像
弁護士からみたプロダクト開発の難しさと面白さ
ContractS開発者ブログ
はじめまして。Holmesの開発本部・PMチームの酒井です。 10年弱に亘り弁護士として働いたのち、昨年Holmesに入社してからはCEO室室長として主に経営企画やセールス的な仕事をしてきました。プロダクト開発との関係では、Holmesの事業領域である契約業務のドメインエキスパートとして関与してきたのですが、先月より正式に開発本部・PMチームに異動となり、PMM(プロダクトマーケティングマネージャー)を拝命しました。つまり、プロダクトマネジメントについては完全な素人です。 今回は、そんな初心者PdMが、プロダクト開発に潜む溝とそれを克服するために実践していることをまとめてみました。 部門間の言…
4年前
記事のアイキャッチ画像
TestCafeにGaugeを組み合わせてBDDできないか試してみた
ContractS開発者ブログ
社内でE2Eテストツールとして、TestCafeの話題が出たため、前回の記事で試したGaugeとの組み合わせでBDDのようにテストを実行できないか、検証してみました。 実行環境 なぜTestCafe単体ではなく、Gaugeと組み合わせようと思ったのか 環境構築 TestCafeのインストール Gaugeのインストール Gauge+TestCafeのサンプルプロジェクトのダウンロード サンプルテストの修正 実装 テストするブラウザの変更 テスト仕様の追加 テスト実装の記述 感想 感じたデメリット Gauge+Javaとの使用感の違い TestCafeでBDDするための代替手段 総括 最後に 実行…
4年前
記事のアイキャッチ画像
デザインのデイリー壁打ち
ContractS開発者ブログ
こんにちは。Holmesでデザイナーをしています古谷です。 今回は、プロダクトのイメージを固めていくアプローチについて書いてみたいと思います。 デザインをするにあたって、大まかな流れとしては、英デザイン・カウンシルの発表しているダブルダイヤモンドプロセスや、デザインスプリント等の手法でも用いられている通り、前提となるのは定性、定量データを元にしたアイデアの発散です。 発散する前提となる課題の発見や顧客の現状についての理解はまた別の機会で整理したいとおもいますが、では最初の仮設からどのようにして課題の特定と解決方法を検討していったら良いでしょう? デザインをもとにした壁打ち 方法としては色々ある…
4年前
記事のアイキャッチ画像
ディーター・ラムスの「グッド・デザインに必要な10の原則」について改めて考えてみる
ContractS開発者ブログ
私がデザインをする上で、思考の基準となっている、ディーター・ラムスの「グッド・デザインに必要な10の原則」について、自分の考えを交えながら語っていきたいと思います。
4年前
記事のアイキャッチ画像
プロダクトマネージャーとしてのヒアリングスキル
ContractS開発者ブログ
こんにちは。Holmesでプロダクトマネージャーをやっている井上と申します。 今回の記事は Holmes Advent Calendar 2020 - Qiita 17日目の記事です。 はじめに プロダクトマネージャーのスキルには実に様々なものがあります。調べるとよく出てくるのが下記のプロダクトマネジメントのトライアングルにあたるものです。 https://productlogic.org/2014/06/22/the-product-management-triangle/ もちろん全て欠かすことのできない重要な要素ではありますが、そのような中でも特に重要なものとして私が考えているのは、「ユ…
4年前
記事のアイキャッチ画像
スプリントレビューでプロダクトの価値を高める
ContractS開発者ブログ
この記事は Holmes Advent Calendar 2020 - Qiita 12 日目の記事です。 こんにちは。 Holmesでスクラムマスターをしている吾郷です。 今日は自分が所属するHudsonチームで行ったスプリントレビュー改善について書きます。 背景と課題 やったこと 結果 ワークの結果 スプリントレビューの目的資料を一枚挟む PBとFBの状況を共有する ユースケースに沿ったデータの作成 TRYの結果 まとめ 背景と課題 Hudsonチームでは現在のプロジェクトに関わるステークホルダーを毎週スプリントレビューに招待しています。 様々な部署からご参加いただき、ステークホルダーの数…
4年前