• Как научиться делать роботов?

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

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    для
    большего понимания языка
    нужна практика. про книги - тот кто хочет узнать нечто, читает все что под руку попадется*. тот кто не хочет ни читать, ни кодить, (upd даже гуглить сам не хочет ;) тот и задает вопросы "а как мне ни чего не делая, сразу в сеньеры попасть"?

    ps * - если какую то книгу хвалят, это хорошо. в данном случае, вы упоминаете книги, у которых заведомо разная цель (по крайней мере по названиям). даже при возможном сходстве оглавления, "CLR via C#" больше ориентирована на раскрытие подкапотного устройства дотнет (CLR же). "Справочник по С# 7.0 полное описание" - вы не сообщаете автора, а мне тоже в лом гуглить.. в общем случае справочник, все таки не обучающее пособие для новичков, а подручная книга для того кто уже начал кодить самостоятельно, и постоянно этим занимается
    но как я попытался намекнуть выше, если вы хотите изучать (а если еще и смекалкой не обделены) - читайте все что под руку попадется, и тут же пробуйте. и сравнивайте. сравнение очень крутой опыт. в этом случае не важно, лучшая ли у вас книга. да и вообще - книги катастрофически отстают от реальности. возмитете любую доступную книгу, но добавтьте просмотр хабра по тематическим тегам, и не ленитесь нажимать кнопку F1 в визуал студии (будете знакомиться с МСДН**). так и формируется собственный опыт

    ** частенько МСДН, это истина в конечной инстанции. хотя не всегда легокопереваримая

    pps только на ютуб не ведитесь. там конечно есть и записи с конференций профи (чумовые) но до них дорасти надо. а по запросам вылезает море пены от школоты. имхо
    Ответ написан
    2 комментария
  • Долго грузиться восьмёрка. Что придумать?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    Как бы определиться? Это винт или вирусы?
    (почти как у Шекспира винт или не винт?)..
    - тест всегда с внешго носителя (тут и далее говорим и ситуации вирусной угрозы)
    - не просто с внешнего, а с холодной загрузки (в данном случае речь о полном выключении питания на несколько минут. ибо существует вид атаки "холодная перезагрузка". нам надо просто полностью обесточить комп на минут 10-15)
    - тест с носителя от доверенного источника. эти очередные умные слова означают что сборки с трекеров не могу быть доверенным источником. для теста железа просто и надежно использовать любой лайв образ линукс. большой плюс линукс еще в том, что для виндовой заразы он обычно явление абсолютно непонятное. если линуксом не дружили берите Mint. за компанию тестим память, memtest86 у Mint в загрузочном меню. с диском не тестим (это потом, ибо большинство тестов имеют смысл для файловой системы), а первым делом смотрим S.M.A.R.T. и если вики мало, ищем еще какую ни будь еще шпаргалку на какие значения смотреть, а на какие не особо заморачиваться, к примеру тут https://www.ixbt.com/storage/hdd-smart-testing.shtml после чего с диском долно быть все понятно (ну или ищите еще статьи по S.M.A.R.T. )))
    - если счастье есть основные железки исправны, выдыхаем, и переходим к ответу Рональд Макдональд (выбор редакции мой выбор, ибо его ответ раньше написан и имхо наиболее точен из опубликованных, на момент моего ответа)

    upd исправлен косячек с одной из важных ссылок. сорян
    Ответ написан
    Комментировать
  • Как передать массив с одной формы в другую (c#)?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    если вы хотите работать с одними и теми же данными в разных формах, лучше что бы они существовали где то отдельно, возможно в качестве поля в главной форме, с типом:
    - массив для простого случая, далее по усложнению задачи
    - таблица данных https://docs.microsoft.com/ru-ru/dotnet/api/system...
    - база данных https://docs.microsoft.com/ru-ru/ef/

    а в гридах делать биндинг. тагда все экземпляры datagridview будут работать с одним источником, и даже отображать изменения, внесенные в другом гриде
    https://docs.microsoft.com/ru-ru/dotnet/framework/...
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    https://metanit.com/sharp/entityframework/3.1.php
    Ответ написан
    Комментировать
  • Как упростить переменную в C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    а еще можно сделать расширение
    для приведенного фрагмента что то типа
    public static string b64toASCII(this string s) => Encoding.ASCII.GetString(Convert.FromBase64String(s));

    преобразуем исходный фрагмент
    LocalData + "Тут".b64toASCII(), 
                LocalData + "Все ".b64toASCII(), 
                LocalData + "значения".b64toASCII(), 
                LocalData + "будут".b64toASCII(), 
                LocalData + "совершенные".b64toASCII(), 
                LocalData + "Разные".b64toASCII(),


    ps base64 явно не нужен для литералов набранных в редакторе. они вообще не требуют дополнительной обработки. это похоже на данные получаемые из сети к примеру. если разделение запятой не ошибка, значит формируется массив. и если LocalData постоянное значение для массива, можно еще и LINQ притянуть
    // сначала собираем base64 данные в массив. с большой вероятностью такой код будет проще
    // пока в нем нет обработок.
    // допустим этот массив называется b64data. тогда итоговый массив можно получить одной строкой
    var target = b64data.Select(x => (LocalData + x.b64toASCII())).ToArray();
    // ToArray() можно заменить на ToList() при желании,
    // но если и дальше использовать LINQ, проще так и шпарить IEnumerable<string>
    // в смысле убрать .ToArray() вообще
    Ответ написан
    Комментировать
  • Windows 2019 server, на какой виртуальной машине запускать?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    1 - на 12.11.2019 18:36 MSK формулировка вороса
    Windows 2019 server, на какой виртуальной машине запускать?
    В общем суть вопроса, на какой виртуалке запускать.
    VirtualBox не подходит так как винда 64 битная.
    не содержит ни слова о том какая операционка выступает в роли хоста
    2 -
    VirtualBox не подходит так как винда 64 битна
    это бред. VirtualBox может быть запущен в любом сечетании битности хостовой и гостевой ОС. в том числе даже запускать x64 гостей из под x86 хоста (но с 1 ядром)
    подозреваю, что вы одновременно установили и Hyper-V, и VirtualBox. в этом случае VirtualBox тоже сможет запускать только одноядерные гостевые машины. просто удалите Hyper-V (или VirtualBox, это дело хозяйское)
    3 - под десктопные винды, вариантов только 3 - Hyper-V, VirtualBox, VmWare. если гостевые системы тоже на основе винды (в тч сервер) Hyper-V, более логичный вариант. краткие преимущества и недостатки:
    - Hyper-V единственный, кто предоставляет динамическое распределение памяти (идеально работает только с виндовыми гостями). но Hyper-V в принципе не пробрасывает никакие usb устройства. абсолютно. в тч ключи 1С, что часто актуально для вин-серверов upd ну и существует Hyper-V только в винде
    - VirtualBox и VmWare пробарсывают usb. оба гораздо предпочтительнее для Linux гостей
    - VmWare дает более производительную графику для гостей, но жрет больше памяти, и посягает на своп
    - VirtualBox дает чумовой прирост производительности дисковых операций, если включить кеширование записи на виртуальном контроллере (upd 2 а если еще хост линуксовый
    этот эффект сильнее чуть ли не в два раза ;)))
    TNGz55D.png это виртуальный винсервак на харде, с максимальной пропусной способностью в 220 MB/Sec. во избежание споров - сборка тяжелых проектов типа OpenCV, реально идет раз в 2-3 быстрее
    но при этом стоит озаботится регулярными бекапами гостя. или упсом. это на случай обрыва питания.

    ps VirtualBox и VmWare позволяют запустить OS X. но только VmWare имеет комплект гостевых утилит (что даст проброс клипбоарда и звука (с Сири же интересно поговорить)) но все это требует уже некоторого изучения, и местами уже вполне пиратство ))
    Ответ написан
    3 комментария
  • Как джуниору с большим опытом работы на другом языке найти удаленную работу на частичную занятость?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    поддержу Юлия Бедросова, и CityCat4, и добавлю:
    - есть довольно популярный сектор. это надстройки над 1С с веб интерфейсом, предоставляющие нестандартные отчеты, в нестандартных разрезах и/или с оригинальными формами представления. как внутриофисного использования, так и в открытом море интернете, к примеру для мобильных устройств (типа шеф в любое время и в любом месте, может помотреть ключевые показатели). творчества море, при этом не обязательно освоить все веб технологии сразу. что хорошо именно для вхождения
    - в качестве бэка (или мидл для пункта выше), не обязательно php. .Net Core кросплатформенный, спрос быстро растет. а в корпоративном секторе и так преобладает .Net. если C# заходит лучше php/node.js вэлкам в мир .Net. информационная поддержка, в тч на русском, впереди планеты всей. а так же инструментарий (VS)
    - можно смотреть и на java. сопоставимо. но по мне так .Net проще, особенно в винде
    - в качестве переходного этапа, для практики и освоения, можете попробовать десктопнные приложения Windows с веб интерфейсом (и снова .Net будет более легким в освоении, но годится любой упомянутый стек)
    Ответ написан
    Комментировать
  • Полноценно ли будет работать Docker на Windows 10 с процессором i3-9100F?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    Слышал, что на это влияют особенности аппаратной виртуализации процессора
    (обычно, проблемы, в следствии аппаратных особенностей, бывают у AMD)
    вам следует опираться не на слухи, а на docker for windows system requirements
    при внимательном просмотре выдачи, можно добраться до оных тут https://docs.docker.com/docker-for-windows/install/
    и обнаружить, что системные требования докера в части железа, укладываются в системные требовани Hyper-V. от процессора тут требуется наличие поддержки SLAT но эта фича стала массовой где то году в 2010 или 2011 (Hyper-V win8x64 ее уже требовал, и мне пришлось подсуетиться с апгрейдом на свежий проц)
    + надо в биосе включить все галочки про виртуализацию
    + не забудьте уделить внимание списку совместимых версий винды, и какие фичи в винде надо включить
    Ответ написан
    Комментировать
  • Можно ли после изучения синтаксиса С#, перейти к изучению ASP.NET?

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

    при этом разбить на этапы "сначала это, потом то, а потом только asp" достаточно четко невозможно.
    а изучение на практике может быть вполне эффективным
    Ответ написан
    5 комментариев
  • Можно ли в 1С использовать кастомный UI?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    1С монолитная платформа для решения бизнес задач, как следствие:
    - там не до свистоперделок
    - обычно там предпочтительнее что бы юзерэкпириенс не ломался
    - в части нестандартных графиков/отчетов - webview, и js либы вэлкам. и все равно гораздо чаще делают вебсервисы, которые используют 1С как бэк (в тч наверное по тому что webview там все еще на ослике)
    Ответ написан
    2 комментария
  • Какой смысл использовать IEnumerable?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    главная фишка IEnumerable это возможность создавать параллельную конвеерную обработку легкочитаемым кодом. переводя на кухонный язык - если функция возвращает IEnumerable<что то там> из относительно медленного источника (БД, сложная обработка) она может делать yield return <что то там> поштучно. если эта функция оформлена как асинхронная, то вызывающий код, может быть написан, так, как будто просто получает IEnumerable<что то там> сразу, но с ключевым словом await. в итоге вызывающий код, и код поставщик данных, будут обрабатываться параллельно

    весь LINQ построен на IEnumerable, не только как на типе посреднике между типовыми обработками наборов данных, имеющих не известный заранее размер (тут бы и List справился), но и на возможности создавать асинхронные перегрузки для основных методов LINQ

    ps yield return вообще мощная штука. даже без async/await. как пример yieldprolog.sourceforge.net
    Ответ написан
    Комментировать
  • Как запретить доступ к папке Windows?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    1 - AppLocker может работать с папками. если вам надо без домена и политик, тогда VeraCrypt к примеру
    2 - даже AppLocker так не извращается. уверен что готовых решений нет, по тому что сценарий примнения явно надуманный. тем не менее, вполне можно
    написать программу
    для запуска в фоне, которая бы исполняла подобные функции.
    допустим мне известны все необходимые технологии, что бы написать подобную программу на любимом языке - аудит доступа к файлам и хуки на основные операции с ними. для одного типа файлов, прототип можно набросать за вечер, ну два-три. но как только потребуется возможность настройки, защиты от обхода, это сразу превратится в объемную работу. а это уже далеко вне тематики данного ресурса
    Ответ написан
    Комментировать
  • Почему не отображаются шаблоны надстроек Office 2010 в Visual Stuido 2019?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    каждая студия поддерживает пару поколений офиса - актуальную на момент выпуска студии + одну более старую
    (а студии дотнет я видел все. в тч те, где поддержки шаблонов надстроек разработки для офиса еще вообще не было)
    Ответ написан
  • Где ошибка в коде?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    oZGq8xg.png
    Ответ написан
    Комментировать
  • Как лучше всего осуществить проброс видеокарты в виртуальную машину?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    в виртуалбокс - ни как. вообще. нет там такой фичи. ни в винде, ни в линуксе
    в вмвари - то же самое. ни в винде, ни в линуксе
    если у вас один видеоконтроллер - ни как. ни где, ни в винде, ни в линуксе
    видеоконтроллер принадлежит одной ОС. если у вас он один, после загрузки основносй ОСи, он принадлежит ей

    хотите хост (головная машина) и две виртуалки с проброшенными картами? вам надо три видеоконтроллера
    но под виндой все равно - ни как. нет под настольную винду таких гипервизоров

    если вы разоритесь на нужное количество видеокарт (может и дешевые найдутся) и в материнке хватит совместимых слотов, вам все рано понадобится серверная операционка:
    - Windows Server Hyper-V - https://docs.microsoft.com/en-us/windows-server/vi... только не путайте с Windows Server, там десктопа нет. это специальная редакция для дата-центров, в ней живут только виртуалки
    - или загадочный для вас линукс. он и в десктопных вариантах может включать любые свои серверные функции. при этом придется освоить какой либо из взрослых линуксовых гипервизоров

    ps кстати. возможно вам проброс то и не нужен. более вероятно игре/боту нужен какой либо 3D ускоритель. а у вас
    i7-9700k (с hd630)
    . он дает фичи 3Д ускорителя головной системе, и то слабенькие. в ВМВари у вас эмуляция 3Д откажется включаться. в виртуалбоксе может включится, для этого надо экстеншенпак для виртуалбокса загрузить, правильной версии https://www.virtualbox.org/wiki/Downloads
    но спасет ли это ваши игры, это уже сами проверяйте. по тому как может все дико тормозить
    Ответ написан
    2 комментария
  • Разные тайминки ОЗУ приводят к BSOD?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    ЗУ: ОУЗ проверял Memtest86+, все рабочие.

    ! - биос верни в дефолт. можно и обновить. но лучше после устранения бсодов
    1 - что такое "ЗУ:ОУЗ"?
    2 - если ты про память - по одной проверял? надо все вместе!
    3 - если у тебя пиратская сборка - снеси и поставь винду с чистого дистрибутива
    4 - вспомни, не ставил ли очередную пиратскую игру, в те же дни, когда добавил память
    5 - по чисто случайному совпадению, в это же время, могли обезглавить какой нибудь ботнет. а твой комп мог быть его рабом. и в этом случае вирус тоже может валить систему в бсод
    Ответ написан
    1 комментарий
  • В С# не работает using System.Windows.Forms; как его подключить?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    COM->System.Windows.Forms
    это не COM
    .net Core, Visual Studio 2019, создаю проект в консоли(так ведь можно)
    можно, но только когда вы знаете что делать дальше. а сейчас очевидно что не знаете:
    - в .net Core формы поддерживатся с версии самой корки 3.*
    - .net Core 3.* поддерживается начиная с Visual Studio 2019 (и то начиная со свежих билдов, осенних)
    - визуального редактора форм на данный момент не существует
    - есть руководство https://docs.microsoft.com/ru-ru/dotnet/core/porti... (что подключать там тоже написано)

    совет - если вы только начинаете изучать программирование, не готовы осваивать XAML и нуждаете в визуальном редакторе форм, практикуйтесь сначала в .Net Framework, и используйте шаблон проекта WinForms
    Ответ написан
    3 комментария
  • Возможно ли использование win server как клиентскую ОС?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    о лицензировании вам уже подсказали. о практическом применении:
    - можно получить шикарную рабочую станцию. но тонкостей по обратному тюнингу к рабочей станции достаточно много. не все из них очевидны, и не все описаны блого-марателями
    - если 2016/2019, то магазина приложений нет и не будет
    - видеодрайвера автоматически ставятся только для Intel. Nvidia (AMD ни когда не пробовал с сервером, но возможно все так же, ибо это вопросы лицензирования) установщик от производителя не запускается. можно распаковать и установить в ручную. но после этого sfc /scannow считает систему сломанной
    2008 р2, 2016 или 2019?
    если все таки решите ставить сервер, не зависимо от легальности - это, в порядке перечисления, эквиваленты вин7, вин10 4-летней давности, и вин10 годовой давности (цикл обновления сервера с десктопом - 3 года). лично я предпочитаю свежие системы. тем более вы упоминаете студию

    ps
    Линукс вызывает очень много жжения, особенно у меня
    для размышления - самой умопомрачительной производительности на своем железе (которому 6й год) я добился в такой матрешке - кубунта, виртуалбокс, а в нем ws2019. но надо учитывать что мне не важна графическая система в винде. и естественно тоже есть нюансы по тюнингу. основной - это кеширование дискового контроллера (что автоматом требует регулярно бекапить все важное. да и образ системы виртуалки после крупных апдейтов и/или установки ПО). но это не единственный нюанс ))
    Ответ написан
    Комментировать
  • Как вернуть Windows до заводских настройках?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    если не вин10 (см ответ Nikolay Petyukh) тогда перед установкой выполнить полное форматирование любым удобным способом
    доступно при загрузке с установочного диска
    (в 10 тоже работает)

    важное условие - выполнить надо полное форматирование. не "быстрое"

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

    ps для ssd 100% гарантии уничтожения данных нет ни при каком способе зачистки (но нет и гарантии восстановления даже экспертами) - https://habr.com/ru/post/115349/
    Ответ написан
    Комментировать
  • Какой параметр в PDF отвечает за отступ от края страницы?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    по состоянию на 02.11.2019 19:25 МСК имеем
    вопрос
    Какой параметр в PDF отвечает за отступ от края страницы?

    пояснение
    Создал два PDF файла в ворде.
    В одном PDF поставил левое поле больше, в другом - меньше.
    При просмотре видно, что поля разные, но как найти размеры полей программно?
    Пытаюсь выводить размеры ArtBox, BleedBox, CropBox, MediaBox, TrimBox и Rect, но они одинаковые в обоих документах.

    - C# упоминается только в теге
    - OpenXML SDK не упоминается вообще
    - упоминается Создал два PDF файла в ворде. со скрипом домысливая причастность к вопросу тега C#, можно предложить создавать програмно в ворде свои документы, там же править параметры страницы, после чего сохранять в pdf. думаю на изучение задачи управления парметрами страницы в ворде, должно уйти гораздо меньше двух лет
    а сохранить в pdf
    вообще элементарно
    после того как нагуглишь, у меня ушло не более вечера.
    задача была конвертировать rtf в pdf. если платные либы, но это запрещалось. все беплатное было через заднее крыльцо html, что попахивало жуткими потерями идентичности документов. при этом не запрещалось использовать word. вышло так
    internal static bool wordAsConverter(string rtf, string pdf, bool verb = true, bool clean = true)
    {
      $"\t..try convert to pdf...".print();
      var res = false;
      var app = new Application();
      try
      {
        var doc = app.Documents.Open(rtf);
        doc.ExportAsFixedFormat(pdf, WdExportFormat.wdExportFormatPDF);
        doc.Close(false);
        res = true;
        var fn = Path.GetFileName(rtf);
        if (verb) $"\t{fn} converted to pdf".print();
        if (clean)
        {
          File.Delete(rtf);
          if (verb) $"\t{fn} deleted".print();
        }
      }
      catch (Exception e) { e.Message.print(); }
      finally { app.Quit(false); }
      return res;
    }
    // что бы не смущал .print(); это уже привычка, для уменьшения многословности кода
    internal static void print(this string s) => Console.WriteLine(s);
    Ответ написан