
В этой статье мы поговорим о том, как разные типы обуви могут влиять на разработку игр, и покажем примеры того, как разработчики игр решают эти проблемы на практике.
User
В этой статье мы поговорим о том, как разные типы обуви могут влиять на разработку игр, и покажем примеры того, как разработчики игр решают эти проблемы на практике.
Началось все с того, что при проектировании своего устройства на микроконтроллере ATtiny 85, которое должно было работать от встроенного li‑ion аккумулятора, я изначально не задавался целью измерения заряда АКБ, поскольку в этом не было необходимости. Однако, собрав все устройство на печатной плате, я подумал над тем, почему бы не добавить такую возможность.
Прочитав в Интернете, как это можно было реализовать, стало ясно, что сделать это вряд ли удастся, поскольку все порты PB[0:5] уже были заняты и, следовательно, не было возможности применения АЦП с аналогового пина (при чем порт PB0 я не мог настроить на вход опорного напряжения AREF - он должен был использоваться как управляющий выход).
Долгое изучение состояния регистров АЦП в datasheet на ATTiny 85 привело меня к следующей идее: в качестве опорного напряжения может быть выбрано само напряжение питания VCC (биты REFS [0:2] регистра ADMUX установлены в 0), а в качестве измеряемого ‑ напряжение VBG с внутреннего стабилизатора в 1.1В (биты MUX [3:0] регистра ADMUX установлены соответственно в 1100). То есть, для измерения напряжения питания не нужно ничего, кроме, собственно, самого питания VCC!
Привет! Я ex. Разработчик из VK, сейчас принял оффер от Ozon'a, и за последний месяц я прошел собеседования в 4х бигтех компаниях: Ozon, Avito, Wildberries и T-Bank и везде дошел до финалов/офферов. Пообщавшись во многих группах, посвященных Go-разработке, я понял, что много умных ребят готовясь к собесам не имеют четкой системы подготовки, и из-за этого заваливают технические собесы в компании. Не претендуя на истину в последней инстанции, предлагаю свою методику подготовки к собесам, которая помогла мне и моим знакомым подготовиться к техническим собесам во все популярные ру-бигтехи.
В 19 веке английские девушки и юноши, претендующие на возвышенность чувств, носили с собой небольшое продолговатое зеркальце, через которое смотрели на мир. Зеркальце было затемненное, что придавало отражению палитру модного художника Клода Лоррена. Увлечение, естественно, многие высмеивали: чтобы увидеть такой «отраженный» пейзаж, нужно было встать к нему спиной. Но ценителям прекрасного было все равно, ведь так они познавали мир через эмоциональный и индивидуальный опыт. Ничего не напоминает?
Сегодня мы продолжим исследовать Англию 18–19 веков, которая подарила миру множество прототипов современных социальных сетей. Складывается ощущение, что Британия была акселератором стартапов задолго до того, как это термин вообще появился. В прошлый раз я рассказывала про эдвардианские открытки, ставшие MVP мессенджеров. А сегодня поговорим о прототипе фильтров в соцсетях.
У меня была задача, сделать reverse proxy, который будет проксировать трафик и для определённых доменов выпускать новые сертификаты налету, а для некоторых нужно просто автоматически выпустить сертификат.
Для такой задачи идеально подходит Caddy.
Мы делаем корпуса для электроники и эта история про один из наших кейсов — устройство для эпиляции. Когда заказчик выпускал его, он хотел выделиться качеством на фоне китайских аналогов. Электронщики спроектировали плату, мы испытали прототип и выбрали проверенную российскую фабрику. Но на этапе серийного производства возникла проблема: клавиатура начала вздуваться и отклеиваться.
Расскажу, что пошло не так, как мы пытались решить проблему и почему в итоге перенесли производство корпуса в Китай.
Знаете, как обычно проходит первая встреча с сертификацией ФСТЭК? Примерно как встреча с медведем в лесу. Все знают, что он где-то есть, все слышали истории о том, как другие его видели, но пока не столкнешься сам — не поймешь масштаба. В какой-то момент нам стало понятно: либо научимся проходить сертификацию и последующие проверки красиво, либо увязнем в бесконечном марафоне.
Разработка отказоустойчивых систем представляет собой важнейшую компетенцию для инженеров, занятых созданием распределённых и масштабируемых приложений. Под отказоустойчивостью понимается способность системы сохранять работоспособность в условиях сбоев отдельных компонентов или недоступности внешних сервисов. В данной статье рассматриваются практики обеспечения устойчивости на уровне программного кода, в частности в контексте серверных приложений, реализованных на языках Python и Java.
Особое внимание уделяется методам повышения надёжности при временных сбоях, включая: повторные попытки выполнения операций с экспоненциальной задержкой (exponential backoff), использование шаблона circuit breaker, механизмы плавной деградации функциональности (graceful degradation), задание таймаутов, реализация идемпотентности, ограничение одновременных вызовов (bulkhead isolation), а также внедрение систем мониторинга и алертинга. Приводимые примеры охватывают типовые сценарии — обращение к внешним API, взаимодействие с базами данных и выполнение фоновых задач.
Привет, меня зовут Мария, я профессиональный IT HR и основатель Kemenova HR Agency — компании по поиску IT-специалистов. В этой статье расскажу, как я отбирала рекрутера к себе в команду — какое тестовое можно дать на эту позицию и как его оценивать.
Когда я начинал разработку своей игры, то не смог найти каких‑то внятных гайдов с описанием архитектуры диалоговой системы. Зачастую авторы упоминали верстку да логику UI, но не отвечали на вопросы «как менять сюжетные стейджи», «как работать с разными типами диалогов», «как менять статус персонажам на сцене» и т. п. Мне не хватало найденной информации и я потратил какое‑то время на написание диалоговой системы самостоятельно. Для опыта конечно же… но и, будем честными, денег я зажал на готовые плагины. Надеюсь, что эта статья поможет таким же новичкам в Unity как и я, кто решил учиться разработке через практику и прототипирование. Небольшая оговор очка: я занимаюсь автоматизацией тестирования и мой основной язык python. Так что заранее прошу извинить за не самые лучшие конструкции C#. Также хочу упомянуть, что статья эта не про код, а про архитектуру, так что первого в принципе будет не так уж и много. А что за игру я делаю? Сюжетное 2д приключение, где я решил брать не механиками, а историей.
Часть 1. Планирование архитектуры
Без четкого ТЗ результат ХЗ. Для начала планируем и фиксируем, что хочется вообще сделать. На моем примере:
1) Система линейная, диалоги без вариантов ответа;
2) Каждая сцена — это грубо говоря отдельная игра, которая не связана с другими сценами, их все можно запускать независимо. Сохранения реализованы в момент перехода между сценами;
3) На каждой сцене есть n стейджей. На каждом стейдже m диалогов. Заканчиваются стейджи — на этой сцене заканчивается сюжет, можно переходить на новую сцену;
Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций. Однако базовая спецификация остаётся относительно компактной1 — из важных частей в ней можно выделить парсинг заголовков TCP, машину состояний, отслеживание перегрузок и вычисление таймаута повторной передачи.
Самые распространённые протоколы слоя 2 и слоя 3, Ethernet и IP, скромны по сравнению с сложностью TCP. В этой серии статей мы реализуем минимальный стек TCP/IP пользовательского пространства для Linux.
Посты и код служат исключительно в образовательных целях, они позволят вам глубже изучить сетевое и системное программирование.
Назрел пост, связанный нагрузкой на процессор сервера СУБД MS SQL Server.
Вроде бы чего тут обсуждать, всё же очевидно – есть системные счетчики, показывающие нагрузку в процентах. Смотрим на них и понимаем, всё ли у нас замечательно с сервером, хорошо ли утилизируются ресурсы, аль не хватает.
Когда нагрузка на процессоре 100%, огромные очереди к нему, то тут действительно всё просто и обсуждать особо нечего. Сценарий простой: либо ищем что его нагружает, либо система переросла процессор и ему пора накинуть мощностей.
А вот когда нагрузка держится на среднем уровне, но при этом есть очереди и ожидания, то здесь далеко не все так очевидно.
Мой обеденный кофе прервался. Начали приходить уведомления от мониторинга, что сайт и API не отвечают, а CloudFlare отдаёт 521-ю ошибку на все запросы. Спустя пять минут ко мне в личку пришли пользователи с жалобами на неработающие приложения. А ещё спустя пять позвонил сооснователь проекта и сказал, что от нас требуют $250 за остановку DDOS'a.
Ниже расскажу, как мы командой решали проблему, какие ошибки допустил я и чем всё закончилось.
У каждого программиста микроконтроллеров с годами кристаллизируется коллекция золотых багов. Некоторые из них весьма эпичные.
Самый типичный баг - это зависание прошивки.
Выявление причин багов и их устранение порой сродни работы детективом. Это проявляется в том, что порой очень трудно выявить причину бага. Сначала разработчик идет по ложному следу, ходит кругами, а в конце-концов выясняется, что причина на самом деле была проста, как солдатский валенок.
Настройка отказоустойчивого кластера PostgreSQL для «1С:Предприятие» — задача для опытных специалистов. Ручное или автоматическое переключение на резервный сервер? Сколько реплик действительно необходимо для надёжной отказоустойчивости? Сертифицированный эксперт по PostgreSQL Алексей Васильев делится практическими знаниями и пошаговыми инструкциями по развёртыванию отказоустойчивого решения на базе Postgres Pro Enterprise с использованием BiHA.
"Мы представляем фундаментальное открытие, которое бросает вызов нашему пониманию того, как сложные рассуждения возникают в больших языковых моделях" - так нескромно начинается аннотация к свежей статье от 5 февраля 2025 года. Авторы приводят результаты эксперимента, в котором небольшое количество хорошо подобранных задач с ответами может "всколыхнуть и заставить работать" весь "спящий" внутри LLM объем знаний, которые она накопила, перелопатив гигатонны текста. Возможно, данная работа войдет в список обязательных к прочтению статей по теории нейросетей.
Сегодня в очередной раз наткнулся на вакансию старшего инженера - схемотехника в Яндекс. Решил, что это знак и настало время разобрать их тестовое задание. Звучит оно следующим образом:
Это рассказ о том, как потратить 3 недели на тестовое задание от работодателя мечты и провалить второй тур собеседования. Несмотря на то, что работу я не получил, тестовое задание оказалось испытанием, с которым я справился, попутно вынеся для себя несколько важных уроков.