Web Developer Way
61 subscribers
37 photos
3 videos
3 files
150 links
@aymkin way to become a web developer
Download Telegram
Вчера был ровно месяц испытательного срока. Экватор, так сказать.

0. Первые несколько дней было реально трудно и страшно.
1. Приходится учить много новых штук, грызть гранит тупости,
2. ООП в реакте мне пока не нужен, а с новой версией (Хуки) реакт и вовсе будет переходить на функциональный стиль. Так что никакие классы или ООП учить вообще не надо.
3. Нравится идея полустрогой типизации при помощи PropTypes & DefaultProps. Такой себе TypeScript на минималках
4. FLUX (Redux) оказывается гениальная штука.
5. Добавил пару эндпоинтов на бекэнде), аж сам не верю! Эндпоинты делают выборку с базы или добавляют в нее что-то (MongoDB)
6. Есть у нас в конторе еще два свтитчера-новичка. Первому 38 лет, работает уже полгода, ранее работал менеджером по продаже меда, образование пищевой технолог . Второму 35 лет, только закончил испытательный срок (2месяца), закончил политех 2004 году, учил программировать так же самостоятельно много раз бросая и начиная, ранее работал на  PPC (реклама по кликам)
Компаниям не нужны джуны без опыта. Если они и берут их на работу, то с прицелом на далёкое будущее, на свой страх и риск. Ценить этот шаг работодателя и быть попросту благодарным — это честность перед самим собой. К сожалению, мы по-прежнему считаем благодарность и честность признаками слабости.
Подходит к концу второй месяц моего испытательного срока, есть кое что вспомнить:
1. Первый месяц я был до смерти напуган и растерян. Был готов сам уйти, чтоб не выгнали с позором.
2. Первый месяц работал на проекте "Нефть", на котором научился чуть больше чему ничему. По факту привыкал ходить на работу и терперть OSX вместо моей няшной Ubuntu
3. На данный момент уже две недели отработал на новом проекте. Это интернет магазин, мы делаем мобильное приложение на React Native, нас два фротэндера + один бек. Мне реально повезло попасть в этот инересный проект, в котором я каждый день учусь чему то новому и полезному, что дает ощущение волшебства и могущества.
4. ООП - ни разу за два месяца не видел. Ни классов на чистом JS, ни прототипного наследования.
5. Работа с чистым JS идет довольно активно. Методы массивов и объектов, понимание поверхностного и глубокого копирования, чистые функции, мутабельность и имутабельность, протейшая верстака + CSS, REST, Redux (и вообще понимание Flux архитектуры) - это то с чем работаем каждый день.
6. Почему я не начал учить Реакт хотя бы на 6 месяцев раньше? Ресурсы в изобилии и стоят очень дешево. + с моим английским мне тоже повезло.
7. В знак благодарности всем кто отвечал на мои глупые вопросы и помогал в моем развитии - готов так же помочь тем кто изучает Реакт. Пишите в личку.
Хорошая-плохая новость: Мой испытаельный срок продлен на третий месяц. Причина - низкий уровень подготовки.

Что плохого:
1. Могу вылететь из конторы через месяц, если не поправлю положение дел.
2. Я по-насстоящему учился только последние 3 недели из 9 на стажировке
3. Надо найти где-то время учиться новому
4. Бывает много времени неожиданно уходит на линковку (RN), или что то сломалось в Android Studio || Xcode, а это не связанно с программированием на прямую

Что хорошего:
5. Зараплата на третьем месяце будет выше, чем на перввых двух
6. Есть детерминированный список вопросов, по которому меня отсобеседуют прям в канун нового года.
* файл с общими вопросами (буду добавлять ответы в прогрессе) https://docs.google.com/spreadsheets/d/1uoK_uRJgm7T8zP-kxu1rdHx8vZRnSr_0YXOZsH0EjkE/edit?usp=sharing
* подключение редакса
* линковка (эта магическая штука меня вводит в ступор)
* камера (найти любую либу RN и импелементировать в приложение)
* навигация как в мобильном приложении Пикабу (на главном екране есть 3 таба и сайдбар) | * саги | * reselect
* хуки
* graphql (apolo)
7. Надо сделать апликейшн на указанных технологиях (надо уточнить на чистом React или React Native)
8. Верятно - после интервью будет кодинг сессия на лайв демонстрацию скилов.

Что я буду делать:
9. Работе буду уделять только рабочее время. Придется трекать, чтоб точно не больше.
10. На работе сразу после рабочего времени буду задерживаться и уделять время учебе
11. Отслеживать прогресс понедельно.
1. Отпишитесь от этого канала)
Почему: он задумывался как "личная" записаная книжка. Зная, что меня читают, диктует мне писать что то или не писать. Поэтому, если у вас нет твердой уверенности, что точно нужно продолжать читать этот канал - пожалуйста, отпишитесь.

2. Новое - это не всегда хорошо. Одна из причин, почему я пошел в программисты - я люблю новое и эксперименты. Новый язык программирования или новый фреймворк - это интересно и увлекательно, признаю. Однако по-насстоящему что то новое появляется очень редко, примерно как 2-3 раза в 10 лет. Будучи молодым и малоопытным хочется попробовать все подряд, часто это просто пробы по верхам без глубинного понимания инструментов или процессов. Недавно я начал понимать силу и преимущестов консервативизма (может я старею?). Все упирается в ресурсы. В мире с бесконечными ресурсами можно было бы выучить бесконечное количество языков программирования, участвовать в бесконечном количестве проектов и принести бесконечную пользу обществу. Но мы живем в другом мире, поэтому надо выбирать куда направлять свою слишком ограниченную энергию. И прямо сейчас я принимаю решение сконцетрироваться в изучении React Native и бросить все остальное. Сделать это фокусом на ближайший год.
Спасибо Рахиму Д, за эту ценную идею.

3. Сегодня я участвовал в ежегодном новогднем забеге обещаний (желаний). И я понял, что я могу пообщеать себе всего лишь две вещи:
* заботиться о своей семье (Елисей и Галя)
* быть добросовестным сотрудником Zenbit.tech принести всю пользу, что я могу

4. Старый 2019 год - время моего вхождения в программирование) Позади три месяца работы и у меня до сих пор ощущение восторга и невероятности происходящего. Надеюсь, что это было одним из самых удачных решений в моей жизни. Желаю и вам сбычу мечт. Обнял, приподнял.
Для тех кто интересуется React Native)

1. Деструктуризация  из JS объекта происходит по ключу, а из массива по индексу.

2. В React Native на нажатие кнопки в окне Alert можно повесить коллбек: `Alert.alert(
"Invalid number!",
"Number has to be a number between 1 and 99.",
[{ text: "Okay", style: "destructive", onPress: resetInputHandler }]
);` https://i.imgur.com/DBnZMSb.png

3. Для предачи в хендлер параметра можно использовать анонимную функцию или bind https://i.imgur.com/74VO4P0.png

4. Если нужно управлять локальным состоянием в компоненте (local state), однако чтоб:
* новый ререндер не генирировал новое состояние
* чтоб изменение состояния не приводило к перерендеру , то используй useRef
https://i.imgur.com/5tfvZ8b.png
https://i.imgur.com/AhjaaOS.png
Даже если ты фронтендер, то минимум бека знать обязан. Без пафоса и смс.

Back-end for Front-enders, за два часа можно просмотреть как с минимум усилий:
* установить express
* написать 4 эндпоинта
* подключить к MongoDB cloud
* базовое использование Postman
* что такое схемы и модели (Mongoose)
* зачем нужен JWT (Json Web Token) + как его имплементировать в проект
* что значит натереть и присолить пароль (salting and hashing password) и почему это по проавославному
* как ограничить доступ к данным не авторизированным пользователям (middleware authorizationRequire)
* обработка потенциальных ошибок (error handling)

уроки 165-186
https://www.udemy.com/course/the-complete-react-native-and-redux-course/learn/lecture/15707662

PS
курс потрясающий, всего 12 баксов, почему я не знал о нем полгода назад?
https://i.imgur.com/Btp7JeR.png
За последние три дня получил одинаковые вопросы от разных людей, отвеча всм сразу.

1. Ссылки на хорошие материалы для изучения React?

* лично рекомендую, бесплатно, на английском
https://coursehunter.net/course/udemy-react16-complete-guide

* коллега рекомендовал, бесплатно, на русском
https://coursehunter.net/course/reactjs-s-nulya-do-profi

* лично рекомендую, бесплатно, два курса друг за другом на ютубе
- только фронт, с нуля https://www.youtube.com/watch?v=OxIDLw0M-m0&list=PL4cUxeGkcC9ij8CfkAY2RAGb-tmkNwQHG
- фронт + бек (фаербейз) https://www.youtube.com/watch?v=Oi4v5uxTY5o&list=PL4cUxeGkcC9iWstfXntcj8f-dFZ4UtlN3

2. Где взять хорошие материалы на русском?
* легче и быстрее и полезнее выучить английский
* если вы решили учить программирование и не знаете с какого языка начать, то начните с английского (это правдивая шутка)

3. Как же быть если хочу учить программирование прямо сейчас, а английского знаю плохо?
* Смотрите курс Минина (ссылка выше) на русском, повоторяйте, учите
* уже освоенные темы просматривайте у других англоязычных преподавателей, кодить вместе с ними обязательно, субтитры читать обязательно, записывать в бумажную тетрадь все незнакомые слова обязательно, учить записанные слова желательно
* повторить цикл еще два раза через неделю

Дополнительно:
* хороший курс по рекату, стоит 12 баксов (если цена другая, то зайди в режиме инкогнито на сайт) https://www.udemy.com/course/react-redux/
* в пердыдущем посте ссылки на на уроки из платного курса, где за два часа можно понять Express + Mongoo (mongoose)
Ну и в догонку.

Даже если вы ничегошеньки не соображаете в ангельском языка, то простое прослушивание и перепечатывание всего кода поднимут ваш Рекат на порядок. Ну и английский заодно тоже)
I’ve never heard anyone who adopted Typescript and regretted it.

Я не знаю никого, кто начал использовать Typescript и потом сожалел об этом.
Решил записать несколько вспомогательных видео для своего племянника 13-ти лет. Это будет серия для тех кто вообще не видел и не слышал никакое программирование. Моя цель показать самые просты базовые вещи, если получится - заинтересовать и дать базу для дальнейшего самостоятельного обучения.

https://youtu.be/pzgxbuDg36I
#bookmark #link #rn #icons #splashscreen #launchscreen

Для тех, то делает мобильные приложения на React Native

Классная статья как сделать:
иконки всех размеров для IOS + Android и как их правильно вставить в React Native App
брендовый Splash/Launch Screen
https://medium.com/better-programming/react-native-add-app-icons-and-launch-screens-onto-ios-and-android-apps-3bfbc20b7d4c
Если кто интересуется курсами по Реакту для начинающих https://t.me/zenbit_courses
Это первый урок, скоро будет второй
Forwarded from Zenbit Courses
Media is too big
VIEW IN TELEGRAM
Если кто интересуется навигацией в React Native, рекомендую к просмотру туториал, скромно моего авторства
https://youtu.be/PyG1i1GnsKo
Этот рецепт с работал для меня в 2019 году.
Web Developer Way
https://youtu.be/S7xq9x8i47k
Еще раз подчеркну важность этого видоса и коротко по шагам.

Этап 1. Верстка (240 часов)
* cs50 (просмотреть, можно на русском)
* html + css 160 часов книга или курс, один-два источника
* flexbox 20 часов
* медиазапросы 20 часов
* бутстрап 20 часов
* препроцесор scss 20 часов

Этап 2. Javascript (320 часов)
* переходим к следующему этапу, даже если не все понятно на первом. Главное систематически дисциплинированно удеялять этому время, минимум 1,5 час в день.
* Javascript для детей книга 160 часов
* Если не удалось проити все это до этого пунктам по графику или на этотм этапе не нравится, то это приговор - программистом не быть
* Еще один курс JS на 160 часов: JavaScript Head First (Книга) или JS ваще с нуля (видеокурс от Димыча) https://www.youtube.com/watch?v=Glux40jBsZ8&list=PLcvhF2Wqh7DPD5sRK3lw4bjBsKdgY2bPi

Этап 3. React - стать программистом фреймворка минимум 160 часов
* собрано тут https://t.me/myWebWay/63