fullstack-development / developers-roadmap Goto Github PK
View Code? Open in Web Editor NEWHow to learn front-end or back-end development
How to learn front-end or back-end development
для того, что бы код подсвечивался в конструкции вставки кода нужно указывать язык, примерно так это выглядит: ```html
или ```javascript
Arrow functions, template strings, destructuring, for of, spread operator...
На джуне подробней раскрыть, как работать с лоадерами, как с плагинами (их конфигурация и их композинг).
на какого-нибудь мидла добавить написание своих лоадеров и своих плагинов, концептуальные вопросы про то, как они работают.
При переносе с риззомы у нас потерялась ссылка на альтернативные подходы БЭМу
Пока просто накидаю сюда ресурсов для изучения. Нам надо решить, на каком уровне давать основы и на каком уровне насколько углубляться. С одной стороны, использование стримов — это просто техническая вещь, и можно уже на джуна добавить самые базовые вещи по библиотеке. С другой стороны, тут все посложнее чем с редаксом и просто реактом, и немного где используется на проекте.
Ресурсы:
Рассмотреть различные подходы к реализации систем валидации для разных вариаций форм: клиентская валидация, серверная валидация, валидация с погрешностями и тд. Вопросы, которые надо раскрыть в этой теме:
Ну и в любом случае почитать кучу ресурсов на эту тему, не привязываясь к конкретным технологиям и расширить список вопросов, добавить лучшие ресурсы в список к теме.
Как я указал в #3 наш текущий уровень старшего джуна будет распилен на два. Здесь останется только продвинутый материал, плюс будем думать над его расширением.
Из текущей версии сюда перенести:
@in19farkt @Znack @chmnkh @kinda-neat Было бы круто, если бы тут вы предложили свои идеи)
Здесь будет две части, одна в обычного джуна, другая про продвинутые вещи в старшего.
а вообще раньше мне нравился раздел про "Отмену изменений" и связь с The Three Trees, такой же я б добавил с Rewriting history и какие команды в каком масштабе могут реализовывать этот rewriting
Предлагаю в новый уровень джуниора здесь на гихабе разместить подмножество нашего старшего джуна. А остальную часть джуна уже здесь как настоящего старшего джуниора оформить.
В уровень обычного (среднего) джуниора перенести:
Сейчас вопрос звучит:
Способы создания массивов (литерал, конструктор, фабричные методы)
Не первый раз вижу как ребята не понимали про то, в фабричных методах нужно рассказать про Array.from()
и Array.of()
.
Раз уж мы добавляем конкретики предлагаю явно это указать:
Способы создания массивов (литерал, конструктор, фабричные методы
Array.from()
иArray.of()
)
@Znack @chmnkh @GoodDayTodayOkey что думаете?
Можно начать с блока ООП, там не все надо на middle-1 переносить сюда, так как некоторые темы уйдут на middle 2.
Перенести и расписать в форме вопросов по каждой структуре из нашего текущего списка, а не просто перечислить, как у нас там
Думаю на второго мидла дать упражнения на закрепление понимания ООП. Пока идея такая: реализовать Service Worker, для него сделать приём разного рода пушей (как минимум нескольких разных команд разного типа), проксирование работы с сервером для поддержки работы оффлайн и предоставить оттуда удобный механизм синхронизации вкладок. Всё это потребует хорошо спроектировать решение для выражения решения в объектах, показать изученные принципы ООП, и здесь React и Redux уже не помогут, так что думаю, что это хорошая иллюстрация, зачем фронтендеру ООП :)
джуну надо полюбому знать что в js таймстемпв миллисекундах :) а на беке в секундах.
null
, void 0
, boolean
значения по факту 2 раза написан, надо удалить один из нихПеренести из топика и подробно расписать их
На первого джуна есть вопросы в CSS, которые сформулированы просто перечислением свойств. Лучше сделать чёткие вопросы и подчеркнуть там нюансы, на которые мы обращаем внимание
Сюда можете написать что нужно раскрыть в этом вопросе)
рекомендация от @Znack : "таймстемпы, ISO форматы, работу с интервалами и тд"
Добавить git bisect
Здесь будет две части, одна в обычного джуна, другая про продвинутые вещи в старшего. Затем отдельным пунктом в разные уровни мидлов добавим теорию, которая за системами типов стоит
Есть ощущение что в разделе по сетям есть вопросы, которые не совсем нужны для бекенда. Особенно для уровня джуна, не совсем понятно какую ценность они могут принести.
Например вопросы по модели ОСИ мне совсем не понятны зачем их спрашивать. Эту тему всегда можно самому изучить если есть интерес.
Или вопрос про рест там вообще не к месту, ведь это больше вопрос про подходу к клиеент/серверному общению, и скорее всего его либо на другой раздел надо добавить, либо на другой уровень.
Предлагаю обсудить что там можно убрать и смержить с линуксом.
Ишью продолжает темы TS из #8, только тут уже вынесены вопросы, которые требуют концептуального понимания того, как работать с тайпскриптом, плюс возможно, некоторые детали того, как он устроен. По сути как раз то, что уже пора мидлу изучать.
Базовые примеры вопросов:
(a: number) => 0;
assignable to (b: number, s: string) => 0;
)? И как это распространяется на возвращаемый результат у функций? Можно ли считать из-за этого систему типов TS как unsound?Не все фичи описаны в разделе handbook
, многое можно найти только в разделе what's new
.
Надо на один или два уровня мидла добавить вопросы про принципы и техники дебаггинга. Не про работу DevTools, а про концептуальные вещи. Каких баги бывают, какие техники поиска неисправностей есть, как отлаживать проблемы, которые не воспроизводятся локально и тд.
исходя из обсуждения
нужно добавить вопросы:
про img
calc
реализация треугольника на чистом css
и про импорт
Мне изначально не нравился приведенный пример с filterByPropertyAndValue, самое главное там это and в названии, что есть плохой запах для функции, типа filterByPropertyAndValueAndVsemyChemyZakhocheshAndDverZapili.
Сейчас вспомнил гораздо лучше пример, в котором можно тоже самое сделать и это будет real-life case - функция prop: function prop(obj, key) { /.../ } и там можно кучу сразу всего совместить (дженерики, extends, lookup types)
Здесь будет две части, одна в обычного джуна, другая про продвинутые вещи в старшего.
Добавить книги Functional light и Mostly adequate guide и вопросы по ним
Как думаете стоит добавлять?
Предлагаю в описании кидать статьи по темам первого мидла и описывать в кратце, что там полезного
план по гридам:
grid
?grid
шаблон?fractional unit(fr)
?display: grid
и display: subgrid
?repeat()
и т.д.).grid-gap
?grid-template-areas
(как постоить сетку, как связать элементы)?grid
адаптивным (свойства auto-fill
и auto-fit
)?explicit Grid
и implicid Grid
?grid-auto-flow
?Вопросы и ресурсы кто как хочет пишет, попробую какие-нибудь соглашения накидать, обсудим.
По-хорошему, в некоторых разделах (как ООП, Паттерны, ФП и тд) стоит включать разного рода вопросы на историческую составляющую, так как это значительно углубляет понимание темы. Мотивация хорошо описана тут: http://tomasp.net/blog/2019/software-engineering/. Возможно, что-то подобное этой статье еще в начале первого мидла положить, чтобы показать почему именно так, а не иначе, сформулированы уровни и зачем их изучать.
Источники:
Нужно пройти по всем файлам из уровней и проверить на соответствие оформления всех правил, которые составлены и лежат тут
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.