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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
200
Claude Codeで評価を楽にする
satohjohn
0
100
A2UI という光を覗いてみる
satohjohn
1
230
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
1.3k
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
1.6k
Vertex_AI_Searchを使いこなす実践テクニック
satohjohn
1
270
アーキテクチャモダナイゼーションの書籍紹介
satohjohn
0
77
NVIDIA NeMo Agent Tooklit を使ってみた
satohjohn
0
150
Gemini Enterprise を恐れない - Securityと監査-
satohjohn
0
230
Other Decks in Technology
See All in Technology
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
270
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
1
150
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
240
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
300
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
120
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
220
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
190
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
270
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
540
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
420
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
240
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
0
120
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Code Reviewing Like a Champion
maltzj
528
40k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
How to build a perfect <img>
jonoalderson
1
6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
Into the Great Unknown - MozCon
thekraken
41
2.7k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
The Cult of Friendly URLs
andyhume
79
7k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
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