Прорыв в миграции JSON файлов: как мой новый open source плагин перевернул процесс переноса данных пользователей!
Разработка
Погружаемся в PEB. DLL Spoofing
В предыдущей статье мы в первом приближении рассмотрели PEB и разобрались, как подменить аргументы командной строки.
Продолжая разбираться с PEB, рассмотрим еще один способ повлиять на исполнение программы, и попробуем подменить вызываемую из DLL функцию.
Дайджест полезных материалов из мира Golang за неделю (21.04.24 -28.04.24)
Подборка полезных материалов и находок из мира Go за неделю.
🛠 Инструменты недели:
• go-size-analyzer - инструмент для анализа размера зависимостей в скомпилированных бинарных файлах
Go.
• Go-mongox - пакет Go Mongo, поддерживающий операции по работе с документами и эффективным компоновщиком данных BSON с использованием различных типов данных.
• Dendy - это эмулятор NES/Famicom, написанный на Go и названный в честь советского клона Famicom, который был у многих в детстве.
• Аутентификация и OAuth с помощью Go - большой список полезных библиотеки для реализации схем аутентификации
•The Gowebly CLI - инструмент интерфейса командной строки, который упрощает создание Go приложений на серверной части.
📚 Что почитать:
— Fuzzing-тестирование. Практическое применение
— Бойлерплейт как инструмент стандартизации Go-проектов
— Как добавить метаданные в изображение?
— Пишем поиск семантически похожих текстов (или товаров) за полчаса на Go и Postgres (pgVector)
— Шаблон backend сервера на Go
— Использование миграций баз данных в Go
— My weekly dev.to recommendations
— What’s New in Go 1.22: cmp.Or
— Golang in-memory key-value pair cache
— Golang generator functions (Experimental in 1.22)
— From Homemade HTTP Router to New ServeMux
— (Part 5)Golang Framework Hands-on - KisFlow Stream Computing Framework-Function Scheduling
— Go Program pattern 04:Map-Reduce
Отправка сообщения в несколько слушателей Kafka одновременно
В этой статье описывается способ отправки сообщения в несколько слушателей Kafka одновременно. Несколько слушателей будут получать одно и то же сообщение, от одного и того же отправителя сообщений, в данной реализации решения.
Логика реализована с использованием Java, Spring и Kafka.
Истории
Validating Admission Policy: Магия кастомных политик безопасности Kubernetes
Рассмотрим безобидную, на первый взгляд, ситуацию. Вы развернули новый кубернетес кластер, подключили сетку и стораджи, накатили мониторинги и квоты. Казалось бы, осталось нарезать неймспейсы и передать их в пользование коллегам в разработке. Однако, вы в курсе, что разработчики будут запускать команды через kubectl, а значит, по-хорошему, надо накинуть хотя бы "базовые" ограничения на их команды, ведь только так можно оградить себя от большинства проблем в процессе предстоящей эксплуатации кластера. ...Тем не менее, каким бы сложным действием ни казалась настройка кластера, если у вас есть некоторый запас времени, то милости прошу в краткое рассуждение о возможностях кубернетес контроллеров и практических способах применения Validating Admission Policy.
ИНСТРУКЪЦЫЯ ПО НАСТРОЙКЕ КУБЪ-КЛАСТЕРА
...
шаг 998 Подключите Validating Admission Policies
шаг 999 Отдайте, наконец, кластеръ в эксплуатацию
...
Как ChatGPT поможет заменить репетитора по английскому для айтишников
По мотивам нашей прошлой статьи «Как айтишникам быстро выучить английский с помощью ChatGPT? » мы решили написать продолжение и чуть побольше раскрыть эту тему, раз она так залетела.
Несколько лет назад мы бесповоротно влюбились в теорию Стивена Крашена. О ней можно чуть подробнее, но на английском прочитать у нас тут.
Если вкратце, то речь о том, что круче всего учить английский вникая в контент максимально нативно, словно ребенок, который изучает с детства свой первый язык. Он ведь не относится к процессу как 45 минутному уроку в школе, он погружается в него, находясь в максимально располагающей к этому среде.
Анализ мощности статистических критериев с использованием бакетизации
В данной статье рассматривается влияние бакетизации на мощность статистических критериев в условиях различных распределений данных и при разном объеме выборки. Особое внимание уделено зависимости мощности критерия от количества бакетов и размера выборки. Исследование предоставляет важные выводы для проектирования и анализа A/B тестирования и других форм экспериментальных исследований.
VES — микросервис Cosmos для кодирования видео на Netflix
Cosmos представляет собой новейшее поколение медиа-обработчика на Netflix, интегрирующее архитектуру на основе микросервисов, асинхронные рабочие процессы и функционал без привязки к серверам. Эта платформа нацелена на оптимизацию медиа-процессов внутри Netflix, повышая их гибкость и производительность, а также способствуя более продуктивной работе разработчиков. За последние годы команда Encoding Technologies (ET) усердно трудилась над модернизацией видео-конвейера с использованием платформы Cosmos.
Обновлённый конвейер состоит из множества микросервисов, каждый из которых выполняет строго определённые функции. Один из таких сервисов – Video Encoding Service (VES), который играет ключевую роль в процессе кодирования видео, преобразуя исходные медиа-файлы в форматы, подходящие для стриминга на Netflix или других студийных задач. VES сталкивается с рядом требований, связанных с обработкой контента:
• Необходимость поддержки множества форматов, разрешений и качества изображения для разнообразных устройств пользователей, от мобильных телефонов до смарт-телевизоров;
• Обязательность чанковой кодировки для соответствия требованиям задержек, с учётом различной чувствительности к ним;
• Важность непрерывного выпуска обновлений для ускорения инноваций в стриминговых и студийных направлениях;
• Ежедневное обращение с множеством кодировочных задач, требующих эффективного и экономичного использования ресурсов.
В этой статье мы расскажем о процессе создания VES, о достижении целей, а также об уроках, извлечённых в ходе разработки микросервисов. Мы опустим некоторые детали, характерные только для Netflix, чтобы сфокусироваться на главной теме нашего обсуждения.
Приятного прочтения!
DMX голова: трепанация черепа и замена мозга (превращение в 3D платформу)
Некоторое время назад мне попалась на глаза китайская DMX голова для сценического света, которая произвела на меня неизгладимое впечатление — «да это же готовая платформа для 3D позиционирования!» — воскликнул я и немедленно заказал её. У меня мгновенно возник план: выкинуть стоковую плату управления, поставить свои драйверы для моторов, прикрутить что-нибудь вроде ES32/ESP8266, написать прошивку и дополнить всё это дело собственным API для интеграции мою IoT экосистему.
А заодно прокачаться в теме управления шаговыми моторами, 3D позиционировании и вычислении координат и открыть для себя захватывающие перспективы создания проектов на этой платформе, ну и получить ни с чем не сравнимое удовольствие от того самого DIY.
Итак, поехали…
Похоже, я придумал свой алгоритм поиска кратчайшего пути (увы, но нет)
Всем привет! Я реализовал похоже собственный алгоритм поиска кратчайшего пути с отрицательными ребрами графа.
Почему собственный? Я искал подобное решение, но не нашел, возможно, оно уже было реализовано, просто плохо поискал. Жду Нобелевскую премию =)
Додумался я до него путем модификации классического Дейкстры. Прошу адекватно отнестись к содержимому, ибо это моя первая статья, и, возможно, я ничего не придумывал и, вообще, этот алгоритм не работает вовсе (но по моим тестам он работает правильно).
Повторюсь, алгоритм работает с отрицательными ребрами графа (но не с циклическими отрицательными). Чем этот алгоритм отличается от известного Беллмана-Форда? Сложностью! У известного алгоритма сложность составляет O(n3). У "моего" алгоритма по моим расчетам сложность не превышает оригинальной сложности алгоритма Дейкстры, а именно O(n2). Если это не так, поправьте, пожалуйста, после ознакомления с реализацией на языке Python.
Наше расследование: мониторы LightCom, блогеры и все все все…
Нашу прошлую публикацию про мониторы многие считают началом череды событий, которые взбудоражили российскую радиоэлектронную отрасль в конце 2023 года. Если кто не в курсе, то прочитав нашу статью блогер Максим Горшенин якобы нашёл подлог при получении статуса отечественной продукции для мониторов у компании Лайтком. И хотя это совсем не так, так как история началась намного раньше даже нашей статьи. И самое главное сейчас находится в кульминации, ну а уж развязка этого сериала будет фееричной. Ну а мы решили немного поспойлерить сюжет следующих серий.
Но для начала расскажем кто мы, и для чего мы. Мы – это очень небольшой аналитический отдел в одной очень большой внедренческой компании. Основная наша задача оценивать риски и выверять параметры будущих контрактов. Так что мы больше юристы, чем технари. Но при этом Вольты от Ваттов отличаем, ну а для особо сложных вопросов знаем у кого можно спросить. И так, в начале 2023 года наша компания планировала поучаствовать в одном крупном тендере на поставку техники в одно учреждение. Под планируемый тендер были подобраны товарные позиции от различных поставщиков, которые должны были быть заранее закуплены для того, чтобы в случае выигрыша тендера мы успеть его исполнить в обозначенные сроки. Среди множества позиций были и пресловутые мониторы. Так как тендер был достаточно крупным, то упреждающая закупка была достаточно рискованной и руководством была поставлена задача не облажаться при выборе. Потому мы попросили/купили/нашли большинство из планируемых к закупке позиций от нескольких поставщиков для анализа/разбора в целях минимизации рисков и отсева откровенного палева. И по результатам анализа мы рекомендовали вариант поставщиков и товарные позиции, которые и были утверждены и закуплены. Обычно по нашим рекомендациям мы не получаем вербальной обратной связи от руководства, поэтому иногда публикуем нашу информацию в профильных конференциях. Это позволяет выложить в открытый доступ найденные нами косяки поставщиков, а также получить отклик непредвзятых людей.
Но после публикации первого ролика Горшенина про мониторы в сентябре 2023 года мы-таки получили 100 децибельный фидбек от начальника. И хотя даже наши топы были уверены в том, что в этой истории торчат уши одного отвергнутого поставщика, ситуация усугублялась тем, что тендер проведён, контракт заключен, продукция заказчику поставлена, а вот закрывающие документы ещё не подписаны. И наш заказчик реально хочет весь фарш провернуть назад. А в этом случае мы попадаем не только на деньги за заранее закупленную продукцию, но и на штрафы по контракту. Потому руководством нам была поставлена новая задача во всём разобраться, по возможности успокоить заказчика и указать на виновных. Чем мы, собственно, и начали заниматься...
Строишь карьеру без open source? Фатальная ошибка
open source – это концепция разработки программного обеспечения, при которой исходный код программы доступен для просмотра, использования, изменения и распространения любым желающим.
Если программист не проявляет интереса к участию в open source проектах даже после многолетнего опыта работы, этого человека уже не привлекает программирование, его это не драйвит , он просто сидит на каторге изо дня в день . Отсутствие мотивации к участию в открытых проектах может свидетельствовать о недостаточной амбициозности, отсутствии стремления к профессиональному развитию или даже остаточном интересе к самой профессии.
AI-тренер, нейровоспитатель, ассесор, крауд и разметчик — кто все эти люди и в чем разница?
Многие компании в последнее время ввели должность «ИИ-тренера» (AI-тренера), при этом просто разметчики/ассесоры никуда не делись. Что это — просто красивая обертка нейминга над тем же самыми или что-то концептуально новое?
Давайте попробуем в этом разобраться и однозначно ответить на вопрос о различиях.
Ближайшие события
Наблюдаем за домом через Telegram
или отправляем в Телеграм фото и видео событий с IP видеорегистратора NetSurveillance - очередной Telegram-бот для домашнего видеонаблюдения
Ещё в 2021 году для пассивной охраны загородного дома, я приобрёл и установил китайский IP видеорегистратор (NVR - Network Video Recorder).
Каково это — работать с Netscape Composer в 2024 году
Как гик из начала 1990-х, который увлекался компьютерами с юных лет, я с почтением вспоминаю технологии конца того десятилетия и начала 2000-х.
Поэтому, когда в мои руки пару месяцев назад попал старый компьютер, я, недолго думая, установил на него Windows 98, чтобы поиграться с программами из моего детства. Среди интересовавших меня жемчужин был Netscape Communicator. Это программный пакет 1997 года, включавший Netscape Navigator — первый браузер, с которым мне довелось работать. В пакет также входил WYSIWYG-редактор Netscape Composer.
Через Netscape Composer я впервые познакомился с веб-разработкой. Ещё подростком я создавал с его помощью свои первые веб-страницы. В онлайн те страницы так и не попали, но я гордо таскал их с собой на дискете, показывая родственникам и друзьям на их компьютерах. Создавая эти страницы, я уяснил, что сайты состоят из простых файлов. Используя Netscape Composer, я также освоил основные веб-термины вроде «страница» и «гиперссылка».
Естественно, веб-ландшафт с тех пор сильно развился, и мне было любопытно снова попробовать это старое ПО, чтобы оценить его ограничения и посмотреть, как будет выглядеть генерируемый им код сегодня, в 2024 году. Первым делом мне нужна была цель. Я решил попробовать воссоздать домашнюю страницу своего личного сайта настолько точно, насколько позволит приложение. Такая цель выглядела разумной, поскольку у моего сайта довольно минималистичный дизайн и очень мало моментов, которые никак не реализуешь с помощью устаревшего инструмента.
Как мы применяем гибкую вёрстку для адаптива страниц под большие экраны
Привет! Меня зовут Оля и я расскажу о том, как мы при помощи гибкой вёрстки настроили отображение контента на широких экранах.
Эта статья будет полезна разработчикам веб-сайтов и послужит примером использования CSS при разработке адаптивности сайта для экранов свыше 1921 пикселей.
Децентрализованное доверие. 1. Гипотеза
Данная публикация - это приглашение к обсуждению концепции децентрализованных систем. Здесь только изучение интереса, обсуждение целесообразности и реализуемости.
Чтобы не грузить читателей абстракциями, попробую описать гипотетическую децентрализованную сеть через несколько прикладных задач.
Задача 1.
Вы потеряли ключ от ваших личных данных - кошелька, хранилища информации, мессенджера, аккаунтов соцсетей и т.д.
Необходимо вернуть доступ к данным.
Задача 2.
Технология Deepfake достигла совершенства, и вам надо отличить реального человека от мошенников или ботов для собственной безопасности.
PGConf.Russia #10 (2024)
Юбилейная - 10-я - конференция PGConf.Russia опередила юбилей компании (Postgres Professional исполнилось 9 лет). А самая первая - PGConf.Russia 2015 - даже опередила саму компанию: конференция прошла в феврале, а официальный день рождения Postgres Professional 1 апреля 2015.
Как мы в 2 раза ускорили решение MILP-проблем за счет ML
Многие задачи, с которыми мы имеем дело при цифровизации производства (неважно какого), – это задачи оптимизации: оптимизация производственного расписания, оптимизация цепочек поставок и размещения объектов, оптимизационное планирование и прочее. Многие из них сводятся к проблемам смешанного линейно-целочисленного типа (MILP – Mixed Integer Linear Problem). Конечно же мы хотим их решать быстрее и эффективнее, поэтому год назад начали разработку ML-модулей для этого. В этой статье мы познакомим вас с концептом одного такого модуля – для упрощения MILP методом обнуления переменных – и расскажем о том, насколько нам удалось с его помощью сократить время работы решателя.
Как закрыть весь техдолг автотестов за два дня «по-домашнему»
Привет, меня зовут Яна, я технический лидер тестирования Платежей и переводов Альфа-банка и сегодня мне бы хотелось поделиться с вами интересным опытом, который, в перспективе, можно использовать и как добрую традицию. Речь пойдет о мероприятии под названием «QA Automation Day».
Хабы
Вклад авторов
alizar 91664.8marks 24166.6ru_vds 19956.9alexzfort 14179.0XaocCPS 10986.2pronskiy 10649.4m1rko 10382.0ptsecurity 9585.7Andrey2008 9540.2Jeditobe 9387.6