Меня зовут Егор Харченко, я руководитель направления по развитию инфраструктурных сервисов и учета активов в «Лаборатории Касперского». Наш отдел отвечает за инфраструктурные сервисы, которые помогают жить и работать сотрудникам компании: корпоративную почту, unified communications, наше внутреннее облако, печать, рабочее место, антивирусную защиту и так далее. Ну и, конечно, мы отвечаем за учет всех материальных и нематериальных активов.
В статье я расскажу про наш опыт выстраивания взаимодействия с аудиторами, опишу паттерны ролевого поведения, а главное — объясню, как при этом извлечь максимальный профит для себя и своего отдела.
Читать далееКогда речь идет о браузерных расширениях для веб-тестирования, перед тестировщиком открывается огромное количество инструментов. Однако большинство из них (около 90%) предназначены исключительно для ручного тестирования. Лишь небольшая часть расширений помогает автоматизировать тестирование без навыков программирования, и совсем немногие действительно специализируются на поддержке автоматизированных тестов.
В этой статье я собрал лучшие расширения, которые будут полезны разработчикам автотестов для веб-приложений. Здесь не будет инструментов для нагрузочного тестирования, работы с API или узкоспециализированных расширений для конкретных фреймворков. Мы сосредоточимся только на тех, что максимально полезны широкому кругу специалистов по автоматизации тестирования.
Читать далееЯ написал BrainBox — local-first сервис поддержки open-source ИИ-систем для генерации изображений, распознавания объектов на снимках, озвучки, распознавания текстов, транскрибирования аудиозаписей и других целей. Эти системы запускаются за фасадом веб-сервера, который устанавливает их и затем принимает и выполняет задачи в едином для всех систем формате. Задачи можно ставить из любого языка программирования с помощью отправки веб-запросов на сервер, а для Python дополнительно разработан удобный API. Проект доступен на pypi https://pypi.org/project/kaia-brainbox/ с подробной документацией и инструкцией на английском языке. Я надеюсь, что BrainBox поможет тем, кто хочет сделать небольшой проект с использованием ИИ, но не хочет разбираться в питоне и торче, или просто не знает, с чего начать.
Читать далееВыбор подходящей системы управления базами данных (СУБД) — важнейшая задача при проектировании программных систем. Разработчики и архитекторы учитывают множество факторов: модель данных (реляционная или NoSQL), поддержку транзакций, масштабируемость, требования к согласованности и многого другое. Одним из ключевых архитектурных аспектов, влияющих на эффективность и надежность системы, является модель репликации данных. Репликация означает поддержание копий одних и тех же данных на нескольких узлах (серверах), соединённых по сети.
Зачем это нужно? Репликация позволяет: во-первых, держать данные ближе к пользователям (уменьшая задержку при запросах); во-вторых, продолжать работу системы даже при сбое отдельных узлов (повышая доступность); в-третьих, масштабировать систему, увеличивая число узлов для обслуживания запросов на чтение (повышая пропускную способность).
Однако реализация репликации сопряжена с серьёзными архитектурными компромиссами. Согласно теореме CAP, в распределённой системе невозможно одновременно гарантировать все три свойства: консистентность данных, доступность сервиса и устойчивость к разделению сети. При возникновении сетевых сбоев (разбиении на изолированные сегменты) системе приходится жертвовать либо мгновенной согласованностью данных, либо доступностью части узлов. Поэтому разные СУБД делают разные выборы в этих компромиссах. Архитектурная модель репликации, лежащая в основе СУБД, определяет, как база данных достигает (или не достигает) консистентности, доступности и отказоустойчивости. Понимание этих различий крайне важно для архитекторов и разработчиков: зная поведение репликации, вы сможете выбрать такую СУБД, которая лучше соответствует требованиям вашего проекта по масштабу, геораспределенности, допустимой задержке и устойчивости к сбоям.
Читать далееДобро пожаловать во вторую статью на тему RxJS! Если вы прочли первую часть, то, скорее всего, уже экспериментировали с from(), interval() и знакомились с элементарными операциями — фильтрацией и преобразованием данных. На этом фундаменте мы будем строить знакомство с более хитрыми инструментами, чтобы из просто «интересных экспериментов» RxJS превратился в реальный мощный инструмент для ваших проектов.
Обращаю Ваше внимание на то, что данный опус, как и прочие в этом цикле рассчитаны исключительно на новичков, никаких открытий, прорывов и "умных" мыслей для преисполнившихся здесь не предполагается. Все повествование строится на моём понимании того, как лучше построить процесс изучения обозначенной темы.
Читать далееВсем привет. Недавно я написал статью, как за год с нуля заработал миллион на ассетах для Unreal Engine. Для тех, кто хотел знать подробности моего опыта, пишу эту статью.
Читать далееПроблема оценки труда системных администраторов — одна из самых неоднозначных в IT-менеджменте. В отличие от разработчиков или продакт-менеджеров, чей вклад можно измерить метриками, эффективность сисадмина часто остается «невидимой» — пока всё работает, кажется, что он и не нужен. Но когда возникают проблемы, его роль становится критически важной.
Читать далееПосле предыдущей статьи о полезных штуках для линуксов, где речь шла преимущественно об опыте использования Manjaro, поступило предложение посмотреть российскую ОС — MSVSphere. Я зашел на сайт системы, посмотреть что это такое и глянуть картинки — смотрелось всё неплохо, поэтому решил попробовать установить при случае как‑нибудь потом, так как на основном ПК места под новые ОС уже не было.
Читать далееЯ начал заниматься баг-баунти три недели назад. Мой изначальный подход, основанный на прочитанной информации, заключался в том, чтобы искать уязвимости в VDP (программах раскрытия уязвимостей), чтобы получить приглашение в частные программы и избежать жесткой конкуренции, как в публичных программах.
Однако мне хотелось получить что-то взамен за свое время, ведь его у меня не так много. После того как я увидел, как несколько багхантеров делятся своими благодарственными письмами от NASA в X, я поставил себе новую цель...
Читать далееЗавтра у меня экзамен и я очень волнуюсь. Когда-то давно, еще до эпохи ИИ, тоже были экзамены и те, кто их сдавал, тоже волновались, как я сейчас.
Но я волнуюсь гораздо больше...Биржевые фонды — это один из самых популярных инструментов для инвестиций сегодня. Фонды являются главными друзьями опытных инвесторов, так как современные портфели составляются практически полностью из фондов, а не из отдельных бумаг. Если вы считаете фонды плохим инструментом для инвестора, то, скорее всего, вы ничего не знаете о них.
Читать далееИдея статьи родилась после прочтения многочисленных источников в интернете по барьерам и моделям памяти.Так же, был просмотрены соответствующие видео с разъяснением. Много где в целом всё достаточно хорошо разжевано. Статья не претендует на исчерпывающий материал. Скорее, это обзорное описание на тему модели памяти в связке с RISC-V. Не рассчитана на entry level, рекомендуется сперва почитать что нибудь вводное.
Навряд ли кому то необходимо детальное знание внутренней архитектуры процессора на уровне RTL (register-transfer level), как и глубокого понимания принципов модели памяти, согласованности. Да и обычно вся эта информация берется из соответствующей литературе от производителя, других книгах по оптимизации. Предполагаю, что авторы в том или ином виде могу знать более глубокие вещи, чем представлены в открытых источниках. Возможно, они работали в компании производителя (Intel, например), общение, конференции, сообщества.
Но может ли быть источник лучший, чем исходники CPU? Навряд ли. Вы не найдете в открытом доступе исходники процессоров Intel, AMD и любых других. ARM за это денежки получает, продавая права на архитектуру и готовые спроектированные блоки. А вот для RISC-V такой источник есть - исходники полноценного суперскалярного out-of-order процессора от Berkley.
Не так давно был разработан язык Chisel на замену Verilog и аналогов. Он на базе Scala. А, так как это Scala, мы можем использовать IDE и внятную навигацию по исходникам. Но в исходники просто так не пойдешь, сперва надо приобрести необходимые фундаментальные знания, чтобы понимать в целом что такое разработка на уровне RTL. Неплохо бы разобраться с Verilog и с базовыми понятиями - всякие там защелки, регистры, мультиплексоры и тп. Это я и решил сделать и начал с книги “Паттерсон, Хеннесси: Архитектура компьютера и проектирование компьютерных систем”. Она безумно крутая и очень понятная. Затем прочитал несколько книг по FPGA и Verilog и даже купил учебную FPGA плату, но руки до неё так и не дошли. Это позволило сформировать для себя какую то необходимую картину того, как функционирует CPU, как происходит проектирование микроконтроллеров.
Читать далееВ статье рассматривается подход к построению архитектуры сервиса с использованием языка Go для продуктовых команд, ориентированных на решение бизнес-задач. Особое внимание уделяется вопросам выделения слоев в приложении и обеспечению низкой связанности между ними.
Читать далее18 и 19 апреля состоится XIII международная IT-конференция «Стачка». 4 направления, 46 секций, 250+ докладов, 2500+ участников, специальный гость и лидеры индустрии. Всё это на одной площадке в Ульяновске (здание УлГПУ). Рассказываем подробнее, что вас ждёт.
Читать далееВ данной статье будет рассмотрен порядок настройки DHCP-сервера на операционной системе Ubuntu Server. Настройка будет производиться на Ubuntu Server (будет использоваться в качестве роутера).
Для настройки DHCP-сервера рекомендуется сначала создать копию оригинального конфигурационного файла:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
Очистить содержимое конфигурационного файла, вписав:
sudo sh -c "cat /dev/null > /etc/dhcp/dhcpd.conf"
Используя текстовый редактор nano отредактировать файл:
sudo nano /etc/dhcp/dhcpd.conf
Читать далееПривет! На связи Ксюша – автор статей в блоге «IT для детей». Пишу о дополнительном обучении современных ребят, стараюсь рассказывать просто о сложном и делаю это в первую очередь для школьников, интересующихся айти-курсами, и для поддерживающих их стремления родителей.
Сегодня хочу рассказать о том, почему научиться писать код в шестом классе – это вполне реально, а также отметить вещи, которые помогут увлечь ребенка. Дополнительно и по уже сложившейся традиции предложила случайные варианты курсов, краткие аналитические сведения о которых представила в конце.
Читать далееАнализируя влияние ИИ на современное общество, можно провести аналогию с появлением огнестрельного оружия. Изначально оно не превосходило луки и арбалеты по дальности, скорости или пробивной силе. Однако его ключевое преимущество заключалось в экономической доступности. Огнестрел удешевил военное дело: солдат с трехмесячной подготовкой мог конкурировать с профессиональным воином, чьи навыки и экипировка требовали десятилетий тренировок и огромных затрат. Подобным образом сейчас ИИ трансформирует рынок труда, снижая зависимость от человеческого опыта и перераспределяя роли в профессиональной сфере.
Читать далееНесмотря на то, что использование паролей не является надежным методом аутентификации, они широко распространены при работе с различными сервисами и программами. Сегодня все больше пользователей сталкивается с необходимостью управлять десятками, а порой и сотнями паролей от различных сервисов. Хранить их в заметках, в личных сообщениях или в браузере не только неудобно, но и небезопасно. Чтобы решить данную проблему существуют специальные типы программ, которые помимо хранения обеспечивают защиту конфиденциальных данных предоставляя место, где они будут в безопасности. На рынке присутствуют десятки различных программ для администрирования паролей. Сегодня мы проведем подробный разбор программ для хранения паролей и разберем их основной функционал.
Читать далееВ начале XX века в Англии сложилась интересная ситуация: почта работала ну очень быстро, и открытки можно было доставить до адресата в течение дня. Отправлять карточки было дешевле и удобнее, чем традиционные письма, поэтому их стали использовать для передачи коротких сообщений, а потом и для обмена популярными образами своего времени. По сути они превратились в аналог современных социальных сетей и мессенджеров.
Надо ли говорить, что открытки с котиками пользовались максимальным спросом! Но недовольных тоже было немало. Газеты и общество били тревогу: скоро все вообще разучатся писать длинные тексты и формулировать мысли. К тому же больше никакой приватности: открытки не упаковывали в конверты, а значит, текст могла увидеть прислуга. Инфраструктура тоже трещала по швам: мешки почтальонов переполнялись огромным количество открыток, а это вело к травмам и потере важных сообщений.
Что-то все это напоминает, не правда ли? Технологии меняются быстро, а вот люди — не очень. Все это и обсудим дальше.
Читать далее