Задать вопрос
  • Лучший способ автоматического бэкапа для mysql?

    @Drno
    бэкап обычным bash скриптом
    скрипт запихнуть в крон
    после выполнения бэкапа - с помощью rclone копирование на ftp или облако или куда угодно фактически
    Ответ написан
    4 комментария
  • Почему хост и его GW(гейтвей сети) должны быть в одном L2 домене(в одном vlan)?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Представьте обратную ситуацию - хост и его шлюз НЕ находятся в пределах одной сети. Тогда, очевидно, чтобы отправить пакет шлюзу, требуется какой-то узел в сети, маршрутизирующий пакеты за её пределы. Хоп, вы получили новый шлюз.
    Ответ написан
    Комментировать
  • Как использовать регулярные выражения в find?

    DollyPapper
    @DollyPapper
    Во первых не --name, а -regex.
    find . -regextype posix-extended -regex ./'10{3}'
    регексы в find по умолчанию используются от emacs. Т.к. не очень хочется разбираться чем они там отличаются от остальных используем -regextype posix-extended, ибо для любого линукс пользователя это скорее всего привычнее (все же использовали grep). find ищет по регексу выдываемый путь, а не путь по регексу, по этому нужно указать ./ в начале, ибо найденый путь будет ./1000, а не просто 1000
    Ответ написан
    2 комментария
  • WinRAR - какой официальный сайт и почему различаются хеш-суммы установщиков?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Могу предположить, что rarlab - сайт Рошаля, а win-rar - это сайт конторы. rarlab появился раньше и оснований его девать куда-то видимо нет :)
    Ответ написан
    Комментировать
  • Возможно ли устроиться программистом с общим образованием?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нельзя устроиться с таким уровнем поисковых навыков. Этот вопрос здесь задавался уже сотники раз.
    Ответ написан
    3 комментария
  • Какая книга по С++ мне лучше подойдёт?

    @res2001
    Developer, ex-admin
    Вам нужна книга, которую прочитаешь и сразу в "сеньоры" можно идти?
    Боюсь такой нет. Только практика и еще раз практика.

    Из продвинутых книг могу посоветовать:
    1. Эффективный и современный С++. 42 рекомендации по использованию C11 и C14
    в ней очень толково описаны нововведения в стандартах уже не совсем свежих, но эти нововведения чуть ли не самое главное изменение в языке до сих пор.
    2. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
    3. Оптимизация программ на C++. Проверенные методы повышения производительности.
    Ответ написан
    2 комментария
  • Какой выбрать стэк технологий исходя из моего опыта?

    @mletov
    Смысла в джуниор фулстак разработчике я не вижу, особенно если метить в крупную фирму.

    и
    Хочется двигаться в сторону фулстака, даже если не для работы сейчас, то для себя, чтобы некоторые проекты свои написать.

    Вы уж определитесь)
    Вакансий хватает всяких и разных, в т ч и фулстек, в т ч и в достаточно крупных фирмах.

    Очень смущает
    фирмы в которые попал в своем городе не понравились

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

    За вас никто решить не может.
    Все советы будут вкусовщиной и IMHO.
    Нравится React - качайте React и все сопутствующее на фронте (JS, верстку, вебпак). Нравится laravel - качайте PHP и все, что рядом (MySql). Нравится nodejs - качайте его, JS и монгу какую-нибудь.
    Повторюсь, вакансии, в т ч и хорошо оплачиваемые, есть и в изобилии по всем перечисленным вами направлениям. Вопрос только в ваших предпочтениях и в вашем уровне подготовки.

    Как тут принято говорить: "На вопрос нельзя дать однозначный ответ"
    Ответ написан
    Комментировать
  • Компьютер с какими характеристиками нужен для нормальной работы докер десктоп в винде?

    @Drno
    Поставьте виртуалку с линукс
    выделите ей 2гб
    поставьте докер
    Профит)
    Ответ написан
    Комментировать
  • Кто должен адаптировать сайт под разные разрешения мониторов?

    @ildar-meyker
    Верстальщик никому ничего не должен по умолчанию просто так. Если вы готовы платить, обговорите условия, и вам все сделают. Скорее всего, в вашем случае макет попал в руки не к самому лучшему исполнителю. Не любой исполнитель может работать без макета. Но оставлять так, что при 1600 что-то не влезло в экран, это дикость.
    Ответ написан
    1 комментарий
  • Достаточно ли безопасна реализация удаленного доступа?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Небезопасно просто потому, что вы изобрели лисапед вместо SSL.
    Как минимум, отсутствует наглухо защита от MitM
    Ответ написан
    4 комментария
  • Как ускорить брутфорс?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    есть-ли вариант как это все дело ускорить до нескольких миллионов комбинаций в секунду как тут
    Железо поменять, тогда возможно. А так - брут он и в Африке брут, все упирается в проц, программная среда может выиграть пару процентов, но на такой задаче серьезного буста производительности даже ассемблер не даст.
    Ответ написан
    1 комментарий
  • Можно ли написать команды бота в разных файлах?

    @dasadafa
    изучаю Python
    В питоне вы создадте файл и подмапите его from название файла(без разширения .py) import *
    пример
    def <b>название(любое)</b>
        программа сома

    и в другом файле в программе можете написать
    from <b>название файла(без разширения .py)</b> import *
    
    код
    
    название(указоное выше)
    
    код


    Вот пример как я это использую
    основной файл
    from дополнительный файл import * 
    print(ERROR)


    дополнительный файл
    ERORR = 'вася у тебя ошибка'
    если остались вопросы пишите мне в дискорд (dasadafa#0834)
    то что работает я не уверен так как не во всех случяях работает
    Ответ написан
    4 комментария
  • Можно ли в гитхаб объединять код в одном файле при совместной работе, а не заменять версии?

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

    Правильно ли я понимаю
    Гит на сервере никак не связан с вашим компьютером.

    Нормально ли
    Да делайте как хотите, полиции гита урезали финансирование и они теперь никого не арестовывают. Но вообще для "кусков кода" есть https://gist.github.com.
    Ответ написан
    Комментировать
  • Как сложить все числа в txt файле?

    А с чем именно у тебя возникла сложность?
    Прочитать файл - File.ReadAllLines
    Преобразовать строку в число, чтобы сложить - int.Parse или double.Parse, или любой другой Parse / TryParse. Ну Convert в конце концов
    Сложить циклом или через Linq, думаю, ты сам поймёшь как
    Как результат положить в переменную, наверное тоже и так понятно
    Ответ написан
    Комментировать
  • Я сделал Code Review, может быть я где-то ошибся или у вас есть что добавить?

    @Sing303
    Опишу, как бы комментировал я
    public sealed class DataProvider : IDisposable
    {
        // nit: Предложил бы названия firstValue, secondValue либо более осмысленные, если возможно
        public extern int LongRunningCalculation(int value, int value2);
        public extern void Dispose();
    }
    
    // nit: сразу бы хотелось видеть уровень доступа и sealed (если класс не планируется наследовать)
    // Class2 - дать нормальное имя
    // { - перенести на 2ю строку по рекомендациям code style от microsoft (если не принято иных)
    class Class2 {
        // Синхронизация не нужна, если убрать метод Init, а Create вызвать в статическом конструкторе
        private readonly object _sync = new object();
        
        // _ht - дать осмысленное название
        // Судя по использованию, value может быть int`ом. Не зачем иметь лишний boxing и проверки на тип
        // _ht статический, значит к нему могут быть обращения из разных потоков, лучше сделать его ConcurrentDictionary
        // Прям сходу не могу сказать, но, возможно, использовал бы какой то другой тип Dictionary <key, key, val> (самописный или существующий), кажется, так было бы быстрее чем массив в ключе
        private static Dictionary<int[], object> _ht; 
    
        // nit: хотелось бы имена со смыслом
        public int GetValue(int index, int index2)
        {
            // Лишний метод, удалить. Create вызовем в static конструкторе
            Init();
            // Если ключ у нас объект, то необходимо реализовать IEqualityComparer для этого Dictionary (иначе не понятно как по нему искать)
            var key = new[] {index, index2};
            // Проверка на тип не нужна, Dictionary сделаем типа int
            if (_ht.ContainsKey(key) & _ht[key].GetType() == typeof(int))
                // приведение типов больше не нужно
                return ((int)_ht[key]);
            // nit: else не обязателен
            else
                // int не может быть null, будет ошибка, вернуть либо default, либо возвращаемое значение должно быть int?
                return null;
        }
    
        // Метод удалить, вызовем Create в статическом конструкторе без lock
        public void Init() 
        {
            if (_ht == null)
                lock (_sync)
                    Create();
        }
        
        // Нет смысла делать метод public, сделать private
        public static void Create() 
        {
            // nit: и так видно какой тип создаём, можно использовать var
            // Обернуть в using
            DataProvider provider = new DataProvider();
            
            // Тут следует инициализировать значение _ht, т.к. ранее оно нигде не создаётся
            // Не забыть передать реализацию IEqualityComparer в конструктор
            
            // nit: хотелось бы видеть использование фигурных скобок (если не принят иной code style)
            // nit: вместо int можно var
            // i и j, похоже, несут какой то смысл, можно попробовать придумать нормальное название (иначе не понятно почему 100 и 12, их можно в константы класса)
            // nit: возможно можно использовать Parallel.ForEach
            for (int i = 0; i < 100; i++)
                for (int j = 1; j <= 12; j++)
                    _ht[new [] { i, j }] = provider.LongRunningCalculation(i, j);
        }
    }

    А переписал бы так (если не убирать массив в dictionary)
    public interface IDataProvider : IDisposable
    {
        int LongRunningCalculation(int firstValue, int secondValue);
    }
    
    public sealed class DataProvider : IDataProvider
    {
        public extern int LongRunningCalculation(int firstValue, int secondValue);
        public extern void Dispose();
    }
    
    public sealed class DataProviderService
    {
        public DataProviderService(IDataProvider dataProvider)
        {
            _dataProvider = dataProvider;
        }
    
        private static readonly ConcurrentDictionary<int[], int?> _calculatedCache = new ConcurrentDictionary<int[], int?>(new CalculatedEqualityComparer());
        private readonly IDataProvider _dataProvider;
    
        public int? GetValue(int firstValue, int secondValue)
        {
            var isNotSupportedValues = firstValue > 100 || firstValue < 0 || secondValue < 1 || secondValue > 12;
            if (isNotSupportedValues)
            {
                return null;
            }
    
            var key = new[] { firstValue, secondValue };
            if (!_calculatedCache.TryGetValue(key, out var result))
            {
                result = _dataProvider.LongRunningCalculation(firstValue, secondValue);
                _calculatedCache.TryAdd(key, result);
            }
            
            return result;
        }
    }
    Ответ написан
    5 комментариев
  • Технический нейминг серверов. По какому принципу называть сервера?

    flapflapjack
    @flapflapjack
    на треть я прав
    Ну у нас сервера зовутся:

    CR-MOW-DC (центр реабилитации - москва - домен контроллер)
    MS-SYK-HV (Медцентр Суперский - сыктывкар - гипервизор)

    Ну имена вымышленные, но суть передал.

    И я по названию понимаю, к какой организации относится сервер, в каком он городе, и чем занимается.
    Ответ написан
    3 комментария
  • Стоит ли обновляться на Windows 11?

    xez
    @xez
    TL Junior Roo
    Перешел в первый день релиза.
    Проблем нет.
    Использую ПК как основной рабочий инструмент.
    Использую:
    хром, фф, докер (всл 2), идею, телегу, мс офис 19й, стим, эпик ну и по мелочи...

    Нет никакой 11й винды. Это очередное обновление десятки.
    О себе она думает следующее:
    Microsoft Windows [Version 10.0.22000.469]
    Ответ написан
    Комментировать
  • Как узнать с какого smtp сервера ушел email и можно ли проследить всю цепочку?

    Смотрите заголовки Received, как правило в них есть вся цепочка начиная от формирования письма. Можно воспользоваться чем-то типа https://toolbox.googleapps.com/apps/messageheader/ - но обычно все гораздо лучше и больше видно по самим заголовкам. Вот, например, заголовки Received письма полученного через списки рассылки:

    Received: from smtp2.osuosl.org ([140.211.166.133]:43816)
    	by mx242.i.mail.ru with esmtp (envelope-from <openid-specs-risc-bounces@lists.openid.net>)
    	id 1nD7cH-000BCL-Nx; Thu, 27 Jan 2022 19:27:22 +0300
    Received: from localhost (localhost [127.0.0.1])
    	by smtp2.osuosl.org (Postfix) with ESMTP id 818F640207;
    	Thu, 27 Jan 2022 16:27:16 +0000 (UTC)
    Received: from smtp2.osuosl.org ([127.0.0.1])
    	by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
    	with ESMTP id 0oLF9wJ5GV1X; Thu, 27 Jan 2022 16:27:15 +0000 (UTC)
    Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34])
    	by smtp2.osuosl.org (Postfix) with ESMTP id F27D4401DD;
    	Thu, 27 Jan 2022 16:27:14 +0000 (UTC)
    Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])
     by ash.osuosl.org (Postfix) with ESMTP id 4A7A21BF84C
     for <openid-specs-risc@lists.openid.net>; Thu, 27 Jan 2022 16:27:11 +0000 (UTC)
    Received: from localhost (localhost [127.0.0.1])
     by smtp2.osuosl.org (Postfix) with ESMTP id 36EB3401DD
     for <openid-specs-risc@lists.openid.net>; Thu, 27 Jan 2022 16:27:11 +0000 (UTC)
    Received: from smtp2.osuosl.org ([127.0.0.1])
     by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
     with ESMTP id 6ALaTL5qxGLX for <openid-specs-risc@lists.openid.net>;
     Thu, 27 Jan 2022 16:27:09 +0000 (UTC)
    Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77])
     by smtp2.osuosl.org (Postfix) with ESMTPS id B051F400CC
     for <Openid-specs-risc@lists.openid.net>; Thu, 27 Jan 2022 16:27:09 +0000 (UTC)
    Received: from rcdn-core-7.cisco.com ([173.37.93.143])
     by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA;
     27 Jan 2022 16:19:37 +0000
    Received: from mail.cisco.com (xbe-rcd-004.cisco.com [173.37.102.19])
     by rcdn-core-7.cisco.com (8.15.2/8.15.2) with ESMTPS id 20RGJaJO009169
     (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK)
     for <Openid-specs-risc@lists.openid.net>; Thu, 27 Jan 2022 16:19:36 GMT
    Received: from xfe-rtp-001.cisco.com (64.101.210.231) by xbe-rcd-004.cisco.com
     (173.37.102.19) with Microsoft SMTP Server (version=TLS1_2,
     cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Thu, 27 Jan
     2022 10:19:36 -0600
    Received: from xfe-aln-005.cisco.com (173.37.135.125) by xfe-rtp-001.cisco.com
     (64.101.210.231) with Microsoft SMTP Server (version=TLS1_2,
     cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Thu, 27 Jan
     2022 11:19:36 -0500
    Received: from NAM10-DM6-obe.outbound.protection.outlook.com (173.37.151.57)
     by xfe-aln-005.cisco.com (173.37.135.125) with Microsoft SMTP Server
     (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14
     via Frontend Transport; Thu, 27 Jan 2022 10:19:35 -0600
    Received: from BL0PR11MB3267.namprd11.prod.outlook.com (2603:10b6:208:6b::22)
     by BL1PR11MB5318.namprd11.prod.outlook.com (2603:10b6:208:312::24)
     with Microsoft SMTP Server (version=TLS1_2,
     cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
     2022 16:19:35 +0000
    Received: from BL0PR11MB3267.namprd11.prod.outlook.com
     ([fe80::c981:5c34:715b:b3a6]) by BL0PR11MB3267.namprd11.prod.outlook.com
     ([fe80::c981:5c34:715b:b3a6%3]) with mapi id 15.20.4930.018; Thu, 27 Jan 2022
     16:19:34 +0000
    Ответ написан
    3 комментария
  • Как добавить один html файл в другой с помощью {{> }}?

    Это синтаксис handlebars, как сказали выше. В gulp есть такой плагин panini, он использует handlebars, но еще добавляет некоторые фишки (наследование шаблона).
    Также есть Nunjucks, он помощнее.
    Ответ написан
    Комментировать
  • Как добавить один html файл в другой с помощью {{> }}?

    mmmaaak
    @mmmaaak
    Скорее всего, он использовал шаблонизатор, предположу, что Handlebars, по синтаксису похоже, но возможно что-то другое
    Ответ написан
    Комментировать