• Как проиндексировать коллекцию со строками на разных языках?

    nowm
    @nowm
    А не может быть проблема в том, что у вас в каком-то документе в этой коллекции язык указан не ko, а ko' — с одинарной кавычкой? Просто у вас в тексте ошибки есть ko с кавычкой, а монго вроде в таком сообщении не должна вставлять никаких одинарных кавычек.
  • Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    nowm
    @nowm
    Юрий, у меня не реакция «ой, всё», просто я уже в тот момент увидел, что вы троллингом займётесь (а «ой всё» — это реально толсто). Я, типа того, должен с новыми силами подорваться и продолжить спор после этого? Оно мне надо?

    Чем-то ещё могу помочь?
  • Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    nowm
    @nowm
    Юрий, я не буду спорить. Это один из тех случаев, когда люди не ищут истину, а упражняются в поиске аргументов для возражения. И это не только с вашей стороны, но и с моей. Так что, возьму на себя инициативу и остановлюсь первым.
  • Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    nowm
    @nowm
    Юрий, такая же фигня. Именно это мне и помогло стать Top Rated на Upwork — я очень внимательно фильтрую проекты и людей. Но очень большая часть людей на фриланс-биржах является среднестатистическими пользователями, которые на такую работу всё-таки подписываются.
  • Почему на некоторых сайтах страницы не открываются в новом окне при ctrl+click?

    nowm
    @nowm
    Dwellss, я сам такую ошибку никогда не допускал только потому, что мой коллега её допустил, а я это потом фиксил. Так и появился опыт. Если бы не это, я бы наверняка прослыл стратегом в некоторых проектах. :)
  • Как реализовать авторизацию в next-приложении с применением api yii2?

    nowm
    @nowm
    Ebers-Hyde, сорри, я тогда не знаю, в чём может быть дело. Если бы JS-файлы запрашивались с того же сервера, но с другим портом, то мог бы иметь место вариант с политиками CORS в браузере, потому что получились бы разные хосты, но в вашем случае Nginx проксирует статику, так что она на том же хосте, что и JS-файлы.
  • Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    nowm
    @nowm
    Юрий, включить разговоры в стоимость легко только при почасовой оплате. А почасовая работа — это не единственный способ организации процесса. Если, например, загнаться и пропарсить сайт какой-нибудь фриланс-биржи, чем мне приходилось один раз заниматься, можно заметить, что большая часть заказов — это работа с заранее опредлённым бюджетом, либо работа, в которой бюджет определяется до начала работы (фрилансер оценивает объём работы и сообщает свою цену, если всех всё устраивает, формируется фиксированный бюджет). То есть, в этот момент ни фрилансер, ни заказчик не знают, сколько времени им понадобится на болтовню в мессенждере. Может быть 10 минут, может несколько часов. Факт, что цена оговорена заранее и количество обсуждений в процессе никак не влияют на то, сколько денег получит фрилансер. То есть, «болтовня» получается бесплатной — ведь она не влияет на цену.
  • Как реализовать авторизацию в next-приложении с применением api yii2?

    nowm
    @nowm
    Ebers-Hyde, а у вас JS-файлы с какого сервера загружаются? С точно того же самого (с точно таким же портом) или с какого-нибудь вроде мой-сайт:8888?
  • Почему я не могу запустить node js вместе с nginx на docker-compose?

    nowm
    @nowm
    Александр Бондаренко, рад помочь. Мне просто сразу в глаза бросилось, что для бекенда написано "80:5001", а потом для Nignx ещё раз написано 80:80 — внешний порт 80 два раза маппится на два разных порта контейнера. Ещё, кстати, советую на всякий случай такие вещи записывать в виде строки:

    # гарантированная ошибка, потому что YAML это неправильно пропарсит
    - 22:22
    
    # не самый удачный вариант
    - 80:80
    
    # этот вариант лучше
    - "80:80"
  • Почему я не могу запустить node js вместе с nginx на docker-compose?

    nowm
    @nowm
    Александр Бондаренко, у вас просто формулировка была такая: «сам сайт будет на nginx обрабатываться». Проект на NodeJS — это тоже часть сайта. И Nginx — это тоже часть сайта. И база данных PostgreSQL — это тоже часть сайта. Каждая из них выполняет свою работу, и нельзя сказать, что он работает только на Nginx или только на NodeJS.

    Из конфига Nginx видно, что он принимает все входящие запросы и передаёт их проекту на NodeJS через proxy_pass. Тут можно сказать, что сам сайт у вас на Nginx работает, ведь все запросы из браузера идут к Nginx. А можно сказать, что он работает на NodeJS, потому что вся логика приложения именно там прописана.

    Если вы фразой «сайт будет на nginx обрабатываться» имели ввиду, что на него будут из браузера запросы приходить, то да, «сайт будет на nginx обрабатываться». Если вы вообще всё в целом имелии ввиду, то нет — сайт будет обрабатываться не Nginx, а Nginx + NodeJS + PostgreSQL.
  • Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    nowm
    @nowm
    Илья С, «заливка на сервер» начинает восприниматься как неоплачиваемая работа, если, например, в описании работы было написано, что нужно поправить меню, а по факту оказалось, что нужно поправить меню и ещё дополнительно поработать с деплоем сайта. Человек настроился на то, что он получит 100 рублей за правку меню, но получает 100 рублей за правку меню и администрирование сервера. Из-за этого «администрирование сервера» начинает восприниматься бесплатной работой, ведь этого не было в описании проекта.

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

    Я вполне понимаю ваше неудомение. И оно показывает, что большая часть вашей работы — почасовая, а проекты с заданным бюджетом вы стараетесь избегать, потому что там есть и другие риски. В итоге, так как большая часть вашей работы трекается, вы подсознательно начинаете считать, что так проиходит везде, и во всем мире большая часть работы — почасовая, а не такая, где есть заранее обговоренный бюджет и не очень строго очерченные временные рамки исполнения.
  • Почему я не могу запустить node js вместе с nginx на docker-compose?

    nowm
    @nowm
    Александр Бондаренко, обычная практика, что Nginx обрабатыват все запросы и передаёт их приложению NodeJS. Если у вас Nginx настроен именно так, а проект на NodeJS тоже написан соответствующим образом, то всё будет работать нормально. Но просто смотря на конфиг докера, я вам ответить не могу. Я из него вижу только то, что там задаётся кофигурация сервисов.
  • Как убрать автозаполнение input?

    nowm
    @nowm
    Ivan Ivanovich, всё правильно, именно autocomplete="off" нужно использовать.

    KGZVER, у браузеров ещё есть такая вещь, как кэширование, и когда вы отключаете автодополнение, старые запомненые значения всё равно подставляются. Если сделать autocomplete="off" и переименовать атрибут name, то автодополнение полностью исчезнет сразу.

    В MDN есть статья об отключении автодополнения (увы, только на английском). Там хорошо объясняется, как это всё работатет.
  • Как убрать автозаполнение input?

    nowm
    @nowm
    Не совсем так. Они не игнорируют. Когда autocomplete включён, браузер запоминает историю, и потом, если для поля есть история в текущей сессии (внутренняя сессия браузера), браузер начинает предлагать варианты. После отключения autocomplete браузер перестаёт запоминать историю, но старая никуда при этом не пропадает, и он всё так же предлагает варианты — ведь история не пустая. Это проблема кэширования.

    Из-за такого поведения начинает казаться, что autocomplete="off" не работает. В MDN советуют для гарантии отключения дополнительно к autocomplete="off" задавать для инпута новое значение атрибута name.
  • Как создать адаптивную обрезку текста посредством css?

    nowm
    @nowm
    Aison,
    и white-space: nowrap; тут обязателен

    Я в моём ответе просто писал, что нужно ещё высоту ограничивать с помощью max-height, потому что не принял во внимание white-space: nowrap, который и так помогает сделать высоту стабильной. Так что не волнуйтесь, на white-space: nowrap в вашем коде никто не покушался и не критиковал.
  • Как создать адаптивную обрезку текста посредством css?

    nowm
    @nowm
    Ankhena, я упустил момент с white-space: nowrap; — спасибо, что обратили на это внимание. Ответ я удалил, так как в нём теперь нет смысла.

    В остальном, действительно, только максимальная ширина в пикселях мешает. Если её сделать 100%, то всё должно корректно растягиваться.
  • Помогает ли аналитика поисковых систем продвигать страницу в поиске?

    nowm
    @nowm Автор вопроса
    На всякий случай уточню, что я делаю сайты для людей, в первую очередь, и некоторые страницы моего сайта довольно-таки быстро двигаются вверх в поиске, по сравнению с конкурентами (возможно, как раз из-за того, что срабатывают ПФ). Мне в этом случае как бы нужно радоваться и так далее, но я всё равно считаю, что это нездоровая вещь, потому что люди начинают пользоваться своим монопольным положением для того, чтобы вебмастеры помогали им следить за пользователями в качестве third-party.
  • Помогает ли аналитика поисковых систем продвигать страницу в поиске?

    nowm
    @nowm Автор вопроса
    Лично я считаю, что это нездоровая фигня. Сначала гугл и яндекс сделали так, что из referrer стало невозможно взять ключевые слова, а если ты хочешь знать: когда, по каким запросам и на какие страницы были переходы, ты должен установить на сайт код аналитики. Теперь, дополнительно, ты должен установить код аналитики, если не хочешь, чтобы твой сайт деградировал в поиске. Следующий шаг, наверное, будет такой: если хочешь, чтобы твой сайт вообще был в поиске, обязательно нужно добавлять код аналитики.
  • Как в react typescript передать props и children в компонет?

    nowm
    @nowm
    balex777, фишка в том, что когда вы делаете это:

    type PropTypes = {
      title: string,
      goBackText?: string,
      children?: React.ReactElement,
    } & typeof defaultProps;


    вы перезаписываете тип для children, если в defaultProps есть поле children. Вы можете написать, что «children?: Number», имея ввиду, что это необязательное свойство, а если оно есть, то должно быть числом, но как только вы добавляете «& typeof defaultProps», вы перезаписываете это, если в defaultProps есть поле children. То есть откидывается информация о том, что это необязательное поле и то, что оно должно быть числом. Это происходит из-за использования оператора «&», который в случае с объектами работает таким образом, что поле children следующего объекта полностью заменяет поле children предыдущего объекта.

    Про лучшие практики спорить не буду. Но факты говорят сами за себя: либо это не лучшие практики, либо вы им не правильно следуете. Иначе ошибок не было бы.