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.2k
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
A2UI という光を覗いてみる
satohjohn
1
130
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
1.2k
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
1.5k
Vertex_AI_Searchを使いこなす実践テクニック
satohjohn
1
200
アーキテクチャモダナイゼーションの書籍紹介
satohjohn
0
55
NVIDIA NeMo Agent Tooklit を使ってみた
satohjohn
0
110
Gemini Enterprise を恐れない - Securityと監査-
satohjohn
0
200
進化の早すぎる生成 AI と向き合う
satohjohn
0
790
お前も Gemini CLI extensions を作らないか?
satohjohn
0
190
Other Decks in Technology
See All in Technology
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
290
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
740
【NRUG vol.18】なぜ多くのオブザーバビリティ導入は失敗するのか
nrug_member
0
120
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
100
SONiCの統計情報を取得したい
sonic
0
140
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
120
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
180
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
230
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
960
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
5
2.2k
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
190
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
For a Future-Friendly Web
brad_frost
183
10k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
Leo the Paperboy
mayatellez
7
1.8k
Bash Introduction
62gerente
615
220k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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