• Отличие архитектуры от структуры приложения?

    SilenceOfWinter
    @SilenceOfWinter
    та еще зажигалка...
    структура - расположение данных
    архитектура - правила взаимодействия данных
    Ответ написан
    Комментировать
  • NVME vs Sata SSD почему нет значительного прироста скорости?

    Jump
    @Jump Куратор тега Твердотельные накопители
    Системный администратор со стажем.
    Смена HDD на SSD показывает просто изумительный результат и в тестах и в работе, но смена sata SSD на NVME показывает только в тестах чудовищное преимущество, а в работе - на грани погрешности.
    Элементарно!

    Я ходил на работу пешком (моя скорость 5км/ч) - это занимало у меня час.
    Я взял мопед у которого максимальная скорость 40км/ч - и стал добираться до работы за 10минут.
    Явный прирост скорости.

    Я купил спорткар у которого скорость у которого 250км/ч - до работы добираюсь за 10минут.
    Вообще нет прироста скорости.

    Удивительное дело- дорогущий спорткар стоя в пробке со скоростью 0км/ч или двигаясь в потоке со скоростью 15км/ч не может обогнать мопед!

    Когда у вас стоял HDD - он был узким местом. И все тормозило из-за него.
    Вы поставили SSD - теперь накопитель не является узким местом, и производительность от него не зависит.
    Ответ написан
    12 комментариев
  • Именование классов?

    Shedal
    @Shedal
    class Leaf {} // лист
    
    class Thorn {} // шип (т.к. тычинка вроде как у всех цветковых есть)
    
    class Flower // цветок
    {
        Leaf[] leaves;
    }
    
    interface Thorny // с шипами
    {
        Thorn[] thorns;
    }
    
    class LilyPetal {} // лепесток лилии
    
    interface CuteThing {} // красивая фигня
    
    // лилия — шипастый цветок, да и к тому же, красивая фигня
    class Lily : Flower, Thorny, CuteThing
    {
        LilyPetal[] petals;
    }
    
    class Apartment // квартира
    {
        CuteThing[] things;
    }
    


    По поводу именования файлов в стиле:
    «как назвать интерфейс, который позволит Testing_Database_Cache_Cookies использовать посторонний класс Fuston_Http_Response_Cookie как свой собственный Testing_Database_Cache_Cookies_Cookie?»
    … то непонятно, зачем это вообще нужно. Особенно учитывая, что зачастую это невозможно.
    Название класса должно кратко описывать сущность, а не говорить об особенностях внутреннего устройства.
    Ответ написан
    3 комментария
  • Расскажите про "+" в email?

    xn__p2a
    @xn__p2a
    Это опциональное расширение имени, которое используется для удобства фильтрации и сортировки по IMAP-папкам на стороне получателя. Поддерживается это далеко не всеми почтовыми серверами. Например, GMail поддерживает, а почтовики на MS Exchange нет.
    Ответ написан
    Комментировать
  • Расскажите про "+" в email?

    lemurno
    @lemurno
    Я давно пользуюсь этой фишкой. Очень удобно настраивать фильтры в gmail.
    Например, я сам себе отсылаю письмо на адрес myemail+notes@gmail.com и оно архивируется под ярлыком «Заметки».
    Ответ написан
    Комментировать
  • Расскажите про "+" в email?

    ognevsky
    @ognevsky
    Про плюс могу сказать лишь, что на гугло-почте письмо, отправленное на ivan.ivanov+spam@gmail.com упадет в ящик ivan.ivanov@gmail.com.
    То же касается и точек, gmail их режет. Нет разницы между ящиками ivanpetrov@gmail.com, ivan.petrov@gmail.com и iva.n.pe.tr.ov@gmail.com ;)
    Ответ написан
    1 комментарий
  • Расскажите про "+" в email?

    OdobenusRosmarus
    @OdobenusRosmarus
    + и все что дальше него до @ — просто игнорируется. Это очень удобно, потому что позволяет иметь при одном ящике бесчисленное количество адресов.

    Я например часто использую эту фичу когда регистрируюсь на каких-то сайтах, например для facebook e-mail myemail+fb@domain.net, для yandex — myemail+ya@domain.net, для какого — нибудь сомнительного сайта — myemail+hrenkakayato@domain.net и т.д.

    Письма по всем этим адресам будут доставлены в myemail@domain.net

    И если потом например в мой ящик начинает приходить спам на имя myemail+hrenkakayato, то сразу видно, где утечка. И легко сделать фильтр, чтобы просто банить такие письма…
    Ответ написан
    4 комментария
  • Как выбирать лучше для AutoCAD?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Согласен с коллегами - ноутбук проектировщику нужен в следующих случаях:
    - проживание в комнате коммуналки с семьей (ставить физически некуда, а работать приходится - на подоконнике и на тумбочке);
    - командировки - ваше второе я: геодезист, специалист авторского надзора и прочие геологи.

    Во всех остальных случаях нужен стационарный комп, потому что:
    1) Проектировщику нужен нормальный монитор 24", а часто даже пара одинаковых (документация на одном, чертеж на втором). К ноутбуку конечно можно подключить второй большой монитор и нормальную клавиатуру - поставить ее перед большим монитором, но какой тогда смысл в ноутбуке?
    2) Автокад одноядерный. Это его родовой дефект. И все "течения" в автокаде - на его "шасси" - тоже (Civil, Plant3D и пр). Основной процесс "упирается рогом" в производительность одного ядра, а все вспомогательные процессы - потребляют еще 0,5 ядра максимум. Т.е. работает он только в режиме "полтора землекопа". Поэтому нам нужен процессор упоротый по частоте в режиме нагрузки 2-х ядер. А это например линейка Интел с индексом К. А значит с ноутбуками - опять мимо.
    2) Память - тут все сложно. Да, надо признать, что чистый Автокад прекрасно работает и на i5 второго поколения выпуска 2012 года с 8-ю оперативки, но второй родовой дефект Автокада - работа с кучей временных файлов. В результате при наличии в системе "свободной" памяти она используется как дисковый кэш и некоторые тяжелые кадовские операции могут ускоряться в десятки (!) раз при наличии запаса именно незанятой памяти. Плюс есть любители - кроме Автокада держать открытыми еще несколько пожирателей памяти: 30 вкладок в Хроме, Скайп, Вайбер, Word, Acrobat - тут смотрите по своим вредным привычкам и особенностям работы. Но 16 гигабайт обычно решает проблему.
    Опять же ноутбуки с 16 - это топ и дорого.
    3) Быстрый диск. Как я уже написал - автокад любит диск. Поэтому сегодня есть смысл собирать под него комп с NVMe диском, со скоростями ближе к 3000 мб/сек на чтение и запись. А ноутбук - как правило кот в мешке - не вы его собирали, и что там сунуто - обычно "сюрприз". Хотя уже пошли модели, где в этом плане все ОК, но опять же - информации ноль. Только опытным путем...
    4) Видеокарта - встроенная. Дело в том, что у Красных, что у Зеленых - дискретные видеокарты разделены на игровой и профессиональный сегменты. И что у AMD, что у Nvidia - кадовские функции ускорения в игровых картах отключены. В то же время уже с 2012 года встроенная графика Intel этим не страдает, всё кадовское ускорение там разрешено и дискретным решениям - как минимум не проигрывает.
    А теперь найдите хоть один ноутбук с вышеуказанными характеристиками и без дискретной видеокарты!
    5) Дешевле. Комп с нужными характеристиками выйдет примерно в 2 раза дешевле аналогичного ноутбука :).

    Ну вот - теперь признайте правду - игровых ноутбуков не бывает, ноутбуков под авткоад - тоже. Автокад работает на современном - чем угодно, но иногда скорость НЕКОТОРЫХ может операций может отличаться критично.

    P.S. а если всё же для игр - то в стационарный поставить видеокарту намного проще.
    Ответ написан
    Комментировать
  • Почему падает игра signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    оо, какая версия там Юнити у вас?
    вам бы обновить если что то старее 2019.1.8 (и приблизительно того же времени другие ветки)

    еще много проблем с новым андроидным бэкапом у ill2cpp, в манифесте выключают это дело - число крашей падает, хотя и не уходят в ноль.
    https://forum.unity.com/threads/unity-2019-x-il2cp...

    а так да, форумы пестрят жалобами на краши при переходе на ill2cpp и поддержку 64 бит ((

    еще только недавно починили выход через Application.Quit - неверно прекрашающий жизнь сущностей.

    а так же вам скорее всего надо обновлять все библиотеки
    особенно фэисбук у вас там точно последний?) а то было у них что по ссылке "скачать последнюю сдк" предлагает качать x.x.10
    а в релизноутах и в репозитории - уже есть х.х.12 с фиксами ))

    в общем то единого места нет. это или плагин. или юнити или и то и другое разом))
    обновляйте, проверяйте. удачи
    Ответ написан
    8 комментариев
  • Что такое джиттер?

    CityCat4
    @CityCat4 Куратор тега Сетевое оборудование
    Внимание! Изменился адрес почты!
    Буквально - "дрожание". То есть непрогнозируемое и нерегулируемое изменение некоторого параметра. Применительно к wifi обычно означает бессистемно прыгающий пинг до целевого сервера.
    Высокий джиттер вполне серьезно осложняет IP-телефонию - появляется бульканье, сторонний шум, пропадают слова. Осложняет работу IPTV - изображение начинает ломаться, рассыпаться на квадратики, тормозить, дергаться... Критичен джиттер для реалтаймовых игр, там где перемещение мышки на милиметр больше или меньше вполне может означать смерть персонажа :D
    Ответ написан
    Комментировать
  • Что такое джиттер?

    Есть разные понятия джиттера, основное это резкое изменение фазы сигнала (например при последовательном воспроизведении двух музыкальных треков). Однако в сетях джиттером обычно называют просто "прыгающий пинг", т.е. разброс во времени прохождения сетевых пакетов. Т.е. если у вас все пакеты идут по 2 миллисекунды, то джиттера нет. Если все пакеты по 200 миллисекунд то джиттера тоже нет. Но если часть пакетов идет по 2 и часть по 200 - то это джиттер. Джиттер есть практически в любых броадкастных сетях, в т.ч. и в Ethernet, при высоких загрузках среды передачи. В WiFi выраженность джиттера будет зависеть от нескольких факторов, основной это загруженность используемого частного канала. В многоквартирном доме или офисном здании с кучей небольших компаний это может быть достаточно серьезной проблемой. Джиттер плох в основном для игр и реалтаймовых протоколов (голоса, видео).

    Если вы не наблюдаете рандомных задержек пинга даже при существенной нагрузке на сеть, то проблемы джиттера у вас нет.
    Ответ написан
    1 комментарий
  • Какой лучший Git клиент с GUI для Windows?

    @DarkByte2015
    Source Tree и GitKraken. У GitKraken более современный интерфейс (он на js написан), зато он часто падает при работе с большими проектами, а Source Tree нет под линукс (ну для тебя это я так понимаю и не надо). Я юзаю их одновременно оба на работе (в Source Tree комичу, а в GitKraken изменения смотрю и мержу - там удобнее намного имхо). И кстати двухоконный дифф намного удобнее имхо, только я как раз таких программ ни разу не видел. Чтобы как на гитхабе в shift режиме показывало.
    Ответ написан
    9 комментариев
  • Какие задачи решает реактивное программирование?

    nasnetstep
    @nasnetstep
    Пример из Википедии

    В императивном программировании выражение

    a = b + c
    Означает взять текущие значения 'b' и 'c', сложить их и присвоить 'a' результат. Дальнейшие изменения параметров 'b' и 'с' не влияют на 'a'.

    В реактивном программировании то же выражение:

    a = b + c
    Означает, что 'a' есть сумма 'b' и 'с'. Если 'b' или 'c' изменятся в будущем, это отразится на величине 'a'.
    Ответ написан
    Комментировать
  • Как правильно спроектировать архитектуру и UI игры на Unity?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Это всё вкусовщина, я миллион вариантов видел и все они свою задачу выполняли. Просто возьмите пустую сцену и поэкспериментируйте, сделайте, чтобы ui можно было просто так без ничего запустить и снаружи подёргать из тестового класса. Ну и с бизнес-логикой точно так же, сделайте, чтобы она в "консольном режиме" работала без лишнего обвеса.

    Из общих советов могу порекомендовать избегать циклических связей, когда, например, вы в ui что-то отправляете и в сценарии ожидаете, что оттуда вас дёрнут в ответ, а если не дёрнут, то всё сломается. Для того, чтобы это не случалось, очень удобно использовать такую конструкцию:
    public event Action OnSomething = () => {};
    Так вы всегда сможете вызывать OnSomething и не беспокоиться о том, есть ли какие-либо подписчики у этого события, оно никогда не будет null и снаружи его никто вызвать не сможет. Когда вы начинаете думать в таком формате, то проектировать архитектуру становится проще.

    В остальном, в принципе, можете делать что угодно. Я бы не советовал подписываться на юнитёвые интерфейсные события через инспектор, потому что так код становится сложнее отлаживать, но в разных организациях свои привычки, иногда над префабами работает отдельный человек, и в код он не лазает.
    Ответ написан
    1 комментарий
  • Какой лучший workflow работы с git subtree?

    @semenyakinVS Автор вопроса
    Писатель кода и не только
    Проблема действительно была в разделителях. Но, побарахтавшись с subtree, я в конце концов предпочёл submodule как более прозрачный (на мой взгляд) механизм. Сейчас заканчиваю работу над циклом статей на хабру по теме. С дня на день опубликую - и добавлю тут ссылки на разделы в статьях.
    Ответ написан
    3 комментария
  • Java libgdx или C# Unity3D?

    @Noortvel
    Всё зависит от цели, задачи и пути исполнения. Для обучения программированию, выстраиванию архитектуры и основам gamedev libgdx отлично подходит, но он по сути только для 2D игр(и он ну очень хорош в этом) + мало инструментов разработки( editor, animator и т.д).
    C# и Java конечно похожи, но не настолько что б сразу "перескочить". Но и C# в Unity это не совсем C#. Короче, если идет только обучение или желание создать небольшую 2D игру на мобилку, то libgdx. Если есть немного знаний + 3D или мало мальская серьезная 2D, то Unity. А если ПК + 3D или Пк + Мега 2D, то Unreal Engine 4.
    Ответ написан
    Комментировать
  • Java libgdx или C# Unity3D?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Java и шарп действительно сильно похожи синтаксисом но внутренние отличия довольно большие. В общем перескочить можно с малой кровью.
    Сравнивать libgdx и юнити очень некорректно.
    Юнити это готовый и законченный движек с готовыми утилитами под него.
    LibGDX это только фреймворк над базовыми вещами. Т.е. рендер\систему ресурсов\сеть\базовые классы игры, все придется писать самому. Утилиты,равно как и форматы хранения контента придется тоже писать самому. Редактор карт тоже придется писать самому. Другой вариант что многие описанные вещи можно найти уже написанные кем то и слепить все воедино.

    Юнити хоть и мощный двиг но придется мириться с тем что он предоставляет и ни шагу в сторону как бы неудобно и нелогично это выглядело.
    LibGDX дает тебе возможность написать именно нужные тебе для конкретной игры двиг с необходимым и удобным тебе тулсетом.

    К примеру если игра изначально задумывается в виде платформера то намного удобнее написать все свое конкретно для данной игры на LibGDX, скорее всего это будет даже быстрее чем на юнити.
    Если игра будет чем то вроде КС то такую игру намного проще и быстрее делать на Юнити но позже будет сложнее дорабатывать ради уникальных фишек и количество костылей будет расти пропорционально числу уникальных фич.
    Ответ написан
    Комментировать
  • Наиболее полный/информативный курс по Unity?

    GavriKos
    @GavriKos Куратор тега Unity
    1) Документация по юнити официальная частично переведена. Ну и - учите английский, чтобы проблем небыло.
    2) Лучшая дока, которую я видел - официальная.
    3) Лучший курс - опять таки официальный.

    Официальные туторы, курсы, вот это все - https://unity3d.com/ru/learn - тут.
    Ответ написан
    Комментировать
  • Ноутбук со встроенной графикой и Unity?

    shpaker
    @shpaker
    Вольный хлебопашец
    Если вы берёте ноутбук, значит вы так или иначе допускаете работу не в "домашних условиях" => FHD лишним не будет (хотя оно лишним не будет даже если вторым экраном монитор подключен). Я уже с десяток лет с ноутбуком как с основным домашним (т.е. для пет-проджектов) компьютером и поверьте на слово - разрешение 1366 на 768 (тем более если диагональ 15") это боль, страдание, унижение и ненависть к производителю. Встроенная графика сейчас конечно достаточно проворна, но лучше дискретную графику, хотя бы 950М. А вообще геймдев цель так и шепчет на ухо: "возьми стационарный ПК". Так или иначе всё сильно зависит от уровня ваших проектов. Два экрана не должны стать проблемой. Опять же, смотря что на них делать. Если на одной IDE, а на другой разворачивается простой 2Д проект, то почему бы и нет? А вообще абстрактного коня описываю. Сейчас прям цены на ноутбуки приличные настолько злы, что смотреть страшно - так что удачи в выборе )
    Ответ написан
    2 комментария
  • Cocos2d-x или libgdx, что лучше для новичка?

    Mishok2000
    @Mishok2000
    Творческий программист
    Работал с двумя движками. На LibGDX писал свою первую мобильную игру. На Cocos2d-x делаем сейчас с небольшой командой по-настоящему глубокую и обширную, если так можно выразиться, аркаду. По этому опыт работы с этими двумя движками есть. Буду писать только по различиям.
    LibGDX:
    • Если хорошо знаешь Java - выбирай его, не задумываясь
    • Есть немалое количество туториалов на тему этого движка и готовых игр, а так документация на хорошем уровне
    • Не требует высокого уровня программирования
    • К сожалению, многие фреймворки, различные расширения для игр, анимационные стандарты, рекламные сервисы не поддерживают движок
    • Это джава. Она всегда лагает. Её с плюсами даже сравнивать нельзя
    • Частенько придется писать платформозависимый код, как на Java для Android, так и на Objective-C для iOS

    Теперь о Cosos2d-x:
    • Знаешь C++ - выбор сделан
    • Очень производителен в 2д разработке. Обходит по скорости даже юнити, про libgdx даже молчу. Но нужна ли тебе такая производительность?
    • Из-за того, что движок очень популярен, поддерживается большинством фреймворков, рекламных сетей, но ни так, как юнити. Это все же надо понимать.
    • Полностью кроссплатформенный. Есть даже встроенные средства для добавление поддержки внутриигровых покупок для iOS и Android одновременно, без написание кода под каждую ОС.
    • Открытый код. Постоянно развивается засчет этого движок.
    • Отличная архитектура у движка
    • Пи#здец, как мало туториалов и статей. А документация просто ужасная
    Ответ написан
    5 комментариев