• Как сделать отображение текста и смена background DIVa при наведении на текст?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    На CSS так
    https://jsfiddle.net/tqg0Le91/
    или так: https://jsfiddle.net/a734zx6o/
    позиционируйте как вам нравится, думаю мысль понятна.

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

    myjcom
    @myjcom
    Английский и https://github.com/gurugio/lowlevelprogramming-uni...
    Железо - на что денег хватит.
    Микроконтроллеры и все сопутствующее им стоит денег и немалых, если не оставаться на уровне фан проектов и мигания светодиодом. Если просто поиграть - хватит и набора Arduino или Raspberry. Что там будет - Python, C, JavaScript без разницы.
    Системное программирование - одна из самых трудозатратных областей. В части изучения в том числе. Возможно "повтыкав" в какой нибудь HOWTO do Linux kernel development или Windows Driver Kit documentation или ARM System Developer's Guide вам вообще разонравится эта мысль.
    Ответ написан
    2 комментария
  • Какие требования для мидла в проектах Unity?

    GavriKos
    @GavriKos Куратор тега Unity
    Если вы себя миддлом не считаете - то писать вам требования бесмысленно.
    К тому же, ИМХО - все что выше джуна - это уже речь не о знаниях, а о навыках, которые прочитав книжки получить невозможно.
    Ответ написан
    3 комментария
  • Нормально ли строить сайт на абсолютном позиционировании?

    danial72
    @danial72
    flutter dart.
    Если вы говорите о макете с обложки, то это можно заверстать flex и grid. Да даже на bootstrap.
    Абсолютное позиционирование - это либо отсутствие какой либо адаптивности, либо гора времени, на переписывание координат для вообще всех разрешений. Абсолютное позиционирование в процентах - рулетка : повезет, не повезет.
    WAYUP & Андрей Гаврилов - несколько раз встречал их видео и они плохой пример для подражания. Дизайн, возможно, хорош, но верстка у них ниже среднего качества.
    Что использовать: flex + padding
    Ответ написан
    Комментировать
  • Как найти заказ если не работал 1.5 года(javascript dev)?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    У меня недели две уйдет только на получение первого заказа.
    на других биржах тоже самое выйдет, какие еще есть способы ?

    Лопата в руки + объявление в региональную газету "покопаю огороды". Все остальное дольше искать.
    Других способов нет. Есть небольшой шанс, что повезет найти заказ на 2 недели в первый день, если ценой ломануть. Но очень призрачный. Не понимаю зачем Вам это если не нравится IT.

    подозреваю что форумы и группы в вк, но конкретно не знаю что.

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

    netrox
    @netrox
    Как вариант Javascript:
    • Для pc Electron
    • Сервис (back end) node.js, express
    • Фронт angular, react или vue
    • Для мобилок react native , ionic


    Аналогично для .NET
    • Для pc WPF клиент
    • Сервис (back end) WEB API (ASP.NET)
    • Фронт angular, react или vue
    • Для мобилок xamarin
    Ответ написан
    1 комментарий
  • Identity asp.net core?

    @basrach
    Вахтершу.
    А так, да. Identity де факто стандарт.
    Ответ написан
    Комментировать
  • Как правильно спозиционировать боковые панели?

    @DivineDraft
    Расположите панели в следующем порядке:
    1) Разделите экран на две секции - 1 большая и 2 малая для боковых панелей.
    2) В 1 кладите большой элемент и 2 самых нижних.
    3) Во 2 малую, кладите те, которые для боковых.
    Сохраните.

    Бутстрап не знаю, но судя по вашей верстке, нужно перенести нижний section в конец col-md-10, перед закрывающимся /div.
    Ответ написан
    1 комментарий
  • Как можно шифровать данные в базе данных MySQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Шифровать данные смысла нет. По шифрованным данным не будет нормально работать индексация. К тому же, если кто-то сольёт всю базу, то, скорее всего, он получит и ваши скрипты, которые шифруют/дешифруют данные при работе.
    Ответ написан
    7 комментариев
  • C# Как освобождать оперативную память завершенных Task'ов?

    @basrach
    Сам Task, это класс с ~10 полями по 4 байта. Можно посчитать сколько займут в памяти 2000 штук. Очевидно проблема не в них. Как выше уже отметили, проблема не в самих тасках как таковых, а в том коде, который исполняется посредством тасков. И даже не в потоках. Попробуйте создать 2000 настоящих потоков (new System.Threading.Thread(...)) и выполнить там тривиальный код, навряд ли они смогут выжрать 10GB памяти.
    Проблема в коде, который вы запускаете в этих тасках. Если вы не знакомы с автоматическими сброщиками мусора, то нужно про них почитать.
    Любой код на C# - это плюс/минус метод. Создавая таск вы передаете ему ссылку на метод, который нужно выполнять, метод может быть именованным либо анонимным, неважно. Проблема в том, что по завершении этого метода, ресурсы, которые были использованы в этом методе не освобождаются. Неважно где исполняется метод: в таске, в потоке, просто так в основном потоке приложения. Вам нужно добиться того, чтобы при выходе из метода, которые вы передаете таску, все ресурсы использованные в этом методе были освобождены.
    Если вы незнакомы со сборщиком мусора в CLR, то почитайте обязательно, да и вообще про сборку мусора.
    В данном же ситуации, не видя кода, могу только посоветовать следующее. Далее для упрощения понимания будем считать, что у нас всего два участка кода: некий метод (это то что вы передаете в таск), и основной поток (вся остальная программа):
    1) Если что-то создаете (вообще везде, а в методе особенно), любой класс, если у него есть метод .Close() или Dispose(), то обязательно вызывайте этот метод после того как класс вам больше не нужен.
    2) Если есть возврат результата из метода, проверьте не возвращается ли сверх того, что вам нужно. Например, возвращается класс, с двумя полями, одно число, другое массив. Вам нужно из этого только число. Соответственно, поле с массивом нужно убрать из возвращаемого значения.
    3) Упростите возвращаемый результат насколько это возможно. Например вам нужно подсчитать сумму элементов в N массивах. Вы запускаете N потоков и возвращаете N массивов, т.е. из каждого метода по массиву, а потом в основном потоке суммируете длины всех массивов. В этом случае как раз будет ощущение утечки памяти. Нужно возвращать сразу длину массива. И т.д.
    4) Если есть добавление элементов из метода в коллекцию, которая объявлена в основном потоке. Проверить, очищается ли эта коллекция при выходе из метода. Или не добавляется и слишком много в эту коллекцию. Или Возможно в эту коллекцию добавляются слишком большие массивы и т.п.
    5) Почти то же что и предыдущий пункт. Если есть какая-либо статическая коллекция или статические поля, переделайте на нестатические везде где возможно. А где невозможно, проследите чтобы в такую статическую коллекцию не добавлялись элементы из метода. Или если добавляются, то проверьте размер элементов, он должен быть минимальный.
    6) Проследите, что не создаете больших массивов размером более 80кб. Если создаете, Измените на меньший размер если возможно. Например, если стоит задача подсчитать количество символов в файле, то не нужно читать его в память. Достаточно в цикле считывать по 8кб и суммировать результат.
    7) Последнее. Перед выходом из метода вставьте:
    System.Runtime.GCSettings.LargeObjectHeapCompactionMode = System.Runtime.GCLargeObjectHeapCompactionMode.CompactOnce;
    System.GC.Collect();
    Ответ написан
    Комментировать
  • 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 комментария