Задать вопрос
Профиль пользователя заблокирован сроком с 16 октября 2023 г. и навсегда по причине: систематические нарушения правил сервиса
  • Какие есть примеры наглядных инструкций по пользованию сайтом?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    https://bootstraptour.com/

    https://userguiding.com/blog/automated-product-gui...
    https://socialapps.tech/socialengine-automated-web...

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    nginx
    location site.dev/api/ -> localhost:8090
    location site.dev/api2/ -> localhost:8091
    location site.dev/ -> прямой сервинг вашего реакт приложения
    или прописуйте cors который разрешает
    https://expressjs.com/en/resources/middleware/cors...
    Ответ написан
    Комментировать
  • Как хранить настройки программы без внешних файлов (C#)?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    using System;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                var server = "https://ya.ru";
                var template = $@"namespace StsServerIdentity {{
        public class Settings
        {{
            public const string Server = ""{server}"";
            public const int Port = 80;
            public const string User = """";
            public const string Password = """";
        }}
    }}
    ";
                Console.WriteLine(template);
            }
        }
    }


    Идея думаю понятная. Модифицируете под себя например добавив обработку аргументов и запускаете программу и последующий билд проекта в цикле
    Ответ написан
    Комментировать
  • Как мне на фронте получить буфер от изображения?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    C кодировкой разберетесь думаю
    https://jsfiddle.net/vkorotenko/kv0ncjh2/1/
    Ответ написан
    1 комментарий
  • Для каких примерно целей программисту нужен computer science?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    читайте уже best practices
    это спасет от глупых ошибок и позволит подумать а почему так сделано.
    Когда поймете сможете находить баланс между супер быстрым говнокодом и тормозом но понятным для всех.
    Ответ написан
    Комментировать
  • А как защитить свой телефон от полицейских и их неправомерных действий??

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Пособие мамкиным революционерам.

    Запомните ваш телефон наглухо прибит к вашим соцсетям и куче других сервисов.
    так что покупайте симки у таджиков и простую звонилку. не включайте ее рядом со своим телефоном, не звоните своим реальным контактам с нее. Все эти правила раздайте своим "революционерам". Не пользуйтесь кредиткой при включенной звонилке и тем более не оплачивайте этот телефон. Не пользуйтесь транспортными картами рядом с включенной звонилкой. По факту купите чехол для телефона из фольги, да это не шутка.
    никаких привязок к сервису поиска и прочее.
    И да меняйте его часто.

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    ищите в гугле по ключевикам mikrotik branch offices
    https://mum.mikrotik.com/presentations/MM15/presen...
    Ответ написан
    Комментировать
  • Как сделать датчик толщины?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    dolina-s.ru/blog/page/izmeritel-tolshhiny-lkp-na-a...
    Вот так например.
    Другой вариант это servo shield + начинка из dvd
    Идея такая. Игла сначала идет до контакта с площадкой, когда есть касание, то обнуляется.
    Дальше кладете образец, токопроводный или просто накрываете фольгой.
    Ваша логика считает недобранные обороты до касания.
    пусть винт имеет шаг 1 мм и 180 шагов на оборот.
    0.0056 мм на шаг.
    Ответ написан
    Комментировать
  • Стоит ли собирать пк на xeon 2011-v3/v4?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Сижу на xeon 2011-v2
    e5-2680 + 64 GB
    HP z420
    ядер 8 · Количество потоков 16
    Вам можно посоветовать HP z440 z640
    Правда смысла в такой молотилке не вижу z640. места больше и в очень редких кейсах это все работает.
    И по пиковому на ядро присмотритесь к Xeon E5 1660 v2 или 1680

    UPD

    Зачем 2 процессорка? Единственно что если в память упирается и то у меня одновременно крутилось виртуалок на 96 gb жонглировало нормально.
    Ответ написан
    Комментировать
  • Как подключить готовую БД SQLite к проекту на C# WinForms?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    #region License
    
    // Разработано: Коротенко Владимиром Николаевичем (Vladimir N. Korotenko)
    // email: koroten@ya.ru
    // skype:vladimir-korotenko 
    // https://vkorotenko.ru
    // Создано:  09.04.2019 23:04
    
    #endregion
    
    using SpecialForcesDirectory.Code;
    using System.IO;
    
    namespace SpecialForcesDirectory.Dbl
    {
        public class DataContext
        {
            private static readonly object Lock = new object();
            private static DataContext _ctx;
    
            public ContentDatabase ContentData { get; private set; }
            public UserDatabase UserDatabase { get; private set; }
    
    
            private DataContext()
            {
                ContentData = new ContentDatabase();
                UserDatabase = new UserDatabase();
            }
    
    
            public static DataContext Instance
            {
                get
                {
                    lock (Lock)
                    {
                        if (_ctx != null) return _ctx;
                        _ctx = new DataContext();
                        return _ctx;
                    }
                }
            }
    
    
    
    
          
    
            public static void Close()
            {
                if (_ctx == null) return;
                lock (Lock)
                {
                    if (_ctx.ContentData != null)
                    {
                        _ctx.ContentData.Clear().Wait();
                        _ctx.ContentData = null;
                    }
    
                    if (_ctx.UserDatabase == null) return;
                    _ctx.UserDatabase.Clear().Wait();
                    _ctx.UserDatabase = null;
                    _ctx = null;
                }
            }
    
            /// <summary>
            ///     Перезаписывает базу данных при обновлении, корректно закрывая ресурсы.
            /// </summary>
            /// <param name="file"></param>
            public static void UpdateFile(byte[] file)
            {
                var fp = BaseContentDatabase.DatabasePath;
                Close();
                lock (Lock)
                {
                    File.WriteAllBytes(fp, file);
                    _ctx = new DataContext();
                }
            }
    
            public static void DropFile()
            {
                var fullPath = BaseContentDatabase.DatabasePath;
                var userDb = BaseUserDatabase.DatabasePath;
                Close();
                lock (Lock)
                {
                    File.Delete(fullPath);
                    File.Delete(userDb);
                }
            }
        }
    }


    #region License
    // // Разработано: Коротенко Владимиром Николаевичем (Vladimir N. Korotenko)
    // // email: koroten@ya.ru
    // // skype:vladimir-korotenko
    // // https://vkorotenko.ru
    // // Создано:  13.08.2020 14:07
    #endregion
    
    using System.Collections.Generic;
    using System.Threading.Tasks;
    using SpecialForcesDirectory.Code;
    using SpecialForcesDirectory.Models;
    using SQLite;
    
    namespace SpecialForcesDirectory.Dbl
    {
        public class ContentDatabase : BaseContentDatabase
        {
            #region Category repository
            private async Task<SQLiteAsyncConnection> GetCategoryConn()
            {
                return await GetDatabaseConnection<Category>().ConfigureAwait(false);
            }
            public async Task<IEnumerable<Category>> GetCategories()
            {
                var conn = await GetCategoryConn();
                return await AttemptAndRetry(() => conn.Table<Category>().ToListAsync()).ConfigureAwait(false);
            }
            public async Task<Category> GetCategory(int id)
            {
                var conn = await GetCategoryConn();
                return await AttemptAndRetry(() => conn.GetAsync<Category>(id)).ConfigureAwait(false);
            } 
            #endregion
    
            #region Content Repository
            private async Task<SQLiteAsyncConnection> GetCtxConn()
            {
                return await GetDatabaseConnection<Content>().ConfigureAwait(false);
            }
            
            public async Task<IEnumerable<Content>> GetItems()
            {
                var conn = await GetCtxConn();
                return await AttemptAndRetry(() => conn.Table<Content>().ToListAsync()).ConfigureAwait(false);
            }
    
            public async Task<Content> GetItem(int id)
            {
                var conn = await GetCtxConn();
                return await AttemptAndRetry(() => conn.GetAsync<Content>(id)).ConfigureAwait(false);
            }
    
            public async Task<int> DeleteItem(int id)
            {
                var conn = await GetCtxConn();
                return await AttemptAndRetry(() => conn.DeleteAsync<Content>(id)).ConfigureAwait(false);
            }
    
            public async Task SaveItem(Content item)
            {
                var conn = await GetCtxConn();
                if (item.Id == 0) await AttemptAndRetry(() => conn.InsertAsync(item)).ConfigureAwait(false);
                await AttemptAndRetry(() => conn.UpdateAsync(item)).ConfigureAwait(false);
            }
    
            public async Task<IEnumerable<SRawItem>> GetItemsByQuery(string q, int lim)
            {
                var qu = q.ToUpper();
                var list = new List<SRawItem>();
                var conn = await GetCtxConn();
                var result = conn.Table<Content>()
                    .Where(x => x.EnableTab1 == 1 && x.Tab1.ToUpper().Contains(qu)
                                || x.EnableTab2 == 1 && x.Tab2.ToUpper().Contains(qu)
                                || x.EnableTab3 == 1 && x.Tab3.ToUpper().Contains(qu)).Take(lim);
    
                var r = await result.ToListAsync();
                foreach (var content in r)
                {
                    var st = GetSt(content, qu);
                    var title = await conn.Table<Category>().Where(x => x.Id == content.CatId).FirstAsync();
                    var ni = new SRawItem
                    {
                        Body = st.Body,
                        CatId = content.CatId.ToString(),
                        Title = title.Title,
                        Id = content.Id.ToString(),
                        MType = "a",
                        Tab = st.Tab
                    };
                    list.Add(ni);
                }
    
                return list;
            }
    
            private static TabStruct GetSt(Content content, string q)
            {
                if (content.Tab1.ToUpper().Contains(q))
                    return new TabStruct { Tab = "1", Body = content.Tab1 };
                if (content.Tab2.ToUpper().Contains(q))
                    return new TabStruct { Tab = "2", Body = content.Tab2 };
                return new TabStruct { Tab = "3", Body = content.Tab3 };
            }
    
            private struct TabStruct
            {
                public string Body { get; set; }
                public string Tab { get; set; }
            }
    
            #endregion
    
            public async Task Clear()
            {
                await BaseContentDatabase.Close();
            }
        }
    }


    В проект вставите
    <PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
    Ответ написан
    Комментировать
  • Как запустить Action при запуске инсталятора?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Смотрите тут последовательности и вставляйте в нужное место
    https://www.firegiant.com/wix/tutorial/events-and-...
    Ответ написан
    Комментировать
  • IOS разработка без Mac. Возможно ли?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Инструкция именно для Xamarin
    https://github.com/vkorotenko/MacOSMojaveOnHyper-V
    Собирается и билдится нормально, даже публикуется в сторе
    Ответ написан
    Комментировать
  • Начинающий фронт-енд разработчик, что посоветуете в качестве локального сервера для macOS?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    npm i serve -S сугубо локальный сервер
    спа приложения по умолчанию идут с возможностью просмотра
    https://ru.reactjs.org/docs/create-a-new-react-app.html
    Ответ написан
    Комментировать
  • Можно ли установить компьютер на застекленном балконе?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    сделайте из фанеры ящик, обшейте его урсой. только оставьте отверстия для охлаждения.
    лень считать но грелка в 250 ватт должна держаться до -20
    Ответ написан
    Комментировать
  • Работает ли Asp.Net всегда?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Да работает всегда. Вот кстати для понимания
    https://docs.microsoft.com/ru-ru/aspnet/mvc/overvi...
    Ответ написан
  • Обязательно нужно минифицировать файлы?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    сервера отсылают все как gzip так что не заметно, но минифицироваие добавить проблем разным хацкерам(хотя и небольшие)
    Ответ написан
  • Как реализовать вывод товаров из List у которых закончился срок годности?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Linq;
    
    namespace ConsoleApp2
    {
        /// <summary>
        /// Не используйте транслит! Любой китаец или индус поймет английский, 
        /// а вот русский только поржет. 
        /// </summary>
        public class Product
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string ImportDate { get; set; }
            public string Description { get; set; }
            /// <summary>
            /// Рубли умноженные на 10000. помним об этом то есть у вас копейка имеет 2знака после запятой!!!!
            /// </summary>
            public Int64 Price { get; set; }
            public int Discount { get; set; }
            public string Category { get; set; }
            /// <summary>
            /// Дата списания
            /// </summary>
            public string DueDate { get; set; }
            public string ДляОсобоУпоротыхЭтоТакиРаботает { get; set; }
        }
        public static class Extensions
        {
            /// <summary>
            /// Convert string from format dd.MM.yyyy to DateTime
            /// </summary>
            /// <param name="inputDate"></param>
            /// <returns></returns>
            public static DateTime ParseDateDayMounthYear(this string inputDate) =>
                DateTime.ParseExact(inputDate, "dd.MM.yyyy", CultureInfo.InvariantCulture);
        }
        class Program
        {
            static void Main(string[] args)
            {
                #region заполняем список товаров
                List<Product> tovar = new List<Product>()
                {
                    new Product(){Id = 2,
                        Name = "Яблоки",
                        ImportDate = "11.11.2022",
                        Description = "Свежие яблоки.",
                        Price = 1000000,
                        Discount = 5, 
                        DueDate="11.11.2022",
                        Category = "Овощи"},
                    new Product(){Id = 2,Name = "Молоко",
                        ImportDate = "16.10.2021",
                        DueDate="16.10.2021",
                        Description = "Свежее молоко.",
                        Price = 800000,
                        Discount = 10, 
                        Category = "Кисломолочные"}
                };
                #endregion
    
                // число месяц год
                var data =  tovar.Where(item => item.DueDate.ParseDateDayMounthYear() < DateTime.Today).ToList();
            }
        }
    }
    Ответ написан
    Комментировать
  • Emmet Sublime как добавить размеры картинки?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    https://docs.emmet.io/cheat-sheet/

    https://packagecontrol.io/packages/Emmet
    // Put this code snippet into your .sublime-keymap file
    // and modify `keys` value with desired shortcut
    {
        "keys": ["ctrl+."],
        "command": "emmet_enter_abbreviation"
    }
    Ответ написан
  • Как полностью защитить ноутбук от взлома?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    В общем случае достаточно иметь бук с TPM и включить битблокер и включить антивирус.
    Также рекомендую не ставить ломалки и прочий подобный софт.
    Дальше. Пароли должны быть сложными, и различными для всех сайтов.
    Дальше используйте менеджер паролей. Отключите вход через сканер отпечатка и камеру. Включите блокировку экрана через 1 минуту простоя.
    Создайте сервер с TFTP и настройте Clonezilla. Делайте регулярные снимки диска.
    Так же создайте разъездной образ для предоставления сотрудникам органов на таможне.
    Там должны быть дублирующие записи в соцсетях с абсолютно нейтральными постами.
    Дубли этих соцсетей должны быть и в смартфоне.

    Цифровая гигиена: не регистрироваться на не нужных сайтах, не кликать на баннерах, не передавать пароли через мессенджеры и не хранить их в проектах.
    Ответ написан
    Комментировать