Богдан, так держать! По части теории я всегда рекомендую Зоракса (sorax) на ютубе, ES5 он разжевывает отлично, рекомендую смотреть под запись на несколько кругов. В последствии это поможет хорошо проходить собесы в плане теории. Что касается ES6+ то там все достаточно просто и очевидно.
Из списка языков я бы Пых исключил, когда есть node.js, зачем php?
Если решить на кодварс задачек эдак 100+, лучше 200+ и более, то это дает что-то вроде "мышечной памяти" в разработке приближенной к боевой.
Поясню на примере. Вот у тебя есть некая структура данных и тебе нужно провести некие операции с ней. Допустим это массив объектов. Если у тебя нет базовых навыков и рука не набита на простых операциях, то ты постоянно будешь путаться и блуждать в трех соснах. Если же ты уже порешал кучу мелких простых и чуть более сложных задачек, то ты на рефлексах умеешь в циклы, массивы, всякие кучерявые условия, преобразовать массив в объект и наоборот, сделать выборку и т.п.
Таким образом обработка данных, к коей, в основном, и сводится большая часть так называемого программирования, у тебя проходит на рефлексах и ты спокойно концентрируется на сути, стратегии, абстракциях.
Если же подобные рефлексы не выработаны, то внимание будет долго и мучительно распыляться на вот эти вот мелочи, вроде того а какой метод работы с массивами в данном случае лучше, а форич или редьюс, а массив или объект и пр.
На самом деле, как и в любом занятии, будь то хоть иностранные языки, хоть музицирование, хоть забивание гвоздей, нужно попрактиковаться минимум 1000 часов, чтобы почувствовать себя более-менее уверенно и 10+ тысяч часов, чтобы достичь некоторого мастерства. Вот кодварс - это как арпеджио, пальцевые гимнастики и гаммы для музыкантов, или распевки для певцов, или разогревающие упражнения для спортсменов, все предназначены для одного - ввести на рефлексы повторяющиеся относительно простые действия.
Кодварс удобен тем, что там есть обратная связь в плане того а то ли ты делаешь. Если тесты проходят, значит код рабочий. Если нет - значит есть ошибки или что-то не учел. Если просто писать код, без кодварс, это тоже работает, но на два порядка сложнее, знаю по себе, я учился кодить в 1995 и далее, когда никаких кодварс не было и в помине, а работоспособность кода ты проверял собственными руками и глазами, так сказать эмпирически. Бывало какая-нибудь пропущенная запятая могла стоить пары дней яростного дебага и доводить до исступления. :)
Что еще могу порекомендовать - это читать много чужого кода. И не просто читать, а добиваться понимания. Благо сегодня на том же гитхабе да и много еще где этого добра полно.
Либо передать внутри тега <script> в HTML, но это будет глобальная область видимости, либо подключить модулем если есть поддержка модулей, либо запросить из JS посредством AJAX.
Выбора у тебя не густо, либо ридакс, либо локальный стейт компонента, либо контекст/провайдер. Как по мне Ридакс оптимальный, хотя если ты уже переехал на хуки, то можно без ридакс.
Из вопроса полностью не понятно что нужно, например откуда взялось 55 и что оно значит. Соответственно рабочий алгоритм придумать нереально. Постарайся четче сформулировать задачу, даль больше вводных. Что у тебя в голове и какая перед тобой стоит задача ведомо только тебе одному. Все штатные телепаты давно и безнадежно в отпуске.
Шахмаев Анвар, да, еще принципиально важно не только выучить API какого-либо фреймворка или библиотеки, но и достаточно хорошо понимать философию, принципы на которых это дело работает, и ту боль, которую оно решает. Если этого бэкграунда не будет - придется очень многое запоминать через немогу и нехочу, и действовать без полного осознания.
Так же очень помогает глубокое понимание как в принципе работает язык, на котором ты пишешь. Например для JavaScript принципиально важно понимать EventLoop, промисы и пр. Я встречал немало недосиньоров, которые промисы воспринимали как нечто неважное, и не владели матчастью. Писать адекватный код такие господа затрудняются, как правило. Человек просто не может учесть того, чего недопонимает.
Шахмаев Анвар, стек разнится от проекта к проекту, я выполнял кучу туториалов по стеку. Например TypeScript мне вначале не зашел от слова совсем, только по прошествии примерно пары лет и нескольких проектов на нем я привык, освоился и теперь не понимаю как можно без него.
С пет-проектами проблема в том, что на тебя сразу наваливается очень много вопросов по всяким мелким нюансам "а как?", и ты просто тонешь в них. Мне повезло и я достаточно быстро оказался на боевых проектах, где, так сказать, в обстановке приближенной к реальной, на ходу вникал, перенимал и пр.
Но такое возможно, когда у тебя за плечами в принципе достаточно большой опыт разработке и тебе уже не принципиально на чем именно писать.
Шахмаев Анвар, Чтобы попасть в команду, нужно пройти собес. Чтобы тебя пригласили на собес, нужно чтобы тебя заметили и детектировали, что ты потенциально подходишь для вакансии. С ходу скажу, что нужно грамотно презентовать хотя бы 3-4 проекта (лучше больше) с подходящим стеком. Соответственно у тебя должно быть грамотно составленное резюме.
Мне в этом плане повезло, т.к. в момент смены стека в 2015-2017 годах у меня за плечами был стаж работы разработчиком 15+ лет, и у меня было много проектов, пусть не в стеке, но достаточно сложных. Соответственно ко мне вопрос был один - достаточно ли хорошо я уже овладел стеком.
Если есть что показать - показывай смело, но грамотно упакуй. С резюме у тебя вообще есть 5-10 секунд чтобы произвести первое впечатление, чтобы его стали хотя бы читать. Очень многие вообще забивают на резюме, почем зря. В целом такое равнодушие к самому себе весьма дорого обходится, если считать упущенную потенциальную прибыль.
Filipp42, пониманию кода способствует мощная самодисциплина всех участников при его разработке, единые соглашения и контексты.
Бывает приходишь на престарелый МВП-переросток, который живет годами и допиливается в атмосфере дичайшей текучки, когда кадры сменяются раньше, чем успевают разобраться и вникнуть. В итоге имеем такой разнобой и кто-в-лес-кто-подровизм. Десятки подходов и приемов для одного и того же.
Мы практикуем довольно жесткое ревью кода. Но этот процесс ломается если сваливают ключевые разработчики. Но это уже продолб руклей.
В JS ООП весьма специфический. :) Он как бы есть, но его как бы нет... :)
Вся форма делилась на страницы, секции, поля. Для каждой сущности каждого вида и типа я написал шаблоны, соответственно конфиг имел древовидную структуру. Сборщик проходился по конфигу рекурсивно, распознавая типы сущностей, и применяя к ним соответствующие шаблоны. Остальной код отвечал за ран-тайм, валидацию, сборку данных и отправку на бэк.
Филипп Бондарев, речь не подачу заявления на патент, а про то, что наличие патента не освобождает от уплаты 6% с прочих видов деятельности, так же не освобождает от уплаты 1% сверх 300 тыр в год, плюс надо за сам патент платить. Вот все эти вещи Тинькофф не делает автоматом.
Филипп Бондарев, ну да, а 6% и 1% они норм считают, вот я и надеялся, что они сами и патент посчитают, ан нет. :( А мудрить начнешь, полюбому накосячишь, а с налоговой такие шутки плохо кончаются. Поэтому я за то, чтобы автоматика все считала. Всего то надо в 6% не учитывать определенные транзакции.
Из списка языков я бы Пых исключил, когда есть node.js, зачем php?
Если решить на кодварс задачек эдак 100+, лучше 200+ и более, то это дает что-то вроде "мышечной памяти" в разработке приближенной к боевой.
Поясню на примере. Вот у тебя есть некая структура данных и тебе нужно провести некие операции с ней. Допустим это массив объектов. Если у тебя нет базовых навыков и рука не набита на простых операциях, то ты постоянно будешь путаться и блуждать в трех соснах. Если же ты уже порешал кучу мелких простых и чуть более сложных задачек, то ты на рефлексах умеешь в циклы, массивы, всякие кучерявые условия, преобразовать массив в объект и наоборот, сделать выборку и т.п.
Таким образом обработка данных, к коей, в основном, и сводится большая часть так называемого программирования, у тебя проходит на рефлексах и ты спокойно концентрируется на сути, стратегии, абстракциях.
Если же подобные рефлексы не выработаны, то внимание будет долго и мучительно распыляться на вот эти вот мелочи, вроде того а какой метод работы с массивами в данном случае лучше, а форич или редьюс, а массив или объект и пр.
На самом деле, как и в любом занятии, будь то хоть иностранные языки, хоть музицирование, хоть забивание гвоздей, нужно попрактиковаться минимум 1000 часов, чтобы почувствовать себя более-менее уверенно и 10+ тысяч часов, чтобы достичь некоторого мастерства. Вот кодварс - это как арпеджио, пальцевые гимнастики и гаммы для музыкантов, или распевки для певцов, или разогревающие упражнения для спортсменов, все предназначены для одного - ввести на рефлексы повторяющиеся относительно простые действия.
Кодварс удобен тем, что там есть обратная связь в плане того а то ли ты делаешь. Если тесты проходят, значит код рабочий. Если нет - значит есть ошибки или что-то не учел. Если просто писать код, без кодварс, это тоже работает, но на два порядка сложнее, знаю по себе, я учился кодить в 1995 и далее, когда никаких кодварс не было и в помине, а работоспособность кода ты проверял собственными руками и глазами, так сказать эмпирически. Бывало какая-нибудь пропущенная запятая могла стоить пары дней яростного дебага и доводить до исступления. :)
Что еще могу порекомендовать - это читать много чужого кода. И не просто читать, а добиваться понимания. Благо сегодня на том же гитхабе да и много еще где этого добра полно.