Привет, Хаброжители!
Большинство книг об алгоритмах фокусируются на нотации «О большое» и основных принципах проектирования, однако эта книга предлагает уникальный подход, выводя разработку и анализ на уровень предсказуемой практической эффективности. В ней обсуждаются базовые и классические алгоритмические задачи, возникающие при создании приложений больших данных, для которых демонстрируются элегантные решения постепенно возрастающей сложности. Анализ решений дается в рамках как классической RAM-модели, так и более значимой с практической точки зрения модели с использованием внешней памяти, позволяющей оценивать сложность ввода-вывода.
В книге рассматриваются различные типы данных, включая целые числа, строки, деревья и графы, разные алгоритмические инструменты, такие как выборка, сортировка, сжатие данных и поиск по словарям и текстам. Наконец, вы найдете здесь информацию о последних разработках, связанных со сжатыми структурами данных. Алгоритмические решения сопровождаются подробным псевдокодом и множеством работающих примеров, что позволит обогатить инструментарий студентов, исследователей и профессионалов, заинтересованных в результативной и экономичной обработке больших данных.
Когда-то бизнес-аналитик ассоциировался с человеком, который «пишет ТЗ». Сегодня этого явно недостаточно. Современный БА — это стратег, коммуникатор и системный мыслитель, который одинаково уверенно чувствует себя в бизнес-контексте и технических деталях. Чтобы не застрять в прошлом, важно понимать, как эволюционирует роль аналитика и какие компетенции становятся критически важными.
Привет, Хабр! Я Любовь Кулева, руководитель отдела разработки и методологии Учебного центра IBS. За последний год мы выпустили две полноценные «дорожные карты развития» — для системного аналитика и для архитектора ПО. В этой статье мы с практикующими экспертами собрали навыки, которые превращают бизнес-аналитика в того, за кем бегают рекрутеры.
Читать далееКоманда Python for Devs подготовила перевод статьи о новых фоновых задачах в Django 6.0. Фреймворк наконец получил встроенный API для очередей задач — но без воркеров, так что чудес пока ждать рано. Автор показывает, зачем это обновление всё равно важно, как оно работает внутри и что можно построить поверх него уже сегодня.
Читать далееПришло время для традиционного ежемесячного обзора «классических» и нетривиальных ИБ-инцидентов. В ноябрьской программе: мстительный бывший устроил саботаж в ИТ-инфраструктуре работодателя, Intel в очередной раз столкнулась с утечкой конфиденциальных данных, а сотрудники японского медиахолдинга опять не распознали фишинг.
Читать далее1. Введение.
Все более широкое распространение нейродегенеративных заболеваний является актуальной проблемой нашего общества. Наибольшее распространение получила болезнь Альцгеймера(БА). В настоящее время число больных с диагностированным заболеванием по данным всемирной организации здравоохранения превышает 60 млн. и данное заболевание вышло на 5 место в общем рейтинге причин смертности. Можно сказать, что число 60 миллионов в абсолютном значении не сильно велико, и составляет всего 0,86% от всей численности населения, но проблему представляет все ускоряющийся ежегодный прирост заболевших и прогнозы демографов о предстоящем неуклонном старении населения в развитых странах, так-как пожилой возраст является ключевым фактором развития БА. Нахождение причин данного заболевания – ключевая задача мировой нейробиологии. Несмотря на вековую историю исследований, пока значительного прогресса добиться не удалось. В данной статье я предлагаю новую гипотезу, которая может помочь в обнаружении причин развития БА. Основу гипотезы составляет понимание о различной нейроэффективности мозга у людей, что и приводит к разному времени проявления болезни Альцгеймера. /
2. Причины болезни Альцгеймера? .
Рассмотрим , что удалось выяснить про БА к настоящему времени. Достоверно известно, что возраст является ключевой причиной возникновения БА. После 65 лет вероятность проявления симптоматики равна 10-12% после 85 лет – 40-50% соответственно.
Читать дальше.Иногда в процессе разработки внезапно выясняется, что привычные подходы к тестированию перестают работать: автотесты громоздкие, данные — одноразовые и неудобные, а тестовые фреймворки уже не спасают. В такой момент команда или буксует, или придумывает что-то новое.
Привет, Хабр! Меня зовут Владимир, я SDET-специалист в компании SimbirSoft. В этой статье хочу рассказать, как мы решали проблемы тестирования не традиционным написанием автотестов, а созданием собственных REST-сервисов: сервиса генерации данных и сервиса, ассистирующего тестам.
Читать далееВ предыдущей статье я подключил веб-камеру, одноплатный компьютер Orange Pi Zero H+, драйвер двигателей L298N, светодиод (LED) и пауэрбанк к гусеничному шасси. Я написал код для LED, который используется в роли индикатора подключения. Также добавил обработку ошибок для линий GPIO. Я успешно протестировал управление роботом без веб-камеры, который прошёл небольшую полосу препятствий.
В этой статье я встрою команды для работы с веб-камерой в код сервиса робота. Wi-Fi антенна будет заменена на более крупную, что обеспечит более стабильный приём сигнала. Кроме того, я расширю управление, добавив поддержку клавиш клавиатуры — это позволит удобнее управлять роботом с ноутбука или ПК. После этих улучшений я поуправляю роботом от первого лица, наблюдая за происходящим через веб-камеру, и пройду более сложную полосу препятствий.
Статья будет полезна любителям DIY-проектов и веб-разработчикам, интересующимся фреймворком FastAPI.
Читать далееТолько представьте: вы покупаете б/у жесткий диск, а там — пароли от корпоративной почты, базы клиентов известной компании и договоры с поставщиками. Звучит как страшилка для тренинга по информационной безопасности, но это реальность.
Мы провели эксперимент: купили несколько списанных корпоративных дисков на торгах по банкротству и онлайн-барахолке, взяли бесплатную программу с открытым исходным кодом, которую может скачать любой школьник, и… восстановили с них данные реальных компаний — от небольшой транспортной фирмы до гигантской корпорации. Одну из утечек мы расследовали по горячим следам: приобрели у продавца ещё двадцать дисков, встретились с ним лично, выяснили источник и передали всю информацию службе безопасности компании.
Хотите узнать, как легко купить чужие секреты и почему компании продолжают их выбрасывать в 2025 году? Рассказываем подробно.
Читать далееIT-специалистов разных мастей на текущий момент много. Сначала этому способствовал общий престиж отрасли на старте, затем - зарплаты разработчиков, которые ощутимо отличались от средних по рынку, потом был бум с откровенным «пылесосеньем» спецов со стороны крупных банков и бигтеха, а вишенкой (возможно, не самой полезной) стало засилье курсов для желающих «войти в айти», которые обещали вход в специальность и высокую зарплату чуть ли не за пару месяцев с нуля.
В последние несколько лет ситуация меняется из-за откровенной перегретости рынка, местами искусственной раздутостью штата в разных компаниях и других факторов.
Но в этой статье мы хотим обсудить не количественный состав ИТ в целом, а, скорее, психологический климат в разных сферах работы. Для примера сравним, пожалуй, самые распространенные отрасли для ИТ, финтех и бигтех, с теми, что на слуху куда меньше - с девелопментом, туризмом и спортом. К слову, ситуация скоро может измениться, как минимум в плане девелопмента.
Во-первых, сами девелоперы осознают, что использование цифровых инструментов для них становится насущной необходимостью (что всем привычных, что и созданных специально для отрасли). Во-вторых, намечается и поддерживающий тренд со стороны государства - для строительной отрасли создают единое информационное пространство, уже запущена стартовая версия «Отраслевой платформы данных строительной отрасли». Вполне вероятно, что уже в ближайшее время поток айтишников, стремящихся в девелопмент, возрастет.
Читать далееВсем привет! В этой статье поговорим про бэкапы PostgreSQL в Kubernetes через призму самого популярного опенсорс-оператора для этой СУБД — CloudNativePG. Мы расскажем о том, как внедрение нового решения на основе WAL-G позволило ускорить резервное копирование и восстановление больших баз данных и поделимся своим опытом доработки CloudNativePG.
На связи Иван Архипов, ведущий разработчик в команде платформы данных в Yandex Cloud, и я приглашаю под кат всех, кому интересна эксплуатация PostgreSQL в Kubernetes!
Читать далееПривет, Хабр! Меня зовут Эдуард, и сегодня я хочу рассказать о своём проекте Kabardian Translator — локальном переводчике с озвучкой для кабардинского языка. Эта история началась с сотрудничества с командой Silero TTS и превратилась в инструмент, который, надеюсь, поможет соотечественникам за границей учить родной язык.
Читать далееПривет, Хабр! Я Дмитрий Смотров, тружусь бэкендером в Astra Linux в команде продукта ACM — микросервисной системе, разворачиваемой на клиентских мощностях. Мы позволяем удаленно управлять клиентской инфраструктурой. Сначала я разрабатывал функциональность снятия инвентаризации и удаленного выполнения команд установки и удаления ПО, но в один момент моя жизнь резко изменилась. На проекте возникла необходимость в функциональности красивой и настраиваемой отчетности, в чем я увидел возможность проверить себя в новой для себя области. Я вызвался разобраться и помочь продукту стать еще лучше.
Под катом расскажу о том, с какими трудностями столкнулся в процессе, как я их решал и что в итоге получилось. Приятного чтения :)
Читать далееВ комментариях к предыдущей статье многие писали:
«Я не буду доверять какому-то боту» «Любой сторонний сервис — риск» «Номер можно подменить»
Это нормальная и абсолютно здравая позиция.
Поэтому в этой статье — максимально честный и технически конкретный разбор:
Пока у нас бомбит от блокировок WhatsApp, в конце ноября взорвалась единственная площадка для пилотируемых пусков на Байконуре. Разбор причин аварии, и как Хабр выдал пророчество о грядущей катастрофе.
Читать далееКакова вероятность угадать пин-код с первой попытки? А выиграть в лотерею? Многие помнят со школы страшные формулы с факториалами (, ), но мало кто помнит, когда и какую применять. В итоге простые задачи про урны с шарами превращаются в ночной кошмар.
Читать далееМеня зовут Андрей Серебрянский, и я люблю Apache Kafka. И гарантии доставки exactly once. И рассказывать обо всём этом на конференциях. Пять лет я строил платформы потоковой обработки данных в финтехе, а теперь вместе с командой работаю над YDB Topics: частью YDB (СУБД Яндекса), которая заменяет Apache Kafka в роли брокера сообщений. СУБД Яндекса уже некоторое время поддерживает Apache Kafka API. Недавно мы расширили этот API, добавив поддержку Kafka-транзакций.
Но наличия транзакций в брокере сообщений недостаточно для получения гарантий exactly once. Чтобы неудачно зависший или перезагрузившийся сервер не привёл к дублированию или потере сообщений, нужно хорошо понимать, как именно работают транзакции в брокерах сообщений вообще и в Apache Kafka в частности.
Эта статья будет полезна начинающим разработчикам и тем, кто хочет освежить знания или разобраться в тонкостях exactly once обработки данных с помощью YDB Topics или других брокеров сообщений.
Читать далееЧтобы продвигать свои новые продукты среди людей, которые не мечтали о собственном компьютере в течение многих лет, создатели второй волны микрокомпьютеров должны были прямо ответить на вопрос, для чего на самом деле нужен микрокомпьютер. В чём заключалась его ценность, если не в том, чтобы служить игрушкой для увлечённых компьютерами энтузиастов? Чтобы ответить на этот вопрос, они сделали несколько изобретательных набросков о том, как каким образом может компьютер помочь в повседневной домашней жизни. Они также использовали символическую силу компьютера. К 1977 году атомная энергетика и ракетостроение начали терять блеск своих славных дней 1950-х и 1960-х годов — компьютер стал символом прогресса, движущей силой ещё не завершившегося следующего этапа современности.
Некоторые из первых пользователей, несомненно, покупали компьютеры, руководствуясь этой перспективой, убеждённые, что наличие компьютера в доме каким-то образом лучше подготовит их детей к будущему. Другие находили удовольствие в программировании компьютера, не имея дела с аппаратным обеспечением.
Но большая часть аудитории, не являвшаяся любителями, на которую рассчитывали продавцы компьютеров, хотела покупать программное обеспечение для своих компьютеров, а не писать его. Производители компьютеров пытались удовлетворить эту потребность, создавая собственные библиотеки программного обеспечения, но они всегда были ограничены как по объёму, так и по качеству. К счастью для них, доступность дешёвых и простых в использовании компьютеров подготовила почву для появления большого числа сторонних производителей программного обеспечения. Их самые популярные продукты делились на две очень разные категории: бизнес-программы для создания цифровых рабочих артефактов и игровое программное обеспечение для развлечения. Чтобы удовлетворить рыночный спрос на каждую из этих категорий, производители компьютеров разработали две новые категории продуктов: высокопроизводительные бизнес-компьютеры и простые недорогие компьютеры, предназначенные в основном для игр.
Читать далееКриптовалютный рынок переживает не лучшие времена: недавняя ликвидация маржинальных позиций на сумму более $19 млрд, массовый отток средств из Bitcoin и Ethereum ETF и общий дефицит ликвидности сигнализируют о серьёзных системных проблемах.
В ночь с 30 ноября на 1 декабря на рынке произошла очередная масштабная коррекция: Bitcoin просел более чем на 6%, а альткоины скорректировались на 10%. Причина этого обвала оказалась далеко не тривиальной.
Читать далееПривет, Хабр!
В этой статье рассмотрим, как масштабировать UI-автотесты с помощью Java.
Если у вас десяток тестов, проблем не возникнет, они бегают шустро и всем довольны. Но представьте абстрактный проект интернет-банка или маркетплейса, функциональность растёт, количество автотестов идёт на сотни (а то и тысячи). Последовательный запуск такой тестовой свиты может занять довольно большое время. Каждый релиз начинает тормозиться ожиданием результатов автотестов.
Масштабирование тестов решает эту проблему: запускаем тесты параллельно, сокращаем время прогона и получаем быстрый фидбэк о качестве.
Читать далееКак обезопасить себя от атак по этому вектору, за которым плохо следят
Безопасность API — «отличный вход» в карьеру пентестера, считает Кори Дж. Болл, эксперт в отрасли.
ИНТЕРВЬЮ. Обеспечение безопасности веб-API требует иного подхода, чем классическое обеспечение безопасности веб-приложений, поскольку стандартные тесты обычно упускают наиболее распространённые уязвимости, возникающие при работе с API.
Именно так считает эксперт по безопасности API Кори Дж. Болл, предупреждающий, что методы, не откалиброванные на работу с веб-API, могут давать пентестеру слишком много ложноотрицательных результатов.
Болл начинал осваивать искусство пентестинга веб-приложений ещё в 2015 году по хакерским книгам, а также ресурсам HackTheBox и VulnHub. Далее он оттачивал навыки работы с компьютерами, пользуясь Cold Fusion, WordPress, Apache Tomcat и другими веб-приложениями, ориентированными на использование на большом предприятии.
Читать далее