std::vector — это, пожалуй, самый используемый контейнер STL. Он кажется простым на первый взгляд: динамический массив с автоматическим управлением памятью. Но под капотом скрывается множество тонкостей, знание которых отличает начинающего программиста от профессионала.
В этой статье мы пройдем путь от базового использования до глубокого понимания внутреннего устройства std::vector, рассмотрим все его методы, особенности работы с памятью, исключения, трюки оптимизации и подводные камни. А также рассмотрим альтернативы std::vector и когда их стоит использовать.
Читать далееЧтобы полностью раскрыть тему PoE, предлагаю рассмотреть схему питаемого устройства (PD) на дискретных компонентах. Такой подход представляет особый практический интерес, поскольку огромное количество различных IP-устройств (камер, точек доступа, телефонов) удобно питать по кабелю данных.
Основные сокращения:
PoE — Power over Ethernet (питание через Ethernet);
PD — Powered Device (питаемое устройство);
IP — Internet Protocol (Интернет-протокол). В контексте "IP-устройств" подразумеваются сетевые устройства с собственным IP-адресом (камеры, точки доступа);
PSE — Power Sourcing Equipment (источник питания);
I_CL — Classification Current (ток классификации);
КПД — Коэффициент Полезного Действия;
MOSFET — Metal-Oxide-Semiconductor Field-Effect Transistor (Метало-Оксидный-Полупроводниковый Полевой Транзистор).
Стандарт PoE требует, чтобы PD реализовывало три функции: обнаружение, классификацию и подключение.
Обнаружение происходит при повышении входного напряжения от 2,5 до 10 В. Резистор R31 в составе PD обеспечивает заданное сопротивление обнаружения (~25 кОм) для оборудования PSE (источника питания), позволяя тому идентифицировать устройство как PoE-совместимое.
Читать далееМоя работа связана с телефонией. Однажды на известной торговой площадке я наткнулся на объявление о продаже бесплатно! телефонного аппарата Cisco SPA504g (на самом деле — aka Linksys/Sipura). Цена была обусловлена одной «досадной» мелочью — аппарат был «запаролен» оператором, который предоставляет услуги телефонии, отдавались они на запчасти. Аппаратов было много, прямо несколько десятков, для обучения даже такие бы пригодились. Поскольку таких аппаратов мне встречалось не мало, опыт сброса/разблокировки и даже «раскирпичивания» был, я с радостью согласился. Даже, на худой конец, на запчасти. Бородач, который выкатил тележку с горой аппаратов, без сожаления отдал её со словами типа «не охота паять». Но я то считал себя спецом! Что с этого вышло — ниже.
Аппарат, как уже отмечалось, имеет корни от Linksys (весьма важное замечание, о котором не все догадываются), которые\ ранее были вообще Sipura. На заре своего погружения в VOIP я их даже путал.
Читать далееИндустрия видеоигр со стороны кажется миром чистого волшебства — дерзких мечтателей, создающих вселенные, и головокружительных успехов, меняющих поп-культуру. Но за каждым громким триумфом часто стоит не менее эпическая история борьбы, амбиций и болезненных провалов. В нашей подборке на выходные — четыре книги, которые проводят вас за кулисы этого театра. Вы узнаете, как гениальные идеи сталкиваются с суровой реальностью бизнеса, как создаются и рушатся империи, а также какой ценой на самом деле даются всеми любимые игры.
Читать далееВ предыдущем посте мы рассмотрели сетевую фабрику AI/ML как новую поверхность атаки. Мы уже описали, как уникальные паттерны трафика и протоколы типа RoCE создают нетривиальные векторы для атак. Сегодня мы изучим экономическую сторону этого вопроса: как эти уязвимости и риски напрямую транслируются в финансовые потери и влияют на ROI всей AI-инфраструктуры.
Читать далееВ эпоху, когда новое знание рождается быстрее, чем человек способен его осмыслить, привычная модель познания перестаёт работать. Мы уже просто не успеваем изучать новое последовательно, шаг за шагом. Каждый день приходится принимать решения, не имея времени на проверку фактов и их взаимосвязей. Понимание сместилось: вместо анализа - согласие, вместо доказательств - внутренняя сонастройка.
Мы ориентируемся не на полноту сведений, а на резонанс - на то, что кажется правдоподобным в нашей картине мира. Так формируется новая парадигма мышления: принимать быстрее, чем понимать, а разбираться уже после. Не из доверия к источникам, а из необходимости сохранять ум в рабочем состоянии в среде, где количество знаний давно превысило человеческую пропускную способность.
Читать далееСовременные большие языковые модели, такие как GPT-5, продемонстрировали свою способность генерировать высококачественные текстовые ответы на широкий спектр запросов, что делает их ценными инструментами в различных сферах, однако, остро встает вопрос о надежности их выводов, так как многие пользователи склонны воспринимать сгенерированные результаты за истину подвергая сомнениям свои рассуждения, а не ответы нейросетей. В статье рассматривается пример того, как легко нейросети могут ввести человека в заблуждение на примере решения оптимизационной задачи о назначениях.
Читать далееИммерсионное олово (Immersion Tin, ImSn) — альтернатива HASL-процессам. Популярность ImmSn растёт за счёт обеспечения хорошей смачиваемости припоем и демонстрирует беспроблемную и лучшую паяемость, чем иммерсионное золото ENIG (Electroless Nickel / Immersion Gold).
Читать далееНа связи Анатолий Шостак - сжигатель стартапов. Продолжаю документировать опыт поиска ниши для создания бизнеса. Это не про код, а про проверку "а это вообще нужно" ещё до пиления.
Название проекта: Ktofotograf.ru (Проект №5)
О чём проект: агрегатор фотографов.
Дата теста: сентябрь 16.09.2019 — 30.09.2019 (2 недели фултайм).
Статус: Заморожен. Доступен бесплатно.
Почему не смогли: рынок “Сарафанный”.
Согласно ряда утечек и заявлений, 12-й испытательный полёт космической транспортной системы Starship может состояться приблизительно в середине января 2026 года. Были и более оптимистические ожидания относительно декабря 2025, но вице-президент по запускам SpaceX Кико Дончев явно указал на январь. И вряд ли запуск случится во время новогодних каникул. Более обтекаемо, но предполагая примерно январь не так давно высказался и сам Илон Маск, заявив в конце октября, что SpaceX вероятно будет готова к 12-му полёту через пару месяцев.
Читать далееВторая половина длинного игрового сценария.
Действия происходят в Крыму в XXIII столетии, в парралельной вселенной. СССР всё ещё формально существует, но Евразия больше похожа на себя в средневековье и античности, просто с пушками получше.
Читать далееПервая из двух частей законченного сценария большой игры жанра action, с элементами РПГ. Действия её разворачиваются на многострадальном континенте Евразии, где в который раз за тысячелетия льются реки крови и происходят неожиданные события.
Читать далееНедавно мимо меня пролетела новость о том, что кто-то сделал русскоязычную версию ЯваСкрипта для учебных целей. Никакой особой реакции это не вызвало.
Да, мой ник "Muxa" возник тогда, когда нельзя было называть папку кириллическим именем "Михаил". Да, моя команда червяков носила имена MAHbKA, CAHbKA , TAHbKA, BAHbKA и т. д. Да, я до сих пор стараюсь выкладывать в веб только файлы имеющие в названии [a-z0-9._-] - что бы не было проблем с кодировками. Но если вы спросите меня, что из всего этого надо делать вам, то я скажу только про имена файлов, а в остальном не вижу для вас никаких причин не использовать кириллицу. Более того, кириллица давно и прочно обосновалась в именах функций.
Не верите? Щас покажу. Тыц на ссылку.
Ссылка на которую тыцМне попался в руки тематический выпуск «Социолингвистика правописания» (2015) журнала Written Language and Literacy. Проблемы политизации орфографии хорошо знакомы на постсоветском пространстве — Таллин или Таллинн (а в 1930 он и вовсе был Талин!), Чимкент или Шымкент? — но аналогичные противостояния возникали по всему миру, во все времена. Интереснее всего, когда политизированные прения возникают по поводу состава алфавита.
Так, испанцы, владевшие Филиппинами с 1521, перевели тагальский — основной язык Филиппин — на латиницу без использования ⟨k⟩: как и в испанской орфографии, звук [k] обозначался при помощи ⟨c⟩ или ⟨qu⟩. В 1892 филиппинские революционеры назвали свою подпольную организацию KKK (Kataastaasang Kagalang-galang na Katipunan, «высочайшая и самая почётная организация»): символом борьбы против испанской власти они избрали тройную «анти-испанскую» букву. В 1898 в войну за независимость Филиппин включились США, испанцы были разгромлены, филиппинский флаг украсился буквами KKK, а орфография повстанцев стала официальной: алфавит (abakada) принял вид ⟨a, b, k, d, e…⟩ — тогда как «колониальные» буквы ⟨c⟩ и ⟨q⟩ из него были исключены. В 1987, когда антиколониальная борьба осталась далеко позади, филиппинский алфавит вновь гармонизировали с испанским: поставили ⟨k⟩ на привычное место перед ⟨l⟩, и разрешили использовать ⟨c, f, j, ñ, q, v, x, z⟩ в собственных именах и заимствованиях.
Читать далееИстория о том, как я случайно устроил DDoS на внутренний API, обрабатывая 10 миллионов векторов. И как asyncio.Semaphore меня спас.
Читать далее