ContractS開発者ブログ

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

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

フィード

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