• Какую выбрать книгу для изучения JavaScript?

    BBmike
    @BBmike
    И все вроде бы хорошо, но там бывают некоторые пробелы в материалах...


    а можно примеры таких пробелов?
    Ответ написан
    2 комментария
  • Какую выбрать книгу для изучения JavaScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Какую выбрать книгу для изучения JavaScript?

    trofProg
    @trofProg
    Fullstack developer (Typescript / Python)
    Очень советую секреты JavaScript ninja Джон Резиг. Второе издание. Совсем не устаревшее, а наоборот рассматриваются как фундаментальные основы так и современные практики. Охватывает все аспекты языка
    Ответ написан
    3 комментария
  • Какую выбрать книгу для изучения JavaScript?

    @artemt
    Full-stack developer
    Главное — практика. learn.javascript.ru — хороший старт для изучения языка. Но на JavaScript можно программировать по разному. Если хочется книгу, я советовал бы почитать Функциональное программирование на JavaScript
    Ответ написан
    1 комментарий
  • Какую выбрать книгу для изучения JavaScript?

    @yestodev
    Дам совет от себя, как новичка от мира JS.
    Могу посоветовать не книги, а скорее решение математических задач. :)
    Прям берем любой вопрос, от простого до сложного и решаем, желательно разными методами:
    Сортировки, факториалы, площади, матрицы, что угодно, в порядке усложнения.

    Т.е. нужно сперва заставить себя мыслить на языке (тут очень неплохо подходит такое объяснение: ты хорошо знаешь иностранный язык, когда ты мыслишь на этом языке непроизвольно) и как можно больше писать, обращать внимание на суть написанного, а не искать "а где же тут { закрывается".
    Брать хорошие и интересные решения других людей и разбирать их, научиться читать код и вникать в то, что он означает.

    И самое главное ни в коем случае не читать книг по типу "построй свой отзывчивый сайт", "как создать интернет-магазин" и прочий мусор от мира компьютерной литературы. Уметь программировать !== знанию отдельных инструментов одного конкретного языка.

    Ставим себе задачу: я хочу сделать так, чтобы весь текст на страничке после "." разбивался на абзацы. Пытаемся решить самостоятельно, гуглим, вникаем в решение других (если не получилось самому), пытаемся изменить задачу и решить самостоятельно. Решили задачу - едем дальше, ставим новую.
    Этот процесс даст очень много понимания в начале пути, а потом можно уже и Флэнаганов читать, подправлять знания в правильное русло.

    Так же неплохо найти ментора с опытом, который будет исправлять ошибки (т.к. это основная проблема самостоятельного обучения - можно научиться делать не только правильно, но и неправильно).

    А, ну и побольше математики, правда. Решение математических задач обусловлено строгой логикой, это очень помогает! Вспоминаем (например) как искать площадь треугольника сперва на бумаге, потом пишем это в IDE.
    Это более долгий путь, но как по мне, так он более основательный.
    Ответ написан
    3 комментария
  • Дайте оценку верстке?

    @Flying
    Визуально выглядит вполне пристойно и очевидных косяков почти нет, но если копнуть глубже - возникают вопросы.

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

    Из наиболее заметного - заглавная картинка с автомобилем в PNG которая занимает почти 600кб и из-за этого грузится весьма и весьма неспешно (и заметно для пользователя). В целом это по большей части косяк дизайнера, не приложившего усилий к тому чтобы выбрать правильную графику (автомобиль снят явно на улице и отражения в стёклах дают существенный вклад в визуальный шум и, как следствие, в размер картинки, нужно было выбирать фотографию сделанную в специальном помещении). Кроме того дизайнер, очевидно, не слышал про требования к такси в Нью-Йорке и рисовал как взбредёт в голову, но оставим это на его совести. Сочетание фоновой картинки, на которой весь траффик едет в обратном направлении и делает автомобиль такси нарушающим правила дорожного движения - тоже на совести дизайнера.

    Однако и в этом случае и, тем более, в случае фоновых изображений ниже по странице вы допускаете ошибки с выбором форматов файлов, способами их вставки в страницу и оптимизацией. К примеру из картинки с автомобилем можно выжать почти 100кб просто за счёт использования оптимизаторов. Гораздо грустнее ситуация с фоновыми картинками ниже по тексту. Во-первых вы сохраняете фотографии в PNG, получая на выходе файлы по мегабайту, хотя они же в JPEG занимали бы в 5-10 раз быстрее. Во-вторых вы, скорее всего, сохранили фоновые картинки уже обработанными (затемнёнными). Я не видел макета, но предположу что там эти картинки стоят в их оригинальном виде и на них наложены какие-нибудь фильтры. На первый взгляд кажется что проблемы нет, но на практике (в случае вёрстки для реального сайта) вы вынуждаете человека который будет поддерживать сайт либо готовить картинки с такой же пост-обработкой либо мириться с тем что стиль сайта меняется. Правильное решение здесь - грузить картинки как они есть и реализовывать фильтры на CSS, тем более что здесь это делается элементарно через multi background или псевдо-класс с полупрозрачным фоном. Очевидно также что для таких тёмных картинок вполне можно использовать JPEG с меньшим качеством и тем самым существенно сэкономить пользователям трафик.

    Ещё одна проблема связанная с фоновыми картинками - вы не подкладываете под них близкий по цвету solid color. Попробуйте включить в dev.tools "Network throttling", отключить кэш и перегрузить свою страницу - думаю вы поймёте что я имею в виду - белые блоки с белым текстом стоят довольно продолжительное время, постепенно заполняясь довольно тёмными картинками. Если бы background-color под ними был бы чёрным - проблемы бы не было.

    Далее - логотип. Обычно логотипы разрабатываются отдельно и даже если он выглядит просто набранным шрифтом - это вовсе не значит что это не так. Логотип Google, Microsoft или Яндекс - тоже просто название, но, надеюсь вы не сверстаете их, написав надпись текстом? В общем логотип = картинка, лучше в векторе. Сейчас даже одно съезжание слогана на пиксель влево относительно названия уже рушит всю конструкцию логотипа.

    Обратите внимание на то как вы работаете с формами. Все поля в форме являются <input type="text">, хотя часть названий явно намекает на date / time селекторы, а "Choose Vehicle" - на список выбора.

    Хотелось бы отметить работу с иконками - их всё-таки лучше хранить в SVG и либо требовать с дизайнера либо подбирать на том же Icon Finder. При этом оформление (те пресловутые жёлтые кружки) лучше делать через CSS т.к. это позволяет вам существенно гибче работать с размерами элементов.

    Есть всякие недочёты касающиеся responsive, к примеру, внимание как отображается блок "Our Tariffs" в размере чуть более 600px, в частности название тарифа и описание.

    Пожалуйста обратите внимание на то что вы используете два разных меню для desktop и mobile представления. В целом в вашем случае меню довольно простое и можно было бы обойтись одним. Конечно две копии используют часто, но у этого решения есть свои недостатки (в частности отсутствие синхронизации состояния), так что вы должны осознанно принимать решение по таким вопросам. Кроме того inline обработчики onclick там явно могут быть заменены на элементарный
    document.querySelectorAll('.menu a, .menu-hover a').addEventListener()
    что явно сделает код более простым и поддерживаемым.

    Ещё один важный момент который зачастую опускают при вёрстке - поведение макета с реальными данными. То что дизайнер в макете понапихал везде lorem ipsum и тексты примерно одинакового размера - отнюдь не означает что на реальном сайте эти условия будут соблюдаться. Отсутствие навыка проверять поведение макета в изменяющихся условиях ведёт к множеству ошибок которые не видны в условиях синтетических данных. К примеру попробуйте в блоке "We Do Best Than You Wish" (претензии по поводу английского языка оставим в стороне) в любом из элементов банально увеличить количество текста в 2-3 раза. В Chrome это приводит только к излому сетки, в Firefox - ещё и к изменению размера иконки. При этом я предполагаю что Firefox ведёт себя правильно т.к. пропорции элементов изменились, а ограничения размеров на картинки у вас не заданы.

    В целом похоже что макет верстался и проверялся только в Chrome. К примеру посмотрите как ведёт себя картинка с рукой и телефоном в Firefox при изменении размеров. Опять же Firefox вполне корректен т.к. вы не обрезали картинку корректно, предпочитая выгрузить "как есть" и подгонять положение в CSS, но забыв при этом про overflow: hidden для контейнера.

    Теперь перейдём к CSS:

    Обратите внимание на то как вы подключаете внешний шрифт:
    family=Lato:400,700,700i,900,900i&amp;subset=latin-ext
    . Возникают два вопроса:
    1. Зачем вам subset=latin-ext на сайте где есть только базовая латиница?
    2. Как вы выбирали начертания? У вас подключаются 5 начертаний (400, 700, 900 + два italic'а), при этом grep по CSS даёт значения font-weight 200, 300, 400, 500, 600, 800 и ни одного italic. Вам не кажется что эти множества почти не пересекаются?


    Кроме того вы постоянно забываете про fallback шрифты что на медленном интернете и при отсутствии инструкций для font loading приводит к невидимому контенту страницы на период загрузки.

    Отсутсвие ограничения по ширине для .wrapper приведёт к недопустимо широкому сайту на больших мониторах с высоким разрешением. Можете уменьшить масштаб страницы до 50% и полюбоваться результатом.

    В стилях повсеместно используются достаточно общие названия классов в global namespace. К примеру кто бы мог подумать что стилизует селектор .text? Вы уверены что нигде больше на сайте подобный селектор не встретится? Даже при дальнейшем развитии сайта? Другими словами именование селекторов - важная часть работы, вы можете использовать любую методологию (тот же БЭМ или что-то ещё) или разработать свою, но ваш код не должен ломаться при добавлении ещё пары блоков, особенно если это будет делать другой человек.

    Списки элементов, к примеру тот же .product-cont лучше делать именно списками, а не распихивать элементы по столбцам вручную, благо flexbox и column layout здесь всё прекрасно сделают за вас, зато имея одноранговый список вы обеспечите себе куда большую свободу действий.

    Использование id в качестве CSS селектора - плохая практика, но у вас таких мест немало, 11 штук.

    Уверен что мог бы найти ещё что-то, но надеюсь для затравки хватит, и так много получилось... :)
    Ответ написан
    4 комментария
  • Карьера программиста после 30+. Миф или реальность?

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

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

    Да, конечно, может быть где-то будут смотреть косо, трудно будет учиться, отвлекаться от семьи/детей или еще чего - но тут какая разница - вам шашечки или ехать? Надо переступить немного через свое самолюбие, гордыню и амбиции и стараться как можно быстрее набраться опыта. Набраться опыта в коллективе всегда проще, чем дома - поэтому надо побыть немного джуниором.

    На счет плюсов молодых - это элементарное отсутствие семейных проблем и готовность к постоянным переработкам. Да и денег чаще они хотят меньше + им так же нужен опыт.

    з.ы.:для поднятия настроения
    Ответ написан
    1 комментарий
  • Каким путем выучить современную верстку с 0?

    Garfields
    @Garfields
    Советую обратить внимание на курсы, которые я указал ниже.
    Обучение
    • Джош Кауфман «Первые 20 часов. Как научиться чему угодно... быстро»
    ru.learnlayout.com
    htmlacademy.ru/program
    w3schools.com
    flexbox.ninja
    Карта развития веб-разработчика

    Видеокурсы HTMLAcademy
    • htmlacademy «Базовый HTML и CSS»
    coursehunters.net/course/bazovyy-html-i-css-18-2017
    • htmlacademy «Продвинутый HTML и CSS»
    coursehunters.net/course/prodvinutyy-html-i-css-po...
    • htmlacademy «Профессиональный HTML и CSS Уровень 1»
    coursehunters.net/course/professionalnyy-html-i-cs...
    • htmlacademy «Профессиональный HTML и CSS Уровень 2»
    coursehunters.net/course/professionalnyy-html-i-cs...

    Справочники
    htmlbook.ru
    webref.ru
    developer.mozilla.org/ru/

    Выполнение заданий
    flukeout.github.io (изучение селекторов в CSS)
    flexboxfroggy.com/#ru (изучение flexbox в CSS)
    flexboxdefense.com (изучение flexbox в CSS)
    dmitrylavrik.ru/training/process/flexbox-grid (создание сетки на flexbox)
    cssgridgarden.com/#ru (изучение gridbox в CSS)

    Задачи для практики:
    htmlbook.ru/practical

    Макеты для практики:
    drive.google.com/drive/u/0/folders/0B8LYygUI_oGeSG...
    freebiesbug.com/psd-freebies/website-template/
    symu.co/freebies/templates-4/
    dcrazed.net/free-photoshop-psd-website-templates/
    Ответ написан
    5 комментариев
  • Простым языком о замыканиях?

    @Flicker
    *-coder
    Советую глянуть https://youtu.be/RPuFz93Gvpk
    Ответ написан
    Комментировать
  • Как правильно протестировать и найти ошибки в вёрстке, если я не верстальщик?

    Kadzi
    @Kadzi
    Ом
    чек лист вёрстки
    то же, подробно

    что можно делать без опыта:

    открыть сборку на смартфоне, планшете, десктопе. именно на реальном устройстве.

    а) быстрый обзор страницы, соответствие макету: отступы, размеры, шрифты и размер шрифта, формат графики, неровности, что сразу бросаются в глаза.
    б) медленный обзор по блокам: сходство, косяки, работоспособность, прям пробегаемся по каждому блоку с каждого устройства. (нет планшета? самый простой вариант веб-инспектор гугла)
    в) нажимаем, тыкаем, зумим, скролим, листаем (меняем масштаб страницы, делаем все агрессивно, чтобы быстрее заметить микроглюки). Задача взаимодействовать со всем, что есть на странице. Смотрим че ломается, едет, скрипит при нашем тесте.
    г) сразу можно проверять оптимизацию графики: с помощью гугл пейдж спид, вбиваем юрл, смотрим, на что жалуется, сколько весит графика (оптимизировали ли её?)
    д) повторяем процедуру в ТОП браузерах: хром, яндекс, мозила, сафари, едж (ИЕ, если нужно), мобильные браузеры, смотрим, что не так и всё ли работает

    это минимум:

    ПОХОЖЕ НА МАКЕТ
    ВСЕ КОНТРОЛЫ РАБОТАЮТ
    НЕ ЕДЕТ, НЕ РАЗВАЛИВАЕТСЯ
    В ДРУГИХ БРАУЗЕРАХ ОК

    отдельным пунктом ДОСТУПНО
    всеми контролами можно управлять клавиатурой, сайт (в идеале) полностью функционирует при выключенном CSS и JS (в хроме есть плагин - Web Developer, скачиваем из магазина, тыкаем, тестим)

    ПЕРЕПОЛНЕНИЕ КОНТЕНТОМ
    тестируем поведение блоков прямо в хроме, через инспектор. (об этом предлагаю автору найти уже готовые описалки... аааа, ладно, на: обзор веб-инспекторов)

    ______________________________________

    полезные ссылки:

    Блог Киселёвой, куча обзоров книг + полезные вырезки, крутейший блог

    о доступности:

    https://weblind.ru/ ОСНОВНОЕ ЧИТАТЬ
    https://www.bl2.ru/programing/colourcontrastcheck.html
    https://habr.com/post/347478/
    https://developer.paciellogroup.com/resources/cont...
    https://usabilitylab.ru/blog/dostupnost-internet-b...
    https://blog.sibirix.ru/2018/05/22/almost-blind-ve...
    https://www.toptal.com/designers/colorfilter
    www.bbc.co.uk/guidelines/futuremedia
    https://www.lightningdesignsystem.com/accessibilit...
    https://geon.github.io/programming/2016/03/03/dsxyliea
    https://wearecolorblind.com/
    blog.gov.design/blog/2016/11/08/accessibility.html
    specialbank.ru/guide
    specialbank.ru/guide/index.html

    P.S

    валидаторы кода (пускай меня поправят если не так) во-первых их 2 и они отличаются, во-вторых, если видим ошибку - это не значит, что это всегда ошибка. Т.к некоторые вещи могут быть не описаны там
    Ответ написан
    6 комментариев
  • Где есть бесплатные уроки HTML5?

    BBmike
    @BBmike
    Ответ написан
    Комментировать
  • Где есть бесплатные уроки HTML5?

    @Nivaech
    Конечно же здесь:
    https://www.w3schools.com/html/html_intro.asp
    И здесь:
    https://developer.mozilla.org/ru/docs/Learn/Gettin...

    И YouTube никто не отменял.
    Есть канал, Traversy Media, так вот контент автора может заменить вам на долгое время сон, еду и воду, если у вас все в порядке с английским и вы решили идти в веб-дев.
    Вот, в частности, видео по HTML
    https://www.youtube.com/watch?v=UB1O30fR-EE
    Контент годный абсолютно весь.
    Ответ написан
    Комментировать
  • Что почитать по работе JavaScript "под капотом"?

    dom1n1k
    @dom1n1k
    Блог Вячеслава Егорова - https://mrale.ph/
    Блог в основном на английском, но есть и русскоязычные материалы. Автор участвовал в разработке V8 и знает много по теме производительности. Правда, последнее время он ушел в разработку Dart, и некоторые его посты уже не совсем актуальны для самых последних версий V8. Но все равно там очень-очень много интересного.
    Ответ написан
    Комментировать
  • Что почитать по работе JavaScript "под капотом"?

    polarlord
    @polarlord
    Ответ написан
    Комментировать
  • Что почитать по работе JavaScript "под капотом"?

    MalkovVladimir73
    @MalkovVladimir73
    Fullstack (node + vue.js)
    Сам столкнулся с подобной проблемой, крайне советую You dont know js.
    Ответ написан
    Комментировать
  • Как обновить форк?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    git remote add upstream git@github.com:MostlyAdequate/mostly-adequate-guide-ru.git
    git checkout master
    git pull upstream master


    Почитайте про работу с удалёнными репозиториями, и всё будет понятно.
    Ответ написан
    Комментировать
  • Почему не работает export/import в ES6?

    @BelkinVadim
    Frontend разработчик
    Первая ошибка - https://jakearchibald.com/2017/es-modules-in-brows...
    Вторая ошибка - добавьте расширение .js в путь импорта модуля - import { Person } from './matix.js'
    Ответ написан
    Комментировать