• Linux дистрибутив для предприятия?

    Sanes
    @Sanes
    Для 150 пользователей нужет отдел IT, который не задает такие вопросы.
    Ответ написан
    Комментировать
  • На сколько сильно программирование .ASP NET MVC зависит от C#?

    dasha_programmist
    @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    Если человек не знает языка, как он сможет читать код написанный на этом языке? Да, можно будет понять разметку, смотреть и представлять схемы.
    Мой ответ - браться за изучение C#, все примеры и задания выполнять в контексте asp.net
    Ответ написан
    Комментировать
  • Windows на KVM, или запуск игр на виртуальной машине?

    Radjah
    @Radjah
    В beta Steam завезли запускалку виндовых игр. Называется Proton. Внутри Wine с настройками. Довольно много всего запускается.
    Ответ написан
    Комментировать
  • Windows на KVM, или запуск игр на виртуальной машине?

    @akileev
    Java / Scala developer
    Настроил себе виртуальную машину по инструкции https://wiki.archlinux.org/index.php/PCI_passthrou... .
    Пробросил USB для беспроводной клавиатуры и мыши. Виртуалка запущена постоянно. Настраивал примерно 1 день, т.к. делал это впервые. Зато сейчас уже два года никаких проблем с играми.

    В системнике две видеокарты: GT710 для Linux и GTX1060 для Windows.
    Ответ написан
  • Как обмениваться данными с сервером, на приложении xamarin?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Если кратко: точно так же как и в любом другом фреймворке/ЯП — подключиться к серверу и передать данные.
    Если чуть подробнее, то:
    1. Для начала изучить что такое сеть и как она работает (Сетевая модель OSI, уровни сети и вот это все).
    2. Каким образом осуществляется сетевое соединение — клиент, сервер, сокеты и прочее.
    3. Изучить какие сетевые протоколы бывают и зачем они вообще нужны.
    4. Изучить основные понятия в программировании и разработке ПО.
    5. Изучить HTTP, построение API, что такое фронт-энд, бэк-энд и т.п.
    6. Применить полученные знания на практике.
    Ответ написан
    4 комментария
  • Как проверить значения переменных в конструкторе?

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

    а в чем трудности?
    вы не привели полный синтаксис класса. но в общем случае достаточно
    int topA = 95;
    int topB = 1;
    int topC = 89;
    после создания класса, проверять ни чего не надо. а вот после манипуляций - да, возможно надо. но это уже уровень вашей ответственности, при написании логики (реализуйте свою цель, вот и все)
    Ответ написан
    2 комментария
  • Строгая типизация возвращаемых значений функцией?

    @stratosmi
    Это холивар на тему "языки со статической типизацией vs языки с динамической типизацией"
    Каждая сторона может привести кучу значимых аргументов в свою пользу.

    Если проект очень сложный/очень ответственный - все должно быть строго, иначе нахлебаетесь.
    Для простых - лучше гибче, без лишней строгости. Разработка будет быстрее, дешевле.
    Ответ написан
    Комментировать
  • Почему такая большая разница в объеме данных?

    В первом случае в байтовом массиве следующая строка (238 байт):
    \0\u0001\0\0\0ÿÿÿÿ\u0001\0\0\0\0\0\0\0\f\u0002\0\0\0<Test1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\u0005\u0001\0\0\0\fTest1.Artist\u0003\0\0\0\u001a<FirstName>k__BackingField\u0019<LastName>k__BackingField\u001a<SongTitle>k__BackingField\u0001\u0001\u0001\u0002\0\0\0\u0006\u0003\0\0\0\aMichael\u0006\u0004\0\0\0\aJackson\u0006\u0005\0\0\0\rGive In To Me\v"

    Если поменять автосвойства в классе Artist на полные,
    [Serializable]
    public class Artist
    {
        private string _firstName;
        private string _lastName;
        private string _songTitle;
    
        public string FirstName { get => _firstName; set => _firstName = value; }
        public string LastName { get => _lastName; set => _lastName = value; }
        public string SongTitle { get => _songTitle; set => _songTitle = value; }
    }
    размер станет меньше (190 байт) и строка поменяется соответственно:
    \0\u0001\0\0\0ÿÿÿÿ\u0001\0\0\0\0\0\0\0\f\u0002\0\0\0<Test1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\u0005\u0001\0\0\0\fTest1.Artist\u0003\0\0\0\n_firstName\t_lastName\n_songTitle\u0001\u0001\u0001\u0002\0\0\0\u0006\u0003\0\0\0\aMichael\u0006\u0004\0\0\0\aJackson\u0006\u0005\0\0\0\rGive In To Me\v

    Во втором же случае (раздельная запись каждого свойства) эта строка выглядит так (30 байт):
    \aMichael\aJackson\rGive In To Me

    В этом мне помог глупый метод:
    private static string BytesToString(byte[] bytes)
    {
    	char[] chars =  Encoding.UTF7.GetString(bytes).ToCharArray();
    	StringBuilder result = new StringBuilder();
    	foreach (char c in chars) { result.Append(c); }
    	return result.ToString();
    }

    Какие мы можем сделать выводы из всего этого?

    Первый: при сериализации объекта помимо значений свойств записывается еще и структура самого объекта, названия полей, имя и версия сборки и все в таком духе (причем, как можно видеть, в случае с автосвойствами весь этот оверхед больше). К тому же автосвойства не подходят для сериализации и десериализации, в разных сборках их фактические имена будут отличаться. Во втором случае вы записываете просто значения трех строк без структуры.

    Второй: написание всего этого кода заняло у меня несколько минут, и не понятно, что же мешало вместо поста в интернете написать небольшой отладочный метод и посмотреть, что же, собственно, происходит. Неужели было не любопытно разобраться самостоятельно?
    Ответ написан
    1 комментарий
  • Почему такая большая разница в объеме данных?

    Radjah
    @Radjah
    Посмотри пакеты с помощью tcpdump или подобного сниффера, сразу всё на свои места встанет.
    Ответ написан
    1 комментарий
  • Зачем изучать несколько языков программирования(c++, java)?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, гипотеза лингвистической относительности утверждает, что чем больше языков знаешь, тем гибче и богаче твой логический аппарат. По своему опыту могу сказать, что это правда. Например изучение Lisp'ов существенно расширило мои возможности в других языках. Но мой опыт и мнение не так авторитетны, как авторов всемирно известного бестселлера "Программист-прагматик" - Эндрю Ханта и Дэвида Томаса, которые пишут: «Изучайте по крайней мере один новый язык ежегодно. Разные языки решают одни и те же проблемы разными способами. Изучив несколько разных подходов, вы сможете расширить свой кругозор и не погрязнуть в рутине.»

    Во-вторых, рано или поздно профессиональный рост java-программиста, например, неизбежно приводит его к необходимости глубоко понимать работу компилятора и виртуальной машины, а это невозможно без знания C++, на котором они написаны.

    В-третьих, java-программист свободно лазающий за ответами в исходники JVM, способный дебажить сборщик мусора, писать JNI-библиотеки и использовать Compiler API для метапрограммирования имеет больше предложений работы и более выгодные условия.
    Ответ написан
    4 комментария
  • Как сохранять динамически добавляемые блоки при перезагрузке страницы?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    LocalStorage
    Ответ написан
    Комментировать
  • Как найти окна по заголовку или исполняемому файлу?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    1 - найти окно, получить хендл (дубль ответа коллеги, тем не менее)
    [DllImport("USER32.DLL", CharSet = CharSet.Auto)]
            internal static extern IntPtr FindWindow(string lpClassName, string lpWindowName);


    2 - послать "энтрер"... а тут все может быть просто, или не совсем
    просто SendKeys мне не подошел (долгая история, но можете с него и начать ))

    3 - как вышло у меня, для типовых виндовых диалогов "открыть файл"/"сохранить файл" - надо "класс" приемник сообщения, и всю его иерархиею, начиная с хендла (диалога, в моем случае) (понадобится тула https://social.msdn.microsoft.com/Forums/vstudio/e... пример для сохранения

    "Save Table".hWndByTitle().setTitle(csvDlg).waitForIdle().sendString(
                    new string[] {
                        "DUIViewWndClassName",
                        "DirectUIHWND",
                        "FloatNotifySink",
                        "ComboBox",
                        "Edit" },
                    csv);


    реализация sendString

    internal static IntPtr sendString(this IntPtr hWnd, string[] classNames, string msg, bool verb = false)
            {
                var hCtrl = hWnd;
                if (classNames != null && classNames.Count() > 0)
                {
                    Thread.Sleep(to[toFileStdDlg]);
                    foreach (var c in classNames)
                    {
                        Thread.Sleep(to[toFileStdDlg]);
                        hCtrl = user32.FindWindowEx(hCtrl, IntPtr.Zero, c, null);
                        if (hCtrl.Equals(IntPtr.Zero))
                        {
                            $"\tERROR :: sendString not found class {c}".log();
                            return hWnd;
                        }
                        else
                            hCtrl.waitForIdle();
                    }
                }
                for (int i = 0; i < msg.Length; i++)
                    user32.PostMessage(hCtrl, WM_CHAR, msg[i], 0);
    
                Thread.Sleep(to[toFileStdDlg]);
                user32.PostMessage(hWnd, WM_KEYDOWN, user32.VkKeyScan('\r'), 0);
                user32.PostMessage(hWnd, WM_KEYUP, user32.VkKeyScan('\r'), 0);
                return hWnd;
            }
    Ответ написан
    Комментировать
  • Как найти окна по заголовку или исполняемому файлу?

    mshak
    @mshak
    Встроенной в шарп нет, но есть в Win32 api

    [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
    public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
    Ответ написан
    Комментировать
  • Как при выборе значения в одном select'е обновлять другой?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    Вешаете событие change на первый select.
    first.addEventListener('change', function(e) {
      ....
    });

    И меняете у в2 select'а значение в зависимости от первого
    first.addEventListener('change', function(e) {
      // this.value - значение первого select'а
      second.querySelector('option[value=' + this.value + ']').selected = 'selected'
    });

    https://jsfiddle.net/5jLrk8qv/

    ps если надо пересоздать опции второго select'а, то https://jsfiddle.net/hc90j1g5/3/
    Ответ написан
    Комментировать
  • Как при выборе значения в одном select'е обновлять другой?

    @DmitryWL
    Chained (dependent) selects
    Ответ написан
    Комментировать
  • Модули для верстки в Visual Studio 2017?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Вообще, все это есть из коробки, просто погуглите как это используется.
    Но я не уверен, что вам нужна студия для верстки. Это как экскаватором копать ямку для цветка. Лучше посмотрите в сторону редакторов, например от тех же MicroSoft есть Visual Studio Code. Он намного легче, и более заточен под front-end.
    Ответ написан
    Комментировать
  • Как переписать код c# на java?

    Оф. документация


    Выведет 100 json объектов.
    import java.net.*;
    import java.io.*;
    
    public class URLReader {
        public static void main(String[] args) throws Exception {
    
            URL oracle = new URL("http://jsonplaceholder.typicode.com/posts");
            BufferedReader in = new BufferedReader(
            new InputStreamReader(oracle.openStream()));
    
            String inputLine;
            while ((inputLine = in.readLine()) != null)
                System.out.println(inputLine);
            in.close();
        }
    }
    Ответ написан
    1 комментарий
  • Что нужно уметь, чтобы я справедливо мог вписать git в резюме?

    rebase, в какой момент его лучше делать при мерже в мастер?
    можно ли в мастер делать push --force ?
    Интерактивный rebase зачем он нужен?
    Reset когда и какой?
    https://git-scm.com/book/ru/v2
    Ответ написан
    12 комментариев
  • Обслуживание ASPNet MVC проекта. Как это происходит?

    @Mindgrow
    Сам раньше мучался такой проблемой. Раньше паблишил, запихивал архив, закидывал на сервер и там распаковывал.
    Потом стал все делать через WebDeploy
    Ответ написан
    Комментировать
  • Обслуживание ASPNet MVC проекта. Как это происходит?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Все проекты разные. Основной смысл - сделать все так, чтобы не сломать, что работает пока улучшаешь. Серебряной пули нет. В целом, для проекта как и для класса - принцип SOLID наш рулевой
    Ответ написан
    2 комментария