MediaWiki 開発者コミュニ ティに参加するには Ryan Lane Wikimedia Foundation Inc.

Slides:



Advertisements
Similar presentations
2005/12/21 PHP 脆弱性とバージョンアップ 日本 PostgreSQL ユーザ会 四国支部 / 日本 PHP ユーザ会 /Momonga Project 大垣 靖男 / / /
Advertisements

ASP 入門2 ー授業でアンケート集計ー. ねらい 総合実習等で、相互評価を行った際の集計を ASP + AccessDB で行う。 相互評価の点数部分は見られないように、感 想部分(テキスト)は見えるようにする。 ( 発表直後のフィードバック ) AccessDB に蓄積した得点は、 Excel.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
情報セキュリティ 第11回:2005年6月24日(金)   . 2 本日学ぶこと サーバサイドセキュリティ  Webサーバのセキュリティ 暗号化通信(SSL/TLS),ユーザ認証,アクセス 制御  不正な入力への対応 SQL インジェクション クロスサイトスクリプティング バッファオーバーラン.
IBMユーザ研究会九州研T3 5章 Webの発展可能性. WWWの発展が企業に与えるもの 顧客・ユーザのリテラシー向上 顧客・ユーザの操作的な ” 常識 ” の変化 システム開発プロジェクトでの応用 ウェブの発展を、企業はどう捉えて、 自らをどう変えていく必要があるか? 新しいプラットフォームをより深く理解することで、
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
物理的な位置情報を活用した仮想クラウドの構築
ハイブリッドクラウドを実現させるポイントと SCSKのOSSへの取組み
『ワタシが!!』『地域の仲間で!!』 市民が始める自然エネルギー!!
手描き感を再現する ペイントシミュレータの最新研究紹介
数理統計学 西 山.
独占と不完全競争.
Yuuki Fujii 16M00650 Shibata Lab. May 18th ,2016 e+ e−
SQLite3
情報理工学部 情報システム工学科 3年 H 井奈波 和也
SQLの条件節が動的に構成されることを考慮した データベース接続APIの設計
下藤 弘丞 SecureWeblogの構築.
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
JPAを利用した RESTful Webサービスの開発
CakePHPを業務に導入する Shin x blog 新原 雅司.
環境数理モデル特論A (情報理論) 2016年8月8‐9日 於岡山大学環境理工学部 渡辺宏太郎 防衛大学校情報工学科教授.
RoboCupサッカーシミュレーションにおける今後の研究課題 秋山英久
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
第3章 人口に関する統計 ー 経済統計 ー.
産業組織論 11 丹野忠晋 跡見学園女子大学マネジメント学部 2016年1月21日
ホーエル『初等統計学』 第5章 主要な確率分布
人工知能概論 第3章 探索(2) 最適経路の探索.
ベイズ推定入門.
前田沙織
Complex Scaling Method C の 3 クラスター共鳴状態への応用 ---
ケータイキット for Smarty のご紹介
SQL J2EE I 第3回 /
なぜ 今の どうする どうやって なにを どのように だれが だれと (変える) どこで だれの 考え方9W4H(Ver.0) いつ から
スパークチェンバーの作製 榊真吾 田中裕己 三宅聡平 吉田将 2016年3月.
経済成長論 経済成長の源泉 新古典派成長モデル(Solow モデル) 定常状態の決定 望ましい状態 貯蓄率の影響 人口成長率の影響
ISS軌道上におけるCALET 装置較正方法の検討
生物統計学・第13回 類似性を調べる 相関係数(ピアソン、スピアマン)
市販のソフトウェアが これほど脆弱な理由 (それをどのように解決するか).
高感度VLBI観測によるSgr A*近傍のブラックホールの探査
第4章 推測統計の基礎 統計学基礎 2012年度.
第4章 推測統計の基礎 統計学基礎 2013年度.
Nuclear structure functions TUS K. Saito
財政赤字 日本の財政 政府の予算制約 財政破綻の可能性 ドーマーの命題,増税の規模 リカードの等価定理 国債の負担 公的年金の効果 世代会計.
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
PHP Framework Update symfony 編 株式会社ディノ 月宮紀柳.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
初心者のためのセキュリティ/プライバシー講座
第2回 SQL インジェクション その攻撃と対処 NECラーニング 山崎 明子.
SQL パフォーマンス チューニング ~ カバーリングインデックス/クエリヒントの利用~
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
Talkプログラムのヒント 1 CS-B3 ネットワークプログラミング  &情報科学科実験I.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
再帰CTE を使って遊ぼう 大阪#9 2012/04/14.
関係データベースとSQL MZ Platform講習会(上級).
データ管理プラットフォームの 最適化によるサイバー セキュリティの強化
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
SQL J2EE I (データベース論) 第3回 /
クリエイティブ リサーチ 2019/05/20 日本工学院八王子専門学校 M.Katsube.
SQL データベース論 第11回.
Presentation transcript:

MediaWiki 開発者コミュニ ティに参加するには Ryan Lane Wikimedia Foundation Inc.

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 概要 ● なぜ参加するのか ● 資料はどこにあるか ● コミュニケーションの手段 ● コミュニティに関わるには ● 私たちの理念 ● Wikimedia サイト向けにコードを書くには

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community なぜ参加するのか ● 指導すること、指導されること ● 高い評価を築く ● 公開された貢献の実績をもつ ● 素晴らしいミッションを支援

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community ● 資料はどこにあるか ● mediawiki.org ● wikitech.wikimedia.org ● 関連メーリングリストのアーカイブ ● スライド ● 私、講演の後で

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community コミュニティに関わるには ● 議論する ● コミットする ● 参加する

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community コミュニティに関わるには ● ドキュメント作成 ● 変更について情報交換する ● 言葉の壁を恐れるな ● できれば、架け橋 (ambassador) になってください

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 私たちの理念 ● 早めに取り組む ● 早めにリリース、頻繁にリリース ● 自分のかゆいところは、自分でかけ! (気になるところは、進んで遠慮なく)

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community WMF のためのコーディング : セキュリティ ● セキュリティは重要です。ほんとうに。 ● 開発者はセキュアなコードを期待されている、 なので : ● SVN でセキュアでない拡張が... ● Wikipedia 上でセキュアでない拡張が...

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 避けるべき一般的な脆弱性 ● SQL インジェクション ● クロスサイトスクリプティング (XSS) ● クロスサイトリクエストフォージェリ (CSRF) ● グローバル変数 (Register Globals)

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 問題 : $sql = "INSERT INTO Students VALUES ( $name,... );"; → INSERT INTO Students VALUES ( 'Robert' ); DROP TABLE Students; --',... ); 解決策: INSERT INTO Students VALUES ( 'Robert\'); DROP TABLE Students; --',... ); SQL インジェクション

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community MediaWiki のデータベース関数を使 う 不正解: $dbr->query( "SELECT * FROM foo WHERE foo_id=' $id'" ); 許容範囲内: $escID = $dbr->addQuotes( $id ); $dbr->query( "SELECT * FROM foo WHERE foo_id= $escID" ); 正解: $dbr->select( 'foo', '*', array( 'foo_id' => $id ) );

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community クロスサイトスクリプティング (XSS) 問題: $val = $wgRequest->getVal( 'input' ); $wgOut->addHTML( " " ); 解決策: value="<script>evilStuff();</script>"

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community MediaWiki の HTML 関数を使う 不正解: $html = " "; 許容範囲内: $val = htmlspecialchars( $val ); $html = " "; 正解: $html = Html::input( 'foo', $val );

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community クロスサイトリクエストフォージェ リ (CSRF) 問題 : $( '#myForm' ).submit(); 解決策 : $html.= Html::hidden( 'token', $wgUser->editToken() );... if ( !$wgUser->matchEditToken( $token ) ) { // refuse edit

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 一般的なセキュリティ上の注意事項 ● 誰も信用しない ● すべての入力をサニタイズ ● 安全だと証明できるコードを書く ● 最良の検証:自分のコードを破るようなハック を試みる

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community WMF のためのコーディング : スケーラビリティとパフォーマンス ● Wikimedia のサイトは巨大である ● 最も利用されているサイトの第5位 ● コードに必要なこと : ● 高いパフォーマンス ● スケーラビリティ

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community WMF のためのコーディング : スケーラビリ ティとパフォーマンス ● キャッシュ ● 最適化 ● プロファイル

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community MediaWiki プロファイリング

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community WMF のためのコーディング : 並列性 ● 常にクラスタ化されたアーキテクチャを想定 ● 書かれたコードは並列に動作する ● 予想外のバグが発生する可能性がある

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community まとめ ● この講演は、完全なガイドラインではない ● MediaWiki 開発者でいるのはむずかしい ● けれども、とてもやりがいがある ! ● コミュニケーションは非常に重要 ● 詳しい人たちに訊こう !

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 質問 / コメント ? ● Ryan Lane ● IRC: Freenode: #mediawiki, #wikimedia-dev, #wikimedia-tech ● メーリングリスト : mediawiki-l, wikitech-l

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community コミュニケーションの手段 ● メーリングリスト ● ● 重要なリスト : – mediawiki-l: MediaWiki サポートリスト – wikitech-l: MediaWiki 開発者向けリスト – mediawiki-api: API に関する MediaWIki 開発者向けリスト ● IRC channels (freenode 上 ) ● #mediawiki: MediaWiki サポートチャンネル ● #wikimedia-dev: MediaWiki 開発者のチャンネル

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 開発者のための資料 ● - developer hub ● 開発者のハブ : リストリソース、ガイドライン、コ ードのドキュメント ● r/ja r/ja ● MediaWiki のハッカーになるには : どのように MediaWiki を開発するのかを紹介 ● ● 開発者のためのセキュリティ:基本的なセキュリ ティのマニュアル

Ryan Lane, Wikimedia Foundation Inc. How to be part of the MediaWiki developer community 開発者のための資料 ● ● コーディング規約 : 全ての Wikimedia ソフトウェ ア実行に関する必要な規則 ● ● ローカリゼーション : ローカライズが容易なコー ドを書くための資料 ● ● コードレビューガイド : インクルードに先立ち、 どのようにコードがレビューされるのか