Задать вопрос
  • Есть идеи как это реализовано?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Сама линия делается по вот такому принципу с помощью SVG:

    Появление иконок - так же. Заливка надписей с помощью линии - это прямо задача для SVG-масок. Дальше к этому прикручивается кастомный скролл, поскольку сайт нестандартный - проще руками его сделать, чем пытаться доделать какое-то стороннее решение. Плюс немного CSS-анимаций для всего остального. Дальше много абсолютного позиционирования чтобы это все подогнать. Как говорится, ябзаверстал.
    Ответ написан
    Комментировать
  • Есть ли реальные преимущества использования нативных переменных вместо препроцессорных?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    1) CSS переменные, это реально переменные, а не константы, как в случае с SCSS. т.е. вы можете в media переопределять их значения, и все зависимые свойства будут перерисованы. Пример (меняйте ширину окна, чтобы увидеть результат) https://jsfiddle.net/Vlad_IT/Lh514n37/
    2) Вы можете использовать переменные css внутри SVG. Очень удобно делать hover эффект для сложной иконки, просто меняя нужные переменные. Примеры https://jsfiddle.net/Vlad_IT/q7smxrhz/ https://jsfiddle.net/Vlad_IT/30ewxLks/
    3) Вы можете менять и читать css переменные через JS. Пример https://jsfiddle.net/Vlad_IT/5pyn2Lo9/
    4) Вам не нужно использовать препроцессор.
    5) Они каскадные. т.е. если есть глобальная переменная, например цвет красны, то в определенном блоке вы можете ее переопределить, и тогда в дочерних блоках уже будет переопределенный цвет. Пример https://jsfiddle.net/Vlad_IT/4qbkLr1a/2/
    Ответ написан
    1 комментарий
  • Как правильно фильтровать и мапить данные при реализации API на Symfony?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    1. symfony/validator
    $violations = $this->get('validator')->validate($dto);


    2. symfony/serializer
    $dto = $this->get('serializer')->deserialize(
        $request->getContent(),
        DTO::class
    );


    Все это можно красиво обернуть в Action Argument Resolving, т.о. код будет выглядеть что-то вроде
    public function editAction(DTO $dto)
    {
    
    }

    где в $dto уже будет валидный объект
    Ответ написан
    9 комментариев
  • На каких ресурсах разработчику можно найти неофициальную удаленную работу: хочу вторую работу,кроме официальной?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    fl.ru, upwork.com, freelance.ru, freelancehunt.ru - предела зарплаты не будет, а потом и вовсе, рекомендую бросить основную работу и перейти полностью туда.
    Ответ написан
    5 комментариев
  • Какая сейчас ставка у верстальщиков?

    vicodin
    @vicodin
    Имею некоторый опыт
    У начинающего 15-20$
    Средний 25-40
    Хороший 50-70
    Выше найти уже труднее

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

    Вот это правильно) не нужно слушать "крутых" тостерщиков, которые говорят, что вёрстка не нужна, а потом смотришь на вёрстку 95% работяг, состоящую из кала и понимаешь, что ниша вообще не имеет конкуренции.

    Но я конечно же говорю о remote позициях в компаниях US/EU, в России с этим тухло даже в топовых компаниях.
    И да, сейчас в коменты набегут дядьки, которые будут кричать, что айтишник больше 20$ в час никогда не заработает :D
    Ответ написан
    9 комментариев
  • Какие существуют альтернативы page builder для Wordpress?

    vova87
    @vova87
    Разработка сайтов на wordpress
    1. Я бы не советовал использовать page builder'ы, т.к. они в большинстве сильно нагружают сайт.
    Самые распространенные:
    WPBakery( он же visual composer)
    Fusion Page Builder

    Возможно еще какой то, по памяти не вспомню.

    2. как альтернатива - ACF
    Ответ написан
    Комментировать
  • Есть ли смысл уже в 2к19 использовать float?

    @zetproj
    Float изначально предназначался для обтекания блока текстом, а находчивые разработчики запрягли его делать расстановку блоков. Но с приходом flex'ов все встало на свои места, float'ы для работы с обтеканием, flex'ы для создания гибких макетов.
    Ответ написан
    1 комментарий
  • Есть ли смысл уже в 2к19 использовать float?

    LenovoId
    @LenovoId
    svg, css,js
    1) float использовать для обтекания
    2) flexbox для позиционирования
    а теперь вопрос к вам : почему так сложно написать 2019 но с таким кол-вом знаков пишете 2к19 ?
    Ответ написан
    6 комментариев
  • Стоит ли использовать препроцессор отличный от SCSS?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    О, мой любимый холиварчик! =))

    Начнем с indent vs brackets. Код с отступами лаконичен, по-своему красив, но обладает фатальным недостатком — его нельзя просто так взять и скопипастить из одного места в другое. Отступы обязательно нарушатся, IDE не поймёт и всё развалится. Нужно вручную поправлять, чтобы все встало на свои места. Также в процессе рефакторинга нарушаются отступы и появляется геморр. Второй серьёзный недостаток — это несовместимость с native css. Нельзя взять кусок css кода из интернетов и вставить в свой файл, его нужно вручную (или онлайн конвертером) переформатировать под нужный синтаксис. Всё это лишние телодвижения, лишние сложности, трата времени. Поэтому только скобки. Благо скобочный синтаксис поддерживается во всех трех препроцессорах.

    В пункте 3 вы ерунду написали. Никто в серьезном проекте не будет подключать браузерный компилятор стилей. Даже при использовании less стили все равно обрабатываются заранее и на продакшн выкладывается готовый css файл.
    Так что это преимущество less не стоит брать во внимание от слова "вообще".

    [Написанное в следующем абзаце, исключительно моё мнение, а не общепризнанные факты]
    Почему же sass выигрывает? Во-первых, это достаточно мощный препроцессор, с огромным количеством возможностей. Во-вторых, и я думаю, это главное, он единственный, компилятор которого написан на "С" -> скорость работы. Другие два написаны на javascript. И в-третьих, исторически так сложилось. Стайлус крутой препроцессор, но он появился много позже остальных и возможно, еще не успел набрать популярность.

    В свою очередь у scss есть свои серьёзные недостатки.
    Первый — невозможно в scss/sass файл импортировать обычный css, он не будет включен файл, а будет заменен css-импортом. В других препроцессорах имеются специальные синтаксические конструкции для этого.
    Второй — отсутствие резолвинга путей, что другими так же предоставляется "из коробки". Приходится извращаться с прописыванием путей к картинкам. Проблема нивелируется при использовании вэбпака, но ведь не всегда он используется.

    Что касается меня, то я готов мирится с этими двумя недостатками sass. Остальные возможности их с лихвой перекрывают.
    На чем вам остановиться,я советовать не буду. Я свободно работаю со всеми тремя инструментами, но новые проекты всегда начинаю с использованием scss.
    Ответ написан
    4 комментария
  • Если нет возможности нанять одновременно frontend и backend разработчиков на проект, то кого нанимать первым?

    @coderxx
    keep calm and learn js
    Конечно вам нужно нанять бэкенд-разработчика, а фронт сделать своими силами в виде заглушек (т.е. максимально упрощенно, без дизайна, адаптива и т.д.) Когда логика будет готова, нанимаете фронтендера и он делает красиво и удобно. Сами подумайте, какой смысл делать обертку для несуществующего приложения? Мало ли что там и как будет в итоге.
    Ответ написан
    14 комментариев
  • Есть ли области в программировании, где не надо писать бизнес логику?

    @Siberian_Bear
    О. обожаю этот вопрос!

    Открою секрет - IT само по себе бесполезно. Как, например и логистика/грузоперевозки. Или охрана.
    IT должно облегчать другие сферы жизни. Программист должен писать что то, облегчающее другие сферы жизни.
    Обязательно надо в чём то разбираться:
    • бизнес/магазин - разбирайся с логикой заказов/покупок/возвратов
    • банк - логика движения, денег, валют, транзакций, проверок, откатов
    • движок игры - разбирайся с физикой. магнитизм, механика, свет/тень - все эти жизненные законы надо оцифровывать.
    • игра на готовом движке - тогда закапывайся в детали, какого размера ступеньки должны быть что бы соответствовать шагу игрока с учетом его скорости передвижения. здесь требования не таки сложные, но вот игра без таких деталей будет казаться г**ном
    • драйвера - разбирайся в железе, какую нагрузку держат - температура как повышается, сколько микроват где бегает.
    • МАШИННОЕ ОБУЧЕНИЕ???????? Это вообще жесть как надо миллион тематических свойств изучить чтобы заложить обучение. И эксперты области редко понимают чё тебе надо
    • data engeneer - вообще не область. Но даже тут надо понимать какие данные надо хранить/обрабатывать и с какой вероятностью нужны будут правки.
    • роботы - опять же физика движений во всех проявлениях
    • ИИ - психология, лингвистика.
    • парсинг текстов - опять же, лингвистика, еще и разных языков, грамматика, синтаксис. а может и стилистику языков надо учитывать
    • ...и т.д.


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

    И более того, есть мнение, что просто кодеры не нужны скоро будут. Нужны будут именно специалисты в определенных профессиях, которые могут перевести в программы свои идеи. Как раньше ученые статусные люди должны были уметь писать. Потом знать иностранные языки, потом владеть компьютерами/быстрым набором. Сейчас уметь запрограммировать.
    Ответ написан
    1 комментарий
  • Кого нанимать для разработки мобильного приложения: фриланс разработчиков или студию?

    @stratosmi
    Хотим сделать мобильное приложение заказа услуг для дома и комфортной жизни (репетиторы, фотографы, уборщицы и т.п). Будет отдельное приложение для клиентов и для исполнителей.


    Не только приложения. А еще + сервер (или что то вроде firebase, но в любом случае - не бесплатно).

    Бюджет на разработку 1-3 тыс. долларов


    Никого не нанимать. Забудьте.

    Впрочем, найдутся школьники, что согласятся. Но до ума не доведут.

    Стоимость подобного проекта - примерно в 10 раз больше.

    P.S.:
    Исполнители отдельные напрямую без студии - дешевле при прочих равных. Но вопросы организации работы - лежать будут на вас.

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

    Плюс дело не только в затратах вашего времени - а сможете ли вы организовать работу исполнителей?

    P.P.S.:
    Если студия дешевая, то она попросту наймет исполнителей - те же фриленсеров, что можете нанять и вы напрямую.

    Нормальная студия - существенно дороже.
    Ответ написан
    2 комментария
  • Почему у rabbitmq такая низкая производительность?

    @yarkin
    В гугле по словам "rabbitmq" и "rpc" выдаётся ссылка на оф.документацию по Direct reply-to, Вы пробовали такой механизм? Создание/удаление очереди ради получения одного ответа это очень накладно. 50/400rpc это вообще не о чём, даже для RabbitMQ (конечно всё зависит от выделенных ресурсов, хранению на диске и т.д.).
    Ответ написан
    2 комментария
  • Почему у rabbitmq такая низкая производительность?

    @asd111
    Тормозит из за того что для каждого ответа создается очередь. rabbitmq советует делать через direct reply to для повышения производительности https://pika.readthedocs.io/en/0.12.0/examples/dir...
    Ответ написан
    Комментировать
  • Почему у rabbitmq такая низкая производительность?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    Что-то подсказывает, что у вас странная архитектура...
    Ответ написан
    Комментировать
  • Верстка с нуля: какие основные этапы работы?

    Vlad_IT
    @Vlad_IT Куратор тега Вёрстка
    Front-end разработчик
    Использую vscode+webpack+pug+scss+бэм. Из физических инструментов, основной моник: lg ultrawide 29um69g, рядом прикручен моник от ноутбука повешенный вертикально, подключенный через универсальный скаллер.

    0) Запускаю Spotify :-)

    1) Произвожу установку всех необходимых модулей для сборки. В моем случае у меня набор конфигураций для webpack (отдельные файлы для pug, scss, static и.т.д., выбираю что нужно).

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

    3) Запускаю VS Code, открываю нужную папку.

    4) Пишу размету на Pug. Пишу с БЭМ, если встречаю повторяющийся блок, то открываю файл _mixins.pug, в который пишу миксины для повторяющихся блоков, например товаров, пунктов меню, каких-то блоков и.т.д. Pug умеет делать циклы, это ускоряет сильно.

    5) Когда HTML готов, начинаю делать каркас. Если дизайн сделан по сетке, определяю контейнеры, колонки, строки в свои классы (не пишу в html тучи классов аля col-md-6, а пишу в SCSS инклуды в нужные мне блоки, типа @include make-col(2) и.т.д.).

    6) Экспортирую картинки из Avocode. Очень делается просто, указываю папку и просто кликаю экспорт и ввожу название файла и расширения. Преимущественно для иконок использую svg, если нет svg, то ищу эту иконку в интернете (дизайнеры редко рисуют иконки сами, но зато любят вставлять их не в векторе). Если иконка простая, могу сам ее в inkscape обвести, ну и если нет, то экспортирую png в размере (благо авокод это позволяет, если конечно дизайнер не вставил в исходном маленьком размере). Когда есть контакт с дизайнером, трясу его, ибо растр это плохо для иконок.

    7) Пишу стили блоков из страницы. На этом этапе можно на втором монике параллельно смотреть футураму или
    Арчера :-) Но чаще на широком монике слева браузер, справа VS Code, а на втором монике Avocode (может меняться местами с браузером). Мысленно нарезаю страницу на блоки. Для каждого блока (БЭМ) создаю отдельный scss файл (кто-то даже для элемента создает, но мне лень), из него сразу выписываю все селекторы. Иногда могу сначала выписать все селекторы со страницы (но так лучше не делать, т.к. во время работы может потребоваться изменить что-то в разметке), но чаще для одного блока выполняю этот пункт и за ним сразу выполняю пункт 8, потом для нового блока опять 7 и 8 и.т.д.

    8) Пишу css код вместе с Avocode, у него беру нужные мне параметры (а он уже подставил в них переменные), и вставляю в мой код. И параллельно сверяю со скрином макета используя вот это расширение https://chrome.google.com/webstore/detail/perfectp...

    9) Пишу адаптив. Я не могу привыкнуть к методологии mobile-first, поэтому пишу всегда сначала полную версию сайта. Я понимаю, что это чревато всякими проблемами и это типа не модно, но мне норм.

    10) Медиа-запросы пишу прямо в блоках, для каждого блока/элемента/модификатора может быть отдельный медиа-запрос. Но для начала определяю breakpoint'ы для разных экранов (чтобы их не было сотни разных), если использую Bootstrap, то беру его breakpoint'ы.

    11) Добавляю анимашки. Даже если заказчик не просил отдельно (и если не указал отдельно, что нельзя), он все равно будет доволен, а с animate.css+onscreen.js это вообще работа 10 минут. Сложные анимации обговариваю отдельно, чтобы не сделать ненужную работу.

    11) Все снова сверяю, пишу скрипты где надо. Для слайдеров в 99% случаев подходит slick (с доработками конечно, но там хорошее API), для других случаев могу написать свой.

    12) Сдаю заказчику и жду ответа сидя на тостере/пикабу.

    Это чисто мой опыт, опыт фрилансера, не знаю, как делают другие и не могу на 100% утверждать что это 100% правильный способ. Я так и не смог заставить свой конфиг webpack правильно вставлять спрайты svg.
    Надеюсь чем-то поможет мой ответ.
    Ответ написан
    7 комментариев
  • Какой синтаксис использовать в sass?

    @coderxx
    keep calm and learn js
    Большая часть людей как раз таки не использует синтаксис отступов, а использует синтаксис scss как более близкий к нативному. Когда делаете такие утверждения, подкрепляйте их чем-нибудь.
    Ответ написан
    1 комментарий
  • Как выбрать архитектуру и БД для высоконагруженной системы?

    @stratosmi
    Добрый день! Хотел посоветоваться с опытными бэкэнд программистами.
    Встала задача создать высоконагруженный проект (Типо кассового решения). В базе данных через 1-2 года планируется , около 150млн записей у основной сущности (продажа).


    150 миллионов записей - это ерунда, а не высоконагруженное решение.
    У меня 5 000 записей в секунду создается на довольно дохлом (что-то около 500 рублей в месяц стоит хостинг) сервере VDS/VPS
    Два года? 150 миллионов - это за ... 9 часов.
    И да, я не считаю это решение высоконагруженным.
    Нагруженным - да.

    то есть нужно максимально быстрое чтение этих данных

    Нет.
    Людям не нужно снимать отчеты со всех данных сразу. Только часть данных интересует их.

    Если всё же нужны все данные сразу (ну какая-то общая статистика) - то на основании первичных данных выполняется агрегация (например, по ночам) и тогда отчеты будут строится вообще - мгновенно.

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

    Вот только если ваши 1000-5000 пользователей будут постоянно получать данные - только тогда это и можно назвать нагруженным решением.
    Как лучше хранить такие данные? в одной таблице? или можно разделить по разным таблицам, и держать связку какой пользователь в какой базе хранит.

    Это зависит от того что за данные.
    Что именно за данные.
    Сам пишу на mysql - потянет ли он такие объемы, на нормальном железе. Или нужно смотреть в сторону других БД?

    MySQL довольно быстр.
    Например, PostgreSQL более функционален. Но насчет скорости - не обязательно.
    потянет ли он такие объемы, на нормальном железе

    А в официальную документацию заглянуть?
    https://dev.mysql.com/doc/refman/8.0/en/limits.html
    150 млн. записей для современных СУБД и современных компьютеров (даже не на "нормальном железе") - это тьфу, а не нагрузка.

    P.S.:
    Для высоконагруженных систем формирования отчетов есть различные решения:

    1. Предварительная (ночная) агрегация данных
    2. Master-slave, где master только обновляет данные, а slave - только для отчетов.
    3. Специализированные, заточенные под конкретный вид данных СУБД (InfluxDB, Redis-Tarantool-Aerospike, ClickHouse пр.)
    Ответ написан
    4 комментария
  • К каким свойствам нужно добавлять префиксы?

    Martovitskiy
    @Martovitskiy
    Заинстальте autoprefixer и забудьте о рутинной работе)
    Ответ написан
    Комментировать