第11章Webアプリケーション開発
Conceptual Questions概念を考える問題
1. Why did it take a long time to create web frameworks that enforce a good architecture and a design able to evolve with web standards while sustaining operational stability and scalability? Provide examples to illustrate your answer.
英語のヒント
1. 運用の安定性とスケーラビリティを維持しながら、Web標準とともに進化できる優れたアーキテクチャと設計を確実に実現するWebフレームワークを作るまでに、なぜ長い時間がかかったのか。解答を説明する例を挙げなさい。
2. How is it possible to leverage Web 3.0 applications to ensure data privacy and software openness? Provide examples to illustrate your answer.
2. Web 3.0アプリケーションを活用し、データのプライバシーとソフトウェアの開放性を確保するには、どのようにすればよいか。解答を説明する例を挙げなさい。
3. Why are hybrid Web 2.0/3.0 applications needed?
3. なぜWeb 2.0/3.0を組み合わせたアプリケーションが必要なのか。
4. The Ethereum blockchain relies on ether, a cryptocurrency that is the key currency on the network. For each transaction carried out on the Ethereum blockchain, a small fee in ether is applied. What is the need for such cost?
英語のヒント
4. Ethereumブロックチェーンは、そのネットワークの中心的な通貨である暗号通貨etherを使う。Ethereumブロックチェーン上で行われる取引には、それぞれ少額のetherによる手数料がかかる。このような費用は、なぜ必要なのか。
5. Explain the difference between a Django project and a Django web application.
5. DjangoプロジェクトとDjango Webアプリケーションの違いを説明しなさい。
6. Explain the difference between the Delete and Put buttons.
6. DeleteボタンとPutボタンの違いを説明しなさい。
7. Explain the difference between React and Node.
7. ReactとNodeの違いを説明しなさい。
8. Explain how React and Node are used to create a Todo web application.
8. Todo Webアプリケーションを作る際、ReactとNodeをどのように使うか説明しなさい。
9. When updating the Todo web application using Bootstrap with React and Django, explain how React and Django are used.
9. Bootstrap・React・DjangoでTodo Webアプリケーションを更新する際、ReactとDjangoをどのように使うか説明しなさい。
10. What are some of the benefits and drawbacks of native application development?
10. ネイティブアプリケーション開発の利点と欠点には、どのようなものがあるか。
Practice Exercises練習問題
Exercises 1–5練習問題 1–5
1. Explain how server-side rendering works.
1. サーバー側レンダリングの仕組みを説明しなさい。
2. How do SPA frameworks work as compared to traditional server-side rendering?
2. SPAフレームワークの動作は、従来のサーバー側レンダリングと比べてどのように異なるか。
3. What is the difference between a P2P and a decentralized application architecture?
3. P2Pのアプリケーションアーキテクチャと、分散型アプリケーションアーキテクチャの違いは何か。
4. Using Bootstrap and Django to create a Todo application, to enable Django to recognize the Todo application, it must be registered in the Django project as an installed app. How is this done?
4. BootstrapとDjangoでTodoアプリケーションを作る際、DjangoがTodoアプリケーションを認識できるよう、Djangoプロジェクトにインストール済みアプリとして登録しなければならない。これは、どのように行うか。
5. Using Bootstrap and Django, what is required to build the API needed for the Todo web application?
5. BootstrapとDjangoを使う場合、Todo Webアプリケーションに必要なAPIを構築するには何が必要か。
Exercises 6–10練習問題 6–10
6. What is the purpose of the user interface and, using Bootstrap and Django, what is the first step to create a UI for Todo?
6. 利用者インターフェースの目的は何か。また、BootstrapとDjangoでTodoのUIを作る最初の手順は何か。
7. Follow the steps provided in this subsection to build a sample responsive web application with Bootstrap, React, and Node. Explain what each technology is used for in the app.
7. この項で示した手順に従い、Bootstrap・React・NodeでレスポンシブWebアプリケーションの例を構築しなさい。アプリ内で各技術が何に使われるか説明しなさい。
8. Install Postman and call your APIs to test them with Postman. How does Postman allow you to call your APIs?
8. Postmanをインストールし、自分のAPIを呼び出してテストしなさい。Postmanでは、どのようにAPIを呼び出せるか。
9. Follow the steps provided in this subsection to build a sample responsive web application with Bootstrap, React, and Django. Identify each technology used in the responsive web application.
9. この項で示した手順に従い、Bootstrap・React・DjangoでレスポンシブWebアプリケーションの例を構築しなさい。使われる各技術を特定しなさい。
10. Follow the steps provided in this subsection to build a sample native application with React Native, Node, and Django. Explain the use of each technology.
10. この項で示した手順に従い、React Native・Node・Djangoでネイティブアプリケーションの例を構築しなさい。各技術の用途を説明しなさい。
Problem Set A問題集A
Exercises 1–5練習問題 1–5
1. Classify the web application frameworks mentioned in this timeline (https://openstax.org/r/ 76WebFrameTime) according to the web application development chronology covered earlier in this subsection.
英語のヒント
1. この年表(https://openstax.org/r/76WebFrameTime)に挙げられたWebアプリケーションフレームワークを、この項の前半で扱ったWebアプリケーション開発の歴史に従って分類しなさい。
2. Perform some research on the Internet and identify the top three web application frameworks according to popularity and their relative pros and cons.
2. インターネットで調べ、人気の高いWebアプリケーションフレームワークの上位3つと、それぞれを比較した長所と短所を特定しなさい。
3. Explain how single-page applications (SPAs) are implemented.
3. シングルページアプリケーション(SPA)の実装方法を説明しなさい。
4. After installing the Todo web application using Bootstrap and Django, you realize that you do not have a physical table for the categories that can be assigned to todo tasks. What steps should you follow to correct this?
4. BootstrapとDjangoでTodo Webアプリケーションをインストールした後、todoタスクへ割り当てられるカテゴリーの実際のテーブルがないことに気付いた。この問題を直すには、どのような手順を踏むべきか。
5. Using Bootstrap and Django to create the Todo web application, how do you allow access to the admin interface?
5. BootstrapとDjangoでTodo Webアプリケーションを作る場合、管理インターフェースへのアクセスをどのように可能にするか。
Exercises 6–9練習問題 6–9
6. Research some industry standard formats for the REST endpoint payloads. Provide at least two formats that REST supports.
英語のヒント
6. RESTエンドポイントのペイロードに使う、業界標準の形式を調べなさい。RESTが対応する形式を、少なくとも2つ挙げなさい。
7. In our sample web application, we implemented REST APIs in React. Research other languages that REST endpoints can be created in. Write a one- to two-sentence summary that explains supported languages.
7. 本書のサンプルWebアプリケーションでは、ReactでREST APIを実装した。RESTエンドポイントを作成できる、ほかの言語を調べなさい。対応する言語について、1〜2文でまとめなさい。
8. Explain how React Native differs from React.
8. React NativeとReactの違いを説明しなさい。
9. Explain the difference between Truffle Framework and Solidity.
9. Truffle FrameworkとSolidityの違いを説明しなさい。
Problem Set B問題集B
Exercises 1–5練習問題 1–5
1. Implement a simple website using the Flask framework. How does Flask rank as compared to the latest web and web application frameworks?
1. Flaskフレームワークで、単純なWebサイトを実装しなさい。最新のWebフレームワークやWebアプリケーションフレームワークと比べると、Flaskはどのように位置付けられるか。
See the Flask documentation (https://openstax.org/r/76Flask) for more information.
2. Follow the Django tutorial (https://openstax.org/r/76DjangoTutor) to build a simple Django application.
2. Djangoのチュートリアル(https://openstax.org/r/76DjangoTutor)に従い、単純なDjangoアプリケーションを構築しなさい。
3. Using Bootstrap and Django, if the categories in the Todo web application cannot be updated or deleted, what is the likely problem?
3. BootstrapとDjangoを使うTodo Webアプリケーションで、カテゴリーを更新・削除できない場合、どのような問題が考えられるか。
4. Using Bootstrap and Django, why is the View function vital for the Todo web application?
英語のヒント
4. BootstrapとDjangoを使う場合、なぜView関数はTodo Webアプリケーションに不可欠なのか。
5. Another technology that is often paired with Postman is OpenAPI’s Swagger UI. Research what OpenAPI’s Swagger can do and how it can be paired with Postman.
5. Postmanとよく組み合わせて使う技術に、OpenAPIのSwagger UIがある。OpenAPIのSwaggerで何ができるか、Postmanとどのように組み合わせられるかを調べなさい。
Exercises 6–8練習問題 6–8
6. Research how we can automate API testing with Postman. Explain why automated API testing is useful.
6. PostmanでAPIのテストを自動化する方法を調べなさい。APIテストの自動化が役立つ理由を説明しなさい。
7. Explain how React Native and Node are used to build a Todo mobile application.
7. React NativeとNodeを使ってTodoモバイルアプリケーションを作る方法を説明しなさい。
8. Develop a sample hello world Web 3.0 application and deploy it on Ethereum. Follow the steps described earlier in this subsection to optimize your application using the various technologies suggested in addition to the standard blockchain platform.
8. hello worldを表示するWeb 3.0アプリケーションの例を開発し、Ethereum上へ配置しなさい。この項の前半で説明した手順に従い、標準のブロックチェーンプラットフォームに加えて提案された、さまざまな技術を使ってアプリケーションを最適化しなさい。