• Где найти код, наглядно показывающий полезность сборки мусора с C#?

    Griboks
    @Griboks Куратор тега C#
    Где найти код, наглядно показывающий полезность сборки мусора с C#?

    Его нету. В том то и суть!
    Ответ написан
    Комментировать
  • Где найти код, наглядно показывающий полезность сборки мусора с C#?

    @awesomer
    В принципе, понятно, что память высвобождается, программа быстрее работает и т д.


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

    @4ainik
    начинал с бейсика на 286 в 1994
    ну раз это нужно для диплома, то будет вполне уместно провести анализ: ряд тестов на чтений/запись больших файлов скажем размером в 10ГБ.
    Читать/писать разными блоками начиная от 512 байт, далее степень двойки (1024,2048,4096,8192,...) замеряя при этом скорость... программа простецкая, за вечер думаю управитесь... построите график зависимости производительности от размера буфера... будет шикарный раздел диплома...
    Ответ написан
    1 комментарий
  • Как правильно написать тесты?

    @andre_k
    Тестироваться должен только публичный интерфейс
    Ответ написан
    2 комментария
  • Есть ли значительные отличия версий .NET Core v1 от .NET Core v2?

    Casper-SC
    @Casper-SC Автор вопроса
    Программист (.NET)
    Нашёл на английском языке: What's new in ASP.NET Core 2.0

    Кстати, нашёл очень полезную информацию не только по .NET Core (он тоже есть там)
    Документация по .NET (часть информации на русском ...
    Ответ написан
    Комментировать
  • Шифрование в базе данных на сервере?

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Если набор менеджеров фиксирован с момента зашифрования данных пользователем, то задача решается тривиально, схема будет аналогична PGP.
    У каждого пользователя и менеджера будем в БД хранить пару открытый-закрытый ключ, а каждый закрытый ключ будет зашифрован на производной от пароля, вводимого пользователем в веб-интерфейс (это уже реализовано в стандарте).

    Если же менеджеры могут добавляться по ходу игры, то несколько сложнее:
    Вариант №0: нагенерируем 100 ключей заранее. Избыточно, и со сменой паролей придется попариться, зато просто.
    Вариант №1: один закрытый ключ для всех менеджеров и промежуточный код, который может получать доступ к паролю этого закрытого ключа, и который сам расшифровывает данные и отдает их на веб-интерфейс.
    Ответ написан
    Комментировать
  • Да в чем проблема?

    GeneMoss
    @GeneMoss
    void
    Вы считываете строку: string IsFilm1 = Console.ReadLine;, а сравниваете с булевым типом if (IsFilm1 = true), к тому же неправильно сравниваете, нужно писать ==.

    В Вашем случае нужно исправить на IsFilm1 == "true" — т.е. сравнение строки со строкой.
    Ответ написан
    5 комментариев
  • Как использовать общий код приложений в микросервисах?

    copist
    @copist
    Empower people to give
    Если коротко, то архитектурный стиль микросервисов — это подход, при котором единое приложение строится как набор небольших сервисов, каждый из которых работает в собственном процессе и коммуницирует с остальными используя легковесные механизмы, как правило HTTP. Эти сервисы построены вокруг бизнес-потребностей и развертываются независимо с использованием полностью автоматизированной среды. Существует абсолютный минимум централизованного управления этими сервисами. Сами по себе эти сервисы могут быть написаны на разных языках и использовать разные технологии хранения данных.

    https://habrahabr.ru/post/249183/

    276b6976199983e0329e7a45e84bbc03.png

    В общем случае у них разные базы данных. Потому что там не-смежные данные. Если данные нужно хранить в одном месте из-за отношений - объединяй микросервисы. Если данные нужны для сложных запросов - делай промежуточный сервис агрегации (data aggregation), хранилище данных (data warehouse) или сервис консолидированных отчётов (reporting service) - в общем место, куда сливается инфа из микробаз и соединяется (https://www.quora.com/How-is-reporting-implemented...

    Реализовать можно и одним приложением (один репозиторий) с 20 точками входа и 20 приложений (20 репозиториев). От архитектора зависит. Как ему удобнее. Как команде удобнее.
    Ответ написан
    1 комментарий
  • Как обеспечить такую разработку с помощью Git?

    Astrohas
    @Astrohas
    Python/Django Developer
    Работаю в конторке где реализован такой принцип. Тут есть и плюсы и минусы.
    + Не нужно тратить время на клонирование, скачивание базы и поднятие сервера. Раз в день или неделю можно обновлять базы.
    + Проще показать менеджеру/тимлидеру/директору ваши изменения. Бац дал ссылочку на окружение и все рай для тестирования.
    - Задолбаешься коммитить пушить и мерджит. Плюс еще сервер релоадить надо.
    - Из за того что все работает на стороннем сервере, live разработки не будет. Приходится кодить вслепую.
    Ответ написан
    5 комментариев
  • Можно ли сделать интернет-стартап не будучи ИТ-специалистом?

    Rupaka
    @Rupaka
    Изучаю html уже 7 лет
    Возможно ли вообще не будучи специалистом в области ИТ делать интернет-стартап?

    Самолетом я так подозреваю вы управлять тоже не умеете, но летать у вас выходит.
    Вам нужен не PM а TeamLead, вы так же должны понимать что платить нужно реальные деньги, team-lead в среднем сейчас от 2500$, и крупный проект он сможет сам реализовать через пол года а то и больше, либо ему нужны будут адекватные mid программисты, зп от 1200$, дизайнер и многое другое, так же услуги юриста что бы вашу идею не украли.
    Так что моё мнение, не зная что вы делаете скорее всего ничего не выйдет, либо же у вас должен быть знакомый team lead и капитал в 100к+
    Ответ написан
    1 комментарий
  • Прыжки в Unity. Как сделать чтобы персонаж прыгал один раз?

    TrueBers
    @TrueBers
    Гуглю за еду
    State pattern
    Ответ написан
    Комментировать
  • Какой сервис для создания диаграм классов можете порекомендовать?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    draw.io
    Ответ написан
    Комментировать
  • Можно ли в Raid вставлять диск большего объема?

    Jump
    @Jump
    Системный администратор со стажем.
    Можно ли в Raid вставлять диск большего объема?
    Да.

    Я правильно понимаю, что в втором массиве требуется заменить диск в 3 Тб.
    Да.

    Насколько принципиален вендор?
    Не имеет значения.

    Не развалится ли массив, если я воткну другой диск 3 Тб?
    Нет.

    В первом массиве возможно ли поставить диск другой модели и емкости например 500 Гб ?
    Да.

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

    И если вы не имеете опыта работы с этими массивами на этом контроллере - сделайте бэкап, или убедитесь что есть достаточно свежий бэкап.
    А если опыт есть - тогда просто сделайте бэкап, или убедитесь что есть достаточно свежий бэкап.
    Ответ написан
    Комментировать
  • Firefox действительно пишет много данных на SSD?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Начиная примерно с 2013 года, все офигительные истории про порчу SSD от того, что на них много пишут - не более чем инфоповод.

    Современные ОС умеют правильно командовать контроллером SSD, современные SSD имеют запас банков на износ.

    Я третий год использую SSD на 256 в своем ультрабуке, более того, я SWAP на нем держу(!), и проекты на C++ компилирую по 100 раз на дню.
    Ответ написан
    2 комментария
  • Какой язык программирования выбрать под винду?

    @asd111
    C# WPF хорошо подходит для быстрой разработки оконных приложений только под windows.
    В качестве IDE visual studio community.
    Ответ написан
    Комментировать
  • Как это ssl без зеленой строки?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Будет.
    Зеленая строка это подарузумивается другое, к примеру на любой банк зайдите и увидите (к примеру _https://www.privat24.ua )
    Ответ написан
    Комментировать
  • C# как реализовать Контрол в WPF?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Чтобы написать элемент управления WPF в виде библиотеки на C# необходимо запустить Visual Studio (2015), выбрать меню Файл => Создать => Проект. В появившемся окне, перейти в раздел Шаблоны => Visual C# => Windows => Классическое приложение. В списке шаблонов найти и выбрать Библиотека пользовательских элементов управления WPF. Ввести название проекта и нажать на кнопку Ok. Написать какой-нибудь код :-)

    84553e4c4eea431dbeec25e86d0115fe.png
    Что касается написания кода, то возможно следующие ссылки вам помогут:
    Руководство по программированию в C#
    + Классы и структуры
    + Свойства

    Информацию по работе с Windows Presentation Foundation можно найти по следующей ссылке:
    https://msdn.microsoft.com/ru-ru/library/ms754130(...
    Ответ написан
    Комментировать
  • Как обмануть оптимизатор C#?

    petermzg
    @petermzg
    Самый лучший программист
    private volatile bool _isWait;
    Ответ написан
    1 комментарий
  • Заняты ли потоки при использовании async/await?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    https://msdn.microsoft.com/ru-ru/library/hh156528.aspx
    Выражение await не блокирует поток, в котором оно выполняется. Вместо этого оно указывает компилятору объявить оставшуюся часть асинхронного метода как продолжение ожидаемой задачи. Управление затем возвращается методу, вызвавшему асинхронный метод. Когда задача завершается, она вызывает свое продолжение и возобновляет выполнение асинхронного метода с того места, где она была прервана.

    Метод Task.Run ставит в очередь заданную задачу для запуска в пуле потоков.

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

    // без ожидания
    Console.WriteLine(DateTime.Now);
    
    Task.Run(() => { Thread.Sleep(5000); });
    
    // этот код будет выполнен сразу
    Console.WriteLine(DateTime.Now);
    
    // ожидание с await
    Console.WriteLine(DateTime.Now);
    
    await Task.Run(() => { Thread.Sleep(5000); });
    
    // этот код будет выполнен, только после завершения выполнения задачи
    // текущий (вызывающий) поток не будет приостановлен
    // (например, в Windows Form это будет хорошо видно)
    Console.WriteLine(DateTime.Now);

    Если сделать задачу и вызвать метод Wait, то основной поток будет приостановлен, пока не завершится задача.

    Console.WriteLine(DateTime.Now);
    
    var t = Task.Run(() => { Thread.Sleep(5000); });
    t.Wait(); // ожидание выполнения задачи
    
    // этот код будет выполнен, только после завершения выполнения задачи
    // текущий (вызывающий) поток будет блокирован
    // (например, в Windows Form это будет хорошо видно)
    Console.WriteLine(DateTime.Now);

    74ad1b048cee439faab48113a61a7ec7.gif
    Ответ написан
    6 комментариев
  • Можно ли выполнять lock на list?

    impwx
    @impwx
    Разработчик
    Допустим, _inner используется у вас во многих местах, и есть некий публичный метод, который его возвращает. Тогда внешний код сможет вызвать этот метод, получить тот же экземпляр объекта _inner и поставить на него свой lock. Так можно случайно словить взаимоблокировку и повесить приложение.

    Подобные моменты бывает очень сложно отследить, потому объект может быть возвращен косвенно, по интерфейсу, или как-либо еще. Отдельное поле _lock - это просто правило хорошего тона, его создают для безопасности: очень маловероятно, что кому-то придет в голову использовать его за пределами инструкции lock и тем более вернуть из метода.

    Если у вас небольшой код и вы уверены, что знаете, что делаете - разницы нет.
    Ответ написан
    Комментировать