<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Vladimir Shevchenko on Medium]]></title>
        <description><![CDATA[Stories by Vladimir Shevchenko on Medium]]></description>
        <link>https://medium.com/@vladimirshevchenko?source=rss-a0c6bab669d4------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*5beaG0P8_o8IdEYX.jpg</url>
            <title>Stories by Vladimir Shevchenko on Medium</title>
            <link>https://medium.com/@vladimirshevchenko?source=rss-a0c6bab669d4------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 14:31:17 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@vladimirshevchenko/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Как стать backend разработчиком в 2019 году.]]></title>
            <link>https://medium.com/@vladimirshevchenko/%D0%BA%D0%B0%D0%BA-%D1%81%D1%82%D0%B0%D1%82%D1%8C-backend-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%BC-%D0%B2-2019-%D0%B3%D0%BE%D0%B4%D1%83-a1a29457f142?source=rss-a0c6bab669d4------2</link>
            <guid isPermaLink="false">https://medium.com/p/a1a29457f142</guid>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[php]]></category>
            <category><![CDATA[tutorial]]></category>
            <dc:creator><![CDATA[Vladimir Shevchenko]]></dc:creator>
            <pubDate>Wed, 31 Oct 2018 11:47:40 GMT</pubDate>
            <atom:updated>2018-10-31T11:47:40.286Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fuaFRnf9vJbJEkSVicYkuQ.jpeg" /><figcaption>Случайная картинка с сайта <a href="https://www.pexels.com/">https://www.pexels.com</a> не обращайте внимания :-)</figcaption></figure><p>Сегодня чтобы стать веб программистом, нужно знать намного больше разных вещей, чем скажем 5 лет назад. Это сподвигло написать статью в виде чек листа, которая шаг за шагом описывает то что нужно знать, чтобы стать backend разработчиком.</p><p>Данный чек лист будет актуальным для всех скриптовых языков программирования таких как PHP, Python, Ruby, etc. Языком для примеров будет PHP.</p><h3><strong>1. Выучить язык</strong></h3><p>Первое что вам нужно сделать — это выучить язык. Сейчас есть много онлайн курсов по PHP, таких как <a href="https://www.udemy.com/">Udemy</a>, <a href="https://www.coursera.org/">Coursera</a>, <a href="https://www.codecademy.com/">Codecademy</a>.</p><p>Вот еще некоторые полезные ссылки:</p><ol><li>Это <a href="http://php.net/manual/ru/">документация</a> PHP. Тут вы найдете всю информацию по данному языку.</li><li><a href="http://getjump.github.io/ru-php-the-right-way/">PHP правильный путь</a> — тут описаны тезисы, которые помогут вам стать настоящем профессионалом своего дела.</li><li><a href="https://github.com/ziadoz/awesome-php">Awesome php</a> — полезный список всего что касается php.</li></ol><h3><strong>2. Постоянная практика</strong></h3><p>После изучения концептов языка, самое время применить на практике ваши знания. Сделайте так много мелких приложений, как сможете. Вот некоторые примеры того что можно сделать.</p><ul><li>Реализуйте команду, которую вы используете в bash, например попробуйте реализовать команду ls</li><li>Напишите команду которая получит и сохранит в JSON файл твиты с <a href="https://developer.twitter.com/en/docs">API Twitter</a></li><li>Сделайте команду, которая сохранит в JSON файл структуру папок и файлов по заданному пути. Например чтобы она вызывалась как то так jsonify dir-name где jsonify — название вашего скрипта, а dir-name — это папка структуру, которой нужно сохранить в файл.</li><li>Напишите команду которая будет создавать папки и файлы с JSON файла, который вы создали в предыдущем задании</li><li>Если нет идей, что можно сделать еще то гугл вам в помощь.</li><li><a href="https://www.codewars.com/landing?language=php">Не плохой сайт для изучение </a>разных языков программирование.</li></ul><h3><strong>3. Изучить пакетный менеджер</strong></h3><p>Существует много библиотек, фреймворков и компонентов PHP на выбор. Ваш проект, скорее всего, будет использовать некоторые из них — это и есть зависимости проекта.</p><p>Composer является <strong>блестящим</strong> менеджером зависимостей для PHP. Укажите список зависимостей вашего проекта в файле composer.json и, с помощью нескольких простых команд, Composer автоматически скачает зависимости вашего проекта и установит для вас автозагрузку.</p><p>Больше информации на <a href="https://getcomposer.org/">официальном сайте Composer</a></p><h3><strong>4. Стандарт языка и лучшие практики при написания кода</strong></h3><p>В мире PHP есть стандарты написания кода — PSR. Больше можно почитать на <a href="https://www.php-fig.org/">сайте php-fig</a></p><h3><strong>5. Тестирование PHP приложений</strong></h3><p>На данный момент самым распространенным фреймверком для тестирования PHP приложений является <a href="https://phpunit.de/">PHPUnit</a></p><h3><strong>6. Реляционные базы данных</strong></h3><p>Если вы хотите создать более менее серьезное приложение вам потребуется хранить данные вашего приложение, в этом вам поможет реляционная база данных. Существует много баз данных советую начать с Mysql или PostgreSql.</p><p>Перед тем как начать изучения базы данных, советую почитать про основные термины, которые будут общие для всех баз данных. Например keys, indexes, normalization, tuples etc.</p><h3><strong>7. Время практики</strong></h3><p>И так, давайте соберем все наши знания вместе и напишем простое PHP приложение. Например простую блог платформу. В этом приложении должно быть реализовано следующее:</p><ul><li>Регистрация и логин пользователя</li><li>Зарегистрированный пользователь может создавать посты</li><li>Пользователь может удалять и редактировать только свои посты</li><li>Пользователь может читать все посты всех пользователей</li><li>Напишите юнит и функциональные тесты</li><li>Проверьте чтобы ваши запросы использовали индексы</li></ul><h3><strong>8. Изучить фреймверк</strong></h3><p>Я советую выучить Laravel или Symfony. Это одни из самых популярных фреймверков на сегодняшний день. А так же изучить один из микро фреймверков Lumen или Slim.</p><h3><strong>9. Практика</strong></h3><p>На этом шаге в качестве практики нужно переписать наше приложение которое мы создали в пункте 7 с использованием фреймверка.</p><h3><strong>10. Кеширование</strong></h3><p>Нужно изучить и понять как и когда использовать системы кеширование такие как Redis или Memcache. Реализуйте кеширование данных для вашего приложение что мы сделали в пункте 9.</p><h3><strong>11. RESTful API</strong></h3><p>Понять что такое REST и применить на практике свои знания. Попробуйте написать API для создания и редактирования поста в нашем приложении из шага 9.</p><h3><strong>12. Система контроля версий Git</strong></h3><p>Git — это система контроля версий. Инструмент, который нужно освоить и использовать в обязательном порядке. Если вы еще не использовали системы контроля версий — вы будете приятно удивленны насколько это удобно.</p><p><a href="https://git-scm.com/book/ru/v2">Вот ссылка на руководство</a>.</p><h3><strong>13. Разные Auth методы</strong></h3><p>Изучите разные методы аутентификации и авторизации. Вы должны понимать какая разница между ними, а также нужно понимать когда использовать один метод, а когда другой.</p><ul><li>OAuth — Open Authentication</li><li>Basic Authentication</li><li>Token Authentication</li><li>JWT — JSON Web Tokens</li><li>OpenID</li></ul><h3><strong>14. Брокеры сообщений</strong></h3><p>Узнайте про брокеры сообщений, когда и зачем их использовать. Один из самых популярных брокеров сообщений это <strong>RabbitMQ</strong>. Советую начинать изучение именно с него.</p><h3><strong>15. Docker</strong></h3><p>Знание Docker является необходимостью для современного программиста. Узнайте когда и зачем нужно использовать докер и какие преимущества вы получите от его использования.</p><h3><strong>16. Web Sockets</strong></h3><p>Веб сокеты помогают нам создавать real-time приложения, такие как messenger, разные чаты, системы уведомлений и т.д. Поэтому нужно понимать когда их использовать, а также какие инструменты есть чтобы эффективно использовать веб сокеты.</p><h3><strong>17. Знание веб серверов</strong></h3><p>Если вы дошли до этого шага, значит вы уже неоднократно сталкивались с веб серверами. Узнайте какие есть веб сервера, какие у них отличия, лимиты, настройки, ну и т.д. Это поможет вам в будущем определиться для каких задач какой веб сервер выбрать.</p><h3><strong>18. Продолжайте учиться</strong></h3><p>Все что вы сделали до этого — всего лишь начало. В этой профессии нужно постоянно обновлять свои знания, чтобы не отстать от прогресса в мире программирования. Сохраняйте здравый аппетит к новым знаниям. И как можно больше практики.</p><p>Всем удачи в этом не легком труде. Можете спокойно добавляться в друзья на <a href="https://www.facebook.com/vladimir.shevchenko.940">фейсбуке</a> или <a href="https://twitter.com/VladimirShevon">фоловить в твитере</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a1a29457f142" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>