Soumettre la recherche
Mettre en ligne
後期講座03
•
Télécharger en tant que PPTX, PDF
•
0 j'aime
•
1,435 vues
Takenori Nakagawa
Suivre
Node.js で Web スクレイピング
Lire moins
Lire la suite
Formation
Affichage du diaporama
Signaler
Partager
Affichage du diaporama
Signaler
Partager
1 sur 16
Télécharger maintenant
Recommandé
ブラウザとWebサーバとXSSの話@Shibuya.xss
ブラウザとWebサーバとXSSの話@Shibuya.xss
Toshiharu Sugiyama
XSS再入門
XSS再入門
Hiroshi Tokumaru
体系的に学ばないXSSの話
体系的に学ばないXSSの話
Yutaka Maehira
Elasticsearch at CrowdWorks
Elasticsearch at CrowdWorks
佑介 九岡
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
MongoDBのアレをアレする
MongoDBのアレをアレする
Akihiro Kuwano
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Masato Kinugawa
Recommandé
ブラウザとWebサーバとXSSの話@Shibuya.xss
ブラウザとWebサーバとXSSの話@Shibuya.xss
Toshiharu Sugiyama
XSS再入門
XSS再入門
Hiroshi Tokumaru
体系的に学ばないXSSの話
体系的に学ばないXSSの話
Yutaka Maehira
Elasticsearch at CrowdWorks
Elasticsearch at CrowdWorks
佑介 九岡
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
MongoDBのアレをアレする
MongoDBのアレをアレする
Akihiro Kuwano
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Masato Kinugawa
実践スクレイピング
実践スクレイピング
だいすけ ふるかわ
elasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみた
furandon_pig
Maniaxセミナー
Maniaxセミナー
bird 982000
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
Shinsuke Sugaya
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
Akihiro Kuwano
CSP Lv.2の話
CSP Lv.2の話
Yu Yagihashi
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
KageShiron
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
Shinsuke Sugaya
今日からはじめるCSP(Kernel/VM@Okinawa)
今日からはじめるCSP(Kernel/VM@Okinawa)
cocoa_dahlia
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Hitoshi Asai
Wight: Phantom’s Perl friend - YAPC::Asia 2012
Wight: Phantom’s Perl friend - YAPC::Asia 2012
Hiroshi Shibamura
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
HTML5 on ASP.NET
HTML5 on ASP.NET
Fujio Kojima
WordPressとjQuery
WordPressとjQuery
Seto Takahiro
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱い
niwatako
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Naruhiko Ogasawara
BMXUG つきじ#4
BMXUG つきじ#4
K Kimura
Ma gician <wide version> @meguro.es 2019/10/10
Ma gician <wide version> @meguro.es 2019/10/10
Eucen Stew
qpstudy#5 懇親会LT riywo
qpstudy#5 懇親会LT riywo
Ryosuke IWANAGA
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
Yu Ito
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
Hirokazu Ouchi
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作
西畑 一馬
Contenu connexe
Tendances
実践スクレイピング
実践スクレイピング
だいすけ ふるかわ
elasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみた
furandon_pig
Maniaxセミナー
Maniaxセミナー
bird 982000
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
Shinsuke Sugaya
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
Akihiro Kuwano
CSP Lv.2の話
CSP Lv.2の話
Yu Yagihashi
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
KageShiron
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
Shinsuke Sugaya
今日からはじめるCSP(Kernel/VM@Okinawa)
今日からはじめるCSP(Kernel/VM@Okinawa)
cocoa_dahlia
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Hitoshi Asai
Wight: Phantom’s Perl friend - YAPC::Asia 2012
Wight: Phantom’s Perl friend - YAPC::Asia 2012
Hiroshi Shibamura
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
HTML5 on ASP.NET
HTML5 on ASP.NET
Fujio Kojima
WordPressとjQuery
WordPressとjQuery
Seto Takahiro
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱い
niwatako
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Naruhiko Ogasawara
BMXUG つきじ#4
BMXUG つきじ#4
K Kimura
Ma gician <wide version> @meguro.es 2019/10/10
Ma gician <wide version> @meguro.es 2019/10/10
Eucen Stew
qpstudy#5 懇親会LT riywo
qpstudy#5 懇親会LT riywo
Ryosuke IWANAGA
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
Yu Ito
Tendances
(20)
実践スクレイピング
実践スクレイピング
elasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみた
Maniaxセミナー
Maniaxセミナー
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
CSP Lv.2の話
CSP Lv.2の話
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
今日からはじめるCSP(Kernel/VM@Okinawa)
今日からはじめるCSP(Kernel/VM@Okinawa)
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Wight: Phantom’s Perl friend - YAPC::Asia 2012
Wight: Phantom’s Perl friend - YAPC::Asia 2012
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
HTML5 on ASP.NET
HTML5 on ASP.NET
WordPressとjQuery
WordPressとjQuery
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱い
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
BMXUG つきじ#4
BMXUG つきじ#4
Ma gician <wide version> @meguro.es 2019/10/10
Ma gician <wide version> @meguro.es 2019/10/10
qpstudy#5 懇親会LT riywo
qpstudy#5 懇親会LT riywo
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
Similaire à 後期講座03
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
Hirokazu Ouchi
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作
西畑 一馬
20150221 めとべや東京-プライベートコード共有サービス
20150221 めとべや東京-プライベートコード共有サービス
Takayoshi Tanaka
iOS WebView App
iOS WebView App
hagino 3000
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
Kazunari Hara
HTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろう
yoshikawa_t
20110714 j queryベーシック
20110714 j queryベーシック
良太 増子
WordPress と Bootstrap
WordPress と Bootstrap
株式会社ガリレオ(開発グループ)
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Shotaro Suzuki
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
Shotaro Suzuki
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
Takayoshi Tanaka
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Masanori Ishigami
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Shumpei Shiraishi
How To Drink Wsgi
How To Drink Wsgi
Atsushi Odagiri
検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築
sato165 @delab
Selenium webdriver使ってみようず
Selenium webdriver使ってみようず
Oda Shinsuke
Pjax1
Pjax1
Kindai University
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue
Similaire à 後期講座03
(20)
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作
20150221 めとべや東京-プライベートコード共有サービス
20150221 めとべや東京-プライベートコード共有サービス
iOS WebView App
iOS WebView App
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
HTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろう
20110714 j queryベーシック
20110714 j queryベーシック
WordPress と Bootstrap
WordPress と Bootstrap
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
How To Drink Wsgi
How To Drink Wsgi
検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築
Selenium webdriver使ってみようず
Selenium webdriver使ってみようず
Pjax1
Pjax1
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
Plus de Takenori Nakagawa
TensorFlow 入門
TensorFlow 入門
Takenori Nakagawa
機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法
Takenori Nakagawa
Docker で Deep Learning
Docker で Deep Learning
Takenori Nakagawa
GitHub Travis-CI Go!
GitHub Travis-CI Go!
Takenori Nakagawa
01.app
01.app
Takenori Nakagawa
Service Workers Push API Hands-on
Service Workers Push API Hands-on
Takenori Nakagawa
Service Workers
Service Workers
Takenori Nakagawa
OpenGL 3DCG
OpenGL 3DCG
Takenori Nakagawa
WebGL
WebGL
Takenori Nakagawa
01:artificial life
01:artificial life
Takenori Nakagawa
後期05
後期05
Takenori Nakagawa
後期03
後期03
Takenori Nakagawa
後期02
後期02
Takenori Nakagawa
densan2014-late01
densan2014-late01
Takenori Nakagawa
phpck
phpck
Takenori Nakagawa
Git 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
Takenori Nakagawa
OpenIL vol.1
OpenIL vol.1
Takenori Nakagawa
後期講座08
後期講座08
Takenori Nakagawa
後期講座07
後期講座07
Takenori Nakagawa
後期講座05
後期講座05
Takenori Nakagawa
Plus de Takenori Nakagawa
(20)
TensorFlow 入門
TensorFlow 入門
機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法
Docker で Deep Learning
Docker で Deep Learning
GitHub Travis-CI Go!
GitHub Travis-CI Go!
01.app
01.app
Service Workers Push API Hands-on
Service Workers Push API Hands-on
Service Workers
Service Workers
OpenGL 3DCG
OpenGL 3DCG
WebGL
WebGL
01:artificial life
01:artificial life
後期05
後期05
後期03
後期03
後期02
後期02
densan2014-late01
densan2014-late01
phpck
phpck
Git 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
OpenIL vol.1
OpenIL vol.1
後期講座08
後期講座08
後期講座07
後期講座07
後期講座05
後期講座05
Dernier
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
yuitoakatsukijp
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
Dernier
(7)
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
後期講座03
1.
電算部ネットワーク講座 03 Node.js Ⅲ
2.
目次 今回の内容 Web スクレイピングとは cheerio を用いた
Web スクレイピング cheerio の導入 (+ request) request の設定 proxy 設定に関する注意事項 cheerio の使い方 cheerio の注意点 文字コードの問題 課題
3.
今回の内容 Node.js で Web
スクレイピングをします。
4.
Web スクレイピングとは スクレイピングとは“削ること“という意味。 Web サイトから必要な情報をだけを削り取る
(抽出する) 技術のことを Web ス クレイピングといいます。 Web スクレイピングによって、 Web サイトから必要な情報を抽出して使いや すく整形することができます。 例: API を提供していない辞書サイトで自動的に調べ物をする。 RSS を提供していないサイトの新着情報を好きなフォーマットで取り出す。
5.
cheerio を用いた Web
スクレイピング cheerio という Node.js で jQuery のように HTML 要素を操作できるモジュール があります。 この他にも、 Node.js で動くものではありませんが、 casperJS というスクレ イピングや自動テストのためのライブラリがあります。 (こちらの方が高機能です) 参考: http://thesportsbusiness.jp/archives/189 今回は導入が簡単で高速に動作する cheerio を使います。 補足 jQuery: ブラウザで DOM を手軽に操作するためのライブラリ
6.
cheerio の導入 npm install
cheerio これだけ。 今回は cheerio に読み込ませる HTML をインターネット上から取得するため、 request というモジュールを使います。(プロキシも越えられます) npm install request
7.
request の設定 プロキシを越えるために request
の設定をします。 // request と url モジュールの読み込み var request = require("request"); var url = require("url"); // proxy 接続用の URL を生成 (太字の user, pass は proxy の認証情報) var proxy = url.format({ protocol: "http", host: "proxy5.hit.ac.jp:8080", auth: user + ":" + pass });
8.
request の設定 続き // URL
に対して GET メソッドでリクエストを送る request.get(URL, { proxy: proxy }, function (err, res, body) { // エラー処理 if (err) console.log(err); // cheerio で response body を読み込む var $ = cheerio.load(body); /* cheerio を用いた処理 */ });
9.
proxy 設定に関する注意事項 本学の proxy
は HTTP Proxy です。 平文で学籍番号とパスワードが流れます → 通信経路に注意 大学のネットワーク以外で proxy 設定を解除しないまま接続すると危険 proxy 設定を解除しないまま、暗号化設定の無い無線 LAN のアクセスポイントに接 続すると危険 また、コードの中にパスワードをそのまま書くこと (パスワードのハードコー ディング) はセキュリティ上よろしくないので、避ける 実行時にパスワードの入力を求めるように設計する
10.
proxy 設定に関する注意事項 実行時にパスワードを入力させる https://github.com/ww24/densan.info-networkcourse/tree/master/nodejs/03/ 上記の password.js
を参考にしてください。
11.
cheerio の使い方 jQuery とほぼ同じ書き方ができます。 →
CSS セレクタに近い表記で要素を選択できます。 // cheerio モジュールの読み込み var cheerio = require("cheerio"); // html の読み込み (html には html の文字列が入ります) var $ = cheerio.load(html); // html のタイトルを取得 (この部分が jQuery っぽい!) var pageTitle = $("title").text();
12.
cheerio の注意点 cheerio は高速に動作する反面、
HTML 内の JavaScript は実行されません。 そのため、 JavaScript によって動的に読み込まれるコンテンツをスクレイピン グすることはできないので注意する必要があります。 また、 HTML パーサを使って動作しているため、 HTML として正しくない文字 列 (例: テンプレートファイル) を操作しようとすると、不具合が出る可能性が あります。
13.
文字コードの問題 Node.js では ASCII,
UTF-8, UTF-16LE の文字コードしか扱うことができませ ん。 Shift-JIS や EUC-JP のような文字コードの文字列はそのままでは扱えません。 そこで、 UTF-8 へ変換してあげる必要があります。 今回は jschardet と iconv モジュールを使います。 jschardet は文字コードの判定 iconv は文字コード変換 を行います。
14.
文字コードの問題 jschardet の導入 npm install
jschardet iconv の導入 iconv は C++ で書かれているので、インストール時にビルドされます。 そのビルド環境に Python 2.x が必要です。 Python 2.7.5 Windows Installer Python 2.7.5 をインストールしてから npm install iconv これで入ります。
15.
文字コードの問題 jschardet と iconv
の使い方 // jschardet と iconv モジュールを読み込む var jschardet = require("jschardet"); var Iconv = require("iconv").Iconv; // text は文字コードの分からない文字列 var encoding = jschardet.detect(text).encoding; if (encoding !== "ascii" && encoding !== "utf-8") { // 文字コード変換 var iconv = new Iconv(charset.encoding, "UTF-8//TRANSLIT//IGNORE"); text = iconv.convert(text); } console.log(text);
16.
課題 cheerio で在学生情報サイト HITナビをスクレイピングして、Today’s
Event を 表示するコードを書いて下さい。 余裕があれば、在学生 Topics を一覧表示するコードを追加してみてくださ い。 提出は GitHub で! ネットワークチーム、初回は 6 人ほど居た気がするのですが… 気付いたら 2 人に減っていました。 今までは 6 人全員が追いつけるように気を配っていましたが、既に 2 人しか居 ないため、今回からレベルアップします。 先ずは、ネットワークチームはバージョン管理システム Git が使えるようにし ようと思います。
Télécharger maintenant