training,courses,course,training course,scrum,agile project,spring,ajax,java,uml,rails,ruby,hibernate,apache,tomcat,mentoring,on site training training,courses,course,training course,scrum,agile project,spring,ajax,java,uml,rails,ruby,hibernate,apache,tomcat,mentoring,on site training
  HOME JAVA & JEE AJAX & RIA AGILE & SCRUM SOA & REST ERLANG RUBY ON RAILS OPEN SOURCE .NET APACHE & TOMCAT  
Erlang Whizz: Erlang for Test and Support Engineers (ERLANG-TEST-01-05)
CODE: ERLANG-TEST-01-05          DURATION: 5 DAY/S
In this Erlang course for Test & Support engineers, you will obtain the required skills to read, support, test and debug Erlang/OTP based programs.

You will learn some Erlang basics such as sequential and concurrent programming, along side error handling and the Open Telecom Platform.

Erlang testing, debugging tools and constructs are covered in depth, off course, providing you with the skills required to implement your own tools or use and adapt existing ones.

Finally, OTP design principles and concepts are introduced, to ensure you'll understand the structure of Erlang based systems.

LEARN HOW TO:
  • Read, test and support Erlang programs
  • Read and correct Erlang Programs
  • Write basic test suites
  • Understand test and debug strategies needed to find bugs
  • Ue the debugging primitives to their full potential and implement bespoke tools based on debugging primitives
  • Test concurrent and distributed systems
  • Understand how to structure Erlang based systems with OTP
  • Understand and maintain Mnesia
PROGRAMME
Introduction
  • Software needs of telecom control systems
  • History of Erlang
  • Erlang features and product and research examples
Basic Erlang
  • Erlang data types and pattern matching
  • Functions, modules, and BIFs
  • Erlang shell and useful shell commands Emacs and its Erlang mode
Sequential Erlang
  • Conditional evaluations, guards and scope of variables.
  • Recursion, different recursive patterns, tail recursion and space saving optimizations
  • Libraries and their manual pages
  • Possible run time errors and the debugger
Concurrent Erlang
  • Creation of processes and their life span
  • Sending and receiving messages, selective reception and passing data in messages
  • Uses of time outs and registering processes
  • The generic process code structure
  • The Process Manager tool
Process Error Handling
  • Simple and powerful error handling mechanisms in processes
  • Process links, exit signals and their propagation semantics.
  • Building robust systems in Erlang
  • Process Design Patterns re-implemented
Modules and Process Bifs
  • Retrieving information on processes and modules
  • Using bifs to gather information to solve a bug or help profile the system.
  • Process states, process heaps (backtraces), call chains, memory and processor usage
Code Updating
  • Software upgrade during run time
  • Load and replace modules whilst allowing high availability and no down time.
Distributed Programming
  • Requirements of distributed systems
  • Erlang's distribution syntax and semantics
  • BIFs and the net kernel
Crash Dumps
  • Crash dumps and how to read them
  • Causes of the termination of a virtual machine. Trace Bifs
    • Trace bifs, tracing garbage collecting, memory consumption, message passing, and other process activities including local and global function calls
    • How to activate and deactivate the different trace flags
    • Turning on Trace bifs for different processes, modules and functions.
    The dbg Tool
    • Tracing bifs with the dbg tool
    • Using the dbg tool in a distributed environment
    • Redirecting the output on other nodes, log files, ports and sockets.
    Behaviours and Servers
    • The role of middleware in the development of massively concurrent, distributed, fault tolerant real time systems in Erlang
    • OTP behaviours
    • The generic server behaviour in OTP
    Supervisors
    • Supervisors
    • Start and restart strategies in Erlang
    Applications
    • Application Behaviour
    • Configuration
    System Arcitecture Support Library
    • The System Architecture Support Library
    • Error logging
    • The report browser
    • Alarm handler
    • Overload module.
    System Principles
    • Release coupling
    • Creating release files
    • Bundling up the software & the virtual machine
    • Running Erlang on target and embedded hosts
    Records and Funs
    • Datatypes needed when using Mnesia
    • Records
    • Funs
    An Introduction to Mnesia
    • Mnesia
    • Starting and configuring Mnesia
    • Creating, populating and manipulating tables
    • Transaction handling, locks, and complex queries
    • Benefits & pitfalls.
    Maintaining Mnesia
    • Basic maintainability, backups,
    • Repopulating databases from backups
    • Traversing backup’s offline gathering information.
    • Network partitioning of distributed databases,
    Mnemosyne
    • Mnemosyne, Mnesia’s query language
    • Complex queries
    Query List Comprehensions
    • QLC the new query language
    • QLC support queries for ETS, DETS tables and other searchable data structures.
    • QLC concepts and presentation
ABOUT THE AUTHOR
Jan Nystrom is a senior developer, specialised in functional programming, concurrency and erlang.
More about Jan Nystrom
IN PARTNERSHIP WITH ERLANG TRAINING & CONSULTING
IS THIS COURSE FOR YOU?
If you are an engineer, involved in the development of test suites or trouble shooting Erlang code, this course will be very useful for you.
If you are a test or support engineers, responsible for the support and trouble shooting of systems, without having to do any coding, this course will also benefit you.

COURSE PREREQUISITES
To benefit from this Erlang course for support and testing engineers, you should have an engineering degree or equivalent experience prior to attending this course, as well as some basic testing and programming knowledge.

COURSE LABS & EXCERCISES
Two sets of exercises are provided. The first requires basic software experience, and is aimed at engineers developing test suites or trouble shooting the code. The second set of exercises is aimed at engineers supporting and trouble shooting systems, but

Copyright & Copy Skills Matter Ltd 2003-2008
  Web development by You In Control
About Us  Jobs  Find Us  Room Hire  Newsletter