top of page

Сетевой программист

Электронные устройства по таблице
Практически любой программист  
реализующий сетевое взаимодействие программ является сетевым программистом. 
Сетевой программист

 

     Если торговец в разговоре с вами произносит слово «сеть», скорее всего, он желает всучить свою визитную карточку. Но в устах программиста это слово обозначает электронное взаимодействие физически удаленных машин — неважно, находятся они в разных углах комнаты, в разных районах города или в разных частях света.

  Для программистов сеть чаще всего ассоциируется с набором протоколов TCP/IP — тем языком, на котором неслышно беседуют миллионы машин, подключенных к сети Интернет.

 

 Квалификация сетевых программистов может очень сильно различаться. Начинающий программист обеспечивает лишь простейшее сетевое взаимодействие (создание сайтов и информационных порталов, организация взаимодействия сайтов друг с другом по средствам API) , а квалифицированный может создавать целые программные комплексы (телеграмм, whatsup, электронные торговые биржи и другие).  

   Программист – это специалист, создающий исходный код для программы. Такой программой может быть операционная система компьютера, видеоигра, web или мобильное приложение и даже алгоритм работы микроволновки.    Программный код пишется на специальном языке программирования. Он состоит из обычных слов и некоторых специальных символов. 

      Сегодня насчитывается несколько сотен языков программирования, но самые распространенные из них – Java, Python, PHP, C#, JavaScript, C, С++, Objective-C, Swift. Какой язык программирования выбрать, программист решает сам в зависимости от конкретной задачи (сделать игру, приложение для web или программу для сервера) и собственных знаний.

    Квалифицированный программист уверенно использует 2-4 языка.

a51a42b72c729f2d746f6d27a0c9a8b0.gif

Протоколы, с которыми работает сетевой программист

10_coding_dribbble.gif

Книга "UNIX: разработка сетевых приложений" 

Стивенс Уильям Ричард

   Концептуально сетевое взаимодействие принято представлять в виде различных уровней (или слоев) абстракции. Самый нижний — канальный уровень, на котором происходит аппаратное взаимодействие. Сразу над ним расположен сетевой уровень, который отвечает за перемещение пакетов в сети — это епархия протокола IP (Internet Protocol). Еще выше находится транспортный уровень, на котором расположились протоколы TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Далее мы видим прикладной уровень — это мир telnet, FTP, протоколов электронной почти и т.д.

Можно обмениваться данными непосредственно по протоколу IP, но обычно так не поступают. Чаще нас интересуют протоколы TCP и UDP.

   Протокол TCP обеспечивает надежную связь между двумя компьютерами (хостами). Он упаковывает данные в пакеты и распаковывает их, подтверждает получение пакетов, управляет тайм-аутами и т.д. Поскольку протокол надежный, приложению нет нужды беспокоиться о том, получил ли удаленный хост посланные ему данные.

Протокол UDP гораздо проще: он отправляет пакеты (датаграммы) удаленному хосту, как будто это двоичные почтовые открытки. Нет никакой гарантии, что данные будут получены, поэтому протокол называется ненадежным (а, следовательно, приложению придется озаботиться дополнительными деталями).

    Ruby поддерживает сетевое программирование на низком уровне (главным образом по протоколам TCP и UDP), а также и на более высоких, в том числе по протоколам telnet, FTP, SMTP и т.д.

a2143f89cff898a5241bfb182981864516877705

Статьи

2017

С чего нужно изучать сети? Полезные статьи для начинающего сетевого программиста. 

QIP Shot - Screen 012.png

Книга

01/19 - 01/23

Эффективное программирование TCP IP.  Йон Снейдер

shutterstock_230705539.jpg

Книга

2012

Сетевое программирование от Биджа. Использование Интернет Сокетов.

Никогда не пишите на пределе своих талантов! Помните: отладка – всегда в два раза сложнее написания кода. И если вы напишете настолько умно, насколько способны, отладить его вы уже не сумеете.

Юмор программиста

bottom of page