TOEFL ✖️ Ruby on Rails

英語(主にTOEFL)とプログラミング(Ruby on Rails)を勉強中です。知らないがことがあまりにも多いので、メモ感覚で学びを残したいです。誤り等ございましたらご指摘よろしくお願い至します。

TOEFL Writing Integrated テンプレート

The reading presents three reasons to substantiate its argument that~. However, the professor casts doubt on the theories by providing three convincing rebuttals. He believes that each of hypotheses is either incorrect or uncorroborated and concludes that ~.

 

First of all, the author claims that ~.

However, the professor states that this theory does not hold water because ~.

In addition, he says that ~.

 

Secondly, the author states that ~.

On the other hand, the professor claims that this argument is not convincing because ~.

Moreover, he mentions that ~.

 

Finally, the author feels that ~.

In contrast, the professor believes that this contention is questionable because ~.

Furthermore, he elaborates on this by saying that ~.

ざっくりしたWebを支える技術      第1部 Web概論 第3章 REST webアーキテクチャー

webのアーキテクチャースタイルはREST

アーキテクチャースタイルとは複数のアーキテクチャー(下図参照)に共通する性質、様式、作法あるいは流儀など指す。webサービス全体の調和を乱さぬようRESTの約束事を守ることが重要。

 

抽象化レベル  ↓↓↓                       |  webでの例 ↓↓↓

-------------------------------------------------------------------------------------

(親)  アーキテクチャースタイル  | REST

-------------------------------------------------------------------------------------

(子)  アーキテクチャ                    |    ブラウ,サーバ,プロキシ,HTTP,URIなど

--------------------------------------------------------------------------------------

(孫)  実装                                      |    Firefox, googleChrome, safariなど

--------------------------------------------------------------------------------------

 

RESTにおける重要な概念、リソースとは?

一言で言うとweb上に存在する名前を持ったありとあらゆる情報。

Railsチュートリアル第5章, Yahoo! JAPANの路線検索, あなたのブログトップページ

人間の場合、同姓同名の名前の知り合いが存在しても区別はできるがプログラムの場合字体が全く同じだと区別できない。

では、どんな状況でもプログラムが区別可能な<名前>とは何か?

それはURIである。URIはそれぞれ一意でなくてはいけない。

Railsチュートリアル第5章のURI ↓↓

https://railstutorial.jp/chapters/filling_in_the_layout?version=5.0#cha-filling_in_the_layout

 

具体的なRESTのアーキテクチャースタイルとは?

RESTは以下6つのアーキテクチャースタイルを組み合わせた複合アーキテクチャースタイルである。

1 クライアント/サーバーユーザーインターフェースと処理を分離する。

サーバーはデータストレージとしての機能だけを提供すればいい。

 

2 ステートレスサーバー :サーバー側でアプリケーション状態を持たない。

ただしサーバー側で状態を管理したい場合、cookieを使ったセッション管理がある。(ステートフル)

 

3 キャッシュ      :クライアントとサーバーの通信回数を減らす。

一度取得したリソースをクライアント側で使い回す方式。

 

4 統一インタフェース     :インターフェースを固定する。

HTTPで統一することでクライアントとサーバーの実装の独立性が向上する。

 

5 階層化システム             :システムを階層に分離する。

クライアントからするとサーバーもプロキシも同じインターフェースで接続できるので接続先を気にする必要はない。(インターフェースをHTTPで統一しているから。)

 

6 コードオンデマンド     :プログラムをクライアント側で実行する。

JavascriptFlashなどをクライアントプログラムに新しい機能として追加できる。

 

まとめ

webはRESTと言うアーキテクチャースタイルがあったからこそここまで大きくなった。

WebサービスやWebAPIがRESTfulになると、Webは全体としてよりよくなっていく。

 

 

ざっくりしたWebを支える技術      第1部 Web概論 第2章 Webの歴史

web以前のインターネット

米国内の大学や研究機関の間を当時としては高速な回線で接続し、全米をつなくネットワークといて徐々に成長して来た。扱われていた文字は全てアルファベットであり、メールを送るにしても今日のリアルタイムでの通信ではなく、到達するまでに遅延があった。

 

web以前のハイパーメディア

さまさまな研究者が色々な構想を打ち立てるなか、1987年にBill AtkinsonがAppleで開発したHyperCardが初の実用的なハイパーメディアとしてあげられる。ネットワークを通じてデータのやり取りはなかったものの、HyperTalkというスクリグと言語でプログラムを実行しカードと呼ばれる文書を単位にページを遷移できた。

 

web以前の分散システム

端末をホストコンピュータに接続してホストコンピュータで集中して処理をしていた。1970年以降コンピューターのダウンサイジングが進み、一つ一つのコンピューターの小型化高性能化が進むに連れて複数のコンピュータを組み合わせて処理を分散さる分散システムが生まれた。RPCという分散システムを実現するための技術がある。これはリモートのサーバーで実行しているプログラムをクライアント側から呼び出すという技術。

 

webの誕生

1990年11月12日, Tim Berners-Leeがハイパーメディアを用いたインターネットベースの分散情報管理システムとしてwebの提案書を書いた。

 

webの標準化

サーバー、クライアント間での相互運用性が求められていたが、webの急速的な普及で各社の実装がバラバラであったため、Berners-Leeが中心となりW3C(world wide web consortium)がwebの標準化を行う団体として設立された。HTML, XML, HTTP, URI, CSSなどの標準化作業が行われた。

 

 

ざっくりしたWebを支える技術      第1部 Web概論 第1章 Webとは何か?

様々なwebの用途例

webサイト・・AmazonやYahooなど

ユーザーインターフェースとしてのweb・・UIの分野。HTMLなど見た目の部分

プログラム用APIとしてのweb・・プログラム用のインターフェース

 

webを支える最も基本的な3つ技術

HTTP(Hypertext Trnsfer Protocol)・・get, postなどWebブラウザとWebサーバ間で情報をやり取りするためのプロトコルのこと。(プロトコル =データのやりとりをするときの、ある程度決まった手順

URI ・・URLなどにより世界のあらゆる情報を指し示せる。(http://0000.jpなど)

HTML・・情報を表現するための文書フォーマット。

 

webを支えるその他の基本的な技術

Hypertext&Hypermedia

Hypertextとは、文書内の要素に、他の文書への参照を埋め込み、複数の文書を相互に結びつけたもの。Hypermediaとは, Hypertextのような文書に留まらず、画像や図表、音声、動画など様々な情報間で相互に関連付けや参照などが行えるようにしたもの

 

分散システム

1つのコンピューターが全てを処理する<集中システム>とは違い、複数のコンピュータを組み合わせて処理を分散させる形式。

webは世界中に配置されたサーバーに世界中のブラウザがアクセスする分散システム。

f:id:omatomo:20170717212950p:plain

 

 

 

 

 

 

 

TOEFL Writing essay 2

Q, In general, people are living longer now. Discuss the causes of this phenomenon. User specific reasons and details develop your essay.

 

With no doubt, people are living longer these days than ever before. While there are many explanations for this phenomenon, I believe that the two most important are advances in science and the fact that people today enjoy manageable working lives. I will explore why I feel this way in the following essay.

 

To begin with, advances in science and technology has done a lot to extend our natural lives. Recently developed pharmaceuticals and medical devices assist doctors in a wide range of ways. They help in the prevention of illness, in the diagnosis of disease, during treatment and even in the provision of follow-up care. For example, severals years ago, I was diagnosed with skin cancer. Fortunately, my cancer was discovered at a very early stage of the disease and my treatment was provided very quickly and without any unexpected side-effects. My diagnosis was completed very quickly in a modern lab in a high-tech hospital near my home. As a result of this, I made a rapid and complete recovery. In contrast, several decades ago, my grandfather passed away as a result of prostate cancer. He was not diagnosed with cancer until just three weeks before his death.This was because there was simply no technology available to make the diagnosis. Last month, however, I read that because of recent scientific advances his form of cancer no has a ninety-percent survival rate.

 

Secondly, people today have much more manageable working lives than people in the past experienced. Workers today enjoy both long vacation periods every year and fewer hours at work every day. I, for example, work just thirty-five hours every week and am given five weeks of holiday time each year by my employer. My example is not an outlier, as most of my friends and colleagues have a similar benefit package as I do. These perks help me to live a stress-free life and maintain a healthy body. My uncle, who is much older than I, worked more than forty-five hours each week during his career. He enjoyed just a one week holiday each winter. His work was physically demanding and he developed a lot of health problems as he aged. The toll his work took on his body was a major cause of his early death, I believe. The comparison of myself and my uncle demonstrate how today's working lives contribute to longer life span.

 

In conclusion, I strongly believe that there are two main reasons why people today live longer than earlier generations. Those reasons are advances in science and technology and gentler working condition.

 

 

TOEFL Writing essay 1

Q, The widespread use of the internet has given people access to information on a level never experienced before. How does this increase in the availability of information influence life in today's world?

 

Most people agree that the Internet affects society in many different ways. In my opinion, the most prominent effect of the Internet is that it has strengthened democracy. I fell this way for two reasons, which I will explore in my essay.

To begin with, online investigative reporting plays a major role in exposing political corruption and keep politicians honest. In the past, there were only a limited number of news outlets and they often had deep connections to powerful politicians and were hesitant to criticize them. These days, however, there were many independent publications on the Internet that are willing to expose political misbehavior. For example, an online magazine published a story revealing that the mayor of my hometown had taken bribes from a property developer. The report was so detailed and well-researched that the mayor had no choice but to resign. Although it was not hard to locate, only this independent website was willing to write about it. This example demonstrates how the Internet helps to strengthen democracy in the modern world.

Secondary, the free exchange of ideas found online motivates people to become politically active. In countries all over the world, people use social networking sites to share their ideas and opinion. While in the past people might have thought that they are alone in their beliefs, they can now realize that others share their ideas. My own experience demonstrates this concept. When I was a university student, I learned that a municipal park near my residence was going to be demolished to make room for a parking lot. This bothered me a lot because I enjoyed spending time in the park. At first, I thought that there was nothing that I, as individual as, could do to stop this from happening. However, I later joined a Facebook group dedicated to opposing the plan. When the members of the group learned how many people in the city loved the park, we were happy to get together and enthusiastically protest in front of city hall until our voices were heard. I think that finding each other on that Facebook group gave us the courage to actively protect our park.

In conclusion, I strongly believe that the Internet has strengthened democracy in modern society. This is because online investigative journalism plays a big role keeping politician honest, and because social networking sites encourage people to be politically active.