Задать вопрос
  • Можно ли сделать оплату через русские сервисы (Robokassa, YooMoney) в своем приложении для Google Play?

    Это правилами не запрещено. Организовывай.
    Олег подробнее раскрыл в комментариях)
    Ответ написан
  • Где пройти производственную практику?

    Производственная практика - это очень часто чуть ли не формальная процедура. Снижай планку требований к месту прохождения практики.
    Ответ написан
    Комментировать
  • Какие конкретно знания по пакетам Adobe (Photoshop, Illustrator, AfterEffects) должны быть у UX/UI дизайнера?

    Ну во-первых ровно для решения таких вопросов и существует собеседование - можешь этот вопрос задать тому, кто тебя будет собеседовать. Всё равно за пару дней не выучишь до какого-либо необходимого уровня.
    Вариантов использования достаточно много - начиная с того что нужен человек 2-в-1 (графический + ux/ui дизайнер), заканчивая тем, что вот так устроен рабочий процесс (до появления фигмы в фотошопе часто и делали дизайн, и сейчас много кто продолжает)
    Ответ написан
    Комментировать
  • Как решить задачу rustlings?

    vabka
    @vabka Куратор тега Rust
    В оригинале задача выглядит так:
    #[derive(Debug, PartialEq, Eq)]
    enum DivisionError {
        // Example: 42 / 0
        DivideByZero,
        // Only case for `i64`: `i64::MIN / -1` because the result is `i64::MAX + 1`
        IntegerOverflow,
        // Example: 5 / 2 = 2.5
        NotDivisible,
    }
    
    // TODO: Calculate `a` divided by `b` if `a` is evenly divisible by `b`.
    // Otherwise, return a suitable error.
    fn divide(a: i64, b: i64) -> Result<i64, DivisionError> {
        todo!();
    }
    
    // TODO: Add the correct return type and complete the function body.
    // Desired output: `Ok([1, 11, 1426, 3])`
    fn result_with_list() {
        let numbers = [27, 297, 38502, 81];
        let division_results = numbers.into_iter().map(|n| divide(n, 27));
    }
    
    // TODO: Add the correct return type and complete the function body.
    // Desired output: `[Ok(1), Ok(11), Ok(1426), Ok(3)]`
    fn list_of_results() {
        let numbers = [27, 297, 38502, 81];
        let division_results = numbers.into_iter().map(|n| divide(n, 27));
    }


    В таком случае это вполне является допустимым и корректным решением (код из вопроса):
    fn result_with_list() -> Result<Vec<i64>, DivisionError> {
        let numbers: [i64; 4] = [27, 297, 38502, 81];
    
        let division_results: Result<Vec<i64>, DivisionError> = numbers
            .into_iter()
            .map(|n| divide(n, 27))
            .collect();
    
        division_results
    }


    PS: изначально ответ писал ночью и мне показалось, что на входе функция получает 5 чисел, а отдаёт 4 и из-за этого подумал, что нужно пропустить ошибки - тогда можно было бы использовать filter_map для пропуска ошибок.

    Изначально задача, видимо, рассчитана на то чтобы познакомить с тем что collect позволяет по разному коллектить итератор из Result
    Ответ написан
    Комментировать
  • В какую сторону решать противоречие clippy needless_return против implicit-return?

    vabka
    @vabka Куратор тега Rust
    Не противоречит.
    Implicit return по умолчанию разрешен.

    Если тебе в проекте хочется везде сделать return только явный, то тогда запрети implicit return и разреши needless return
    Ответ написан
    Комментировать
  • Возможен ли сбой времени на записи видеонаблюдения после аварийного отключения электричества?


    Поэтому вопрос общего характера, так как марка системы пока неизвестна, и судя по всему это цифровые камеры с записью на сервер.

    Вообще не должно сбиваться время при пропадании электричества, тк в компьютерах для часов стоит отдельная батарейка.

    Если та сторона утверждает, что время сбилось из-за пропадания электричества - надо выяснить, что за система всё таки стоит, кто её устанавливал и запросить у них информацию о том, может ли сбиваться время.

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

    В зависимости от ситуации:
    1. Можно изначально отпочковаться от той ветки
    2. Можно сделать cherry pick

    Зависит от того, что по логике правильнее: просто какое-то точечное изменение (типа в конфиге адреса потрогал) - cherry pick. Если это развитие фичи из другой ветки - лучше от ветки отпочковываться.
    Ответ написан
    Комментировать
  • Может ли бесконечный цикл в программе привести к поломке компьютера или смартфона?

    Большинство программ, которыми ты пользуешься - представляют из себя как раз бесконечный цикл)
    Ну и если ты не драйвер пишешь, то повредить железо ошибкой не выйдет.
    Ответ написан
    Комментировать
  • Где можно посмотреть примеры алгоритмов рекомендаций?

    Загугли "рекомендательные системы" - найдёшь и разные курсы/лекции по теории и доклады с практикой реализации в конкретных продуктах.
    Тема достаточно большая и есть очень много разных подходов.

    какие данные собирать чтобы собственно такой алгоритм реализовать?

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

    Если без базы данных, то это не CMS, а SSG.
    Есть достаточно много разных и тут лучше самостоятельно выбрать, но уже упомянутый Hugo вполне норм.

    Если нужна админ-панель, то тут уже нужна полноценная CMS типа WP.
    От кучи "лишних" файлов не уйдёшь, тк вот это самое требование приводит к необходимости тащить кучу всего.
    Ответ написан
    Комментировать
  • Возможно ли внести изменения на сервер игры?

    Это очень зависит от конкретной игры и в зависимости от кривости рук разработчика и протокола, по которому взаимодействует клиент с сервером - возможно разное.
    В этом плане молоизвестность и небольшой масштаб игры играет даже на пользу безопасности - скорее всего разработчик не станет изобретать какой-то сложный и гибкий протокол, а значит и уязвимостей в нём будет меньше.

    Например большой пример "фиаско" в плане безопасности - это Titanfall и Apex Legends - там ты отправив определённые данные на сервер можешь "попросить" его выполнить какой-то произвольный код у другого клиента с весьма высоким уровнем привелегий. (так, например, на одном из турниров хакер запустил читы у нескольких участников в прямом эфире).


    Если на этом ресурсе можно такое . Хотел бы спросить у людей, кто знает таких людей. Кто может реализовать подобную мысль.

    Это очень дорого будет стоить, тк такие люди реально штучные, тут должно сойтись два фактора:
    1. Очень глубокие и специфичные знания
    2. Готовность совершить уголовное преступление, за которое реально можно уехать в тюрьму на несколько лет.

    Вопрос буквально звучит как

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

    В дополнение к предыдущим ответам.
    Вторая реализация метода имеет право на жизнь, но должна тогда называться append, а не concat.
    Обычно методы с названием concat не изменяют данные, которые им даны на входе.
    Ответ написан
    Комментировать
  • Почему глухой звук в игре при включении микрофона?

    Потому что режим гарнитуры.
    Исправить нельзя - это особенности bluetooth.

    Хочешь нормального звука и беспровод - бери беспроводные наушники, которые подключаются через свой трансивер, а не через bt.
    Либо подключай микрофон отдельно
    Ответ написан
    Комментировать
  • Существует ли сервис бесплатных push Для android?

    Вроде в firebase нет ограничений на пуши (бесплатно и сколько угодно)
    По-умолчанию есть квота в 600к в минуту, но если очень-очень нужно, то можно попросить больше.
    https://firebase.google.com/docs/cloud-messaging/c...

    Очень много пушей за очень малое время не получится отправить (нужно размазывать на несколько минут) и на такое получить квоту нельзя принципиально.
    https://firebase.google.com/support/faq#fcm-quotas

    Также рейт лимиты могут быть ограничены в пики, когда большая нагрузка на сервис, по тому нужно обрабатывать нормально ошибку 429 и равномерно размазывать свои уведомления в течение дня.
    https://firebase.google.com/docs/cloud-messaging/c...

    600к отправок в месяц, если они размазаны - это мало и врядли упрётся в какой-либо лимит.
    Ответ написан
    3 комментария
  • Как исправить ошибку error CS1001?

    https://learn.microsoft.com/ru-ru/dotnet/csharp/la...
    Предположу, что ругается на эти строчки, которые действительно не имеют смысла:
    public void InitializePlayer()
    {
    string = Player;
    }
    
    public void AddScore(int points)
    {
    int = 0;
    }

    Как исправить - знает только автор.
    Чтобы в будущем до такого не доводить - пиши в нормальном редакторе, который сразу подсвечивает проблемы, а не в блокноте.
    Ответ написан
    Комментировать
  • При размере страницы, скажем, 4 Кбайт 32-разрядное адресное пространство имеет 1 млн страниц. Верно ли это?

    2 в 32 степени это 4 294 967 296 бит. далее делим на 8000 = 536 870,912 и далее делим на 4 (т.к. 1 страница = 4 килобайта) и получаем 134 217,728, то есть 134 тысячи страниц. разве не так?

    Ход мысли то правильный, да только в единицах счисления ошибся.
    в 32х-разрядном пространстве 4+ миллиарда адресов, а не бит.
    А так как во всех используемых сейчас архитектурах единицей адресации является байт, а не бит - вот и выходит
    1млн+ страниц.

    2^32 байт адресуется / 1024 = 4194304 кбайт адресуется.
    4194304 кбайт / 4 кбайт:страницу = 1048576 страниц
    Ответ написан
    1 комментарий
  • Как связать YandexGPT API c другой APi в телеграмм боте?

    Yandex GPT в такое не умеет, так что нужно самостоятельно реализовывать.
    В теории можно это сделать через fine tuning где дать пример:

    - Вопрос пользователя, который требует запроса к системе.
    - Пример ответа, который твоя система (которая отправляет запросы к yandex gpt) распознает как обращение к функции
    - Ответ от твоей системы с результатом запроса
    - Окончательный ответ модели

    и так несколько раз (ну и дать несколько примеров, которые не требуют обращения к функциям)
    https://yandex.cloud/ru/docs/foundation-models/tut...
    Ответ написан
    Комментировать
  • Что такое перекрашенный IP?

    Вопрос в заголовке, когда-то давно слышал про недобросовестных хостинг провайдеров, у которых якобы "перекрашенные айпи адреса".

    Где такое услышал? Тоже впервые такое слышу. Может тебе послышалось и автор подразумевал какое-то другое слово?

    Вообще чтобы не напороться на недобросовестных провайдеров - просто не гонись за низкими ценами и выбирай проверенных провайдеров с именем.
    Ответ написан
    5 комментариев
  • Обеспечивает ли HTTPS полное шифрование и невозможность компрометации данных?

    1. Кроме утечек посередине данные могут утекать и со стороны браузера и со стороны сервиса.
    2. mitm вполне себе возможен при помощи подставного сертификата. С введением сертификатов минцифры на уровне браузера - это уже не выглядит как что-то невозможное.

    Скажите, правильно ли я понимаю, что провайдер и все промежуточные узлы видят только IP адрес на уровне L3 (и мак на уровне L2), а сами данные L4 на сеансовых и следующих уровнях для них зашифровано и недоступно? (из-за шифрования HTTPS) Т.е. в худшем случае мы можем только засветить свой белый айпишник, который привязан к географическому положению (и также хранится на логах сессий в маршрутизаторе у провайдера), но сами данные никто увидеть не сможет?

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

    И если это так, то то же замедление ютуба или недавнего Дискорда- DPI (Deep Packet Insepction почему-то именно слово "Deep" настораживает.) - Как система может определять тип пакетов/траффика и исходя из этого делать уже какие-то выводы/принимать действия?

    Это уже надо читать, как работают те самые DPI. Кроме ip есть ещё куча других эвристик, по которым можно определить, что за трафик идёт. Для большинства блокировок/замедлений достаточно ip.

    В таком случае как тогда это стыкуется с безопасностью и шифрованием данных в HTTPS, если DPI может блочить по контенту?

    dpi не может блочить по контенту, иначе бы мы видели блокировки отдельных страниц с запрещённым контентом.

    Но впрочем для корпоративной сети это наверное нормально...

    В корпоративной сети работает п2
    Ответ написан
    Комментировать
  • Под какую версию стоит писать библиотеки?

    vabka
    @vabka Куратор тега Rust
    Кажется, наиболее логичная схема для нового проекта - это взять минимальную версию, с которой твой код компилируется, ибо врядли люди, которые сидят на сильно старой версии решат добавить себе новую зависимость ;)

    Где находиться идеальный компромисс (текущая версия, текущая версия - 1, текущая версия - 5 и так далее)?

    Кажется, тут стоит самому принять решения, ориентируясь на твоих потребителей и твои собственные ресурсы. Готов ли ты сам учитывать ограничения языка N-ной давности?
    Ответ написан
    Комментировать