Задать вопрос
  • Какие есть хорошие ресурсы для изучения Docker для Golang?

    @Araya
    Никакой связи нет между докером и разбиением на слои.
    Найди любой хороший проект, а как подключаться к базе уже другой вопрос, go приложение не знает ни о каком докере.
    Ответ написан
    Комментировать
  • Куда расти ИБ специалисту?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Думаю обзавестися сертификатами по ИБ, подтянуть инглиш и идти на upwork

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

    Ага, типичный продукт пятилетней давности. Когда палка и пионер, когда апворк лежа под пальмой... С разморозкой, человече! Мир давно уехал черт-де куда, а ты и не заметил...

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

    Вышка - это такой тест на способность самостоятельного решения задачи. Знания, которые при этом типо получаются - вторичны, хотя некоторые пригождаются. Но в основном вышка - это про умение учиться :) Да-да, вышка учит учиться и не более того. Не одолел - ну вот провалил первый тест на профпригодность. В ИБ, где люди как правило работают на доверии, таких точно не берут (ну разве что в крупных конторах на самые низовые должности)
    Могу написать скрипты для PowerShell и Bash, но с chatGpt

    То есть "освоил Ctrl-C/Ctrl-V, но смысла не понимаю, ибо абизьян
    В целом, могу поднять и настроить любую прогрумму или сервер на Win и Unix.

    По данному заявлению сразу можно сказать, что уровень джуна не преодолен.
    Год не выпускаю из рук ноутбук с KaliLinux,

    Ты ничего не говорил, мы ничего не слышали. Никогда не говори про это в серьезной компании - оборжут и затроллят
    Думаю, что как сисадмин Windows/Linux я почти Middle,

    Ты ошибаешься :)
    Ответ написан
    16 комментариев
  • Как посчитать количество пересечений с помощью метода filter?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Решим задачу в общем виде - сделаем функцию, находящую количество совпадающих элементов у любых итерируемых объектов. Причём под совпадением будем понимать не обязательно непосредственное равенство (оставим это как вариант по умолчанию), а равенство некоторых производных значений. Так что к чёрту filter (а ещё Safari - говорят, яблочные уроды пока не реализовали поддержку методов итераторов; впрочем, сделать обычный for...of вместо reduce не проблема):

    function countIntersections(data1, data2, key = n => n) {
      const getKey = key instanceof Function ? key : n => n[key];
      const keys = new Set(Array.from(data2, getKey));
      return data1[Symbol.iterator]().reduce((acc, n) => acc + keys.has(getKey(n)), 0);
    }

    В вашем случае применять так: const result = countIntersections(newWord, glas);.

    Другие примеры использования:

    countIntersections(Array(7).keys(), Array(4).keys()) // 4
    countIntersections('abCdE', 'ACe', n => n.toLowerCase()) // 3
    countIntersections([ { id: 1 }, { id: 2 }, { id: 3 } ], [ { id: 3 } ], 'id') // 1
    Ответ написан
    Комментировать
  • Google Chrome блокирует скачивание файла. Возможно ли отключить?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Вручную можно сделать через настройку "Разрешить сайтам показывать небезопасный контент" с указанием ссылки на web ui, но не понимаю как это можно реализовать в коде.

    Создайте профиль браузера, разрешите что нужно, затем запускайте selenium под этим профилем. Это костыль, но менее костыльный, чем другой.
    Ответ написан
    2 комментария
  • В чем разница ядер Линукс?

    Да ни в чём. Все одинаковые.
    Ответ написан
    Комментировать
  • Как преобразовать сайт в приложение на iOS бесплатно?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    Изучайте Progressive web app
    Progressive Web App (PWA) — это веб-приложение, которое сочетает возможности сайтов и мобильных приложений. Оно работает в браузере, но при этом может устанавливаться на устройство как приложение, работать офлайн, поддерживать push-уведомления и обеспечивать быстрый отклик за счёт кэширования.
    Ответ написан
    Комментировать
  • Правильная ли архитектура БД?

    1. Я бы ещё раз подумал над неймингом
    2. У тебя тут в каждой таблице дублируются колонки названий для разных языков. Возможно есть смысл сделать отдельную таблицу для переводов разных строчек - по крайней мере так будет проще в будущем новые языки вводить + всё будет централизованно. Это на подумать.

    3. Возможно есть смысл добавить ещё историю изменений, но это на подумать

    4. Не уверен, действительно ли нужно order status как таблицу делать. Администратор должен иметь возможность добавлять новые статусы? Тогда нужно ещё добавлять таблицу с правилами переходов между статусами, чтобы в коде не хардкодить айдишники.

    5. Немного подумать. А всегда ли будет именно доставка еды? Не захочешь ли ты добавить самовывоз?

    6. Зачем в cart product created at и modified at?
    Я могу догадаться до одного варианта, где это может быть полезно, но понимаешь ли ты?

    7. А может ли у одного продукта быть несколько статусов одновременно? Типа и новинка и хит и скидка N%?

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

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Какие есть способы отслеживания подключений, как это делают соцсети?
    Магии не существует. «Соцсети» просто держат флаг активности ещё несколько секунд после разрыва соединения, чтобы обработать ситуацию «обновления страницы».
    Ответ написан
    5 комментариев
  • Как писать запросы к API на стадии разработки, если backend еще нигде не хостится?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    1) Запуск бэкенда локально через Docker для тестирования запросов и интеграции (это нормальная практика?)

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

    Основных причин две:
    1. У вас сайт может работать быстрее, а у среднего пользователя с другим интернетом, в другой локации и с другим поведением — медленнее.
    2. PageSpeed учитывает множество других факторов, на которые простое серверное кэширование не влияет. У вас может быть хорошее time to first byte, но много тяжёлого js и неоптимальные картинки, например.
    Ответ написан
    Комментировать
  • Как заменить только слово целиком в строке?

    kryamk
    @kryamk
    <?php
    
    // Исходный текст, в котором будем искать и заменять слова
    $field = "
    libero bryan, 
    sit amet adipiscing sem neque sed ipsum.bryan 
    bfringilla mauris sit amet nibh. https://site.com/member/bryan.html?r=nk07w, 
    https://site.com/member/bryan-t.html?r=nk07w. 
    https://site.com/bryan/test.html?r=nk07w Donec bibendum";
    
    // Регулярное выражение для поиска URL и слова 'bryan'
    // - https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)
    //   Это паттерн для нахождения URL. Он включает http или https, необязательный www, и остальную часть URL.
    // - (\bbryan\b)
    //   Это паттерн для нахождения слова 'bryan' в тексте. Используем границы слова (\b) чтобы найти точное совпадение.
    //   Скобки вокруг \bbryan\b создают захватывающую группу, которую мы будем использовать в функции обратного вызова.
    $pattern = '/https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)|(\bbryan\b)/';
    
    // Заменяем слово 'bryan' на 'betty', но только если оно не является частью URL
    $field = preg_replace_callback(
        $pattern, // Паттерн для поиска URL и слова 'bryan'
        function ($matches) {
            // Функция обратного вызова, которая вызывается для каждого совпадения
            // $matches - массив, где:
            // - $matches[0] содержит всё совпадение (URL или слово 'bryan')
            // - $matches[1] содержит только слово 'bryan', если оно найдено
            
            // Если $matches[1] существует, это значит, что найдено слово 'bryan' (вторая группа в паттерне)
            // В таком случае заменяем его на 'betty'
            // Иначе возвращаем оригинальное совпадение (это был URL, который не нужно изменять)
            return isset($matches[1]) ? 'betty' : $matches[0];
        },
        $field // Исходный текст, который мы будем обрабатывать
    );
    
    // Выводим результат
    echo $field;
    Ответ написан
    3 комментария
  • Почему не сохраняются изменения при переборе цикла через foreach?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    function arraySquaring($arr)
    {
    -   foreach ($arr as $value) {
    +   foreach ($arr as &$value) {
            if (is_array($value)) {
                $value = arraySquaring($value);
            } else {
                $value **= 2;
            }
        }
        return $arr;
    }

    или так
    function arraySquaring($arr)
    {
    -   foreach ($arr as $value) {
    +   foreach ($arr as $key => $value) {
            if (is_array($value)) {
    -           $value = arraySquaring($value);
    +           $arr[$key] = arraySquaring($value);
            } else {
    -           $value **= 2;
    +           $arr[$key] **= 2;
            }
        }
        return $arr;
    }


    Еще вариант
    function arraySquaring($arr)
    {
        return array_map(function($item){
            return is_array($item) ? arraySquaring($item) : $item ** 2;
        }, $arr);
    }

    function arraySquaring($arr)
    {
        return array_map(fn($item) => is_array($item) ? arraySquaring($item) : $item ** 2, $arr);
    }
    Ответ написан
    2 комментария
  • Как правильно хранить время последнего визита пользователя?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Кардинально ускорить UPDATE не выйдет.

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

    Ну или просто сначала отдавать пользователю ответ, а потом в том же скрипте обновлять таблицу.

    Или убрать ON DUPLICATE KEY UPDATE, кидать в таблицу каждый раз новую строку, а потом в фоне её периодически пылесосить от мусора.
    Ответ написан
    1 комментарий
  • Какой тайм-трекер выбрать для фрилансера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище. У меня для тебя плохие новости. Я тебе советую распрощаться с этой контрой.
    Такого рода менеджмент времени вводят не от хорошей жизни а от плохой. И означает
    он что идет оптимизация ресурсов. И все это очень плохо заканчивается. Люди которые реально
    работают и думают 24/7 о продукте с точки зрения тайм трекинга выглядят не сильно хорошо.
    А те кто умеют тапать хомяка или задней левой ногой шевелить мышкой в фоновом режиме
    - достигают хороших показателей.

    Вобщем беги из этой конторы пока ты психологически еще не выгорел. Ни один нормальный
    работодатель такого обычно не делает.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы nvidia a100 заработала в yandex cloud с драйвером 535 и cuda 12.2?

    @rPman
    У меня только один вопрос, пробовал ли ты устанавливать необходимые версии софта в docker?
    Ответ написан
    3 комментария
  • Что такое AxCMS?

    @maksam07
    Стоит ли использовать эту систему? Какие отзывы/рекомендации?

    Смотри. Я понятия не имею что эта за система, но из их сайта можно сделать вывод, что они перестали обновлять свой продукт примерно в 20-21-м году. Ссылка на блог не работает. Ссылка на твиттер ведет на аккаунт, у которого последний пост был в 21-м. Вряд ли этот продукт будет рекомендоваться к использованию.
    Ответ написан
    2 комментария
  • Какую кодировку выбрать для бд чтобы хранить фото?

    @rPman
    бинарные типы данных binary, varbinary или blob потому и бинарные, что к ним не применяются правила символьной трансляции (charset), т.е. к примеру их нельзя сортировать по алфавиту.

    p.s. настоятельно рекомендую трижды подумать, зачем тебе нужно хранить изображения в базе данных, и с высокой вероятностью лучше их хранить в файлах на диске а в базе только имя файла (а можно и имена файлов привести к идентификаторам базы).
    Ответ написан
    Комментировать
  • Какую кодировку выбрать для бд чтобы хранить фото?

    @alexalexes
    В базе данных, обычно, не хранят бинарные данные файлов.
    Кладете на файловый сервер файл, берете путь к этому файлу и записываете в поле таблицы.
    Если очень приспичило какой-то бинарник положить в поле таблицы, то для этого есть binary/varbinary type.
    Но злоупотреблять возможностью записывать безразмерные данные в одно поле не стоит - намучаетесь с бекапами.
    Ответ написан
    Комментировать
  • Какую кодировку выбрать для бд чтобы хранить фото?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Любую. На BLOB кодировка не влияет.
    Но по уму фотографии не хранят в БД. Их записывают как отдельные файлы с уникальными именами, а в базе хранят оригинальное имя файла и путь к файлу.
    Ответ написан
    Комментировать