Coder Social home page Coder Social logo

server_training's Issues

Server basics lecture materials

サーバ基礎の座学資料を作成する。

  • Due: 2018/05/02 (連休中日)
    • 講義日時は05/07午前
    • 午後はElixir基礎(#2)
  • 長さは1時間程度予定。午前の時間が余ったら休憩してElixir基礎に入る
  • 主にWebサービスのサーバサイド開発において考えるべきことを初学者向けに話す
  • 予定しているトピック (すべてを詳細に触れるわけではなく、入り口として示すイメージ)
    • Webサービスの全体像振り返り (既にサーバ・クライアントモデルの概念などは講義済みを想定)
    • 静的コンテンツと動的コンテンツ
    • Orders of "latencies"
    • 「データベース」、データ構造の設計
    • CDN
    • "Pull" and "Push"
    • 耐障害性、可用性、「分散」

Elixir hands-on portal

(2018/05)

  • Elixir基礎ハンズオンでは、ちょっとしたCLIを作ってもらう予定です
  • 作ったコードはそれぞれのGitHubアカウントにrepositoryを作ってpushし、repositoryへのリンクをこのissueにpostしてください
  • 終了後、どんな感じになったか私の方でざっと確認&多少フォローアップしようと思います
  • 質問等をpostしてもらっても構いません

Elixir basics lecture material and plan

Elixir基礎の講義・ハンズオン資料を準備する.

  • Due: 2018/05/02 (連休中日)
    • 講義日時は05/07午後
    • 前枠のサーバ基礎(#1)が早く終わったら午前中から
    • 以降5月中は各分野の開発演習が入る。サーバサイドはDodai/Solomonを使い、gearを書く予定
  • ざっとElixirの概要(Erlangとの関係、他の言語との比較、なぜ事業部的にElixirを選んでるか、など)を30分くらい座学で説明し、あとはハンズオン
  • 必ずしも皆Elixirをずっと書き続けるわけではないので、適宜ほかの言語へのcf.も含めたい
  • ハンズオンはElixir introElixir schoolあたりを参考にしつつ、個人的な勘所だと思う部分を押していく予定
    • 環境構築 (max 1hr, 先行でインストールさせるなら~30min)
      • みんな一斉にやると多分帯域が逼迫したり、良くない感じになる。Erlangだけ先にインストールさせておくか、dockerだけ先にインストールさせてコンテナ内でやる?
      • ただ、みんながどんなエディタを使ってるかわからないのでコンテナ内だとそれがネック
      • 前枠の間にバックグラウンドでErlangのインストールをさせ始めるのがいいかも
    • Mix project、dependencies、基本的なワークフローとtest、やりながら文法説明 (2hr)
      • 前提: この時間ですべてのElixir構文を覚える必要はない
      • HipChatに投稿するCLIでも作ってもらおうかと思っている。普段の(研修期間の)生活で使えるし、時間が余った人は自由に拡張する余地がありそうなので
    • ブッ壊してみよう (1hr30min)
      • プログラム内部での局所的なcrashがElixir/Erlangのアプリケーションにはどう影響するのか
      • OTPとActor Model
      • Supervision Treeを:observerでみてみる
      • Workerを生やしてみる
      • Workerを殺してみる (Worker内の処理でcrashしてみる)
      • Crashを経由しない、マイルドなエラーハンドリングをするには?(パターンマッチ、型の有効利用)
    • Erlang interop、各種ツール、ライブラリの紹介(30min?)
      • 時間足りなければ省略。ガッツリはやらない。
      • Erlangモジュールの使い方、hexdocの見方、dialyzerの紹介、mix taskの作り方、etc..
  • 合計で5hrくらい。資料作りながら適宜調整する

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.