Web Developer Way
61 subscribers
37 photos
3 videos
3 files
150 links
@aymkin way to become a web developer
Download Telegram
Forwarded from Oleksandr Naumkin
Привет Коттаны)

Я мяукаю изо всех сил, чтоб перобутся в коттаны. В темной, несознательной части моей жизни успел побывать: посудомойщиком, официантом, уборщиком, директором хостела, совладельцем http://easyms.co/ ...
Теперь, оглядываясь назад, я понимаю, что каждый из этих этапов был необходим для осознания - я хочу быть только веб разработчиком.
Встал на путь просветления в ноябре 2018 года, можно сказать с нуля. Был на Хекслете немного. Потом посмотрел в сторону Коттанов и... не смог оторваться!

Котики, спасибо, что вы есть!
=(^-^)=
Инструкция утверждает, что выполнение этого пункта занимает 4-5 часов.
У меня получилось 16. То есть в четыре (!4!), Карл, больше раза, чем норматив. Интересно, у кого то из обычных людей получилось так?
Тут должен заметить два пункта:

1. Я точно знаю сколько времени я провел за написанием кода для алгоритма. В этом помогет расширение для VScode, которое считает статистику по проектам, вплоть до минуты.
https://wakatime.com/

2. Время работы надо проектом больше норматива еще из-за того, что прежде писания кода - я писал тесты. Думаю что всего написание тестов заняло + настройка среды заняло около трех часоов для всех 16 заданий.
https://github.com/aymkin/algoritmsFcc
FreeCodeCamp один из лучших ресурсов для изучения JS, именно поэтому значительная часть программы Коттанов состоит из элементов FCC.

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

Удивляет... Выносит мозг... Заставляет эксперементировать...
Счастье есть!

В этом может убедится каждый, кто за один день впервые попробовал:
* испльзовать методы map, reduce, filter, every, some
* в решениях задач использовал регулярные выражения
* смог написать функцию, использующую каррирование
* без подсказки пишет функции типа
const urlSlug = (title) => title.toLowerCase().trim().split(/\W\s*/).join('-');
Quokka.js - запускает код в фоне сразу по мере ввода и отображает различные результаты выполнения прямо в редакторе кода.

https://quokkajs.com/
Если вы вдруг занимаетесь по туториалу Коттанов, то настоятельно рекомендую перед Algorithm Scripting Challenges в разделе JavaScript Basics изучить Регулярные выражения. Без них переходить за красную черту нет смысла.

https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/regular-expressions
Основы функционального программирования JS:
- читсые функции (детерминированные и без побочных эффектов)
- неизменяемость входных параметров функции (иммутабельность данных)
- использование функций выслего порядка (функции, которые в качестве параметров принимают другие функции)
- использование методов массива вместо for (forEach, map, every, some, reduce, filter...)
- стрелочные функции (стрелочный синтаксис)

Чуть больше тут: https://youtu.be/AKzrO5y0B2E
и тут: https://proglib.io/p/fp_basics/
Есть шансы прокачать скилы от напрямую от профессионалов:
@itkpi_mentor_bot
Студенты и профессионалы не понимают друг друга... Что я имею ввиду?

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

2. У профессионалов нейронных связей много, у новичков - мало. Поэтому и сама механника запоминания - разная. Поэтоу профи, обучая новичка, ожидает от него слишком многого. Профи: "И вообще, что тут не понятного?". Новичек:"Все". Профи не понимает как возможно не понимать "такие простые вещи".

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

4. Учеба должна быть совместной, групповой. Каждый твой "сосед" или подтягивет тебя или подтягивешь ты его. Причем пользу от этого получают сразу все: и турник и тот, кто на нем подтягивается.

Спасибо сообществу Коттанов, которые помогают таким образом друг другу.
=(^-^)=
Согласно исследованию Spotify, проведенному в 2014 году, 61% людей слушают музыку во время работы - в основном, чтобы оставаться сосредоточенным и заглушать окружающий шум.

Музыка для кодеров тут https://www.youtube.com/freecodecamp/live
Статья о стриме музыки freeCodeCamp: https://medium.freecodecamp.org/introducing-24-7-freecodecamp-radio-chill-tunes-you-can-code-to-dbae61681cf0
Разработчики в [easyms](@easymsnews) для мобильной версии использовали preact

Скорость работы веб приложения на уровне нативного, то есть очень-очень быстро.
Молитва вайтишника

Никто не рождается умным. Все мы начинаем с нуля.
Не умеем разговаривать, не умеем ходить и, конечно, не знаем алгебры.
Сложение, чтение, умение писать, ездить на велосипеде - все мы дилетанты, когда делаем это впервые.
Было время когда Энштейн не умел считать до 10 и Шекспир должен был выучить первые буквы, как и все мы.
К счастью, мы рождены учится. Медленно, спотыкаясь, подскальзываясь, двигаться, падать и делать ошибки, и снова падать. Разовчарование, смущение, попытки, борьба...
Пока однажды вы не пойдете. Шаг за шагом, одна идея за другой...
Каждый неправильный ответ делает наш мозг чуточку сильнее.
Неудача - всего лишь одно из слов, которое означает развитие. И вы, просто продолжайте. Это обучение. Понймите же наконец, что у вас получится, даже если пока что-то не получается.
Потому что самые красивые, самые сложные вещи во вселенной основоаны на простых вещах, которые каждый может выучить и понять.
Кто бы вы ни были, где бы вы ни были - вы должны знать только одну вещь: ВЫ МОЖЕТЕ ВЫУЧИТЬ ВСЕ ЧТО УГОДНО.


Источник: https://www.khanacademy.org/talks-and-interviews/conversations-with-sal/a/the-learning-myth-why-ill-never-tell-my-son-hes-smart
"Я застрял, хуже и быть не может, просто стена какая-то, топчусь на месте, сколько дней нет никакакого результата!" — Подумал я в в который раз, причем каждый предыдущий я был на ступень ниже)

Молитва вайтишника помогает погасить отчаяние, вдохнуть еще раз, сделать пару шагов назад и кинутся на амбразуру знаний своими неокрепшими мозгами.

Курс по ООР на Udacity меня бросил в бездну. На протяжении каждого урока понял чуть более чем ничего. Финальный проект курса вообще не могу стартовать (https://github.com/udacity/frontend-nanodegree-arcade-game#instructions).

А это значит, что нужно остановится и пройтись по основам создания объектов, деструкцтя данных, манипуляции с ключами и значениями, методы конструктора Object:
1. https://www.khanacademy.org/computing/computer-programming/programming#objects
2. https://github.com/azat-io/you-dont-know-js-ru/blob/master/this%20%26%20object%20prototypes/README.md#you-dont-know-js-this--object-prototypes
3. https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object
Отзывы / оценки изучения ООП из предыдущего поста:
1. Khan Academy - довольно хорош, зачет
2. The book YDKJS - расчитана на адвансовый уровень, мне сейчас не зашла, осилил полкниги за полдня
3. MDN Mozilla - крутейший ресурс по объектам

Дополнительно:
Видос на 40 минут: https://youtu.be/vDJpGenyHaA
Начал изучать оффлайн веб приложния, причем начал с безудержного смеха на 30-ой секунде)
https://www.youtube.com/watch?time_continue=60&v=e0FjFoyKmtQ
VScode в очередной раз приятно удивляет...

С одним товарищем @welldanov пару раз кодили вместе. Каждый раз трудности, поскольку мы в разных городах, а код писать хотим одновременно в одном месте. Google Doc для кодеров изобрели уже?

Оказывается таки да! Причем довольно мощное решение.

* можно кодить в одни и те же файлы нескольким кодером одновременно
* можно использовать разные IDE
* шарить терминал друг другу
* даже звонить через VScode
* многое другое

https://visualstudio.microsoft.com/ru/services/live-share/
Прошел отбор на оналйн курсы по фронтэнду из ЕПАМа