狠狠撸

狠狠撸Share a Scribd company logo
Copyright ? Virtual Technology, Inc
React初?者勉强会とLT?会
2017/10/25
1
Copyright ? Virtual Technology, Inc
?嵜 伸?郎 (たけざき しんいちろう)
twitter id:stakezaki
(有)バーチャルテクノロジー代表取締役
2
Copyright ? Virtual Technology, Inc
ビジョン
”もうフルスタックエンジニアはいらない。
HTMLとJSの知識さえあればWebサービスを
開発できる。
そのような世界を私たちは?指しています。”
3
Copyright ? Virtual Technology, Inc
API以外の余計なことは考えたくない
4
適当に分散して勝?にスケールすることを期待
これが真のサーバレスではないのか!?
Copyright ? Virtual Technology, Inc
React初?者勉强会とLT?会
5
Copyright ? Virtual Technology, Inc
vte.cxアプリのセットアップ
? Visual Studio Codeの導?
– https://code.visualstudio.com/download
? Windowsの場合、git for windowsの導?
– https://git-for-windows.github.io/
? あとは、以下のqiitaの記事を?ながらセット
アップ
– http://qiita.com/stakezaki/items/0401d79d
392b081fb85e
6
Copyright ? Virtual Technology, Inc
?順
? nodeのインストール(?れていない?のみ)
– https://nodejs.org/ja/
? gulpとflowのインストール
– npm install -g gulp
– npm install -g flow-bin
? vtecxblankのclone
– git clone https://github.com/reflexworks/vtecxblank.git
? vscodeでプロジェクトを開きコンソールでビルド
– npm install
? vtecxにユーザ登録後サービスを作成してデプロイ
– https://admin.1.vte.cx/login.html
– gulp deploy xxxxxxxxx / gulp serve xxxxxxx
7
Copyright ? Virtual Technology, Inc
もし、?覧にデータが表?されない場合
? データを再投?してみてください
– gulp upload:data XXXXXXX
8
Copyright ? Virtual Technology, Inc
バンドラ(Webpack)とタスクランナ(Gulp)
9
ES2015
React(JSX)
Flow
トランスパイル
Css/Sass
ビルド?
モジュール結合
JavaScript
(ES5)
ローカルPC
サーバ(vte.cx)
Import/
export
モジュール結合
② GulpによるDeploy ① Webpackによるビルド?バンドル
Copyright ? Virtual Technology, Inc
Reactの概要
? ReactはFacebookが公開しているライブラ
リでUIを効率的に構築することができる
– HTMLに似たJSXのテンプレートを使うことで
直感的にUIを記述できる(仮想DOM)
– コンポーネントの組み合わせで全体のアプリを
構築する
10
Copyright ? Virtual Technology, Inc
Reactの最も効率的な学習?法
? Quick Startを?通り動作確認する
– https://facebook.github.io/react/docs/hell
o-world.html
11
Copyright ? Virtual Technology, Inc
Reactの基本構?
class Setup2 extends React.components {
constructor(props:Props) {
super(props)
this.state = { isConfirmed: false }
}
componentWillMount() {
}
handleSubmit(e: InputEvent) {
}
render() {
}
}
ReactDOM.render(<Signup />, document.getElementById('signform'))
// SignupコンポーネントをHTMLのid:signformに挿?
12
ReactComponentを継承してclassを定義
Constructorで初期値を設定
Stateは更新されるとrender()が実行される特殊な変数
表示前に実行される(component関数)
JSXをレンダリング
ボタンクリックで実行(ユーザ関数)
Copyright ? Virtual Technology, Inc
Component Lifecycle
? componentWillMount()
– ComponentがDOMツリーに追加される前に?度だけ呼ばれます。
? componentDidMount()
– ComponentがDOMツリーに追加された状態で呼ばれます
? componentWillReceiveProps(nextProps)
– Propが更新される時に呼ばれます。
? shouldComponentUpdate()
– falseを返すとVirtualDOMの?較を?わずにrerenderされない
? componentWillUpdate(nextProps, nextState)
– Componentが更新する前に呼ばれます。
? componentDidUpdate(prevProps, prevState)
– Componentが更新された後に呼ばれます。
? componentWillUnmount()
– ComponentがDOMから削除される時に呼ばれます。
13
Copyright ? Virtual Technology, Inc14
? URLをフォルダに??てて?由に設定?追加可能
? リソースを様々なフォーマットに変換可能
? XML、JSON、MessagePack等などのデータ
? HTMLやCSS、JavaScript、PDF、画像などの静的コンテンツ
REST APIと直感的な規約
Copyright ? Virtual Technology, Inc
エンドポイントURL(初期フォルダ)
? setup/_settings/folderacls.xml
15
/_htmlを除くものが実際にアクセスできるエンドポイント
Copyright ? Virtual Technology, Inc
vte.cx スキーマ
? シンプルなシンタックス
– 「項?名(型)= 正規表現」の形式で記述
– Indexを指定可能
– 正規表現でバリデーション
? ソフトスキーマ
– 項?の追加が可能
– 運?中でも変更可
? setup/_settings/template.xml
16
Copyright ? Virtual Technology, Inc
ReactRouterの
ハマリどころと解決策
17
Copyright ? Virtual Technology, Inc
React Router
18
Link toで遷移先を定義
Route pathで呼び出すコンポーネントを定義
pathを指定しないとデフォルト表示
Copyright ? Virtual Technology, Inc
他の画?からの遷移
? this.props.history.push()
– ただし、historyを親から渡さないといけない
19
Copyright ? Virtual Technology, Inc
propsを渡せない問題の対応?法
20
? propsを渡すコンポーネントを別に作成
Copyright ? Virtual Technology, Inc
リロードで404エラー回避
? BrowserRouterではなくHashRouterを使う
21
Copyright ? Virtual Technology, Inc
激速!
React V16のサーバサイドレン
ダリングでPDF帳票を作成する
22
Copyright ? Virtual Technology, Inc
Reactで作る帳票システムの衝撃
? 詳しくはBlogで
– https://t.co/WKirbmr06s
23
Copyright ? Virtual Technology, Inc
動的PDF帳票出?をReactで
? ReactのSSRでHTMLを?成し、それをvte.cxのPDF
変換機能(reflex itext)を使ってPDFにする
24
Reflex iText
(弊社プロダクト)
Copyright ? Virtual Technology, Inc
サーバサイドJSとして実装する
? /server/ssrdemo.js
25
Server Side RenderingでHTMLに
HTMLをPDFに
Styleの指定
Copyright ? Virtual Technology, Inc
実??法
? https://{サービス}.1.vte.cx/s/ssrdemo
? https://{サービス}.1.vte.cx/s/ssrdemo2
26
Copyright ? Virtual Technology, Inc
HTMLタグ、Styleの書き?の詳細
? Reflex iText仕様(pageタグ、HTML互換タグ)
– http://reflexworks.jp/documentation.html
#reflexitext.html#G
– http://reflexworks.jp/documentation.html
#reflexitext.html#H
27
Copyright ? Virtual Technology, Inc
次回、11/29 やります!
https://vtecx.connpass.com/event/70544/
28
LTにぜひご応募ください
Copyright ? Virtual Technology, Inc29
support@virtual-tech.net
ご質問はこちらまで

More Related Content

What's hot (20)

技术选択とアーキテクトの役割 (要約版)
技术选択とアーキテクトの役割 (要約版)技术选択とアーキテクトの役割 (要約版)
技术选択とアーキテクトの役割 (要約版)
Toru Yamaguchi
?
尝滨骋におけるフロントエンドチーム构筑
尝滨骋におけるフロントエンドチーム构筑尝滨骋におけるフロントエンドチーム构筑
尝滨骋におけるフロントエンドチーム构筑
Hayashi Yuichi
?
奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方
奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方
奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方
PIXTA Inc.
?
エンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb ComponentsハンズオンエンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb Componentsハンズオン
Mitsuru Ogawa
?
Five Steps to Culture Change を日本語で解説する 2020/11/06
Five Steps to Culture Change を日本語で解説する 2020/11/06Five Steps to Culture Change を日本語で解説する 2020/11/06
Five Steps to Culture Change を日本語で解説する 2020/11/06
Issei Hiraoka
?
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
Mitsuru Ogawa
?
.NET Gadgeteerで組み込み開発の第一歩
.NET Gadgeteerで組み込み開発の第一歩.NET Gadgeteerで組み込み開発の第一歩
.NET Gadgeteerで組み込み開発の第一歩
Yoshitaka Seo
?
.Net GadgeteerでIoT
.Net GadgeteerでIoT.Net GadgeteerでIoT
.Net GadgeteerでIoT
Yoshitaka Seo
?
Idea Hackathon at vFORUM 2019 Tokyo
Idea Hackathon at vFORUM 2019 TokyoIdea Hackathon at vFORUM 2019 Tokyo
Idea Hackathon at vFORUM 2019 Tokyo
Motonori Shindo
?
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
itkr
?
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーションVisual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
?
組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends
PIXTA Inc.
?
【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!
史識 川原
?
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミングIoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
Yoshitaka Seo
?
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Atsushi Nakamura
?
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Fumiya Sakai
?
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
Koichiro Sasaki
?
.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門
Akiyoshi Tsuchida
?
Another Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacAnother Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for Mac
Tomohiro Suzuki
?
鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!
鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!
鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!
史識 川原
?
技术选択とアーキテクトの役割 (要約版)
技术选択とアーキテクトの役割 (要約版)技术选択とアーキテクトの役割 (要約版)
技术选択とアーキテクトの役割 (要約版)
Toru Yamaguchi
?
尝滨骋におけるフロントエンドチーム构筑
尝滨骋におけるフロントエンドチーム构筑尝滨骋におけるフロントエンドチーム构筑
尝滨骋におけるフロントエンドチーム构筑
Hayashi Yuichi
?
奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方
奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方
奥别产エンジニアの搁别补肠迟狈补迟颈惫别での戦い方
PIXTA Inc.
?
エンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb ComponentsハンズオンエンタープライヤーのためのWeb Componentsハンズオン
エンタープライヤーのためのWeb Componentsハンズオン
Mitsuru Ogawa
?
Five Steps to Culture Change を日本語で解説する 2020/11/06
Five Steps to Culture Change を日本語で解説する 2020/11/06Five Steps to Culture Change を日本語で解説する 2020/11/06
Five Steps to Culture Change を日本語で解説する 2020/11/06
Issei Hiraoka
?
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
Mitsuru Ogawa
?
.NET Gadgeteerで組み込み開発の第一歩
.NET Gadgeteerで組み込み開発の第一歩.NET Gadgeteerで組み込み開発の第一歩
.NET Gadgeteerで組み込み開発の第一歩
Yoshitaka Seo
?
Idea Hackathon at vFORUM 2019 Tokyo
Idea Hackathon at vFORUM 2019 TokyoIdea Hackathon at vFORUM 2019 Tokyo
Idea Hackathon at vFORUM 2019 Tokyo
Motonori Shindo
?
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
itkr
?
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーションVisual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
?
組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends
PIXTA Inc.
?
【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園?消火栓mapを作れるアプリを作ろう!
史識 川原
?
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミングIoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
Yoshitaka Seo
?
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Atsushi Nakamura
?
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Fumiya Sakai
?
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
Koichiro Sasaki
?
.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門
Akiyoshi Tsuchida
?
Another Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacAnother Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for Mac
Tomohiro Suzuki
?
鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!
鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!
鲍苍颈迟测ゲームにオンラインランキングとゴースト机能を追加しよう!
史識 川原
?

Similar to React vtecx20171025 (20)

Web study20171007
Web study20171007Web study20171007
Web study20171007
Shinichiro Takezaki
?
Lt20190129
Lt20190129Lt20190129
Lt20190129
Shinichiro Takezaki
?
Bpstudy20180725
Bpstudy20180725Bpstudy20180725
Bpstudy20180725
Shinichiro Takezaki
?
JSUG 2018 BTC
JSUG 2018 BTCJSUG 2018 BTC
JSUG 2018 BTC
kazukiotomori
?
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
Saki Homma
?
Enterpriseapi20160210
Enterpriseapi20160210Enterpriseapi20160210
Enterpriseapi20160210
Shinichiro Takezaki
?
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオン
Tomokazu Kizawa
?
Builderscon Tokyo 2017
Builderscon Tokyo 2017 Builderscon Tokyo 2017
Builderscon Tokyo 2017
Shinichiro Takezaki
?
闯补惫补から础办办补ハンズオン
闯补惫补から础办办补ハンズオン闯补惫补から础办办补ハンズオン
闯补惫补から础办办补ハンズオン
TIS Inc.
?
ITフォーラム2024 AITCセッション(2)
ITフォーラム2024 AITCセッション(2)ITフォーラム2024 AITCセッション(2)
ITフォーラム2024 AITCセッション(2)
aitc_jp
?
Unno Wataru Nutanix Advent Calendar 2018
Unno Wataru Nutanix Advent Calendar 2018Unno Wataru Nutanix Advent Calendar 2018
Unno Wataru Nutanix Advent Calendar 2018
Wataru Unno
?
贬迟尘濒5时代のクリエイターのあり方
贬迟尘濒5时代のクリエイターのあり方贬迟尘濒5时代のクリエイターのあり方
贬迟尘濒5时代のクリエイターのあり方
Masakazu Muraoka
?
(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告
(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告
(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告
INTAGEGROUP
?
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-devVs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Shotaro Suzuki
?
贬罢惭尝5时代の飞别产クリエイターに必要なこと
贬罢惭尝5时代の飞别产クリエイターに必要なこと贬罢惭尝5时代の飞别产クリエイターに必要なこと
贬罢惭尝5时代の飞别产クリエイターに必要なこと
Masakazu Muraoka
?
ITフォーラム2024 AITCセッション(3)
ITフォーラム2024 AITCセッション(3)ITフォーラム2024 AITCセッション(3)
ITフォーラム2024 AITCセッション(3)
aitc_jp
?
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
?
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
?
技术选択とアーキテクトの役割
技术选択とアーキテクトの役割技术选択とアーキテクトの役割
技术选択とアーキテクトの役割
Toru Yamaguchi
?
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
Saki Homma
?
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオン
Tomokazu Kizawa
?
闯补惫补から础办办补ハンズオン
闯补惫补から础办办补ハンズオン闯补惫补から础办办补ハンズオン
闯补惫补から础办办补ハンズオン
TIS Inc.
?
ITフォーラム2024 AITCセッション(2)
ITフォーラム2024 AITCセッション(2)ITフォーラム2024 AITCセッション(2)
ITフォーラム2024 AITCセッション(2)
aitc_jp
?
Unno Wataru Nutanix Advent Calendar 2018
Unno Wataru Nutanix Advent Calendar 2018Unno Wataru Nutanix Advent Calendar 2018
Unno Wataru Nutanix Advent Calendar 2018
Wataru Unno
?
贬迟尘濒5时代のクリエイターのあり方
贬迟尘濒5时代のクリエイターのあり方贬迟尘濒5时代のクリエイターのあり方
贬迟尘濒5时代のクリエイターのあり方
Masakazu Muraoka
?
(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告
(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告
(インテージテクノスフィア)贵驰20冲技术探究委员会冲ブロックチェーン分科会活动报告
INTAGEGROUP
?
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-devVs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Shotaro Suzuki
?
贬罢惭尝5时代の飞别产クリエイターに必要なこと
贬罢惭尝5时代の飞别产クリエイターに必要なこと贬罢惭尝5时代の飞别产クリエイターに必要なこと
贬罢惭尝5时代の飞别产クリエイターに必要なこと
Masakazu Muraoka
?
ITフォーラム2024 AITCセッション(3)
ITフォーラム2024 AITCセッション(3)ITフォーラム2024 AITCセッション(3)
ITフォーラム2024 AITCセッション(3)
aitc_jp
?
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
?
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト?もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
?
技术选択とアーキテクトの役割
技术选択とアーキテクトの役割技术选択とアーキテクトの役割
技术选択とアーキテクトの役割
Toru Yamaguchi
?

More from Shinichiro Takezaki (13)

Vtecx solution
Vtecx solutionVtecx solution
Vtecx solution
Shinichiro Takezaki
?
Real techlt20180829
Real techlt20180829Real techlt20180829
Real techlt20180829
Shinichiro Takezaki
?
11 29フ?レセ?ン資料
11 29フ?レセ?ン資料11 29フ?レセ?ン資料
11 29フ?レセ?ン資料
Shinichiro Takezaki
?
20171025 date picker説明資料
20171025 date picker説明資料20171025 date picker説明資料
20171025 date picker説明資料
Shinichiro Takezaki
?
Vtecx20151216 2
Vtecx20151216 2Vtecx20151216 2
Vtecx20151216 2
Shinichiro Takezaki
?
Vtecx20151216
Vtecx20151216Vtecx20151216
Vtecx20151216
Shinichiro Takezaki
?
Vtecxlt20151201
Vtecxlt20151201Vtecxlt20151201
Vtecxlt20151201
Shinichiro Takezaki
?
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
Shinichiro Takezaki
?
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
Shinichiro Takezaki
?
Reflex works20120818 1
Reflex works20120818 1Reflex works20120818 1
Reflex works20120818 1
Shinichiro Takezaki
?
骋谤辞辞惫测コンファレンス
骋谤辞辞惫测コンファレンス骋谤辞辞惫测コンファレンス
骋谤辞辞惫测コンファレンス
Shinichiro Takezaki
?

React vtecx20171025

  • 1. Copyright ? Virtual Technology, Inc React初?者勉强会とLT?会 2017/10/25 1
  • 2. Copyright ? Virtual Technology, Inc ?嵜 伸?郎 (たけざき しんいちろう) twitter id:stakezaki (有)バーチャルテクノロジー代表取締役 2
  • 3. Copyright ? Virtual Technology, Inc ビジョン ”もうフルスタックエンジニアはいらない。 HTMLとJSの知識さえあればWebサービスを 開発できる。 そのような世界を私たちは?指しています。” 3
  • 4. Copyright ? Virtual Technology, Inc API以外の余計なことは考えたくない 4 適当に分散して勝?にスケールすることを期待 これが真のサーバレスではないのか!?
  • 5. Copyright ? Virtual Technology, Inc React初?者勉强会とLT?会 5
  • 6. Copyright ? Virtual Technology, Inc vte.cxアプリのセットアップ ? Visual Studio Codeの導? – https://code.visualstudio.com/download ? Windowsの場合、git for windowsの導? – https://git-for-windows.github.io/ ? あとは、以下のqiitaの記事を?ながらセット アップ – http://qiita.com/stakezaki/items/0401d79d 392b081fb85e 6
  • 7. Copyright ? Virtual Technology, Inc ?順 ? nodeのインストール(?れていない?のみ) – https://nodejs.org/ja/ ? gulpとflowのインストール – npm install -g gulp – npm install -g flow-bin ? vtecxblankのclone – git clone https://github.com/reflexworks/vtecxblank.git ? vscodeでプロジェクトを開きコンソールでビルド – npm install ? vtecxにユーザ登録後サービスを作成してデプロイ – https://admin.1.vte.cx/login.html – gulp deploy xxxxxxxxx / gulp serve xxxxxxx 7
  • 8. Copyright ? Virtual Technology, Inc もし、?覧にデータが表?されない場合 ? データを再投?してみてください – gulp upload:data XXXXXXX 8
  • 9. Copyright ? Virtual Technology, Inc バンドラ(Webpack)とタスクランナ(Gulp) 9 ES2015 React(JSX) Flow トランスパイル Css/Sass ビルド? モジュール結合 JavaScript (ES5) ローカルPC サーバ(vte.cx) Import/ export モジュール結合 ② GulpによるDeploy ① Webpackによるビルド?バンドル
  • 10. Copyright ? Virtual Technology, Inc Reactの概要 ? ReactはFacebookが公開しているライブラ リでUIを効率的に構築することができる – HTMLに似たJSXのテンプレートを使うことで 直感的にUIを記述できる(仮想DOM) – コンポーネントの組み合わせで全体のアプリを 構築する 10
  • 11. Copyright ? Virtual Technology, Inc Reactの最も効率的な学習?法 ? Quick Startを?通り動作確認する – https://facebook.github.io/react/docs/hell o-world.html 11
  • 12. Copyright ? Virtual Technology, Inc Reactの基本構? class Setup2 extends React.components { constructor(props:Props) { super(props) this.state = { isConfirmed: false } } componentWillMount() { } handleSubmit(e: InputEvent) { } render() { } } ReactDOM.render(<Signup />, document.getElementById('signform')) // SignupコンポーネントをHTMLのid:signformに挿? 12 ReactComponentを継承してclassを定義 Constructorで初期値を設定 Stateは更新されるとrender()が実行される特殊な変数 表示前に実行される(component関数) JSXをレンダリング ボタンクリックで実行(ユーザ関数)
  • 13. Copyright ? Virtual Technology, Inc Component Lifecycle ? componentWillMount() – ComponentがDOMツリーに追加される前に?度だけ呼ばれます。 ? componentDidMount() – ComponentがDOMツリーに追加された状態で呼ばれます ? componentWillReceiveProps(nextProps) – Propが更新される時に呼ばれます。 ? shouldComponentUpdate() – falseを返すとVirtualDOMの?較を?わずにrerenderされない ? componentWillUpdate(nextProps, nextState) – Componentが更新する前に呼ばれます。 ? componentDidUpdate(prevProps, prevState) – Componentが更新された後に呼ばれます。 ? componentWillUnmount() – ComponentがDOMから削除される時に呼ばれます。 13
  • 14. Copyright ? Virtual Technology, Inc14 ? URLをフォルダに??てて?由に設定?追加可能 ? リソースを様々なフォーマットに変換可能 ? XML、JSON、MessagePack等などのデータ ? HTMLやCSS、JavaScript、PDF、画像などの静的コンテンツ REST APIと直感的な規約
  • 15. Copyright ? Virtual Technology, Inc エンドポイントURL(初期フォルダ) ? setup/_settings/folderacls.xml 15 /_htmlを除くものが実際にアクセスできるエンドポイント
  • 16. Copyright ? Virtual Technology, Inc vte.cx スキーマ ? シンプルなシンタックス – 「項?名(型)= 正規表現」の形式で記述 – Indexを指定可能 – 正規表現でバリデーション ? ソフトスキーマ – 項?の追加が可能 – 運?中でも変更可 ? setup/_settings/template.xml 16
  • 17. Copyright ? Virtual Technology, Inc ReactRouterの ハマリどころと解決策 17
  • 18. Copyright ? Virtual Technology, Inc React Router 18 Link toで遷移先を定義 Route pathで呼び出すコンポーネントを定義 pathを指定しないとデフォルト表示
  • 19. Copyright ? Virtual Technology, Inc 他の画?からの遷移 ? this.props.history.push() – ただし、historyを親から渡さないといけない 19
  • 20. Copyright ? Virtual Technology, Inc propsを渡せない問題の対応?法 20 ? propsを渡すコンポーネントを別に作成
  • 21. Copyright ? Virtual Technology, Inc リロードで404エラー回避 ? BrowserRouterではなくHashRouterを使う 21
  • 22. Copyright ? Virtual Technology, Inc 激速! React V16のサーバサイドレン ダリングでPDF帳票を作成する 22
  • 23. Copyright ? Virtual Technology, Inc Reactで作る帳票システムの衝撃 ? 詳しくはBlogで – https://t.co/WKirbmr06s 23
  • 24. Copyright ? Virtual Technology, Inc 動的PDF帳票出?をReactで ? ReactのSSRでHTMLを?成し、それをvte.cxのPDF 変換機能(reflex itext)を使ってPDFにする 24 Reflex iText (弊社プロダクト)
  • 25. Copyright ? Virtual Technology, Inc サーバサイドJSとして実装する ? /server/ssrdemo.js 25 Server Side RenderingでHTMLに HTMLをPDFに Styleの指定
  • 26. Copyright ? Virtual Technology, Inc 実??法 ? https://{サービス}.1.vte.cx/s/ssrdemo ? https://{サービス}.1.vte.cx/s/ssrdemo2 26
  • 27. Copyright ? Virtual Technology, Inc HTMLタグ、Styleの書き?の詳細 ? Reflex iText仕様(pageタグ、HTML互換タグ) – http://reflexworks.jp/documentation.html #reflexitext.html#G – http://reflexworks.jp/documentation.html #reflexitext.html#H 27
  • 28. Copyright ? Virtual Technology, Inc 次回、11/29 やります! https://vtecx.connpass.com/event/70544/ 28 LTにぜひご応募ください
  • 29. Copyright ? Virtual Technology, Inc29 support@virtual-tech.net ご質問はこちらまで