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
Nuxtmeetup#8 Yoshinori Ishii
Search
y.ishii
May 07, 2019
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nuxtmeetup#8 Yoshinori Ishii
y.ishii
May 07, 2019
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
340
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
230
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
1k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
170
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.7k
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
2.5k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
680
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
440
壊れたパーサから始める関数型設計と構成的なパーサ
raiga0310
2
110
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
300
Contextとはなにか
chiroruxx
1
390
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
210
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
450
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Deep Space Network (abreviated)
tonyrice
0
220
Between Models and Reality
mayunak
4
360
Exploring anti-patterns in Rails
aemeredith
3
440
How STYLIGHT went responsive
nonsquared
100
6.2k
Making the Leap to Tech Lead
cromwellryan
135
10k
Raft: Consensus for Rubyists
vanstee
141
7.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
Transcript
株式会社アズーム ⽯井良典 Nuxt/Vueのベスト・プラクティスを求めて 〜 みんなどうしてる? 〜
株式会社アズーム https://azoom.jp 略歴 • 2009年設⽴ • 2018年東証マザーズ上場 主な事業 • ⽉極駐⾞場マッチングサイトの運営
carparking.jp → 掲載物件数No.1 (2018年時点) • 屋外広告マッチングサイトの運営 adwall.jp
Nuxt を採⽤した経緯 創業から10年⽬を迎えシステムがレガシー化してきていた ⼗数個のプロジェクトがそれぞれ別の技術要素で構成されている 採⽤する際にレガシーな技術だと優秀な⼈が来ない トレンドの技術要素でリプレース & 新規開発
Why Nuxt ? Vue / React / Angularの3択 React ・エコシステム全体がエンジニア好み過ぎ
・デザイナーや新⼈と共に開発するのが難しい Angular ・⼈気無い Vue ・従来の開発スタイル(サーバーサイトフレームワーク時代)の延⻑線上にあり、学習コストがかから ない。 ・単純に私の好み…。
Nuxt/Vue を採⽤した効果 • トレンド技術の習得を求めてハノイ⼯科⼤学の優秀な学⽣をリ ファーラルで何⼈も採⽤することができた。 • 経験1年のエンジニアやデザイナーと、経験豊富なベトナム⼈ エンジニアが、同じプロジェクトでチーム開発できている。 • 静的なサイトもnuxt
generateの機能を使うなど、多くのプロ ジェクトで共通の技術要素で開発が可能になった。
アズームではエンジニアを募集しています! https://recruit.azoom.jp/ 25才で営業職からWebエンジニアに転職 実務1年で Nuxt / Vue / Laravel /
Node.js / Sass を実務レベルで使い、 現在は社内で利⽤するUIフレームワークの実装をし、 営業の窓⼝、新卒のディレクションをしている。 < 教育実績 >
Q1. Vuex の Actions と Mutations を Pages からどちらも呼び出してOKか? <script>
export default { ...mapMutations([ʻsomeMutation1ʼ, ʻsomeMutation2ʼ]), ...mapActions([ʻsomeActionʼ]) } </script> <⾮同期> <同期>
A. Pagesから呼び出すのはActionsのみ <理由> Pagesはその操作が⾮同期か同期かを知る必要はないから。 <例> • ある操作Aはstateを変更するのみなので、mutationとして呼び 出し • 操作Aでcommitされるデータをサーバーに保存する必要がでて
きて、⾮同期操作が必要になり、actionとしての呼び出しに変 更する → Pagesの処理にとって本質的でない
vuex-pathifyでmutationsの⾃動⽣成 import { make } from 'vuex-pathifyʼ export const state
= () => ({ count: 0 }) export const mutations = { ...make.mutations(state) // SET_COUNTが⽣成される }
Q2. VueのUIライブラリってデザインと構造の分離 ができていない気がするけど、気にならない? <v-btn color="error">Error</v-btn> <button style="color: red">Error</button> Vuetifyの例 ↓これとやってることあまりかわらなくない…?
A. custom elements + sass mixin + rscss <template> <div
class="action-area"> <x-btn class=”button">Some Action</x-btn> </div> </template> <style lang="scss"> .action-area { > .button { @include x-btn-color(" error ") @include x-btn-type("flat") } } </style>
RSCSSとは? https://rscss.io/
BEM RSCSS