Примитивы синхронизации в JavaScript: cемафоры и хоккей |
Реализуем простейшие механизмы синхронизации потоков в JavaScript. На этапе раскатки перед матчем с помощью бинарного семафора разделим игроков на две равные группы, а уже в процессе игры с помощью семафора со счетчиком избавимся от штрафов за нарушение численного состава.
Читать далееhttps://habr.com/ru/post/679140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679140
Метки: Разработка веб-сайтов javascript node.js parallel programming performance frontend multithreading |
Технологии UNIGINE 2: визуальный редактор материалов |
Если во времена Half-Life 2 в моде были фототекстуры, то сегодня материалы поверхностей в 3D-графике реального времени воссоздаются с нуля. Для этого используются шейдеры, написанные программным кодом. Но не все художники владеют программированием! Специально для них в UNIGINE 2 есть визуальный редактор материалов, в котором большинство операций прозводится простым соединением узлов (нод) в граф. Так можно быстро прототипировать и создавать сложные материалы, которые не только имеют правдоподобный рельеф, но еще и взаимодействуют со светом как в жизни.
В этой статье расскажем про то, как устроены материалы в UNIGINE 2, а также как работает наш визуальный редактор материалов.
Читать далееhttps://habr.com/ru/post/679134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679134
Метки: Блог компании UNIGINE Работа с 3D-графикой Разработка игр unigine 3d engine 3d-графика шейдеры материалы поверхности |
Интерактивное ТВ: как всё работает и что оно умеет (часть 1) |
Привет! Меня зовут Евгений Гудкин, я руководитель группы спецпроектов в сейлс-хауcе ЭВЕРЕСТ, я хочу рассказать вам про интерактивное ТВ и изменения, которые мы вносили в ряд механик в этом году. Поговорим про специфику интерактивного ТВ, обсудим его элементы и метрики, а также затронем тему рекламодателей.
Читать далееhttps://habr.com/ru/post/679122/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679122
Метки: Блог компании Национальная Медиа Группа Медийная реклама бизнес-модели реклама монетизация тв телевидение онлайн нмг эверест |
Draw the rest of the f***ing owl — как я учусь на тестировщика с нуля бесплатно. Часть 1. С чего начать |
Добрый день, уважаемые читатели. Мы продолжаем разбор в реальном времени кейса о том, как 35-летняя тетя лошадь наконец решила, кем она хочет стать, когда вырастет я вхожу в профессию тестировщика. В этом выпуске — немного о том, почему была выбрана именно стратегия самообучения, и с чего она для меня началась.
И первое, в чем стоит признаться — эту стратегию я не выбирала. По сути, она сама выбрала меня.
Наш котик тоже сначала боялся пылесоса. А потом ничего, втянулся ©
Итак,
Какие вообще были варианты?
Не нужно быть сертифицированным тренером по развитию персонала, чтобы догадаться, какие могут быть методы получения той или иной профессии — и в чем заключаются их плюсы и минусы.
Читать далееhttps://habr.com/ru/post/679118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679118
Как превратить свое развитие в разработке в тему для доклада |
Если вопрос темы для выступления у вас еще не решен, то предлагаем вам последнюю часть квадралогии от Романа Поборчего, независимого эксперта. С 2015 он консультирует докладчиков наших конференций, как выступать на технические темы.
В первой мы искали темы в задачах разработчиков, во второй — в инструментах разработки, а в третьих изучали процессы. Сегодня мы поговорим не про циклические, повторяющиеся регулярно дела, а про поступательное движение и как вообще выглядит развитие людей. Вы же хотите на работе развиваться?
Читать далееhttps://habr.com/ru/post/679116/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679116
Метки: Блог компании Конференции Олега Бунина (Онтико) Карьера в IT-индустрии конференции доклад тематические статьи |
Проектирование Data Pipelines в Apache Airflow |
Сегодня я хотел бы познакомить вас с важным инструментом в методологии DataOps, а именно Apache Airflow и проектирование Data Pipelines (Конвейеры данных).
Эта статья будет посвящена краткому введению в Airflow и шагов по созданию и настройке конвейеров данных (Data Pipelines). Сначала мы установим и сконфигурируем Airflow. Затем рассмотрим практический пример создания и запуска DAG в Airflow. Сегодняшней нашей целью является практическое понимание развертывания Airflow и базовой разработки DAG.
Читать далееhttps://habr.com/ru/post/679104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679104
Метки: Блог компании OTUS Хранение данных apache airflow dataops data pipelines mapreduce обработка больших данных |
Как ускорить выхлоп с глубокой воронки продаж в сложном B2B? |
Решение
Раздробить весь цикл сделки на полезные действия менеджеров (иногда клиентов), которые действительно ведут к успешному результату. Кроме того, хотелось для вновь пришедшего РОПа сделать инструмент, позволяющий выставлять менеджерам показатели, а в конце периода срезать их выполнение - некий дэшборд, приборная панель, демонстрирующая ритмичность и производительность коммерческого подразделения.
Читать далееhttps://habr.com/ru/post/679102/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679102
Метки: CRM-системы Управление продажами воронка продаж аналитика воронка продаж crm b2b освещение |
Стандартная схема пороговой подписи |
Ранее были рассмотрены методы, с помощью которых каждый отдельный пользователь мог создавать свои личные цифровые подписи. Теперь речь пойдет о том, как группе участников создавать одну совместную цифровую подпись. Данная задача особенно актуальна в распределённых системах, где нет возможности проверить участников и где никто никому не доверяет.
Читать далееhttps://habr.com/ru/post/679098/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679098
Метки: Криптография Алгоритмы Исследования и прогнозы в IT IT-компании пороговая подпись tss ecdsa |
Как сменить базу данных, если у вас Entity Framework |
Entity Framework — это удобный фреймворк для работы .NET-приложения с базой данных. По сути, это такая удобная абстракция над БД, которая сама пишет за разработчика оптимальные (ну, почти) SQL-запросы прямо из высокоуровневых LINQ-конструкций. Одной из киллер-фич фреймворка является возможность относительно легко сменить СУБД приложения на какую-нибудь другую. Предположим, разочаровались вы в MySQL или, наоборот, хотите сменить MSSQL на что-то менее дорогое — пожалуйста, EF как абстракция над СУБД в теории может это предоставить, так сказать, by design.
Проблема в том, что в мире бизнес-разработки СУБД меняют лишь по очень большой нужде, а потому редко кто уже сталкивался с данной фичей EF на практике, но вот мне такая возможность выпала. Поэтому я решил написать небольшой гайд, как это выглядит в реальности, чтобы у вас была возможность оценить применимость данной фичи, если вдруг это понадобится.
Читать далееhttps://habr.com/ru/post/677166/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677166
Метки: Блог компании Dodo Engineering mysql .NET Microsoft SQL Server Администрирование баз данных mssql dodopizza dodo engineering |
Настраиваем CI с помощью Cake+TeamCity |
Привет, Хабр! Меня зовут Рустем, являюсь Senior DevOps Engineer в IBM и сегодня я хотел бы показать вам один из способов билда C# приложения. Для этого нам понадобятся Cake+TeamCity для CI-процесса.
Сегодня мы настроим CI-процесс, то есть сборку нашего кода.
https://habr.com/ru/post/679088/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679088
Метки: Блог компании OTUS devops cake+ teamcity ci сборка кода Docker образы Микросервисы dockerfile |
IT-специалисты в сфере информационной безопасности в 2022. Часть 2: старт в карьере, удаленка или офис, поиск вакансий |
Недавно я опубликовал статью о сложившейся на сегодня ситуации в области информационной безопасности и о том, как стать специалистом в этой сфере. Проанализировав комментарии, понял, что данная тема имеет определенные нюансы и требует более глубокой проработки.
Как выяснилось, к безопасникам предъявляются достаточно серьезные требования со стороны законодательства. И в большинстве случаев одних лишь курсов недостаточно для трудоустройства. Сегодня попробуем разобраться, какие еще программы придется пройти, какими скилами нужно владеть на старте и где искать вакансии по ИБ.
Читать далееhttps://habr.com/ru/post/679086/?utm_source=habrahabr&utm_medium=rss&utm_campaign=679086
Метки: поиск работы информационная безопасность управление персоналом иб фстэк работа в it статистика в it карьера в it-индустрии карьера в it обучение по иб |
Эволюция игрового серверного фреймворка на Python. Часть 2 из 2. Слои логики |
В прошлый раз мы отделили логику от инфраструктуры и разбили последнюю на четыре слоя: Server -> Parser -> Application -> Repository. Классы инфраструктуры составляют основной фреймворк, который берет на себя всю рутинную работу, а нам предоставляет писать одну только логику.
Логика состоит из контроллеров, которые составляют пятый и пока что последний слой. Они полностью независимы не только от инфраструктуры (им доступно только хранилище), но и друг от друга. Контроллеры — это, на данный момент, базовые единицы бизнес-логики.
Если сильно обобщить, то контроллеры занимаются преобразованием одних команд в другие с сопутствующим изменением состояния приложения (Repository). В зависимости от команды и текущего состояния пользователя Application
выбирает соответствующий контроллер и передает ему ссылку на Repository
. Контроллер обрабатывает команду, изменяет состояние хранилища и возвращает другие команды, которые должны быть отправлены инфраструктурой по назначению. В общей схеме контроллеры занимают промежуточное место между движком и хранилищем:
... -> Application -> Controller -> Repository.
Если размещать всю логику в одном классе контроллера, то это в большинстве случаев окажется большой класс. Большой класс — это много кода, а много кода, собранного в одном месте — это мешанина. Поэтому чтобы в ней не запутаться, вся логика будет разбиваться на различные классы. Одна задача — один класс. Классы, выполняющие сходные функции и способные заменять друг друга, будут группироваться в слои, как и в инфраструктуре.
В результате у нас появятся отдельные библиотеки для каждого жанра, а также библиотеки с базовыми классами для групп жанров. В отличие, от основного, инфраструктурного фреймворка, эти фреймворки будут сугубо "логические".
При такой организации кода отдельные игры — это лишь соответствующая настройка и использование классов из жанровой библиотеки. Идеальный проект тогда будет состоять вообще из одного main-скрипта в пару строк и yml-файла конфигурации.
О том, как писать классы такого уровня обобщения, чтобы исходный код проектов состоял всего из нескольких строк, как раз и пойдет речь в данной статье:
Читать далееhttps://habr.com/ru/post/678666/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678666
Метки: программирование сервер сервис логика python модель питон ddd разработка игр инфраструктура сокеты контроллер mvc проектирование и рефакторинг анализ и проектирование систем |
[Перевод] Нормализуем логи OpenFeign |
Стандартный логгер OpenFeign предоставляет весьма неудобный подход в логировании коммуникаций — он записывает запрос отдельно от ответа, причём каждый заголовок и тело - это отдельная строка логов.
Очень неудобно разбирать такие логи в приложении с высоким уровнем коммуникаций, особенно в многопоточной среде.
Решение ‘Normalized Logger’ нацелено исправить этот изъян - этот логгер собирает в одну запись будущего лога запрос и ответ - теперь они не будут разбросаны.
Читать далееhttps://habr.com/ru/post/678916/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678916
Метки: Java Logging feign feignclient api spring-boot |
Интеллектуальная собственность на шрифты: как защитить и как не нарушить |
Шрифты — объект интеллектуальной собственности, о котором часто забывают, хотя они используются почти везде. Нарушение авторских прав на шрифт может притаиться где угодно — на этикетке макарон, книжной обложке и даже в оформлении телешоу. Недавно такой конфликт даже проявился в политике. В июне 2022 года площадь в Москве переименовали в площадь ДНР и украсили ее тематическими баннерами. Украинские дизайнеры Олесь Гергун и Евгений Анфалов заявили*, что в оформлении баннеров был незаконно использован их шрифт KTF Jermilov, разработанный специально в поддержку Украины.
В юридическом порядке отстоять свои права украинцы вряд ли смогут. Но если бы они находились в российском правовом пространстве или «дружественном» государстве, у них были бы все шансы на победу — в таких разбирательствах суды обычно встают на сторону дизайнеров. Рассказываем как защитить интеллектуальную собственность на свой шрифт и не нарушить чужие права вместе с сотрудницей «Онлайн Патента», патентной поверенной Еленой Купцовой и Сергеем Бобрышевым, коммерческим директором компании «ПараТайп», крупнейшего российского магазина шрифтов.
Читать далееhttps://habr.com/ru/post/678896/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678896
Метки: Блог компании Онлайн Патент Типографика патентование Дизайн интеллектуальная собственность шрифты юриспруденция в it лицензии |
Security Week 2230: утечка данных через кабель SATA |
https://habr.com/ru/post/677028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677028
Метки: Блог компании «Лаборатория Касперского» Информационная безопасность sata air-gapped |
Ночь с 25 на 26 июля 2022. Луна вблизи Венеры |
https://habr.com/ru/post/678902/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678902
Метки: астрономия Научно-популярное наука меркурий венера марс юпитер сатурн уран нептун церера юнона персеиды луна |
[Перевод] «Программировать не сложно — сложно не разочароваться в процессе» |
В детстве у меня была Mattel Auto Race — портативная игровая консоль со встроенным LED-экраном с красными светодиодами, элементами управления, одной игрой и динамиками. Почему-то я однажды о ней вспомнил и субботним вечером решил создать версию игры, используя p5.js. Сначала дела шли хорошо: я поработал над встречными автомобилями и логикой создания и удаления автомобилей. Затем я решил немного усложнить игру, добавив немного рандома в процесс появления автомобилей.
Вот тогда я столкнулся с проблемами. Что-то было не так с тем, как я управлял таймингом — я никак не мог заставить машины появляться в нужном мне порядке. Повозившись с разными вариантами, я так и не понял, что не так, и разочаровался. Прошло 2 дня, а я так и не могу вернуться к проекту, чтобы не сталкиваться с досадой и чувством разочарования.
Но оказалось, что так и должно быть.
Читать далееhttps://habr.com/ru/post/678898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678898
Метки: программирование обучение coders |
Разложить по полочкам: как мы научили Облако сортировать фотографии по лицам |
Многие люди с помощью облачных сервисов делятся файлами с друзьями и близкими: загрузил один раз в облако, открыл доступ по публичной ссылке и рассылай её кому хочешь. Мы стремимся облегчить пользователям работу с Облаком и регулярно анализируем, какой информацией они делятся, какие форматы файлов загружают. Ежегодно пользователи создают больше 50 млн публичных ссылок, из которых около 13 млн — ссылки на папки с фотографиями. Если вам доводилось просматривать несколько сотен снимков с корпоратива или дружеской посиделки в поисках своего любимого лица, то вы знаете, какое это нудное занятие.
Мы — Сергей Тарасенко, менеджер продуктов Облако и Диск-О, и Арсений Зорин, руководитель группы бэкенд-разработки — расскажем о новом инструменте, который экономит время пользователей: автоматической сортировке фотографий внутри папки по лицам. Именно сортировке: вы можете быстро выбрать изображения с конкретными людьми, но не идентифицировать их.
Читать далееhttps://habr.com/ru/post/678770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678770
Метки: Блог компании VK Обработка изображений Машинное обучение Облачные сервисы облако mail.ru распознование лиц ml |
Дайджест недели от Apple Pro Weekly News (18.07 – 24.07.22) |
Apple выпустила общедоступное обновление iOS и других систем, но удаляет некоторые игры из Apple Arcade, ещё компании присудили оборотный штраф от ФАС России, а также стало известно какие ещё чипы установлены в новом MacBook Air. Всё это и многое другое – в свежем дайджесте Apple Pro Weekly News, переходим к подробностям!
Перейти к новостямhttps://habr.com/ru/post/678860/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678860
Метки: Гаджеты Компьютерное железо Смартфоны IT-компании Apple iOS iPhone iPad Mac Apple Watch Apple Store Apple Arcade Штраф кино |
Сделаем защищенный DNS снова быстрым. DNS over QUIC |
Протокол DNS (Domain Name System Protocol) является одним из важнейших инфраструктурных протоколов для поддержки сети Интернет и первоначально он разрабатывался для максимальной производительности и возможности распределенного хранения неограниченного числа доменных зон. DNS может функционировать поверх UDP-протокола и это уменьшает накладные расходы на установку соединения и избыточный трафик в сети. Но одной из важнейших проблем стала безопасность обмена данными, поскольку клиент в первоначальном варианте протокола не может проверить достоверность информации и это может приводить к подмене ip-адресов злоумышленниками с переадресацией клиента на фишинговый сайт.
Для решения этой проблемы были введены расширения DNSSEC для генерации цифровой подписи ответа. Но сам запрос и ответ при этом не шифровались, что могло быть использовано для ограничения доступа к определенным доменам или для получения на транзитных узлах статистики доступа к хостам. Частично эту проблему решило использование инкапсуляций DNS-over-TLS (DoT, использует TLS для шифрования UDP-дэйтаграмм) и DNS-over-HTTPS (DoH, передает запросы и ответы поверх HTTPS-подключения), которые функционируют поверх TCP. В первом случае запрос более компактный (но может быть обнаружен по анализу трафика), во втором DNS-диалог неотличим от подключения к сайту или веб-сервисам, но при этом существенно увеличивает избыточной трафик (даже при использовании HTTP/2), а также вынужденно добавляет заголовки (которые могут использоваться для трекинга и перехвата cookies). Но можно ли как-то объединить преимущества UDP и DoH? Встречаем DNS-over-QUIC, который был утвержден в RFC9250 как Proposed Standard.
Читать далееhttps://habr.com/ru/post/678650/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678650
Метки: Блог компании OTUS Информационная безопасность Системное администрирование Сетевые технологии dns otus dns over quic secure dns |