並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 4154件

新着順 人気順

"Tech Blog"の検索結果121 - 160 件 / 4154件

  • "6年分"のRailsバージョンアップをなめらかに行う方法! - AppBrew Tech Blog

    こんにちは、id:r7kamura です。業務委託という形で1年ほど関わりながら、美容のクチコミサービスLIPSに利用しているRuby on Rails (以下Rails) というWebアプリケーションフレームワークのバージョンを、4.2から6.1に上げました。 Rails 4.2のリリースは2014年、Rails 6.1のリリースは2020年なので、およそ6年分のバージョンアップを一気に推し進めたことになります。 今回はこれを題材に、この手のフレームワークのバージョンアップ時に起こりがちな諸問題や、やって良かったこと悪かったこと等について振り返ろうと思います。 あまりRailsに限った話はしないように心掛けて書いたので、こういったバージョンアップ作業に興味がある方にはぜひ読んでいってもらえればと思います。 変更の粒度など レビューのやり方 複数データベース対応で困った話 テストがなくて困

      "6年分"のRailsバージョンアップをなめらかに行う方法! - AppBrew Tech Blog
    • コードレビューの生産性を上げるためのTips | Offers Tech Blog

      はじめに こんにちは。 プロダクト開発人材の副業転職プラットフォーム Offers を運営する株式会社 overflow のエンジニアの藤井です。 エンジニアであれば誰しも日頃からコードレビューをしたり、されたりしていることと思います。 健全な開発組織を育む意味でもレビューの文化を根付かせることはとても大切ですが、小規模な組織の場合「レビューアが足りない」という問題が往々にして起こり得ます。 もちろん、特定のエンジニアにコードレビューが集中してしまうのを防ぐために、チーム全体で負荷分散を図るのが本質的かつ王道的なアプローチではあります。 しかしときには、とにかく個人の力で乗り越える、という状況も避けられないでしょう。 そこで今回はコードレビューの生産性を上げるための Tips をいくつかご紹介します。 自分でも開発をしなければならないが、その片手間で一日に何本ものプルリクエストを確認しなけ

        コードレビューの生産性を上げるためのTips | Offers Tech Blog
      • 開発生産性を上げるために開発をする前に考えていること - Findy Tech Blog

        こんにちは。Findy Freelanceの開発チームでエンジニアをしている2boです。 この記事では私が開発生産性を上げるために開発をする前に考えていることについて書きます。 ここで「開発をする前」というのは次のようなタイミングを指します。 PdMなどから新規施策の仕様について相談を受けたとき 起票された開発Issueを最初に確認するとき 自分がIssueを作成するとき なぜこのタイミングで考えるかというと、開発を進める上での方向性を間違える可能性を減らし後から軌道修正をしやすくするためです。 なおこの記事においては、開発生産性を「開発成果物の提供価値を投入リソースで割ったもの」とします。 いくら頑張って開発をしても、そもそもやるべきことの方向性を大きく間違えると提供価値が0に近づくため開発生産性が低下します。 特に開発が高速なチームで方向性を誤ると高速に間違った方向へ進んでしまうことに

          開発生産性を上げるために開発をする前に考えていること - Findy Tech Blog
        • eBPFに3日で入門した話 - CADDi Tech Blog

          はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

            eBPFに3日で入門した話 - CADDi Tech Blog
          • プロダクト間共通の React コンポーネントライブラリを運用する話 - SmartHR Tech Blog

            こんにちは、 フロントエンドエンジニアの @nabeliwo です。 弊社には SmartHR というプロダクトの他に SmartHR の従業員 DB を利用して開発・提供される SmartHR Plus アプリ (以下、 Plus アプリ)というものがあります。 SmartHR CTOが語る中長期戦略。徹底的なアプリ開発とAPI対応で「プラットフォーム化」促進へ - SmartHR ガイド 既に多くの Plus アプリがリリースされており、そのほとんどのプロダクトのフロントエンドは React x Redux という技術スタックで構成されています。 オンライン雇用契約 カスタム社員名簿 ラクラク人事レポート etc Plus アプリは毎回新規でプロジェクトを立ち上げて開発していくことになります。 とはいえブランディングの観点から見ると、基本的なトンマナや UI パーツは SmartHR

              プロダクト間共通の React コンポーネントライブラリを運用する話 - SmartHR Tech Blog
            • 【GAS (Google Apps Script) 】コードの書き方・テクニック編|Offers Tech Blog

              概要 こんにちは、Offers を運営している株式会社 overflow のバックエンドエンジニアの shun です。今回は、GAS(Google Apps Script)のコードの書き方と、ゴリゴリに GAS を書きまくってきた知見から少しのテクニックを紹介できればと思います。 今の時代、エンジニアリングを利用した業務自動化を実装するのは必ずしもエンジニアだけではないと思っています。ちょっとしたデイリー業務, 対応漏れ確認 など、サクッと自分の業務のサポートをしてくれる相方を、職種問わずに自分自身で実装ができる世界になっています。その大きな協力者になるのが今回ご紹介する GAS(Google Apps Script)となります。 GAS(Google Apps Script) とは? GAS(Google Apps Script) とは、Google が開発した JavaScript 記

                【GAS (Google Apps Script) 】コードの書き方・テクニック編|Offers Tech Blog
              • 開発要望タスクの優先度が「高」ばかりで悩んでませんか? - CARTA TECH BLOG

                CTO室 相談室でCARTAの各部署の技術メンター・コーチをしている前田@brtriver です。 自分の仕事内容を説明するのが難しいですが、スタッフエンジニアでいう右腕です! いろんな部署のサポートをしていると開発要望タスクのリストを確認する場面がよくあります。 そして、その中の「優先度」という項目で正しく優先度をつけることができていない現場が多いと感じます。 そこで、今回はどのように「優先度」を考えればよいかについて私自身が意識していることをまとめてみるので、ぜひ一緒に考えてみましょう。 優先度が「高」だらけになってしまう チケット管理において優先度が「高」だらけになってしまう現象を目にしたことはありませんか? チケットは困ってる本人が書くため、基本とその優先度は「高」が多くなります。 チケットに残すために書いたとしても、優先度低いタスクはそもそもやらないという判断されることが多く、そ

                  開発要望タスクの優先度が「高」ばかりで悩んでませんか? - CARTA TECH BLOG
                • ~OSSから学ぶ~ MVCフレームワークの保守性がモリモリ上がるクラス設計 - dely Tech Blog

                  こんにちは、delyコマース事業部エンジニアの小川です。 先月11月に入社し、エキサイティングな毎日を過ごしています。 この記事はdely Advent Calendar 2019 - Qiitaの24日目の記事です。 昨日はSREの松嶋さんが「AWS RunCommandを使ってEC2上に監視ダッシュボードをサクッと作る(Ansible+Terraform+Grafana編)」という記事を書いてくれましたので是非そちらも読んでみてください! tech.dely.jp コマース事業部では、現在「事業開発」と「ソフトウェア開発」がほぼ同時に進行しており、プロジェクトにおける確定要素と不確定要素が複雑に絡み合っています。 スピード重視でゴリゴリ実装していくのも興奮しますが、変化に耐えづらい実装をしてしまうと、その後の開発スピードに影響していまい、事業のスピードが落ちるなんて事にもなりかねません

                    ~OSSから学ぶ~ MVCフレームワークの保守性がモリモリ上がるクラス設計 - dely Tech Blog
                  • SQLを使った監視でデータ基盤の品質を向上させる - MonotaRO Tech Blog

                    こんにちは、データ基盤グループの吉田(id:syou6162)です。データ基盤グループでは安定してデータを利用できるように様々な取り組みを行なっています。本エントリでは、データ品質に問題がある場合にすぐに気付けるようにしたSQLによる監視の仕組みを紹介します。 背景 SQLを使った監視基盤の構築 実際の監視項目例 他チームがdailyで転送しているデータがバッチの失敗により遅れていないか BigQueryのエラーレートが急激に増加していないか 承認済みビューの設定が意図せず消えていないか 今後の展望 背景 データ基盤の運用をしていると、日々様々なトラブルと向き合う必要があります。例えば、以下のようなものがあります。 他チームがdailyで転送しているデータがバッチの失敗により遅れている TerraformなどのIaCで承認済みビューの権限管理を行なっているが、コードの設定ミスで意図せぬ状態

                      SQLを使った監視でデータ基盤の品質を向上させる - MonotaRO Tech Blog
                    • Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog

                      こんにちは。モノタロウの八木(t_yagi)です。 モノタロウのECシステムは創業から20年以上ずっと動き続けており、絶え間なくビジネスを支え続けています。 その間、周囲のIT技術も大きく進歩してきました。 そんな中、開発者が増えたり機能も拡張され続けた結果、当初はさほど問題にならなかった開発に関する課題が浮き彫りになってきました。 今回はそんなレガシーな開発環境にモダンなIT技術を取り入れることで「当時は出来なかったことを現代の技術で実現する」を書きました。 流行りのモダンな技術がイケイケだから乗り変えるといったような輝かしいものではなく、長年積まれ続けてきた課題が現代の技術だから解決できたという時代の恩恵にうまく乗れるかを率直に記事にしています。 どうするとデメリットを抑えながらメリットを得ることができるか読んでいただける人に少しでも感じ取っていただければ嬉しいです。 サーバアプリの開

                        Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog
                      • 内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog

                        インフラストリーミングチームの近藤 (@udzura) です。今回は、ミラティブで内製しているオブジェクトストレージサーバ「b3」の紹介記事を書きたいと思います。 今回の記事は、6月にGopher Talkというイベントで発表した「Go製ミドルウェアを実践投入するにあたりやったこと」をベースに、内容を詳細にしたり直近の開発状況に合わせて更新したものです。一部内容はこの発表と重複していますがご了承ください。 オブジェクトストレージサーバを内製した背景 1. 大量オブジェクトの操作や増え続ける転送量に対応したい 2. 一定期間しかファイルの保持をしない 3. オンメモリ/SSD/HDDを組み合わせたチューニングがしたい オブジェクトストレージb3の特徴 S3 互換の基本的なAPIを実装 LSM-Tree index+WALなDB/マージ操作に対応 I/O 帯域を制限可能 非同期レプリケーション

                          内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog
                        • プロダクトオーナーを兼務する技術、あるいはその反省 - SmartHR Tech Blog

                          みなさんこんにちは。ジメジメとした日が続きますがいかがお過ごしでしょうか。SmartHRのプロダクトマネージャーryopenguinです。 今回は、私が複数のプロダクトチームを経験して学んだ「兼務のコツと反省」をお届けします。 「プロダクトに対してPMが少ない」「PMの採用に苦労している」といったみなさまの参考になれば幸いです。 なぜ兼務をはじめたか 2022年9月から、私はタレントマネジメントプロダクト「従業員サーベイ」と、現在未公開の新しいプロダクトのPMを兼務しています。 弊社では、単一のプロダクトに注力するのではなく、連携を前提に複数のプロダクトを提供する「マルチプロダクト」化を進めています。昨年の夏ごろ、とある新規プロダクトが必要と判断され、開発チームを組成することになりました。 弊社の新規プロダクトはSmartHR基本機能との連携が前提であり、その基礎的な知識が必要です。さらに

                            プロダクトオーナーを兼務する技術、あるいはその反省 - SmartHR Tech Blog
                          • iTerm2 から kitty に移行した話 〜Hammerspoon で快適ターミナルライフ〜 - Gunosy Tech Blog

                            こんにちは、 Gunosy Tech Lab AdsML チームで広告のロジック改善をしている m-hamashita です。昨年 FlexiSpot E6 と ErgoDox EZ を導入してからひどかった肩こりが改善したのでおすすめです。 FlexiSpot は最近 Black Friday で安くなっていたので、購入した人も少なくないのではないでしょうか。 こちらの記事は Gunosy Advent Calendar 2021 の 8 日目の記事です。昨日の記事は 吉岡(@rikusouda) さんの『2021年にSwiftUIを部分利用しつつ新規のiOSアプリを作った 』でした。 本記事ではターミナルエミュレータを iTerm2 から kitty に移行し、Hammerspoon で Hotkey 周りをいい感じにした話を紹介します。 はじめに kitty kitty について k

                              iTerm2 から kitty に移行した話 〜Hammerspoon で快適ターミナルライフ〜 - Gunosy Tech Blog
                            • Vue + JSX + Nuxt Composition API で最高のフロント開発体験 - ANDPAD Tech Blog

                              はじめに ANDPADでフロントエンドの開発を担当している小泉です。 前回、約3ヶ月前にVue Composition APIをチームで導入して得られたメリットという記事を書かせて頂きました。 その後、今年の5月頃からまた新たなプロダクトの立ち上げを担当する機会があり、フロントの技術選定についていろいろ検討する中で、Vue.jsでもJSXを使って書けること、かなり導入しやすくなっていることを知りました。 そこで、Nuxt Composition API + TSXという組み合わせを採用してみたところ、かなり使いやすく、Vue と React のいいとこ取りができて最高 なのではないかとさえ思いました。 この記事では、そんなVue + TSX の導入方法と、メリット・デメリット、そして使う際のTipsをいくつか紹介しています。今後のフロントエンドの技術選定や、Vue + JSXでの開発に興味

                                Vue + JSX + Nuxt Composition API で最高のフロント開発体験 - ANDPAD Tech Blog
                              • Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog

                                こんにちは!アンドパッド開発部のyokohamaです。 ITコンサル、WEBサービス会社を経て昨年5月にアンドパッドにジョインしました。 突然ですがアンドパッドでは社内で様々な勉強会を開催しています。 Vue, Flutter,マイクロサービスなどいろんなテーマの勉強会が開催されていて、所属に関わらず各々好きな勉強会に参加することができます。 自分はKubernetes/マイクロサービス勉強会と機械学習勉強会に参加しています。 勉強会に参加する目的は人それぞれだと思いますが、自分は怠け者なので学習をさぼらないようにペースメーカーとして勉強会に参加し続けています。 機械学習勉強会についてもいつか記事にできればと思っていますが、今日はKubernetes(k8s)に関しての記事なります。 k8sは入社前は全く触ったことがありませんでしたが、この勉強会のおかげで少しずつ触れるようになってきました

                                  Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog
                                • いろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話 - Gunosy Tech Blog

                                  こんにちは、SRE チーム マネージャーの TksYamaguchi です。 こちらの記事はGunosy Advent Calendar 2023の3日目の記事です。 前回の記事は森田さんの LLM 論文の探し方でした。 概要 SRE チームは、シニアエンジニアとジュニアエンジニアで構成されているチームで、チーム内の技術的な知識の偏りの解消や、知識のタコツボ化の解消を目的として読書会をしてきました。 その過程でいろいろな読書会のパターンを行ってきましたので、その結果を共有します。 概要 読書会開始前の SRE チームの課題感 読書会 のやり方の整理と評価の観点 やり方 評価の観点 当日音読・Slack に投下する方式 実際のまとめ 方式詳細 評価 メリット デメリット 事前に読んで Miro*1 に付箋・当日議論する方式 実際のまとめ 方式詳細 評価 メリット デメリット 当日黙読・その場

                                    いろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話 - Gunosy Tech Blog
                                  • 会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog

                                    はじめに こんにちは。 バックエンドエンジニアの松本です。今回は、会計システムの開発を通じて、 CADDi におけるプロダクト開発の様子を紹介します。 2024年3月現在、CADDiでは2つのサービスを提供しています。1つは図面データ活用クラウド「CADDi Drawer」で、もう1つは加工品製造サービス「CADDi Manufacturing」です。 今回、後者の加工品製造サービス「CADDi Manufacturing」向けに、 会計システムを構築しました。これは、生産管理システムや拠点管理システムから取得した各種情報を基にして、会計仕訳データを生成し、経理部門に公開する役割を持ちます。 はじめに 会計システムのアーキテクチャとその狙い 計算処理を少しずつ進める 会計数値の妥当性をダッシュボードに表示する 会計システムのモデリングと最初の開発 仕訳の流れを整理して、ドメインモデル、デー

                                      会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog
                                    • アンチウイルスソフト Antivirus for Amazon S3 を本番環境に導入してみてわかったメリット・デメリット - ANDPAD Tech Blog

                                      こんにちは。SREチームの吉澤です。 アンドパッドでは最近、AWSのS3バケット上のファイルをスキャンするために、アンチウイルスソフト Antivirus for Amazon S3 を本番環境に導入しました。その結果、私たちの要件はほぼ全て満たされたうえに、従来比で大幅なコスト削減を実現できました。 Antivirus for Amazon S3について日本語で書かれた記事はまだ少ないですが、S3に対するウイルススキャンが求められるケースでは、導入を検討する価値があるソフトです。 そこで、今回はこのAntivirus for Amazon S3の概要、私たちが本番環境に導入してみてわかったメリットやデメリット、そしてこのソフトが適した状況をご紹介します。 背景 S3に対するウイルススキャンが必要な理由 Antivirus for Amazon S3の導入前に利用していたソフト Antiv

                                        アンチウイルスソフト Antivirus for Amazon S3 を本番環境に導入してみてわかったメリット・デメリット - ANDPAD Tech Blog
                                      • 新規事業開発での技術選定の意思と意図 (フロントエンド編) - Sansan Tech Blog

                                        こんにちは、関西支店で新規事業開発室に所属するソフトウェアエンジニアの加藤です。Bill Oneという新規サービスの開発に携わっています。 バックエンド編の続きとして、フロントエンドで私たちが使用している技術やライブラリを振り返って、どんな意志と意図があるかを確認していきます。 Bill Oneは今年の1月ごろにピボットし、それまで開発してきたフロントエンドを全て捨て、1から作り直しました。ピボットの際に改めて技術選定を行い、それまで使っていたライブラリ等を見直したので、本稿ではピボット前後で変化した箇所を中心にフロントエンドの技術選定を紹介します。 前提 改めて前提です。私たちのチームで開発しているBill Oneは今年の5月にローンチしたばかりのサービスで、チームのエンジニアは5名です。開発しているアプリケーションはSingle Page Application (SPA) で、エンジ

                                          新規事業開発での技術選定の意思と意図 (フロントエンド編) - Sansan Tech Blog
                                        • 猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog

                                          SREチーム 鈴木心之介 です。 職歴の空白 を経て参画しました。 社名変更して co.jp ドメインを複数保有する技術 の節は皆様ありがとうございました。 たぶんそのうち書かれるだろう「Dockerコンテナ移行しました」記事の先史時代の記録として、また、事業の成長に併走してきたEC2でのアーキテクチャの御焚上として奏上するものです。 問題意識 アプリケーションはRuby on Railsで実装し、インフラはAWSにEC2, RDS, S3を中核に構成してます。運用状況はEC2に限らず大変きびしく、早くどうにかしないと事業の成長の足枷になりそうでした。入社前のカジュアル面談で伺っていた情報と、入社後の情報収集から、大枠の問題意識を以下4つに絞りました。 デプロイメント セキュリティ スケーラビリティ ディザスタリカバリ どれも解決すべきで、優先順位にみなさま一家言あるかと思います。ただセキ

                                            猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog
                                          • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

                                            お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

                                              Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
                                            • セキュリティガードレールを作って、非エンジニアに安心してGCPを提供できるようにした話 - MonotaRO Tech Blog

                                              はじめまして、モノタロウでGCPの管理をしている吉本です。 今回はモノタロウの社内全体でデータ基盤として使っているGCPをテーマに、大規模組織におけるクラウド運用の取り組みをお話します。 データ民主化による現場主導のデータ活用 クラウドの利用拡大に伴う課題 Cloud Asset Inventoryを利用したセキュリティガードレールの構築 まとめ データ民主化による現場主導のデータ活用 最近、データの活用・推進が様々な企業で実施されるようになってきました。 特に2018年あたりからデータ民主化と呼ばれる、職種に問わず自らデータを集計・分析して意思決定をする文化が広まるようになった結果、非エンジニアがSQLを書く事例が増えています。*1 *2 モノタロウでも職種問わずデータドリブンな意思決定を推進しています。 2017年にデータ基盤をBigQueryに構築して以降、積極的にSQLなどの研修な

                                                セキュリティガードレールを作って、非エンジニアに安心してGCPを提供できるようにした話 - MonotaRO Tech Blog
                                              • DDDの腐敗防止層を用いた変更容易性向上 - READYFOR Tech Blog

                                                こんにちは、リファクタリング大好きなミノ駆動です。 リファクタリングを主任務とするアプリケーションアーキテクトとして、弊社READYFORのエンジニアリングを推進しています。 ドメイン駆動設計に登場する 腐敗防止層 を用いたリファクタリングで、システムの変更容易性を向上したお話を解説します。 本記事の概要 イビツな構造を隔離する腐敗防止層を用いて技術的負債を解消 ふたつの橋作戦でリファクタリングの安全性を向上 設計技術書 『良いコード/悪いコードで学ぶ設計入門』 出版のお知らせ 背景 弊社READYFORのシステムは、モノリシックなRuby on Railsのサービスとして実装されています。 システムが解決したいドメイン(業務活動)にはさまざまなセグメントがあり、その中に審査オペレーションがあります。 審査オペレーションとは、クラウドファンディング実行者さんが申し込みを提出してからプロジェ

                                                  DDDの腐敗防止層を用いた変更容易性向上 - READYFOR Tech Blog
                                                • Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog

                                                  こんにちは。ストリーミングチームの松本です。 Mirrativのストリーミングチームは、低遅延配信や、通知ぼかしというような機能を追加するため、配信のorigin serverの前段にtranscoder serverというものを導入してきました。 tech.mirrativ.stream tech.mirrativ.stream transcoder serverはGoによる内製のミドルウェアであり、主に映像の変換を行う目的で作られました。現在は配信プロトコルの変換(既存プロトコル -> 低遅延プロトコル)などを行っています。また、実際にはサーバー上のDockerコンテナ内で動作しています。 transcoder serverを展開していくにあたり、メモリ使用量が常に増え続ける問題が起きていたため、その際に直面したGoの実メモリ使用量に関する話を書きたいと思います。 メモリ使用量の増加問

                                                    Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog
                                                  • Cloud FirestoreからPostgreSQLへ移行したお話 - ZOZO TECH BLOG

                                                    はじめに こんにちは。ブランドソリューション開発本部FAANSバックエンドブロックの田村です。普段はサーバサイドエンジニアとしてFAANSのバックエンドシステムの開発をしています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗のショップスタッフの販売サポートツールです。FAANSでは、データベースとしてGCPのサーバレスでドキュメント指向のNoSQLデータベースであるCloud Firestoreを当初採用していました。Cloud Firestoreはサーバレスなので運用負荷が掛からず、また安価でスケーラビリティにも優れたハイパフォーマンスなデータベースです。 しかし、Cloud Firestoreを使用して開発・運用していく中で直面した様々な課題からGCPのフルマネージドのリレーショナルデータベースであるCloud SQLのPostgreSQLにデータベースのリプ

                                                      Cloud FirestoreからPostgreSQLへ移行したお話 - ZOZO TECH BLOG
                                                    • 構想半日、実装一日、全社活用される ChatGPTのSlackbotを作りました! - MonotaRO Tech Blog

                                                      はじめに こんにちは、新卒2年目の佐藤です。 MonotaROでは先日、ChatGPTを簡単に利用できるSlackbot「MonoChat (β)」を全社員を対象にリリースし、大勢の方に利用されるようになりました。 私は、ChatGPTが社内全体で活用されることで一人一人の身の回りの業務がもっと楽になったり、生産性を上げられる良い機会に必ずなると思いMonoChat (β) を開発しました。 本記事では社内の大勢の方に利用してもらうために考えたこと、設計/開発/運用してみて得た結果や知見、またMonotaROでのChatGPT利用についても紹介します。 特に、開発部分だけでなく設計部分や結果も紹介しているのでChatGPTを社内に普及させたい方にとって何か気づきになれば幸いです! はじめに MonotaROでは全社員がChatGPTを利用可能です 社内でのChatGPT利用 MonoCha

                                                        構想半日、実装一日、全社活用される ChatGPTのSlackbotを作りました! - MonotaRO Tech Blog
                                                      • LAPRASのソフトウェアエンジニア向けスキルチェック課題を公開しました - LAPRAS Tech Blog

                                                        こんにちは、LAPRAS CTOの @rocky_manobi です。 タイトルの通り、LAPRASのソフトウェアエンジニア職の選考課題を公開しましたので、その詳細や心についてこの場を借りて紹介します。 公開した選考課題はコチラ GitHub - lapras-inc/exam-swe-template: SWE Backend, Frontend ポジション選考課題のテンプレートリポジトリ SWE Backend, Frontend ポジション選考課題のテンプレートリポジトリ. Contribute to lapras-inc/exam-swe-template development by creating an account on GitHub. github.com どうして公開したのか主に以下を目的としています。 応募の心理的なハードルを下げる会社を評価するための材料を提供する

                                                          LAPRASのソフトウェアエンジニア向けスキルチェック課題を公開しました - LAPRAS Tech Blog
                                                        • Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog

                                                          ANDPADボードチームの原田(tomtwinkle)です。 Node.jsの mysqljs/mysql の仕様に起因するSQLインジェクションが話題に上がっていたので、それGolangのORMであるGormでも同じような「仕様」があるよ! という注意喚起の意味も込めて筆を執りました。 ※ 2022/02/21追記 コードレビューを自動化して指摘してもらう記事を公開しました! tech.andpad.co.jp Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション | 株式会社Flatt Security TL;DR GormのQuery Conditions関数に関する危険な仕様 対策 締め TL;DR GormのConditions関数(Find, First, Delete...)を使用する際、第2引数の値にStringを引き渡

                                                            Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog
                                                          • DMBOKを用いたアセスメントでデータマネジメントを加速させる - MonotaRO Tech Blog

                                                            こんにちは、データ基盤グループの吉田(id:syou6162)です。データ基盤やデータマネジメントに興味を持たれている方はDMBOKを持っている / 読んだことがあるという方も多いのではないでしょうか。このエントリではDMBOK中に紹介されているデータマネジメント成熟度アセスメント(以下、アセスメントと省略)をモノタロウでどう活用しているかについて紹介します。 背景 初手: 自社のデータ基盤の歴史を振り返る アセスメントの実施 データ活用者 / システム提供者 / 意思決定者へのヒアリングの実施 アセスメントを実施した結果 最後に 背景 まず、モノタロウでなぜアセスメントを行なったかについて説明します。モノタロウは20年以上歴史のある企業であり、データ基盤自体も10年以上の歴史があります。単一事業ではあるものの、受注 / 売上 / 商品 / 在庫 / 顧客 / 行動履歴など、対象となるドメ

                                                              DMBOKを用いたアセスメントでデータマネジメントを加速させる - MonotaRO Tech Blog
                                                            • AWSとGCP間でVPNを設定する方法 - Gunosy Tech Blog

                                                              はじめに AWSのネットワーク構成 GCPのネットワーク構成 AWS と GCP 間での通信 VPN設定手順 TGWを用いたルーティングの設定 (AWS) Shared VPC の設定 (GCP) Terraform まとめ はじめに こんにちは。DR & MLOps Group というところで働いている阿部といいます。Data Reliability & Machine Learning Operations の略で、データ基盤やML基盤を作って運用するグループです。 私はもともとは記事配信ロジックやデータ分析をやっているグループにいましたが、今年移ってきました。 こちらが紹介記事です: DREの使命とは?「数が神より正しい」と言うための正確性を求められる技術力 – Gunosiru 弊社のシステムは基本的にはAWSで動いていますが、とあるプロジェクトでGCPを使うことになりました。 そ

                                                                AWSとGCP間でVPNを設定する方法 - Gunosy Tech Blog
                                                              • Active Recordともっと仲良くなって自然に優しいコードを書くぞ - SmartHR Tech Blog

                                                                こんにちは。SmartHRでRails顧問業をしています @willnetです。最近は主にリファクタリングをしています。 SmartHRのバックエンドは基本的にRubyで書かれています。しかし入社してくるバックエンドエンジニアは必ずしもRubyやRailsを長年使ってきた人だけではなく、前職では他言語を使っていてRuby(Rails)はほとんど使ったことがないという人もいます。 webアプリケーションを作る、という点ではどの言語でも抑えるべき点は同じですが、RubyやRailsに特化した考え方や書き方もありますよね。SmartHRではそれを効率よく習得してもらうために読書会を開催したり、社内のドキュメントツールに知見を書いて共有したりしています。 僕も社内のドキュメントツールにActive Recordの付き合い方ついて書いたところ、評判が良く「テックブログにしたら?」と言われたので今回一

                                                                  Active Recordともっと仲良くなって自然に優しいコードを書くぞ - SmartHR Tech Blog
                                                                • なぜPMが25人も必要なのか - SmartHR Tech Blog

                                                                  こんにちは、CPOのadachiです。 この記事は「SmartHRのプロダクトマネージャー全員でブログ書く2024」への参加記事です。25人が持ち回りで毎週記事を投稿しています。 この企画にも関連するのですが、最近社外の方から「SmartHR、PM多!」という感想をいただくことが増えてきました。もしPMが多い = 裁量が小さくてつまらない環境、と思われていたら心外すぎる……許せねぇ…… そこで本稿では、なぜSmartHRには25人もPMがいるのか、一体なにを作っているのか、仲はいいのか、今後どういったオポチュニティがあるのか、といったことについて説明していきたいと思います。オポチュニティは言いたいだけです。 25人は多い? 結論、そんなに多くないと思っています。 先日「SmartHRがARR150億円を突破、前年比150%で成長」というプレスリリースも出ましたが、私たちは現在ARR 150

                                                                    なぜPMが25人も必要なのか - SmartHR Tech Blog
                                                                  • 「Magento」を使って1,400万商品を取り扱えるように越境ECサイトをパワーアップした話 - MonotaRO Tech Blog

                                                                    モノタロウで海外向けのECサイト開発を担当している山田です。Tech Blogでは、これまでに国内サイトの開発・運用を効率化する様々な取り組みを紹介してきましたが、今回はモノタロウの海外事業に関する取り組みについて、特に、Magentoを活用したモノタロウの越境ECサイト開発と運用にスポットを当てて紹介します。 MonotaROの海外事業 MonotaROの東南アジア向け越境ECビジネスについて Magentoとは Magentoで越境ECサイトをリプレイスした背景 Magentoによるサイト開発・運用の効率化事例 エクステンション導入による開発の高速化 ベスト・プラクティスに沿った開発手法の提供 カスタマイズに対して堅牢性の高いアーキテクチャを提供 効率的に開発が行えるコーディング手法の提供 品質保証のための枠組みをデフォルトで提供 公式ドキュメントの活用によるMagentoの効率的な学

                                                                      「Magento」を使って1,400万商品を取り扱えるように越境ECサイトをパワーアップした話 - MonotaRO Tech Blog
                                                                    • スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog

                                                                      どんなことが起こったのか? モノタロウのサイトの監視について レイテンシ監視 トラフィック監視 エラー監視 リソース監視 ログ トラブルシュートの進め方 発生検知 発生箇所の特定 根本原因の調査 強化 課題 おわりに SREチームの市原(@ichi_taro3) です。 モノタロウでは、www.monotaro.com という大規模なECサイトを自社で開発、運用しています。 Webアプリケーションの運用ではトラブルはつきものです。今回は、とあるトラブルシュート事例を軸に、どのように運用を改善しているのかについて紹介します。 どんなことが起こったのか? あるとき、モノタロウのWebサービス全体でレイテンシ悪化やバックエンドAPIへのタイムアウトの増加が頻発したことがありました。 当然これらは歓迎される状況ではなく、すぐに開発者やSRE、インフラチームの担当者が集まり調査を開始しました。現象は

                                                                        スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog
                                                                      • アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog

                                                                        こちらの記事はカケハシ Advent Calendar 2023 Part2の24日目の記事になります。 adventar.org はじめに 反復的な開発は、変更容易性の高いソフトウェアが不可欠です。ソフトウェア開発の経験がある方なら、デリバリ後の洞察や市場環境の変化から、新しい機能の追加やアーキテクチャの進化の必要性に直面したことが一度はあるでしょう。 私自身、要求分析手法やSOLID原則等の技法を取り入れ、変更容易性に対応する多くのプロジェクトに参加しました。しかし、どれだけ優れた手法や技法を持っていても、変更が難しい要求が出てくることは避けられません。その際、「過去の出来事」を正確に記録していれば、後から見返して問題解決が容易だったと感じることがよくあります。 ドメイン駆動設計(DDD)では、「過去に起こった出来事」を表現するドメインモデルを「ドメインイベント」と呼びます。変更容易性

                                                                          アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog
                                                                        • 業務システム SPA のフロントエンド技術選定(2023年版) - KAKEHASHI Tech Blog

                                                                          本エントリはカケハシ Part 2 Advent Calendar 2023の13日目の記事です。 (Part 1もおもしろい記事がいっぱいあるので、ぜひご覧ください。) はじめに こんにちは。カケハシでソフトウェアエンジニアをしている平松です。 今年、新規プロダクト立ち上げの機会があり、その際に行ったフロントエンドの技術選定について紹介したいと思います。 フロントエンドの領域は選択肢が豊富で、変化のスピードも速いため、プロダクトの要件に適した技術を選ぶことはひとつの挑戦です。 実際、フロントエンド技術選定のヒント 【令和五年度版】のアドベントカレンダー記事を読んで、その難しさを改めて感じました。 今回の新規プロダクトは、ユーザがログインして利用するtoBの業務システムです。 私はカケハシでは2度目の新規プロダクト立ち上げですが、前回の経験を活かしつつ、新しいアプローチにも挑戦しています。

                                                                            業務システム SPA のフロントエンド技術選定(2023年版) - KAKEHASHI Tech Blog
                                                                          • Software Design連載 2022年1月号 運用監視の解像度アップとサービス横断的なログ基盤の整備 - MonotaRO Tech Blog

                                                                            こんにちは。中山(id:yoichi22) です Software Designに連載させていただいております「Pythonモダン化計画」では、モノタロウの社内事例から読者の皆様のお役に立ちそうな取り組みを紹介させていただいています。のですが、社内でも隣のチームがやってた取り組みを記事で初めて知ることもあって、私も読者として楽しませてもらっています。隣の執筆者さんありがとうございます。 今回は、運用にまつわる監視とログの話題です。本記事の初出は、Software Design2022年1月号「Pythonモダン化計画(第6回)」になります。過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか 第2回 Software Design連載 2021年9月号 「テストが無い」からの

                                                                              Software Design連載 2022年1月号 運用監視の解像度アップとサービス横断的なログ基盤の整備 - MonotaRO Tech Blog
                                                                            • 夫婦で納得の土地探しをするためにLINE Bot作ったりデータサイエンスした話 - ABEJA Tech Blog

                                                                              皆さんこんにちは! ABEJAでデータサイエンティストをしている服部といいます。 本記事はABEJA Advent Calendar2022の10日目の記事になります。 背景 引っ越しから2年.... データサイエンティストとしてのリベンジ 前回の反省を踏まえて.... 1. お得そうに見える土地には絶対に理由がある 2. 土地の数はせいぜい限られていて全部探すのも難しくない 今回解く課題 土地探しにおける意見の違いとは? どうやってデータサイエンスを使って夫婦の擦り合せを行う? アプローチ 実装 1. 架空の土地条件をランダムに沢山作る 土地条件の項目数や取りうる範囲が増えすぎないようにする 自分たちにとって関連性が高い項目を入れる 2. 作った土地に対して夫婦それぞれで値段をつける LINE Botの概要 バックエンド 土地情報の作成とFireStoreに登録 妻からのフィードバック

                                                                                夫婦で納得の土地探しをするためにLINE Bot作ったりデータサイエンスした話 - ABEJA Tech Blog
                                                                              • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

                                                                                SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと

                                                                                  Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
                                                                                • SmartHRの残業王制度に関するお話 - SmartHR Tech Blog

                                                                                  こんにちは、エンジニアのkinoppyd(平均残業10.2時間)です。今日は、週末に悪い意味で話題になった、SmartHRのエンジニアグループで運用されている残業王について、すこし弁明をさせていただければと思います。 自社の求人票で声出た pic.twitter.com/9JcO6H5O2O— Takashi Adachi (@asanebo_) June 26, 2020 残業王 まず最初に残業王の制度が「残業という会社が管理すべき問題の解決を、従業員に押し付けられている」と受け止められている事に関してのお話をしようと思います。 前提として、会社が残業を従業員に求めているということは、SmartHRにおいてはありません。会社の姿勢としては、各チームのスクラムによる小回りの効くスケジュール管理と、もしそれでも問題があった場合のレポートラインの整備やビジネスサイドとの折衝、隔週の評価者との1

                                                                                    SmartHRの残業王制度に関するお話 - SmartHR Tech Blog