• Есть ли сервисы онлайн генерации формы html, чтобы я мог забрать её к себе на сайт в виде строчек html?

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

    EaGames
    @EaGames
    Front-end developer
    Так ?
    Ответ написан
    Комментировать
  • Как исправить синтаксис PHP?

    xpert13
    @xpert13
    Full Stack Developer
    Если просто посмотреть на подсветку синтаксиса, то уже можно заподозрить что-то неладное:

    hg77LI8.png
    Ответ написан
    Комментировать
  • Оцените качество кода?

    rockon404
    @rockon404
    Frontend Developer
    1. А теперь главный вопрос. Зачем было в модуле ES6 реализовывать module pattern? В этом нет абсолютно никакого смысла. Практика практикой, но все же.

    2. В наличии переменной posts так же нет никакого практического смысла.
    const { data } = await HTTP.get('posts');
    3. Функцию:
    async function _getPostById(id) {
        const post = await HTTP.get(`posts/${id}`)
        return post
      }


    Можно смело заменить на:
    const  _getPostById = id => HTTP.get(`posts/${id}`);

    То же можно сделать и с функцией _getPosts.
    4. Где-то let, где-то var, где-то const. Никакой логики в предпочтении одного ключевого слова другому при этом нет. Почитайте современные гайдлайны airbnb, например.
    5. Точки с запятой где-то есть где-то нет. Читать такой код неприятно.
    Ответ написан
    Комментировать
  • Оцените качество кода?

    longclaps
    @longclaps
    В жизни ничего прекраснее не видел.
    Пешите ещо.
    Ответ написан
    3 комментария
  • Прав ли разработчик?

    прав
    Ответ написан
    Комментировать
  • Прав ли разработчик?

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

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

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


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

    Madeas
    @Madeas
    UI / UX Designer, Frontend Developer
    Не берусь судить, но если я правильно понял ваш вопрос, то вы просто скопировали чей-то шаблон, перенесли на вп и поставили свое лого, типа это ваша разработка. Все верно? Если да, то фактически сайт остался прежним, т.е. идея, стиль и дизайн в целом, по прежнему, принадлежат его создателю. Вы лишь переделали верстку под cms и сделали мелкие правки.
    Ответ написан
    4 комментария
  • Как изменить запрос с msql на msqli в php7?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ещё один человек, который учится писать, не научившись читать?
    mysqli_query()
    Ответ написан
  • Правильно ли я выполнил задание?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Нет, потому что с вашим подходом код reverseString(`test`) === `tset`; упадёт с ошибкой.
    Ответ написан
    1 комментарий
  • Цикл for в javascript?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    "i+2" => будет всегда 12 :)
    А условие пока меньше 20 вот он и крутится)
    Есть вычисление, но нет присваивания нового значения переменной - обновления.
    Ответ написан
    Комментировать
  • Система лайков без авторизации?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Через куки выставляете флаг, что он уже голосовал.
    2. На сервере - записывайте IP и блокируйте на 6 часов.
    3. На сервере каждые 24 часа отсеивайте (нормализуйте показатель) "накрутку": когда средняя периодичность оценки материала (например, 1 час) значительно превышает исследуемый интервал (т.е. голосовали часто; например, каждые 5 секунд на протяжении любого промежутка времени). Т.е., ищем явное (более 20-30% от среднего) среднестатистическое модульное отклонение среднего интервала оценки в сегменте (временном интервале) голосов с высокой частотой. Нормализуем к одному голосу и обновляем показатель.
    В целом - всё..

    PS: Есть более сложные варианты реализации с fingerprint2, evercookie и аналитикой просмотров и переходов (всё в совокупности).

    PS2:
    1. Геоблок - т.е. учитывать только определённые страны/регионы по IP-адресу (добавил Скворцов - Спасибо!)
    2. PROXY-чекер: проверка пакета на содержание PROXY-заголовков. Разумеется, только transparent-proxy, т.е. не анонимные, которые передают реальный IP.
    Ответ написан
    Комментировать
  • Правильный подход к тестированию в приложениях на php?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    coverage говорит о покрытии тестами конкретных строк. Если во время прогона тестов не были затронуты какие-то строки исходного кода, то coverage будет менее 100%. В среднем считается что хорошее покрытие это > 80%. 100% достичь слишком трудно и дорого (и не нужно).

    > И если я напишу еще 1000 такого типа тестов это лишь будет гарантировать, что всё хорошо на этих 1000 наборах данных, а вдруг ошибка как раз в другом, 1001-м наборе?

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

    Из интересного:

    * property-based testing https://en.wikipedia.org/wiki/QuickCheck
    * bdd behat.org/en/latest/guides.html
    * browser tests https://codeception.com/
    * как писать тесты (концептуальная история) https://ru.hexlet.io/blog/posts/how-to-test-code
    Ответ написан
    2 комментария
  • Правильный подход к тестированию в приложениях на php?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Сначала нужно определять граничные случаи и выбирать тест внутри этих диапазонов.
    Например в вашем случае используется два целых числа:
    1. Даст ли метод верный ответ, если одно или оба числа отрицательные или равны нулю
    2. Даст ли метод верный ответ, если в процессе произойдёт переполнение переменной
    Остальное можно придумать в зависимости от декларации и кода метода.
    Поэтому вполне можно проверить пары:
    5, 19
    -5, -19
    5, -19
    -5, 19
    0, 19
    5, 0
    16874681246, 1254781628

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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    При динамике - мы грузим приложение (SPA) только один раз (затем - только нужное) - сделать сложно, но работает быстро и легко превращается в мобильное приложение.

    includeHTML - может загружать части разметки HTML как через HTML-тег, так и функцией. Асинхронно, синхронно, поддержка call-back'а, корректная рекурсивная загрузка всех вложенных в друга частей.

    Относительно индексации и SEO:
    updated-javascript-crawling-and-indexing

    А при статике - грузим каждый раз всё при каждом переходе - сделать проще, но тратится больше серверных, сетевых и клиентских ресурсов, затрачивается больше времени на загрузку и визуализацию.
    Ответ написан
    9 комментариев
  • Выбрать одно из двух. Либо input type="text", либо select. Как можно реализовать?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Короче вот вам мой таск лист для решения этой задачи.
    1. Гуглите что такое события и как с ними работать. Запрос в гугл "События JS"
    2. Гуглите событие изменения select. Запрос "event change select js" или "Событие изменения select js"
    3. Гуглите, как получить значение текущего селекта. Запрос "get select value event js"
    4. Гуглите, как сделать так, чтобы поле ввода стало неактивным. Запрос "disable input js"

    Вроде все.
    Ответ написан
    Комментировать
  • Почему синхронный forkJoin работает некорректно?

    0xD34F
    @0xD34F Куратор тега JavaScript
    в консоль выводится два значения, причём непонятно каким образом сформированные

    Я вижу правильное выполнение так: <бла-бла-бла>

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

    Открываем, читаем:

    When all observables complete, emit the last emitted value from each.

    Последнее значение из каждого. Ну и всё.
    Ответ написан
    2 комментария
  • Как при закрытии модального окна прятать input'ы?

    0xD34F
    @0xD34F
    Пытаясь удалить класс, вы зачем-то указываете точку в начале его имени.

    Непонятно, зачем нужны отдельные классы для каждого типа input'ов. Достаточно одного общего:

    #exampleModal {
      .form-group {
        display: none;
    
        &.active {
          display: block;
        }
      }
    }

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

    Вместо того, чтобы ловить клики где бы то ни было, следует подписаться на событие закрытия диалога:

    $('#exampleModal').on({
      'show.bs.modal'(e) {
        const recipient = e.relatedTarget.dataset.whatever;
    
        $('.modal-title, button[type="submit"]', this).text(`Add ${recipient} in system`);
        $(`.${recipient}`, this).addClass('active');
      },
      'hide.bs.modal'() {
        $('.form-group.active', this).removeClass('active');
      },
    });

    Или, другой вариант - при открытии диалога скрывать все input'ы перед показом нужных:

    $('#exampleModal').on('show.bs.modal', function(e) {
      const recipient = e.relatedTarget.dataset.whatever;
    
      $('.modal-title, button[type="submit"]', this).text(`Add ${recipient} in system`);
      $('.form-group', this).removeClass('active').filter(`.${recipient}`).addClass('active');
    });

    Косяк, не относящийся к проблеме, но упомянуть стоит - одинаковые id у input'ов. Во-первых, id должны быть уникальны, в этом как бы и есть их смысл. Во-вторых, при одинаковых id клик по любому label'у вместо соответствующего ему input'а устанавливает фокус на первый с таким id.

    Исправленный вариант можно глянуть здесь.
    Ответ написан
    3 комментария
  • Chmod -R 777 / или как я убил систему одной командой?

    Olek1
    @Olek1
    Наймите сдельно девопса, срочно, чтобы не потерять данные
    Ответ написан
    7 комментариев
  • Json или html что лучше?

    @codemafia
    Самоотвод
    JSON - универсальнее, нет привяки к шаблонам сервера, меньше по размеру
    Ответ написан
    3 комментария