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

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

カミナシにおけるセキュリティの文化の作り方

こんにちは、セキュリティエンジニアリングの西川です。息子が8歳なのですが、生まれてからずっと可愛いままで、いつまでこの可愛さは続いてしまうのでしょうか。 ということで、今日はセキュリティの文化の作り方について話をしていこうと思います。 セキュ…

RDS Blue/Green Deployments を使ってシュッと utf8mb4 にマイグレーションした話

AWS

Blue/Green Deployments を使って utf8mb4 にマイグレーションするための具体的な手順を詳しく解説していきます。

アナハイムで開催された AWS re:Inforce 2023 に参加してきました!

はじめまして、2023年6月よりカミナシにセキュリティエンジニアとしてjoinした西川と言います。今回はCTOのToriと私とで参加したAWS re:Inforceについて書いていきたいと思います。 re:Inforceとは AWSのセキュリティに特化したカンファレンスでEXPO、ChalkT…

エンジニアリング本部で開発合宿に行ってきました!

こんにちは〜。カミナシでソフトウェアエンジニアをやっている飯間です。 04/27(木)・04/28(金)の 2 日間、開発合宿に行ってきました! この記事はそのレポートとなります。 合宿の目的・やったこと 今回の目的は以下の 2 点でした。 「β版マインド」発揮の…

カミナシは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人でした。当時会社の残りランウェイ(残資金で運営できる期…