<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Виктор Рябков - IT</title><author><name>Виктор Рябков - IT</name></author><id>https://teletype.in/atom/viktorriabkov</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/viktorriabkov?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@viktorriabkov?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=viktorriabkov"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/viktorriabkov?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-19T12:28:58.792Z</updated><entry><id>viktorriabkov:js-for-beginners</id><link rel="alternate" type="text/html" href="https://teletype.in/@viktorriabkov/js-for-beginners?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=viktorriabkov"></link><title>Роль Javascript во Frontend</title><published>2023-06-03T16:15:56.123Z</published><updated>2023-06-03T16:15:56.123Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/e3/2f/e32f1618-0461-4ccf-aa94-432aca20c1fe.png"></media:thumbnail><category term="it" label="IT"></category><summary type="html">Продолжаем серию статей в формате “для чайников”. Сегодня мы поговорим о том, зачем нужен JavaScript, как его учить и что для этого нужно.</summary><content type="html">
  &lt;p id=&quot;OY49&quot;&gt;Продолжаем серию статей в формате “&lt;strong&gt;для чайников&lt;/strong&gt;”. Сегодня мы поговорим о том, зачем нужен JavaScript, как его учить и что для этого нужно.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;YKMw&quot;&gt;JavaScript - это язык для придания интерактивности сайту. Условно - в сайте, написанный на html, просто есть текст и картинки и они как-то расположены на странице. Подключаем туда CSS - все становится покрасивее. Пишем его на JS - теперь он еще и работает, кликается и становится живым.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;iAKv&quot;&gt;JS - это ваша следующая ступенька изучения фронтэнда после HTML и CSS. И теперь эта ступенька вполне серьезная, и изучать ее придется &lt;u&gt;долго и много&lt;/u&gt;&lt;/p&gt;
  &lt;p id=&quot;3r05&quot;&gt;Всю теорию по языку можно условно поделить на базовую и продвинутую части. Продвинутая - это асинхронщина, event loop, прототипирование, замыкание и тп - грузить вас этим я сейчас не буду, еще рано. Пока остановимся на том, из чего примерно состоит базовая&lt;/p&gt;
  &lt;p id=&quot;zj74&quot;&gt;Если вкратце, можно выделить&lt;/p&gt;
  &lt;ol id=&quot;wexq&quot;&gt;
    &lt;li id=&quot;4GgM&quot;&gt;Лексика, синтаксис и семантика;&lt;/li&gt;
    &lt;li id=&quot;Nhjs&quot;&gt;Типы данных;&lt;/li&gt;
    &lt;li id=&quot;c8Wz&quot;&gt;Операторы;&lt;/li&gt;
    &lt;li id=&quot;IPkx&quot;&gt;Переменные;&lt;/li&gt;
    &lt;li id=&quot;pjmz&quot;&gt;Функции;&lt;/li&gt;
    &lt;li id=&quot;ihW8&quot;&gt;Условные конструкции:&lt;/li&gt;
    &lt;li id=&quot;Hdrn&quot;&gt;Методы, объекты и свойства;&lt;/li&gt;
    &lt;li id=&quot;vfsK&quot;&gt;Циклы.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;SWLL&quot;&gt;Получше погрузиться в JS вам поможет вот этот учебник - &lt;a href=&quot;https://learn.javascript.ru/&quot; target=&quot;_blank&quot;&gt;https://learn.javascript.ru/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;caMH&quot;&gt;А тренироваться на практике можно на проектах, тут вам тоже нужна полезная ссылочка - &lt;a href=&quot;https://proglib.io/p/web-projects&quot; target=&quot;_blank&quot;&gt;https://proglib.io/p/web-projects&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;GonY&quot;&gt;Важная ремарка: JS - уже реально достаточно сложный язык. И если html/css-у вас легко и на ютубе индусы научат, то Джаваскрипт может достаточно тяжело заходить. Мой личный совет - на этом этапе не сдаваться и начать более серьезно относиться к программированию&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;8o4g&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;E8Od&quot;&gt;&lt;em&gt;Если вы дошли до JS, значит фронтэнд должен перерасти из состояния вашего хобби в что-то более серьезное. И пора относиться к нему более основательно&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;V5Ox&quot;&gt;&lt;strong&gt;Во-первых&lt;/strong&gt;, советую искать комьюнити или ментора. Вам точно понадобятся люди, у которых можно что-то спросить. В качестве комьюнити хорошо работают чаты в телеграме. Например, мой чат, туда можно задать любой вопрос. С ментором подсказать не смогу, обычно это или друзья или платно.&lt;/p&gt;
  &lt;p id=&quot;hlXs&quot;&gt;&lt;strong&gt;Во-вторых&lt;/strong&gt;, тут уже реально пора задумываться о том, чтобы уделять изучению больше времени. Если html/css можно и за час в день выучить, на js вы рискуете надолго зависнуть, если будете медленно продвигаться.&lt;/p&gt;
  &lt;p id=&quot;xJ1o&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;EC3s&quot;&gt;Что после JS?&lt;/h3&gt;
  &lt;p id=&quot;VwNn&quot;&gt;Нет, еще не работа. Джаваскрипт - это только база, на основе которой вы уже сможете овладеть актуальным для коммерческой разработки стэком&lt;/p&gt;
  &lt;p id=&quot;9sry&quot;&gt;&lt;strong&gt;Во-первых&lt;/strong&gt;, вам надо овладеть Typescript-ом. По сути это небольшая надстройка над JS-ом, которая будет вам помогать замечать возможные ошибки. Сейчас она используется почти везде&lt;/p&gt;
  &lt;p id=&quot;mCZq&quot;&gt;&lt;strong&gt;Во-вторых&lt;/strong&gt;, на основе JS вам нужно будет овладеть одним или несколькими фреймворками.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;FaPe&quot;&gt;Если вкратце, фреймворки - это набор функций, элементов, модулей, которые позволяют быстро создавать компоненты для приложений и соединять их вместе, короче облегчают жизнь.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ktff&quot;&gt;Самые популярные фреймворки это React,&lt;a href=&quot;https://angular.io/&quot; target=&quot;_blank&quot;&gt; Vue.js и Angular&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;ekFK&quot;&gt;&lt;a href=&quot;https://reactjs.org/&quot; target=&quot;_blank&quot;&gt;React&lt;/a&gt; — это самый популярный фреймворк, который нужен в 90% вакансий. Лично я на нем сейчас и пишу.&lt;/p&gt;
  &lt;p id=&quot;m5wD&quot;&gt;Angular  — тоже  популярный фреймворк  от Google. Считается, что он подходит для более сложных приложений, но это понятие относительно, короче накодить можно что угодно. Лично я им почти не пользуюсь, но многие тоже его учат&lt;/p&gt;
  &lt;p id=&quot;nZf5&quot;&gt;&lt;a href=&quot;https://vuejs.org/&quot; target=&quot;_blank&quot;&gt;Vue.js&lt;/a&gt; — что то между react и angular. Я лично на нем не писал, но иногда вакансии вижу где его требуют. Тут на ваше усмотрение&lt;/p&gt;
  &lt;p id=&quot;9Req&quot;&gt;Короче, мой совет - react.&lt;/p&gt;
  &lt;p id=&quot;4KZT&quot;&gt;&lt;strong&gt;Итог статьи&lt;/strong&gt; - в идеале вы теперь знаете, что такое js, с чем его едят и из чего он состоит. А в в следующих статьях постараюсь раскрыть уже больше технических особенностей, чтобы была прикладная польза.&lt;/p&gt;

</content></entry><entry><id>viktorriabkov:css-for-beginners</id><link rel="alternate" type="text/html" href="https://teletype.in/@viktorriabkov/css-for-beginners?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=viktorriabkov"></link><title>CSS для чайников - зачем нужен, как работает + подборка генераторов</title><published>2023-05-31T11:40:44.237Z</published><updated>2023-05-31T11:40:44.237Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/bf/c1/bfc17dbf-8783-4789-940f-a42ace2f4003.png"></media:thumbnail><category term="it" label="IT"></category><summary type="html">Решил набросать небольшую вводную статейку для тех, кому сейчас актуально изучение CSS. Разберу базовый смысл этой технологии и поделюсь парой ссылок</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;hQlr&quot;&gt;Решил набросать небольшую вводную статейку для тех, кому сейчас актуально изучение CSS. Разберу базовый смысл этой технологии и поделюсь парой ссылок&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;r3DF&quot;&gt;CSS расшифровывается как Cascading Style Sheets. Каскадные Листы Стиля - &lt;strong&gt;очень понятно, спасибо&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;U7io&quot;&gt;Если человеческим языком, то CSS — язык стиля, то есть инструмент задания стилей элементам страницы - цвета, шрифты и т.п. С помощью CSS красится текст, фон, картинки. HTML - это про &amp;quot;где&amp;quot; и &amp;quot;что&amp;quot;, а CSS - это про &amp;quot;как выглядит&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;QtUa&quot;&gt;&lt;em&gt;Продолжаем ряд: JavaScript - это про &amp;quot;что делает&amp;quot;, а React, Angular, NodeJS - это про &amp;quot;найди себе уже друзей и девушку&amp;quot;. &lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;s6zn&quot;&gt;Так, общий смысл постарался донести. Теперь к функциональным особенностям.&lt;/p&gt;
  &lt;p id=&quot;of3J&quot;&gt;&lt;a href=&quot;https://msiter.ru/references/css-reference&quot; target=&quot;_blank&quot;&gt;https://msiter.ru/references/css-reference&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;aH4j&quot;&gt;&lt;a href=&quot;https://puzzleweb.ru/css/all_properties.php&quot; target=&quot;_blank&quot;&gt;https://puzzleweb.ru/css/all_properties.php&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;JC0c&quot;&gt;Здесь вы найдете весь список свойств, настраиваемых в CSS. Делать статью из перечисления их всех смысла нет, да и если есть желание разобраться подробнее, легче вписаться в мой бесплатный курс по HTML/CSS - - &lt;a href=&quot;https://clck.ru/34NCEF&quot; target=&quot;_blank&quot;&gt;https://clck.ru/34NCEF&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;v2bc&quot;&gt;Если вкратце, то с помощью всех вышеперечисленных свойств вы можете создать стиль и использовать его в своей странице. Так это и работает CSS&lt;/p&gt;
  &lt;p id=&quot;YjN8&quot;&gt;Например, я хочу сделать текст шрифтом Gilroy 15 размера синего цвета. Я вбиваю эти настройки в CSS, а потом подключаю их к моему тексту на странице. Вуа-ля - работает&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;V7kU&quot;&gt;А теперь о более интересном - как себе упростить работу с CSS. Один из вариантов - использовать &lt;strong&gt;генераторы CSS-эффектов&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;tNHu&quot;&gt;Это онлайн сервисы, которые помогают вам сгенерить код на CSS под ваш запрос. Сейчас поделюсь с вами небольшим списком того, что я нашел на просторах интернета или похожих статьях про СSS.&lt;/p&gt;
  &lt;p id=&quot;pl3Y&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://bgjar.com&quot; target=&quot;_blank&quot;&gt;BGJar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Xyi4&quot;&gt;Здесь можно нагенерить код для простейших фонов. В реальной работе вам такое не понадобится, но если для проектика на &amp;quot;потыкать&amp;quot; лень делать фон, можно поюзать&lt;/p&gt;
  &lt;p id=&quot;cz4b&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://cssgrid-generator.netlify.app&quot; target=&quot;_blank&quot;&gt;CSS Grid Generator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;jdFy&quot;&gt;Сайт для генерации кода для вашей сетки.&lt;/p&gt;
  &lt;p id=&quot;0cgw&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://www.css-gradient.com&quot; target=&quot;_blank&quot;&gt;CSS Gradient Generator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;rnvP&quot;&gt;Здесь можно удобно делать градиент, если самостоятельно вам пока тяжело это делать&lt;/p&gt;
  &lt;p id=&quot;7TyC&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://www.bestcssbuttongenerator.com&quot; target=&quot;_blank&quot;&gt;CSS Button Generator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;iQhW&quot;&gt;Название говорит за себя - это инструмент для создания кнопок для ленивых. Для особо ленивых там еще и много пресетов&lt;/p&gt;
  &lt;p id=&quot;jLCc&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://htmlcssfreebies.com/box-shadow-generator-multiple/&quot; target=&quot;_blank&quot;&gt;Multiple Box Shadow Generator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;xpAz&quot;&gt;Это инструмент для настройки теней, причем с достойным функционалом.&lt;/p&gt;
  &lt;p id=&quot;Sw5l&quot;&gt;&lt;strong&gt;&lt;u&gt;&lt;a href=&quot;http://csstypeset.com&quot; target=&quot;_blank&quot;&gt;CSS Type Set&lt;/a&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;sE8E&quot;&gt;Здесь удобно настраивать текст, можно менять размер, спейсинг, шрифт и т.п. Не очень нужная фича, но можно пользоваться, если лень делать самостоятельно;&lt;/p&gt;
  &lt;p id=&quot;TIHq&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://keyframes.app&quot; target=&quot;_blank&quot;&gt;Keyframes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ZH1j&quot;&gt;Здесь вообще много полезного для CSS, советую просто зайти и потыкать. Анимации, тени, цвета и т.п. Тени и цвета в списке уже были, а вот анимаций не было, поэтому я его сюда и вставил.&lt;/p&gt;
  &lt;p id=&quot;6xTW&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://www.cssfilters.co&quot; target=&quot;_blank&quot;&gt;CSS Filters&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;rWqZ&quot;&gt;Это инструмент для применения фильтров к фотографиям. Заливаете туда фотку, редактируете как в фотошопе, а сайт вам выдает код для такого же редактирования в CSS&lt;/p&gt;

</content></entry><entry><id>viktorriabkov:how-to-setup-your-pc-before-development</id><link rel="alternate" type="text/html" href="https://teletype.in/@viktorriabkov/how-to-setup-your-pc-before-development?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=viktorriabkov"></link><title>Что скачать для разработки на JavaScript</title><published>2023-05-15T20:58:40.534Z</published><updated>2023-05-15T20:58:40.534Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/c3/b4/c3b47038-427c-496a-a99a-b38dc8a3cfbc.png"></media:thumbnail><category term="it" label="IT"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/30/c1/30c1725c-4da1-4457-a557-206c62994024.jpeg&quot;&gt;Специально для начинающих программистов в моем канале я решил сделать статью по тому, какие приложения нужны для того, чтобы начать создавать свои первые проекты. Что-то может звучать и банально, но поверьте, лучше я вам все это скажу, чем вы установите не то и сломаете себе мозг</summary><content type="html">
  &lt;p id=&quot;i3T8&quot;&gt;Специально для начинающих программистов в моем канале я решил сделать статью по тому, какие приложения нужны для того, чтобы начать создавать свои первые проекты. Что-то может звучать и банально, но поверьте, лучше я вам все это скажу, чем вы установите не то и сломаете себе мозг&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;P4WY&quot;&gt;&lt;strong&gt;Браузер&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;1Kmo&quot;&gt;Великие начинания всегда начинаются с простого. В нашем случае это простое называется Браузер. &lt;em&gt;Не бойтесь, я не собираюсь объяснять вам что такое браузер и как его установить, я в вас верю.&lt;/em&gt; Единственное что могу сказать - если пользуетесь чем то необычным, то для разработки лучше установите &lt;strong&gt;Google Chrome&lt;/strong&gt;. В нем самая лучшая панель разработчика, куча статистики, всяких инструментов и т.д. Плюс в хроме самая большая база расширений, которые тоже в будущем будут помогать вам разрабатывать.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;evs9&quot;&gt;&lt;strong&gt;Редактор кода&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;s6iU&quot;&gt;Теперь серьезно. Главное, с чего нужно начать - это выбор среды разработки. Если по-простому - то это умный блокнот в который вы будете писать свой код. Таких приложений огромное количество - Sublime Text, Visual Studio Code, WebStorm, IDEA и т.д, перечислять можно долго. Лично я сам пользуюсь и вам советую использовать &lt;strong&gt;VS Code&lt;/strong&gt; по следующим причинам:&lt;/p&gt;
  &lt;p id=&quot;XjWo&quot;&gt;&lt;u&gt;Во-первых&lt;/u&gt;, даже на моем уровне разработки мне его абсолютно хватает&lt;/p&gt;
  &lt;p id=&quot;Kg7t&quot;&gt;&lt;u&gt;Во-вторых&lt;/u&gt;, у этого редактора отличный баланс между простотой использования и возможностями. То есть сразу после установки вам ничего не потребуется там настраивать - &lt;em&gt;запустили и в бой&lt;/em&gt;. А когда он станет для вас уже пустоват, на помощь придут расширения&lt;/p&gt;
  &lt;p id=&quot;yVmT&quot;&gt;В VSCode есть огромное количество расширений, которые помогут вам накрутить на него все, чего только душа пожелает. И темы, и подсветка языка, и иконки, и лайв сервер, и то, и се. В общем, если вам нужен простой редактор - просто скачиваете и используете, а если нужен продвинутый инструмент, то навешиваете туда расширений. Эта гибкость - большой плюс.&lt;/p&gt;
  &lt;p id=&quot;6SQX&quot;&gt;&lt;u&gt;В-третьих&lt;/u&gt;, большая база разработчиков пишут именно в VSCode, то есть все новые расширения выходят на него почти сразу. И по нему есть невероятное количество туториалов и видео на ютубе, то есть вряд ли вы встретитесь с проблемой, которую не сможете решить.&lt;/p&gt;
  &lt;p id=&quot;xij2&quot;&gt;&lt;em&gt;В общем качайте VSCode с официального сайта и радуйтесь жизни. &lt;/em&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot;&gt;https://code.visualstudio.com/&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;BLB5&quot;&gt;&lt;strong&gt;Node.JS&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sRpT&quot;&gt;После того как вы скачали редактор кода, вам в первую очередь нужно установить nodejs. Да, даже если вы занимаетесь только фронтом. Если кратко Nodejs - это движок javascript прямо у вас на компьютере, а не только в браузере. То есть вы можете запускать свои js файлы, даже не открывая браузер. И это уже круто само по себе, но нам важно не только это.&lt;/p&gt;
  &lt;p id=&quot;NKl6&quot;&gt;Важно еще и то, что именно благодаря nodejs мы можем устанавливать любые пакеты, любые библиотеки, фреймворки, тулзы и так далее. Чтобы вы понимали: чтобы установить react, нам нужен nodejs, ведь реакт - это фреймворк. Как установить nodejs на пк я думаю вы разберетесь, здесь дам только краткие инструкции.&lt;/p&gt;
  &lt;p id=&quot;yYnf&quot;&gt;&lt;strong&gt;Есть две таблетки&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;sqkh&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/30/c1/30c1725c-4da1-4457-a557-206c62994024.jpeg&quot; width=&quot;640&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;gu2M&quot;&gt;&lt;strong&gt;Синяя таблетка&lt;/strong&gt; - &lt;a href=&quot;https://nodejs.org/en/download&quot; target=&quot;_blank&quot;&gt;https://nodejs.org/en/download&lt;/a&gt;. Просто скачать архив, просто установить как обычное приложение. Заснуть спокойным сном младенца и забыть об этом уже завтра&lt;/p&gt;
  &lt;p id=&quot;Tjap&quot;&gt;&lt;em&gt;Но я бы советовал идти другим путем.&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;ji4m&quot;&gt;&lt;strong&gt;Красная таблетка -&lt;/strong&gt; использовать командую строку и менеджеры пакетов. &lt;em&gt;Да, сначала вам будет страшно, а потом вы по-другому уже не сможете.&lt;/em&gt; &lt;strong&gt;Не бойтесь белого текста на черном фоне, &lt;/strong&gt;на самом деле это самый удобный способ взаимодействия. В общем, буду говорить на своем примере - у меня MacOS, и для маков создали очень удобный инструмент который называется homebrew. &lt;a href=&quot;https://brew.sh/&quot; target=&quot;_blank&quot;&gt;https://brew.sh/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;TMjq&quot;&gt;Вы заходите на оф. сайт. Копируете скрипт, вставляете в свою командую строку, нажимаете enter - &lt;strong&gt;готово&lt;/strong&gt;. Теперь у вас установлен инструмент который позволит делать вам кучу классных вещей, в том числе и установить nodejs. Кстати о нем. После установки homebrew, вы легко можете написать в поиске node install homebrew и попадете на инструкцию где вам расскажут что и как делать. Вот кстати и сама инструкция - &lt;a href=&quot;https://formulae.brew.sh/formula/node&quot; target=&quot;_blank&quot;&gt;https://formulae.brew.sh/formula/node&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;l2Vy&quot;&gt;Копируете команду, вставляете в терминал &lt;em&gt;(так называется командная строка на маке)&lt;/em&gt; и готово. У вас установлен NodeJs и npm.&lt;em&gt; И теперь вы еще на шаг отдалились от обычной жизни бытового юзера, упустили свою синюю таблетку и теперь вам придется стать программистом.&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;gS9z&quot;&gt;Если без шуток, я серьезно сам пользуюсь именно таким методом, и многие программисты тоже. Поэтому не бойтесь, это весело.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;bsBc&quot;&gt;&lt;strong&gt;Git&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;3yv5&quot;&gt;После всех подготовок вам обязательно понадобится установить git. Благодаря ему вы сможете управлять версией своего кода, скачивать и заливать свои исходники. GIT это инструмент который упрощает вам жизнь при разработке. Github это сайт где в облаке хранится ваш код. Даже если вы работаете один и не хотите делится вашим кодом, то вам все равно нужно научится пользоваться этим инструментом. Чтобы добавить вам мотивации, представьте ситуацию. Вы пишите свой проектик, добавляете новые компоненты, фичи и все своевременно коммитите в гит. Таким образом у вас строится история вашего проекта и если в какой то момент вы все сломаете, то вы легко сможете найти так называемый ID вашего коммита и переключиться на него всего в две команды. Переключиться на тот момент когда еще все работало - это ли не чудо.&lt;br /&gt;&lt;br /&gt;В общем идем в официальную документацию и читаем, как это сделать -&lt;a href=&quot;https://git-scm.com/downloads&quot; target=&quot;_blank&quot;&gt;https://git-scm.com/downloads&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;sFQK&quot;&gt;&lt;strong&gt;По важным установкам - все. Теперь надо понять, как со всем этим работать&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;pzaF&quot;&gt;Чтобы создать новый проект вам нужно просто создать папку на вашем рабочем пк, а потом открыть эту папку в редакторе кода. Внутри каждого редактора есть встроенный терминал, который вам будет помогать на протяжении всей жизни.&lt;/p&gt;
  &lt;p id=&quot;uIrg&quot;&gt;В сроке пишем команду &lt;strong&gt;npm init,&lt;/strong&gt; тем самым создавая наш package.json. &lt;em&gt;package.json это файл где будут сохранены все ваши зависимости (библиотеки и тд) и скрипты.&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;bj8K&quot;&gt;&lt;strong&gt;И последний шаг&lt;/strong&gt; - это создание git репозитория, для этого есть команда git init.&lt;/p&gt;
  &lt;p id=&quot;xe28&quot;&gt;После запуска этой команды у вас будет создан локальный репозиторий, и теперь у вас есть все для нормальной работы.&lt;/p&gt;
  &lt;p id=&quot;36qm&quot;&gt;&lt;strong&gt;Поздравляю&lt;/strong&gt; с настройкой вашего компьютера для увлекательных путешествий в мир разработки! Назад пути уже нет...&lt;/p&gt;

</content></entry><entry><id>viktorriabkov:how-to-learn-frontend</id><link rel="alternate" type="text/html" href="https://teletype.in/@viktorriabkov/how-to-learn-frontend?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=viktorriabkov"></link><title>Как я изучал фронтэнд: полный список сервисов и советы по изучению</title><published>2023-05-10T08:54:55.438Z</published><updated>2023-05-10T08:54:55.438Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/09/5b/095b87cd-fd83-4bc4-879c-c7c0c90dfaf9.png"></media:thumbnail><category term="it" label="IT"></category><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/83/20/83206e41-87d7-4148-b920-68163e6560b9.jpeg&quot;&gt;Привет! Меня зовут Виктор Рябков, и сейчас я Senior Fullstack разработчик. Но 5+ лет назад я начинал как и все, с полного нуля и без технического или IT образования. Поэтому как и тебе, мне приходилось искать полезную информацию самостоятельно.</summary><content type="html">
  &lt;figure id=&quot;IUoi&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/83/20/83206e41-87d7-4148-b920-68163e6560b9.jpeg&quot; width=&quot;640&quot; /&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vr0Q&quot;&gt;Привет! Меня зовут Виктор Рябков, и сейчас я Senior Fullstack разработчик. Но 5+ лет назад я начинал как и все, с полного нуля и без технического или IT образования. Поэтому как и тебе, мне приходилось искать полезную информацию самостоятельно.&lt;/p&gt;
    &lt;p id=&quot;RJYX&quot;&gt;В этой статье я хочу поделиться всеми сервисами, которыми я пользовался на своем пути, и дать свои комментарии по тому, как ими лучше пользоваться. Получается своеобразный роадмап с комментариями и полезными ссылками, в общем, &lt;em&gt;приятного прочтения&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;no6G&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;O2kZ&quot;&gt;Для удобства буду опираться на уже известные роудмапы (например - &lt;a href=&quot;https://roadmap.sh/frontend&quot; target=&quot;_blank&quot;&gt;https://roadmap.sh/frontend&lt;/a&gt;)&lt;/p&gt;
  &lt;p id=&quot;QM3J&quot;&gt;Проблема таких роадмапов в том, что они слишком общие. Понятное дело - если вы выучите вообще все, что там указано, то вы станете просто гением. Проблема в том, что там указан настолько огромный объем знаний, что большинство даже до 1/4 не дойдут и сдадутся, так как прямого результата не будет.&lt;/p&gt;
  &lt;p id=&quot;C9hR&quot;&gt;&lt;strong&gt;Для старта важно другое: &lt;/strong&gt;четкий план с самыми важными технологиями, (образно говоря скелетом) с которыми вы можете устроиться на работу. Все остальное вы успеете выучить во время работы. Главное - начать получать коммерческий опыт&lt;/p&gt;
  &lt;p id=&quot;1wm8&quot;&gt;&lt;em&gt;Чтобы было понятнее даже я знаю далеко не все из этого роудмэпа выше, но при этом работаю уже шестой год. В общем, вы поняли&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;1Dss&quot;&gt;&lt;strong&gt;Так что давайте по порядку разберем, что из него нужно учить, и где это учить&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;2TEq&quot;&gt;Раздел Internet это конечно хорошо, но далеко не обязательно по началу. Первое, с чего стоит начать, это HTML&amp;amp;CSS. Тут все очевидно, это база, которую должны знать даже дизайнеры. Что могу посоветовать?&lt;/p&gt;
  &lt;p id=&quot;WOkE&quot;&gt;&lt;a href=&quot;https://www.w3schools.com/html/html5_video.asp&quot; target=&quot;_blank&quot;&gt;https://www.w3schools.com/html/html5_video.asp&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;2FYw&quot;&gt;На этом сайте описаны все теги HTML и за что они отвечают как работают и тд. Учить их все не нужно, вы должны пользоваться этим сайтом как подсказкой. Не знаете как работает тэг? Зашли и почитали на сайт. Но все равно советую изначально хотя бы мельком пробежаться, почитать названия, иначе вам будет трудновато понимать, какие теги есть и что вы можете сделать при помощи HTML. Дальше сразу ныряем в верстку и пробуем все ручками. Представьте что вы Марк Цукерберг и пишете гениальный сайт, а получился фейсбук.&lt;/p&gt;
  &lt;p id=&quot;lG7l&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;iHAF&quot;&gt;ВАЖНО! Зацикливаться на мыслях “Я ничего не знаю, пойду читать теорию…” - ошибка. Большая ошибка. Набивайте шишки в своей среде для разработки, так вы научитесь гораздо быстрее. Если не получится, просто удалите проект, никто вас ругать за ошибки не станет&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;5O6I&quot;&gt;Также советую документацию от мозиллы, тут сильно лучше дизайн и проще искать. &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML&quot; target=&quot;_blank&quot;&gt;https://developer.mozilla.org/en-US/docs/Web/HTML&lt;/a&gt; Используем как шпаргалку и не забываем по практику&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;PTkz&quot;&gt;После того как натыкали свою первую верстку, смотрим как сделать это красиво. Идем смотреть CSS.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;of3J&quot;&gt;&lt;a href=&quot;https://msiter.ru/references/css-reference&quot; target=&quot;_blank&quot;&gt;https://msiter.ru/references/css-reference&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;aH4j&quot;&gt;&lt;a href=&quot;https://puzzleweb.ru/css/all_properties.php&quot; target=&quot;_blank&quot;&gt;https://puzzleweb.ru/css/all_properties.php&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;AF4C&quot;&gt;&lt;a href=&quot;https://html5book.ru/css-spravochnik.html&quot; target=&quot;_blank&quot;&gt;https://html5book.ru/css-spravochnik.html&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;7buF&quot;&gt;Работает все так же, как и с предыдущим сайтом для HTML. Просматриваем базово и сразу в бой.&lt;/p&gt;
  &lt;p id=&quot;BcU2&quot;&gt;На этом этапе у вас скорее всего будут проблемы с тем, как подключить CSS в HTML. Вот тут уже не смогу толком посоветовать конкретных материалов, поэтому предлагаю воспользоваться &lt;strong&gt;моим бесплатным курсом по HTML&amp;amp;CSS.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ItZo&quot;&gt;В нем - базовые знания по обоим технологиям и создание первого проекта на них. Спойлер - страница популярной социальной сети.&lt;/p&gt;
  &lt;p id=&quot;ULuC&quot;&gt;&lt;em&gt;В принципе в этом курсе вы найдете вообще всю основную важную инфу по HTML&amp;amp;CSS, поэтому можете по нему их и выучить. Но это&lt;strong&gt; не отменяет практику&lt;/strong&gt;, а для практики вам все же понадобятся сайты, которые я вам дал&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;f4wN&quot;&gt;Ссылка на курс - &lt;a href=&quot;https://clck.ru/34NCEF&quot; target=&quot;_blank&quot;&gt;https://clck.ru/34NCEF&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;To5I&quot;&gt;После того как вы изучите простой CSS и HTML вы сталкнетесь с такой штукой как тэг Form, свойства CSS как Grid / Flexbox и т.п. Тут основной совет - идти на ютуб и посмотреть пару видео. Это супер базовый контент который есть почти у каждого, легко найдете объяснение на свой вкус и цвет.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;X4Ty&quot;&gt;По Grid моя личная рекомендация - &lt;a href=&quot;https://cssgridgarden.com/&quot; target=&quot;_blank&quot;&gt;https://cssgridgarden.com/&lt;/a&gt; На этом сайте вы сможете в игровой форме изучит, как работает grid выращивая морковку. Короче топ за свои деньги (бесплатно).&lt;/p&gt;
  &lt;p id=&quot;Jeqw&quot;&gt;Здесь мы подходим к рубежу когда вы уже Программист с большой буквы и знаете HTML / CSS.&lt;/p&gt;
  &lt;p id=&quot;DK7d&quot;&gt;Дальше идем учить JavaScript. JS делится на две части - простая часть (понять, что такое типы данных, функции, объекты и т.д.) и сложная часть (асинхронщина, евент луп, прототипирование и замыкание)&lt;/p&gt;
  &lt;p id=&quot;Dn0N&quot;&gt;Начинаем от сложного к простому. Сначала смотрим базово, что вообще такое этот ваш джаваскрипт Смотреть тут &lt;a href=&quot;https://learn.javascript.ru/&quot; target=&quot;_blank&quot;&gt;https://learn.javascript.ru/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;Rq2y&quot;&gt;По моему мнению, это самый классный учебник по JS, который поэтапно вас введет в курс дела. Во время чтения постоянно все пробуем и тестируем в вашей среде разработки, не стесняемся.&lt;/p&gt;
  &lt;p id=&quot;jTP9&quot;&gt;Дальше используем вот такую шпаргалку от мозиллы. &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript&quot; target=&quot;_blank&quot;&gt;https://developer.mozilla.org/en-US/docs/Web/JavaScript&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;j2Jn&quot;&gt;Сложный джаваскрипт рекомендую учить комплексно. Что это значит? Берем темы, которые я расписал выше и идем один за одним. Читаем про асинхронность и пытаемся написать то же самое сами. После того как получилось, пробуем придумать свое.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;yl0T&quot;&gt;Допустим мы хотим попробовать запросить какие-то данные, чтобы посмотреть как у нас это получится. Берем и идем сюда &lt;a href=&quot;https://jsonplaceholder.typicode.com/&quot; target=&quot;_blank&quot;&gt;https://jsonplaceholder.typicode.com/&lt;/a&gt;Это бесплатный Fake Api в котором вы можете брать ссылки как будто бы у вас есть backend и работать с этим.&lt;/p&gt;
  &lt;p id=&quot;rXLW&quot;&gt;На этом этапе я лично рекомендую взять небольшую паузу в обучении и сделать упор на практике. Берем несколько проектов на разработку, буквально один/два, не будем изобретать велосипед.&lt;/p&gt;
  &lt;p id=&quot;q3jU&quot;&gt;Берем первый сайт по запросу &amp;quot;Топ 10 идей для проектов для обучения JS&amp;quot; - &lt;a href=&quot;https://proglib.io/p/web-projects&quot; target=&quot;_blank&quot;&gt;https://proglib.io/p/web-projects&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;c8Ks&quot;&gt;Выбираем то что понравилось, делаем. На этом сайте есть примеры и с кодом, если хочется посмотреть, как та или иная фича реализована&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;mR9Q&quot;&gt;После практики и создания нескольких проектов нужно начинать уже набирать портфолио. Это значит, что нужно их куда то залить. И лучшее место для этого это github.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sGxJ&quot;&gt;По Github учим, что такое репозитории и контроль версий.&lt;em&gt; Тут к сожалению не подскажу сервисов, все раскидано по разным сайтам&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;JqEm&quot;&gt;Поэтому не стесняемся и сами гуглим по теме (&lt;em&gt;или просим меня создать ролик на ютуб по этой теме&lt;/em&gt;) Вам важно выучить: как создавать локальные гит репозитории и удаленные гит репозитории, как пушить изменения, скачивать проекты через гит, создавать новые ветки, коммитить и ходить по истории ваших коммитов.&lt;/p&gt;
  &lt;p id=&quot;0IDe&quot;&gt;На основе закончили. Дальше вам понадобится менеджер пакетов.&lt;/p&gt;
  &lt;p id=&quot;2V6G&quot;&gt;Пакеты - это библиотеки которые написали другие программисты и выложили, чтобы вы их использовали. Для этого умные программисты придумали систему и называется она NPM. NPM - штука, которая помогает в консоли устанавливать какие-либо библиотеки для вашего проекта.&lt;/p&gt;
  &lt;p id=&quot;8Uga&quot;&gt;Гуглим NPM или YARN (кому что больше нравится) и тренируемся. Дальше создаем package.json которые будет записывать все ваши библиотеки и научиться устанавливать и удалять любые пакеты. Тут могу только посоветовать посмотреть &lt;a href=&quot;https://www.npmjs.com/&quot; target=&quot;_blank&quot;&gt;https://www.npmjs.com/&lt;/a&gt;. Это огромная библиотека со всеми пакетами. Дайте разгуляться вашей фантазии.\&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Hyxu&quot;&gt;Дальше мы с вами переходим к фреймворкам. И в нашем случае это React. На самом деле их много, но я по своему опыту скажу, что реакт самый простой в понимании и на нем больше всего вакансий. Короче одни плюсы.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;BDYz&quot;&gt;Angular / VUEjs / Svelte еще успеете глянуть позже когда начнете работать. Переучиться с фреймворка на другой фреймворк сильно проще чем сразу учить что то трудное. Тут нет каких то уникальных ссылок, только документация React &lt;a href=&quot;https://react.dev/&quot; target=&quot;_blank&quot;&gt;https://react.dev/&lt;/a&gt;. Она классная удобная и на многих языках. Читаем ее, пробуем и практикуем, все непонятные моменты гуглим на ютубе.&lt;/p&gt;
  &lt;p id=&quot;KP36&quot;&gt;Еще вам понадобятся форматирующие библиотеки вашего кода. Это нужно, чтобы код выглядел красиво и его могли читать другие разработчики. Основные две библиотеки для этого Prettier и Eslint &lt;a href=&quot;https://prettier.io/&quot; target=&quot;_blank&quot;&gt;https://prettier.io/&lt;/a&gt; &lt;a href=&quot;https://eslint.org/&quot; target=&quot;_blank&quot;&gt;https://eslint.org/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;gJta&quot;&gt;Иногда сложновато заставить их работать вместе, но статей в интернете по этому полно. Просто вбейте “Настройка prettier и eslint” и действуйте по инструкции. И не переживайте, если сначала не будет получаться. Главное не бросайте это дело, ибо в коммерческой разработке это сильно важно. Красивый код - это ваше лицо.&lt;/p&gt;
  &lt;p id=&quot;O4i6&quot;&gt;Дальше опять останавливаемся в обучении и ныряем в практику. Сначала пробуем перенести свои проекты которые делали в самом начале на чистом JS в React. После того как все перенесем, идем опять гуглить прикольный проект и пишем его с нуля на react.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;9xrd&quot;&gt;Приложение на react - это уже серьезное достижение. После этого момента останется только совершенствовать свои навыки и углубляться в тему.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;gfG2&quot;&gt;После того как напишем свое собственное приложение на React, начинаем понимать, что писать весь css самому - тяжело. И вы правы, так как есть много готовых компонентов, например &lt;a href=&quot;https://mui.com/&quot; target=&quot;_blank&quot;&gt;https://mui.com/&lt;/a&gt;. Это одна из самых популярных UI lib. Идем в доки, устанавливаем себе и пытаемся сделать все еще красивее.&lt;/p&gt;
  &lt;p id=&quot;szvy&quot;&gt;Чтобы ощутить всю силу, создайте простое приложение (ToDo list или калькулятор) только из UI lib. Вам понравится&lt;/p&gt;
  &lt;p id=&quot;zzGA&quot;&gt;Идем дальше. Чтобы приложение работало&lt;em&gt; как приложение&lt;/em&gt; понадобиться какой то State manager. Это инструмент который делает хранилище куда можно записывать состояние приложения. Залогинился пользователь, записали туда firstName / lastName и дальше используем во всех частях приложения.&lt;/p&gt;
  &lt;p id=&quot;nXe7&quot;&gt;Короче - Redux и Redux toolkit &lt;a href=&quot;https://redux.js.org/&quot; target=&quot;_blank&quot;&gt;https://redux.js.org/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qbCE&quot;&gt;Внедряем в наши приложения глобальный стейт менеджер и радуемся тому, что уже умеем. Ссам инструмент простой, документация классная. Главное - понять суть работы, один раз написать самому, и дальше уже проблем не будет.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;N26P&quot;&gt;На этом этапе мы уже умеем с вами. HTML / CSS / JavaScript / React / Redux / UI lib&lt;/p&gt;
    &lt;p id=&quot;bAJE&quot;&gt;Но чего то не хватает…&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jZmb&quot;&gt;Правильно, архитектуры! Нам нужна структура приложения. Конечно можно складывать все в корневую папку src и выглядеть как &amp;quot;&lt;em&gt;гений&amp;quot;&lt;/em&gt;. Но нам такое не подходит. Лично мой совет - брать все самое новое и свежее. Архитектура во фронте - очень динамичная вещь, она постоянно меняется и улучшается. Приложения которые я писал два года назад уже выглядят как отстой по архитектуре. Тут берем самое свежее - &lt;a href=&quot;https://feature-sliced.design/&quot; target=&quot;_blank&quot;&gt;https://feature-sliced.design/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;l0M7&quot;&gt;Там ребята на русском языке расписали как это использовать и какие проблемы это вообще решает в мире фронтенда.&lt;/p&gt;
  &lt;p id=&quot;D7VI&quot;&gt;&lt;strong&gt;Важно напоминание -&lt;/strong&gt; сначала вам покажется что это бесполезная трата времени, и это будет вашей фатальной ошибкой. Нужно бороться со своей ленью и делать из себя классного разработчика. Берем старый проект, который вы переносили на react и пытаемся красиво разложить его по архитектуре.&lt;/p&gt;
  &lt;p id=&quot;bX6q&quot;&gt;Сначала будет трудно, непонятно, но как втянетесь, поймете что я был прав. Приложение с архитектурой легче поддерживать даже через много лет. Открываете проект и сразу понимаете, где что лежит. Это так же важно как eslint и prettier.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;2eYN&quot;&gt;Представим что вы выполнили все мои рекомендации по шагам. Дальше что? На этом этапе по факту вы можете писать приложения любого размера ибо все умеете и знаете. Но есть одно НО.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;qBYV&quot;&gt;Это TypeScript. И нет, это не другой язык программирования и не что то сложное. Это просто надстройка над обычным JS чтобы помогать ВАМ же. Суть TS в том чтобы выкидывать вам ошибки еще на моменте разработки&lt;/p&gt;
  &lt;p id=&quot;HpVk&quot;&gt;Без тайпскрипта вы не сможете создать большое поддерживаемое и стабильное приложение. В какой-то момент вы упретесь в загадку: меняете в одном месте - разваливается в другом. Появляется так много зависимостей друг от друга, что без TS очень сложно. Поэтому открываем документацию по тс и читаем - &lt;a href=&quot;https://www.typescriptlang.org/&quot; target=&quot;_blank&quot;&gt;https://www.typescriptlang.org/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;3cPu&quot;&gt;Основное что вам тут нужно понять - как создавать config файл и как это вообще работает. Если в двух словах, то на TypeScript вы только пишете, а само приложение все еще продолжает работать на js. Круто то, что после того, как вы что-то написали на TS, вы запускаете компилятор и он вам выдает код на JS. И все готово.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;vFU4&quot;&gt;Ну что, базово это почти все, что вам нужно для первой работы. Звучит конечно легко, но на деле - месяцы и месяцы изучения. Главное - не сдаваться, не бояться практиковаться, и не сворачивать с пути. Лично я именно так и делал.&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>viktorriabkov:programmer-way</id><link rel="alternate" type="text/html" href="https://teletype.in/@viktorriabkov/programmer-way?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=viktorriabkov"></link><title>Мой путь в IT</title><published>2023-05-10T07:11:37.285Z</published><updated>2023-05-10T07:21:57.023Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/60/7e/607e48cb-d779-4640-9e97-62ca72beac23.png"></media:thumbnail><summary type="html">В абсолютно каждом блоге есть пост &quot;обо мне&quot;. Обычно туда пишут всякую банальную дичь и просто перечисляют свои достижения, в общем, выглядит неестественно, и почти ничего не рассказывает о человеке</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;GjKa&quot;&gt;&lt;em&gt;В абсолютно каждом блоге есть пост &amp;quot;обо мне&amp;quot;. Обычно туда пишут всякую банальную дичь и просто перечисляют свои достижения, в общем, выглядит неестественно, и почти ничего не рассказывает о человеке&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;wQMF&quot;&gt;&lt;em&gt;Мне такой пост тоже нужен, но я хочу его сделать более настоящим, и рассказать не про то &amp;quot;Кто я сейчас&amp;quot;, а про свой путь, кем я был и что я делал, чтобы дойти до туда, где я сейчас. Уверен, что многие смогут сделать полезные для себя выводы из этого пути, да и просто получше узнать меня&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;MhW2&quot;&gt;Начнем с моих 17 лет. Я жил в Петергофе (пригород СПб), учился в школе, играл в компьютер, гулял, в общем, ничего необычного.&lt;/p&gt;
  &lt;p id=&quot;zKMy&quot;&gt;Близилось ЕГЭ, и, как и все, я целился поступить в университет. Поэтому я занимался с репетитором по информатике. И эти занятия даже начинали давать свои плоды: я уже умел писать мини сайтики, сам ковырялся в html и css, а также немного шарил в JavaScript.&lt;/p&gt;
  &lt;p id=&quot;05TV&quot;&gt;С этим набором знаний я пошел сдавать экзамены. Кажется, при таких вводных данных, что же может пойти не так? Оказалось - вообще все, и ЕГЭ я с кайфом написал на чуть выше проходного балла.&lt;/p&gt;
  &lt;p id=&quot;hIvq&quot;&gt;Сейчас я понимаю, почему так получилось: я не готовился к тому, что требует ЕГЭ по информатике (не решал душные задания на логику и т.п), а учился скорее программированию.&lt;/p&gt;
  &lt;p id=&quot;OuRb&quot;&gt;Все же с набранными балами я решил подавать документы в вузы. Выбрал для себя 4 университета с проходными 230+ (уточню, у меня было суммарно 160 баллов) и решил поступать на шару.&lt;/p&gt;
  &lt;p id=&quot;LHwL&quot;&gt;Был еще пятый универ, но я не успел приехать подать документы, и до сих под думаю, что это было к лучшему.&lt;/p&gt;
  &lt;p id=&quot;ZCTR&quot;&gt;Спустя какое-то время из уников начала приходить информация о поступивших, и кто бы мог подумать, я &lt;strong&gt;никуда не поступил )&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;1Z7X&quot;&gt;&lt;strong&gt;И я понял, что нужно думать об альтернативном варианте развития событий.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;JK7B&quot;&gt;Я решил не унывать и хотя бы работать (на тот момент я уже подрабатывал официантом после школы, так что я начал брать там больше часов)&lt;/p&gt;
  &lt;p id=&quot;H3MC&quot;&gt;Как вы помните, базовые сайты я уже научился верстать с репетитором по информатике, поэтому я продолжал это делать для себя (чисто из интереса)&lt;/p&gt;
  &lt;p id=&quot;X9tO&quot;&gt;Но, к счастью, даже в 17 лет я был не глуп и понимал, что далеко я так не уеду, и программистом быстро не стану. Поэтому после долгих размышлений я решил что нужно поставить на это ставку, пойти all in так сказать.&lt;/p&gt;
  &lt;p id=&quot;ikEv&quot;&gt;Я нахожу первые попавшиеся мне курсы в Санкт-Петербурге, узнаю сколько они стоят и иду зарабатывать на них. Параллельно ищу б/у макбук эир на авито, ибо в голове был образ модного разработчика в кофейне с латте. &lt;em&gt;Поэтому сами понимаете без макбука не получилось бы. &lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;F9yy&quot;&gt;После пару месяцев работы я накопил на курсы + 2-3 месяца пожить. А макбук я купил, продав свой старый игровой ПК.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;GOA8&quot;&gt;Вуаля - стандартный набор фронтэндера готов - 18 лет, макбук, говнокурсы и пара рублей в кармане.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;kpOe&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;6YW1&quot;&gt;Началось обучение на курсе. Курс был средненький - по факту при нас просто программировали и просили повторять, отвечая на некоторые вопросы. &lt;em&gt;Но у меня же было мотивации как после курсов про успешный успех, так что меня это не сильно останавливало. &lt;/em&gt;Я просто постоянно докапывал где какие документации почитать, что поделать и т.д. и т.п.&lt;/p&gt;
  &lt;p id=&quot;Btx3&quot;&gt;По итогу курса нам дали купленные в переходе в метро сертификаты  и мы все разбежались. В портфолио у нас была одна кривая верстка и собственно все.&lt;/p&gt;
  &lt;p id=&quot;hUg1&quot;&gt;После окончания курса вариант оставался только один - искать работу&lt;/p&gt;
  &lt;p id=&quot;Zyfb&quot;&gt;На самом первом собеседовании я не ответил и на половину вопросов,и понял что видимо надо еще что-то почитать. Не знаю, как я тогда догадался до этого, но я выписал все вопросы с собеса и реально их подучил. Более того, я решил, что учиться лучше в бою, и придумал себе модный сайт-портфолио, где можно будет потыкать все мини проекты которые я делал. Спустя месяц нонстоп разработки и обучения у меня получилая какая-то дичь, &lt;strong&gt;но она работала&lt;/strong&gt;! Я делал все от начал до конца, от верстки до покупки и деплоя на сервер.&lt;/p&gt;
  &lt;p id=&quot;40tW&quot;&gt;После этого я опять пошел на собеседования и еще два-три разочка на них обосрался. Пробовался я тогда только в РФ компании, то есть меня кто-то даже про диплом спросил. Это меня отпугнуло и я пошел пробовать иностранные вакансии (несмотря на свой низкий уровень английского)&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;H8RK&quot;&gt;Откликаюсь на вакансию, мне дают тестовое задание, спрашивают, сколько времени мне нужно. Как настоящий мужик я говорю - 2 часа.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;OpQg&quot;&gt;Спустя сутки я уже сижу с депрессией не понимая как решить тестовое. В итоге, изнасиловав себя вдоль и поперек, решил его и отправил, надеясь, что его хотя бы посмотрят.&lt;/p&gt;
  &lt;p id=&quot;xgCR&quot;&gt;В итоге его не только посмотрели, но и пригласили на 2 этап собеседования - на техническую часть.&lt;/p&gt;
  &lt;p id=&quot;UScy&quot;&gt;Меня собеседовал очень крутой и лояльный парень, так что прошло очень даже хорошо. Остается 3 этап - собес с руководителем тех отдела на английском языке. Я готовился как мог, смотрел видео по майнкрафту на английском (на тот момент мне 18 лет, напоминаю)&lt;/p&gt;
  &lt;p id=&quot;hTPb&quot;&gt;С огромной натяжкой я веду с ним диалог и прохожу! Меня принимают на мою первую работу - какой то маленький американский стартап. Первая зарплата спустя пол года усилий и обучения - 600 USD в месяц. Это примерно 40-45 тысяч на то время.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Xzp0&quot;&gt;Дальше все пошло сильно проще, потому что самое важное - получить первый коммерческий опыт. Поэтому тут уже буду давать больше фактов и меньше эмоций&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;qisQ&quot;&gt;На этой работе я полгода работаю как junior fullstack за 600usd в месяц. После этого прихожу просить повышения по причине &amp;quot;я вырос над собой, дикий разработчик, могу гугл второй создать&amp;quot; и договариваюсь на небольшое повышение и теперь у меня 820USD в месяц. А на тот момент это уже целых 60к в месяц. Гордость! Так я работаю еще полгода, решаю какие то мелкие задачки и наступает коронавирус. Массовое сокращение, джуны первыми улетают в помойку, меня увольняют.&lt;/p&gt;
  &lt;p id=&quot;ivPl&quot;&gt;Было неприятно, но я понимал, что год опыта у меня уже есть, а это по сути самое важное, чтобы подходить под минимальные требования уже на нормальные вакансии. Я сразу пошел записываться на все возможные собеседования, до которых мог дотянуться. Помню что их было порядка 20-25 штук и в каждом по 3 этапа. Мое расписание дня в тот период выглядело как: проснулся, с технические собесы или подготовка к ним, вечером задачи попроще вроде HR собеседований. Вечером анализируешь, где были пробелы по знаниям, и читаешь, чтобы в следующий раз ответить правильно.&lt;/p&gt;
  &lt;p id=&quot;8Z88&quot;&gt;Из-за короны с трудоустройством все было очень тяжело, и я искал работу месяца три, Но у меня были требования 120к в месяц, (то есть сразу x2 от прошлой зарплаты), удаленка и оформление как самозанятый, чтобы меньше платить налогом. Я был зажравшимся джуном.&lt;/p&gt;
  &lt;p id=&quot;8xSG&quot;&gt;Спустя три месяца я устраиваюсь в одну популярную аутсорс компанию и продолжаю свой путь там. Там я работаю полгода за зп в 120к и понимаю, что хочу попробовать брать какие-то заказы у друзей/знакомых.&lt;/p&gt;
  &lt;p id=&quot;0b53&quot;&gt;Первый заказ получаю через моего друга на разработку сайта для его отца. Я гордо беру его, думая, что я уже далеко не джун, и все могу решить. Итог - я облажался, причем жестко. Результат работы - стыд перед другом и его отцом. До сих пор стыдно&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;LUd1&quot;&gt;Но я все же рад, что тогда не испугался взять заказ, потому что я получил важное знание - пытаться заработать миллиард рублей в месяц, хватая все заказы подряд - плохая идея.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Ayyp&quot;&gt;Еще пол года работы за 120к и я пошел на переоценку моих знаний. По итогу переоценки мне дали 180к и уже уровень миддл-разработчика. Тогда я уже отошел от первого провального стороннего проекта и решил что хочу пробовать еще.&lt;/p&gt;
  &lt;p id=&quot;DmIh&quot;&gt;Взял сразу два маленьких заказа, на простые сайтики. Чуть-чуть бэка, верстка, да и все собственно. Отлично закрываю их, получаю свои деньги. За те два сайта я получил свою месячную зарплату на тот момент.&lt;/p&gt;
  &lt;p id=&quot;ms5E&quot;&gt;Еще пол года работаю за 180к и понимаю, что все. Хочу x2, хочу 300к в месяц! На работе покрутили у виска и подумали &amp;quot;мальчик, ты что, больной&amp;quot;. Но я не обращал внимание и пошел собеседоваться. Спустя 2 собеса я сразу выбил себе 300к в какой-то компании, прихожу к прошлой и говорю, что мне дали столько денег, сколько я хочу, и я ухожу. Меня сразу остановили, предложив 280к, только чтобы я не уходил. Я согласился и радовался, что у меня получилось получить все, что я хотел.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;EE81&quot;&gt;По итогу через месяц меня уволили из-за низкого перфоманса. Не совсем понял как это произошло, ну да ладно.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;AO4e&quot;&gt;Но тут я не растерялся, т.к. опыта собеседований и получения офферов было предостаточно. Я сразу пошел по своему стандартному пути: много собеседований, все время на подготовку и анализ и т.п. Спустя месяц я нашел себе новую аутсорс команию в которой я работаю до сих пор. Причем оффер нашел даже выше чем то, что я искал&lt;/p&gt;
  &lt;p id=&quot;Lzuu&quot;&gt;Итог - сейчас я уже полтора года работаю как сениор фуллстак в этой компании и всем супер доволен. З/п выше рынка, а з/п по рынку вы и сами знаете.&lt;/p&gt;
  &lt;p id=&quot;H6lf&quot;&gt;Вот и все, хэппи энд!&lt;/p&gt;

</content></entry></feed>