タグ

ブックマーク / techblog.cartaholdings.co.jp (10)

  • 動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG

    こんにちは!株式会社VOYAGE MARKETINGで働くエンジニアの yopidax です。 約20年ほど続くサービス、ECナビの技術的負債の返済に取り組んでいます。 ecnavi.jp 今回は直近で、レガシーコードを大量に削除したので、そのアプローチをご紹介したいと思います。 目次 目次 解析の対象と抱える課題 アプローチ 実行されるファイルを洗い出す ログを出力するモジュール 実行 ログのサンプル いざ、大量削除 Perlファイルをgrepする リリース単位を細かくする 結果 工数 実績 まとめ 合わせて読みたい 解析の対象と抱える課題 ECナビを長年支える、Perlで書かれたバッチが対象です。コードはGitLabのリポジトリで管理されていて、規模をまとめるとこんな感じです。 ファイルの数 バッチ関連全体 : 3,315 うち、Perlファイル(.pm, .pl) : 1,111 P

    動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG
    sue445
    sue445 2020/05/08
  • 毎週のように依存パッケージを上げ続ける努力 - CARTA TECH BLOG

    皆さんこんにちは。fluctにてfluct SSPという広告配信システムの管理画面を中心にクライアントサイドの開発を行っております、大関です。 依存パッケージの更新、どうしてますか? 今や数多くの言語でパッケージマネージャが提供されており、みなさんも日常的にコミュニティによるパッケージエコシステムを活用していることと思います。 ですが、この依存パッケージの更新については、どのようにしていますか? セキュリティfixなどを除き、以下のようなことになっていることが多いのではないでしょうか? チームの「いい人」が頑張って更新し続ける その人の謎の情熱が消えると更新されなくなってしまう たまに気がついたら頑張る 「いい人」が頑張るタイプの亜種 気が付かなかったら更新されない 更新はリスクなので塩漬けにする プロダクトは定期的に作り直す前提 CIでテストを回し続けているのに更新しないなんて……とモヤ

    毎週のように依存パッケージを上げ続ける努力 - CARTA TECH BLOG
    sue445
    sue445 2019/01/30
    うちだとCIで毎週bundle update PRしつつ更にCIがassigneeを週替りで変えていい感じに持ち回りになってるなー
  • インフラチームと開発チームの垣根をなくすためにAWSのCI環境を構築した話 - CARTA TECH BLOG

    こんにちは、VOYAGE GROUP システム部の @s-tajima です。 PHPカンファレンス2016 の「老舗メディアが改善に取り組んでいる話」でもお話した通り、長年オンプレミス環境で稼働してきたECナビを、AWSに移転しようというプロジェクトが進行しています。 そしてなんと先日、約24時間のメンテナンスを経てECナビの体(Webサーバ, 管理画面サーバの一部, データベースサーバ)がAWSに移転しました! AWS移転において得た知見, 構築したシステム等は数多くありますが、今回はCloudFormationとTravis CIを用いて 生産的 で 安全 で 手軽 なAWSのCI環境を構築したお話です。 背景 ECナビは、500万人を超える会員を抱えたVOYAGE GROUPが運営している中でも特に大きなメディアの1つです。 今回、そんなECナビのインフラ調達期間の削減、検証環

    インフラチームと開発チームの垣根をなくすためにAWSのCI環境を構築した話 - CARTA TECH BLOG
    sue445
    sue445 2017/02/20
  • GitHubにおけるPull RequestのAssign/Mergeを自動化して開発を加速させる - CARTA TECH BLOG

    皆さんこんにちは. 現在はfluctにてfluct DRという広告配信システムの開発を行っております, 大関です. GitHub上でのチーム開発では, レビューの依頼や, CIが通ったことを確認した上でのPull Requestのマージといった複数の作業が発生しますが, これらはGitHubUIを複数回クリックする必要があり, 非常にストレスフルな作業です. 稿では, こうした定形作業を自動化するbotとしてpopukoを開発・導入することで, 我々開発者のストレスを軽減するとともに, より堅牢かつフィードバックの多い開発が実施できるようになった事例を紹介します. GitHubでの開発はとてもクリック操作が多い 前段でも述べたように, GitHubを用いたチーム開発においては, 数多くの定形作業が存在します. コードレビューの可能な人を探してレビューを依頼する, 依頼の度に対象者をAs

    GitHubにおけるPull RequestのAssign/Mergeを自動化して開発を加速させる - CARTA TECH BLOG
    sue445
    sue445 2017/02/14
  • 中高生のための夏休みプログラミング教室をお手伝いしてきました - CARTA TECH BLOG

    みなさんこんにちは、fluct DR 開発部の @kanufy です。 今年VOYAGE GROUPに新卒として入社し、fluct DR(Direct Reach)にて、広告配信機能のサーバサイドと日々戦ってます。 さて今回は事業・技術ネタではなく、VOYAGE GROUPとしての取り組みの一貫の話をしようと思います。 8/12, 14と東京工業大学CBECプログラムの一貫で行われた、中高生のための夏休みプログラミング教室に協賛として参加してきました。 その様子をお伝えしたいと思います。 伝えたいこと 中高生ののびしろは無限大なので我々も頑張ろう VOYAGE GROUPは良さそうなイベントには協賛としてスポンサーします! ピザまたは🍣、会場提供も致します! イベント概要 主催 東京工業大学CBECプログラム 協力 東京工業大学ゲーム制作サークル traP 日程と会場 8/12(金)東

    中高生のための夏休みプログラミング教室をお手伝いしてきました - CARTA TECH BLOG
    sue445
    sue445 2016/08/18
    Voyageさん最高っぽい
  • 初めての技術力評価会を終えたので感想を書いた - CARTA TECH BLOG

    こんにちは、fluct SSP開発部の@saxsirです。 今年の4月に入社した新人ですが、職場ではgolangとかAWSとかを使って社内向けのプロダクトをゴリゴリと開発しています。 さて、VOYAGE GROUPでは人事評価制度の一つとして技術力評価会という相互評価の仕組みがあります。 これは年に2回ほど開催されており、直近半年くらいの仕事から何かテーマをピックアップし、別チームのエンジニア2名(評価者)に「私はこんなすごいことをやったんだよ、どやっ」とお話しながら自分の技術力を評価してもらうという場になります。 もちろん、新卒も例外なく技術力評価会を行います。 今回は初めての技術力評価会を終えて私が学んだこと、を社外の方向けに書こうと思います。(言うまでもなく、私は被評価者です) ※以下、「技術力評価会」を「評価会」と略して表記する場合があります TL;DR 「なぜやったのか」を説明

    初めての技術力評価会を終えたので感想を書いた - CARTA TECH BLOG
    sue445
    sue445 2016/08/16
  • チームの読書会、4つの工夫 - CARTA TECH BLOG

    こんにちは、ECナビ事業エンジニアの yukimine です。 2ヶ月程前に デザインパターンをチームで学んで得たもの という記事がありましたがご覧いただけましたでしょうか。 Zucks Affiliate事業部が、@t_wadaさんと読書会を行ってチームでの共通言語が増えたという記事です。 ECナビ事業部でも、ベテランから新卒まで様々なエンジニアが、@t_wadaさんに設計・実装を相談をさせていただいたり、ペアプロをさせていただいたりしています。 記事では、@t_wadaさんとECナビ事業部の取り組みの一つ、 プログラマが知るべき97のこと 読書会 で取り入れている 4つの工夫 について、ご紹介させていただきます。 4つの工夫とは 事前準備なし アクションにつなげる エンジニア席の横で開催 SlackのPublicチャンネルで議事録を残す です。 デザインパターンをチームで学

    チームの読書会、4つの工夫 - CARTA TECH BLOG
    sue445
    sue445 2016/08/01
  • 炎上botを作ったら火傷した - CARTA TECH BLOG

    初めまして、VOYAGE MARKETINGに所属している@pro_shunsukeです。 さて、私は先日社内LT大会で「炎上ジェネレーター」について発表しました。 what is 炎上ジェネレーター https://enjo-generator-black.herokuapp.com/ 簡単に炎上出来る!スゴい! 使い方はとてもシンプル。セリフに文字を入力するだけです。一瞬で出来上がります。出来上がった画像はTwitterに投稿出来たり、画像をダウンロード出来たりします。 発表当時のSlackはこんな感じでした。 面白い!!! こんな意見も と言うわけで、この炎上ジェネレーターをAPI化してSlack上から簡単に炎上出来るようにしました! こんな感じです やったこと 炎上ジェネレーターはクライアントサイドでCanvasを利用して画像処理を行っています。API化を行うに当たって、サーバーサ

    炎上botを作ったら火傷した - CARTA TECH BLOG
    sue445
    sue445 2015/06/01
    知見っぽい
  • 「現状○○なんだけど、いずれxxしたい」という時のアプローチ - CARTA TECH BLOG

    はじめまして、こんにちは。adingoでFluctの開発に携わっているmasartzです。 結論 Q「技術的には全然難しくないけど、面倒で地味なお仕事をどうやってやるか?」 A「いつか一気に片付ける!は片付かないので、最初だけ気合入れて・あとは粛々と進めましょう」 というお話です。 なぜxxしたいか? Fluctのパートナー企業様向け管理画面はPHPのwebアプリケーションとして実装されています。 Fluct開発チームではgithub のPull Request(以下PR)によるコードレビューが導入されており、エンジニア同士の活発な議論が行われています。 この中で、以下のようなやりとりがありました レビューア「ここの部分のコードはPSRに則った形で記述してください」 「この括弧は改行せずに同一行に記述する形でお願いします」 この状況を見て、 「この作業は機械的に、チェック/修正 できるよう

    「現状○○なんだけど、いずれxxしたい」という時のアプローチ - CARTA TECH BLOG
    sue445
    sue445 2015/05/01
    “いつか一気に片付ける!は片付かない” 分かる。(明日って今さ理論)
  • VOYAGE GROUP Engineer's BlogはHatena Blogに移行しました! - CARTA TECH BLOG

    ブログ移行しました! こんにちは。システム部 三浦@hironomiuです。 VOYAGE GROUP Engineer's Blogは2010年5月からlivedoor blogでhttp://tech.voyagegroup.com/から発信していました。 約5年続いたブログですが、今回Hatena Blogに移行しVOYAGE GROUP techlogとして出航します!今後更に有意義な技術エントリーを発信出来ればと思っています。 なぜ移行したの? 常にあるテーマなのですが現場で実践&適用している技術情報やノウハウ、エンジニアリングの雰囲気を様々な手段で今以上に発信していきたいと考えています。 その中でブログの改善も一つの手段としてあると考え、ブログ移行も選択肢としてあがってきました。 これまで利用していたlivedoor blogに大きく困ることは無かったのですが、Hatena

    VOYAGE GROUP Engineer's BlogはHatena Blogに移行しました! - CARTA TECH BLOG
    sue445
    sue445 2015/03/20
    “約100名のエンジニアメンバーで静的ジェネレーターの環境まで含めて管理するのは少しヘビーだなと試験運用した際に感じ今回は見送りました。” ナルホディウス
  • 1