• Как сверстать радиусы внутри блока?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    https://jsfiddle.net/dcLhk2pn/

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

    Смысл в этом есть лишь 1 на мой взгляд. Когда эти круги нужно анимировать, тогда да. А просто так, пустая трата времени
    Ответ написан
    Комментировать
  • Почему в chrome svg не применяется градиент?

    RAX7
    @RAX7
    Похоже, что хром вычисляет размеры градиента в зависимости от размеров svg, где был определен этот градиент, а не от размеров, где он был использован. По умолчанию svg имеет размеры 300x150 и значение атрибута градиента y1="100%" вычисляется как y1="150px". Далее этот градиент применяется к svg с viewBox="0 0 10187 8873", в итоге градиент имеет высоту 150 единиц, а высота самого svg при этом 8873 единицы, от чего у иконки id='a' и появляется тонкая синяя полоска высотой ~1.7% (150/8873 * 100 = 1.69052%) . Для наглядности можно добавит градиенту атрибут spreadMethod="repeat", от этого некоторые иконки станут полосатыми.
    Как исправить? Очевидный способ - не использовать значение атрибутов x1, x2, y1, y2 в процентах. Нужно подогнать все иконки под один размер viewBox, например 256x256 и для градиента задать атрибуты y1="256" x2="0"
    Ответ написан
    1 комментарий
  • Куда семантичнее класть H1 — в HEADER или в MAIN?

    @eirenka
    В header, по стандартам html5. Такая инфа была в ЯндексПрактикуме
    Ответ написан
    1 комментарий
  • Насколько стабилен Upwork в данное время, и стоит ли вливаться туда как разработчик Wordpress\PHP?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    +1 к ответу Илья С и несколько дополнительных моментов от WordPress-разработчика с пометкой top-rated:

    стоит ли вливаться туда как разработчик Wordpress\PHP

    Работы по этим направлениям очень много. Прям очень. На любой кошелек и уровень. Только пишите WordPress :)

    и заработать свою копейку на масло с хлебом

    На Upwork нельзя работать на полшышечки. Ну, технически можно, но выхлоп будет так себе. Чтобы хорошо и стабильно зарабатывать на Upwork нужно сделать это full-time работой. И сначала ты работаешь на профайл, а потом профайл работает на тебя.

    Впрочем, "минимум 5-7 свободных часов в сутках" вполне может хватать. Но сразу учитывайте, что не все из этих часов будут реально billable - часть времени будет уходить на организационную работу, мониторинг, биды, начальную переписку, изучение необходимого для решения задачи и тд. Условно при 5 часах в день, оплачиваемыми дай бог чтобы 3 было. А на первых порах и того меньше.

    Насколько сложен старт для новичка(в фрилансе) на Upwork? Какую обычно ставку ставят "начинающие" на фрилансе разработчики, нужно ли пытаться демпинговать что бы найти клиента


    Самое сложное - взять первые заказы. Несколько очень важных моментов:

    - определите свою ставку, основываясь на реальных знаниях / опыте / возможности решать конкретные задачи (и помните, что по мере роста вы ставку можете поднимать)
    - не демпингуйте и не ввязывайтесь в бессмысленную гонку за клиентов-нищебродов
    - пропишите себе понятия "идеальный клиент" и "идеальный проект", фильтруйте и отзывайтесь только на них
    - жестко фильтруйте клиентов (по отзывам, рейтингу, среднему чеку, средней ставке, потраченным деньгам и тд)
    - не спешите. Проект рано или поздно найдется, не хватайтесь за первый попавшийся, если он вам не совсем подходит или клиент стремный (см. выше)
    - изучите все материалы, которые найдете по поводу того как фильтровать проекты и как писать хорошие cover letters - это ваш главный инструмент продаж

    Английский у меня на уровне pre-intermediate ... будет ли это камнем преткнования, или можно использовать чат?)

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

    Да, если английский свободный (и в профайле стоит галочка что это подтверждено отзывами предыдущих клиентов), то для некоторых клиентов / проектов это может иметь значение. Но это уже специфика.
    Ответ написан
    5 комментариев
  • Как перейти от ACF PRO на Gutenberg?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    ACF Pro помогает создавать блоки для Gutenberg с помощью PHP, это удобно и значительно ускоряет работу. Но если надо полностью отказаться от ACF Pro и использовать только Gutenberg, то придется запилить свои блоки (привет React) или же найти готовые, подходящие под ваши задачи.

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

    Простой пример - блок testimonials. На ACF мы создаем обычно рипитер, в нем нужные поля которые будут повторяться, скажем - text, name, photo (текст отзыва, имя клиента и его аватар). А на gutenberg достаточно иметь блок testimonial с этими же полями, и просто вставить его X раз подряд - вот вам и повторяющиеся данные.
    Ответ написан
    Комментировать
  • В чем разница между терминалом, эмулятором терминала и консолью?

    icCE
    @icCE
    youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
    Консоль - это совокупность устройств, которые позволяет вам взаимодействовать с устройством.
    Раньше консолью мог быть обычный принтер (в принципе и сейчас может), тогда это будет текстовая консоль/терминал. Не надо путать с текстовым интерфейсом.

    Терминал - По сути это так же устройство для ввода и вывода информации но
    >Консоль, это уже обёртка над терминалом.
    В корне не верно.

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

    В итоге - консоль, это работа непосредственно с самим устройство,терминал -некая удаленная работа.
    В графической среде мы запускаем эмулятор терминала, который дает нам доступ к "консоле" текущий или удаленной машины.
    Ответ написан
    Комментировать
  • Что такое Redux простыми словами?

    jQuery "видит" весь DOM целиком. И манипулирует DOM-ом, доступ к которому предоставляет браузер. Но можно и по-другому.

    Давайте рассмотрим такую архитектуру, в которой все компоненты связаны между собой древовидно. То есть, отдельно взятый компонент может общаться со своими дочерними и со своим родительским. Если нужно, чтобы между собой пообщались два компонента в разных ветках, то в конце концов их общение происходит через общего предка. Такой подход вполне согласуется с древовидной структурой HTML.

    Затем отделим состояние от поведения и представления. Состояние можно описать статической структурой данных, JSON-ом, например. А поведение - это чистая функция, из предыдущего состояния и некоего события (действия) делающая следующее состояние. Представление же "знает", как визуализировать состояние. Можно этот принцип воспроизвести от самых мелких компонент (не имеющих потомков) в нашем дереве и до корня. Тогда весь жизненный цикл приложения можно изобразить как цепочку состояний от некоего начального и до текущего, ведомую событиями (действиями).

    Для того, чтобы это всё отобразить, не обязательно в ходе вычисления следующего состояния (или представления) сразу манипулировать DOM-ом. Можно построить из состояния и его представления фрагмент DOM-а, каким он должен получиться. А потом вычислить diff между этим построенным фрагментом (виртуальным DOM-ом) и реальным браузерным. И этот diff применить к реальному DOMу. Один раз. Получится быстро.

    Насколько мне известно (поправьте, если это не так), Redux заимствован из Elm-а. Elm - это экосистема и функциональный язык, компилируемый в JS, сделанный для того, чтобы фронтэнд можно было разрабатывать удобно, быстро и без runtime-ошибок. По синтаксису - это адаптация Haskell-a. Ключевым элементом Elm-а является как раз вот эта самая архитектура. Советую подробнее почитать в первоисточнике. https://guide.elm-lang.org/architecture/

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

    С точки зрения функционального программирования, при таком подходе текущее состояние является результатом функции leftFold, применённой к исходному состоянию, последовательности событий (действий), приводящих к текущему и функции, умеющей вычислять следующее состояние.
    Ответ написан
    Комментировать
  • Как развиваться дальше во фронтенде?

    lamer350
    @lamer350
    กำลังสูงสุด
    Вы должны понимать что в команде никто вас не будет тянуть. Перспективный разработчик это тот который сам может решить проблему, найти решение в гугле, правильно задавать вопросы... А отвлекать команду чтобы справится с вашей ерундой - кроме негатива ничего хорошего не добьетесь.
    Единственное что вы сейчас делаете не так - это подход к решению ваших проблем. Поймите, смена офиса, команды - не сделает вас умнее, опытнее! Нужно искать причину в вашем подходе к работе, постараться оптимизировать ее, ускорится как в работе так и в получении знаний. Вот правильный вопрос будет, с какими проблемами чаще всего вы сталкиваетесь что это отнимает у вас много времени?
    Ответ написан
    1 комментарий
  • Почему не работает анимация в google chrome?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Что за ноль?
    animation: rotate-loading 1.5s linear 0 infinite normal;
    это animation-delay? К нему нужно указывать постфикс s
    animation: rotate-loading 1.5s linear 0s infinite normal;

    так будет работать
    Ответ написан
    1 комментарий
  • Как сделать бэкграунд как на сайте дискорда?

    @litash
    Привет, можешь ознакомится с matthew.wagerfield.com/parallax в своё время очень выручил :) Он не сложен усвоении. Легко настраивается. Частицы делаешь сам и стилизуешь их в css, можешь и дополнительную анимацию для частиц в том же css и написать. А движение когда водишь мышкой - уже поможет плагин.
    Ответ написан
    1 комментарий
  • Как устранить ошибку в Gulp?

    leon9208
    @leon9208 Автор вопроса
    Начинающий web-developer
    Ошибка была в .pug файле, плохо что ошибка плохо читается в консоли, как например если лишний отступ добавляешь, он указывает на строку ошибки, а тут на модуль.

    Выявил ошибку путем переборки тасков вручную, всё работало кроме таска .pug, оказалось лишнюю КАВЫЧКУ добавил
    Ответ написан
    Комментировать
  • Какая из посадок верстки на Wordpress более актуальная и правильная?

    entity1313
    @entity1313
    Веб-разработчик, проект-менеджер
    Правильный путь - следовать API wordpress и особенностям CMS.

    Выкинуть всё из стандартной темы и забить туда свой код - это значит либо обречь тему на гибель после того, как кто-то нажмёт на кнопочку "обновить", либо сделать тему необновляемой. Ну и, соответственно, это не WP-way.

    Прежде чем делать что-то с темой, нужно разобраться, делаете вы тему с нуля, или обновляете существующую.

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

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

    Если в планах разработка темы с нуля - то, как уже отметили, оптимальным будет взять готовую стартер-тему вроде underscores. Делать тему с нуля имеет смысл, если вы не хотите тащить кучу мусора из существующей темы, или разрабатываете что-то, что плохо встроится в существующие варианты.

    Изменяемые блоки делаются или через визуальный редактор (Visual Composer или другие), или через механизм опций, или через плагины вроде ACF. Причём ACF использовать не обязательно, у WP есть интерфейс для произвольных полей.

    В плане того, что использоваться - ACF, фреймворки, или ещё что, логика примерно такая:
    1. Общие элементы темы вроде лого, копирайта, контактных данных - это опции (свой код для страницы настроек), фреймворки опций (Redux, ACF-про ) или кастомайзер WP. Последнее кажется наиболее правильным и соответствующим развитию WP - там почти рукой подать до визуального редактирования уже.
    2. Контент страниц - стандартный интерфейс для произвольных полей, ACF или другие решения. С ACF причём нужно быть аккуратным, он может упереться в ограничения сервера по количеству полей или давать неверные данные (писал бакенд для мобильного приложения через WP REST API и хлебнул лиха от сохранённых через ACF данных, привязанных к таксономиям)

    В плане кода - всё, что должно решаться через API, решается через API. wp_enqueue_script/style для скриптов и стилей, wp_head(), wp_footer() в соответствующих местах. Вариантов превратить разработку темы в извращение тут очень много, доводилось видеть много всякого от неопытных разрабочтиков. И какого-то универсального решения всего этого избежать, возможно, просто нет. Кроме как учиться, смотреть гайды и лучшие практики, следить за обновлениями WP и рекомендациями для разработчиков.
    Ответ написан
    5 комментариев
  • Можно ли писать код на php и использовать встроенный в него шаблонизатор?

    @dimoff66
    Кратко о себе: Я есть
    Придумайте какой-нибудь проект. Напишите как-нибудь - неважно как - правильно неправильно, лишь бы работало. Сделайте свой шаблонизатор в конце концов. Потом почитайте что говорят одни и другие, примерьте на свой проект и поймете, как легче проще и удобнее. Пока весь ваш текст одна сплошная размытая абстракция.
    Ответ написан
    1 комментарий
  • Как узнать какой js-скрипт вызвал модальное окно?

    @eyeless_watcher
    Если это окно является dom-элементом (а не открывается через window.open), вы можете посмотреть, куда именно оно вставляется и поставить точку останова на родительском элементе, которая будет срабатывать на изменения его поддерева.
    В devtools хрома это делается на закладке Elements -> правый клик по нужному элементу -> Break on -> subtree modifications.
    Ответ написан
    Комментировать
  • Возможно ли решить задачу без циклов?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Возможно, но это извращение (никогда так не делайте!):
    eval(JSON.stringify(array).replace(/[^\d]+/g, '+') + '0') // 31

    Перевести массив в JSON-строку, все не-цифры заменить на знаки «+» и выполнить полученное выражение.

    Например:
    const a = [1, 2, [3, 4, [[5, 6], 7], 8]];
    // Вжух! и получится строка:
    "+1+2+3+4+5+6+7+8+"
    Ответ написан
    4 комментария
  • Микс БЭМ и bootstrap-сетки, это читабельно?

    dom1n1k
    @dom1n1k
    Меня порой поражает своеобразие мышления отдельных персонажей, которые умудряются простые в общем-то принципы бэма извратить в нечто странное (это очень мягко говоря). Вот тут описан один из таких примеров. А потом пишут статьи на хабр, какой бэм плохой :)
    Ответ написан
    7 комментариев
  • Микс БЭМ и bootstrap-сетки, это читабельно?

    anxieter
    @anxieter
    Я как -то пытался такое провернуть. Выходит нечитаемая каша. Согласен с Алексеем Николаевым.
    Ответ написан
    Комментировать
  • Микс БЭМ и bootstrap-сетки, это читабельно?

    Get-Web
    @Get-Web
    Front-End Developer
    Как по мне это абсолютно бесполезные миксы:
    <div class="container  page-header__container">
    <div class="row  page-header__row">

    Там всего пара свойств, зачем их переопределять, создайте свои блоки по БЭМ с нужными вам свойствами, в данном случае достаточно просто убрать container и row

    Вот это вообще не микс:
    logo page-header__col-logo
    либо так: page-header__logo
    либо с модификатором ключ-значение: page-header__logo page-header__col_type_logo

    Меню и мейл почти тоже самое:
    либо page-header__main-nav
    либо все же если акцент на col, то пара ключ-значение: page-header__col page-header__col_type_menu, а еще лучше абстрактно page-header__col_size_small смотря какие стили собираетесь вешать...

    В общем даже в таком коде можно определить для себя какой-то единый стандарт, а у вас все перемешано вопреки методологии..
    Ответ написан
    2 комментария
  • Как сверстать правильно заголовок с линией на фоне?

    werty1001
    @werty1001
    undefined
    https://codepen.io/werty1001/pen/BqwzaL - подход неидеальный, но это чисто декоративный элемент, поэтому более менее можно забить
    Ответ написан
    1 комментарий