Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
お客様とすすめる_フロントエンドの技術支援.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
SatohJohn
May 16, 2023
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
お客様とすすめる_フロントエンドの技術支援.pdf
SatohJohn
May 16, 2023
More Decks by SatohJohn
See All by SatohJohn
BigQuery を検索ソースとした AI Agent の作り方って 〇〇 通りあんねん
satohjohn
0
180
Claude Codeで評価を楽にする
satohjohn
0
95
A2UI という光を覗いてみる
satohjohn
1
210
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
1.3k
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
1.6k
Vertex_AI_Searchを使いこなす実践テクニック
satohjohn
1
250
アーキテクチャモダナイゼーションの書籍紹介
satohjohn
0
70
NVIDIA NeMo Agent Tooklit を使ってみた
satohjohn
0
140
Gemini Enterprise を恐れない - Securityと監査-
satohjohn
0
230
Other Decks in Technology
See All in Technology
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
540
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Rust×eBPFでEDRっぽいものをつくる
sunlife3
1
210
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.5k
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
120
AIのためのEthernet技術動向 (SerDes)
markunet
1
250
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
140
2027年のMetricKit
kantacky
0
130
20260817_生成AIの動向と中学校・高等学校での活用を考える_v1.00_公開用
doradora09
PRO
0
130
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
350
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
160
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
Music & Morning Musume
bryan
47
7.3k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
400
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Transcript
お客様とすすめる フロントエンドの技術支援 フロントエンドの技術的負債 みんなで学ぶ Lunch LT 2023-05-17 株式会社スリーシェイク 佐藤慧太@SatohJohn 1
自己紹介 • 株式会社スリーシェイク Sreake事業部 • 佐藤慧太@SatohJohn • SREとして社会の労苦<Toil>をなくすお仕事 ◦ アプリケーション分野での支援をはじめました
◦ フロントからインフラまで広く触っています ◦ 前職でも技術的負債と戦ってました 2
株式会社スリーシェイクについて Copyright © 3-shake, Inc. All Rights Reserved. xOps
Plattform DesignOps IaaS DevOps / SRE RevOps (Revenue Ops) HR(Engineer Hiring) HROps Data Engineering DataOps Security DevSecOps SecOps 事業者が抱える セキュリティリスクを無くす 本格的な脆弱性診断を 無料で手軽に セキュリファイ Security 良いエンジニアに良い案件を フリーランスエンジニアに 「今よりいい条件」を リランス HR(Engineer Hiring) あらゆるサービスを連携する ハブになる クラウド型ETL/データパイプ ラインサービスの決定版 レコナー Data Engineering 日本のSREをリード SRE総合支援からセキュリティ 対策を全方位支援 スリーク SRE スリーシェイク = xOps領域のプラットフォーマーへ 3
本日話すこと • お客様のアプリケーションの支援におけるフロントエンド開発に ついて紹介 ◦ 社外からのアプローチってどんなことをしているのか どうするのがいいと思っているか ◦ 社内で技術的負債の解消を頑張る人向け 4
本日話すこと • お客様のアプリケーションの支援におけるフロントエンド開発に ついて紹介 ◦ 社外からのアプローチってどんなことをしているのか どうするのがいいと思っているか ◦ 社外(!?)、社内で技術的負債の解消を頑張る人向け 5
技術的なネタは少なく、複雑なことはしません
事例の内容(前提共有) • マルチページアプリケーション ◦ PythonのDjangoフレームワーク ◦ アプリケーションはコンテナ環境で実行されている • モジュール化されていないJavaScript ◦
JavaScriptファイル自体は50ファイル強 ◦ HTMLから直に参照する • ライブラリはjQueryやBootStrap 6
事例の内容(前提共有) • お客様的には、フロントは苦手である ◦ バックエンドやインフラ周りが強い ◦ ただし、実装力がとてもある ▪ 正直生でここまで作れるのかと驚いたこと多数 7
これに対してやったこと • そもそもの技術的負債を認識してもらう ◦ 解消したらどうなるのかを「ぼやっと認識してもらう」 ◦ 味方につける、味方になる≒社内政治 • 既存の運用フローを壊さずに改善をする ◦
解消したらどうなるのかを「実感してもらう」 ◦ 「我々がいなくっても」の精神で作る 8
そもそも技術的負債を認識してもらう • 人間は知っていることしか知らない ◦ 知っているその範囲内で頑張るというのが多い ◦ 現状の整理と課題(改善できる点)の洗い出しをへて こういうものもある、こういう使い方もできるを提示して気づきを与える ◦ 方針と指針を伝えて、アイデアの種を与える
▪ 人間は手段が多すぎると何もできなくなるという考え • 一気に変えない、などのある意味の制約 9
そもそも技術的負債を認識してもらう • 変更に対する抵抗感に立ち向かう ◦ 「なぜしなければ、行けないのか?今動いているじゃない?」 ◦ 変更コスト < 変更によるメリットを提示する ▪
メリットは考え方で若干異なるのでうまく提示をする必要がある ◦ 仲間を見つけて、一緒にやってもらう 10
既存の運用フローを壊さずに改善をする • 私達がいなくとも開発運用できるものでなければいけない ◦ いくら優れたシステムでも運用できなければ、負債である ◦ お客様の現場に合わせた最適なソリューションを提供する ▪ そして、ヒアリングとシステム理解と説明などなど 11
既存の運用フローを壊さずに改善をする • コンテナ環境で完結するシステムにする ◦ 開発環境としてdocker composeを作成して、全員が同じ開発環境を作れるようにする ◦ リソースディレクトリを volumeマウントをしてフロントのアプリケーションで それを参照する
12
既存の運用フローを 壊さずに改善をする • vite(rollup)を利用してbundleした ファイルをリソースディレクトリ に配置されるように設定する ◦ viteを使ったのは今後のフレームワークへの 追従を見据えて ◦
これならば少しずつ追加していける ◦ リリースフローを変更せずに実装が可能 13 import { defineConfig } from "vite"; export default defineConfig({ build: { outDir: "static/bundled", rollupOptions: { input: { "top": "./static/js/top.js", "menu": "./static/js/menu.js", }, output: { entryFileNames: "[name].js", }, watch: { include: "/static/**", exclude: ["static/bundled/**"], }, }, }, });
既存の運用フローを壊さずに改善をする • ページごとにentryのjsを作成し配置してHTMLのscript type=”module”で entryとなるjsを読み込み、分割されてassetに入るライブラリも読み込む 14 <!DOCTYPE html> <html lang="ja"
class=""> <head> <script type="module" src="{% static '/bundled/top.js' %}" ></script> <script src="{% static '/js/hoge.js' %}" ></script> <!-- 移行していないものは残せる --> </head> <body>
まとめ • お客様とすすめるフロントエンドの技術支援の案件について紹介 ◦ 正直、現状社内ですすめるのとあまり変わらない ▪ むしろモチベーション高く進めてもらえている ◦ 改善が楽しい、改善していきたいと思う文化を作りたい ▪
「負債だから辛い」で終わらず、「負債見っけ、対応してこう!」の 文化になれば勝ち 15
最後に • 一緒に社会から労苦<Toil>をなくす仲間を募集しています! ◦ もし、ご興味が有りましたら、以下の会社情報など見てもらい応募ページに ぜひご連絡ください!(私の twitter宛でも良いですー ◦ https://3-shake.com/category/recruit/ ◦
https://www.wantedly.com/companies/3-shake 16
おわり 17