Linux Network Programming - Plan Szkolenia

Kod kursu

lnxnetp

Czas trwania

14 godzin
szkolenie zdalne: 2 lub 4 dni
szkolenie stacjonarne: 2 dni

Wymagania

  • C language
  • Linux user skills

Opis

Ten kurs jest skierowany do młodszych programistów. Po ukończeniu kursu uczestnicy będą w stanie zrozumieć architekturę znanych serwerów sieciowych, takich jak Apache lub Nginx , i wdrożyć własne programy sieciowe.

Kurs obejmuje 67% wykładów, 33% ćwiczeń praktycznych.

Machine Translated

Plan Szkolenia

  1. Sockets
    • Creating datagram sockets
    • Receiving and sending data
    • Creating and accepting TCP connections
    • Closing sockets
    • Handling errors
  2. Handling more than one client in a simple way
    • Prefork model, as found in Apache
    • Forking a new process per client
    • Cleaning up after finished processes
    • Threads
    • Inetd, systemd units
  3. Waiting for data
    • Blocking sockets
    • Non-blocking sockets and select
    • Select as a way to wait for "any of these sockets"
  4. Organizing reads and writes
    • Dealing with short reads and writes
    • Reading up to a delimiter
    • Pipelined requests
    • Application-level buffers
  5. Event-driven architecture
    • Using select for multiplexing all client connections in one thread
    • State machines
    • Callback hell
    • Event libraries
    • "Green" threads
  6. Problem of 10000 connections
    • Problems with prefork model and select-based loop
    • poll as an alternative to select
    • Realtime signals and why you shouldn't use them
    • Epoll (linux) and kqueue (BSD)
    • Why and when epoll and kqueue are faster than poll/select
  7. Timeouts and timers
    • SIGALARM
    • Timeout as a select argument
    • A simple case of all-equal timeouts
    • Priority queue as an abstract data stracture
    • Binary heap as a priority queue implementation
    • Timer wheel
    • timerfd
  8. Integration with the operating system
    • Traditional daemons
    • Systemd socket activation
    • Logging
    • Handling signals
  9. Performance and scalability optimizations
    • Choosing the right architecture
    • Setting socket options

 

Opinie uczestników

★★★★★
★★★★★

Powiązane Kategorie

Szkolenia Powiązane

Kursy w promocyjnej cenie

Newsletter z promocjami

Zapisz się na nasz newsletter i otrzymuj informacje o aktualnych zniżkach na kursy otwarte.
Szanujemy Twoją prywatność, dlatego Twój e-mail będzie wykorzystywany jedynie w celu wysyłki naszego newslettera, nie będzie udostępniony ani sprzedany osobom trzecim.
W dowolnej chwili możesz zmienić swoje preferencje co do otrzymywanego newslettera bądź całkowicie się z niego wypisać.

Zaufali nam

is growing fast!

We are looking to expand our presence in Poland!

As a Business Development Manager you will:

  • expand business in Poland
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!

This site in other countries/regions