• Какое направление лучше выбрать при изучении c#?

    @d-stream
    Готовые решения - не подаю, но...
    Если вкратце, то практически любой язык программирования как таковой осваивается за несколько дней. А вот все что вокруг - те же фреймворки - их только общий обзор может занять месяцы.
    Соответственно когда говорят просто "c#" или "visual c#" - то скорее подразумевают опыт относительно фреймворков. Если же говорят о чем-то специфичном, то там во главе угла именно специфичность, а язык указывается вторично

    И да, найти хорошую работу и зарабатывать хорошие деньги - это лучше не программировать, а жениться на дочке миллиардера =)
    Ответ написан
    2 комментария
  • Достаточно ли сильной будет такая схема хэширования с двойной солью?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Security through obscurity - наихудший вариант. Передавайте пароль через защищённое соединение и не извращайтесь.
    А дырка в том, что если кто-то может перехватить пароль, то он может с тем же успехом перехватить и кэш, этого будет достаточно для аутентификации.
    Ответ написан
    6 комментариев
  • Какие разрешения нужны ASP.NET-проекту и IIS серверу для загрузки файлов на сервер?

    @Fredcapit
    Учётная запись, под которой работает пул приложений, в котором крутится ваш проект, должна иметь доступ к папке, куда нужно сохранять.
    Ответ написан
    Комментировать
  • Как сделать регистрацию в android приложении?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Какие есть понятные и хорошие учебники по C# для новичка?

    Можно поучиться по C# и WPF на сайтах: metanit.com и https://professorweb.ru. Там достаточно понятно. Остальное можно набраться знаний только в процессе практики программирования. Если учить сразу на Visual Studio, то столько запоминать не придётся: достаточно подсказок, чтобы понять, что делает та или иная функция, метод и прочее.
    Ответ написан
    Комментировать
  • Можно ли с помощью Visual Studio 2015 Community писать коммерческий софт?

    MrNexeon
    @MrNexeon
    Можно. Если ваша команда состоит из одного человека (Вас), то:

    Любой индивидуальный разработчик может создавать бесплатные или платные приложения с помощью Visual Studio Community.


    Если более одного человека:

    Visual Studio Community может использовать неограниченное число пользователей в организации в следующих случаях: в учебных аудиториях, для научных исследований или участия в проектах с открытым кодом.

    Для всех прочих сценариев использования: В некорпоративных организациях Visual Studio Community могут использовать до 5 пользователей.


    Источник: https://www.visualstudio.com/ru/vs/community/
    Ответ написан
    Комментировать
  • Как устроен игровой протокол передачи данных?

    @MarkusD
    все время мелю чепуху :)
    https://habrahabr.ru/post/209144/
    https://habrahabr.ru/post/209524/
    https://habrahabr.ru/post/213559/

    Оригиналы:
    web.archive.org/web/20190328001900/https://gaffero...

    Дополнительные материалы:
    web.archive.org/web/20190328001900/https://gaffero...

    По этому поводу, в целом, советую почитать блог Гленна Фидлера.

    Так же есть удобные библиотеки, которые сами собой отвечают на остальные твои вопросы:
    https://developers.google.com/protocol-buffers/
    https://capnproto.org/
    Ответ написан
    5 комментариев
  • Какой хостинг для asp.net?

    OrenTiger
    @OrenTiger
    .NET Developer
    smarterasp.net
    Сначала пользовался бесплатными периодами. Сейчас у них скидки 50%, поэтому решил наконец купить. Со скидкой стоимось среднего тарифного плана (Advanced) выходит ~2$ месяц.
    Ответ написан
    Комментировать
  • .NET неоправдано сжирает память?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    трудно что-то сказать не видя всего кода. Но вот тут:

    byte[] buffer = new byte[1000000000]; // RAM заюзалась
    buffer = null;
    buffer = new byte[100]; // (<b>GC</b>) тот же самый буфер. Но памяти при этом выделено под 1000000100 байт.


    Нет никакой гарантии что сборщик мусора сработает. От может сработать, а может когда-нибудь потом.
    Что происходит в этом коде? Вы выделяете память, buffer = null не говорит о том что память должна освободиться, а только что переменная ссылается на другой участок памяти (с адресом 0). Далее выделяете еще память и теперь переменная ссылается на новый участок памяти..
    По поводу сборщика мусора. В 99,999% случаев, когда программисту хочется поработать вручную со сборщиком мусора, нужно править код.
    Ответ написан
    7 комментариев
  • Как разместить объекты на динамическую форму C#?

    kochura_official
    @kochura_official Автор вопроса
    Учусь писать самостоятельно программы.
    Все решил проблему:

    private void BTN_News_Click(object sender, EventArgs e)
      {
          Form fn = new Form(); // Создаем динамически форму
          WebBrowser WEBNews = new WebBrowser(); // Создаем динамически браузер
    
          fn.Text = "Project - Новости"; //Устанавливаем название формы
          fn.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; //Изменяем вид формы
          fn.StartPosition = FormStartPosition.CenterScreen; //Делаем форму по центру
          fn.Size = new Size(961, 600); //Устанавливаем размер формы
    
          WEBNews.Url = new Uri("http://toster.ru"); // Устанавливаем ссылку в браузер
          WEBNews.Dock = DockStyle.Fill; // Делаем браузер на все окно
          WEBNews.IsWebBrowserContextMenuEnabled = false; // Отключаем контексное меню браузера
    
    
          WEBNews.Show(); // Показываем браузер
          fn.ShowDialog(); // Показываем форму
          fn.Controls.Add(WEBNews); //Устанавливаем управление браузером
      }
    Ответ написан
    Комментировать
  • ASP.NET Core: чего нет в .Net Core в сравнении с .Net Framework?

    Valeriy1991
    @Valeriy1991
    Разработчик .NET C# (ASP.NET MVC) в Alfa-B, Moscow
    Добрый день! Из собственного опыта: в .NET Core отсутствует подсистема работы с графикой (System.Drawing, кажется). Т.е. если Вы вдруг на стороне сервера решите формировать, скажем, капчу, то у Вас это не получится. Также неполная поддержка рефлексии (в частности, отсутствует класс StackFrame).
    Ответ написан
    Комментировать
  • Разрастается журнал транзакции в MS SQl 2012? ,база в зеркале, как уменьшить журнал?

    @Sumor
    Что-бы журнал не рос нужно делать сохранение лога.
    То есть помимо зеркалирования, вы должны периодически сохранять базу данных и лог данных.
    Сохранение лога остановит разрастание файла лога. При этом сразу файл не удастся уменьшить, так как конец файла будет использоваться sql-сервером. Когда вы через какое-то время второй раз сохраните лог, то sql-сервер даст вам уменьшить файл.
    NB: для сохранения лога вам может понадобиться до 210 ГБ .
    Ответ написан
    Комментировать
  • ASP .Net MVC своя система авторизации без Identity?

    Цикл жизни статичных переменных определяется циклом жизни приложения - это уже один минус. При перезагрузках вашего приложения нужно будет их восстанавливать. В случае хранения идентификационных данных в Session, либо в Db - этим моментом управляете Вы, определяя цикл жизни этих данных.

    Статичные переменные доступны только на одном сервере. Если Ваше приложение хостится на нескольких машинах, то опредленные переменные на одном сервере не доступны с другого.

    Статичные переменные доступны всем, т.е. являются глобальными в рамках App Domain. Думаю, это тоже о многом говорит. Придется делать костыли, боюсь представить какие, по доступу к ним; как-то параллелить клиентские запросы. В то время, как для Session есть Session concurrency

    В целом, если говорить об механизме Session, то скажу, что это понятные и широко распостраненные практики хранения идентификационных данных. Думаю, для большинства прикладных задач это вполне применимый подход. Если требуется больше безопасности, то уже смотрим в сторону Server-side для хранения состояния, например, в БД.
    Ответ написан
    Комментировать
  • ASP.NET Core: чего нет в .Net Core в сравнении с .Net Framework?

    Мне например пока не хватает в Core работы с xsd схемами, но core 1.2 будет поддерживать .net standart library 2.0 так, что жду второго квартала 2017.
    А так думаю можно почитать roadmap и посмотреть если из планируемого ничего не надо можно пробовать.
    Ответ написан
    Комментировать
  • ASP.NET Core: чего нет в .Net Core в сравнении с .Net Framework?

    EreminD
    @EreminD
    Кое-что умею
    ASP.NET 5 = ASP.NET Core

    Если речь идет о выборе между Core и православным .Net Framework, хочу предостеречь от проблемы нашего проекта

    У нас проект на .net Core. При этом, в решении используется много проектов (csproj) на .net (не Core).
    Все работает вполне корректно при запуске из студии, но проблемы начинаются, при работе, например с CI или сборкой через командную строку. Есть либо сборщик MSBuild, который не понимает зависимости между Core и обычными проектами. И такой же dotnet, который больше на Core приучен.
    В общем, мешанина и не можем наладить CI
    Так что смотрите, сможете ли работать, не мешая платформы.
    Если не уверены - лучше .net framework
    Ответ написан
    2 комментария
  • Как правильно вносить изменения в проект ASP.NET?

    vladimirbondarev
    @vladimirbondarev
    Разработчик ПО
    Функция "Publish" в VS это всего лишь деталь поставки. Формируй пакет поставки и разворачивай его на FTP.
    Подмена файлов, будь то бинарных или текстовых плохая практика, можно что-нибудь отломать и потом долго мучиться восстанавливая предыдущие состояние. Каждая поставка содержит в себе изменения, значит должна быть присвоена версия, которая содержит определенный ченджлог, иначе через цать таких поставок начнется каша.

    Опишу общий процесс поставки:
    • вносятся финальные изменения в разработческой ветки, тестируются
    • сливаются изменения разработческой версии с master, исправляются конфликты, тестируются
    • собирается пакет поставки, содержащий все необходимые конфигурационные, бинарные и прочие файлы и т.д.. Пакет не должен содержать мусорных файлов. Присваивается пакету версия
    • поставляется пакет на демонстрационный сервер. Если есть БД, то восстанавливается бэкап с продуктовой, либо максимально приближенный к последнему состоянию оригинальной. Применяются миграции.
    • регистрируется приложение в IIS, тестируется
    • поставляете пакет на продуктовое окружение
    • если есть БД, то создается бэкап, применяются миграции
    • разворачиваете пакет поставки
    • переключаете IIS на использование поставленной версии

    Это процесс, к которому мы пришли не сразу. Были и подмена файлов на продакшене и живая правка кода. Иногда это приводило к плачевным последствиям. Потом итеративно выработалась ручная процедура поставки, после для экономии времени эта процедура автоматизировалась. Сейчас самый продолжительным участком поставки является ручное приемочное тестирование на демонстрационном окружении. Автоматизированные приемочные тесты тоже есть - они прогоняются после сборки билда, но как и весь код они могут содержать ошибки, поэтому ручной прогон приемочных тестов исключать не решаемся.
    Ответ написан
    3 комментария
  • Чем собирать логи?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    как человек, сталкивавшийся с ELK
    6Г в день - не страшно для ELK. Но готовьтесь к прожорливости по памяти. Всеж Java...
    легкость масштабирования - в принципе да. Добавить ноду в кластер - дело минут. Синхронизация, правда, займет время. Но это везде так, данные "по волшебству" с ноды на ноду не перелетят.
    собирать из файлов - тоже без особых проблем. есть как Beats, так и Logstash - оба идеологически верные, от самого эластика. Да и альтернатив немало. Вплоть до скрипта на питоне - впихивание в эластик дело не сложное.
    сведение и поиск - в полный рост. быстрые диски(а лучше SSD) + обилие памяти и все будет летать.
    ускорялки - при Ваших 4-5 мб в минуту ускорялки врядли понадобятся.
    а вот о чем стоит подумать заранее - это что с какими полями вы собираетесь делать. А то сохранят размер файла как строку - а потом переживают, что поиск по меньше больше не работает. И про анализировать\не анализировать стоит подумать. Поиск по неанализированному полю ощутимо менне прожорлив - а значит быстрее
    Ответ написан
    7 комментариев
  • Брать ли SSD диски для сервера?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    SSD серверного класса.
    Серверные же CPU, количество физических ядер зависит от конкретных запросов.
    Памяти много не бывает. Естественно, тоже серверной.
    Ответ написан
    Комментировать
  • Брать ли SSD диски для сервера?

    @Vasily_Pechersky
    Системщик с опытом
    Может вообще я не правильно мыслю в железе.

    Есть зависимости производительности по random read/write для разных дисковых систем. Так же к совету Дмитрий Шицков стоит присмотреться.
    Под БД надо дисковую систему с возможно большим количеством IOpS. То есть или многошпиндельное решение на HDD или SSD СЕРВЕРНОГО КЛАССА.
    В вашем случае прокачать знания подсистемы хранения данных очень рекомендуется.
    Когда в голове осознанная теория работы в зависимости от типа накопителя и шаблона работы - мир становится понятным.

    И да - оперативки много не бывает ....
    Ответ написан
    1 комментарий