Hacobell Developers Blogのフィード

https://zenn.dev/p/hacobell_dev

「物流の次を発明する」をミッションに物流のシェアリングプラットフォームを運営する、ハコベル株式会社 開発チームのテックブログです! 【エンジニア積極採用中】https://t.hacobell.com/blog/career

フィード

記事のアイキャッチ画像
「ねこGIF事件」年内しくじり供養
Hacobell Developers Blogのフィード
「めぐろLT Advent Calendar 2024」ー 20日目の記事です。はじめまして、今年TechPdMとして入社した安井です。今回は、私が入社直後にやらかしてしまったしくじりと、そこから学んだ改善策についてお話させてください。 要件定義が進まず、本番環境のデータを確認し始める入社直後、私は要件定義がなかなかスムーズに進まず、苦戦していました。原因を振り返ると、QA環境のデータだけでは実際のユーザーの行動の解像度が低いままで、実際にどう業務で使われているかをイメージするのが難しい状況でした。そこで、解決策として本番環境のデータを確認するという選択を取りました。本番環...
16日前
記事のアイキャッチ画像
Rails で既存テーブルに STI を適用する時に気をつけること
Hacobell Developers Blogのフィード
Rails の STI (Single Table Inheritance) は、1つのテーブルで複数のモデルを管理できる便利な機能です。しかし、既存のテーブルを STI に移行する際には注意が必要です。今回は、実際に遭遇した問題とその解決策について共有します。 問題が発生した状況既存のテーブルに STI を導入するため、以下の変更を1回のリリースで行おうとしました。type カラムの追加サブクラスの追加デプロイの流れは以下のようになっていましたデータベースのマイグレーション実行(db:migrate)Rails アプリケーションの再起動この時、マイグレーション...
17日前
記事のアイキャッチ画像
【VSCode】 マルチカーソル、使ってますか?
Hacobell Developers Blogのフィード
この記事は「めぐろLT Advent Calendar 2024」ー 16日目の記事です。マルチカーソル機能は、複数のカーソルを使って同時に編集を行うことができる機能です。VSCodeには、このマルチカーソル機能が標準で搭載されており、効率的なコーディングをサポートしてくれます。マルチカーソルを使用している様子本記事では、マルチカーソル機能の使い方と、筆者が実際にどのような場面で使用しているかを紹介します。 マルチカーソル機能の使い方VSCodeでは以下の方法でマルチカーソルを作成することができます。マルチカーソルの作成方法Mac版のショートカットWindow...
20日前
記事のアイキャッチ画像
GitHubでファイル差分が表示されない!?レビューを快適にするための差分の非表示ロジックを解説
Hacobell Developers Blogのフィード
はじめにある日、プロジェクトのschema.resolver.goファイルが突如としてGitHub上でgenerated fileと判定され、プルリクエストの差分に表示されなくなる問題に直面しました。「Some generated files are not rendered by default」となり差分が表示されない様子schema.resolver.goファイルは、GraphQLサーバーの実装ファイルでgqlgenによってメソッドのシグネチャのみが自動生成されますが、その実装部分は我々が記述しなければなりません。そのため、コードレビューは不可欠ですが、GitHubで差...
2ヶ月前
記事のアイキャッチ画像
【技術選定】 0→1 の SaaS に採用して感じた GraphQL への向き合い方
Hacobell Developers Blogのフィード
この記事では、ハコベル配車計画の0→1フェーズのSaaSプロダクトにおいてGraphQLを採用した経験から感じたGraphQLへの向き合い方について紹介します。スライドでも公開していますのでぜひご覧ください。また、この内容についての発表は下記で配信されていますので、こちらもぜひご覧ください。https://findy.connpass.com/event/328076/ プロダクトの背景2022年に、物流DXを実現する新たなSaaSを作るプロジェクトが始まりました。今まで経験と勘を頼りに行われていて属人化していた配車計画業務にフォーカスしています。この業務を仕組み化し、A...
2ヶ月前
記事のアイキャッチ画像
新卒だけどいきなりRailsを6系から7系にメジャーバージョンアップしてみた話
Hacobell Developers Blogのフィード
はじめまして!24卒でハコベル株式会社のサーバーサイドエンジニアをしている磯貝です!ハコベルでは、『ハコベル配車管理』というサービスでRuby on Railsが使われています。この記事は内定者インターン〜入社後数ヶ月の僕がビビりながらもRuby on Railsのバージョンを6系から7系にアップデートした記録です。Railsのアップデートに関心がある方や、同じような課題に直面している方の参考になれば幸いです。 大まかな流れ今回は以下のような流れで行いました。Railsのパッチバージョンを最新に更新Railsのload_defaultsを6.1までアップデートRail...
3ヶ月前
記事のアイキャッチ画像
本当にあった怖い話: Dockerイメージにはバージョンタグをつけろ!
Hacobell Developers Blogのフィード
こんにちは、ハコベル開発チームの坂東です。今日は、実際に私たちのチームで起きたちょっとした“怖い話”を共有しようと思います。 開発は順調に進んでいたはずだった…私たちのチームでは、これまでプロダクトをローカル環境で動かす際、ファイルアップロード系の処理では開発用のAWS環境に直接アップロードするようにしていました。しかし、複数のAWS環境を跨ぐような開発をする時にやりづらいので、効率化のためにローカル環境でAWSをエミュレートできるLocalStackを導入することにしました。LocalStackは、他のチームでも導入実績があったので、安心して導入に踏み切りました。一人のメンバ...
4ヶ月前
記事のアイキャッチ画像
クイズで学ぶGoの並行処理:channelとgoroutineの陥りやすいミスとその対策
Hacobell Developers Blogのフィード
!本記事は、社内のGo初学者向けに作成したドキュメントの焼き直し記事になります。同じような課題を抱える多くの初学者の方々に少しでもお役に立てればと思い、公開することにしました。 はじめにGo言語を使う際に避けて通れない並行処理について、特に初学者がつまずきやすいchannelとgoroutine、およびsync.WaitGroupの基本的な使い方をクイズ形式で解説します。Goの並行処理は非常に強力ですが、正しい理解と使い方をマスターするためには、いくつかの落とし穴に注意する必要があります。この記事では、それらのポイントを具体的なコード例を通じて学んでいきます。 基本的な...
4ヶ月前
記事のアイキャッチ画像
[Go] 構造体フィールドの初期化漏れをCIで防ぐ!~exhaustruct~
Hacobell Developers Blogのフィード
はじめにGo言語では、構造体を使ってデータを定義することがよくあります。しかし、構造体フィールドの初期化漏れは、意図しないバグを引き起こすことがあります。本記事では、構造体フィールドの初期化漏れを防ぐツール「exhaustruct」を紹介し、その使い方を解説します。 構造体フィールドの初期化漏れの問題Go言語で構造体を使用する際、全てのフィールドを適切に初期化しないと、予期しない動作を引き起こす可能性があります。例えば、以下のような構造体があるとします。type Item struct {itemType intname string}この構造体を初期化す...
5ヶ月前
記事のアイキャッチ画像
RSpecで空配列が欲しいのに空文字が混入する
Hacobell Developers Blogのフィード
ハコベル開発チームの坂東です。チームでモブプロをしながらRSpecを書いている最中に遭遇した挙動に困惑したので、備忘録も兼ねて記します。 環境Rails: 7.0.8RSpec: 6.1.2 RSpecで空配列が欲しいのに空文字が混入するRSpecでリクエストスペックを書く際、空の配列をPOSTリクエストのパラメータとして送信すると、Railsがこれを空文字として解釈するケースがあります。通らないテスト例# spec/requests/posts_spec.rbrequire 'rails_helper'RSpec.describe "Posts", type...
6ヶ月前
記事のアイキャッチ画像
[gomock] 新しく追加されていたCondが便利だった件
Hacobell Developers Blogのフィード
gomockとは?gomockは、Go言語用のモッキング・フレームワークです。元々はGoogleのgolang/mockとして開発されていましたが、2023年の6月頃にプロジェクトがアーカイブされ、現在はUber社がフォークして保守しています。基本的な使い方はこちらの記事をご参照ください。https://zenn.dev/sanpo_shiho/articles/01da627ead98f5本記事ではUber社によってフォークされたのちに追加された便利Matcherのうち、特に活用頻度が高いCondMatcherについて紹介していきます。Cond以外のMatcherについ...
7ヶ月前
記事のアイキャッチ画像
コピーライティング思考のススメ
Hacobell Developers Blogのフィード
ハコベルでプロダクト開発部長をしている宮武です。私が新卒入社した企業では広告業界にいましたが、現在は物流業界DXプロダクトの責任者という畑違いの仕事をしています。そんな中、広告業界で学んだコピーライティングのスキルが生きる場面がたくさんあることに気が付きました。ここでは、コピーライティング思考のメリットをいくつか共有します。 コピーライティングが活躍するシーンコピーライティングは、以下のような多様なシーンで活用できます。会社のMVV(ミッション、ビジョン、バリュー)を策定する新サービスの名称を決めるLPページにおける広告文を考える営業資料の訴求ポイントを明確にするプロ...
7ヶ月前
記事のアイキャッチ画像
ソフトウェアの品質とは何か?組織的に品質を担保できる体制作りについて
Hacobell Developers Blogのフィード
ハコベルで品質保証のマネージャーをしている小林です。今回は元々の自分の専門領域であるソフトウェアの品質について記載しようと思います。 対象読者ソフトウェアの品質に関心を持つ開発者やテスターの方ソフトウェアの品質に関する基礎知識や規格を学びたい方ハコベルのサービスや開発体制に興味のある方 そもそもソフトウェアってなに?ソフトウェアでググると、以下のように定義されているようです。コンピュータを動作させる命令の集まりであるコンピュータプログラムを組み合わせ、何らかの機能や目的を果たすようまとめたもの。(ソフトウェアとは - IT用語辞典 e-Words)この文章...
10ヶ月前
記事のアイキャッチ画像
数値で見る技術ブログ: データドリブンで考える記事制作支援アクション
Hacobell Developers Blogのフィード
ハコベルでシニアアーキテクトをやっている中村です。皆さん技術ブログを運営していく中で悩みはありますか?様々あると思いますが、ブログの記事をどう増やしていくかは中でも重要なテーマなのではないでしょうか。ハコベル技術ブログは先月で開設1周年を迎えましたが、メンバーのおかげで定期的に記事を公開することができました。今回は記事公開までの状態遷移を見ていくことで、定期的に記事を公開できた去年1年間の軌跡を理解すること、今後も継続的にブログを運営していくための施策を考えるための材料を探す、という目的で分析をしました。元々は運営チームの振り返りで出たトピックで、内部向けに振り返るためにデータをを集...
1年前
記事のアイキャッチ画像
Hacobell Developers Blog 立ち上げから1年間の振り返り
Hacobell Developers Blogのフィード
ブログを始めた理由ハコベルでシニアアーキテクトをやっている 中村 です。ブログの立ち上げを主導したので1年経ったのを期に振り返りとして、企画をした背景を書いていこうと思います。 会社の体制的な話ハコベルは2022年8月に独立した会社となりました。ラクスル株式会社の事業部として運営してきましたが、事業フェーズにあった体制、フットワークを軽くする、運送業界のビッグプレイヤーとのコラボレーションを加速させる、などを目的としていました。会社全体としてはポジティブな話ですが、プロダクトチームとしてはプレゼンス・採用力は懸念でした。それまでラクスルの知名度、ブランド力を武器にできていま...
1年前
記事のアイキャッチ画像
イベント運営 as a オーナーシップの発揮機会
Hacobell Developers Blogのフィード
この記事は「めぐろLT Advent Calendar 2023」11日目の記事です。私が所属しているハコベルでは今年「めぐろLT #7」の開催を担当させていただきました。参加者の皆様、めぐろLT運営チームの皆様のおかげで大盛況のイベントとなりました。今回はその際にエンジニアリングマネージャーとして考えたことについて書いていきます。 振り返りアドベントカレンダーを書くにあたり、目的設定の背景再整理と結果の振り返りをしてみました。開催の目的は技術コミュニティーの活性化、交流、そしてハコベルのことを知ってもらう機会になればというのがイベント開催を通した目的でした。しかし私は追加で...
1年前
記事のアイキャッチ画像
SNS + SQS + Lambdaを使ってWebhookを開発した話
Hacobell Developers Blogのフィード
ハコベルのサーバーサイドエンジニアの飯盛です。ハコベルのシステムに、様々なイベントを外部に通知するWebhookの機構を開発したのでその実現方法をシェアします。Webhookのようなイベントを通知する仕組みの構築を検討されている方の参考になれば幸いです! 背景ハコベルでは、ハコベル運送手配とハコベル運送手配PLUSという2つの求荷求車サービスを提供しています。(リポジトリやインフラも全く別です)それらを利用しているユーザーの中には、ハコベルで何らかの操作を行った後、同じ情報を自社の運行管理システムに手動で入力している会社がありました。このような二重入力の手間があることから...
1年前
記事のアイキャッチ画像
RailsでSettingslogicから最小限の変更でconfig_forに移行する
Hacobell Developers Blogのフィード
背景ハコベル株式会社システム開発部 一般貨物運送手配システムG の坂東です。普段はサーバーサイドエンジニアとして、ハコベル配車管理の開発を行っています。https://www.hacobell.com/dispatchハコベル配車管理のバックエンド処理は、Ruby on Railsで構築されています。このRailsアプリケーションにおける諸々の設定管理には、従来はSettingslogicというgemを使用していました。https://github.com/settingslogic/settingslogicSettingslogicではアプリケーションの設定を簡単に取得...
1年前
記事のアイキャッチ画像
Vue CLIからViteに移行した
Hacobell Developers Blogのフィード
自分が携わっているハコベル配車管理でVue CLIからViteに移行したので、やったことや苦労したことを共有してきます。 フロントエンド構成と利用バージョンハコベル配車管理のUIは夏ごろにVue 2.7へのアップデートを行いました。https://zenn.dev/hacobell_dev/articles/4552795a24952cVite移行前の主な利用ツール・ライブラリは以下の通りです。言語JavaScript / TypeScriptUI関連Vue / Vuex / Vue Router / Pug / Stylus / Element UI...
1年前
記事のアイキャッチ画像
【GraphQL】カスタムスカラーの使用パターン集
Hacobell Developers Blogのフィード
カスタムスカラーとは?GraphQLでは、Int、Float、String、Boolean、IDの5つのデフォルトスカラーが提供されており、これらを用いてデータを表現できます。また、ユーザーはカスタムスカラーとしてスカラーを独自に定義して利用することも可能です。例えば、URIをカスタムスカラーとして定義してみます。schema.graphqlsscalar URItype File { title: String! url: URI!}GraphQLのデフォルトとして定義されているスカラーは5つしか用意されておらず、したがって、データベースで一般的に利用され...
1年前