Задать вопрос
  • Как облагородить/сократить данный свитч?

    Убрать switch вообще и использовать вместо него if.
    Осмысленные действия распихать по функциям.

    Вместо этого эзотерического
    let arrInput = [!mailArr.length, !inputEmptyArr.length]
    arrInput.every((x) => x === true)

    Писать что-то типа
    if(mailArr.length === 0 && emptyInputArr.length === 0)

    Да, менее компактно, но более читабельно.
    Ответ написан
    Комментировать
  • Стоит ли разрабатывать мобильную игру на three js и react native?

    Не понятно, в чём вопрос.

    Стоит ли разрабатывать вообще - это не сюда вопрос.
    Тут нужно понимать, чего вы хотите достигнуть (заработать денег или просто попрактиковаться)

    Потянет железо или нет - очень зависит от того что и как ты там навертишь.

    Стоит ли разрабатывать на конкретно этом стеке технологий - нужно сравнивать с другими стеками. Предположу, что на Unity всё-таки проще и дешевле делать игру, чем на RN+three js, но утверждать не буду - может вам бесплатно жаваскриптер достался, а разраб на юнити в вашем регионе стоит много денег.
    Ответ написан
    Комментировать
  • Какие компиляторы "принято" использовать в клиентских приложениях для разных платформ (Windows, MacOS etc)?

    Кажется, что всё-таки чаще Clang/LLVM, тк он под капотом умеет компилировать под MSVC ABI, если компилируешь под винду, и GNU ABI, когда компилируешь под Linux.
    Ответ написан
    Комментировать
  • Сайты для поиска единомышленников?

    "На чистой инициативе" - нигде.
    За долю в компании, которая будет расчитана по размеру инвестиций - можешь попробовать поискать на всяких площадках с вакансиями и фрилансом. Некоторые компании, которые занимаются аутсорсом тоже могут войти с тобой в долю - но тут должны быть соизмеримые вложения и нормальная проработка идеи.
    Никто не запрещает начать сейчас одному, а потом в процессе привлечь ещё разраба.

    Подводные камни:
    1. Юридическое оформление
    2. Мало кто согласится вкладывать свои силы без гарантий на финансовое вознаграждение
    3. В итоге доля в компании у этого Middle+ разраба может оказаться сильно больше твоей, если ты вложишь только свою идею, а работу всю будет делать он.
    Ответ написан
    2 комментария
  • В чем принципиальное отличие фабричного метода, строителя и фасада?

    Не читал ссылки, но разница между паттернами радикальная. Как между автомобилем и сдобным тестом.

    Фабричный метод:
    По сути просто статичный (не обязательно статичный) метод, который внутри себя создаёт экземпляр объекта и возращает его.
    Например:
    публичный статичный метод СоздатьФонарик() -> Фонарик


    Строитель - про создание объекта "по шагам".
    Строитель - это объект, который имеет внутри себя какое-то состояние и набор методов, чтобы это внутреннее состояние изменить и подобие метода "построить", который создаст объект исходя из полученного состояния.

    Например:
    класс СтроительФонарика {
     публичный метод ДобавитьЛапочку(Лампочка);
     публичный метод ДобавитьБатарейку(Батарейка);
     публичный метод ДобавитьЛинзу(Линза);
     публичный метод ДобавитьКнопку(Кнопка);
     публичный метод Построить() -> Фонарик;
    }


    Фасад - это класс, который упрощает взаимодействие с чем-то очень сложным и многословным.
    Не могу тут дать пример.
    Но например если бы фонарик имел метод "нажать на кнопку", то фасад мог бы хранить внутри себя состояние, включен ли фонарик и имел бы методы "Включить" и "Выключить".
    Хотя обычно фасад внутри себя содержит много разных классов для управления разными частями большой системы.

    Фу блин, я описал декоратор

    Декоратор- это просто класс, который внутри содержит объект, который реализует какой-то интерфейс, и при этом сам декоратор реализует этот же интерфейс и делегирует ответственность классу, который в него передали:

    Пример:
    класс ФонарикНаоборот {
      приватное поле Фонарик.
      конструктор(Фонарик) {
        этот.Фонарик = Фонарик;
      }
      публичный метод Включить() {
        Фонарик.Выключить();
      }
      публичный метод Выключить() {
        Фонарик.Включить();
      }
    }
    Ответ написан
    Комментировать
  • Началии разрабатывать телеграмм бота для музыки. Задались вопросом об АП(? стоит тк хабр просит)?

    Если клиент не получает данных - он не сможет эти данные сохранить.
    Если клиент в каком-то виде данные получает - всегда будет какой-нибудь, хоть и обходной, способ эти данные сохранить.

    Если говорить аналогиями, то:
    Представь что ты владелец кинотеатра, и ты хочешь гарантировать, что никто не сделает camrip в твоём кинозале.
    Предотвратить пиратство ты можешь только тремя способами:
    1. Не показывать фильм
    2. Не пускать зрителей в зал
    3. Поставить к каждому зрителю по два охранника.
    Самих зрителей при входе в зал раздевать догола, чтобы они никак не мог пронести ничего, и просвечивать
    рентгеном.
    После просмотра - вкалывать какой-нибудь препарат, который будет вышибать у зрителей память о том, что они только что посмотрели, чтобы не дай бог по памяти не восстановили сюжет.
    Ответ написан
    2 комментария
  • Как процессор ''понимает'' машинный код?


    Есть ли в ЦПУ ЦАП? Так как приходит в голову только преобразование цифровой информации в аналоговый сигнал

    Нет, тк ЦП не нужно никак генерить аналоговый сигнал.


    Вернее выражаясь, как происходит преобразование нулей и единиц в электрический сигнал.

    Нули и единицы - это абстракция, придуманная человеком. На самом деле компьютер абсолютно на всех этапах работает только с электрическими сигналами.

    Даже когда показывает тебе текст или видео
    Ответ написан
    Комментировать
  • Почему не идет задержка времени?

    WaitForSecond нужно не просто создавать, а делать yield return

    Соответственно и Die должен возвращать IEnumerable и вызываться через StartCoroutine
    Ответ написан
    2 комментария
  • Как поставить Linux на смартфон?

    Дистр общего назначения типа дебиана, нативно, и с поддержкой всей периферии - точно нет.

    Железо у телефонов сильно специфичное и требует кучи проприетарных драйверов, которых как правило нет в ядре.
    На телефонах даже нет EFI, по тому загрузить даже что-то минимальное типа busybox очень нелегко (
    https://github.com/aligator/init-linux-beside-android
    )

    В теории можно запускать полноценный Linux внутри android:
    https://medium.com/@quantvc/running-debian-on-andr...

    Я бы оставил эту затею и взял бы лучше какой-нибудь одноплатник
    Ответ написан
    9 комментариев
  • От чего устают больше глаза 27 дюймов 4к или 1920?

    Перешёл с FHD 27" на QHD 27".
    Могу сказать, что работать с кодом стало заметно комфортнее.
    Правда у меня тут кроме разрешения ещё и яркость, цветопередача, и частота обновления улучшились.
    Так что не могу утверждать, что виновато только разрешение.

    Хуже точно не будет
    Ответ написан
  • Стоит ли заморачиваться с проверкой не совпадения Guid?

    GUID генерируется не полностью случайно, а с использованием идентификатора машины и времени, что сильно снижает шанс коллизии.

    К слову скажу, что за всё время работы в разных компаниях я ни разу не слышал о коллизиях GUID, которые бы реально произошли. Даже на очень нагруженных распределённых системах.
    Ответ написан
    3 комментария
  • Через прокси можно понять будет ли работать корпоративный интернет в другой стране?

    Спроси лучше у админов на работе - они ответят, будут ли они блокировать.
    Например может сегодня всё ок, а завтра очередная ддос атака и доступ к внутренним системам сделают только через Россию - тогда тебе придётся найти российский VPN и подключаться к корпоративному через него
    Ответ написан
    2 комментария
  • GET запрос в WEB-API?

    System.Text.Json.JsonException: A possible object cycle was detected. This can either be due to a cycle or if the object depth is larger than the maximum allowed depth of 32. Consider using ReferenceHandler.Preserve on JsonSerializerOptions to support cycles. Path:

    Дело в том, что у тебя в объекте есть циклические ссылки.
    Чтобы от этой ошибки избавиться есть два варианта:
    1. Руками смаппить модель из базы в модель для фронта (что очень рекомендую. Возвращать модели напрямую из DbContext не безопасно)
    2. Настроить jsonserializer, чтобы он при обранужении циклических ссылок заменял их на null.
    Сделать это можно так:
    // Там где ты регистрируешь сервисы
    services
        .AddMvcCore() // или .AddMvc()
        .AddJsonOptions(options =>
        {
            options.JsonSerializerOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web)
            {
                ReferenceHandler = ReferenceHandler.IgnoreCycles // или ReferenceHandler.Preserve
            };
        });
    Ответ написан
    Комментировать
  • Предположим вы столкнулись с ошибкой где её не должно быть, либо получили неверный текст ошибки, опишите ваши действия.?

    0. Ты, видимо, тестировщик aka QA Engineer
    1. Ты столкнулся с дефектом/багом (поведение не совпадает с ожиданием), таким как одно из:
    - Ошибка там, где ошибки быть не должно. (Например оставляешь комментарий, а вместо оставленного комментария ты получаешь ошибку, не важно какую)
    - Не та ошибка, которая ожидалась, если ожидалась ошибка. (Например ты оставляешь очень длинный комментарий, но вместо "Ваш комментарий слишком длинный" ты получаешь "Произошла неизвестная ошибка")

    2. Тебе нужно описать, что ты будешь делать дальше.

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


    Может ли информация с камер банкомата использоваться для биометрической идентификации?

    Может но не всегда. Вроде бы такое делают только новые банкоматы и только если банк подобную услугу предоставляет


    Родственник (сейчас проживает в Польше) переживает, что банкомат "сдаст его лицо" налоговым органам и те накажут его за незадекларированные "доходы".

    1. Врядли в Польше популярная такая технология
    2. Если этот ваш родственник не является налоговым резидентом Польши, то польская налоговая о нём ничего не знает
    3. Вроде бы везде банки предоставляют информацию о клиентах только по явному запросу от налоговой. Без запроса - банк не будет информацию сообщать.
    4. Чтобы определить тебя по лицу - твоя биометрия должна быть у банка.
    5. А что делать, если ты скрываешь лицо например шарфом? Банкомат же не отказывает в обслуживании лицам, которым холодно
    6.
    Обычно налоговая смотрит на расходы, а не на доходы. Ну и в описанной ситуации - даже если у налоговой возникнет вопрос, то можно всё объяснить через возврат долга - такое обычно нигде налогом не покрывается.

    Короче слишком много звёзд должно совпасть.

    А на счёт возврата денег - пусть должник вернёт деньги нормальным банковским переводом и не компостирует мозги
    Ответ написан
    Комментировать
  • Есть ли в kotlin аналог структур как в c#?

    Нет, нету, тк Kotlin построен поверх Java, в которой пока ещё нет "user defined primitive".

    Так что придётся довольствоваться классами:
    https://kotlinlang.ru/docs/reference/classes.HTML

    Думаю, когда в Java появятся кастомные примитивы/структуры, то в Котлин их поддержку завезут при помощи аннотаций, чтобы не вводить новое ключевое слово
    Ответ написан
    Комментировать
  • Как передать данные от C++ телеграм бота Python телеграм боту?

    1. Забыть слово "бот"
    2. Для передачи данных от устройства с датчиком дыма к программе на компьютере можно использовать mqtt - это достаточно популярный протокол для передачи данных в IoT, и он достаточно лёгкий, чтобы использовать его даже на маломощных МК
    Ответ написан
    Комментировать
  • Можно ли сохранить незавершённый рендеринг?

    Судя по тому что я нагуглил - нет, такой функции в Cycles нет.
    Но, ты можешь её имитировать:
    1. Если рендеришь одно статичное изображение, то ты можешь рендерить каждый день лишь часть этого изображения (например разбив вьюпорт на 4 или больше частей), а потом объединить их в каком-нибудь фото-редакторе
    2. Если ты рендеришь статичное изображение, то ты можешь сделать несколько рендеров с разным начальным seed, а потом объединить несколько разных рендеров в фото-редакторе используя разное значение альфа-канала, в зависимости от количества семплов (https://blender.stackexchange.com/a/998).
    Но могут быть некоторые проблемы с освещением.
    3. Если ты рендеришь видео, то ты можешь каждый кадр рендерить как отдельную картинку, а потом объединить все кадры в видео-редакторе.
    Ответ написан
    1 комментарий
  • Своя операционная система?

    Ты можешь взять IL2CPU и Xsharp из cosmos.
    С iso файлом в процессе разберёшься - тут ничего специфичного конкретно для C# нет - тебе нужно будет "просто" сделать две ОС:
    1. Основная
    2. Урезанная, которая будет записана на флешку, которая будет загружаться только для того, чтобы записать основную за загрузочный диск.
    Ответ написан