• Какие шаблоны проектирования js применяются на практике чаще всего?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    какие паттерны применяются чаще всего на практике и где

    Сразу отмечу, что все это чисто мое имхо, которое может не совпадать с мнением окружающих. В контексте фронтенда обычно все довольно просто. По моим наблюдениям в среднем сайте могут иметь смысл:
    1. Модули (делим код на независимые части)
    2. Фабрики (для компонентов интерфейса)
    3. Синглтоны (для хранилищ, точек сбора полифиллов / утилит и.т.д.)
    4. Адаптеры (для зависимостей и полифилов, которые могут измениться / выпилиться)
    5. Наблюдатели (для сбора происходящих событий в одном месте)
    6. Хранители (для сохранения действий пользователя и "Ctrl-Z")
    7. Стратегии (если действуем в зависимости от прилетевших данных)

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

    Важно понимать, что паттерны проектирования - это просто хорошие идеи по поводу того, как организовать большой объем кода в той или иной ситуации. Это не "изучи тайное знание, запомни, и делай так всегда", не "используй паттерны, потому что великие их используют", это скорее "если не уверен как организовать код, возьми готовую идею, она вроде работает". Если вы будете просто решать задачи, то через N лет практики вы сами их все "изобретете", только не будете знать, что у них есть названия. Эффективно будет организовать себе заметку о том, какие из этих идей для чего примерно применяют, а потом, в процессе работы, в нее подглядывать, если встал вопрос "как организовать этот код".
    Ответ написан
    7 комментариев
  • Как изучить регулярные выражения js?

    coolswood
    @coolswood Автор вопроса
    https://coolswood.github.io
    Присоединяясь ко всем ответам хочу добавить сюда старое, но, на мой взгляд, полезное видео Соракса https://www.youtube.com/watch?v=9hLkbhRs7jM
    Ответ написан
    Комментировать
  • Как изучить регулярные выражения js?

    @artemt
    Full-stack developer
    Достаточно проработать раздел "Регулярные выражения" онлайн учебника learn.javascript.ru
    Ответ написан
    Комментировать
  • Как изучить регулярные выражения js?

    @GreatRash
    А вы так часто их используете, чтобы прям учить? Когда мне надо написать, что-то сложнее [a-zA-Z] я лезу вот сюда, например. Там есть и подсветка, и быстрый доступ к документации, и подсказки о найденных вхождениях. Языков маловато конечно, но это не сильно мешает.
    Ответ написан
    2 комментария
  • Как найти ментора/наставника или удаленную работу для начинающего фронтенд разработчика?

    @nweb
    Можно разместить объявление на серче (5$ или 10$). Написать "начинающий веб-разработчик, возьмусь за работу начальной и средней сложности, оплата символическая". Уверен, вас завалят предложениями. Поработаете над реальными проектами и немного денег заработаете. Когда прокачаетесь, заведете другую тему и установите нормальный ценник. Очень вероятно, что к этому времени у вас уже будут постоянные заказчики.
    Ответ написан
    4 комментария
  • Где научиться алгоритмам?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Го на кодварс и качайся там хотя бы до 4-кью, потом уже умные книжки понятнее станут. :)
    Ответ написан
    Комментировать
  • Где научиться алгоритмам?

    @zzzevaka
    Кнут - это, конечно, замечательно, но явно не "понятнее".

    Все зависит от того, какой уровень вам нужен.

    Я бы рекомендовал начать с этого
    aliev.me/runestone
    Ответ написан
    Комментировать
  • Где научиться алгоритмам?

    @asd111
    aliev.me/runestone тут на русском и для питона
    Ответ написан
    Комментировать
  • Где научиться алгоритмам?

    Почитай книгу «Грокаем алгоритмы. Иллюстрированное пособие для
    программистов и любопытствующих». В нем примеры приводятся на
    Python и объясняются приведенные Вами термины.

    Количество алгоритмов огромно, большинство берет начало из разделов
    прикладной математики. Можно начать с сортировок, а дальше изучить
    остальные базовые.

    Касательно Python, если не приходилось изучать/писать программы с
    использованием стандартной библиотеки collections, то советую
    посмотреть внимательно. Есть реализация множества алгоритмов,
    которые необходимы в жизни при работе. Избавит Вас от повторного
    написания этих алгоритмов.
    Ответ написан
    Комментировать
  • Как перевернуть строку рекурсией?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const reverse = str => str.length < 2 ? str : reverse(str.slice(1)) + str[0];

    или

    const reverse = ([ c, ...str ]) => c ? reverse(str) + c : '';
    Ответ написан
    8 комментариев
  • Как учиться алгоритмизации? И стоит ли?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я на кодварсе гоняю желающих вкачать алгоритмы и структуры данных, хотя бы до 4 кью надо вкачаться имхо.

    Это не даст всеобъемлющего владения, но позволит на практике отработать на мелких и достаточно простых задачках ходовые паттерны, выработать рефлексы, а это хороший трамплин для серьезного погружения в теорию.
    Ответ написан
    Комментировать
  • Как учиться алгоритмизации? И стоит ли?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Для начала стоит прочитать Бхаргава А. Грокаем Алгоритмы.
    Параллельно пробовать выполнять задания собеседований, или искать и изучать их готовые решения.
    Программист - это в первую очередь постоянное обучение, не нужно пытаться знать все и вся, нужно учиться искать и использовать информацию.
    Ответ написан
    2 комментария
  • Как учиться алгоритмизации? И стоит ли?

    DevMan
    @DevMan
    вся жизнь – это алгоритмизация. невозможно прочитать одну/несколько книг и стать гуру.
    вы просто решаете задачи, которые не знаете как решить, и таким образом качаете свой скил.

    Every great developer you know got there by solving problems they were unqualified to solve until they actually did it
    Patrick McKenzie
    Ответ написан
    Комментировать
  • Как восстановить математическое мышление?

    @abmanimenja
    Практика
    Ответ написан
    Комментировать
  • Какие существуют "общие" правила по верстке web страниц?

    @roman_vo
    - Использован normalize.css.
    - К страницам подключён один стилевой файл (с учётом normalize.css к каждой странице могут быть подключены два стилевых файла).
    - Стилевой файл подключён внутри .
    - Документ проходит проверку на валидность validator.w3.org/nu/.
    - Вся собственная стилизация выполнена в одном стилевом файле.
    - Подключены правильные шрифты, их размеры, высота строк, цвет и толщина равны соответствующим параметрам в макетах и техническом задании.
    - Указаны альтернативные варианты шрифта и тип семейства в конце перечисления font-family.
    - Вёрстка идентично отображается в последних версиях браузеров Chrome, Firefox, Safari, Edge, Internet Explorer.
    - В корне проекта имеются папки css, img, js или аналогичные. Главная страница имеет название index.html. В названиях и расширениях файлов нет заглавных букв и пробелов, использованы только латинские символы.
    - Выбран подходящий формат изображений.
    - У всех изображений в теге прописан размер.
    - Нет вложенности селекторов больше двух. (Длинные цепочки селекторов усложняют код и его поддержку. Хорошим подходом считается использовать вложенность не больше двух уровней. Псевдоэлементы и псевдоклассы вложенность не увеличивают.)
    - При использовании блочно-строчных элементов явно указывайте вертикальное выравнивание (По умолчанию элементы inline-block имеют выравнивание baseline, которое может приводить к нежелательному поведению элементов, например, когда внутри них разное количество строк.)
    - Для блока, у которого есть фоновое изображение, прописан фоновый цвет, который соответствует преобладающему цвету изображения (пока изображение не загружено, страница выглядит похоже на макет)
    - Отсутствует транслит в названиях классов, атрибутах, названиях файлов и так далее.
    - Проведена базовая оптимизация: минифицированы стили и скрипты (при наличии)
    Ответ написан
    Комментировать
  • Какую выбрать книгу для изучения JavaScript?

    Adamos
    @Adamos
    Свежий Флэнаган (6-е издание).
    И серьезная база, и не устарел.
    Ответ написан
    5 комментариев
  • Редактирование сайта + git. Как правильно выстроить работу?

    Medik18
    @Medik18 Автор вопроса
    Решил свою проблему так:
    • На удаленном сайте делаю "git init"
    • Затем получаю через SSH "clone" копию на локальный компьютер
    • Дополнительно делаю "push" проекта на GITHUB (на всякий случай)
    • Работаю с сайтом используя SublimeText + SFTP (локальные правки сразу уходят на сайт)
    • Локально отслеживаю изменения через SublimeMerge
    • Когда понимаю что на сайте всё работает как нужно, на удаленном сервере фиксирую изменения в git
    • Локальные изменения удаляю, либо прячу через stash (при желании можно чистить "git reset --hard" + "git clean -f -d")
    • Получаю "pull" изменения с удаленного сервера, делаю push на GITHUB (на всякий случай)
    • Если делал stash - делаю stash pop, и, то что пришло через pull, идеально ложится на stash pop, т.к. это одно и тоже

    Чего я добился этим: делаю быстрые правки и имею возможность откатиться в случае ошибок.
    Я понимаю что мой метод идет вразрез логике и самой идеи GIT, но для меня, в настоящий момент, он подходит. Благодарю за ответы и советы.
    Ответ написан
    1 комментарий