ayumu-kanechikaのブックマーク (24)

  • スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog

    こんにちは。こんばんは。おはようございます。 アンドパッドで現在はバックエンドの方のエンジニアをやっている原田です。 アンドパッドには2021年6月にJOINしまして、現在までANDPADボードの開発に携わっています。 ANDPAD施工管理が比較的長期間の工事をターゲットにしているのに対して ANDPADボードは1日〜数日の間に短期間の工事や施工を行う際のスケジュール管理を行えるサービスです。 andpad.jp 今回は入社3ヶ月目というきりの良いタイミングで今まで行ってきたことを振り返りつつ、直近行った技術的負債を軽減するための「開発合宿」について書いていきます。 一応最初に書いておきますが、リファクタリングに関するチートスキルはないのでバーンとやってドーンと解決みたいなド派手な解決ではなく地道な改修作業をちまちま行いましたという内容です。 入社してからやってきたこと ANDPADボード

    スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog
  • プロダクトにNext.jsとGoを採用した理由と背景 - ANDPAD Tech Blog

    はじめに こんにちは!エンジニアの柿森です。新規プロジェクトを担当しております。 ANDPADではマイクロサービス開発を推進しており、新規プロジェクトは個別に技術選定を行い、既存システムとAPI経由で連携します。 また、マイクロサービス基盤はk8sで構築されており、死活監視やログ収集もよしなにやってくれる環境が整っております。 新規プロジェクトを立ち上げで、k8s上に乗せることを前提に技術選定を行いました。 技術選定を行うにあたって検討したポイントと、採用した技術について話していきたいと思います。(あくまで筆者個人の考えです。) 採用した技術スタックの概要 フロントエンドBlitz-jsを参考にNext.jsを採用。 バックエンドはGo + gRPCを採用。 技術選定の方針 大きな方針としては一般的な考えを踏襲しています。 ドキュメントがしっかりしており、GitHubのStarがそれなり

    プロダクトにNext.jsとGoを採用した理由と背景 - ANDPAD Tech Blog
  • ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog

    r7kamuraと言います。2020年9月頃からANDPADの開発に参画しています。 2021年2月、ANDPADで利用しているWebアプリケーションフレームワーク Ruby on Rails (以下Rails) のバージョンを5.2から6.0にアップグレードしました。今後アップグレードを行う方が同様の作業を行えるよう、今回の変更に伴い必要となった作業について、あらためて言語化してこの記事で共有できればと思います。 全体の流れ 大まかに分けると、今回は次のような手順で作業を進めていきました。 Rails 5.2系の最新のバージョンに上げる Rails 6.0版のブランチを用意してテストを通す Rails 5.2と6.0に両対応したコードに変更する Rails 6.0で検証を進める Rails 6.0に番環境を切り替える Rails 5.2向けの対応を取り除く Gemのバージョン変更 Ra

    ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog
  • ANDPADのプルリクエストってどんな感じ?そこから学んだことの共有 - ANDPAD Tech Blog

    はじめに 初めまして、バックエンドエンジニアの吉田です。 去年の2月からアンドパッドに参加することになり、約1年経ちました。 もともとPHPをメインとした開発をしていたのですが、Rubyに興味が湧いて2年ほど前からRailsのお仕事をしています。 アンドパッドに参画してからは、フロントエンド開発は未経験でしたが、幸運にもVue.jsのプロジェクトにも参加させてもらってRails+Nuxt.js環境での開発をしています。 この記事について タイトルの通り、今回はANDPADのプルリクエスト(以下PR)について紹介していこうと思います。 ANDPADではソースコードの管理ツールとしてGitHubを利用しており、PRを作成して所属チーム内のエンジニア(時にはチーム外も)にコードをレビューしてもらっています。 PRについては各社様々なスタイルがあると思います。 ですが、意外と他の会社どのように進め

    ANDPADのプルリクエストってどんな感じ?そこから学んだことの共有 - 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
  • 「Forkwell Open Sesame! |SaaS企業のリードエンジニア同士でお悩み相談会」に登壇しました! - ANDPAD Tech Blog

    アンドパッドのRailsエンジニアの @KanechikaAyumu です! 10/27にForkwell主催の「Forkwell Open Sesame! |SaaS企業のリードエンジニア同士でお悩み相談会」に登壇しました! forkwell.connpass.com SaaS企業3社(株式会社LegalForce、株式会社アンドパッド、メドピア株式会社)とファシリテーターのwillnetさんと困りごとを持ち寄り、企業同士ならではの開発課題をお互いに質問し合いました。 私は「継続的Gemアップデートどうしていますか?」という質問に対して 「Rails 継続的Gemアップデートの 仕組みを」というタイトルで発表しました。 発表した内容について 創業時から開発を続けてきたRailsアプリが5年程経ち、徐々に大きくなり(コードの行数は30万行程度)、Gemのバージョンが古いなど、色々と課題を抱

    「Forkwell Open Sesame! |SaaS企業のリードエンジニア同士でお悩み相談会」に登壇しました! - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/11/04
    日々ANDPADの開発でたくさんの学びが、アウトプット頑張れればと思ってます!💪
  • 株式会社アンドパッドでpotatotips #71を開催しました! - ANDPAD Tech Blog

    はじめに こんにちはCDOの山下です。 potatotipsは、毎月100人くらい申し込みがあるモバイルアプリのエンジニアにとってはおなじみの勉強会です。 私も個人的に5年ほど前から参加していて、当時アンドパッドは数人のスタートアップだったのでいつか自社開催できる オフィスを構えたら主催しようと夢見てましたが、今回オンラインながら実現したので個人的には胸熱でした。 コロナの不安がなくなったら是非オフライン開催でも主催したいと思っています。 ※potatotipsは71回開催されているアプリエンジニアのためのtips共有勉強会です。 potatotips.connpass.com 発表内容まとめ 発表のスライドや内容を簡単に振り返っていきたいと思います。 ライブラリを作って5年たったので振り返る ライブラリを作って5年たったので振り返る from Daisuke Yamashita pota

    株式会社アンドパッドでpotatotips #71を開催しました! - ANDPAD Tech Blog
  • Rails未経験でANDPADにジョインして半年を振り返る - ANDPAD Tech Blog

    はじめに はじめまして。バックエンドエンジニアの小野寺です。 主に Rails でバックエンドの開発をしているANDPADに、Rails 未経験で入社しました。 入社前は、バックエンドエンジニアとして、 ASP.NET Framework MVC を使った Web サービス開発 Node.JS、TypeScript を使った API 開発 といったことをしていました。 他にも、React を使ったフロントエンドの開発、ECS、RDS などを使ったインフラの構築なども、少しかじっていました。 この記事では、そんな自分が Rails 未経験で入社してからの約半年を振り返ります。 なぜオクトに入社したのか 転職活動では、使用している技術にはあまり拘らず、幅広く見ていました。技術も大事ですが、「何をやるのか」「どんな価値を提供するのか」を重視していました。いろいろな会社と話をして、最終的にオクトに

    Rails未経験でANDPADにジョインして半年を振り返る - ANDPAD Tech Blog
  • 最近のRails関係の仕事内容

    RubyRailsのアップグレードを主なマイルストーンとしつつ全体的に開発体験を良くしていくというタイプの仕事を請けることが多いのですが、仕事を依頼する側の視点に立ってみると「実際のところ業務に参加するとどういうことが行われるのか?」というのがやはり気になると思います。 実際、最近の打ち合わせでもその手の不安について相談されることがあったので、ここ1ヶ月でそれ系の仕事で出したPull Requestを元に、実際に何をやっていたかの例を挙げてみたいと思います。 開発環境構築手順や説明方法の改善 荒れたRuboCopの改善 .rubocop.ymlからTargetRailsVersionを取り除く DEPRECATION WARNING対応いろいろ 既存のメソッドと名前が被っているスコープを別名に変更 RSpecのpositional-argumentsを置換 activerecord-im

    最近のRails関係の仕事内容
  • 個人サイトについて

    なぜ個人でウェブサイトを運用しているのかについて、整理しておきたい。 要約すると、以下の理由でやっている。 ウェブの技術を学べて費用対効果が高いから 表示されるコンテンツを制御したいから フィードバックの場と適切な距離を置きたいから かっこいいから コスパが高い 個人でウェブサイトを持って運用していくことは、学習意欲の高い多くの人にとって費用対効果の高い活動だと思う。 ほとんどの技術が無料で利用できる時代になってきているので、ここで言う費用というのは時間や労力のことで、効果というのは得られる知識のこと。その仕組みを用意するにあたって、ウェブサイトというものがどういう仕組みで動くかということが、一通り理解できる。この辺の分野を職とするような人であれば、こういうことは最低限理解しておいてほしいし、何なら採用面接でもこういったことを質問する・される機会がある。 学習コストについて述べたけれど、

    個人サイトについて
  • MySQL のロック範囲は実行計画で変わるという話 - mita2 database life

    最近、ANDPADでデータベース周りの技術顧問をさせて頂いています。ANDPADのエンジニアの皆さんから「データベースのロックまわりを詳しく知りたい!」というお話を受けて、先日、ロック周りの社内勉強会を開催しました。 SQLでは一般的なプログラミング言語と違って、ロックの制御を明示的に記述しません。ロックは暗黙的に(自動的に)データベースが必要なロックを獲得します。データベースのロックが わかりにくい・むずかしい と言われることが多いのはこういった背景があると思います。 MySQL のロック範囲は実行計画で変わる 更新対象の行がロックされるのは予測が付く方が多いと思います。 しかし、MySQL(InnoDB)では更新対象でなくても行がロックされることがあります。 このようなサンプルデータを使って説明します。 mysql> CREATE TABLE `lockt` ( -> `pk` big

    MySQL のロック範囲は実行計画で変わるという話 - mita2 database life
  • ANDPADにおけるソースコードレビューのポイント - ANDPAD Tech Blog

    はじめに こんにちは、品質改善チームのrjgeです。 RubyKaigi 2019のレポートぶりに担当が回ってきたので、チーム活動の一環として行なっていたソースコードレビューのお話をしようと思います。 そもそもの発端 品質改善チームでは、ANDPADの開発で使用している開発言語やフレームワークのアップデート、パフォーマンスチューニング、自動テストの実装・環境整備など、新規開発を行う際に置いてけぼりにされやすい箇所のフォローを主に行なっています。 ANDPADは比較的新しいプロダクトなどの新規開発箇所についてはレポジトリが徐々に分かれてきているのですが、体レポジトリはそれなりの規模の入り組んだソースコードになっています。 このレポジトリ、実は私の入社当時(2018年夏頃)は自動テストがほぼなく、そもそも実行しても動かない状態でした。自動テスト書いてるよ!と面接の際に会話したのですが、動かな

    ANDPADにおけるソースコードレビューのポイント - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/06/02
    大きな変革に繋がってる、すごい大事なこと!「当時から今まで色々なメンバーの協力を仰ぎつつ、自動テストは当たり前に書くものだよねという文化をどうにか根付かせる草の根活動をしてきました。」
  • AWSサポートの一歩進んだ使い方 ~問い合わせの極意編~ - ANDPAD Tech Blog

    はじめに はじめまして、オクトSREチームの@DanKadoiです。 https://github.com/DanKadoigithub.com 普段は、 AWS上でのインフラ構築 DockerKubernetes環境整備 CI / CD サイクルの改善や効率化 プロダクト初期フェーズにおける様々な運用課題の解決支援 インフラやアプリケーションのモニタリングの仕組みを整備 OS、ボリューム、ネットワーク、AWSアカウントのセキュリティ対策 etc.. などの技術領域で、日々少しずつ会社貢献しています。 Terraformを用いたIaC(Infrastructure as Code)や、運用負荷の低減/耐障害性の強化などを目的としたインフラ構成の改善、サーバレスアーキテクチャ(過去記事参照)への移行、開発量・成果・費用対効果・処理効率などを可視化するためのメトリクス取得法の確立、より高度で

    AWSサポートの一歩進んだ使い方 ~問い合わせの極意編~ - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/03/25
    本番運用をしている中で、いつも助けられているので良い情報共有!!
  • 「コミッターと読み進めるRailsリーディング会 #1」を開催しました!~ Rails v1.0.0を読み進める! ~ - ANDPAD Tech Blog

    はじめに はじめまして!オクトのRailsエンジニアの @KanechikaAyumu です! 弊社では、日々色々な勉強会が開催されています。 先日は、ANDPADの技術顧問をして頂いている松田さんにRailsリーディング会の勉強会を開催して頂きました! prtimes.jp 貴重なお話を聞ける機会なので、社内の勉強会に閉じるのがもったいないと思い、外部の方も参加できるような形式を取らせて頂きました。当日参加してくださった方、平日の日中のお忙しい中にご参加頂き、ありがとうございました!! Railsのソースコードを読んだことない人や、どこから読み進めて良いのか分からずな方は、参考にして頂ければと思います! 当日の様子 Rails v1.0.0 コミッター紹介 Active Record Action Pack alias_method 最後に 当日の様子 当日は社内のエンジニアに加えて、数

    「コミッターと読み進めるRailsリーディング会 #1」を開催しました!~ Rails v1.0.0を読み進める! ~ - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/02/18
    既に2回目を終えているが、1回目の記事👀
  • とある日の&ANDPAD開発部の1日 - ANDPAD Tech Blog

    はじめに はじめまして、開発アシスタントのしおざきです! 開発部はどんどん仲間が増え続け現在約60名。オクト内では大所帯です。 今回は、そんな開発部が日々どんな雰囲気で仕事をしているかお届けしたいと思います! 開発部の1日 10:00 大所帯の開発部ですが、この時間はまだひっそりしています。 集中できる時間に開発をしてもらうため、フレックス制を導入していますが、どうやら朝型はそんなに多くないようです。 11:00 この時間になるとだいぶ賑やかになります! この日は週に一度の開発部会が開催される日。全員が集まると人数の多さを実感します。 部会では、VPoEやVPoPがメンバーに伝えたい想いを話してくれます。 情報共有はもちろん、人が多くなると様々な考えや思いが交錯しがちですが、目指すべきところはみんなでひとつ、ということを改めて認識させてくれる場だったりもします。 12:00 ランチに出る人

    とある日の&ANDPAD開発部の1日 - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/02/04
    ANDPADの開発部の1日が良く分かる!!!!
  • 社内勉強会「開発におけるホスピタリティ~ コミットメッセージから始まる仲間の幸せ ~」を開催しました! - ANDPAD Tech Blog

    はじめに はじめまして!オクトのRailsエンジニアの @KanechikaAyumu です! 創業期からいますが、最近は優秀な仲間がどんどん増えて、毎日、学びがたくさんです。最近は専らRailsのバージョンアップや、社内での技術基盤作りなどに取り組み、Railsと真摯に向き合っています!新規参画された方にオンボーディングの一貫で、過去のソースコードの背景や歴史を伝えていることも多いです! 先日、ANDPADの開発組織戦略顧問をして頂いている井原さんに開発部向けにチーム開発の真髄の勉強会をして頂きました! lp.andpad.jp そのレポートになります! 経緯 現在、オクトでは事業の急成長に伴い、新しい仲間もどんどん増えています! チームで開発するにあたって、色々な課題が挙がっているのも事実です(今まで個人プレーになっていた部分も色々とあったので...)。 そんな中でも、1つの課題となっ

    社内勉強会「開発におけるホスピタリティ~ コミットメッセージから始まる仲間の幸せ ~」を開催しました! - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/01/29
    社内のテックブログの初寄稿!!!「時間を生み出す職業のエンジニアが、他人の時間を奪ってどうする!!」という内容です!
  • テスト勉強会第5弾「自動テストの基礎」 - ANDPAD Tech Blog

    はじめに 1月に入社したアプリチームの工藤です。 DeNA SWETグループの平田さんをお招きして、社内で第5回目のテスト勉強会を開催しました。この記事はそのレポートになります。 オクトでは定期的に社内勉強会を開催しています。 Vue.js勉強会や↓ tech.88oct.co.jp SQL勉強会なども↓ tech.88oct.co.jp 今回は前回の反省を踏まえ、畳の小上がりスペースで行いました。 20名ほどの社員が真剣に耳をかたむけていて、雰囲気と場所のギャップが新鮮でした1。 以前のテスト勉強会はこちら↓ tech.88oct.co.jp 内容 前半はユニットテストで重要な考え方であるFirst2とA-Rtip3に共通して挙げられている独立性・再現性について、後半は保守性の高いテストの設計について説明いただきました。 独立性 テストが増えるにつれ実行速度が課題になります。 改善するた

    テスト勉強会第5弾「自動テストの基礎」 - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/01/21
    社内でたくさん勉強会開いているなー
  • 2019年の振り返りを B2B SaaSエンジニアMeetup - Sharing Issues で登壇してきました - ANDPAD Tech Blog

    はじめに はじめまして〜 オクトでVPoEやってる @gessy0129 です。 年始一発目とのことで、2019年を振り返りました。 発表をこちらのイベントで行いました! smartcamp.connpass.com 資料 2019年の&ANDPAD開発を振り返る from Yoshiharu Geshi 登壇して 忘年会で飲していいよ!という話しだったので、登壇一発目にも関わらずビール片手にやらせて頂きました。 会場には40名程いたかと思いますが、程よく笑いも取れたので登壇一発目としてはまぁまぁ場を作れたような気がします。LTなのにちょっと詰め込み過ぎて時間が足りなくて早口になってしまったのはごめんなさい。。 奇しくも、弊社の開発組織戦略顧問である井原さんと一緒に登壇することになりましたが、お互い共に前後に予定があり、それぞれの発表だけ聞けないという事態になってしまいました(笑) 20

    2019年の振り返りを B2B SaaSエンジニアMeetup - Sharing Issues で登壇してきました - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2020/01/07
    今年第1弾!!今年は何十回も更新される予定!!
  • NuxtMeetUp#8 登壇レポート - ANDPAD Tech Blog

    NuxtMeetUp#8 に参加&登壇してきました! オクト プロダクトチームの藤井です。普段はフロントエンド機能開発や改善を担当しています。 先日、永田町GRIDで開催されたNuxtMeetUp#8に参加してきました! nuxt-meetup.connpass.com このイベントは会を追うごとに大きくなっており、今回初めて登壇側で出させてもらうことに。知り合いも多くいましたので、あまり緊張することなく楽しめたかなぁと思います。 さて、今回発表させてもらいました内容ですが、こちらになります! speakerdeck.com 今回の発表目的は、技術説明というよりかは、知見共有になります。 入社してから2ヶ月半ほどは、別のNuxtプロジェクトに携わっておりました。しかし、3月ごろから、「体」と呼ばれるメインのサービスのある機能のフロント部分を担当することになり、その際にNuxtに切り出せな

    NuxtMeetUp#8 登壇レポート - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2019/05/09
    ハイスキル👍
  • RubyKaigi2019 3日目レポート - ANDPAD Tech Blog

    RubyKaigi2019に参加してきました! 4/18(木)〜4/20(土)に福岡で開催されたRubyKaigi2019 3日目レポートです。 最終日も引き続き、rjgeがお送りします。 1日目・2日目のレポートはそれぞれ下記からご覧いただけます。 1日目レポート 2日目レポート セッション ということで、拝見したセッションのレポートです! もしニュアンスや意味を取り違えている箇所等あればご指摘いただけますと幸いです🙇‍♂️ Ruby Committers vs the World 10:00 - 11:10 / Main Hall (3F) @ rubykaigiA 最終日の幕開けは恒例のRubyコミッターのみなさんによる質疑応答と公開開発会議です。 質疑応答もですが、開発会議を直接見られる貴重な機会です! RubyGems.orgからのお願い 最終日もRubyGems.orgのマル

    RubyKaigi2019 3日目レポート - ANDPAD Tech Blog
    ayumu-kanechika
    ayumu-kanechika 2019/04/21
    うちの会社のテックブログ!!3日連続!!