カミナシ エンジニアブログ

株式会社カミナシのエンジニアが色々書くブログです

カミナシはGo Conference 2023にスポンサー参加します!

Gopherの皆さん、こんにちは! カミナシのHRでエンジニア担当している木村です。 来る2023年6月2日金曜日にGo Conference 2023が開催されますね。 カミナシはシルバースポンサーとして参加させていただきます! Go Conference 2023 今回もオンライン開催とな…

フロントエンドの Monorepo をやめてリポジトリ分割したワケ

カミナシでは Monorepo をやめてリポジトリ分割をする意思決定を行いました。今回は Monorepo をやめた背景やどういう風に作業を進めたのかをご紹介します。

技術的雑談を生むゆるふわ輪読会のはじめ方

こんにちは!カミナシでソフトウェアエンジニアをやっているくらさわです! 今回は社内でゆるめに輪読会をやってみた話をブログにしてみました! どうぞご覧ください! 輪読会のきっかけ 読む本の選定について 輪読会の進め方 輪読会の結果と反省 まとめ 輪…

技術的負債になりかけていた機能をリアーキテクティングしたら、めちゃくちゃ改善した話

ソフトウェアエンジニアの 鈴木 (@szk3) です。 先日、カミナシにおいて古くから存在する1つの機能をリアーキテクティングしました。 その結果、処理時間は4分の1以下、コストは90%程度削減 と大きな成果を出すことができました 本記事では、その機能が抱え…

一定規模を超えたプロジェクトに Organize imports を一括で適用する

エンジニアリング組織が大きくなるに連れてじわじわと開発生産性を落としていくのは目に見えていたので、そうなる前にカッとなって全ファイルに Prettier と Organize imports を適用することにしました。

開発の作業状況を見える化。Jira + GAS + Slack Botで作業の透明性を高める仕組み作り

こんにちは、カミナシPMのGTOです。 みなさんは開発の動きはどのように確認していますか? 弊社では、PMチームが作業状況をJira上のコメントを適宜確認し、動きがないか人力ウォッチしていました。 これでは、チーム間でコミュニケーションのミスは大小限ら…

2022年のカミナシ開発組織の振り返り

カミナシ・エンジニアリングマネージャーの @dmi8a です。 2022年も残すところ後わずかとなりました。 本日は2022年のカミナシ開発組織について簡単に振り返ってみたいと思います。 人数 全体的な人数は微増でしたが、この1年で正社員の割合が増えています。…

バグを調査する勘所

カミナシのソフトウェアエンジニア @imu です。 いきなりですが、バグと聞いてどういう印象を持ったでしょうか?おそらく、ネガティブなイメージを持つ方が多いのではないかと思います。ですが、ソフトウェアエンジニアには付きものと言って過言ではないくら…

Goでスタイリッシュにエラーをラップする方法を学んだ

Go

こんにちは。カミナシ ソフトウェアエンジニアの @aoman です。 つい先日、Goで有名な@tenntennさんがConnpassで募集していたGopher塾#2に参加させていただきました。 tenntenn.connpass.com 大変勉強になりおすすめです!筆者が参加したのは第一回目ですが…

Remix + Cloudflare Pages + Cloudflare Workers KV を触ってみた話

こんにちは!カミナシでソフトウェアエンジニアをやっているくらさわです! 今回は、以前から触ってみたかった Remix + Cloudflare Pages + Cloudflare Workers KV で簡単に素振りしてみた話を書きたいと思います! なぜ触ってみたかったのかというと、 エッ…

初参加して学んだ AWS re:Invent の過ごし方 〜やって良かったこと・やれば良かったこと振り返り〜

前回の記事でも書かせていただいたとおり、先週アメリカのラスベガスで行われた AWS re:Invent に参加してきました。 kaminashi-developer.hatenablog.jp 筆者は海外へ行くことも2回目(米国は初)で慣れないことも多く大変だったため、反省を来年に生かすため…

現地から見た、AWS re:Invent 2022 の様子

カミナシ ソフトウェアエンジニアの中原です。 会社として AWS re:Invent 2022 に参加させていただけることになり、現在ラスベガスに来ています! 時差があるため、現在ちょうど1日目のセッションが終わる頃なのですが、現地の雰囲気をいち早くお伝えさせて…

ReactコンポーネントをブルブルさせながらReduxのパフォーマンスチューニング

はじめに こんにちは、カミナシ社でソフトウェアエンジニアをやっている浦岡です。 我々は「ノーコードでユーザー独自の現場アプリを作成できる」サービスを開発しています。 そのサービスのフロントエンドの開発にはReact×Reduxを使っているのですが、 サー…

Goでダブルポインタを知った話

Go

こんにちは。カミナシ ソフトウェアエンジニアのAomanです。 最近ちょこちょこアルゴリズムやデータ構造、Goのキャッチアップしています。 そんな中、go.devのブログ Go blog のとある記事でダブルポインタを使用するコードに出会いました。筆者は今まで、Ru…

ユーザーフィードバックが共有される良い文化がある話

カミナシのソフトウェアエンジニア @imu です。 ソフトウェアエンジニアの仕事をしていて、やりがいを感じられる瞬間はいくつかありますよね。例えば、「新規機能開発をする」「新しい技術に触れる」「モノづくりが楽しい」などが挙げられます。ここ最近、私…

スクラムを立て直すために取り組んだ 5 つのこと

10 月の終わりに、ひとつだったエンジニアリングチームを分割する形で 2 チームが生まれました。チームの立ち上げから 1 か月ほど経ったので、チーム分割する前と後でスクラムにどのような改善が見られたのか振り返ってみようと思います。

サーバサイド ( をメインでやっていた ) エンジニアが React Native と Expo でモバイル開発に入門した話

こんにちは!カミナシでソフトウェアエンジニアをやっているくらさわです! 今回は元々、サーバサイドをメインに開発していた私が、カミナシでモバイルアプリの開発に取り組んでみた話を書きたいと思います! カミナシのチームについて React Native につい…

【登壇資料】「BtoB SaaSにおける技術課題との向き合い方」 で「デスクレスSaaSが向き合う、現場DXのための技術課題」というテーマで登壇してきました。

カミナシ・ソフトウェアエンジニアの @Taku です。 先日行われた Sansan株式会社様主催の BtoB SaaSにおける技術課題との向き合い方 にて「デスクレスSaaSが向き合う、現場DXのための技術課題」というタイトルで発表してきました。 sansan.connpass.com 登壇…

Google Workspace カレンダーの大事っぽい予定に自動で色付けしてくれる GAS スクリプトを書きました

GAS

カミナシのトリ (@toricls) です。みんな大好き Google Apps Script (GAS) の小ネタです。 TL;DR 業務で使っている Google カレンダーの 外部の方がいそうな予定 オフィスとかに出社が必要そうな(≒大好きな家から出なきゃいけなさそうな)予定 あたりに、自動…

顧客企業のネットワーク構成によりReact Native + ExpoのOTAアップデートが動作しなかったのを突破した話

カミナシ・エンジニアリングマネージャーの @dmi8a と、 エンジニアの @imu です。 現場DXプラットフォーム「カミナシ」は、WebのアプリケーションとMobileのアプリケーションを1セットで提供する形を採用しているサービスです。 今日はExpoのOTAアップデー…

Goのreflectパッケージを使って構造体の指定フィールドをゼロ値にしてみた

Go

目次 目次 はじめに この記事の対象読者 reflectパッケージとは? 基本的な使い方 reflect.Type reflect.Value 実装 reflect注意点 参考させていただいた文献 終わりに はじめに こんにちは、そしてはじめまして!カミナシエンジニアのAomanです。 カミナシ…

【登壇資料】弁護士ドットコム様 × カミナシ共催イベント「憧れのマイクロサービスと愛すべきモノリスの話」にてLTしてきました

カミナシ・エンジニアリングマネージャーの @dmi8a です。 先日行われた 弁護士ドットコム様 × カミナシ共催イベント「憧れのマイクロサービスと愛すべきモノリスの話」 にて「カミナシの開発組織の現在地 〜個人集団からチーム化へ〜」というタイトルで発表…

Reduxのstateの認知負荷を下げたい話

カミナシのソフトウェアエンジニアの天野です。 カミナシは、現場DXプラットフォーム「カミナシ」の開発をしています。 今日はフロントエンドの小ネタを紹介しようと思います。 よろしくお願いします。 TL;DR 経緯 結論 実際に見てみると TL;DR Reduxで管理…

GORM で出力されるログの SQL と実行される SQL が違った話

7月に株式会社カミナシに入社したくらさわです! カミナシでは、現場DXプラットフォーム「カミナシ」の開発をしています! よろしくお願いします!!! きっかけ 検証バージョン 結論 コード書いて確認してみた ドキュメント読んでみた コード読んでみた go-…

【登壇資料】レガシー現場をテクノロジーで切り拓く 〜保育・教育・建設・製造・医療現場で活躍する管理画面づくりとは〜 に登壇してきました

カミナシ・エンジニアリングマネージャーの @dmi8a です。 先日行われた レガシー現場をテクノロジーで切り拓く 〜保育・教育・建設・製造・医療現場で活躍する管理画面づくりとは〜 にて「紙にまつわる苦しみを機能化してきたカミナシの歴史」というタイト…

0=>1フェーズの技術的負債を解消する第一歩@バックエンド編

Go

こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 我々のサービス『カミナシ』をローンチしてから、今年の夏で丸2年を迎えます。 私は『カミナシ』のプロダクト開発初期メンバーの1人でした。当時会社の残りランウェイ(残資金で運営できる期…

ECSタスクで1時間おきにRDS Auroraのスナップショットを取得する

エンジニアのTakuです。 カミナシではデータ保全のため、RDSのスナップショットを1時間おきに取得し、万が一のデータ破損に備えております。 今回はそのECSタスクで定期的にバッチ処理を実行する方法について共有させていただきたいと思います。 取得理由 カ…

インフラ未経験エンジニアが構築したGCPがたった数ヶ月でAWSに移行された話

こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 2021年11月に以下の開発者ブログを公開しました。 kaminashi-developer.hatenablog.jp α版として構築したインフラですが、2022年1月にインフラ移行の話が突如検討されました。 なぜ最終的にA…

multipart/form-data形式のファイルが突然アップロードに失敗する問題を仮説を立てながら解決する話

こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 突然ですがファイルアップロードに失敗することってありますよね? カミナシレポートのプロダクトはオフライン機能を実装しており、オフラインで記録したデータをアップロードしたときに失敗…

【登壇資料】Startup Issue Gym #3【AWS活用におけるIssue】に登壇してきました

カミナシ・エンジニアリングマネージャーの @dmi8a です。 先日行われた Startup Issue Gym #3【AWS活用におけるIssue】 にて「カミナシレポートが辿り着いたメンテナンスモードのあり方」というタイトルで発表してきました。 概要 カミナシは、フロントエン…