• Как прикрепить внешний доп ipv4 к пк за роутером?

    @Drno
    Вариантов 2. Либо пробросить нужные порты до нужного ПК.
    Либо нужен роутер с поддержкой функционала по пробросу IP.
    На примере микротика - для этого достаточно объединить 2 порта в bridge, в 1й воткнуть провайдера, во второй ПК. И если подразумевается несколько IP адресов, то можно будет на ПК назначить внешний IP.
    Естественно домашние асусы \ ТПлинки такое не умеют.

    Для GRE - роутер должен уметь прокидывать GRE трафик, тот же микротик это умеет.
    Для pptp сервера, где тоже используется GRE, в дополнение нужны еще и порты
    Ответ написан
    Комментировать
  • Какой .gitignore юзать и почему он всё ещё видит папку .idea?

    @humoured
    Вы всё на свете найдёте в коробке с карандашами
    Для игнорирования папки, лежащей в корне проекта, файл .gitignore нужно класть в корень проекта.
    Ответ написан
    1 комментарий
  • GDPR сколько хранить персональные данные покупателей?

    vabka
    @vabka
    Токсичный шарпист
    Сколько укажешь в своём соглашении на обработку ПД - столько и можно, если это в адекватных рамках.
    Типа если ты пишешь в своём соглашении, что ты будешь хранить персональные данные незарегистрированного клиента ещё 25 лет после выполнения заказа - это очень вероятно посчитают неправомерным.
    Пока клиент к тебе не придёт с желанием их удалить.

    Требования хранить данные не меньше какого-то срока нет.
    Тоесть в принципе, если тебе достаточно для выполнения своей работы продержать данные пару минут - можешь хранить их пару минут.

    Это всётаки не закон яровой)
    Ответ написан
    Комментировать
  • Как найти высоту жидкости в мм если известно давление в паскалях и плотность в кг\см3?

    GavriKos
    @GavriKos
    Если известно давление - то известна и масса (через площадь основания).
    Если известна масса и плотность - то можно узнать объем.
    Зная объем - можно получить высоту - ведь площадь основания бака не меняется.

    Вроде так.
    Ответ написан
    3 комментария
  • Как перевести значение "1 день" в секунды? А еще как перевести значение "1 день" например в 19.05.2023 1:42?

    vabka
    @vabka
    Токсичный шарпист
    Простейшая арифметика из третьего класса школы + немного гуглежа по поводу работы со временем в js.
    function getTimerEndFromNow(prompt) {
     return getTimerEndFrom(new Date(), prompt);
    }
    
    function getTimerEndFrom(start, prompt) {
      return new Date(start.valueOf() + getSecondsByPrompt(prompt) * 1000);
    }
    
    function getSecondsByPrompt(prompt) {
      const [count, measure] = prompt.split(' ');
      return count * getSecondsByMeasure(measure);
    }
    
    function getSecondsByMeasure(measure) {
      switch(measure.toLowerCase()) {
        case 'день': return 60 * 60 * 24;
        case 'час': return 60 * 60;
        case 'минута': return 60;
        default: throw new Error(`Unknown measure ${measure}`);
      }
    }


    С ЭТИМ БЛИН ДАЖЕ БЕСПЛАТНЫЙ БОТ НА ОСНОВЕ GPT СПРАВЛЯЕТСЯ

    Запрос:

    /gpt
    Мне нужно перевести значение "1 день"/"1 час"/"1 минута" в секунды для таймера. А точнее функция, но я вообще не знаю как это сделать. И еще одну функцию для того что бы например таймер получил сегодня а пишется во сколько он закончится, точнее например в 19.05.2023 1:42

    Напиши функции на js

    Ответ:

    Для перевода "1 день"/"1 час"/"1 минута" в секунды можно использовать следующую функцию:

    function convertToSeconds(time) {
      const timeArr = time.split(' ');
      const value = parseInt(timeArr[0]);
      const unit = timeArr[1];
    
      switch (unit) {
        case 'день':
          return value * 24 * 60 * 60;
        case 'час':
          return value * 60 * 60;
        case 'минута':
          return value * 60;
        default:
          return 0;
      }
    }


    Пример использования:

    const secondsInDay = convertToSeconds('1 день'); // 86400
    const secondsInHour = convertToSeconds('1 час'); // 3600
    const secondsInMinute = convertToSeconds('1 минута'); // 60


    Для форматирования даты в строку можно использовать объект `Date` и методы `getFullYear()`, `getMonth()`, `getDate()`, `getHours()`, `getMinutes()`, `getSeconds()`:

    function formatDate(date) {
      const year = date.getFullYear();
      const month = addLeadingZero(date.getMonth() + 1);
      const day = addLeadingZero(date.getDate());
      const hours = addLeadingZero(date.getHours());
      const minutes = addLeadingZero(date.getMinutes());
      const seconds = addLeadingZero(date.getSeconds());
    
      return `${day}.${month}.${year} ${hours}:${minutes}:${seconds}`;
    }
    
    function addLeadingZero(value) {
      return value < 10 ? '0' + value : value;
    }


    Пример использования:

    const endDate = new Date(2023, 4, 19, 1, 42, 0);
    const formattedDate = formatDate(endDate); // '19.05.2023 01:42:00'


    Ответ написан
    7 комментариев
  • Какие DE сейчас поддерживают Wayland?

    vabka
    @vabka
    Токсичный шарпист
    Ну DE не так уж много в принципе существует )
    Можно было бы отдельно для каждой ручками загуглить

    xfce: Активно в работе, но ещё не готово, как я понял (https://wiki.xfce.org/releng/wayland_roadmap#compo...)
    lxde: вроде уже давно поддерживается, но не нашёл ссылок.
    mate: вроде с прошлого года поддерживается wayland
    lxqt: вроде ещё нет https://github.com/lxqt/lxqt/issues/10
    deepin: в бете есть поддержка wayland https://www.deepin.org/en/deepin-os-deepin-v23-bet...
    cinnamon: вроде что-то двигается, но не понял, завезли ли поддержку.
    Ответ написан
    5 комментариев
  • Как используются "магические константы" в реальных реализациях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты должен спрашивать какие алгоритмы игровой графики бывают. Это важное. А константа - это просто реализация.

    Почитай Генри Уоррена - Алгоритмические трюки для программистов. Там есть всякое. Деление через умножение на магию. Умножение через сдвиги. Дискретные логарифмы и корни и прочее.
    Ответ написан
    Комментировать
  • Как в докере отключить рестарт контейнеров локально?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В композе можно переопределять настройки с помощью override-конфига или директивы extends: https://docs.docker.com/compose/extends/
    Ответ написан
    3 комментария
  • Провайдер которая тянет выделеннку по физу?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Дело не в провайдере. Это не их дело - кабель тянуть. Они заказывают это подрядчикам - всяким СМУ и т.п.
    Но провайдеру делать для вас это не выгодно, не окупится.

    spoiler
    Прокладка не слишком толстого кабеля в грунт сейчас стоит где-нибудь от 200 тыс./км., включая материал, проект, оформление, стандартные согласования.

    Но если по дороге возникают: жадные собственники участка; автодороги; ж/д; газ/нефть… то это на полгода-год получения ТУ, согласований, платежей за выдачу ТУ, за согласования, за проверку выполнения ТУ и т.п. И не всегда удается порешать, иногда «нет технической возможности» и всё. Естественно, это за отдельные деньги, причем суммы могут быть любые вообще.

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

    Если вы протанцуете этот танец, то вы получите темные волокна от провайдера до второго конца вашего кабеля.

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

    И вот счастливый момент - вы протянули оптику, всё согласовали, всё настроили, заключили договоры аренды на землю, на канализацию, на место в стойке и место вашего кабеля на полках у провайдера. Заключили договор на поставку трафика, оплатили все затраты провайдера по подключению. Стали беднее на 5-6 миллионов, но зато обладатель канала связи.
    Всё, можно насладиться.

    Как же…

    Вот тут-то и начинается самая мякотка.
    Почему сигнал слабый? Почему со сбоями? Где мои 10 Гбит? Или вовсе пропала связь.

    Провайдер отвечает: «ничего не знаю, с моей стороны всё норм».

    Вы едете 20-40 км., чтобы убедиться, что да, с их стороны всё норм, а вот где и почему проблемы - неизвестно. Может, таки провайдер обманывает; может, где-то повреждение кабеля; может, плохой оптический контакт в разъеме; кот у вас дома перегрыз патчкорд; клали канализацию и порвали ваш кабель. И т.п.

    Вот поэтому провайдер не хочет связываться с прокладкой вам такого кабеля. Ему это не выгодно - эксплуатация не окупится, вы столько не будете платить, чтобы он мог выдерживать SLA по договору с вами.
    Ответ написан
    2 комментария
  • Есть ли статьи, которые приводят наглядные примеры того, как код на rust превосходит код на других языках?

    vabka
    @vabka
    Токсичный шарпист

    Особенно там, где был использован язык Си или С++

    (если исключить memory safety и fearless concurrency)
    1. Хороших плюсовиков найти всё сложнее, ибо молодые разработчики часто хотят что-то более современное/простое/приятное.
    2. Переход с какого-нибудь более высокоуровнего языка на Rust гораздо легче, чем на C++
    3. DX у Rust на порядо лучше.
    4. Код на Rust на порядок более выразительный, чем код на Си

    За счёт этого поддержка кодовой базы на Rust заметно дешевле выходит

    Например вот что Тинькофф пишет:

    Наш Процессинговый Центр занимается разработкой финансовых систем, критичных к даунтайму и времени обработки. Изначально мы делали все свои продукты либо на чистом Си, либо на плюсах (C++14), однако пару лет назад мы переписали большой кусок нашего бэкенда на Rust, и нам настолько понравилось, что теперь все наши новые процессинговые сервисы пишутся на нём.



    Мне бы хотелось видеть какое-то сравнение, что вот так стало сильно лучше и безопаснее, а вот было так написано изначально на оригинальном языке

    Это можно будет определить только если ведётся статистика по багам и они классифицируются по причинам возникновения, но такую статистику ведут не все.
    В среднем статистика показывает, что багов связанных с неправильной работой с памятью в проектах на Rust на порядки меньше, чем в проектах на C++.


    ну тут все-равно unsafe

    В проектах на Rust он явный и от него можно избавиться, завернув в безопасную обёртку, которая будет гарантировать корректную работу с памятью и ffi.
    В проектах на C++ у тебя по факту всё является unsafe.

    ну, нам еще нужен подсчет ссылок

    В плюсах тоже активно пользуются подсчётом ссылок и всякими умными указателями, если по коду не очевидно, когда можно будет освободить память
    Ответ написан
    6 комментариев
  • Почему сильно напрягаются глаза от ноутбука с IPS?

    GavriKos
    @GavriKos
    Дело может быть в чем угодно. Глаза индивидуальны. Так вот чтобы докинуть:
    - яркость не та что вам привычна
    - контрастность не та что вам привычна
    - окружающее освещение не подходит
    - шим таки есть
    - расстояние/уго/посадка неверные
    - и все возможные и невозможные сочетания этих и других факторов.

    Что поможет? Ну или смириться - глаза привыкнут, или настраивать что можно настроиьт, или менять ноут. Конкретного ответа никто кроме ваших глаз не даст
    Ответ написан
    4 комментария
  • Гит: лёгкий откат изменений (дискард) у группы файлов без добавления в игнор?

    @vitaly_il1
    DevOps Consulting
    Я советую добавлять бинарники не оттуда, где они создаются, а из другой директории. Если и когда надо - копируем туда бинарники вручную перед коммит.
    Ответ написан
    3 комментария
  • Как можно сделать интернет аукцион на JavaScript?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите пожалуйста, как это можно сделать с помощь JavaScript
    Открываете редактор кода и пишите простой код аукциона с помощью жаваскрипт.

    может быть есть какой-то урок
    Уроков полно на https://learn.javascript.ru,

    на эту тему
    какая у вас тема особо не важно, так как код не делится на "код для аукциона" и "код для показывания рыбов".

    PS: вы берете слишком большую задачу и пытаетесь найти к ней решение, так не работает. Разбейте задачу на более мелкие и решайте по шагам. Это называется декомпозиция.
    Ответ написан
    3 комментария
  • Почему не срабатывает тернарный оператор?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Есть конструкция которая выдает предупреждение Notice: Undefined index: priceweek in ...

    Это неправда.
    Ответ написан
    3 комментария
  • Как перехватить все существующие типы исключений?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Если вы тупо не знаете, какие бывают типы исключений, то это легко исправить, посмотрев в документации.
    Там написано, что объекты исключений имеют иерархическую структуру, и самым общим предком является интерфейс Throwable.

    Отдельно следует отметить, что за использование try catch чтобы тупо написать "Получена ошибка" надо бить по рукам. Так никогда не надо делать. Это глупо и бессмысленно. РНР и сам прекрасно выведет и $e->getFile(), и $e->getLine(), и даже $e->getMessage(), и помогать ему в этом не надо.

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

    Поэтому в данном конкретном случае ваша задача еще больше упрощается - не надо ловить вообще никакое исключение.
    Ответ написан
  • Как самостоятельно разобраться в архитектуре npm пакета?

    Sanasol
    @Sanasol Куратор тега Веб-разработка
    нельзя просто так взять и загуглить ошибку
    Через отладчик смотрите запуски, пытаетесь понять понять какие паттерны были применены. Для меня просто как черный ящик относительно код пакета, но я понимаю, что как раз надо исследовать и понимать как оно устроено.


    Какой отладчик и черный ящик.
    Код буквально лежит в на гитхабе на который ссылку приложили или в node_modules локально

    Вопрос в том как пройтись по папкам и разобраться?
    Как обычно с любым проектом.
    npm пакетность это про то что в package.json добавлено пара строк и "загружено" на npmjs
    В остальном это обычный проект как любой фронт сайта или чего бы то ни было.

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

    Секунд 15 заняло найти параметр imageUploadUrl в readme для загрузки файлов на сервер, а не через base64.
    Ответ написан
    8 комментариев
  • Как обратится к тексту без тегов?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    WARNING! Ниже приведен чистейший говнокод! Нужно устранять источник проблемы, а не последствия.

    .dgwt-wcas-sf-wrapp { opacity: 0; font-size: 0; line-height: 0; }
    .dgwt-wcas-ico-magnifier { opacity: 1; }
    .dgwt-wcas-search-input { opacity: 1; font-size: 16px; line-height: 1; }


    UPD

    Нет. так не сработает...

    Нужно не прозрачностью скрыть, а прозрачным цветом..

    .dgwt-wcas-sf-wrapp { color: transparent; font-size: 0; line-height: 0; }
    .dgwt-wcas-ico-magnifier { color: black; }
    .dgwt-wcas-search-input { color: black; font-size: 16px; line-height: 1; }


    UPD2
    Хотя нафига манипулировать цветом, если font-size:0 и так сплющит текст до невидимого...
    Ответ написан
    2 комментария
  • Что будет, если злодей украдет TOKEN ключ от телефона?

    @Drno
    Ничего. Нет не сможет.
    Тебе уже много раз отвечали - у тебя с телефонами нормально. Нет такой вирусни…
    Ответ написан
    Комментировать
  • Когда новичку нужно изучать как работает интернет, после изучения базы JS?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Уважаемый пользователь.
    У тебя из 10 вопросов 9 вопросов про то. как стать разработчиком и поменьше учить.
    Прекрати такое поведение.

    Не хочешь учиться - выбери другое направление, кроме ИТ полный мир возможностей.
    Ну или учи свою верстку, работай всю жизнь джуниором, никто тебя за уши в сеньоры не тянет и не заставляет.
    Хочешь - учи, не хочешь - не учи.
    Читай вакансии и требования в вакансиях, зачем тебе советы рандомных людей из интернета, если ты постоянно спрашиваешь почти одно и тоже, хотя тебе уже отвечали.
    Ответ написан
    18 комментариев
  • Возможна ли работа с отзывами OZON по API?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Нет, несколько я помню, API Ozon не предусматривает возможность работы с отзывами.
    Да и в принципе, что можно с ними делать - получать список и отвечать? Слишком маленькие задачи для интеграции их в API.
    Так что придется писать парсер отзывов.
    Но приложение OZONa с отзывами работать умеет, значит есть методы.

    Методы то явно есть, но не для публичного API.
    Ответ написан
    Комментировать