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
WSLでreactの開発環境作った話
Search
S-cubism
September 26, 2018
Technology
0
710
WSLでreactの開発環境作った話
S-cubism
September 26, 2018
Tweet
Share
More Decks by S-cubism
See All by S-cubism
未経験者がAndroidアプリをリリースするまで
scubism
0
140
scubism_LT_20180223_細田謙二_イベントソーシング
scubism
0
160
REVEAL.JSをちょっとだけ使ってみた
scubism
0
270
忙しい人のための仮想通貨
scubism
0
120
サーバ作業の注意コマンド
scubism
0
140
最近勉強してること、次にやりたいこと
scubism
0
110
FOOD TECH
scubism
0
70
Firebase(Realtime Database)について
scubism
0
130
複数会社複数リポジトリでのソース管理
scubism
0
100
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
770
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
220
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
220
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
190
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
660
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
310
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
710
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
150
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
130
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
The Limits of Empathy - UXLibs8
cassininazir
1
220
BBQ
matthewcrist
89
10k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Chasing Engaging Ingredients in Design
codingconduct
0
110
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Transcript
WSLで reactの開発環境作った話 テクノロジーアーキテクト本部 松島一樹
Windowsでのreact開発環境について
React開発方法 • 仮想マシンを立てる(virtualbox) • Vagrant+ansibleで簡単に作成できる • シンボリックリンクがあるため共有フォルダが使えない (ホストのエディタから編集できない) • NodeをWindowsに入れる
• 無難そう • Windows Subsystem for Linuxを使う
WSLを使った理由 • Linuxのほうが使い慣れていた • Nodeのバージョン管理ツール(nvm)が使える • Windowsと相互運用しやすそう
Windows Subsystem for Linux ざっくり入門
WSLとは • Windows Subsystem for Linux(通称WSL) • Linux ELF64バイナリの実行環境
仕組み ユーザモード カーネルモード Linux syscall 変換を行う NT syscall [1]画像出典 WSL
System Calls (https://blogs.msdn.microsoft.com/wsl/2016/06/08/wsl-system-calls/)
WSL機能概要 • バックグラウンドプロセスの実行(一部) • 仮想的なLinuxのファイルシステム • ネットワーク通信 • シリアル通信のサポート
ファイルシステム • VolFs • VFSのほとんどの機能をサポート • “/”以下が格納 • Windowsのアプリケーションから触れない(ほうがいい) •
DrvFS • Windowsのファイルと相互運用 • Linuxのアクセス権限は利用できない ver1803からできるようになった • I/Oが遅いといわれている[1] [1] Microsoft、WSLのI/Oパフォーマンス改善に取り組み https://news.mynavi.jp/article/20180815-676572/
対応するディストリビューション など
つかいかた
bash起動方法 • アプリストアのアイコンをクリックする • “ファイル名を指定して実行”で”wsl”
特定のコマンドを実行する • コマンドプロンプトで • Powershellで • Explorerで コマンド 引数
React開発環境
環境構成 React project /mnt/c/Users/user/project/ C:¥Users¥user¥project Visual Studio code 編集 WSL
Ubuntu 18.04 Node 8.11.4 実行 node起動 Debugスクリプトでwslのフラグを立 てるとwslでnodeを起動してくれる ブラウザ localhost:3000 • nodeの実行はwsl上で • プロジェクトのファイルはDrvfsに置く
よかった点 • Linuxでの構築方法を流用できる • エディタ(vscode)から制御できる • ネットワークの設定が不要
悪かった点 • 仮想マシンと比べてビルドが遅い 参考: WSL vs VM for 開発作業(https://qiita.com/satoru_takeuchi/items/a54812806bba0eb48f02) •
コマンドを誤るとwindowsの動作にも影響が出てしまう • 通称fork爆弾.windowsがフリーズする • userのフォルダも削除される? 参考:Windows 10 WSLで『rm -rf /』を実行(https://news.mynavi.jp/article/dont_run_on_linux-3/) $ :(){ :|:& };: $ sudo rm –rf / --no-preserve-root
まとめ Linuxのバイナリを実行できる 動作は遅い 動作確認にはよさそう