Роман Чернышов "Веб-разработчик. Легкий вход в профессию"

Книга, которая позволит быстро вникнуть в суть профессии веб-разработчика, познакомиться с основами, узнать о возможных путях заработка, включая фриланс и собственные проекты, а также освоить технологии на практике, реализовав свой первый проект с последующим оформлением его в виде готового конечного продукта.Книга написана простым языком, каждая глава раскрывает определенную тему. Также присутствуют истории из личной практики и интервью с профессионалами из мира «айти».Обложка книги нарисована самостоятельно, исключительное право на изображение обложки и все ее элементы принадлежат автору книги.

date_range Год издания :

foundation Издательство :Автор

person Автор :

workspaces ISBN :

child_care Возрастное ограничение : 12

update Дата обновления : 31.03.2024

Денежные потоки, друзья, – они такие. Кому что больше по душе – выбирайте, комбинируйте. Мир «айти» разнообразен.

8. Права на код

Для меня не важно, на чьей стороне сила,

важно то, на чьей стороне право.

Виктор Мари Гюго

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

В данной главе разберем следующие понятия: автор, правообладатель, исключительное право, неисключительное право, и что такое лицензия на программу. А также то, как они все взаимосвязаны между собой. Даже базовое поверхностное понимание, как все устроено, сбережет вам в будущем время и нервы, а возможно и оградит вас от непредвиденных финансовых расходов.

Начнем с того, кто такой «автор»? И что такое «авторское право»? В контексте разработки программного обеспечения, автор – это тот, кто его написал, и факт авторства (то есть, имя автора) закрепляется за программистом автоматически, для этого не обязательно что-то специально оформлять и регистрировать, таков закон (причем это регулируется, в том числе, международным правом). Если кто-то пожелает оспорить принадлежность кода автору, это бремя ляжет на плечи оспаривающего.

Для того, чтобы уведомить пользователей произведения, что все права на него защищены (напомню, это происходит автоматически по факту его реализации автором), можно дополнительно разместить в описании программы или на сайте (если речь о сайте) копирайт. Он выглядит следующим образом: – «© Имя Автора. Все права защищены, 2023», то есть содержит символ копирайта, имя автора, текст о правах и год публикации. Такой копирайт имеет юридическую силу: пользователь произведения с наличием копирайта осведомлен об авторских правах на него.

Автор имеет следующие права, одни из которых отчуждаемы (могут быть переданы другим лицам), а другие нет:

? Считаться автором (не отчуждаемо).

? Обнародовать произведения под своим именем, псевдонимом или анонимно (не отчуждаемо).

? На неприкосновенность произведения (отчуждаемо).

? Исключительное право на произведение (отчуждаемо).

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

Исключительные права на произведения позволяют использовать программу любым образом: осуществлять публичный показ, воспроизводить, модифицировать, распространять или продавать ее копии с ограниченными правами использования. То есть, совершать абсолютно любые действия. Тот, кто владеет исключительными правами, является правообладателем. Например, распространение программы без разрешения правообладателя называется «пиратством» и уголовно наказуемо. В случае неправомерного размещения программы на каком-то интернет ресурсе правообладатель может потребовать у владельца ресурса удалить ее, в ином случае обратиться в суд и Роскомнадзор (Федеральный орган, осуществляющий надзор в сфере связи), после чего данным вопросом будут заниматься они.

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

По желанию, для большей надежности, по части закрепления за собой статуса автора, а также исключительных прав, можно зарегистрировать программу в Федеральной службе по Интеллектуальной Собственности (Роспатент), получив на нее свидетельство. Для этого надо подготовить необходимые документы, сам код программы и отправить заявку в Роспатент. Стоит учитывать: сам Роспатент не изучает присланный вами код на его уникальность и достоверность факта, что именно вы являетесь автором и правообладателем.

Роспатент занимается так называемым депонированием. То есть, лишь принимает на хранение присланный вами код, и в случае возникновения споров по нему (об авторстве или исключительном праве) Роспатент сможет предоставить хранящийся у него код с указанием даты, когда тот был депонирован. Это позволит установить факт (например в суде), кто первее из сторон заявителей (участников спора) имел исходник данного кода на руках (а следовательно признается автором по закону). Депонирование – один из способов защиты программы от незаконного распространения (от «пиратства»). В своем блоге я подробно рассказал, как получить свидетельство на программу в Роспатенте, статья доступна по ссылке https://s.rche.ru/fips (https://s.rche.ru/fips).

В «сети» можно встретить мнение программистов, которые говорят, что защищать программу от незаконного распространения до момента ее популярности глупо (намекая, что автор несколько высокомерен и переоценивает свои таланты), мол, сначала сделайте такую программу, которую захочет использовать большое число пользователей. Я же с этим мнением категорически не согласен. Дело в том, что когда программа станет популярной, защищать права на нее таким образом будет уже несколько сложнее. Ведь ее написание может требовать гигантских усилий: много месяцев или даже лет, а также финансовых вложений.

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

Ее текст можно составить самостоятельно. Он может содержать перечень, что пользователю разрешается делать с программой. А можно воспользоваться уже готовым текстом. Существует множество готовых лицензий (GNU General Public License, MIT, AGPL и т. д.), разработанных профессиональными юристами в области международного права. Их текст, как правило, написан на английском языке. И тем не менее он имеет силу в большинстве стран мира. В некоторых случаях, подобные (готовые) лицензии, могут вступать в конфликт с законодательством тех стран, где используется ваша программа, поэтому, если разрабатываете «продукт» для рынка, какой-то определенной страны, заблаговременно проконсультируйтесь с компетентным юристом (разумеется, это актуально только если ваш продукт уже имеет большой пользовательский охват и «бюджеты»). Для более удобной работы с готовыми лицензиями я подготовил для вас «генератор лицензий», доступный в моем блоге по ссылке https://s.rche.ru/licgen (https://s.rche.ru/licgen). Пользуйтесь на здоровье.

Снабдить программу текстом лицензии можно по-разному, например, добавить в архив с программой текстовый файл, содержащий необходимую информацию, или разместить текст лицензии на сайте автора в том разделе, где предоставляется возможность ее скачать.

Также при разработке программного обеспечения не исключено, что вы будете использовать сторонние готовые модули и библиотеки, написанные ранее другими авторами, поэтому тщательно изучайте условия их использования. Может получиться так, что их авторы (правообладатели) не разрешают, например использование в коммерческих проектах или требуют соблюдение каких-то иных, порой специфических, условий. Возможно, для разработки вашей программы лучше посмотреть сторонние библиотеки, которые не имеют подобных ограничений, например, распространяемых по лицензии MIT (The MIT License).

9. Чистый разум

У вас есть власть над своим разумом,

а не за пределами событий.

Осознай это, и ты обретешь силы.

Марк Аврелий

Как я ранее говорил, программисту важно иметь хорошо «прокаченные» навыки концентрации, фокусировки внимания, терпения и усидчивости. Все они напрямую зависят от вашего ментального, физического и психологического состояния, иными словами, от вашего здоровья в целом. Именно это позволяет достигать желаемых результатов как в обучении, так и по части работы в сфере высоких технологий. Ваш основной рабочий инструмент – не язык программирования, не компьютер и даже не ваши пальцы, которыми вы со скоростью сапсана (который славиться своей скоростью в спринтах) набиваете код на клавиатуре, а ваш чистый разум. Именно от работы мозга и вашего разума зависит ваш успех во всех жизненных сферах (это просто факт, друзья).

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

Еще в начале «карьеры» веб-разработчика, после окончания института, я заметил за собой такую особенность: если выпиваю умеренную дозу алкоголя, например в пятницу вечером, затем на протяжении недели я не могу сконцентрироваться на проекте и коде, как это было ранее. То есть, не могу войти в состояние «потока», когда мысли на ходу формируются в завершенные идеи, и все это моментально перетекает в код (строки, функции, классы, модули). Это состояние, когда кажется, будто кисти рук напрямую соединены с сознанием, перенося сотни строк кода в IDE (интерактивную среду разработки) на компьютере.

Постепенно я стал экспериментировать, то есть прекращать употребление алкоголя на пару недель, месяц, два, и наблюдать за своим сознанием. Результаты всегда подтверждались. Действительно, выпивая алкоголь в эквиваленте «сто грамм водки» за вечер, вся последующая неделя проходит с показаниями КПД (коэффициент полезного действия) мозга с сильным отставанием (от прежнего). И в какой-то момент, я окончательно принял решение не употреблять алкоголь – вообще никогда и ни в каком виде. Затем, в течение десяти лет, я занимался работой и творчеством, писал код, работал с клиентами, разрабатывал свои проекты – совершенно без алкоголя (от слова «совсем»).

Но как-то раз, давно позабыв о своих экспериментах на «старте» пути, я решил, что выпивать немного хорошего, дорогого коньяка или вина, и только по праздникам, можно. Спустя какое-то время я заметил, вспомнил и осознал, что мои прежние выводы были верны – алкоголь, даже в небольших дозах, полностью перекрывает доступ к состоянию «потока» на несколько дней (от пяти до тридцати). Это ужасно, друзья! Вывод однозначный: если хотите связать жизнь с миром «айти», алкоголь – ваш злейший враг. А рассказы, что любая проблема решается с помощью «полторашки пива», вовремя занесенной «сисадмину», это дело давно минувших дней. Сейчас это, мягко говоря, «не модно».

Аналогичным образом на ваш мозг и сознание действуют другие вредные привычки. Несмотря на то, что я, например, никогда не курил, думаю, мое предположение, что сигареты также снижают потенциал сознания, никто оспаривать не станет. Следуя банальной логике, мне понятно, что нанося вред легким, насыщая кровь никотином, аммиаком, угарным газом, свинцом и прочими вдыхаемыми с табачным дымом веществами, вы уж точно никак не способствуете продуктивности своего мозга. Вообще, для хорошего самочувствия человеку, который большую часть времени проводит за компьютером, жизненно важно иметь постоянный приток максимально свежего воздуха, насыщенного кислородом. Мозгу это необходимо. Так что и никотин – в топку.

Вместе с ним придется максимально сократить, а по возможности и отказаться, от различного рода энергетических напитков (повышающих раздражительность, провоцирующих расстройство сна и депрессию); употребления прочих психостимуляторов, в том числе различных настоек, таблеток; посещение кальянных и курения кальянов (тот же угарный газ, прочие химические вещества), «вайпов», «ашек». Желательно, по возможности, сократить в рационе питания всякий «мусор»: чипсы, газировку, фастфуд, снеки, соусы. Я не говорю, что от всего нужно отказаться раз и навсегда и больше никогда в жизни не употреблять. Однако сократить это однозначно стоит – тело и мозг скажут вам за это спасибо.

Что касается различных запрещенных препаратов, тут и говорить не о чем: если что-то такое присутствует в вашей жизни, все это исключить раз и навсегда. Не вижу смысла на этом даже заострять внимание.

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

Дело в том, что если что-то из вышеперечисленного в вашей жизни присутствует, с наибольшей вероятностью оно перетягивает внимание. Достаточно какого-то «триггера», и мысли уже там, фокус внимания на проекте потерян, а чтобы восстановить его может потребоваться как пятнадцать минут, так и целый час (если проект сложный). Вы представляете? «Выпал» из фокуса внимания, потерял мысль, задумался о своих переживаниях – и всё, упустил драгоценное время.

Поэтому настойчиво рекомендую, параллельно с погружением в «айти», урегулировать все вопросы и проблемы, которые, на ваш взгляд, пагубно влияют на ваше настроение, внимание и концентрацию. Попросите прощения у родителей, договоритесь со своей «второй половинкой», найдите консенсус, заплатите налоги в конце концов! Вообще, «айтишники» всегда считались миролюбивыми, добрыми и увлеченными людьми, которые могли часами рассказывать про свои «компуктеры», а еще немного чудаками – да есть такое, признаю… Но это же здорово!

Информационная гигиена – сократите до минимума просмотр новостей, особенно негативного характера. Минимизируйте потребление контента социальных сетей, особенно того, который показывает чью-то «красивую» жизнь – в большинстве случаев все это «постановочный контент», но его просмотр создает сильный контраст с окружающей реальностью. После резко падает мотивация заниматься творчеством, а мысли перетекают из «о, как здорово, я тоже так хочу» в «я веду унылый образ жизни и ни на что не способен». Полностью оградите себя от контента, явно направленного на сексуальную провокацию (это вид психологической манипуляции), будь то фотографии знакомой девушки из той же соцсети или просмотр фильмов для взрослых (что вообще разрушает мозг на физическом уровне, информации об этом полно, изучайте) – оградите себя от всего этого настолько, насколько возможно!

По части спорта. Бытует мнение, будто спорт очень полезен для мозга, но и тут не все так однозначно. Спорт бывает разным. Если вы боксер (в чем у меня был опыт) и параллельно решили стать программистом, учитывайте такой момент: систематические удары по голове не сильно-то способствуют повышению уровня концентрации (мягко говоря), которая нам так необходима. Это касается и других контактных видов спорта, где есть элементы, связанные с нанесением физического урона противнику (и вам).

Посещение спортзала, чтобы «подкачаться». В соотношении затрат времени, сил и денег на получаемый результат по части пользы для мозга – она (польза) очень незначительна. Подробнее о затратах времени и эффективности для среднего обывателя, такого как я, можете прочитать в моей статье: «Тренировка дома или спортзал? Подсчитаем», доступной по ссылке https://s.rche.ru/sport (https://s.rche.ru/sport). На мой взгляд, если не планируете стать профессиональным спортсменом и не «больны» желанием сделать себе «красивое» тело, лучший вариант – разминка, зарядка, а также базовые упражнения (турник, отжим, приседания) в домашних условиях, иногда пробежки на свежем воздухе. Поверьте, этого более чем достаточно (по части спорта) для хорошей работы мозга и чистого разума.

Берегите свой рабочий инструмент друзья, – это лучшая инвестиция в себя, которую вы можете сделать. Я стараюсь придерживаться всего, о чем написал выше, и ни разу об этом не пожалел, чего и вам желаю.

10. Терминология

Прежде чем спорить, давайте

договоримся о терминах.

Франсуа-Мари Аруэ

Я не хочу сильно «грузить» вас различной профессиональной терминологией, чтобы не усложнять восприятие книги новичками, но некоторые термины, определения и понятия в мире веб-разработки необходимо знать. Тем более дальше, по мере чтения книги, они будут встречаться чаще. Возможно, опытные пользователи, читающие этот текст, прекрасно понимают, что такое, например, «сервер» или «протокол связи с сервером». Однако многие новички могут не понимать, о чем речь. Быть может, определения терминов читать не так интересно, как истории «из опыта», и все же для общего кругозора или повторения рекомендую ознакомиться со всем списком.

Работа с сетью

CDN (Content Delivery Network) – Сеть из нескольких взаимосвязанных серверов, размещенных по всему миру с целью размещения на них некоторых файлов ресурсов для ускорения их последующей доставки конечным пользователям.

DNS (Domain Name System) – Система доменных имён, хранящая сведения (записи) о доменах, таких как IP-адрес сервера, куда ссылается домен, данные о маршрутизации почты, прочие служебные записи.

FTP (File Transfer Protocol) – Сетевой протокол передачи файлов, работающий по принципу клиент-сервер. Клиент устанавливает соединение с сервером, например по IP и порту (обычно это порт 21), затем может работать с файловой системой сервера так же, как и с локальной – записывать, изменять и удалять файлы.

GET – Метод запроса по протоколу HTTP, для обращения к сетевому ресурсу (сайту) по URL для получения данных от него. Для того чтобы передать какие-то данные в момент запроса, они добавляются в URL.

HTTP (HyperText Transfer Protocol) – Универсальный протокол взаимодействия сетевых узлов между собой, работающий по принципу клиент-сервер. Изначально разрабатывался для передачи документов (страниц) в формате HTML, но сейчас используется в более широком спектре задач.

Все книги на сайте предоставены для ознакомления и защищены авторским правом