Advanced Back-End Development Workshops at GlobalLogic

GlobalLogic invites you to participate in the advanced 2-month Back-End Development Workshops, which embraces Node.js, MongoDB, REST and Linux & Infrastructure in AWS.

You can apply for participation in these workshops if you have proven experience with web services development, have strong intention to grow technically and create large, distributed, highly loaded cloud web systems.

After you successfully pass the workshops you will be offered an opportunity to collaborate with GlobalLogic. You will meet the team, which is using all the mentioned technologies and the best development practices while creating a large public cloud platform.

600_back_end_development_workshops

Requirements for the Attendees:

  • Middle to senior web developers’ level (with any programming language).
  • Algorithms and data structures.
  • Relational databases theory.
  • Object oriented programming and Object oriented design, Design patterns.
  • Asynchronous programming.
  • HTTP protocol.
  • TDD & BDD.

Application for the Workshops:
To apply for the workshops, please send a request to webbackend@globallogic.com adding a description of web systems that you have developed and links with the examples of your products.

Timing and Conditions:

  • Workshops will start with the group of 5 participants. This group will be formed by the end of August 2015.
  • Timing: 6 weeks of intensive workshops + 2 weeks of additional time. If the participants go fast enough, they will get additional topics from experts.
  • Workshops will be held from Tuesday till Friday, 7 to 9 PM. The sessions will be conducted as online webinars with the possibility to get the records for detailed offline review. The attendees will be able to skip the webinars and review them later offline. Still, webinars will have an advantage of discussing participants’ questions.
  • The initial materials and basic information related to a certain topic will be available 1 week before the respective workshop. This will provide a participant with an opportunity to get the information he/she lacks and prepare for the webinars individually.

More information can be obtained by sending request to the webbackend@globallogic.com.

Workshops Content Details:
The main topics of the workshops are Node.js, MongoDB, REST and Linux & Infrastructure in AWS. The workshops will provide a deep dive into creation of program interfaces for network-based applications with lots of practical insights, experience-based suggestions and examples. You can find more details below.

Linux & DevOps Infrastructure:
* Linux

  • essentials of user, process and services management;
  • network configuration;
  • shell scripting;
  • troubleshooting;

* DevOps essentials

  • continuous integration tools and framework;
  • continuous delivery tools and framework;

* AWS/Docker usage patterns and architecture

  • AWS onboarding – what is it, what services it provides;
  • Docker and virtualization.

Advanced MongoDB:
* Overview:

  • SQL vs NoSQL DB, advantages (scalability) and disadvantages (joins, consistency, transactions).
  • CAP theorem.
  • Setup types overview (single, clustered(master/slave, sharded, tag aware sharded)).
  • Terms (replica, replica set, shard, chunk, shard key, tag, read preference, write concern).

* Geo distributed tag aware sharded setup

  • setup schema and data flow.
  • advantages (writes load distribution, writes on regions disconnection) and disadvantages (global indices, global uniqueness, primary read preference delay).
  • setup (via shell: shards, shard key, indexes (including unique)).

* Basics (shell commands, BSON types, normalized(referenced)/denormalized(embedded) data model, CRUD operations, read preference, write concerns, aggregation(distinct)).
* Problematics and patterns in geo distributed tag aware sharded setup (mitigation and performance patterns).
* Practical part (building DAO layer of geo distributed service).

Advanced Node.js Development:

  • Core Node.js (core modules, NPM, events, streams etc).
  • Best practices of writing the code.
  • Building microservices with Node.js.
  • Interacting with the Web (HTTP, WebSocket).
  • Right way with MongoDB.
  • Testing (unit, functional, integration) which is used for CI\CD.
  • Debugging and profiling.
  • Performance and scaling.
  • Node.js in a real world.

REST and HTTP API:

  • Understanding of REST fundamentals.
  • REST as an architectural style.
  • Constraints (client-server, stateless server, caching, layered system, uniform interface, code on demand).
  • Data elements, components and connectors used in the style.
  • Advantages and disadvantages of applying REST.
  • HTTP Syntax, Routing and Semantics.
  • Structure of request and response messages.
  • URIs and message routing. Query and matrix parameters.
  • Request methods (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS). Method properties (safe, idempotent, cacheable) and their practical implications.
  • When (not) to apply each method. “Mapping” CRUD (create, read, update, delete) operations to HTTP methods.
  • Message bodies and header fields. Content negotiation. Representation metadata.
  • Response status codes. Overview of standard codes.
  • Intermediaries.
  • API Styles.
  • Richardson Maturity Model as a criteria to differentiate different APIs.
  • SOAP style API.
  • URI style API.
  • Hypermedia style API.
  • Each style is presented with examples, overview of advantages and limitations of the style as well as usage recommendations.
  • Resource Modeling.
  • Difference between core domain model and integration domain model.
  • Structuring resources according to the integration domain of the application.
  • Singleton resources, collections and sub-collections.
  • Modeling business operations, business processes and domain events.
  • Fine-grained resources vs coarse-grained resources. Balancing the two.
  • Resource nesting and arranging hierarchy. Avoiding deep path nesting.
  • Supporting different resource identification schemes.
  • Best practices for arranging partial updates and transactions.
  • Retries and state recomputation. Aligning resource state and the use of ETags.
  • Different ways to version APIs and resources. Backward and forward compatibility. Extending without breaking.
  • Providing pagination, sorting, filtering and property selection.
  • Handling simple and advanced search queries.
  • REST without PUT and its practical benefits.
  • Choosing data format. XML vs JSON.
  • Applying JSON Schema for validation.
  • Content negotiation and resource extensions.
  • Conventions and best practices for naming.
  • RAML.
  • Expressing errors.
  • Hypermedia.
  • Creating discoverable APIs through links and domain application protocol.
  • Role of links and link relations. IANA registry.
  • Using hypermedia as the engine of application state (HATEOAS).
  • Hypermedia factors and controls.
  • URI templates.
  • Reevaluation of significance of resource naming and structure.
  • Media types. Hypermedia aware media types of top of JSON and XML.
  • Overview of HAL as a media type.
  • Practical implications. Advantages and disadvantages.
  • Security.
  • Standard ways to handle authentication in HTTP via basic, digest and proxy authentication. Security realms.
  • OAuth.
  • OAuth2.
  • SAML.
  • Authorization.
  • HTTPS, SSL & TLS, basics of ciphers, keys, certificates and signatures.
  • Same origin policy. Cross Origin Resource Sharing (CORS).
  • Caching.
  • Document expiration.
  • Server revalidation via If- headers. Data and entity tag revalidation and when to apply each.
  • Unleashing Cache-Control header.
  • Cache heuristics.
  • When to apply Vary header.
  • Disabling caching.

Source: GlobalLogic