• Какие книги прочитать по js в 2020?

    @AlexCraft
    Software engineer
    У книг есть одна проблема - они устаревают еще на стадии подготовки к изданию. Книги лучше читать по совсем фундаментальным вещам, которые не меняются: алгоритмы, паттерны и т.д. То, что Вы ищете не найти в книгах (быстро устаревает). Читайте живые стандарты: MDN, JavaScript.info, доки по React / Vue / Angular. Меняйте тип источника: не заходит документация — смотрите курсы с практикой (Youtube, Udemy), слушайте подкасты.
    Ответ написан
    Комментировать
  • Машинное обучение - это работа для "ученых" или программистов?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Сейчас есть инструменты для разных категорий пользователей.
    Если ты ученый, для тебя есть возможности по исследованиям и эксперементам.
    Если ты разработчик, есть фреймворки и исследования на базе которых ты можешь заниматься разработками.
    Есть ты домохозяайка, есть полностью готовые решения, где задача только развернуть и приконектить друг к другу готовые части.
    Работа есть для любой категории пользователей -> определяешься с кругом задач, и двигаешься в выбранном направлении.
    Ответ написан
    1 комментарий
  • Как вы планировали своё учебное время?

    Rou1997
    @Rou1997
    Никак не планировал, что хотел, то и изучал, если это практика то это вполне естественный процесс для мозга и не надо в него вмешиваться, а если для вас первична не практика, а теория, то есть вы "зубрите", то это само по себе "извращение" и ничего хорошего не будет.
    Сейчас вот я работаю, и по-прежнему изучаю новое, 90% это то что нужно для работы, у меня теперь и возможности нет ставить жесткие планы по часам, и не нужно это, какие часы если работа творческая и не знаешь с какими трудностями столкнешься, тут с неделями бы угадать.
    Ответ написан
    Комментировать
  • Насколько важную роль при устройстве на работу программистом играют собственные OpenSource проекты?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Наличие git-репозитария отражает ваш уровень, как разработчика. Это самый простой способ быстро проверить, умеете вы что-нибудь или нет. Люди, у которых нет открытых проектов обычно либо нубы, либо скрытные товарищи, либо жадные до безумия, либо просто тупые и не хотят развиваться, говнокодят на джумле и довольны. Таких людей не хотят брать на работу. Есть конечно люди, которые просто не пользуются гитом из-за того, что он им не нужен. Такие люди обычно не проходят первичный отбор, обычно устраиваются по рекомендации.
    При найме нужные люди, умеющие работать в команде.
    Репозитарий также отражает то, как хорошо вы умеете общаться с людьми и насколько вы способны создать код, который может быть использован другими людьми, т.е. навыки совместной разработки.
    Опять же репозитарий показывает, насколько вы знакомы с процессом разработки, умеете ли работать с ветками.

    Т.к. я иногда сталкиваюсь с процессом найма, я ищу в резюме наличие репы, смотрю как написан код. Обычно гуглю, что за человек, чем он занимается.
    Все люди, у которых были публичные активные репозитарии были адекватными вменяемыми разработчиками. Да, уровень и объем знаний бывает разный, но адекватность во многих случаях фактор немаловажный.
    Практически все разработчики без реп были низкого или среднего уровня. Были разработчики, у которых были закрытые репозитарии, они тоже были нормальными.
    OpenSource - это в некоторой степени показатель развития человека.
    Ответ написан
    1 комментарий
  • Как часто используются дескрипторы, декораторы и bind, call, apply?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Обо всем по порядку

    Дескрипторы - так понимаю речь идет о дескрипторах свойств объекта. Вещь крайне полезная, позволяющая задать поведение свойству, сделав его не перечисляемым или, например, только для чтения, а так же можно задать функции getter/setter, которые будут вызываться при чтении/записи свойства. Используется довольно часто.

    Декораторы функций. Позволяют избежать дублирования кода. Допустим, подключаете Вы некую библиотеку, в которой есть некоторая функция, Вам необходимая. Пусть она делает некое действие А, но Вам регулярно нужна последовательность действий А и Б. Тогда Вы пишите над этой функцией обертку, выполняющий эту последовательность, и уже вместо библиотечной функции + действие Б используете везде свою обертку. А вот если у Вас таких оберток с действием Б довольно много, то уже нужен декоратор, который позволит создавать такие обертки для любой функции. Используется как правило в крупных проектах, так как снижает вероятность ошибок.

    bind - по сути является декоратором встроенным в язык. Позволяет привязать к функции контекст и начальные аргументы. Используется постоянно, особенно в случае передачи функции во внешний код.

    call и apply позволяют вызвать функцию с нужным контекстом, разница в том что apply принимает 2 аргумента - контекст и массиво-подобный объект содержащий аргументы, а call принимает произвольное число аргументов: 1й - контекст, последующие передаются как аргументы функции. Используется постоянно.

    Карринг. Хоть и используется не так часто, но бывает весьма полезным инструментом. По сути цепочки промисов построены на принципах карринга, только не функций, а объектов.

    Ну и напоследок, конструкция var self = this; позволяющая сохранить контекст в замыкании уже потихоньку уходит в прошлое, благодаря стрелочным функциям из es2015
    Ответ написан
    1 комментарий
  • Какие приложения, кроме To-Do листов, пишут в качестве демо?

    @CrashLies
    Навскидку:
    1. Файлообменник, вроде rghost;
    2. Система управления тестированием (test case tracker);
    3. Приложение для крупной клиники - запись на приём к нужному врачу в удобное время.
    Ответ написан
    1 комментарий
  • Где взять ссылки на красивые анимированные лендинги для образца?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Почти вся годнота проскакивает тут:
    www.cssdesignawards.com/wotd-award-winners
    www.awwwards.com/awards-of-the-day
    www.thefwa.com (у них неудобный просмотр)
    Соответственно можете и по месяцам/годам чекнуть.
    Вот несколько примеров, которые я скоро буду пристально изучать:
    https://www.chelseacollective.com/
    www.lempens-design.com

    Не относится к лендингам, но недавно около часа изучал его сайт и работы, очень крутой чувак:
    https://caferati.me/
    Ответ написан
    1 комментарий
  • Где посмотреть примеры качественного кода вёрстки сайтов, лендингов, веб-приложений?

    paulradzkov
    @paulradzkov
    Дизайнер, верстальщик, начальник отдела UI
    Первый путь.
    На Гитхабе поискать по ключевым словам (BEM, SMACSS, OOPCSS) — найдутся бойлерплейты и стартеркиты, которые по определению должны быть хорошего качества.

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

    Второй путь.
    Искать в Гугле людей, которые пишут про BEM, SMACSS, OOPCSS и прочих крутых фронтендеров. Искать их профили на гитхабе, изучать их проекты. Если они пишут про методологии, то они явно их используют в работе.
    Ответ написан
    Комментировать
  • Из верстальщика во фронт-ендера, какие технологии изучать в дальнейшем?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    0) Ванилла js это и есть обычный js.
    1) Начинать надо с одновременного изучения ваниллы и jQuery. По ванилле будете читать книги и всякие статьи, типа как работают замыкания, this, hoisting и так далее. А на jQuery вы собственно будете писать код, который будет что-то, да делать. Никто вам конечно не мешает забить на jQuery и по хардкору угарать только по ванильному жсу, но с огромной вероятностью, вместо того чтобы как то реально практиковаться в написании кода и выполнении каких-то простых задач, вы будете биться головой о стену, ибо для начинающего, работа с DOM (а только и этим можно заниматься поначалу) в ванилле это настоящая пытка. Очень важно пилить много велосипедов.
    2) Параллельно прокачиваете css. Там просто поле непаханных возможностей и фишек. Со временем скорее всего придет понимание того, что чего то в обычном css не хватает. Тогда и начнете юзать препроцессоры. Можно конечно и сейчас сразу начать, но я не уверен что от этого будет хоть какая-та польза (а вот риск начать юзать вложенность в full-retard mode имеется).
    3) Как только начнете писать хоть какой-то вменяемый js или юзать css с препроцессорами, тогда и придет пора автоматизации фронтэнда. Галпы, автопрефиксеры, склеивание/миницирование стилей/js и все такое. Об этом пункте вообще можно будет не париться долгое время, ибо все ваши задачи будут решаться установкой какого-нибудь генератора yeomana с маджонгом и гейшами.
    4) Фрейморвки. Ангулары, реакты, эмберы и так далее. Будете их изучать на основе статей и пет-проджектов, ибо на нормальную работу, где эти самые фрейморвки применяют, с 90% вероятностью не возьмут без опыта владения ими. Учить их все естественно не надо. Достаточно хорошенько покопаться в 1-2, чтобы понять принципы работы основных частей.
    4 пункт может с легкостью идти сразу за вторым, если вас больше интересует копание в жсе, и не особо интересно представление. Параллельно со всем перечисленным изучите стайлгайды, методолгии, модульные системы и все подобные вещи, которые необходимы для написания приличного кода.
    Ответ написан
    Комментировать
  • Шаги становления хорошего фроненд разработчика?

    mudrenokanton
    @mudrenokanton
    frontend dev
    А какие у вас цели?
    Если хотите работать на хорошую компанию, то лучше смотреть по вакансиям, например, тут.
    Я считаю что это — минимум, но целится лучше на что-то такое или выше.
    В плане порядка изучения советую поступать таким образом("книгу" можно заменять на "сайт" или "документацию"):
    1) прочитали книгу по CSS+HTML, сверстали несложный сайт
    2) прочитали еще одну книгу по CSS+HTML , сверстали что-то посложнее
    3) та же история с JavaScript, первая книга — выполняете упражнения, потом пишете что-то несложное, потом читаете другие книги в стиле best practices. Вот вам список книг и навыков, которые требуют от студентов в одной из фирм.
    4) изучаете "плюшки", тут лично мои предпочтения: JQuery, SCSS, Jade, ES6, gulp, InternJS, BackboneJS. Тут все изучается по документациям, хотя книг по JQuery тоже много.
    5) можете зацепить backend и NodeJS если вам интересно, минимум — понимать что и как там происходит, почитать про RESTful и MVC на серверах
    6) базовые понимания и знания дизайна и сопутствующего софта
    —> дальше пункты которые касаются слова "Хороший"
    7) поиграться с 2D-3D графикой, анимациями и разными библиотеками с ней связанными
    8) совершенствовать свои навыки во всех пунктах выше(оптимизация, best practices), изучать самые интересные решения на разных сайтах, интересоваться всем новым и много практиковаться
    Ответ написан
    Комментировать
  • Дефицит специалистов - так всё-таки это правда или миф?

    @NETChaser
    Буду жесток...
    Это как ни странно и то и другое...
    Думаете у нас мало "профи" которые "способны решать задачи самостоятельно" ?
    Уверяю их достаточно, так же как и бездарностей и новичков которые ничего не понимают и не умеют.
    НО! Эти люди уже организовали свой бизнес или на пути к этому.
    А работодатели хотят как всегда "профи" за "фикс". Что бы так сказать "бери больше - кидай дальше" за фикс.
    Теперь понимаете откуда дефицит? Да да... Всё правильно, работодатели ищут "профи" которые не умеют руководить... Которые на каждое данное задание будут говорить "я буду рад выполнять этот проект для вас"...
    Смешно да?
    И вся эта ерунда которая происходит на собеседованиях это просто пси-садизм, что бы опустить человека и тот был бы согласен вкалывать за меньший фикс.
    Думаете "профи" этого не понимают? Ещё как понимают. Поэтому и дефицит. Дефицит "профи-лохов".
    Теперь о работодателях... Зачем вообще создаются предприятия? Что бы решать большие и сложные задачи с помощью малых ресурсов. Если менеджмент не способен организовать работу и осуществить некий проект с помощью специалистов начального уровня разделяя сложную задачу на простые, значит это плохой менеджмент и он будет искать "профи-лохов".
    Ответ написан
    2 комментария
  • Как быстро подтянуть свой уровень веб-разработчика, чтобы соотвествовать требованиям работодателей?

    @spamerbo
    Приветствую!
    Был в Вашей ситуации год назад примерно.
    Изучайте javascript, чистый, на хорошем уровне. Все остальное тлен - изучаются за несколько дней при реальной работе и jQuery, и bootstrap, git и т.д.
    Не слушайте советов начинать с jQuery - это путь в быдлокодство без хорошего знания js. Туда же и фриланс, там не будет повода развиваться.
    Учите javascript, работу с DOM, соглашайтесь на тестовые задания от работодателей. Далее сложная цель устроиться на первую свою работу, не теряйте время на веб-студии, сейчас в тренде SPA - научиться backbone, angularJS намного проще на реальном проекте. Через полгода такого опыта вы будете востребованным специалистом с хорошей зарплатой. Удачи!
    Ответ написан
    6 комментариев
  • Как быстро подтянуть свой уровень веб-разработчика, чтобы соотвествовать требованиям работодателей?

    5angel
    @5angel
    Фронтенд-лид
    Давайте обратимся к данной публикации, чтобы понять примерные тренды, потому что наиболее выгодный вариант – это все же фронтендер.

    Вкратце, полноценный клиентский разработчик должен знать:
    – html5/css3 + bootstrap
    – один-два препроцессора (less/stylus)
    – чистый js и пару-тройку клиентских библиотек или фреймворков (knockout/backbone/angular/react)
    – немного node.js, чтобы уметь пользоваться пакетным менеджером (npm) и билд-менеджером (gulp/grunt)

    Этот список покрывает большинство клиентских задач в средней студии или стартапе.

    В реальности, от разработчика требуется только одно – уметь быстро накостылять какую-нибудь фичу к релизу, который должен был быть вчера. Собственно, если внимательно посмотреть на список, который я привел, можно заметить, что все эти вещи направлены на максимально быструю разработку – тут костыль, там костыль – и в продакшн. Как бы ни пытались нагнать пафоса на собеседовании, в бою будет именно так.

    Другой вопрос – что со всем этим делать.

    Я обычно предлагаю попытаться начать свой маленький проект. Какой-нибудь простенький личный сайт, игру на js (тот же flappy bird или 1048 – много ума здесь не нужно). Посложнее – свою тему или библиотечку. Это будет хорошим практическим опытом, который не стыдно описать в резюме.

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

    Если говорить о личном опыте, то я неплохо подтянул js с помощью codewars – задачки начинаются от самых простых (преобразование строк, перебор массива), до очевидно тяжелых (собственные интерпретаторы и преобразование данных изображения).

    А вот попытка спихнуть на верстальщика UI/UX – это уже экономия со стороны отдельных контор, которые по какой-то причине не хотят нанимать отдельного дизайнера/проектировщика в штат или по контракту. Тут, к сожалению, придется мириться и смотреть статьи по теме – тот же GoodUI.
    Ответ написан
    10 комментариев