• Как записать отличия между двумя текстовыми файлами в 3й файл?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    добавленные строки (в файл после изменения) записываются в 3й файл и помечаются знаком +,
    соответственно удаленные - знаком -,
    измененные знаком *
    сформулируйте четкие критерии измененной строки. допустим, после ряда совпадающих строк, обнаруживаться такие (в исходном и измененном файле соответственно):
    - b00a4ccdf4a46a8d9e69da27d52e92f8cd04d0d637f38b763f873c45b9a05bcf
    - 0afd10788608c552b0f25c5d644977e66d1185be45fee7dff716052e273115a3
    жирным шрифтом выделен 0, как вероятный повод считать что эти строки имеют сходство.. так ли на самом деле? как понять что строка действительно изменена, а не новая?

    совет

    using (StreamReader srS = new StreamReader(pathS))
                {
                    string lineS;
                    while ((lineS = srS.ReadLine()) != null)
                    {
                        SourceList.Add(lineS);
                        Console.WriteLine(lineS);
                    }
                }
    
                using (StreamReader srCh = new StreamReader(pathCh))
                {
                    string lineCh;
                    while ((lineCh = srCh.ReadLine()) != null)
                    {
                        ChangeList.Add(lineCh);
                        Console.WriteLine(lineCh);
                    }
                }


    1 - тяжеловесно и старомодно. и можно было бы вынести повторяющияся код в отдельный метод, но.. все уже сделано за нас.. и для нас..
    2 - стильно, молодежно (с) примерно так
    SourceList = File.ReadAllLines(pathS).ToList();
    ChangeList = File.ReadAllLines(pathCh).ToList();

    Ответ написан
    Комментировать
  • Как добавить ярлыки разных учетных записей Google chrome на панель Windows 10?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    chrome portable
    думаю перегиб. на мой взгляд

    chrome.exe --user-data-dir=%path-to-profile%

    вполне достаточно ))

    ps досада - % тут лишние. скопировано с батника не включая голову
    приношу извинения. если путь содержит пробелы, можно использовать кавычки, если не содержит, они не нужны

    chrome.exe --user-data-dir="x:\path to profile"
    chrome.exe --user-data-dir=y:\path-to-profile
    Ответ написан
    5 комментариев
  • Какую БД и механизмы использовать для работы с разных устройств?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    в приоритете Postgresql
    хороший вариант для бекенда (СУБД на удаленном сервере. а значит, для безопасности как минимум, еще и покрытая слоем API)

    если хотите локальную, такую же кросcплатформенную СУБД как и само приложение, скорее всего это SQLite
    Ответ написан
    6 комментариев
  • Какие можно сделать Пет-Проджекты?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    3 - СУБД
    2 - стоит. и можно )) upd если учебный пример на корке 2.* почему не погрызть его?
    Ответ написан
    3 комментария
  • Нужно ли создавать объекты модели (Entity Framework) из базы данных при старте приложения?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    вся логика приложения должна работать с запросами к БД
    все что до и после, это воображение. практикуйтесь, и все станет понятнее
    Ответ написан
    6 комментариев
  • Почему не загружается windows XP + 10?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    у вин хрю и 10, не совместимые загрузчики. один из вариантов решения https://neosmart.net/EasyBCD/
    возможны и другие
    Ответ написан
  • Как использовать IEnumerable с примитывными типами в Entety framework?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    раз уж добрались до EF, то пройдите учебные руководства, там все просто шеколадно в плане комфорта разработки. в плане производительности всегда найдется кто то лучше, но это будет не тривиально. и точно не требуется ни каких многослойных сериализаций

    https://docs.microsoft.com/ru-ru/ef/core/
    https://habr.com/ru/post/324272/
    https://docs.microsoft.com/ru-ru/ef/core/get-start...
    https://metanit.com/sharp/entityframeworkcore/

    ps личные воспоминания о litedb - не припомню проблем с производительностью. помню жестокую подлянку с типами - сохраняем int[,], а восстанавливает int[]. что не соответствует декларированной объектно ориентированности
    Ответ написан
    7 комментариев
  • Как перейти на папку выше?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    чуток по современнее будет так

    using System;
    using System.IO;
    
    namespace perentDir
    {
        class Program
        {
            static void Main(string[] args)
            {
                var x = Directory.GetCurrentDirectory();
                var y = Directory.GetParent(x);
                Console.WriteLine(x);
                Console.WriteLine(y);
            }
        }
    }
    Ответ написан
    Комментировать
  • C# (winform) как засунуть async и await в мой код?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    1 - совет - не дергайте сборщик мусора по мелочам. этим вы гарантированно ухудшаете время выполнения. в то же время он и сам великолепно справится, пока вы будете рассматривать результат

    2 - осваивайте binding к внешним объектам. Windows Forms DataGridView это умеет https://docs.microsoft.com/ru-ru/dotnet/framework/...

    в простейшем случае можете потренироваться на кошечках попробовать массивы/списки (а можно и Entity Framework подтянуть, там есть вариант БД "in memory". но только если есть данные загружаемые из внешних БД, или сохраняемые в БД.. хотя EF уже весь на async/await "из коробки")

    3 - binding из бавит вас от рукопашного создания/удаления строк DataGridView. это тяжеловестные операции, учитывая что речь о визуальных эелементах

    краткое резюме - binding к массивам/спискам/бд, а их обработка во внешних процессах, или PLINQ.. или async/await - что осилите
    Ответ написан
    Комментировать
  • Что будет если часто устанавливать/переустанавливать Windows в VMware?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    Что будет если часто устанавливать/переустанавливать Windows в VMware?
    можете линукс устанавливать и переустанавливать. можете записывать кино HD под завязку, потом записывать новое.. все едино - просто эксплуатация диска той или иной активности

    у SSD считается ограниченным ресурс перезаписи ячеек (но эта тема стремительно развивается, нынешние SSD можно смело надеяться эксплуатировать на срок морального устаревания всего компа точно)

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

    при нынешнем балансе цен, совершенно разумно брать ssd под основную систему + hdd как большое хранилище

    ну и о гипервизорах - с год назад заметил интересную штуку, при чем ярче всего проявляется только в одной комбинации:
    - винда в роли основной системы, в роли гипервизора виртуалбокс (вмвварь тоже показывает эффект, но значительно слабее) => система на виртуальном диске, который расположен на hdd, показывает производительность как на ssd. не только на тестах. гонял сборки очень больших проектов в визуалстудии - вирт обгоняеет не менее чем в два раза, бывает существенно выше

    пробовал основной системой линукс + виртуалбокс + винду гостем => хренушки, перфоманс ровно как на физическом диске ))

    дальше выбирайте сами ))
    Ответ написан
    Комментировать
  • Действительно ли С# скоро устареет?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Разумна ли мысль
    нет. контр мнение читайте тут https://habr.com/ru/company/epam_systems/blog/429766/
    .. и тут https://habr.com/ru/post/426961/

    и это еще полдела, с развитием технологий типа WASM, именно js будет главным на вытеснение из лидеров. очень долгое, но неизбежное, в силу гораздо больших фундаментальных недостатков, допущенных при создании языка. если вы не в курсе, js на 5 лет старше c#.. и был создан, по сути "на коленке" что называется

    Microsoft сдает позиции
    и снова неувязочка с реальностью https://habr.com/ru/post/449590/
    Ответ написан
    Комментировать
  • Get запрос. Как дать отработать всем скриптам?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    начинался камент.. потом думай а чеб не ответить то? повтор:

    IE удобен тем, что подхватывает всё, что стоит в IE под пользователем - аутентификацию, куки, например
    у IE как приложение - свой профиль. у встраиваемого компонента - другой профиль. и они точно не пересекаются. upd но так точно было раньше.. на сколько давно?.. не думаю что важно.. но я всего года 3-4 как не ботил встроенным ИЕ ))

    еще один существенный недостаток движка IE - все больше сайтов перестают его полноценно поддерживать

    но как стартовый вариант для вхождения в увлекательный мир ботизации - ессно самый доступный ))

    ps но ботам как правило нужны уникальные профили. у IE с этим монолит - упомянутые выше - один для IE самого по себе, и еще один абсолютно на все интеграшки

    как для ботизации (тут надо понимать что это не обязательно что то порицаемое или не верное - бот как такой, это автоматизация рутинных действий с сайтом. а если создатели сайта дают интересную (и бесплатную) инфу, но не научились пилить АПИ - бот может быть объективно полезной кому то необходимостью.. хотя все топ популярные инструменты, как правило это инструменты тестирования интерфейса ))) (upd самый топ - Selenium)

    краткие наброски:
    - все таки CEF#
    - если надо на сервере - умеет работать "без головы" (без гуи)
    - есть даже форк "безголовый", сохранял ссылку, но не помню где
    - если надо движок фокса - GeckoFx. проект интересный, но очевидно белее вялый
    - и снова о серверах - есть и другие "безголовые движки", даже на ноде (читай хромиум, читай казалось бы братья CEFу (да да # это только обертка над оригинальным проектом "встраиваемый хромиум")).. но как то выходит что CEF-клоны универсальнее, надежнее и быстрее обновляются
    Ответ написан
    Комментировать
  • Кто разъяснит строчку из C# кода?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    гугл
    - запрос
    - первая же строка выдачи
    .. а еще короче - в VisualStudio, на слове Parse в конструкции Enum.Parse можно нажать F1 (попадете туда же, ну или с коррекцией на версию дотнет и язык)
    Ответ написан
    7 комментариев
  • Тип данных аналогичный таблице в C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    если вам уже пришла в голову сортировка, тогда все таки массив структур или классов (как аналогов строк БД).. после чего, можете открыть для себя списки и словари C# вместо массивов

    следующий уровень игры - Entity Framework, очень упрощенная работа с БД. как раз для вашего случая, возможно будет интересен вариант БД in-memory

    тут все зависит от задачи. предложенные мной варианты, скорее ориентированы на энтерпрайз, а если нужно очень легковесное решение - тогда все таки просто массивы классов или структур
    Ответ написан
    1 комментарий
  • В какие языки транслируется F#?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    https://fable.io/
    и похоже вполне себе активный
    https://github.com/fable-compiler/Fable

    ps
    И важно чтобы он именно транслировался в натив
    а тут надо как то вернуться к реалиям .Net RunTime

    все .Net компилируется либо в .Net RunTime, а там есть Ngen (хотя если копнуть вариаций гораздо больше, тот же Unity со своим модифицированным Mono и IL2CPP)

    но F# компиленный js, будет работать там, где работает js - бро, или нода
    Ответ написан
    6 комментариев
  • Задачи с собеседований по максимальным числам: как решить?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    Adamos,
    2. Раскладываете А1 на множители (это куда быстрее перебора всего массива на комбинации из трех элементов).
    все зависит от размеров чисел. для больших чисел это может быть сверсхложной задачей

    Nik_Set_7, пока не заметил уточнения - гарантированно ли присутствие делителей в общем списке?
    в общем случае, максимальное находится за один полный проход. это необходимо, но и достаточно.

    а пляски с делителями зависят от нюансов - размер списка? он помещается оперативной памяти? или доступен только последовательно, из медленного источника?.. если делители гарантировано присутствуют, их можно найти за.. думаю количество проходов однозначно будет меньше чем для любого алгоритма сортировки )) upd если список существенно длинне 3х элементов ))

    и существует ли гарантия присутствия делителей в списке? если нет +значения не велики +список большой +источник последовательный и медленный, возможно, Adamos будет прав. ну а для значений не более 8 битного целого, скорее будет прав однозначно ))
    Ответ написан
    6 комментариев
  • Выбор языка программирования. Как сделать правильный выбор?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    Существует проблема выбора языка программирования.
    не существует. дальнейшими рассуждениями, вы уже обосновали свой выбор.
    Ответ написан
    Комментировать
  • Почему может постоянно крашиться лоадер винды на исправном HDD?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    10, 7 - сборки или лицензии? если сборки - вопросы к сборщикам. если лицензии - вопросы в сапорт МС
    Ответ написан
  • Как спарсить javascript на C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    1 -
    Я так понимаю в сторону POST GET запросов
    это называется в сторону API. если сайт его предоставляет. и это правильное направление. если API нет, то...
    2 - js не надо парсить, его надо выполнять. сайты на современных фреймворках, как правило очень много чего формируют не на стороне сервера, а уже в браузере, как раз js кодом. и в основном это как раз заполнение разметки данными (кстати не обязательно GET/POST, это могут быть и сокеты). в этом случае, надо не парсить, о делать бота. для C# азы можно пробовать на встроенных WebBrowser/WebView (Forms/WPF), но более продвинутый вариант - CEF#. есть аналог CEF# "без головы" (отображение), но это уже следующий уровень игры. думаю туда без опыта смысла нет ломиться. есть еще очень популярный вариант Selenium. либа для шарпа есть, инструмент изначально для тестирования а не для создания ботов. но кому то проще начинать с него
    Ответ написан
    Комментировать