<?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>@progway</title><subtitle>Всем привет, если вам интересны уроки по C# и другим it - темам
Одна из интересных особенностей канала это опыт смены языка с Python на C#.</subtitle><author><name>@progway</name></author><id>https://teletype.in/atom/progway</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/progway?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@progway?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/progway?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-22T12:07:38.820Z</updated><entry><id>progway:l7-I38h2z</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/l7-I38h2z?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>media запросы</title><published>2020-09-24T19:03:00.449Z</published><updated>2020-09-24T19:03:00.449Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/dc/ce/dcce544e-4a4a-467b-93ae-a9da7855e8a5.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/dc/ce/dcce544e-4a4a-467b-93ae-a9da7855e8a5.png&quot;&gt;Современная веб-разработка не может обойтись без media-запросов, ведь это самый практичный способ сделать сайт адаптивным. Сегодня предлагаю вам познакомиться с ними и сделать простенькое адаптивное меню</summary><content type="html">
  &lt;p&gt;Современная веб-разработка не может обойтись без media-запросов, ведь это самый практичный способ сделать сайт адаптивным. Сегодня предлагаю вам познакомиться с ними и сделать простенькое адаптивное меню&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/dc/ce/dcce544e-4a4a-467b-93ae-a9da7855e8a5.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;Как это работает?&lt;/h2&gt;
  &lt;p&gt;Как же работает медиа запрос? - По факту, он просто изменяет указанные css-стили в зависимости от указанного свойства.&lt;/p&gt;
  &lt;p&gt;Почему нельзя использовать js функции для масштабирования блоков? - медиа запрос работает мгновенно, в то время как js сначала подгрузить оригинал и только потом его видоизменит&lt;/p&gt;
  &lt;h2&gt;Синтаксис&lt;/h2&gt;
  &lt;p&gt;Медиа запросы прописываются в css файле и имеют довольно логичный синтаксис&lt;/p&gt;
  &lt;pre&gt;@media (свойство) {
    .классы блоков для изменения
}&lt;/pre&gt;
  &lt;p&gt;В целом, все интуитивно понятно. Ключевое слово @madia для объявления запроса, в скобах указывается свойство в зависимости от которого будут меняться стили( в данной статьей мы рассмотрим вариант бального масштабирования, поэтому будем использовать свойство max-width: n px )&lt;/p&gt;
  &lt;p&gt;Ну а в теле запроса указываются стили для определенных html-объектов.&lt;/p&gt;
  &lt;h2&gt;Практика&lt;/h2&gt;
  &lt;p&gt;Теперь предлагаю использовать наши знания на практике, сверстав адаптивное меню&lt;/p&gt;
  &lt;p&gt;P.s. код использован из моей последней работы&lt;/p&gt;
  &lt;p&gt;Разбираться верстку и стили я не вижу смысла поэтому просто покажу исходный код&lt;/p&gt;
  &lt;p&gt;html:&lt;/p&gt;
  &lt;pre&gt;&amp;lt;header&amp;gt;
    &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;
        &amp;lt;nav class=&amp;quot;menu&amp;quot;&amp;gt;
            &amp;lt;ul&amp;gt;
                &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;logo&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;/&amp;quot;&amp;gt;G3&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;/news&amp;quot;&amp;gt;Новости&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;Информация&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;Учительская&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;Наша жизнь&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;Стажировка&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;Медиацентр&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;Файлы&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;menuelems&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;Прочее&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
                &amp;lt;li class=&amp;quot;hiddenmenu&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;/static/img/shortmenu.png&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
            &amp;lt;/ul&amp;gt;
       &amp;lt;/nav&amp;gt;
   &amp;lt;/div&amp;gt;
&amp;lt;/header&amp;gt;&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;blockquote&gt;Вы можете заметить тут li-элемент с классом hiddenmenu, запомните его он пригодится нам в дальнейшей работе&lt;/blockquote&gt;
  &lt;p&gt;css:&lt;/p&gt;
  &lt;pre&gt;header {
    background: rgb(00, 00, 00);
}
ul {
    display: flex;
    list-style-type: none;
}
.container {
    max-width: 1500px;    
    margin: auto 10%;    
    padding-top: 1.5%;    
    padding-bottom: 1.5%;
.menu ul li {
    list-style-type: none;    
    font-size: 17px;    
    width: 15%;    
    padding-right: 1.5%;    
    padding-left: 1.5%;    
    color: white;    
    text-align: center;    
    line-height: 100%;
}
.menu ul li a {
    line-height: none;    
    display: inline-block;    
    vertical-align: middle;    
    text-decoration: none;
}
.menuelems a {
    color: white;    
    font-family: &amp;#x27;Pacifico&amp;#x27;, serif;
}
.logo {
    font-size: 30px;    
    font-family: &amp;#x27;Mrs Sheppards&amp;#x27;, cursive;
}
.logo a {
    color: rgb(105,136,184);
}
.hiddenmenu {
    display: none;    
    float: right;
}
.hiddenmenu a {
    display: inline-block;
    width: 100%;
}
.hiddenmenu a img {
    width: 60%;
}&lt;/pre&gt;
  &lt;blockquote&gt;Еще одно важное правило для веб-разработки - весь контент должен находиться в контейнерах, они помогают контролировать масштаб контента через один стиль&lt;/blockquote&gt;
  &lt;p&gt;И так, что тут следует отметить:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Во-первых, элемент с классом hiddenmenu. В обычно состоянии этого элемента не видно благодаря заданному параметру &lt;strong&gt;display: none&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Во-вторых, для удобства я задал всем элементам меню один стиль, чтобы у них не возникало трудностей с исчезновением&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Теперь начинаем творить волшебство, объявляем media-запрос с условием max-width: 420px. Делать будем адаптив под мобильные устройства. То есть, если экран пользователя меньше или равен 420px( а это чуть больше чем ширина 8 plus ) то стили указанные в теле запроса будут применены.&lt;/p&gt;
  &lt;pre&gt;@media (max-width: 420px ) {
   .menuelems {
       display: none;    
   }    
   .hiddenmenu {
       display: block;        
       margin-left: 55%;    
   }    
   .container {
       padding-top: 3%;        
       margin: auto;    
   }    
   .logo {        
       line-height: 100%;    
   }
}&lt;/pre&gt;
  &lt;p&gt;Примерно так выглядит мой media-запрос, самое главное что здесь происходит - это изменение значения display у menuelems и у hiddenmenu. Как вы помните изначально hiddenmenu у нас был скрыт, а menuelems обладал свойством flex. Сейчас же мы немного изменили ситуацию и скрыли от пользователя menuelems, а вместо него проявили hiddenmenu&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;ВАЖНО&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Медиа-запросы нужно всегда писать в конце css-файла.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Надеюсь я все понятно объяснил, а вот не посредственно результат нашего кода:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/02/c4/02c4f9d2-be87-4c9f-8e04-a4e615477362.png&quot; width=&quot;1903&quot; /&gt;
    &lt;figcaption&gt;Стандартная версия&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/dd/3b/dd3b9dc7-a66c-4e5a-abde-bd5137854256.png&quot; width=&quot;415&quot; /&gt;
    &lt;figcaption&gt;Адаптивная версия&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Если вам был интересен и полезен урок, то дайте знать фит-бэком)&lt;/p&gt;
  &lt;p&gt;Удачи, программисты!&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/91/91/91913194-33e7-4e5d-923f-b6644ada79ce.jpeg&quot; width=&quot;2500&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>progway:tmBV57DqT</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/tmBV57DqT?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Weekly log #2</title><published>2020-09-20T12:51:49.183Z</published><updated>2020-09-20T12:51:49.183Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/3d/fc/3dfc40b3-8ba3-4484-ac51-3ef9adc7e952.jpeg"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/3d/fc/3dfc40b3-8ba3-4484-ac51-3ef9adc7e952.jpeg&quot;&gt;Всех приветствую, извиняюсь за столь долгое отсутствие. Объяснить его могу только хорошей погодой и школой, из-за этих двух факторов я стал больше гулять и меньше уделять время коду. А про телеграмм вообще молчу..</summary><content type="html">
  &lt;p&gt;Всех приветствую, извиняюсь за столь долгое отсутствие. Объяснить его могу только хорошей погодой и школой, из-за этих двух факторов я стал больше гулять и меньше уделять время коду. А про телеграмм вообще молчу..&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/3d/fc/3dfc40b3-8ba3-4484-ac51-3ef9adc7e952.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;И так, что я сделал за эти 2 недели, если честно почти нихуя :)&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Я сверстал один лендинг для портфолио &lt;/li&gt;
    &lt;li&gt;Понял, что отзываться на заказы пока что смысла нет. Во-первых, я пока что реально не готов. А во-вторых нужно хотя бы 10 - 15 работ в портфолио, без этого никак&lt;/li&gt;
    &lt;li&gt;Начал разбираться с медиа-запросами, так как без адаптива в этом мире никуда. В целом все легко и просто, думаю запилить вам статейку о медиа-запросах с небольшой практической частью.&lt;/li&gt;
    &lt;li&gt;Отобрал несколько ВУЗов, сейчас буду следить за их олимпиадами и принимать в них участие.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;На данный момент я пишу сайт для школы( это работа для портфолио если что ), который планирую доделать до конца. То есть не только верстку и анимации, но и бэкенд завести. Все таки про node.js забывать нельзя его тоже нужно тренить.&lt;/p&gt;
  &lt;p&gt;Хочу еще раз поставить себе цели на сентябрь-октябрь. Как по-мне с ними лучше понимаешь что именно нужно делать.&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Заполнить портфолио. Хотя бы создать 10 разнообразных работ, если вам нужен какой-то сайт. То пишите в лс сделаю все максимально дешево, при условии что разрешите разместить работу в портфолио&lt;/li&gt;
    &lt;li&gt;Выучить какой-то фронтенд фреймворк до среднего уровня. Скорее всего это будет React&lt;/li&gt;
    &lt;li&gt;Делать минимум одну статью в две недели помимо отчетов.&lt;/li&gt;
    &lt;li&gt;Постараться добить 1000 подписчиков в телеграмме&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;С понедельника начну работать по времени, чтобы все успевать и при этом уделять время как учебе в школе, так и саморазвитию. Спасибо всем кто остается тут, не смотря на мое отсутствие.&lt;/p&gt;
  &lt;p&gt;На этом все,&lt;br /&gt;Удачи программисты!&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/91/91/91913194-33e7-4e5d-923f-b6644ada79ce.jpeg&quot; width=&quot;2500&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>progway:-6h6gv6qz</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/-6h6gv6qz?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Weekly log #1</title><published>2020-09-06T19:18:14.932Z</published><updated>2020-09-06T19:18:14.932Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/3d/fc/3dfc40b3-8ba3-4484-ac51-3ef9adc7e952.jpeg"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/3d/fc/3dfc40b3-8ba3-4484-ac51-3ef9adc7e952.jpeg&quot;&gt;Всех приветствую, вот и прошла первая учебная неделя. В школе сейчас творится полный хаус из-за пандемии и новой учебной программы. Если вдаваться в подробности, то мы первая паралель у которой будет четкое разделение по профильным предмета, из-за этого у класса порой получается два урока в одно время, а это приводит к нехватке учителей и кабинетов. Плюс еще и пандемия... Вообщем, одним словом пиздец.</summary><content type="html">
  &lt;p&gt;Всех приветствую, вот и прошла первая учебная неделя. В школе сейчас творится полный хаус из-за пандемии и новой учебной программы. Если вдаваться в подробности, то мы первая паралель у которой будет четкое разделение по профильным предмета, из-за этого у класса порой получается два урока в одно время, а это приводит к нехватке учителей и кабинетов. Плюс еще и пандемия... Вообщем, одним словом пиздец.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/3d/fc/3dfc40b3-8ba3-4484-ac51-3ef9adc7e952.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;Отчет&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Сейчас активно занимаюсь фрилансом. Верстаю работы для портфолио и отвечаю на все заявки, которые смогу осилить, пока что никто не откликнулся НО ВСЕ ВПЕРЕДИ.&lt;br /&gt;На этой неделе сверстал два лендинга. Один на тему балльных танцев, а второй для магазина автозапчастей. В целом получилось неплохо, но есть куда расти&lt;/li&gt;
    &lt;li&gt;Начал активно изучать тему вузов. Даже екселевский файл для этого создал, пока что топ три в списке желаний это СПБГу, ИТМО и Питерский политех. Да-да, я хочу свалить в питер&lt;/li&gt;
    &lt;li&gt;Про школу упомянул, пока что ничего нового, но год обещает быть интересным. Так как у меня полностью убрали из программы химию, биологию, географию и второй ин яз, и компенсировали это 6 часами математики,  4 информатики и 5 физики. Класс!&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;На следующей неделе продолжу делать работы в портфолио, еще хочу попробовать сделать одну анимацию на Js. Если получится замучу вам урок :D&lt;/p&gt;
  &lt;p&gt;Удачи, программисты!&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/91/91/91913194-33e7-4e5d-923f-b6644ada79ce.jpeg&quot; width=&quot;2500&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>progway:tYFicHiOG</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/tYFicHiOG?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Подводим итоги 2-ух месячного марафона</title><published>2020-08-31T18:48:51.953Z</published><updated>2020-08-31T18:51:48.855Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/f8/d3/f8d3c1d0-4193-4617-b0b3-ff17943fa533.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/75/96/759673d4-4933-4f0a-8c5b-1b739dba22c4.jpeg&quot;&gt;Привет друзья! Сегодня 31 августа, а это говорит о том что мой марафон окончен и сейчас я хочу подвести его итоги.</summary><content type="html">
  &lt;p&gt;Привет друзья! Сегодня 31 августа, а это говорит о том что мой марафон окончен и сейчас я хочу подвести его итоги.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/75/96/759673d4-4933-4f0a-8c5b-1b739dba22c4.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Цели, которые я ставил вы можете посмотреть здесь - &lt;a href=&quot;https://teletype.in/@progway/JlajR-21O&quot; target=&quot;_blank&quot;&gt;https://teletype.in/@progway/JlajR-21O&lt;/a&gt; А сейчас я расскажу о том как проходил этот марафон и как я изменился после него.&lt;/p&gt;
  &lt;p&gt;Ну во-первых, любые цели мотивируют тебя работать. Так же это случилось и со мной, последние два месяца я писал код примерно по 5-8 часов в день и это дало свои плоды:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Я закончил 3 проекта. Морской бой, Блог и телеграм бот( о нем расскажу в ближайшие дни в отчете )&lt;/li&gt;
    &lt;li&gt;Из-за интенсивной работы я сильно импрувнулся, если раньше сверстать лэндинг с формой регистрации и админ панелью для меня было сложной, объемной задачей. То сейчас я выполняю это за 3-4 дня под музычку и даже особо не напрягаясь( ладно я пизжу, баги бывают везде и всегда не зависимо от того насколько ты импрувнулся ). Для примера, верстка блога у меня заняла дня 3, а лендинг для портфолио я сверстал часов за 7 непрерывной работы&lt;/li&gt;
    &lt;li&gt;Я начал выходить на фриланс. Пунктом выше упомянул, что сейчас нахожусь в стадии заполнения портфолио и отвечаю на каждый заказ, который смогу выполнить.&lt;/li&gt;
    &lt;li&gt;По-мимо программирования я развивал свой телеграмм канал и за время марафона объем нашего комьюнити вырос примерно на 280 человек. До тысячи нам осталось меньше 150 участников, поэтому планирую преодолеть эту отметку к концу сентября.&lt;/li&gt;
    &lt;li&gt;Про спорт и режим особо разглагольствоваться не буду, просто хочу сказать, что стал вести более правильный образ жизни. И это реально увеличило мою продуктивность, то есть правильный режим сна, спорт и питания безумно сильно влияет на продуктивность в любой занятости.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;Что будет дальше?&lt;/h3&gt;
  &lt;p&gt;Раз уж я взялся я объемную разговорную статью, то предлагаю поднять тему контента и моей занятости в ближайшие 9 месяцев.&lt;/p&gt;
  &lt;p&gt;Кто не знал мне 16, поэтому я пойду в 10 класс =&amp;gt; у меня будет примерно в 2 раза меньше времени на канал и программирование. Все это я говорю к сокращению кол-ва постов в телеге... Скорее всего они будут выходить раз в неделю( обязательно ) и время от времени чаще.&lt;/p&gt;
  &lt;p&gt;Про контент. Это преимущественно будут отчеты по типу постов под #марафон, только сейчас это станет weekly_logами. Так же хотя бы раз в месяц-два буду брать интервью( возможно они будут браться в дискорде и публиковаться на ютубе в виде подкастов ), ну и делать образовательный контент по мере его надобности.&lt;/p&gt;
  &lt;p&gt;Вообщем, все будет так же круто. Просто приоритет программирования больше, чем у телеграма и думаю это логично :)&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Как-то так, увидимся через неделю&lt;br /&gt;Удачи, программисты!&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/91/91/91913194-33e7-4e5d-923f-b6644ada79ce.jpeg&quot; width=&quot;2500&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>progway:5NcSAdaWn</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/5NcSAdaWn?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Deploy node.js приложения на heroku</title><published>2020-08-27T11:13:37.503Z</published><updated>2020-08-27T11:28:35.636Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/85/b0/85b0cbd7-3797-4703-8cdb-c6bfce6cde09.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/f7/57/f75759aa-0294-4e1e-b678-8f57f0e9bc4d.png&quot;&gt;Привет, ребят! Сегодня мы поговорим о безусловно важной вещи в веб-программировании, а именно о деплое приложения на хостинг.</summary><content type="html">
  &lt;p&gt;Привет, ребят! Сегодня мы поговорим о безусловно важной вещи в веб-программировании, а именно о деплое приложения на хостинг.&lt;/p&gt;
  &lt;p&gt;В качестве хостинга мы будем использовать heroku, так как он бесплатный. &lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f7/57/f75759aa-0294-4e1e-b678-8f57f0e9bc4d.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;И так, для начала нам нужно пройти регистрацию на &lt;a href=&quot;http://heroku.com&quot; target=&quot;_blank&quot;&gt;сайте&lt;/a&gt; Она там банальная, так что не вижу смысла ее демонстрировать.&lt;/p&gt;
  &lt;p&gt;В корне вашего проекта создайть файл .gitignore со следующим содержимым:&lt;/p&gt;
  &lt;pre&gt;node_moduls&lt;/pre&gt;
  &lt;p&gt;Все папки и файлы записанные в этот список не будут добавляться в git-репозиторий&lt;/p&gt;
  &lt;p&gt;После регистрации заходим в консоль и открываем папку нашего приложения. Теперь прописываем следующие команды:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;code&gt;heroku login&lt;/code&gt; - после чего нужно будет нажать на любую клавишу кроме &amp;quot;q&amp;quot; и залогиниться на открывшемся в браузере окне&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;git init&lt;/code&gt; - инициализируем локальный git-репозиторий в проекте&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;git add . &lt;/code&gt;- добавляем все файлы&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;git commit -m &amp;quot;Ваша комментарий&amp;quot;&lt;/code&gt; - заливаем все в репозиторий&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Теперь нужно перейти по этой ссылке &lt;a href=&quot;https://dashboard.heroku.com/apps&quot; target=&quot;_blank&quot;&gt;https://dashboard.heroku.com/apps&lt;/a&gt; и создать новое приложение( кнопка в правом верхнем углу ). После чего оно появится в списке ваших проектов, теперь нажимаем на него и переходим в пункт deploy&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8e/cb/8ecbcf96-5a8c-4e2d-8f91-4ec46b462619.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote&gt;Далее команды будут немного расходится с вашими, так как мы будем использовать разные heroku-проекты. Поэтому копируйте ваш код и используйте его со мной в одном порядке&lt;/blockquote&gt;
  &lt;p&gt;Теперь клонируем все на наш удаленный репозиторий:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;code&gt;heroku git:remote -a progwaytest&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;И пушим его на сам хост:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;code&gt;git push heroku master&lt;/code&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Прописываем в консоль heroku open и наслаждаемся рабочим приложением.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;На этом все,&lt;/p&gt;
  &lt;p&gt;Удачи программисты!&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/91/91/91913194-33e7-4e5d-923f-b6644ada79ce.jpeg&quot; width=&quot;2500&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>progway:-fMcU6BIB</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/-fMcU6BIB?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Анимация на ванильном js</title><published>2020-08-08T11:05:53.842Z</published><updated>2020-08-08T11:08:29.295Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/16/03/1603df59-3e6e-4c98-8035-3805b592e3e6.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/cb/b5/cbb5e1e6-0eb4-4352-b5a2-f193f82ed9d0.png&quot;&gt;Всех приветствую, сегодня хочу рассказать как я сделал первую в своей жизни анимацию на javascript. Думаю можно начинать без лишних слов</summary><content type="html">
  &lt;p&gt;Всех приветствую, сегодня хочу рассказать как я сделал первую в своей жизни анимацию на javascript. Думаю можно начинать без лишних слов&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/cb/b5/cbb5e1e6-0eb4-4352-b5a2-f193f82ed9d0.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;Теория&lt;/h3&gt;
  &lt;p&gt;Наша анимация будет работать при помощи интервального вызова одной функции, которая в свою очередь задает новый класс для hr полоски.&lt;/p&gt;
  &lt;p&gt;Кстати, анимация у нас будет накладываться на hr, расположенный под блоком меню.&lt;/p&gt;
  &lt;h3&gt;Практика&lt;/h3&gt;
  &lt;p&gt;Сейчас я покажу вам верстку, стили и js файл моего меню. Начнем мы с верстки и думаю здесь рассказывать нечего&lt;/p&gt;
  &lt;pre&gt;&amp;lt;nav class=&amp;quot;menu&amp;quot; id=&amp;quot;menu&amp;quot;&amp;gt;
    &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;logo&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;/&amp;quot;&amp;gt;
            &amp;lt;ul&amp;gt;
                &amp;lt;h1&amp;gt;&amp;lt;span class=&amp;quot;prog&amp;quot;&amp;gt;Prog&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;way&amp;quot;&amp;gt;Way&amp;lt;/span&amp;gt;&amp;lt;/h1&amp;gt;
            &amp;lt;/ul&amp;gt;&amp;lt;/a&amp;gt;
        &amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a onmouseover=&amp;quot;animation(&amp;#x27;soft&amp;#x27;, &amp;#x27;over&amp;#x27;)&amp;quot; onmouseout=&amp;quot;animation(&amp;#x27;soft&amp;#x27;, &amp;#x27;out&amp;#x27;)&amp;quot; class=&amp;quot;amenu&amp;quot; href=&amp;quot;/soft&amp;quot;&amp;gt;Софт&amp;lt;/a&amp;gt;&amp;lt;hr class=&amp;quot;step0&amp;quot; id=&amp;quot;soft&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a onmouseover=&amp;quot;animation(&amp;#x27;quizs&amp;#x27;, &amp;#x27;over&amp;#x27;)&amp;quot; onmouseout=&amp;quot;animation(&amp;#x27;quizs&amp;#x27;, &amp;#x27;out&amp;#x27;)&amp;quot; class=&amp;quot;amenu&amp;quot; href=&amp;quot;/quizs&amp;quot;&amp;gt;Задачи&amp;lt;/a&amp;gt;&amp;lt;hr class=&amp;quot;step0&amp;quot; id=&amp;quot;quizs&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;            
        &amp;lt;li&amp;gt;&amp;lt;a onmouseover=&amp;quot;animation(&amp;#x27;posts&amp;#x27;, &amp;#x27;over&amp;#x27;)&amp;quot; onmouseout=&amp;quot;animation(&amp;#x27;posts&amp;#x27;, &amp;#x27;out&amp;#x27;)&amp;quot; class=&amp;quot;amenu&amp;quot; href=&amp;quot;/posts&amp;quot;&amp;gt;Статьи&amp;lt;/a&amp;gt;&amp;lt;hr class=&amp;quot;step0&amp;quot; id=&amp;quot;posts&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
&amp;lt;/nav&amp;gt;&lt;/pre&gt;
  &lt;p&gt;Теперь рассмотрим стили&lt;/p&gt;
  &lt;pre&gt;.menu {
    display: block;    
    width: 100%;    
    padding-bottom: 0;    
    box-shadow: 0px 15px 5px 10px #272933;  
}

ul {
    list-style: none;
    margin: 0% 0%;
}

.menu li {
    padding-top: 1em;
    width: 100%;    
    text-align: center;
}

.menu ul {
    display: flex;      
    background: #18171c;    
    padding-left: 15%;    
    padding-right: 15%;    
    height: 100%;
}

.menu a {
    height: 100%;    
    display: block;    
    color: white;    
    font-weight: bold;    
    background: #18171c;    
    text-decoration: none;    
    font-size: 18px;
}

.menu li {
    width: 15%;    
    padding-left: 4.3%;    
    height: 100%;    
    text-align: center;    
    vertical-align: middle;
}

.amenu {
    padding-top: 4%;    
    font-family: &amp;#x27;Didact Gothic&amp;#x27;, sans-serif;
}

.prog {
    color: white;    
    font-size: 25px;
}

.way {
    color: #9966cc;    
    font-size: 25px;
}

.step0 {
    width: 0%;
}

.step1 {
    width: 10%;
}

.step2 {
    width: 20%;
}

.step3 {
    width: 30%;
}

.step4 {
    width: 40%;
}

.step5 {
    width: 50%;
}

.step6 {
    width: 60%;
}

.step7 {
    width: 70%;
}
 
.step8 {
     width: 80%;
}
 
.step9 {
    width: 90%;
}

.step10 {
    width: 100%;
}&lt;/pre&gt;
  &lt;p&gt;А сейчас самое интересное... JAVASCRIPT код, но перед этим предлагаю подробнее рассмотреть верстку отдельного элемента меню&lt;/p&gt;
  &lt;pre&gt;&amp;lt;li&amp;gt;&amp;lt;a onmouseover=&amp;quot;animation(&amp;#x27;soft&amp;#x27;, &amp;#x27;over&amp;#x27;)&amp;quot; onmouseout=&amp;quot;animation(&amp;#x27;soft&amp;#x27;, &amp;#x27;out&amp;#x27;)&amp;quot; class=&amp;quot;amenu&amp;quot; href=&amp;quot;/soft&amp;quot;&amp;gt;Софт&amp;lt;/a&amp;gt;&amp;lt;hr class=&amp;quot;step0&amp;quot; id=&amp;quot;soft&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;&lt;/pre&gt;
  &lt;p&gt;Элементу &amp;lt;a&amp;gt; мы задаем функцию &lt;strong&gt;animation &lt;/strong&gt;в аргументы &lt;strong&gt;onmouseover &lt;/strong&gt;и &lt;strong&gt;onmouseout&lt;/strong&gt;. А функция в свою очередь принимает id hr-а( будет нужен для выбора определенного hr ) и over/out( это будет влиять на одно из условий в функции )&lt;/p&gt;
  &lt;p&gt;Элементу &amp;lt;hr&amp;gt; мы изначально задаем класс step0 и id, в моем случае это &amp;quot;soft&amp;quot;.&lt;/p&gt;
  &lt;p&gt;Теперь перейдем в javascript-файл и изучим код функции&lt;/p&gt;
  &lt;pre&gt;var timerover;
var timerout;
function animation(id, where) {
    var hr = document.getElementById(id)
    if (where == &amp;quot;over&amp;quot;){
        clearInterval(timerout)
        timerover = setInterval(morewidth, 20);
        
        function morewidth(){
            var classnow = hr.className
            if (classnow == &amp;quot;step0&amp;quot;){
                hr.className = &amp;quot;step1&amp;quot;
            } else if (classnow == &amp;quot;step1&amp;quot;){
                hr.className = &amp;quot;step2&amp;quot;
            } else if (classnow == &amp;quot;step2&amp;quot;){
                hr.className = &amp;quot;step3&amp;quot;            
            } else if (classnow == &amp;quot;step3&amp;quot;){
                hr.className = &amp;quot;step4&amp;quot;
            } else if (classnow == &amp;quot;step4&amp;quot;){
                hr.className = &amp;quot;step5&amp;quot;            
            } else if (classnow == &amp;quot;step5&amp;quot;){                
                hr.className = &amp;quot;step6&amp;quot;            
            } else if (classnow == &amp;quot;step6&amp;quot;){                
                hr.className = &amp;quot;step7&amp;quot;            
            } else if (classnow == &amp;quot;step7&amp;quot;){                
                hr.className = &amp;quot;step8&amp;quot;            
            } else if (classnow == &amp;quot;step8&amp;quot;){                
                hr.className = &amp;quot;step9&amp;quot;            
            } else if (classnow == &amp;quot;step9&amp;quot;){                
                hr.className = &amp;quot;step10&amp;quot;                
                clearInterval(timerover)
            }
        }
    } else if (where == &amp;quot;out&amp;quot;) {
        clearInterval(timerover)
        timerout = setInterval(lesswidth, 20);
        
        function lesswidth(){
            var classnow = hr.className
            if (classnow == &amp;quot;step10&amp;quot;){
                hr.className = &amp;quot;step9&amp;quot;
            } else if (classnow == &amp;quot;step9&amp;quot;){                
                hr.className = &amp;quot;step8&amp;quot;            
            } else if (classnow == &amp;quot;step8&amp;quot;){                
                hr.className = &amp;quot;step7&amp;quot;            
            } else if (classnow == &amp;quot;step7&amp;quot;){                
                hr.className = &amp;quot;step6&amp;quot;            
            } else if (classnow == &amp;quot;step6&amp;quot;){                
                hr.className = &amp;quot;step5&amp;quot;            
            } else if (classnow == &amp;quot;step5&amp;quot;){                
                hr.className = &amp;quot;step4&amp;quot;            
            } else if (classnow == &amp;quot;step4&amp;quot;){                
                hr.className = &amp;quot;step3&amp;quot;            
            } else if (classnow == &amp;quot;step3&amp;quot;){                
                hr.className = &amp;quot;step2&amp;quot;            
            } else if (classnow == &amp;quot;step2&amp;quot;){                
                hr.className = &amp;quot;step1&amp;quot;            
            } else if (classnow == &amp;quot;step1&amp;quot;){                
                hr.className = &amp;quot;step0&amp;quot;                
                clearInterval(timerout)            
            }
        }    
    } 
}&lt;/pre&gt;
  &lt;p&gt;Давайте по порядку:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;В самом начале мы создаем 2 переменных: timerover и timerout. Они нам нужны для начала и завершения интервалов.&lt;/li&gt;
    &lt;li&gt;Потом уже в теле функции мы задаем проверку на аргумент &amp;quot;where&amp;quot;( предлагаю изучить первое ответвление, так как второе почти полностью индентично )&lt;/li&gt;
    &lt;li&gt;Здесь мы отчищаем timerout и запусткаем интервал timerover. В аргумент интервала передаем функцию( в данном случае morewidth, и частоту запуска 20мс )&lt;/li&gt;
    &lt;li&gt;Теперь приступим к функции morewidth. Тут мы получаем класс hr на данный момент и проверяем его. При выполнении условия мы меняем его класс, тем самым увеличивая width элемента на 10%. И если доходим до step10 отчищаем интервал.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;strong&gt;ВАЖНО&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Не забывайте чистить интервал, иначе две функции буду противодействовать друг другу.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h3&gt;Итог&lt;/h3&gt;
  &lt;p&gt;Это один из вариантов реализации анимации, я показал как это сделать именно на ванильном javascript&amp;#x60;е. А что у нас получилось можете посмотреть в моем &lt;a href=&quot;https://t.me/TheProgWay/270&quot; target=&quot;_blank&quot;&gt;телеграм канале&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;На сегодня все,&lt;br /&gt;Удачи, программисты!&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/91/91/91913194-33e7-4e5d-923f-b6644ada79ce.jpeg&quot; width=&quot;2500&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>progway:0fPrC8CfH</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/0fPrC8CfH?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Мой софт для программирования</title><published>2020-08-06T20:31:14.010Z</published><updated>2020-08-06T20:33:08.827Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/0c/e2/0ce22272-876d-4891-9d85-feeb09ca0ad6.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/63/fb/63fb3dd9-5815-4d74-8284-f90a8ab7b86c.png&quot;&gt;Всех приветствую, вы просили - я рассказываю. Сегодня расскажу вам о 4-ех программах, которые я запускаю почти каждый день.</summary><content type="html">
  &lt;p&gt;Всех приветствую, вы просили - я рассказываю. Сегодня расскажу вам о 4-ех программах, которые я запускаю почти каждый день.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/63/fb/63fb3dd9-5815-4d74-8284-f90a8ab7b86c.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;ConEmu&lt;/h3&gt;
  &lt;p&gt;Программисты это те люди, который пользуются командной строкой и всех этим пугают... Но стандартная cmd у винды безумно не удобная, как минимум в ней нельзя пользоваться комбинациями клавиш!!!&lt;/p&gt;
  &lt;p&gt;Поэтому я предлагаю вам очень крутую замену - ConEmu. Это очень удобный аналог cmd, который вы можете полностью настроить под себя:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Надоел черный фон? - Легко, в conemu можно сделать кастомный фон&lt;/li&gt;
    &lt;li&gt;Нужно несколько окон, но между ними бесит перемещаться? - Каждое новое окно будет отображаться во вкладках.&lt;/li&gt;
    &lt;li&gt;Часть пользуетесь комбинациями клавиш? - Вуаля, здесь можно все!!!&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;И это только самый важные настройки для меня. Так что всем советую&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://conemu.ru/ru/&quot; target=&quot;_blank&quot;&gt;https://conemu.ru/ru/&lt;/a&gt;&lt;/p&gt;
  &lt;h3&gt;VS Code&lt;/h3&gt;
  &lt;p&gt;Да, это возможно не совсем то что вы ожидали. Но я хочу рассказать пожалуй о самым лучшем редакторе кода( из всех что я пробовал ). Из плюсов это приятный дизайн( как по мне это очень важно, ведь в программе вы будите сидеть почти 24/7). А второй плюс, это ОГРОМНОЕ КОЛ-ВО плагинов, которыми вы можете настроить vscode полностью под себя&lt;/p&gt;
  &lt;h3&gt;Colormania&lt;/h3&gt;
  &lt;p&gt;Если вы верстаете сайты, то вы 100% нуждаетесь в красивых цветах. Это приложение поможет получить вам, любой нужный вам цвет во всех форматах.&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://colormania.ru.uptodown.com/windows&quot; target=&quot;_blank&quot;&gt;https://colormania.ru.uptodown.com/windows&lt;/a&gt;&lt;/p&gt;
  &lt;h3&gt;Subcolor&lt;/h3&gt;
  &lt;p&gt;Это не совсем софт, но я этим пользуюсь очень часто. Этот сайт позволит вам создать градиет цветов, для использования во фронтенд разработке.&lt;/p&gt;
  &lt;p&gt;Сам сайт - &lt;a href=&quot;https://subcolor.github.io/&quot; target=&quot;_blank&quot;&gt;https://subcolor.github.io/&lt;/a&gt;&lt;/p&gt;
  &lt;h3&gt;Workbench&lt;/h3&gt;
  &lt;p&gt;Если вы веб-разработчик, то 100% работаете с базами данных. В том же самом node.js или asp.net таблицы можно создавать непосредственно в коде, но как по мне это не удобно.&lt;/p&gt;
  &lt;p&gt;Поэтому я предлагаю вам приложение Workbench, в котором вы с можете работать с вашей базой данных напрямую через язык mysql. Даже если вы не знаете этот язык, вы выучите его за 5 секунд. ЭТО ПРОСТО АНГЛИЙСКИЙ&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://dev.mysql.com/downloads/workbench/&quot; target=&quot;_blank&quot;&gt;https://dev.mysql.com/downloads/workbench/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Вот такой вот список, если вы нашли для себя что-то полезное - поставьте лайк &amp;lt;3&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/91/91/91913194-33e7-4e5d-923f-b6644ada79ce.jpeg&quot; width=&quot;2500&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>progway:p_0eIl7pB</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/p_0eIl7pB?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Split Strings решение</title><published>2020-07-29T20:32:42.297Z</published><updated>2020-07-29T20:48:42.044Z</updated><summary type="html">И так, эта задача уже посложнее... Приступим!</summary><content type="html">
  &lt;p&gt;И так, эта задача уже посложнее... Приступим!&lt;/p&gt;
  &lt;p&gt;Изначально нам нужно проверить четное или не четное кол-во элементов хранит наша строка.&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Если в строке четное кол-во символов, то запускаем цикл с шагом в 2 единицы и в итоговый массив добавляем пару символов. Номер шага и номер шага + 1&lt;/li&gt;
    &lt;li&gt;А если результат проверки обратный, мы опять же запускаем цикл с шагом в 2 единицы. Но каждый шаг проверяем typeof(i + 1 элемент) на то что он undefined. Если приравнен создаем пару элемент [шаг] и &amp;quot;_&amp;quot;. В обратном случае, идем по плану сверху указанного кода.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Вот код функции:&lt;/p&gt;
  &lt;pre&gt;function solution(str){
  var res = []
  var midres = &amp;quot;&amp;quot;;
  if (str.length % 2 == 0){
    for (var i = 0; i &amp;lt; str.length; i = i + 2){
      midres = str[i] + str[i + 1]
      res.push(midres)
    }
  } else if (str.length % 2 != 0){
    for (var i = 0; i &amp;lt; str.length; i = i + 2){
      if (typeof(str[i + 1])== &amp;quot;undefined&amp;quot;){
        midres = str[i] + &amp;quot;_&amp;quot;
        res.push(midres)
      } else {
        midres = str[i] + str[i + 1]
        res.push(midres)
      }
    }
  }
  return res
}&lt;/pre&gt;

</content></entry><entry><id>progway:v1GE7ErJI</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/v1GE7ErJI?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>Does my number look big in this? Решение</title><published>2020-07-27T20:41:28.050Z</published><updated>2020-07-27T20:41:28.050Z</updated><summary type="html">И так, нам в функцию дается число. Нам нужно каждый его элемент возвести в кол-во элементов числа и сложить все это</summary><content type="html">
  &lt;p&gt;И так, нам в функцию дается число. Нам нужно каждый его элемент возвести в кол-во элементов числа и сложить все это&lt;/p&gt;
  &lt;p&gt;Нам нужно в локальную переменную передать конвертированное в строку value. После чего запустить цикл, каждый элемент возводить в степень длинны строки и добавлять в локальный res&lt;/p&gt;
  &lt;p&gt;В конце проверять равенство res и value, и в зависимости от этого возвращать true/false&lt;/p&gt;
  &lt;pre&gt;function narcissistic(value) {
  var sval = String(value)
  var res = 0;
  for (var i= 0; i &amp;lt; sval.length; i++){
    res += Math.pow(sval[i], sval.length)
  }
  if (res == value){
    return true
  } else {
    return false
  }
}&lt;/pre&gt;

</content></entry><entry><id>progway:DSD38s6A8</id><link rel="alternate" type="text/html" href="https://teletype.in/@progway/DSD38s6A8?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=progway"></link><title>List Filtering решение</title><published>2020-07-24T19:23:21.853Z</published><updated>2020-07-24T19:23:21.853Z</updated><summary type="html">И так, приступим к решению. По условию нам дается массив с двумя типами данных:</summary><content type="html">
  &lt;p&gt;И так, приступим к решению. По условию нам дается массив с двумя типами данных:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Строки&lt;/li&gt;
    &lt;li&gt;Числа&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Поэтому мы будем получать массив, затем перебирать его при помощи for и проверять тип каждого элемента( это мы будем делать при помощи функции typeof() )&lt;/p&gt;
  &lt;p&gt;Ну а если этот элемент является числом, то добавляем его в итоговый массив.&lt;/p&gt;
  &lt;pre&gt;function filter_list(l) {
    var res = []
    for (var i = 0; i &amp;lt; l.length; i++){
      if (typeof(l[i]) == &amp;quot;number&amp;quot;){
        res.push(l[i])
      }
    }
    return res
}&lt;/pre&gt;

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