• Как запускать анимацию каждый раз при нажатии?

    mahmudchon
    @mahmudchon
    Вы можете задать анимацию для блока с определенным классом. И при нажатии на кнопку присваивать блоку этот класс, возможно на время.
    Ответ написан
    1 комментарий
  • Как сделать подобный фон?

    bersus
    @bersus
    https://bersus.design
    Если не получается с фоном, почему бы не попробовать absolute positioning с z-index?
    Ответ написан
    Комментировать
  • Где найти "вдохновение" на дизайн?

    sergey_st
    @sergey_st
    Для вдохновения отличные сайты: https://www.awwwards.com/ и www.cssdesignawards.com
    Для второго пункта можно использовать, например, https://themeforest.net/ шаблоны там не бесплатные, но и не дорогие.
    Много различных элементов (кнопки/слайдеры/и др.) можно найти на https://codepen.io и https://github.com/ только там желательно ознакомиться с лицензией.
    Ответ написан
    2 комментария
  • Как перебрать такой массив?

    То что вам нужно называется Reduce.
    var result = array.reduce((previous, current) => {
        if (previous.hasOwnProperty(current)) {
             previous[current]++;
        } else {
             previous[current] = 1;
        }
        return previous;
    }, {});

    На выходе получится как раз то, о чем говорил Сергей Соколов
    Ответ написан
    1 комментарий
  • Как использовать Zeplin?

    Chipr
    @Chipr
    UX/UI designer
    Вы с какой стороны разработки выступаете для начала надо узнать) Вообще, этот плагин интуитивно понятен, там даже разбираться не надо)
    Ответ написан
    2 комментария
  • Есть ли php компилятор для css?

    Советую cssnano (postcss).

    Всё это типовые задачи для мира front-end разработки; поэтому просто используйте их инструменты.
    Сегодня подобный инструментарий хорошо реализован только на JavaScript (node.js), и без его использования вы вряд ли сможете «удобно поддерживать» клиентскую часть приложения или даже обычный сайт.
    Ответ написан
    7 комментариев
  • Стоит ли изучать 1C Битрикс?

    @D3lphi
    Если вы хотите, чтобы разработка приносила хорошие эмоции, то однозначно нет. Выучите лучше какой-нибудь современный фреймворк Laravel, Yii, Symfony. Работу проще всего найти на yii(в странах СНГ). На западе - Laravel. Ну а Symfony самый "правильный". Пользы будет больше.
    Ответ написан
    Комментировать
  • CMS своими руками

    @egorinsk
    Автор, а что гуглить. Есть минимум 3 способа: расковырять простую Open-Source CMS (проблема: найти CMS с хорошей архитектурой и аккуратным кодом), устроиться в компанию, у которой есть своя CMS (а она есть почти у каждой студии), и наконец, написать самому правильно.

    Маны нужны не по написанию CMS, а по используемым продуктам и технологиям.

    Сначала надо определиться с задачей. Установите и попользуйтесь несколькими CMS, просто чтобы увидеть особенности их работы. (если вы не можете это сделать — вам надо изучать основы установки и настройки apache/mysql/whatever, а не CMS писать. Уходите практиковать эти навыки). Также, есть хороший сайт, где установлены демки десятков CMS и можно их посмотреть, не устанавливая.

    Запишите, что вы хотите получить, сделайте наброски страниц. Определитесь с требованиями к вашей CMS. Какие в ней будут модули, как ими можно управлять.

    CMS обычно состоит из 2 частей — т.н. «админки» (запароленный раздел, где меняется конфигурация сайта, добавляются материалы) и публичной части сайта, которую видят пользователи.

    Если вы еще не бросили эту затею, перейдем к следующему пункту. Проектирование архитектуры и написание CMS. Чтобы хорошо писать сложную CMS, нужен опыт и понимание того, как вообще писать сложные программы. Нужно глубокое знание HTTP/HTML/CSS/JS/SQL. А именно:

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

    Что еще надо знать. Во-первых, надо иметь представление что значит MVC или 3-звенная архитектура.

    M в MVC — это Model. CMS скорее всего будет хранить данные в БД — надо знать, что такое и как пишется DBAL (гуглите: PDO), плейсхолдеры в запросах, возможно, Table Gateway, ознакомиться с тем, что такое ORM, и почему PHP-ные ORM так тормозят. Если будете делать модельки, не храните значения полей в публичных свойствах — это неудобно и нарушает инкапсуляцию. Храните их в приватном массиве $attributes.

    V is for View. Надо знать, что такое шаблонизаторы (прочтите мануал по Smarty, Django Templates, HAML и XSLT, чтобы иметь общее представление, какие они бывают). Для PHP хорошие варианты — использовать чистый PHP или XSLT, если осилите. Smarty — устаревший тормозной хлам, Twig тоже имеет недостатки. И не стоит ставить шаблонизатор, только, чтобы писать {$a} вместо [?= $a =].

    Не смешивайте логику (сложные вычисления, обращение к БД) и шаблонизацию. Лучше сделайте 2 файла: один с кодом, другой с шаблоном. В идеале, шаблонизатор получает от контроллера значения переменных и, кроме хелперов, никакого другого кода не вызывает.

    C — контроллеры. Но это самая простая часть, контроллер — это просто класс с методами типа viewAction(), editAction() и роутер, который смотрит на УРЛ и вызывает нужный контроллер. Посмотрите, как устроен Zend_Controller и Zend_Front_Contriller, и сделайте так же, но попроще. выкинув 90% функционала — он вам не понадобится.

    Нужно как-то сделать систему компонентной без сильных связей: чтобы ядро могло работать и без модулей, а добавление модуля не требовало дописывания кода в ядро. Почитайте про Dependency Injection, а также Observer (observer — это когда мы делаем функцию addEventListener()).

    Не используйте хуки, как в Друпал. Это дурной и порочный путь, взятый видимо из древных времен и программирования на Си.

    Что еще. Освоив все эти понятия, у вас в принципе не будет сложностей написать CMS, но почитайте еще мои советы по тому, как писать правильный код с исп. ООП: habrahabr.ru/qa/17158/#answer_70869

    Написание своих велосипедов, в общем, полезно и способствует расширению кругозора разработчика, заставляет его изучать разные подходы к написанию кода.

    Ну что еще. Если (в чем я сильно сомневаюсь) благодаря моему скромного совету вы все же сможете пройти этот нелегкий путь и станете успешным разработчиком, можете заплатить мне денег. Я не против.
    Ответ написан
    Комментировать
  • Как сделать выбор вида?

    @Cr2ed
    На вскидку:
    при выборе вида вешается класс на div содержащий эти элементы, а далее дело за css стилями.
    Ответ написан
    Комментировать
  • 16 лет. Идти во фриланс или начинать junior'ом в конторе?

    DevMan
    @DevMan
    на галеры. в смысле в контору.
    если контора нормальная:
    1. быстрее подростешь в проф.плане
    2. увидишь/поймешь как устроена разработка ПО
    3. прокачаешь коммуникационный скил

    а потом уже можно на фриланс, если захочется свободы.
    Ответ написан
    Комментировать
  • Зависает мобильная версия сайта?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Причины тормознутости сайта:
    • Картинки в слайдере по 3000 пикселей.
    • Куча css файлов вместо 1 минифицированного
    • шрифтов куча, хотя одного хватило бы, да и к тому же подключен, например ROBOTO не оптимально, с греческим начертанием, расширенной латиницей и т.д. Зачем?
    • js фалов вообще миллион, хотя страницы видеть нечего, явно 80% можно в топку.
    • мелкие иконки в спрайт можно запихнуть
    • в header много js подключено, уверен что многое можно подключать перед </body>
    • WP тоже не добавляет скорости

    Ну и классика:
    https://validator.w3.org/nu/?doc=https%3A%2F%2Fgym...
    https://developers.google.com/speed/pagespeed/insi...
    Ответ написан
    3 комментария
  • С помощью каких инструментов создают подобные проекты?

    hol
    @hol
    ¯\_(ツ)_/¯
    Что-бы не задавать таких вопросов установи Wappalyzer/
    Ответ написан
    Комментировать
  • Какой необходимый уровень знаний для junior React.js Разработчика?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    UPDATE: реальные тестовые задания и разборы здесь, ответы на все вопросы из поста в моем блоге об обучении react.

    не включая основы js

    Извините, но стандартная задача, про "напишите функуцию add, которая при вызове add(1)(2) вернет 3" - многих положила на лопатки =) Поэтому будьте готовы..

    React
    0) Какую проблему решает react ?
    1) Мгновенно ли срабатывает setState? Если нет, то как выполнить код, который 100% выполнится после того, как новый state будет установлен?
    2) Зачем многие постоянно пишут в constructor: this.FUNCTION_NAME = this.FUNCTION_NAME.bind(this) и отсюда вопрос вытекает чему равно this в разных местах вашего компонента...
    3) в каких методах жизненого цикла стоит выполнять xhr запросы? В каких стоит "обновлять state на основе props"?
    4) Что будет если вызвать this.setState в render методе компонента?
    5) зачем нужен componenWIllUnmount, приведите пример..
    6) Контролируемые, не контролируемые компоненты
    7) Как организовать роутинг в реакт приложении? (ответ: взять react-router - подходит, но было бы круто, если бы вы рассказали, как он примерно работает)*
    8) Зачем нужны propTypes? Что происходит с ними в production сборке?
    9) Как можно удобно "отлаживать" чужой код приложения, написанного на react (намек в сторону React devtools)
    ...

    Redux
    0) Какую проблему решает redux?
    1) Зачем многие создают типы действий NAME_REQUEST / NAME_SUCCESS ? А заодно, что такое "действие", а что такое "создатель действия"...
    2) Что такое редьюсер? Можете написать простой редьюсер без react/redux?*
    3) Для чего нужен redux-thunk? Как он работает? Напишите (можно псевдокод) асинхронный создатель действия (либо, если надоело говорить "терминами" - асинхронный aciton)
    4) Как компоненты приложения получают "пропсы" из "стора"?*
    5) Можно ли (и считается ли это нормальным) использовать state, если используется Redux?
    6) Почему в reducer'ax мы возвращаем новые объекты? Приведите пример, когда вы возвращаете новый объект, а когда тот же самый.
    6.5) А так же, "как в js вообще это работает?". Например:
    let obj1 { name: 'Test', age: 100 }
    let obj2 = obj1
    obj2.name = 'Test_new'

    Что будет в obj1, почему? В каких случаях объекты могут быть равны?
    7) Что возвращает функция connect (из react-redux)?
    ...

    Общее:
    0) package.json
    1) Webpack, gulp, etc...
    2) node.js
    3) promise

    Что-нибудь практическое:
    1) Как бы вы валидировали форму, если ошибки валидации приходят после submit'a ее на сервер..
    2) Почему не работает следующий код, сделайте чтобы работало
    ...
    На истину не претендую, но такие вопросы имели место быть на собеседованиях. В беседе можно многое разузнать дополнительными вопросами и так далее. Так же, если часть вопросов вам неизвестна - не беда, многие и на половину ответить не могут.

    p.s. возможно дополню...
    p.p.s. звездочкой отметил, на мой взгляд не самые необходимые для junior-собеседования вопросы.
    Ответ написан
    31 комментарий
  • В чём необходимость веб-фреймворков для заказчика?

    reaferon
    @reaferon
    Стоит убеждать заказчика по поводу фреймворков, или я неправ

    Имхо, стоит.
    Кода я заказываю верстку, одно из условий: без boootstrap и других CSS-библиотек и без jquery-плагинов (к самой jQuery я более лоялен, ее использовать можно и нужно).
    Вы можете отговаривать заказчика, используя в качестве агрумента основной минус всех этих библиотек: избыточность.
    Они увеличивают время загрузки и загружают браузер тем, что никогда не будет использовано на сайте. Встречал проекты, где 300кб бутсрапа использовались исключительно для сетки.
    То же с плагинами jquery - они универсальны и в силу этого избыточны. Ну, в большинстве случаев.
    Ответ написан
    3 комментария