Задать вопрос
  • Почему директологи не хотят в штат?

    Потому что так проще про’быватся и ничего не делать
    Ответ написан
    Комментировать
  • Есть ли библиотеки JS для синтеза речи?

    Что значит "хорошее качество"?
    Синтез силами ОС будет считаться?
    Если да, то в браузере есть встроенное API для синтеза речи:
    https://developer.mozilla.org/ru/docs/Web/API/Web_...

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

    Adamos
    @Adamos
    Да все мы самоучки и пропустили "небесный инструктаж", как это называет Ричард Бах.
    Ощущение неполного понимания обозначает границу между тем, что вы действительно освоили, и тем, что еще нет. По мере накопления опыта граница будет расширяться, но не исчезнет никогда. Комфортно и уверенно вы будете себя чувствовать только в задаче, которую решаете не в первый раз.
    Добро пожаловать в профессию ;)
    Ответ написан
    2 комментария
  • Фрилансер кинул, сделав только часть задания. Можно ли вернуть деньги?

    @Alek1214
    Здравствуйте!
    Я на Хабр-Хабр захожу (время от времени!) практически с самого его существования, но зарегистрироваться решил только сейчас - так меня заинтересовала эта история. Заинтересовало не то, что кто-то кого-то якобы кинул на деньги - это пустяки, обычное дело на нашей необъятной родине, а то, что, во-первых, нашелся заказчик, который отдал аж 300 тыс. р. за изготовление 1 (одного!) сайта и что, во-вторых, нашелся "фрилансер" который за такие деньги и за такой срок (почти 2,5 месяца!!) ничего не сделал. Что это за сайт такой и что это за фрилансер???
    Дело в том, что я сам уже много лет занимаюсь сайтостроительством и точно знаю, что найдется масса фрилансеров, которые сделают полноценный сайт максимум за месяц и денег возьмут в 10 раз меньше, а то и еще меньше! (полноценный сайт - это многопользовательский сайт с форумом, блогами или онлайн магазин с массой категорий товаров и т.д. и т.п. с современным дизайном и функционалом).
    Поэтому у меня вопросы к уважаемому топикстартеру:
    1. На каком движке запилил Ваш сайт горе-фрилансер? Друпал? Джумла? Опенкарт? или...
    2. Неужели фрилансер стал делать сайт самостоятельно, с нуля? Тогда какой фреймворк он использовал? Симфонию? Зенд? или может быть писал сайт на каком-либо более экзотическом (для меня) языке типа Питон?
    3. На какой стадии готовности сайта фрилансер забросил проект? Нельзя ли дать ссылку на Ваш сайт?
    Заранее благодарю за ответы (если таковые будут - если нет, то ничего, я не обижусь)
    Ответ написан
    2 комментария
  • Как в Swiper отключить поддержку свайпов пальцем?

    Andrey_PSK
    @Andrey_PSK
    Обновим)
    allowTouchMove: false
    Дока
    Ответ написан
    Комментировать
  • Хочу написать фильтр мата, есть идеи как это можно реализовать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это война снаряда и брони, то есть она бесконечна. Её невозможно выиграть. Как только вы улучшаете броню, противник в ответ улучшает калибр снаряда, и так по кругу. Лучшим решением будет попытаться остановить войну, помешать её течению, а не наращивать мощь вооружения.

    Один из способов сделать это - перестать воевать, то есть сдаться. Тогда "игра" закончится. Те, кто пытался "победить систему", будут объявлены победителями и потеряют интерес к дальнейшей борьбе. Хотя останутся и те, для кого мат - это норма, и будут продолжать использовать его.

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

    Ещё приём - в дополнение к предыдущим - отсроченное наказание (модератором). "Игрок" не будет получать немедленное подкрепление в виде "молодец, обошёл фильтр", а будет вынужден ждать жюри. Однако ждать никто не любит, это тоже сильно бьёт по мотивации продолжать игру в сопротивление системе. Поэтому многие "партизаны" перейдут на сторону добра, ибо скучно.
    Ответ написан
    Комментировать
  • Как с помощью cron менять главную страницу сайта? каждый день новый html файл их 365?

    @rPman
    мини ликбез
    Есть два противоположных подхода к решению задачи, и выбор зависит от того, на сколько в принципе сложен сайт.

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

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

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

    Никто не мешает контент генерировать динамически и код стартовой страницы может выглядеть примерно так:
    <?php include date('d-m').'.html'; ?>где нужные страницы по дням лежат в файлах к примеру с именем вида 21-11.html

    можно попробовать совместить бонусы от статики, отдавая динамической страницей не саму страницу, а только редирект на ее статическое имя:
    <?php header('Location: http://www.example.com/'.date('d-m').'.html');?>
    тогда сразу в нужный момент времени при заходе на сайт будет автоматический редирект на нужную страницу, и при этом все будет быстро и красиво, но пользователям будет доступны страницы с предыдущих дней по их имени, и их придется как то скрывать, если это актуально (например средствами прав доступа или просто перемещая файлы в другой каталог отдельным скриптом, пусть и по крону)

    ну и вариант с кроном, когда файл index.html ежесуточно заменяется копией, команда в крон может быть примерно такой:
    cp /путь/до/исходных/файлов/`date +%m-%d`.html /путь/до/папки/веб/сервера/index.html
    Ответ написан
    5 комментариев
  • Можно ли для придания интерактивности на вэб-страницах в место javascripta использовать java?

    @alexalexes
    Стандарт html верстки не запрещает использования какого-то другого языка программирования, кроме js.
    <script type="text/ваш-язык-программирования"></script>

    Только вот незадача, кроме браузера, такое решение требует установки в ОС модуля среды выполнения - будь это java или silverlight, или что-то еще.
    Как правило, типичный пользователь не обладает таким роялем в кустах, у него есть только браузер и ему наплевать, есть ли в ОС какие-то специфичные модули, он хочет видеть ваш сайт исключительно с помощью браузера.
    Так что, только javascript.
    Ответ написан
    Комментировать
  • Колонки разной высоты на flex?

    align-items: flex-start
    По умолчанию стоит stretch (растяжение).
    Ответ написан
    1 комментарий
  • Как заново начать читать техническую книгу на 1300 страниц?

    Я в таких ситуациях просматриваю бегло снова и что мне кажется непонятным или забытым – перечитываю полностью.
    Ответ написан
    Комментировать
  • Как создать тикающие часы JS?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Таймеры в JS не точны, поэтому лучше вызывать tick() почаще. Скажем, 10 раз в секунду.
    Мигание лучше сделать полный цикл за секунду: чтобы и появлялось и гасло двоеточие каждую секунду:
    Замедленный вариант через секунду закомменчен.
    Ответ написан
    1 комментарий
  • Как сделать анимацию для изображений?

    Ankhena
    @Ankhena Куратор тега HTML
    Нежно люблю верстку
    Очень интересно, почему текст подписи вы считаете неконтентным, а картинку не имеющую смысла наоборот, контентной?
    И с семантикой проблемы. Это ведь список, а не разрозненные div. А может ещё и ссылки на разделы портфолио.

    Итого: список, в каждом элементе либо <a> либо <span> (буду называть текстовым блоком). Картинка псевдоэлементом.
    Каждый элемент это грид в одну ячейку. (Раньше это делали абсолютами, теперь это не нужно) Внизу псевдо с картинкой, наверху текстовый блок
    В начальном положении текст прозрачный, при наведении меняется.
    Можно менять прозрачность всего блока или только фона.

    Ответ написан
    Комментировать
  • Как сделать случайный background-color ко всем div-ам? У меня только к первому div-у делает фон случайный. Как применить ко всем?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    id в рамках страницы должны быть уникальны.
    Значит, нужно обращаться по классу, использовать querySelectorAll
    Ответ написан
    Комментировать
  • Как получить актуальное состояние блока из коллбека, который его менял?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Думал получить что-то вроде живой коллекции, которая содержит все li-элементы, которым еще не назначен класс js-hide и если таких элементов нет, скрывать блок. Что-то вроде getElementsWithoutClassName().

    Не той дорогой идёте, товарищ.

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

    UPD

    Ответ написан
    3 комментария
  • Какой алгоритм работы с JWT token?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При авторизации выдаются сразу оба токена, рабочий и refresh. Refresh-токен сохраняется в базе сервера вместе с идентификатором пользователя, рабочий токен хранить смысла нет.

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

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

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

    Где и как хранить токены на клиенте - вопрос предпочтений. Можно не хранить вообще, тогда при перезагрузке страницы пользователю придётся авторизоваться заново. Можно сохранять только refresh-токен, выполняя запрос на обновление при запуске приложения / открытии страницы.
    Ответ написан
    4 комментария
  • Удобные ежемесячные git commit отчеты?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    cd project1
    # даты и имя автора подставить самому
    git log --pretty=format:"%ad - %an: %s" --after="2016-01-31" --until="2017-03-10" --author="John Doe" > project1.txt

    Повторить 5 раз и отправить 5 файлов руководству.
    Ответ написан
    Комментировать
  • Как публиковать коммерческие проекты в GitHub?

    Не публиковать, подтверждать свой опыт и знания на собеседовании. Всё.
    Ответ написан
    Комментировать
  • Как создать такую таблицу?

    Awilum
    @Awilum
    Частный разработчик, ментор и преподаватель курсов
    2 комментария
  • Сложный вопрос про английскую версию сайта в ру-сегменте?

    opium
    @opium
    Просто люблю качественно работать
    А какая цель в ней если вы не занимаетесь ею?
    Перед решением надо понять цель, а потом уже плясать от этого
    Ответ написан
    2 комментария
  • Как узнать за какое время скомпилировалась программа на Golang?

    axifive
    @axifive
    Software Engineer
    Вам нужно засечь время исполнения.
    В Unix системах есть команда: timego ....
    В Windows PowerShell есть Measure-Command{start-process go ... }

    А дополнительную отладочную информацию можно получить с помощью флагов
    https://pkg.go.dev/cmd/compile#hdr-Command_Line
    Ответ написан
    Комментировать