Code Monkey home page Code Monkey logo

2016-t-514-veft's Introduction

2016-T-514-VEFT

A repository for the Web Services course, taught in fall 2016.

Note that student contribution to the material is not only welcome, but highly appreciated! Feel free to fork this repository, make changes you would like to see, and then issue a pull request. For further details, check the Github help pages.

If you fork this repository, and would later like to incorporate the latest changes into your own forked version, check out this tutorial.

Table of contents

Week 00:

Good to know

1. Git and GitHub

2. The Basics

3. Tutorials

Week 01:

1. Web Services

Historical background

Types of web services

2. REST

REST Resources

REST and HTTP

Using HTTP Verbs

HTTP Status codes

Response format

Versioning

REST Maturity Model

HATEOAS

Further reading

3. SOAP

What

Why

Why not

REST vs SOAP

Helpful resources

4. ASP.NET Web API

History

Installing

Creating a Web API project

Architecture

JSON or XML?

CORS

5. Web API Routing

Routing

Parameters

Parameters from the HTTP body

6. API Documentation

API Documentation

Machine-readable documentation

Week 02:

1. Web Service Architecture

Web Service Architecture

Entities, DTO and ViewModels

Project Setup

Adding a new project to our solution

2. Unit of Work

Unit of Work

Command/Query Object Pattern

3. Dependency Injection

Dependency Injection

Constructor Injection

Setter Injection

Property Injection

Poor man's DI

NInject

Week 03:

1. LINQ

LINQ

Materializing queries

Accessing records - Single record

Accessing records - More than one

Join

Extending LINQ

2. Entity relationships

Entity relationships

Entity Framework Relationships

Loading options

3. Mapping

Mapping

4. Fluent API

Fluent API

Week 04:

Unit Testing

Unit Testing

Unit test setup

System Under Test

Arrange/Act/Assert

Test data

Assert section

Exceptions in unit tests

Auto test generation

For/against

Week 05:

1 Globalization and Localization in ASP.NET

Introduction

Detect user's language

Multiple languages in web API

2. Validation

Data Annotations

Moving validation to the service layer

Handling Validation Errors

3. Exception Handling

HttpResponseException

Exception Filters

Logging unhandled exceptions

Global IExceptionHandler

4. Tracing

Default Tracing

Add traces to your code

Creating Custom Trace Writer

5. ELK

Week 06:

1. Security

OAuth

Oauth 1.0

OAuth 2.0

OAuth and .NET

OpenID Connect

OpenID Connect basic specs

2. OData

OData

Querying Data

OData and .NET

Week 07:

1. Caching

Caching

Web API caching

ETags

CacheCow

ASP.NET Web API CacheOutput

Custom Server side cache example

Week 08:

1. Microservices

Microservices

2. NodeJS and ECMASCript 6

Week 09:

1. NodeJS

Node.js

How to install Node.js

Nodejs shell

Node.js is single threaded and asynchronous

Echo server

Web service in node.js

2. Express

Express

Download and install

Middleware

Lets dance

MEAN Stack

Helpful resources

Week 10:

1. NodeJS Unit tests

Unit Testing

How to install Mocha

The node JS function under test.

Our first Mocha test

Running Mocha

2. Message Queues

RabbitMQ

Installing RabbitMQ

Example 1

Message acknowledgment

Message durability

Week 11:

1. Document Storage

MongoDB

Data models.

Indexes

Replication

Sharding

Setup

Mongo

Mongoose

Setup

Getting started

Validating in mongoose

Simple validation

Regular expression

Asynchronous validation

Built in validators.

2. Elastic Search

Elasticsearch

Download and install

Indexing

Search

Basic text search

Query in list

Query by range on dates

Advanced key storing

Using Elasticsearch with MongoDB

Week 12:

1. Deployment

2. Docker

2016-t-514-veft's People

Contributors

danielbsig avatar suprdewd avatar hauxii avatar sigurdurb avatar

Watchers

Kristján Ólafur Ólafsson avatar

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.