Задать вопрос
  • Какую БД выбрать для разработки программы?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    а база данных будет находится на удаленном компьютере
    самые важные вопросы:
    - ожидаемый объем данных?
    - какая ОС на "удаленном компьютере"?

    допустим это Windows (в тч Server), и объемы ожидаются небольшие, ответ однозначный - MS SQL Server Express, лимит базы 10 Гб, зато все бесплатно и "с ног до головы родное", как винде, так шарпу, впфу и самой студии. все описано и разжевано до нельзя. даже по русски
    Ответ написан
    2 комментария
  • Как понять, с какого именно диска ставилась винда?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    AIDA64 показывает исходные ключи открытым текстом. раздел "ПО/лицензии"

    по крайней мере все основные продукты МС - винда, офис, студия, скуль и тд полез проверять - только винда, скуль девелопер и студия комунити, а офис 2013 коробочный, с ключиком, но не показан.. странно.. может что то изменилось за годы..

    тем не менее - винду бодро показывает по сей день

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

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

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    В данный офис сотрудники офисного центра завели канал связи с ip 10.x.x.x
    это уже интранет.
    проброс невозможен, точнее говоря возможен, но только двойной* проброс - вам надо пробросить порты с роутера на целевую машину у себя в офисе + уговорить офисных ИТ на проброс протов с их роутера на ваш офисный (что обычно мало вероятно).
    самостоятельно вы можете использовать два способа:
    - VPN через внешний хост, либо свой (есть у гугла пожизненно бесплатный вариант, читать тут и пробовать, или покупать vps) upd если дома можно поднять внешний ip, тогда VPN хост можно и дома поднять
    - https://ngrok.com просто, бесплатно, но с умеренным лагом. все однопортовые протоколы (http, rdp, ssh) настраиваются просто, а вот ftp, к примеру, оказывается использует динамические порты после авторизации. мне не удалось настроить

    ps * - если офисный комплекс большой, 10.x.x.x может быть порублена на подсети, тогда в цепочке может быть более двух (один ваш и один реально выходящий в интернет точно уже два) маршрутизаторов. можно проверить командой tracert, если у офисников разрешены пинги роутеров, вы увидите всю интранетовскую цепочку
    Ответ написан
    Комментировать
  • Объясните начинающему?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Оператор % (Справочник по C#)

    допустим у вас число 3333. при целочисленном* делении на 100 будет результат 33. строго говоря сотен 33 и есть. но если речь о выделении именно одного разряда сотен 3333, то есть надо получить 3?

    очевидно этим и занимается % - он дает остаток от деления на 10. по законам шарпа 33 % 10 = 3

    ps еще пример
    1234 / 100 = 12
    12 % 10 = 2

    * - при целочисленном делении, в языках строгой типизации, дробная часть отбрасывается
    Ответ написан
    Комментировать
  • Ввести N целых чисел в 1-мерный массив. Вычислить количество элементов массива=0 и сумму их индексов. Как реализовать динамический массив?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    обычно используют коллекции (или векторы или списки), которые ведут себя именно как динамические массивы. вся механика скрыта "под капотом". просто берете подходящее из числа готовых шаблонов, и пользуетесь

    плюсовую специфику изучать придется самостоятельно. в шарпе наиболее подходящим был бы List<int>
    Ответ написан
    9 комментариев
  • Как отключить автопереключение раскладки в win 7?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    Просмотрел достаточно форумов но ответа не нашёл. Может кто знает как можно отключить автоматическое переключение раскладки клавиатуры в win 7 ?

    если установлен Punto Switcher - удалить или покопаться в настройках. но возможно лучше удалить

    если его точно нет, тогда сложнее - аналоги менее известны широкой аудитории. я знаю только пару (кроме тех что указаны в вики пунты)
    https://github.com/BladeMight/Mahou
    https://github.com/kurumpa/dotSwitcher
    Ответ написан
    Комментировать
  • C# Как удалить область строки?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    помогает String.Remove там же есть пример применения

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

    пользуйтесь кнопкой F1 на названиях классов и методов, очень полезно пролистывать сведения о классе

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

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

    upd хотя на самом деле есть одна фишка 5ODp4P3.pngPropertyBinding к AplicationSettings но там знанием как изменить шрифт уже не отделаешься ))

    это штатный механизм для создания сохраняемых конфигов. прямо скажем уже прилично устаревший (как и сами формы). но по МСДН полазить придется ))
    Ответ написан
    Комментировать
  • Как бы вы распланировали терминальный сервер?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    1 - невозможно дать точный ответ не зная особенностей
    2 - ключи usb 1С есть? обдумайте Hyper-V, рекомендую. эта редакция сервера бесплатна, единственный минус - нет проброса usb, зато динамическое распределение памяти. если умеете ставить ключи на другом компе (может старый тауэр?) и шарить по сети - Hyper-V лучший выбор для хостинга виндовых виртуалок. диски придется распределять на глазок, но это не сложно, если не пытаться туда повесить офисную файлосвалку (ее желательно содержать отдельно). в любом случае все это надо мониторить, когда будет более ясная картина, можно уточнить распределение и стартовое выделение памяти и ядер. при наличии бекапов, в специально выделенное время, можно и диски подвигать, если понадобится. далее рассуждения вне зависимости от выбора гипервизора
    3 -
    SSD - 1x265Gb
    явно с перевесом в пользу в пользу терминала, но и для АД не менее 1/3. если вынести с системного диска терминала все пользовательские профили на рейд (вы же рейд планируете на хардах?) что было бы правильно, тогда примерно АД/Терминал=2/3 можно, или даже пополам. зажимать АД тоже не следует
    4 -
    HDD - 4x1Tb
    явно весь отдать Терминалу. настоятельно рекомендую райд 10 (единственных райд, у которого скорость растет пропорционально количеству дисков). не смотря на больший проигрыш в объеме, лучшее быстродействие и высокая надежность. в 10ку лучше 8 дешевых дисков, чем 4 дорогих (но пару дисков этой модели стоит еще положить на полку для аварийной замены)
    5 - АД - настоятельно рекомендую делать резервный контроллер АД (!!! не разнесение ролей, а именно резервный). хорошим решением будет разместить его в другом физическом компьютере (может старый тауэр?)
    6 - если требуется достаточно объемное файлохранилище - настоятельная рекомендация, снова в отдельном компьютере.. (третий раз повторяться не буду, но в общем случае, НЕ интенсивно эксплуатируемое файлохранилище, можно совместить с резервным контроллером АД ))
    7 -
    как правильно организовать backup всей этой радости?
    обычно тут не надо ни чего изобретать - SQL штатными его штатными средствами (изучайте схемы бекапирования, потеря дня работы, возможно уже будет стоить дорого), Терминал и АД - собственными средствами винсервера (в часы минимальной нагрузки, снова схемы, но один суточный бекап тут обычно допустим). а вот над чем стоит задуматься - носитель бекапов должен быть снова в другом компьютере (или стример). это важно. допустим что то очень нехорошее случилось и накрывается весь рейд - если бекапы на нем, то ой
    7+ - есть сторонние решения, типа veeam backup (и вроде там есть бесплатная редакция), они помогают мониторить процессы бекапирования, облегчают настройку, отчеты, восстановление. но как правило, такие решения требуют однозначно выделенного бекап-севрвера и установку агентов на бекапируемые сервера/станции. это дополнительные расходы и ресурсов на серверах, и на сам бекап-сервер. они оправданы когда штат мал (вы один) а серверов уже как собак нерезаных
    7++ - о стримерах - упал потолок в серверной, в здание попал метиорит (тфу-тфу) - если ваши бекапы в одном помещении - опять ж.. надежная схема предусматривает ступенчатое бекапировани, и хранение самых долговременных носителе в другом расположении. но это отдельна большая тема, там и инфобезопасность притягивается, и тд.. хотя все доступно в сети
    Ответ написан
    2 комментария
  • Добавление ОЗУ с другими характеристиками?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    - AIDA64 покажет параметры питания установленной памяти, а так же все остальные параметры. данные читаются из чипа памяти SPD, там истина в конечной инстанции
    - в общем случае не обязательно искать того же производителя, важен тип (DDR2), частота (800, хотя можно больше), тайминги тоже не обязательно что бы совпадали (но лучше что бы были не хуже). все равно вся память будет работать на частоте более медленных планок, и с более низкими параметрами тайминга
    - а вот про расхождение в напряжении питания точно не скажу, возможно это проблема, а может все автоматом подстраивается (соблюдая предыдущий пункт, ни когда не сталкивался с проблемами, и как то вопрос питания ни разу не попадал в поле зрения, хотя компов было собрано своими руками что трехзначное)
    Ответ написан
    3 комментария
  • Как в один клик сменить/установить ip:port прокси из буфера обмена?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    https://addons.mozilla.org/ru/firefox/addon/proxy-...
    и вагон подобных

    ps конкретно о prefs.js, мы уже как то обссуждали ;)) в заголовке файла все написано. не перечитывается он во время сеанса, более того перезаписывается по окончанию сенса, тем что в настройках фокса в оперативке
    // Mozilla User Preferences
    
    // DO NOT EDIT THIS FILE.
    //
    // If you make changes to this file while the application is running,
    // the changes will be overwritten when the application exits.
    //
    // To change a preference value, you can either:
    // - modify it via the UI (e.g. via about:config in the browser); or
    // - set it within a user.js file in your profile.


    upd ptYfhyE.png
    Ответ написан
    3 комментария
  • В Visual Studio 2017 иногда когда заходишь в ранее сохраненный файл программа не открывает окошко при нажатии F5, как исправить?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    в Visual Studio 2017 (да и вообще любой) запуск программы
    окошко при нажатии F5
    доступно при открытии решения (*.sln - это способ ведения проектов в VS, корректнее всегда открывать именно решения) или проекта (*.csproj и др, в соответствии с языком проекта, но и в этом случае создается временное решение, и при закрытии проекта предлагается его сохранить)

    может вы открываете отдельно взятый файл исходника? (*.cs, *.c, *.cpp и тд) в этом случае компиляция и выполнение не доступны

    ps где то совсем недавно, попадалось на глаза, что якобы студия, начиная именно с 2017, умеет исполнять отдельные файлы C#. из любопытства только что перепроверил - нет, не исполняет. (возможно там речь шла о VS Code, но это самостоятельный продукт, с кучей своих особенностей)
    Ответ написан
    Комментировать
  • Нужно ли для Linux разбивать жесткий диск на 2 раздела?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    1 - новичку проще один раздел. лучше LVM, но с ним тоже надо освоиться. можно и без LVM. свежие Ubuntu/Mint по дефолту предлагают один раздел, даже подкачу в виде файла. что бы не нервничать по поводу home в случае переустановки (а перестановка для новичка деле не редкое ;)) лайвхак - при повторной установке не обязательно форматировать раздел, можно просто удалить все, кроме home (не забыть включить отображение скрытых файлов). загрузочный сектор установщик перепишет сам

    2 - со временем стоит расширить эрудицию о типовых назначениях папок. интересное решение предлагает OpenSUSE, на основе BtrFS. если LVM и позволяет комфортно изменять размер логических томов по мере надобности, они все таки там имеют фиксированный размер. BtrFS создает изолированные логические под тома, при этом всем доступно общее свободное пространство на диске (если не ошибаюсь лимиты тоже можно задавать, но сейчас не об этом). OpenSUSE по умолчанию выделяет в под тома не только home, temp и подобные, типовое расположение системных настроек программ (не самой ОСи, а типа СУБД и прочее), баз данных MySQL и Postgree, тоже сразу выделены в под тома, что позволяет их сохранить при переустановке и выполнить псевдоформатировние рута. но это уже следующий уровень игры ))
    Ответ написан
    Комментировать
  • Как сделать наименование файла и директории с двойной кавычкой в Windows (fat32 table edit) через командную строку?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    ни как
    наименование файла и директории с двойной кавычкой в Windows
    не допустимый символ

    ps в теории вы можете изучить структуры Fat32, и отредактировать.. допусти Acronis DD Suite (ну или что освоите). но вы автоматом получите ошибку файловой системы

    если вдруг, wsl позволяет использовать этот символ внутри своей файловой структуры, просто для упражнения попробуйте полностью скопировать каталог файловой системы wsl, в другое расположение (обещаю что будут сюрпризы ;))
    Ответ написан
    1 комментарий
  • Какой язык изучать после Си?

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

    для прикладных программ подойдет чистый Си или лучше еще изучить С++ или С#?
    прикладные программы бывают разные - чаще всего, в цене скорость разработки, а это (из перечисленных) однозначно C#. в тоже время, бывают вполне себе прикладные задачи, где критически важна производительность. для малых объемов кода эффективнее C, если нужна алгоритмистика, высокий уровень абстракций, но при это максимальная производительность, тогда уже C++, но это самая сложная траектория. быстро (!!! и то относительно) получается только у профи, которые уже много лет вложили в изучение C++
    Ответ написан
    Комментировать
  • Почему не устанавливается новая версия win 10?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    1 - на сегодня обновление действительно приостановлено, если не ошибаюсь, именно сегодня https://overclockers.ru/blog/d1my4/show/21337/micr...

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

    3 - если очень хочется, можно уже найти iso.. если постараться... однако стоит внимательно почитать о причинах приостановки, одна из главных - часто удаляютя папки документов, картинок, и тд.. то есть основной набор пользовательских данных, в тч вандрайв

    ps меня проблема не коснулась, но по не стандартной причине - у меня как раз все это перенесено на другой диск. именно перемещенные папки тоже как правило удаляются, но у меня не перенос а софтлинки (junc) ;)) .. + тотальные бекапы перед такими мероприятиями
    Ответ написан
    Комментировать
  • Общая программа в общей папке, хорошо?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    контрольные вопросы:
    1 - доступ надо ограничивать? если она должна быть доступна всем - она должна быть в общей папке, доступной всем, как минимум на чтение/выполнение. если только группе пользователей и есть конфиденциальная информация - надо выделять папку для соответствующей группы пользователей
    2 - есть файлы, требующие доступа на запись? (не таблицы в БД, а именно файлы) если нет - можно ограничить права до чтение/выполнение, если есть - рассмотреть вопрос риска случайного/неслучайного удаления программы/данных. если файлы, требующие коллективного доступа на запись, можно переносить в другую папку, можно еще усложнить - код и данные не требующие доступа на запись в одной папке, требующие доступа на запись - в другой
    3 - если нет конфидента, квалификация пользователей высока, бекапы делаются достаточно часто, и стоимость потери данных/кода за промежуток времени между бекапами не высока, а время восстановления достаточно мало - можно не заморачиваться
    Ответ написан
    2 комментария
  • Как передаются Dictinary в C#?

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

    в случае присвоения переменной - присваивается ссылка, тогда более одной переменной могут указывать на один и тот же экземпляр объекта

    в качестве параметров методов, обычно передаются копии объектов, думаю Dictionary подчиняется общим правилам* (напомню - это элементарно проверить - консольное приложение на несколько строк)

    для гарантированной передачи ссылки в качестве параметра, следует использовать префикс ref

    ps * - две проверки подтвердили передачу по ссылке, ну что же, значит по ссылке, сори за поспешность ))

    Повлияет ли на результат асинхронность методов классов? await-async
    думаю тут надо искать сведения о потокобезопасности. на пример
    https://docs.microsoft.com/ru-ru/dotnet/standard/c...
    Dictionary там вроде не упоминается, но упоминается ConcurrentDictionary возможно вам надо присмотреться к пространству имен System.Collections.Concurrent
    Ответ написан
    5 комментариев
  • Как включить отображение XAML Designer Window в Visual Studio 2017?

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

    если у вас WPF или UWP - уточните проблему
    Ответ написан
  • Какая разница между файлом блокнота от Виндовс в формате "Юникод" и "Анси"?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    Как поменять
    уже подсказано ))
    Сильно будет отличаться файл "Юникод" от "Анси"
    в случае немецкого, в анси, будут утеряны умлауты, они доступны или в случае немецкой кодовой страницы для не-юникод программ (а это уже не ansi), или в юникоде, для всех других настроек локалей
    Ответ написан
    1 комментарий