Социальные сети Рунета
Воскресенье, 12 мая 2024

Книга «C++ для начинающих. 2-е изд." Привет, Хаброжители! Книга Герберта Шилдта начиная с таких базовых понятий языка, как типы данных, массивы, строки, указатели и функции, книга охватывает также важнейшие элементы объектно-ориентированного программирования — классы и объекты, наследование, виртуальные функц...

Книга «100 ошибок Go и как их избежать» Привет, Хаброжители! Лучший способ улучшить код — понять и исправить ошибки, сделанные при его написании. В этой уникальной книге проанализированы 100 типичных ошибок и неэффективных приемов в Go-приложениях. Вы научитесь писать идиоматичный и выразительный код на Go, раз...

Книга «Основы компиляции: инкрементный подход» Привет, Хаброжители! Компиляторы традиционно считаются одной из самых трудных для понимания и изучения тем. Обычно в книгах каждая глава посвящена отдельному проходу компилятора. Но такая структура не позволяет раскрыть, как языковые средства влияют на решения, принимаемые...

Книга «Дизайн-мышление для роста бизнеса: проектирование и масштабирование бизнес-моделей и экосистем» Привет, Хаброжители! Книга содержит принципиально новый подход к проектированию и масштабированию бизнес-моделей и экосистем. Михаэль Леврик описывает комплексную процедурную модель для проектирования, развития и внедрения бизнес-экосистем. А также рассказывает о наиболее ...

Книга «Объектно-ориентированный Python, 4-е изд.» Привет, Хаброжители! Глубоко погрузитесь в различные аспекты объектно-ориентированного программирования на Python, паттерны проектирования, приемы манипулирования данными и вопросы тестирования сложных объектно-ориентированных систем. Обсуждение всех понятий подкрепляетс...

Книга «Python с нуля» Привет, Хаброжители! Эта книга даст вам основные знания и инструменты, которые помогут стать опытным разработчиком на Python. Эта книга приглашает вас в путешествие по огромному миру Python и охватывает все — от самых основ до более продвинутых тем, таких как наука о данн...

[Перевод] Распаковываем архив gzip вручную. Часть 2 В этой части мы, как и в первой, разархивируем файл gzip вручную, но теперь ещё и декодируем коды Хаффмана. Для начала запишем данные на диск: $ echo "hector the frantic father on an anchor or a rare fat cat sat on the ranch" > test-huff.txt $ xxd test-huff.t...

Книга рецептов Rust. 1/2 Hello world! Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust. Читать дальше →

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Книга «Продвинутые алгоритмы и структуры данных» Привет, Хаброжители! Познакомьтесь с самыми необходимыми алгоритмами решения сложных задач программирования в области анализа данных, машинного обучения и графов. Вы постоянно сталкиваетесь с бесчисленными проблемами программирования, которые поначалу кажутся запутанными...

Экстремальные практики программирования: что, как и зачем Всем привет! Меня зовут Сергей Бережной, я работаю в Яндексе уже 18 лет: в 2005 году пришёл разработчиком интерфейсов, потом руководил подразделениями разного размера, а сейчас я директор по взаимодействию с разработчиками. Ещё я много занимаюсь обучением: в рамках наших сез...

Книга «Искусство Agile-разработки. Теория и практика гибкой разработки ПО» Привет, Хаброжители! Большинство компаний, разрабатывающих ПО, якобы используют Agile, но на самом деле не понимают, что это такое Agile. Хотите повысить гибкость своей команды? В книге вы найдете четкие, конкретные и подробные рекомендации о том, что, как и почему следует...

Как сделать чат-бота лучше, нужен всего лишь простой советский… RAGAS В вводной части обзора мы познакомились с концепцией Retrieval Augmented Generation (RAG) и её расширением через методологию RAGAS (Retrieval Augmented Generation Automated Scoring). Мы разобрались, как RAGAS подходит к процессу оценки эффективности и точности RAG-систем.В ...

Методы очистки данных в Pandas Привет, Хабр!Аналитики данных часто сталкиваются с грязными данными, которые могут существенно замедлить процесс анализа. Грязны данные – это пропущенные значения, дубликаты, неконсистентные данные. Пропущенные значения заставляют нас гадать, что же было замыслено нашим колл...

Книга «Грокаем функциональное программирование» Привет, Хаброжители! Вам кажется, что функциональное программирование — это нечто сложное, доступное только гуру программирования? Эта книга развенчает миф об элитарности и позволит любому программисту с легкостью разобраться в хитросплетениях кода. От знакомых и простых ...

[Перевод] Шардирование баз данных и проектирование систем Шардирование базы данных — это процесс её разделения на несколько машин, что способствует масштабируемости приложения. Механизм шардирования предполагает разбиение данных на два или более мелких фрагмента, называемых логическими шардами. Затем логические блоки распределяют...

Фильтр нецензурной лексики за 5 минут Привет, Хабр. Для одного из моих проектов мне понадобилось сделать фильтр мата. Сегодня мы попытаемся сделать его за несколько минут. Ну что же, приступим. Анализирование Сперва я должен бы как-то разбивать текст на части, чтобы потом сравнивать его с нецензурной лексикой....

Книга «Настоящий CTO: думай как технический директор» Привет, Хаброжители! Технический директор (CTO) находит баланс между потребностями бизнеса и постоянно развивающимся миром технологий. Развейте навыки и мышление, необходимые, чтобы взять на себя эту важную роль и стать успешным лидером. Автор приводит мнения отраслевых эк...

Книга «Эволюционная архитектура. Автоматизированное управление программным обеспечением. 2-е межд. изд.» Привет, Хаброжители! Новые инструменты, фреймворки методики и парадигмы вновь и вновь меняют экосистему разработки программного обеспечения. Непрерывный прогресс основных практик разработки на протяжении последних пяти лет заставил искать новые пути и подходы к архитектуре...

Плэнер — язык логического программирования для ИИ: что из него получилось Боты под управлением системы GOAP (Goal Oriented Action Planning), источник Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом...

Книга: «Креативный программист» Привет, Хаброжители! Подобно написанию музыки, созданию нового бизнеса или планированию маркетинговой кампании, программирование является творческой деятельностью. Так же как и техническим навыкам, креативности можно научиться и улучшать ее, постоянно практикуясь! Вооружит...

Книга «System Design. Машинное обучение. Подготовка к сложному интервью» Привет, Хаброжители! Собеседования по проектированию систем машинного обучения — самые сложные. Если нужно подготовиться к такому, книга создана специально для вас. Также она поможет всем, кто интересуется проектированием систем МО, будь то новички или опытные инженеры. ...

[Перевод] Архитектурные ката: отсекаем всё лишнее в Agile Один из самых естественных треков развития для программиста – стремиться стать программным архитектором. Проектирование систем – непростое дело, а для того, чтобы построить сложную систему, нужно как быть экспертом-технарём, так и обладать опытом в предметной области. На н...

Как в России в XIX веке компьютер изобрели Компьютер придумал русский учёный Семён Корсаков в первой половине XIX века. Что? Да! И теоретическое обоснование к изобретению искусственного интеллекта впервые подвёл тоже он. «Как микроскоп и телескоп усилили наши чувства, так и интеллектуальные машины могут усиливать наш...

Держись, Маша! Ты, ведь, наша! Продолжение разбора книги «Цифровая схемотехника и архитектура компьютера» Упомянутая в заглавии книга (далее H&H) - это про железо [15]. Я - про программирование, но на базе "железной модели" конечного автомата. И там и там математическая основа одна. Все это, действительно, крутая железная концепция, помогающая поставить не только синтез цифр...

Книга «Тестирование веб-API» Привет, Хаброжители! Веб-интерфейсы — лицо приложения, и они должны быть совершенными. Внедрение программы автоматизированного тестирования — лучший способ убедиться, что ваши API готовы к работе. «Тестирование веб-API» — это уникальное практическое руководство, включающее...

Инженерный калькулятор на C++. Часть 2: Алгоритм сортировочной станции Всем маткульт-привет! В этой статье мы продолжаем и заканчиваем написание консольного инженерного калькулятора. В прошлой части мы научились разбивать исходное математическое выражение формата (log2(18)/3.14)*sqrt(0.11^(-3)/0.02)на токены. На выходе мы получаем массив токено...

[Перевод] Что нужно знать, чтобы успешно пройти System Design Interview Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) вклю...

Самый простой и подробный гайд по конкурентным коллекциям в C# Когда несколько потоков обращаются к общим ресурсам, должна быть обеспечена потокобезопасность, чтобы избежать повреждения данных и неожиданного поведения. Конкурентные коллекции в C# предлагают встроенные механизмы для обработки конкурентного доступа, что делает их мощны...

Как подойти к внедрению DWH, чтобы не было «больно»? Какие методологии использовать и какой стек выбрать? В статье рассказываем о том, кому стоит задуматься о внедрении DWH, как сократить вероятность ошибок на этапе разработки проекта, выбрать стек, методологию и сэкономить ИТ-бюджеты.  Читать далее

Книга «Software Dynamics: оптимизация производительности программного обеспечения» Привет, Хаброжители! Программное обеспечение — начиная с мобильных и облачных приложений, заканчивая видеоиграми и системами управления автономным транспортом — становится все более и более ограниченным по времени. Оно должно обеспечивать надежные результаты плавно, послед...

Книга «Terraform: инфраструктура на уровне кода. 3-е межд. изд.» Привет, Хаброжители! Terraform — настоящая звезда в мире DevOps. Эта технология позволяет управлять облачной инфраструктурой как кодом (IaC) на облачных платформах и платформах виртуализации, включая AWS, Google Cloud, Azure и др. Третье издание было полностью переработано...

Теперь ещё сильнее похож на собаку. Робот Spot танцует в новом видео от Boston Dynamics Компания Boston Dynamics поделилась видео, на котором робот Spot, похожий на собаку, танцует в костюме собаки (Sparkles). Клип, в котором робот в костюме Sparkles активно двигается рядом с обычным Spot, был снят к Международному дню танца 29 апреля. «Sparkles &mda...

[Перевод] Книга «Грокаем машинное обучение» Привет, Хаброжители! Машинное обучение — это набор методов анализа данных, основанных на алгоритмах, которые дают все более точные результаты по мере поступления новых данных. Машинное обучение лежит в основе систем рекомендаций, программ распознавания лиц, «умных» колонок ...

Базовые принципы и практики разработки чистого кода Культовый разработчик Кент Бек сформулировал принципы написания ПО, которые в вольном изложении звучат приблизительно так:1. Заставь код работать.2. Сделай его понятным.3. Оптимизируй для лучшей производительности.Этим основам не один десяток лет, однако джуны (да и старшие ...

[Перевод] Когда парное программирование не работает Экстремальное программирование включает более 10 разнообразных приемов — TDD, игра в планирование, «заказчик всегда рядом» и т.д. Сегодня речь пойдет о парном программировании. Предлагаем читателям блога beeline cloud поделиться своим мнением об этом приеме! Практиковали ли ...

[Перевод] Применение чистой архитектуры в Go Одна из проблем, с которыми мне часто доводится сталкиваться в различных софтверных проектов — это сильная связанность кода, при которой в него так сложно вносить даже простые изменения, не провоцируя нежелательных побочных эффектов. Дело в том, что программисты склонны со...

[Перевод] Как вручную протестировать веб-API Ранее я рассказывал об основных понятиях и терминологии API. В этой статье я покажу, как применить эти знания и попробовать API с помощью тестирования вручную. Читать дальше →

Scala: структура данных в пространстве типов — множество Система типов Scala 3 позволяет конструировать вторичные структуры данных в пространстве типов. Ярким примером таких структур может выступать HList, впоследствии ставший основой реализации кортежей. Кортежи в Scala 3 стали весьма гибким инструментом, позволяющим захватить в ...

Я написал бесплатную книгу для профессионалов в области AI (и не только) Привет, Хабр! Меня зовут Никита Горячев, работаю в позиции AI/ML Engineer в Сбере. В мой скоуп входит работа с SOTA (state-of-the-art) алгоритмами в областях NLP и RecSys. Книга написана в форме Guide Book с теоретическими и практическими заданиями. Ниже написал анонс в виде...

Code smell: когда код плохо пахнет Программный код, будучи по факту виртуальной сущностью не может иметь запах в прямом смысле этого слова. Однако, термин “запах кода” (code smell) некоторое время назад был введен Кентом Беком и популяризирован книгой Мартина Фаулера о рефакторинге (Refactoring: Improving the...

[Перевод] Моя любимая задачка по программированию для кодинг-интервью За время работы в Google я провёл более двух сотен интервью. И главное, что я вынес из этой работы — проводить качественные собеседования очень непросто. Все дело в сигналах, которые мы посылаем и получаем. И у интервьюера, и у самого кандидата есть меньше часа, чтобы выложи...

Зачем в школах изучать Pascal, если самый популярный язык программирования в мире — JavaScript? Проблема «учим одно, а на практике требуется другое» хорошо известна. Но не слишком ли большие ожидания связаны с уроками по информатике? Или есть ожидание того, что после уроков музыки дети будут музыкантами, труда — мастерами, а рисования — художниками? Зачем вообще привяз...

От советских компиляторов до грязных трюков: что поведают на C++ Russia 2024 Завсегдатаи C++ Russia уже хорошо знают некоторых спикеров и ждут их новых докладов. Например, Антона Полухина @antoshkkaa): в 2020-м все смотрели его «Грязные трюки из такси», а недавно — «C++ трюки из userver». Из необычного — серия докладов Петра Советова об автоматизации...

Правильный подход к модульной архитектуре Эта статья строится на двух простых идеях:• Каждое решение при проектировании программного продукта определяет пространство возможных вариантов на более поздних этапах. Это критически важно для понимания того, как и в какой последовательности стоит подходить к принятию ...

Используем паттерн Decorator в Bitrix Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. В статье я покажу на примере, как можно использовать паттерн Decorator.А также рассмотрю этот паттерн в целом: его распространенные реали...

Как построить работу над кодом Чтобы всем было удобно его писать, обсуждать и рефакторить — без распухшего бэклога и лица девопса.Мне кажется, что если спросить 10 случайных разработчиков о том, как у них в командах устроена работа над кодом, то в 9 случаев ответ будет «Ну, как придётся. Как привыкли!».Эт...

Правило 16 байт: развенчиваем миф о производительности структур в C# По умолчанию, при передаче в метод или при возврате из метода, экземпляры значимых типов копируются, когда как экземпляры ссылочных типов передаются по ссылке. В 2008 году была выпущена книга «Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET L...

Квантовый компьютер установил рекорд по количеству «логических квантовых битов» Команда исследователей из компании QuEra и Гарвардского университета побила рекорды, создав квантовый компьютер с самым большим количеством логических кубитов, которое когда-либо было достигнуто. В отличие от стандартных кубитов, логические кубиты обеспечивают превосходную к...

Книга «React быстро. 2-е межд. изд.» Привет, Хаброжители! React предельно упрощает создание привлекательных и надежных интерфейсов для веб-приложений. Эта великолепная библиотека JavaScript имеет модульную архитектуру, что позволяет легко создавать, объединять и тестировать компоненты. React идеально подходит...

Паттерны Singleton и Multiton в Java: когда и какой лучше? Привет, Хабр!Паттерн Singleton гарантирует существование лишь одного экземпляра класса и предоставляет к нему глобальную точку доступа. Этот паттерн стал почти синонимом чистоты кода в многих сценариях работы с Java, где требуется строго один экземпляр объекта. Но не менее и...

Астрономическое исследование рассказывает о взаимодействии звёзд Млечного Пути с кометами Солнечной системы Астрономы из Университета Поля Сабатье во Франции исследовали возможное влияние ближайших звёзд Млечного Пути на Солнечную систему. Они использовали базу данных SIMBAD, которая содержит информацию о звёздных параллаксах и собственных движениях из спутника Gaia, для поис...

Книга «Разработка приложений на базе GPT-4 и ChatGPT» Привет, Хаброжители! Эта небольшая книга представляет собой подробное руководство для разработчиков на Python, желающих научиться создавать приложения с использованием больших языковых моделей. Авторы расскажут об основных возможностях и преимуществах GPT-4 и ChatGPT, а та...

Книга «Путь 1С-разработки. Не спеша, эффективно и правильно» Привет, Хаброжители! Книга Никиты Зайцева aka WildHare — пример того, как можно систематизировать и упаковать в текстовый формат профессиональный опыт, накопленный за почти двадцать пять лет успешной инженерной практики. Познакомьтесь с концепцией разработки прикладного ПО...

Протоколы семейства TCP/IP. Теория и практика В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур ...

Импортозамещение которое мы потеряли: советские ЯП и их создатели (часть 2) В комментах к предыдущей части некоторые читатели предложили рассказать о ещё нескольких ЯП, которые сыграли значительную роль для развития программирования в СССР. Автор не смеет игнорировать просьбы трудящихся. В этой части цикла поговорим об АЛМО, Эль-76 и Рапира и ЛЯПАС....

Книга «Здесь должен быть текст. Профессиональный UX-райтинг» Привет, Хаброжители! Без текста приложения стали бы бесполезной мешаниной геометрических фигур и значков, а голосовые интерфейсы и чат-боты не существовали бы вовсе. Слова делают программное обеспечение человеко-ориентированным и требуют не меньшей работы мысли, чем бренди...

[Перевод] Vue.js 3 — шаблоны проектирования и лучшие практики Предлагается перевод книги Vue.js 3 Design Patterns and Best Practices автора Pablo Garaguso.Книга вышла в мае 2023 года, написана очень компетентно, оперирует современными технологиями и стандартами. Материал книги будет полезен разработчикам не только Vue, но и других фрон...

SwiftUI: архитектура State-Model-View В документации по UIKit компании Apple можно найти объяснение, что “структура приложений основана на шаблоне проектирования Model-View-Controller (MVC)”.В материалах Apple по SwiftUI объяснений и даже просто ссылок на паттерны проектирования, похоже, нет. Попробуем сначала р...

[Перевод] Самая сложная часть создания программного обеспечения — это не написание кода, а сбор требований Несмотря на все статьи о том, насколько удивительными были все разработки в области искусственного интеллекта, многие страдают от возможности того, что мы, как разработчики программного обеспечения, вскоре можем остаться без работы, и их заменит искусственный интеллект. Они ...

Дженерики в go Привет, Хабр!Дженерики (или generics) существуют во многих языках, таких как Java, C#, и Rust, но для Go это относительно новая фича, введенная в версии 1.18 в 2022 году.До версии 1.18 Go был известен своим строгим и простым подходом к типизации. Однако, с ростом сообщества ...

Блеск и нищета паттерна «Спецификация» в С#. Оцениваем планы запросов О паттерне «Спецификация», который позволяет улучшить структуру приложения, и, следовательно, увеличить гибкость, уменьшив при этом объем кода, а значит — сократить количество ошибок, но это не точно. Почему? - читаем ниже.  Читать далее

Python и чистая архитектура… Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по зав...

[Перевод] Осваиваем модуляризацию: Руководство для начинающих по организации сложных программных систем ⚡ Tl;dr Модуляризация — это метод разделения сложных систем на более мелкие удобоваримые части для лучшего управления и восприятия. Она повышает эффективность, надежность и ремонтопригодность программных проектов за счет организации кода в модули. Она снижает когнитивную на...

Книга «Blender. Дизайн интерьеров и архитектуры» Привет, Хаброжители! Откройте для себя удивительный мир 3D-графики. Начните самостоятельно изучать основы 3D-моделирования и визуализации с помощью Blender. Действуйте уже сейчас! Blender уже завоевал мир. Его выбирают дизайнеры и художники, ведь в их распоряжении оказывае...

[Перевод] Спринты — самая большая ошибка в программной инженерии, примите eXtreme Go Horse Да, давайте немного поговорим о том, как быть Agile и о бразильском определении Agile, которое в современном состоянии породило методологию «eXtreme Go Horse» («лошадью ходи»). Читать дальше →

[Перевод] Каково это, создавать язык программирования сегодня? «Эта книга – классика. Относитесь к ней бережно». Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небреж...

Mockito и как им пользоваться Привет, Хабровчане! Помню, как в одном из моих первых проектов, мы столкнулись с проблемой тестирования кода, который зависел от внешних сервисов и баз данных. Это было не только трудоемко, но и занимало уйму времени. И сразу стало понятно, что без мокирования нам не обойтис...

[Перевод] Игровые паттерны программирования: Game Loop Это перевод одной из глав книги Game programming patterns Роберта Найстрома. Так как книга по сути состоит из подробного описания шаблонов проектирования, каждая глава может рассматриваться как самостоятельная статья, чем я и воспользовался и перевел, как мне кажется, статью...

Книга «Дизайн для разработчиков» Привет, Хаброжители! Дизайнерские решения, принимаемые разработчиками, оказывают существенное влияние на восприятие сайта пользователями. Освоив язык дизайна, вы сможете принимать полноценное участие в создании оформления, сотрудничать с коллегами-дизайнерами и обосновыват...

Книга «Linux для сетевых инженеров» Привет, Хаброжители! Операционная система Linux продолжает завоевывать популярность, и все больше сетевых служб разворачивается на ее основе из соображений стоимости и гибкости. Книга даст исчерпывающее представление о том, как устроена работа с сетью в Linux. В начале опи...

Чтение на выходные: «Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию» Уолтера Айзексона Уолтер Айзексон — популярный американский писатель и журналист, известный изданными биографиями о новаторах. Мы уже предлагали к чтению его книгу о Стиве Джобсе. Сегодня же в рубрике что-то вроде учебника по истории открытий в области математики, программирования и...

Книга «Kali Linux в действии. Аудит безопасности информационных систем. 2-е издание» Привет, Хаброжители! В этой книге рассматриваются методы обхода систем безопасности сетевых сервисов и проникновения в открытые информационные системы. Информационная безопасность, как и многое в нашем мире, представляет собой медаль с двумя сторонами. С одной стороны, мы ...

Пакетная обработка файлов в nanoCAD Для работы с проблемными файлами создано множество инструментов, позволяющих устранять те или иные проблемы. Но что делать в случае, когда файлов, подлежащих очистке или восстановлению – огромное количество? Неужели каждый из них придется открывать вручную и обрабатывать отд...

Проектирование веб-приложений с помощью Python и Flask Для каких проектов лучше всего подходит Flask, а для каких — Django? Какие особенности Flask можно использовать при разработке веб-приложений наиболее эффективно? Я Алексей Некрасов, лидер направления Python в МТС, автор форка библиотеки flask-combo-jsonapi, программный дире...

Книга «Жемчужины разработки. Чему мы научились за 50 лет создания ПО» Привет, Хаброжители! Совершенное программное обеспечение невозможно создать без изучения накопленного опыта. Опыт — главный учитель, но медленный и нередко болезненный. Но зачем же нам повторять ошибки? Книга «Жемчужины разработки» поможет совершенствоваться быстрее и избе...

«А ты уран захватил?»: как хотели создать атомный автомобиль Не знаю, какой у вас любимый фантастический фильм, а у меня — «Назад в будущее». Все части хороши, но первая — особенно. Недавно пересматривал, еще раз восхищался нержавеющими формами DeLorean и в который раз задался вопросом: «Почему она ездила на обычном бензине, когда под...

Kerberos простыми словами Несмотря на то, что уже существует множество различных статей про Kerberos, я всё‑таки решил написать ещё одну. Прежде всего эта статья написана для меня лично: я захотел обобщить знания, полученные в ходе изучения других статей, документации, а...

В общих чертах про функциональное программирование в Rust Привет, Хабр!Функциональное программирование предлагает такие концепции, как иммутабельность данных, чистые функции (т.е, результат работы которых зависит только от входных данных и не производят побочных эффектов), а также функции высшего порядка, которые позволяют работать...

GET запросы на практике: правила, принципы и примеры Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, без...

Без логики сложно Частенько в сети происходят дискуссии, в просторечии называемые срачами:) Признаюсь, я раньше тоже участвовал, пока не понял одну вещь - любые аргументы разбиваются об отсутствие у собеседники понимания простейших логических законов. Конечно, здесь, на хабре, такие не должны...

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

[Перевод] Как так вышло, что при лишнем шаге сборки моё приложение на Zig ускоряется в 10 раз Вот уже несколько месяцев я интересуюсь двумя технологиями: языком программирования Zig и криптовалютой Ethereum. Чтобы подробнее изучить обе, я написал на Zig интерпретатор байт-кода для виртуальной машины Ethereum.Язык Zig отлично подходит для оптимизации производительност...

Способ уплотнения воздушного потока. Поддув под сварочную маску.   Вообще планировал публикацию в мае, но подходили люди - спрашивали интересовались. Не много, но дело в том, что на работе объяснять не станешь - у каждого своя работа,  и в общем я просто сказал что будет на этом портале описание.    Сначала небольшое объяснения по поводу ...

Книга «SQL. Pocket guide, 4-е изд.» Привет, Хаброжители! Если вы аналитик или инженер по обработке данных и используете SQL, популярный карманный справочник станет для вас идеальным помощником. Найдите множество примеров, раскрывающих все сложности языка, а также ключевые аспекты SQL при его использовании в ...

Книга «Генеративное глубокое обучение. Как не мы рисуем картины, пишем романы и музыку. 2-е межд изд.» Привет, Хаброжители! Генеративное моделирование — одна из самых обсуждаемых тем в области искусственного интеллекта. Машины можно научить рисовать, писать и сочинять музыку. Вы сами можете посадить искусственный интеллект за парту или мольберт, для этого достаточно познако...

[Перевод] Обманчиво простой и интересный RSA Недавно, читая книгу Real-World Cryptography, я узнала об атаке Блейхенбахера, иначе называемой атакой миллионом сообщений. Этот вид атаки Даниэль Блейхенбахер продемонстрировал в 1998 году, взломав RSA через функцию шифрования PKCS #1. В книге об этой атаке было сказано не...

Декомпозиция программных компонент Здравствуйте, меня зовут Дмитрий Карловский и я.. люблю власть. Когда я берусь за клавиатуру, каждый байтик начинает плясать под мою дудку. Но когда этих байтиков становится по настоящему много, уследить за всеми становится сложно. Поэтому давайте сравним популярные паттерн...

[Перевод] Две мощных возможности Python, упрощающие код и улучшающие его читабельность Улучшите качество кода, украсив его оператором match и срезами объектов.Python не случайно стал невероятно популярным в современной технической среде. Он, если сравнивать его с другими языками программирования, возможно, является самым удобным и доступным для новичков. И, вм...

Я мыслю MOV EAX, 1 Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы ...

Большая дыра в безопасности Android: почему смартфоны с зеленым роботом подвержены кражам? Многим пользователям смартфонов знакомо такие понятия как «привязка к аккаунту». У различных вендоров смартфонах есть свои механизмы защиты смартфонов от кражи: у Apple — FMI, у Xiaomi — Mi Cloud, а у Google — FRP. Однако у Android есть давняя уязвимость, которая позволяет ...

Алгебра совокупностей Брусенцова и не только Все, кто когда-либо интересовались трёхзначной логикой, троичной системой счисления или архитектурой троичных компьютеров, рано или поздно натыкались на труды Брусенцова Николая Петровича, в особенности 3 его самые известные книги:1) Брусенцов Н.П. Начала информатики, 1994.2...

[Перевод] LISP — исследование оригинального языка ИИ Откройте для себя один из первых языков программирования, который, по мнению Майка Бедфорда, не мог быть более непохожим на своих ранних собратьев.В предыдущей части нашей серии, посвященной классическим языкам программирования, мы рассмотрели ALGOL, а в этом месяце мы углуб...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 6. Блокировки Ядро ОС выполняет программы параллельно и переключает потоки по таймеру. Каждый процессор выполняет поток независимо от других. Процессоры используют оперативную память совместно, поэтому важно защитить структуры данных от одновременного доступа. Потоки испортят данные, если...

Вы когда-нибудь дочитывали книгу «Игра в бисер»? Есть книга Германа Гессе, которая получила нобелевскую премию. Я начинал читать книгу 7 раз. Дочитывал до конца 1 раз.А вы предполагали, что это книга о действиях Торвадса Линуса?Что эта книга начала 20 века, автор которой, поставил перед читателем проблему, у которой давно ...

Мы хотим, чтобы сервера падали одновременно К нам обратился заказчик из сфера развлекательного видеостриминга с интересной проблемой - у него сервера падали не одновременно. А очень хотелось бы добиться синхронности.Сервера, которые смущали заказчика работали в роли бэкенда для хранения видеофайлов. По сути, это было ...

Core i7-8700 против i5-12400F: шесть ядер и 12 потоков четыре года спустя На YouTube-канале RandomGaminginHD протестировали в 1080p производительность i5-12400F и Core i7-8700. Какой процессор больше подходит для игр?

Вы за это заплатите! Цена Чистой Архитектуры. Часть 2 В прошлой части мы немного коснулись теории и остановились на определении лишних компонентов. В этой части мы продолжим определять лишнее, коснёмся вопросов экстремальной экономии, а также закрепим всё выводами.Если не читали первую часть, настоятельно рекомендую это сделать...

Как исправить изменившийся номер договора в нескольких сотнях Эксель файлов менее чем за минуту Недавно я столкнулся с тем, что потребовалось распечатать большое количество строительных смет, но в последний момент оказалось, что номер договора в них указан неверно, потому что в начале месяца он поменялся. Так появилась задача однотипной замены номера договора и его ...

Визуализация: лучшие практики В случае, когда требуется оперативно (и вдумчиво) оценить ситуацию в целом и ответить на сложные комплексные вопросы, на помощь приходит визуализация. В нашем случае речь пойдет о метриках эффективности по большей части в области ИБ, но на самом деле все нижесказанное примен...

Насмотренность в разработке: путь к красивому и чистому коду В мире разработки программного обеспечения термин «Насмотренность» крайне редко встречается, в то время как дизайнеры постоянно всё насматривают

[Перевод] Что я хотел бы знать заранее, когда выкупал себе целую ASN Как вы, возможно, знаете, я сейчас пишу серию статей о BGP и о том, как устроен Интернет. Рассказываю об этом с собственной точки зрения – как оператор небольшой автономной системы, AS200351. Притом, что теоретического материала на эту тему много, предположу, что м...

RCA — расследования отказов на производстве Всем привет! Я Дмитрий - руководитель группы функциональной архитектуры компании Bimeister, эксперт в областях ТОиР и Надёжности.Многие слышали словосочетание «Надёжность производства», сопровождающееся непонятными аббревиатурами RCM, RCA, FMECA, RBI и т.д. В одной из стате...

Книга «Как сочинить видеоигру: 201 совет от сценариста Broken Sword и Resident Evil» Привет, Хаброжители! Разработка сценария для видеоигры — увлекательное дело. Но игровым писателям приходится постоянно учиться и бросать вызов ограничениям. Это связано с тем, что игровая индустрия развивается и становится все более зрелой. Тут и стремительное совершенств...

Кулинарный гид по Vue.js: всё о props Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше разобраться в работе и применении props на фреймворке Vue.js, а еще мы затронем тему валидации. Для мидлов и более...

Создаем I2C Master Controller на Verilog. FSM, Clock, Output Logic, etc После длительного перерыва я продолжил разработку I2C Master Controller на Verilog. В прошлых статьях я рассмотрел основной теоретический материал, необходимый для реализации изначальной задумки. В этом материале переходим к более интересному содержанию: я последовательно ра...

Паттерн Circuit Breaker Привет, Хабр!Каждая секунда простоя может стоить компании целое состояние, важно иметь надежные механизмы защиты от сбоев. Здесь и приходит на помощь паттерн Circuit Breaker.Представьте себе обычный автоматический выключатель в вашем доме. Когда происходит перегрузка, он "вы...

Две новых книги по Python от американского и российского авторов с промокодом Привет, Хабр!  Мы с почином — в блоге SSP SOFT стартует новая рубрика с анонсами выхода книг по программированию и операционным системам от издательства «БХВ-Петербург». Узнав об этой инициативе, издатель подарил всем читателям Хабра специальную скидку по промокоду, кот...

Security Week 2417: эксплуатация уязвимостей с помощью LLM На прошлой неделе был опубликован препринт научной работы, в которой утверждается, что большие языковые модели (LLM) могут автономно эксплуатировать уязвимости класса «one-day». Под «one-day» здесь понимается уязвимость, которая уже была обнаружена, то есть речь в работе не ...

[Перевод] 10 тёмных паттернов в UX-дизайне и как их избежать Тёмные паттерны в UX-дизайне представляют тактики манипуляции, склоняющие пользователей к совершению действий, выгодных в первую очередь компаниям, зачастую в ущерб пользовательскому опыту. К типичным тёмным паттернам относятся давление на чувства, ложная срочность, замани...

Зачем нужен архитектор 1С Есть такие, кто считает, что нет оснований для использования отдельного понятия архитектор 1С. Дескать, архитекторы это, например, Растрелли или Гауди, а мы тут немного другим занимаемся. Разработка программного обеспечения и проектирование зданий может и являются родствен...

[Перевод] Что понимают технологические компании и чего не понимают традиционные компании о разработчиках ПО Я работал в разнообразных технологических компаниях: от «традиционных» центров программирования и консалтингов до инвестиционных банков и быстрорастущих технологических фирм. Также я общался с разработчиками ПО, работающими в стартапах, банковской сфере, автомобилестроении,...

[Перевод] Идиоматическая обработка ошибок в Rust Вы забудете о необработанных исключениях, если научитесь обращаться с ошибками, как это принято в Rust Обработка ошибок – важнейшая часть любого языка программирования, а в Rust предлагается для этого уникальный мощный подход. Rust, в отличие от многих других языков программ...

11lc — инновационный компилятор для нового языка программирования Данная статья посвящена находящемуся на стадии проектирования компилятору 11lc. В ней перечисляются наиболее яркие особенности этого компилятора. Отсутствие скрытой неэффективности Это свойство скорее языка программирования 11l, нежели компилятора. Однако оно настолько важн...

[Перевод] Архитектура MMO: источник истины, потоки данных, узкие места I/O и их устранение По воле абсудрных обстоятельств, которые сможет понять лишь тот, чьё хобби полностью совпадает с основной работой, недавно я оказался вовлечён в разработку MMO-игры. Несмотря на то что это приложение идеально вписывается в концепцию «распределённых архитектур», конкретные...

Очень большие числа в физике В физике есть понятие естественности (naturalness). Когда мы получаем безразмерный коэффициент, то мы ожидаем, что либо это безразмерный коэффициент, 'утекший' из математики. Но иногда в формулах возникают коэффициенты, которые никак не следуют из чистой математики, как прав...

Android и iOS, Flutter и Kotlin: что обо всём этом расскажут на Mobius До конференции Mobius остался месяц, мы представляем Хабру её программу. И её вечно непросто поделить на блоки.Понятно, что доклады «про iOS» и «про Android» интересны разным разработчикам, поэтому хабрапост хочется разделить пополам. Но как правильнее поступить с докладами ...

Функциональное программирование в Python: ежедневные рецепты Как говорится, спроси пять программистов, что такое функциональное программирование, получишь шесть разных ответов. В целом это программирование через функции в их математическом понимании, то есть когда функция принимает что-то на вход и что-то возвращает на выходе, не меня...

[Перевод] Конкурентный отказ Любая задача может быть завершена несколькими способами: 1. Нормальное завершение, после которого мы получаем результат (например, Ничего/Единица). 2. Сообщение об ошибке. 3. Принудительное завершение, после которого программа может остаться в неопределённом состоянии. В к...

Четвёртое наблюдение о командной строке и путях в файловой системе В недавно опубликованной статье «Три наблюдения о командной строке и путях в файловой системе» были рассмотрены некоторые особенности интерпретации командной строки оболочками в операционных системах Windows и Linux. Первое наблюдение было о том, что командные оболочки SH/BA...

Гидрогель и табак: синтез живых материалов Для создания чего-либо нужны соответствующие материалы, обладающие необходимыми химическими и физическими свойствами. Если же есть необходимость наделить материал свойствами, которыми он не мог обладать в своем первичном виде, необходимо заставить его структуру меняться в ...

Применение алгебраических типов данных для моделирования ошибок и сообщений в журнале В функциональном программировании широко используются так называемые алгебраические типы данных. Такие данные формируются из более простых типов с использованием всего двух операций — "суммы" и "произведения". Использование таких математических операций о...

Книга «Python для сложных задач: наука о данных. 2-е межд. изд. » Привет, Хаброжители! Python — первоклассный инструмент, и в первую очередь благодаря наличию множества библиотек для хранения, анализа и обработки данных. Отдельные части стека Python описываются во многих источниках, но только в новом издании «Python для сложных задач» вы...

Как не облажаться при выборе российского NGFW Исследование российского рынка NGFW показало, что только 16% опрошенных довольны установленными российскими межсетевыми экранами. Наше общение с клиентами это подтверждает. При этом ошибка при выборе межсетевого экрана нового поколения может стать фатальной, так как именно N...

Как быстро написать API на FastAPI с валидацией и базой данных Все веб-запросы обрабатываются на сервере — это хорошо всем известно. Но бывает, когда нужно написать специальный программный интерфейс, так называемый API, через который пользователи смогут централизованно получать данные и вносить изменения, например, в свой профиль. В ...

C3D Solver: принципы параметрического черчения 2D-паттернов и улучшения для 3D-моделирования сборок Александр Алахвердянц, ведущий математик-программист, C3D Labs, знакомит с новинками в двухмерных и трехмерных решателях — продуктах, которые разрабатываются в группе C3D Solver.Что такое решатели? Решатели — это библиотеки, которые позволяют накладывать связи на г...

[Перевод] Исследователи с DESI составили самую большую трёхмерную карту нашей Вселенной С помощью 5 000 крошечных роботов в телескопе, расположенном на вершине горы, исследователи могут заглянуть на 11 миллиардов лет в прошлое. Свет от далёких космических объектов только сейчас достигает спектроскопического прибора Dark Energy Spectroscopic Instrument (DESI), п...

Техники usability — как проектировать сложные системы, чтобы они стали простыми для использования Существует заблуждение, что дизайн — это вопрос вкуса, и у него нет объективных критериев оценки. Но не стоит забывать об условиях использования приложения. Например, таких факторах, как шум, низкое качество, старое тормозное оборудование или программное обеспечение, огранич...

Стереотипы об айтишниках в кино: как ботаники выросли в циников за 60 лет Привет, Хабр! Сейчас IT — это большая профессиональная область без тайн и загадок. Но так было не всегда: 60 лет назад, когда профессия только формировалась, а компьютеры появлялись, айтишников и их работу было сложно понять — и это отразилось на кино и сериалах. Мы в Selec...

Основные принципы разработки (SOLID, KISS и т. д.) В данной работе я сосредоточусь на изучении и сравнении ключевых принципов проектирования и разработки программного обеспечения. Моя цель - проанализировать эти принципы, выявить их достоинства, недостатки и области применения.В общем вас ждет теория, ещё теория, словесные п...

Простой ORM для sqlite3 ORM, или объектно-реляционное отображение — это программная технология, которая позволяет взаимодействовать с базами данных с использованием объектно-ориентированной парадигмы. Вместо того чтобы писать SQL-запросы напрямую для работы с данными в базе данных, можно использов...

Алгоритм генерации столбцов (Column Generation) Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.В статье представил теоретическую предпосылку, схему алгоритма и python реализацию подхода. В практической части рассмотрел решение двух задач: з...

В Telegram запустили мощный и простой в использовании редактор стикеров Команда популярного мессенджера Telegram представила значимое обновление. Теперь пользователям доступен функциональный редактор для создания собственных стикеров прямо в Telegram.  Чтобы создать стикер, достаточно взять  любую фотографию, нажать на кнопку с и...

[Перевод] Логический долг гораздо разрушительнее технического Жили-были разработчики ПО, игнорировавшие рекомендованные методики наподобие предметно-ориентированного проектирования (Domain-Driven Design); они срезали углы, чтобы выпускать продукты быстро. Они думали: «Нам платят за написание кода, а не за проектирование!» Менеджер по...

О функциональном программировании на примере решения судоку Цель данной статьи - познакомить читателя с основными идеями функционального программирования на примере программы для решения судоку. Статья рассчитана на тех, кто не знаком с функциональным программированием, но хотел бы узнать, на что это похоже. Впрочем, опытные программ...

В Белом доме сообщили, что финансирование Украины подходит к концу Все денежные потоки теперь идут на палестино-израильский конфликт

Calypso: Схема данных MongoDB на Scala Чтобы применять Domain-Driven Design, DDD Aggregate и Transactional outbox на MongoDB, наша команда создала open source библиотеку calypso для работы с BSON.Публикация для тех, кто стремится к современным практикам разработки и разделяет наше влечение к Scala 3.Готовы к откр...

Архитектурный паттерн для обработки больших данных: Kappa Привет, Хабр!Если вы уже знакомы с архитектурным паттерном Lambda, то сегодня мы поговорим о его ближайшем родственнике - Kappa. Когда речь идет о обработке больших данных, архитектурные паттерны играют самую важную роль. Ранее мы обсудили Lambda, который предлагает подход, ...

VGranite — Софт для преобразователя интерфейсов serial<->ethernet Мы занимаемся сбором данных с ИПУ в многоквартирных домах. Наше предпочтение - проводное подключение. Обычно мы подключаем одинаковые типы счетчиков в один канал - Вода, Газ, Электричество.Однажды к нам перешел дом, на котором в качестве счетчиков электричества стояли "Мерку...

Ученые разработали беспроводную технологию передачи данных, которая в 100 раз быстрее Wi-Fi Ученые разработали новую технологию беспроводной передачи данных Ученые разработали новый тип технологии беспроводной связи в видимом свете (VLC). Эта технология позволяет передавать данные при помощи обычных бытовых осветительных приборов. По мнению авторов, эта технология ...

Как я рефакторила Ansible-плейбуки с помощью нейросети. Плюсы и минусы ChatGPT Работать с большими Ansible-плейбуком не всегда удобно — в нем трудно читать и переписывать код. В этой статье я поделюсь опытом — расскажу, как «распилила» плейбук на 1000 строк с помощью ChatGPT и как нейросеть справилась с этой задачей. Подробности — под катом. Читать да...

[Перевод] От теории к практике: создаём веб-приложение для решения задачи коммивояжёра В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптим...

Финальный ремонт Nintendo Switch Lite: реболл процессора и установка hwfly для запуска игр с карты памяти И снова здравствуй, Хабр! Сегодня — еще одна статья из цикла ремонтов Nintendo Switch Lite. Вот можно почитать первую и вторую части (по двум разным консолям). Ну а текущая статья — третья, она является логическим продолжением второй. Напомню, что во второй части я выпо...

Hashicorp Vault — собираем непрямую репликацию через ведро Hashicorp Vault - прекрасный продукт для централизованного хранения всех паролей и других секретов компании. При этом, многие знают, что удобная ключница - это идеальный способ потерять все ключи одновременно. Когда я работал в крупном телекоме, то DRP-протоколы с восстановл...

ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign ...

[Перевод] Rust 1.73.0: очищение сообщений о панике, изменение в работе с локальными данными потока Команда Rust рада сообщить о новой версии языка — 1.73.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.73.0 ва...

Опыт использования свободного ПО OSS-CAD_SUITE для программирования FPGA Gowin Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет ра...

Сборка мусора в V8 В этой статье мы детально разберем процесс сборки мусора движком V8. Познакомимся с понятиями поколений, Minor и Major Garbage Collection, посмотрим, как аллоцируются, трассируются и маркируются объекты в памяти. Что происходит с пустыми областями после очистки, и как выполн...

Чтение на выходные: «Интерфейс. Новые направления в проектировании компьютерных систем» Джефа Раскина Джеф Раскин — специалист в области интерфейсов. Известен был, в первую очередь, тем, что однажды задумал создать удобный компьютер для простых пользователей, имя которому Macintosh. Как автор исследовал взаимодействие человека и машины с учетом принципов эргономики и ко...

Как автоматизировать построение архитектурных схем в большой микросервисной системе Если у вас есть большая система, состоящая из множества микросервисов, то вы наверняка задавались вопросом: «Что сделать, чтобы архитектурная схема всей системы была всегда на 100% актуальной?». Обычно, в компаниях есть свои практики формирования архитектурных схем и ведения...

Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, ч...

Названы самые популярные модели Toyota, выпускаемые на совместном предприятии FAW Toyota FAW Toyota поставила в общей сложности 56 536 новых автомобилей в апреле 2024 года, из которых поставки модели Grevia составили 7 554 единицы. Кроме того, FAW Toyota официально заявила, что все новые модели оснащены умными функциями. В частности, было поставлено 30 206 ...

Apple не сразу пришла от челки iPhone к Dynamic Island: какие варианты рассматривались ещё, показали в MacRumors Согласно информации, полученной MacRumors, Apple на протяжении нескольких лет изучала множество идей относительно выреза iPhone, прежде чем пришла к нынешнему дизайну Dynamic Island. MacRumors создали рендеры на базе полученной информации, чтобы представить некоторые ко...

XMG1930-30HP: AV over IP для ЦОД Мы уже не раз в нашем блоге на Хабре рассказывали о технологии AV over IP, которая позволяет гонять 4K-видеопотоки не с помощью HDMI, а используя для этой цели IP-сети. Можно ошибочно думать, что это актуально лишь для каких-нибудь спортивных баров и концертных площадок. Эт...

Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам При работе над паттерном навигации моя команда выяснила интересный факт — мало материалов для дизайнеров. Я провела своё исследование: поговорила с разработчиками, проанализировала множество приложений и заглянула в гайдлайны.В статье покажу три самых популярных вида навигац...

[Перевод] Storybook — генератор сказок с ИИ на Raspberry Pi 5 и 7-цветном дисплее E-Ink Последнее время только ленивый не пишет о великом прорыве человечества в области разработки искусственного интеллекта под общим названием "большая языковая модель" (LLM, large language model). И хотя у них остается еще много возможностей для совершенствования, но з...

Обзор книги «С++ 20 в деталях»: доступно, но не для джунов Привет, Хабр! Меня зовут Дмитрий Луцив, я работаю в СПбГУ на кафедре системного программирования, веду ряд IT-дисциплин на математико-механическом факультете в лабаратории компании YADRO и помогаю вузам актуализировать образовательные программы под задачи индустрии, как сотр...

В 7 раз больше: поставки китайских машин в Россию взлетели до небес всего за год По результатам 2023 года, по данным Китайского Главного таможенного управления (ГТУ), в Россию было ввезено в 7,2 раза больше автомобилей из Китая, чем в предыдущем году. Общее количество ввезенных автомобилей превысило 800 тысяч единиц. Данные ГТУ также указывают на зн...

Книга «Roblox: играй, программируй и создавай свои миры. 2-е изд» Что такое Roblox? Это красочная компьютерная платформа для создания и публикации своих игр. Мир Roblox изо дня в день становится все популярней, и ты можешь стать его частью! Если ты мечтаешь стать геймдизайнером и создать свою игру, но не знаешь, с чего начать, эта книга п...

Асинхронный API First API-First — один из популярных подходов к проектированию серверных приложений. Для обеспечения этого подхода создано множество программных продуктов. Однако сложно найти продукт, который поможет реализовать этот подход для серверных приложений, использующих брокеры сообщений...

Архитектуры RL: DDPG иPPO Привет, уважаемые читатели Хабра! В RL существует множество алгоритмов, каждый из которых имеет свои преимущества и недостатки.DDPG (Deep Deterministic Policy Gradients) - это алгоритм, объединяющий в себе идеи из двух областей: DPG (Deterministic Policy Gradients) и DQN (De...

Вся мощь паттернов в Wolfram Language Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет. В этой статье я постар...

[Перевод] Как я выживаю с диабетом при помощи Golang В этом посте я расскажу, как воспользовался методологией управления инцидентами, чтобы справляться со сложным заболеванием. Надеюсь, вам понравится! Британцы любят выпить. Вы когда-нибудь задумывались, сколько граммов углеводов в пинте пива? А как насчёт бургера с картошк...

Архитектурный паттерн для обработки больших данных: Lambda Привет, Хабр! Мы сталкиваемся с огромными объемами информации, высокой нагрузкой, и постоянно меняющимися требованиями. Все это требует от нас не только навыков программирования, но и грамотного проектирования архитектуры, которая способна справиться с этими вызовами.Именно ...

[Перевод] Как ответить на любой вопрос на собеседовании по проектированию систем машинного обучения Шпаргалка для ответа на любой вопрос о проектировании систем машинного обучения на вашем следующем собеседовании. Этот шаблон поможет вам ответить практически на любой вопрос о проектировании системы машинного обучения, который вы можете получить на собеседовании. Важно отм...

[Перевод] Я уже 14 лет в отрасли, но программировать по-прежнему сложно Много лет назад, учась computer science на старших курсах, я долго изучал различные вакансии онлайн, надеясь найти подходящую должность стажёра-программиста.Кроме вакансий для стажёров я иногда случайно нажимал на объявления о вакансиях «сеньор-разработчика». Помню, больше в...

Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++ В марте мы собирались на митапе по С++ в Санкт-Петербурге. Для всех, кто не смог присоединиться к встрече, подготовили записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sprinx Андреем Аксёновым. Почему стоит сохранить подборку в закладки:•...

Обзор библиотеки bleve в Golang Bleve предоставляет индексации любых структур данных Go, он поддерживает различные типы полей: текст, числа, даты и логические значения, а также разнообразие запросов: от простых терминов до фраз и сложных булевых запросов.В этой статье рассмотрим основной функционал этой би...

[Перевод] Разбиение файлов Terraform на компонуемые слои Terraform позволяет создать облачную инфраструктуру с помощью всего одной команды. Допустим, вы хотите запустить Elasticsearch и Kibana в кластере Kubernetes. Для этого можно написать несколько файлов .tf и выполнить команду terraform apply для инициализации кластера Kubern...

[Перевод] 10 лучших практик логирования в Python По мере того как приложение собирает все больше данных, правильное ведение журналов становится решающим фактором для быстрого и эффективного понимания общей функциональности. Это позволяет устранять проблемы до того, как они повлияют на конечных пользователей.В этой статье м...

Электромобили не «взлетают», их доля падает. Более 98% продаж Volkswagen Group приходится на традиционные машины с ДВС Volkswagen Group опубликовала свой финансовый отчет за первый квартал за 2024 год. Продажи в первом квартале составили 75,5 млрд евро, тогда как годом ранее они составляли 76,2 млрд евро. Операционная прибыль составила 4,6 млрд евро, что на 20% меньше по сравнению с ана...

Эволюция в мире UX: как мы создали паттерн проектирования и упростили прогулки пользователей по панели управления Привет, Хабр! Меня зовут Витя, я проектировщик интерфейсов в Selectel. Так вышло, что мне поручили разработать интерфейс формы создания облачного сервера. Задача не из самых простых: конфигуратор достаточно функционален и гибок, но должен оставаться понятным. Было сложно, ...

Простыми словами про обработку текстовых запросов пользователя в Телеграмм ботах на java Тем, кто так или иначе уже сталкивался с разработкой Telegram-ботов на java, известно, что бот должен уметь отправлять запросы Telegram-серверу и получать от него обновления (updates). В настоящее время существует два способа получения обновлений:- использование LongPolling ...

После прочтения применить, или Чистый код на практике Начинающие разработчики часто встречают на ревью пулл-реквестов очень дотошных ревьюеров, дающих кучу комментариев по теме чистоте кода. Меня зовут Мария Кондаурова, я фронтенд-разработчик в департаменте вычислительной биологии в BIOCAD. И у меня есть свои мысли на тему чист...

Книга: «Roblox в действии. Искусство разработки игр» Привет, Хаброжители! Roblox — это огромная платформа для создания игр, не похожая ни на одну другую. Roblox позволяет новым разработчикам создавать игры, в которые может играть весь мир. Книга сочетает теорию с практикой, поскольку с разработкой игр связаны множество смеж...

Концепция имплицитов в Scala Концепция implicit в Scala представляет собой одну из наиболее уникальных и мощных особенностей этого языка программирования. Этот ключевой механизм позволяет разработчикам создавать более гибкий и чистый код, улучшая читаемость и расширяемость программ.В этой статье мы погр...

[Перевод] Какой длины должны быть классы — когда «чистый» код на самом деле не так уж и хорош Привет, Хабр!Наши коллеги из beeline cloud подкинули интересную статью для перевода про разработку на PHP, плохие практики и не только. Это история о том, как правила чистого кода могут подорвать его фактическое качество. Материал содержит много рассуждений на эту тему и буд...

[Перевод] Размер пул-реквеста имеет значение Иногда бывает так, что вы отправляете на проверку пул-реквест, который оказался существенно больше, чем вы ожидали. И у вас возникает вопрос:«Какого же размера он должен быть? Бывает ли идеальный размер? Если бы теоретически можно было полностью его контролировать, то наскол...

Метод ключевых действий В статье описан авторский метод конструирования и схематизации деятельности, помогающий отделить функциональную структуру и структуру процесса от форм её воплощения. Метод появился на стыке схем системно-мыследеятельностной методологии и опыта а...

[recovery mode] Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы Python является одним из самых популярных языков программирования в мире. Он широко используется в различных сферах, таких как веб-разработка, научные исследования, анализ данных, машинное обучение и многое другое. Изучение Python позволит вам получить полезные навыки и откр...

Итоги конкурса 3D моделирования в T-FLEX CAD «Компетенция САПР 2023» В сентябре завершился ежегодный конкурс «Компетенция САПР», организуемый компанией «Топ Системы» . Цель конкурса — демонстрация навыков использования инструментов инженерного проектирования с применением САПР T-FLEX CAD. В течение лета специально сформированная команда жюри ...

Выбор варианта возврата значения из функций в Rust Вопрос оптимизации: как лучше возвращать структуры из функции, что бы не было лишних выделений и копирований областей памяти. Когда пишешь код, то кажется, что если экземпляр структуры размещается на стеке, то он должен копироваться в стек ...

Совместная работа в реальном времени: алгоритмы, редакторы и облако Сегодня никого не удивляет онлайн редактирование общего документа, файла или базы данных. Но под капотом сервисов параллельной работы с данными находится большая история. И эта история еще далека от завершения. До облачной синхронизации и онлайн-редакторов сотрудники др...

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 4 В прошлый раз мы оставили наших героев в тот замечательный момент, когда в начале 1991 года они наконец ушли из Softdisc и решили создать собственную компанию. Успех их первого творения, Commander Keen in Invasion of the Vorticons, ставшего первой игрой под PC с реализацией...

Создание сайтов продвижение сайтов Создание и продвижение сайтов — это важные аспекты ведения бизнеса в интернете. Когда дело касается разработки веб-сайта, необходимо учитывать множество факторов, включая дизайн, функциональность, удобство использования и SEO-оптимизацию. Первым шагом в создании сайта являе...

Черкаш-код: изобретение и внедрение Так вышло, что спустя более чем 20 лет работы связанной с IT мне захотелось заглянуть в другие области знаний и таковой стала юриспруденция. Поступление на заочку, учёба, множество открытий, о которых и не задумывался раньше, привели меня к очередному этапу - учебной практи...

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 3. Модули и типы В прошлых двух частях мы ознакомились с синтаксической моделью F#-кода и с инструментами для неё. Объёмный пример туда уже не влез, но необходимость в нём осталась. Так родились ещё две заключительные части цикла. Их объединяет общий проект, но в остальном они представляют с...

Алмазные батареи из ядерных отходов — смогут ли они заменить литий-ионные аккумуляторы Ученые разработали технологию создания батарей из ядерных отходов В настоящее время сразу две компании, Arkenlight и NDB, работают над технологией, позволяющей производить алмазы из ядерных отходов и впоследствии их использовать для создания батарей. Впервые об этих технол...

Учёные создали квантовый торнадо в сверхтекучем гелии: новый шаг к пониманию физики аккреции чёрных дыр Области вокруг чёрных дыр представляют собой жёсткую и турбулентную среду, которая управляется физикой, недоступной в других уголках Вселенной. Исследовательская группа под руководством учёных Ноттингемского университета смогла изучить эти явления в лабораторных условия...

Исследователи предполагают, что под поверхностью Меркурия могут скрываться ледники Дневная температура поверхности Меркурия может достигать 230 °C. У него нет атмосферы или магнитного поля и он представляется сухим и безжизненным. Однако может оказаться, что это не так. Недавние исследования команды учёных из Института планетологии (Аризона) предл...

Как не давать пустых обещаний себе, команде и заказчику Привет, Хабр!14 лет я работал в международной компании Airbus – компании, занимающейся авиастроением. В IT же мой путь начался совсем недавно – всего лишь чуть больше года назад. Чем отличается управление релизами программного обеспечения и управление проектированием констру...

Простая архитектура с использованием MVVM и делегатов в Android. Оптимальное решение для малых проектов В этой статье мы рассмотрим, как создать простую архитектуру Android, используя паттерн MVVM (Model-View-ViewModel) и делегаты для эффективного управления состоянием. Читать далее

Когда переключаются потоки в Spring WebFlux Работа с библиотекой WebFlux вызывает затруднения у многих Java/Kotlin разработчиковКод выглядит непривычно, непонятно в каких потоках выполняется логика и как этим управлятьСегодня я попытаюсь объяснить простым языком такой важный аспект, как момент переключения потоков в W...

[Перевод] Некоторые советы, которые я почерпнул из книги «100 ошибок в Go» Недавно я закончил читать книгу Тейвы Харсаньи "100 ошибок и как их избежать", и вместо того, чтобы писать рецензию (всем, кто работает с Go, стоит ее прочитать), я решил поделиться четырьмя ошибками, которые показались мне интересными и о которых я раньше не зна...

Что такое и как работает DevOps as a Service Методология DevOps помогает решить многие проблемы на всех стадиях жизненного цикла ПО. Используя ее, компании могут уменьшить сложность своей IT-инфраструктуры, обеспечить большую безопасность и надежность программных продуктов, чем при традиционных подходах к разработке. ...

[Перевод] Xv6: учебная Unix-подобная ОС. Заключение Книга рассказала об идеях, что лежат в основе операционных систем, на примере xv6. Одна часть кода xv6 выражает основные идеи и каждая строка кода важна - переключение потоков, пространства пользователя и ядра, блокировки и т.д. Другая часть кода воплощает алгоритмы и структ...

Два секундомера на логических микросхемах Привет, Хабр! Сегодня мы рассмотрим и соберём два цифровых таймера без микроконтроллера. Это прекрасные примеры того, каким образом можно добиться желаемого результата максимально простыми средствами. Читать дальше →

[Перевод] Сколько строк на C нужно, чтобы выполнить a + b в Python? В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсбер...

«Возрождение» больших данных, оптимизация инференса LLM и новинки от AMD Привет, Хабр! В новом выпуске собрал для вас полезные материалы, которые помогут лучше разобраться в темах ML, искусственного интеллекта и дата-аналитики. Вы узнаете, какие Ops-практики входят в систему MLOps, как выбрать СУБД для анализа данных и как построить платформу дл...

Руководство по проектированию дизайна и юзабилити интерфейсов с Drag and Drop Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и я часто сталкиваюсь с разработкой веб-интерфейсов с использованием Drag and Drop. В своей предыдущей статье про Drag and Drop я рассказывал про историю появления и развития этого подхода: появившись в пе...

Project Loom. Не только виртуальные потоки Начиная с Java 19 нам доступны виртуальные потоки, которые отличаются от обычных, тем что умеют освобождать поток операционной системы во время блокирующих I/O операций. Для этого на уровне JVM был реализован механизм сохранения в хипе и восстановления из хипа стека вызова....

Что о видеотехнологиях расскажут на VideoTech 2023 Конференция VideoTech появилась, когда в пандемию мы переносили свои мероприятия в онлайн и захотели разобраться, как делать это лучше всего. Поначалу сама она и была сугубо онлайн-мероприятием. Но затем добавилась офлайн-часть, и в этот раз она впервые продлится целых два д...

В ПНИПУ создали программу для быстрого проектирования сэндвич-структур под 3D-печать Программа позволяет подбирать параметры заполнителя и производить подготовку таких конструкций к 3D-печати, что экономит время, средства и материалы, сообщает пресс-служба вуза.

Ученые создали биоматериал, способный регенерировать костную ткань Разработка родом из Университета штата Сан-Паулу в Бразилии. Материал представляет собой легированный кобальтом монетит. Это соединение фосфата кальция, структура которого аналогична минералу человеческой кости. Монетит содержит кальций, водород, кислород и фосфор. Он имее...

Распродажа «Старый Новый год» Добрый день, Хаброжители! Новогодние праздники продолжаются и в честь Старого Нового года у нас для вас большая распродажа! Читать дальше →

Разработка высокопроизводительного кеш-слоя на основе Redis в телеграм-боте Мгновенность процессов стала золотым стандартом. Пользователи требуют мгновенных результатов, и телеграм-боты не являются исключением. Без кеширования данных, боты могут столкнуться с серьезными задержками при обработке запросов. Кеш-слои в теботах - это ключевой инструмент,...

Для кого я на самом деле проектирую интерфейсы? Для разработчиков. Моя задача проектировщика — пообщаться с клиентом, собрать его идеи и бизнес-запросы, а затем превратить в макеты и сопроводительную документацию для разработчиков. Если я плохо её оформлю или что-то забуду детализировать — пострадают именно они. Им придёт...

Эльфы и пингвины: что такое ELF и как он работает в Linux? Всем привет! С вами как всегда я, Аргентум. Сегодня я расскажу и поведаю вам древние тайны, которые хранят горные старцы-сисадмины — тайны об эльфах, и как они взаимодействуют с древним народцем пингвинов. Дамы и господа, встречайте — статья о работе ELF и двоичных файлов в...

Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте...

[Перевод] Выделение регионов памяти в C++: советы и приёмы Эта статья обсуждалась на Hacker News.В течение минувшего года я шлифовал мой подход к выделению регионов. Практика показывает, что это эффективный, просто и быстрый подход; обычно его использовать в качестве средства для сборки мусора без издержек. В зависимости о...

FlowCanvas и визуальное программирование в Unity Визуальное программирование облегчает работу геймдизайнеров и сценаристов, но сильно портит жизнь программистам. Собирать уровни и механики гораздо удобнее и приятнее в графе, но поддерживать и отлаживать эти разноцветные макароны - сущий ад.Инди-команды не имея опыта в прог...

Restic: эффективное резервное копирование из Stdin Про restic я уже рассказывал в статье Бэкап-хранилище для тысяч виртуальных машин свободными инструментами, с тех пор он остаётся моим любимым инструментом для бэкапа.Сегодня я опишу вам готовый рецепт того как настроить эффективное бэкапирование чего угодно прямо из stdin, ...

Автоматизация 2D-проектирования в линейке nanoCAD: инструменты и практика Рассмотрим автоматизацию ключевых задач инженера-проектировщика: оформление проектно-конструкторской документации по СПДС; проектирование КМ, КЖ, КЖИ; разработку ПОС, ПОД и ППР; автоматическую векторизация и оцифровку сканов чертежей. Читать далее

Новая технология BrainGPT превращает мысли в текст Ученые устройство, которое считывает мозговые волны и преобразовывает их в текст Ученые давно работают над технологиями, позволяющими считывать и распознавать мысли человека. Мы неоднократно рассказывали, что в этой области уже удалось добиться определенных успехов. Например...

Где изучать Javascript в 2024. Бесплатные курсы, книги и ресурсы Изучение JavaScript в 2024 году по открытым ресурсов имеет несколько преимуществ:1. Востребованность: JavaScript остается самым популярным языков программирования в мире. Знание JavaScript открывает двери к множеству возможностей в IT-индустрии.2. Бесплатный доступ...

USM (Unified Service Management)_Шаблон User Story Mapping - это методика визуализации пользовательских историй, которая помогает командам разработки программного обеспечения лучше понять пользовательский опыт и определить приоритеты для разработки функциональности продукта. USM строится на основе пользовательских...

Ностальгические игры: Serious Sam Давным-давно, еще во времена, когда интернет не был обыденной вещью, одной из возможностей познакомиться с новыми хитами для меня был поход в игровой клуб. В моём районе существовало два таких заведения. Один располагался в довольно сыром, тёмном и насквозь прокуренном под...

Что общего у архитектуры программного обеспечения и градостроительства Архитекторы городов рассматривают город как единую систему с множеством противоречивых целей, каждая из которых развивается со временем, и пытаются создать наилучшее возможное решение, которое может масштабироваться и быть устойчивым к сбоям. Звучит знакомо? Читать далее

Как я писал свою библиотеку для работы с Telegram В далекий 2019 год, когда про ковид никто не слышал и других жестей еще не было на горизонте, я читал очередную статью как “правильно” писать очередного бота на телеграм. И в очередной раз у меня крутилась мысль: че код так паршиво выглядит то? Где-то в то время телеграм еще...

Всё что вы хотели знать про ACL в Active Directory В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более...

[Перевод] Поведение Curl на macOS отличается от документированного. Apple считает, что это нормально tldr: Apple считает, что все в порядке. Я нет. 28 декабря 2023 года в систему отслеживания ошибок Curl был отправлен отчет об ошибке 12 604. Мы получаем множество таких отчетов изо дня в день, так что сам по себе этот факт вряд ли был чем-то необычным. Мы читаем отчеты, пров...

[Перевод] Гексагональная архитектура со Spring Boot Гексагональная архитектура стала популярным архитектурным паттерном, помогающим отделить бизнес-логику от инфраструктуры. Такое разделение позволяет откладывать принятие решений о технологиях или легко заменять их. Кроме того, это позволяет тестировать бизнес-логику в изоляц...

Как выстроить удобные процессы в работе с монорепой Как настроить общее рабочее пространство для команды без запуска сборки в watch-режиме и ожидания старта dev-сервера, чтобы подхватить изменения? Для этого нужно удобным для всех образом настроить переиспользование кода внутри монорепы.Нам поможет Андрей Кочеров, старший раз...

[Перевод] Технологии давно почившей DEC продолжают служить миру вычислений DEC VAX 8350 со снятой крышкой Эта корпорация, ставшая одним из первопроходцев в мире IT, исчезла в конце 90-х. Несмотря на то, что в сфере компьютерных технологий осталось не так много стоявших у её истоков игроков, мы по сей день продолжаем пользоваться плодами их разр...

Игровая легенда из нулевых: каким был Nokia N-Gage QD? Обзор, аппаратный ремонт и программирование под Symbian Друзья! Многие ли из вас помнят такой телефон, как Nokia N-Gage? В начале нулевых финская компания сделала смелую попытку ворваться на рынок игровых консолей, создав устройство, которое сочетало в себе сразу две функции: полноценный смартфон на базе аппаратной платформы WD...

Проходит предрегистрация на игру Crystals of Fate: Heroes Enlighten Разработчики Masters of Zion работают над новой мобильной игрой — Crystals of Fate: Heroes Enlighten. Её можно предзаказать через Google Play, даты релиза пока нет. Игроки будут управлять аниме-героями, которые разделены на уровни редкости и элементы: лёд, огонь, ветер, тьма...

[Перевод] Прощайте, базы данных, да здравствуют векторные базы данных Революция в области искусственного интеллекта переформатирует все отрасли нашей жизни, с одной стороны обещая невероятные инновации, а с другой ー сталкивая нас с новыми вызовами. В безумном потоке изменений эффективная обработка данных становится приоритетом для приложений, ...

Правильный мониторинг API: метрики и лучшие практики Применение API в разработке ПО сыграло большую роль в создании современных приложений и повлияло на их общую оценку и опыт конечных пользователей. В этой статье Екатерина Саяпина, Product Owner личного кабинета платформы МТС Exolve, рассказывает про правильные подходы при от...

Дайджест научпоп-новостей за неделю, о которых мы ничего не писали • Гравастары: альтернативная теория чёрных дыр• Самая голодная чёрная дыра из когда-либо найденных съедает по солнцу каждый день• Создан диск размером с DVD, способный вместить 1 миллион фильмов• Учёные заявили о прорыве в области искусственного интеллекта, позволяющем генер...

«Young Adult — это не настоящая литература!» Обсуждаем стереотипы о книгах в новом выпуске подкаста «Женщины и всё» Бумажные книги лучше электронных. Комиксы — это не литература. Читать нужно как минимум 50 книг в год. А люди, которые не любят читать, неинтересные собеседники. В новом выпуске подкаста обсуждаем распространённые стереотипы о книгах, которые мешают нам наслаждаться чтением....

Делаем RPG на Go: часть 0.5 В предыдущей статье мы начали знакомство с Ebitengine. В этой части структура игры будет доработана и переведена на сцены. Читать дальше →

«Луна буквально вывернулась наизнанку»: Исследование раскрыло детали ранней истории нашего спутника Около 4,5 миллиардов лет назад небольшая планета столкнулась с молодой Землёй и выбросила расплавленную породу в космос. Эти обломки медленно охлаждались и затвердевали, формируя нашу Луну. Хотя большинство учёных придерживаются этого сценария, подробности процесса всё ...

Вышел Firebird 5.0 11 января 2024 года, выпущен Firebird 5.0 — восьмой основной выпуск СУБД Firebird, разработка которого началась в мае 2021 года. В Firebird 5.0 команда разработчиков сосредоточила свои усилия на повышении производительности СУБД: параллельное выполнение backup, restore, swee...

Грациозное падение: динамика снежинок и турбулентность Понятие «зимняя сказка» хоть и связано по большей степени с ожиданием рождественско-новогодних праздников, подарков, выходных/каникул, но эстетика этого периода также важна. А важнейшей составляющей этой зимней эстетики является, конечно же, снег. И чтобы на земле образова...

Советский фрикинг. Были ли телефонные фрикеры в СССР? В жизни порой случаются удивительные совпадения. Прошлым летом я расслаблялся с коктейлем под пальмой на берегу тёплого моря, наслаждаясь книгой «Ghost in the Wires», когда в новостях сообщили о внезапной смерти её автора — Кевина Митника. И я задумался: а существовали ли в...

Клеточная архитектура Клеточная архитектура — это подход к проектированию систем, основанный на принципе изоляции и независимости компонентов. Такая модель позволяет разделить большие и сложные системы на меньшие, самостоятельно функционирующие модули или клетки. Каждая клетка представляет собой ...

Когда минимализм побеждает Конверсия – основной фактор в воронке продаж. И вот сегодня совсем короткий, но заставляющий задуматься пост. У меня уже давно на блоге стоит скрипт, который вызывает форму подписки на паблик ВКонтакте. Долгое время это была обычная форма в стиле ВК от fe-nix, ничего лишнего...

Проектируем узлы печатной платы с учетом особенностей монтажа при массовом производстве. Подход DFA Сегодня мы рассмотрим, что стоит учесть в конструкторской документации, чтобы защититься от проблем на этапе автоматизированного монтажа компонентов на плате. Я покажу, как можно организовать подбор элементов, их взаимное расположение и разводку для монтажа, чтобы увеличить ...

Потрошим golang: как устроена память Привет, меня зовут Стас, и я работаю в VK Cloud над разработкой облачных сервисов в команде Data Masters. Сервисы, запрошенные клиентами, так или иначе должны развернуться в том виде, в котором клиенты их запросили, в адекватные сроки и без ошибок. Существует множество мех...

Как учить большие языковые модели (теоретический туториал) Обзорное видео с доклада об особенностях обучения LLM для тех, кто в теме ML/DL, но хочет расширить кругозор в области работы с большими языковыми моделями. На основе личного опыта и обзора множества научных статей и инструментов. Ссылка на презентацию прилагается. Смотреть

Как создать веб-приложение на базе Telegram Mini Apps Telegram Mini Apps — отличная возможность выйти за пределы обычных ботов и попробовать себя в создании более интересных интерфейсов приложений. На базе этого инструмента можно создать магазин или даже сервис для заказа шавермы. В этой статье познакомимся с Telegram Mini Ap...

[Перевод] От идеи до реализации: создание игры с помощью нейросетей В эпоху быстро развивающихся технологий и искусственного интеллекта мы стоим на пороге новой эры творчества. Инструменты, такие как Midjourney, DALL•E 3 и GPT-4, предоставляют уникальные возможности для творцов различных направлений. Было решено исследовать этот потенциал, с...

Из пушек по воробьям. Генерация и решение лабиринта не самым обычным способом На уходящей неделе мне попалась симпатичная, хоть и не новая мини‑серия статей на Дзен‑канале @zdgzdgzdg про процедурную генерацию лабиринта методом «коллапса волновой функции». Пока я читал эти статьи и знакомился с кодом, меня осенило: ведь это&nbs...

7 крутых фишек глобальной версии HyperOS, ради которых я жду обновление Xiaomi На прошлой неделе компания Xiaomi опубликовала список устройств, которые первыми получат глобальную версию HyperOS. В него вошли флагманы Xiaomi 13 и 13T, недорогие смартфоны Redmi Note 12 и Note 12S, POCO F5 и планшет Xiaomi Pad 6. Обладатели этих устройств начнут получать...

QA инженер и дизайн Современные технологии меняют жизнь человечества, предлагая огромное количество различных возможностей. Появляется всё больше и больше разнообразных платформ и устройств, с помощью которых можно легко выполнять различные действия. Разработчики предлагают широкий ассорти...

Премиальные тарифы банков в 2024 году. Большой обзор Я проанализировал премиальные программы 8 популярных российских банков чтобы понять, чем они отличаются и какая из них подходит мне больше всего. Возможно, наши с вами обстоятельства похожи, и для вас мой обзор окажется полезным. А может, кто-то из прочитавших имеет достаточ...

[Перевод] Как я помог сыну собрать релейный калькулятор Недавно мой старший сын решил собрать однобитный компьютер на дискретных транзисторах. Идея создания однобитного устройства может показаться дурацкой, но в данном случае речь идёт не о машине, имеющей всего две инструкции или ячейки памяти, а о размере «слова» арифметически...

Первую часть фантастического рассказа «Карадагский змей» на суд читателей представил Остап Стужев Первую часть фантастического рассказа «Карадагский змей» предложил оценить читателям Остап Стужев. Заглянув в личный телеграм-канал писателя, все желающие смогут познакомиться с произведением. В основе рассказа – история, о которой рассказывают отдыхавшие в Коктебеле туристы...

[Перевод] Data Mesh – ячеистые топологии для работы с данными Из каких соображений можно хранить данные в виде ячеистой сети Во всех организациях, где мне доводилось работать, всегда понимали важность данных. Поэтому я видел, что руководство либо заинтересовано, либо прямо планирует создать платформу нового поколения для обращения с ...

[Перевод] 4 миллиардов операторов if Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.В современном мире, где ИИ п...

Использование маппера UNROM при разработке игр для Dendy на языке Си Приветствую всех любителей программирования всяческих ретро-железок. Могу предположить, что у большинства из читателей этой статьи была в детстве Dendy (а может и сейчас есть) или другой клон Famicom (клонов NES в СНГ я не встречал). Сегодня предлагаю обсудить особенности ра...

Почему я бы на вашем месте не стал устанавливать HyperOS на Xiaomi. Не повторяйте мою ошибку На прошлой неделе я был вынужден установить HyperOS на Xiaomi. Почему вынужден? Потому что после масштабного сбоя, произошедшего 29 февраля, только переход с MIUI на HyperOS через компьютер позволял вернуть смартфон к жизни с сохранением данных. Не случись это и будь в инте...

Паттерны или химеры программирования Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с ...

Почему компании не нужен архитектор Программируя в течение 20 лет, я очень часто слышал об архитектуре и архитекторах. При этом с архитектурой проектов работать приходилось постоянно, а живых архитекторов не видел никогда. Да, в командах всегда были сильные разработчики, которые следили за развитием отрас...

Best Practices по подключению к сторонним API в проекте При разработке больших web-проектов нам часто приходится взаимодействовать с API сторонних или внутренних микросервисов. Когда количество таких взаимодействий растёт, настройки вызовов к другому API и подробности самих вызовов кратно множатся и могут растекаться по проекту.В...

Sovietwave и Sovietpunk: как романтика несбывшегося переплавила ностальгию по СССР в новый жанр? Часть 2 На рубеже нулевых и десятых годов в Рунете всё чаще стали появляться образы «ностальгии по несбывшемуся Советскому Союзу». По альтернативным таймлайнам, где СССР не распался в начале 90-х, а продолжил существование и преуспел — или же имел более красивое и позитивное прошло...

Frontend. Чистые и грязные компоненты Здравствуйте!Коротко о чем тут, чтобы вы могли понять, нужно ли оно вам или нет.Тут я описываю то к чему я пришел в разработке именно компонентов и какой подход использую. Материал может быть полезна скорее для новичков и не обязательно в React, потому что этот подход подойд...

Особенности подготовки текстов для правильного воспроизведения в программах для незрячих Я впервые столкнулся с разработкой для незрячих пользователей в 2008 году, когда принимал участие в разработке программного телефона для контакт-центров, в котором большое число агентов было незрячими. Когда один из моих коллег потерял зрение, у меня было 10 лет опыта с...

Обзор книги «Идеальный хищник»: мастхэв для любителей научпопа Сегодня хочется рассказать о книге редкого жанра – перед вами научный триллер. Это научпоп, детектив и увлекательное художественное произведение в одном флаконе. Полное название книги: «Идеальный хищник. Вирусы против бактерий, или Как я спасла своего мужа» (оригинальное наз...

Возможное решение проблемы ссылок в языках программирования Любому программисту знакомо понятие "ссылка". Под этим термином обычно понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, физически расположенному в другом месте. Из-за этого ссылки удобно использовать, они легко копируются, и ...

Астрономы обнаружили самое массивное сверхскопление: 26000000000000000 Солнц Международная группа учёных под руководством астрономов Тартуской обсерватории Тартуского университета обнаружила множество сверхскоплений во Вселенной. Одним из этих сверхскоплений является «Сверхскоплением Эйнасто», которое было названо в честь профессора ...

Разбор crackme от KilLo (.net) Предупреждение Crackme (как, впрочем, следует из названия) это программы, созданные специально для того, чтобы их взломать (понять алгоритмы, заложенные разработчиком, и используемые для проверки введенных пользователем паролей, ключей, серийных номеров). Подходы и методик...

Как работает кнопка Mute на Яндекс Станции. Подробный разбор логики и схем Привет! На связи Геннадий «Крэйл» Круглов из команды, которая разрабатывает аппаратную часть Яндекс Станций. С кем-то из читателей Хабра мы уже могли познакомиться в рамках мероприятий Я.Железа, где делимся опытом разработки устройств.  Последние несколько лет мы с...

Книга «Канбан Метод. Базовая практика» Привет, Хаброжители! Со словом «канбан» вы наверняка сталкивались, если изучали менеджмент и работаете в сфере, связанной с интеллектуальным трудом, например в IT или маркетинге. И зачастую все, что вы знаете о канбане умещается в три тезиса: его изобрели на Тойоте; в ...

[Перевод] Подробное объяснение принципа KISS в программном обеспечении Когда я ищу информацию о принципе KISS в Интернете, я натыкаюсь на множество сайтов, определяющих его в паре строк: важна простота, давайте быть простыми, конец. Они часто не объясняют, что такое простота, почему простота важна и как ее достичь.Простота - это одна из ведущих...

Microsoft удаляет перетаскивание с помощью адресной строки из нового проводника 26 сентября 2023 года Microsoft выпустила обновление Moment 4 для Windows 11, предоставляющее клиентам множество новых функций и изменений. Переработанный проводник является важной частью обновления и предлагает модернизированный пользовательский интерфейс, поддержку RAR (и ...

Септик и автономная канализация. Часть 2. Проектирование В этой части мы рассмотрим процесс проектирования автономной системы канализации с септиком и сооружениями подземной фильтрации сточных вод. Также продолжим знакомиться с проблемами, возникающими при проектировании и строительстве таких систем. Статья будет полезна всем, кто...

[Перевод] Керниган и Пайк были правы: делай что-то одно и делай это хорошо Роб Пайк и Брайан Керниган В октябре 1984 года два идеолога опубликовали радикальный манифест… ну, или что-то вроде того. Легенды computer science Брайан Керниган и Роб Пайк сформулировали в Program Design in the UNIX Environment паттерн архитектуры ПО, за сохранение котор...

Развитие RISC-V & мультиклеточная архитектура Рост популярности RISC-V с момента его появления в 2010 году позволяет говорить, что архитектура состоялась.Пока успех архитектуры RISC-V — это, в первую очередь, ее открытость. Все остальные факторы вторичны. Минимализм системы команд, ее стандартизация, программная инфраст...

Многопоточность и параллелизм в Go: Goroutines и каналы Язык программирования Go, разработанный с упором на простоту и эффективность, предлагает уникальный подход к реализации параллельных вычислений через Goroutines и каналы. Goroutines, представляющие собой легковесные потоки выполнения, обеспечивают значительные преимущест...

Li Auto пошла по пути Xiaomi: производитель популярного в России внедорожника выпустил автомобильный пылесос Компания Li Auto представила автомобильный пылесос, который, как утверждается, позволяет выполнить внутреннюю очистку автомобиля менее чем за 10 минут. Li Auto L9 является бестселлером в РФ Этот автомобильный пылесос оснащен высокоскоростным бесщеточным двигателем со с...

F и Z паттерны в дизайне. Куда смотрит зритель? Куда мы смотрим в первую очередь?При создании дизайна, будь то целевая страница или любой другой элемент, важно управлять потоком внимания пользователя. Мы можем задать себе три важных вопроса: на чём изначально сфокусируется взгляд зрителя? Что будет влиять на то, как будет...

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

Декодер протокола RC-5 на микросхемах стандартной логики В прошлой статье я рассказал о схеме ИК пульта дистанционного управления, выполненном на микросхемах стандартной логики. В этот раз мне хочется продолжить эту тему и предложить вашему вниманию схему декодера RC-5, которая также выполнена только на логических микросхемах и ...

[recovery mode] Знакомство с IPv6 на практике В 2023 году люди боятся многих новых для них вещей, например, systemd, SELinux, IPv6 и др. От этих вещей люди стараются избавиться, отключить, удалить. Об этом написано во множестве любительских мануалов в интернете, коим может являться и этот. Далее речь пойдёт о протоколе ...

[Перевод] С алгоритмами в духе LeetCode на собеседованиях пора кончать Современная разработка охватывает широкий диапазон от работы с алгоритмами до системного дизайна. По большей части разработка ПО укладывается в эти рамки. Основная масса разработчиков занимается созданием приложений, что ближе с системному дизайну, чем к низкоуровневым алгор...

Все про композитинг в X11 | Linux Приветствую, читатели хабра! Вы когда-нибудь задумывались над тем, что скрывается за красотой и динамичностью вашего рабочего стола? Какие компоненты реализовывают анимации и различные графические эффекты: блюр, тень, скругления, прозрачность? В X11 есть одна очень интересна...

Небольшая щепотка ультразвуковых чудес Картинка Freepik Несмотря на свою практически неслышимость и незримость, ультразвук имеет множество применений в современной жизни. В связи с этим мы и рассмотрим некоторые весьма любопытные его реализации, вдвойне интересные ещё с той точки зрения, что они содержат полный ...

[Перевод] Вычислительные выражения: Введение Скотт Влащин — безусловный гуру в мире F#, написавший введение в язык, которое рекомендуют новичкам вместо официального руководства. Группа энтузиастов давно (и с переменным успехом) пытается перевести руководство Скотта на русский. Я завершаю перевод цикла, посвящённого одн...

Huawei вновь превзошла Samsung, Apple, Honor и всех остальных. Huawei Pura70 Ultra — лучший в мире камерофон по версии DxOMark Специалисты DxOMark протестировали основную камеру Huawei Pura70 Ultra и, по итогам большого исследования, поставили ее на первое место соответствующего рейтинга. Причем лидирует Pura70 Ultra с очень большим запасом: расположенный на втором месте Honor Magic6 Pro уступа...

Решение на миллион: разбираем алгоритмические задачи с победителями True Tech Champ Привет, Хабр! Меня зовут Алина Ёжикова, я работаю в МТС Диджитал и делаю мероприятия для разработчиков. Сегодня расскажу, как мы организовали самый большой и сложный ивент в моей карьере — олимпиаду по программированию на восемь тысяч разработчиков.Я говорю про True Tech Cha...

Презервация и пиратство: как не потерять медиа Вы когда-нибудь задумывались о том, что однажды не сможете посмотреть любимый фильм, пройти любимую игру, прочитать любимую книгу, послушать любимую музыку? Если вы думаете, что такого не случится, то вы не правы. The Crew, гоночная аркада от Ubisoft, больше недоступна для ...

Так dd вы ещё не использовали: исследование скорости чтения и записи Недавно, я вновь побывал в роли технического эксперта, когда занимался переводом книги «Understanding Software Dynamics» от Richard L. Sites. В ходе работы над главой — про скорость работы с жёстким диском, мне поступил вопрос от коллеги: каким образом можно просто и быстро ...

[Перевод] Пишем «Змейку» в 12 строк кода на PyTorch Давайте рассмотрим, как использовать линейную алгебру и тензорные операции, чтобы создать всем известную игру в 12 строк. Будем использовать PyTorch и NumPy. Можно было использовать даже какую-то одну из библиотек, но у PyTorch прекрасное Tensor API, а в NumPy есть хороша...

Code review: почему мы до сих пор его используем и какие альтернативы? Прообраз code review появился в 60-х годах прошлого столетия, когда программы писали на перфокартах. Главной проблемой тогда было преобразование программного кода в машинный — компиляция. Это сложный процесс, чувствительный к ошибкам и структуре написанного кода. Если в проц...

[Перевод] Проблема: Wi-Fi работает только во время дождя Вот что ответил отец на мой вопрос о проблеме с домашним подключением к интернету: «Wi-Fi работает, только когда идёт дождь». Давайте сделаем шаг назад, чтобы осознать смехотворность этой ситуации. В то время я был студентом колледжа (это произошло больше десяти лет назад...

Бесплатные курсы для изучения C++ в 2024 году В 2024 году в сети доступно множество бесплатных ресурсов для изучения C++, которые предлагают высокое качество обучения. Поэтому нет необходимости платить за курсы, если вы можете получить все необходимые знания бесплатно.Учить C++ в 2024 году по бесплатным курсам имее...

Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов Привет, Хабр!Многомерный анализ данных позволяет нам оперировать множеством измерений и атрибутов, создавая более глубокое понимание данных. Это важно для принятия обоснованных бизнес-решений, улучшения производительности и оптимизации процессов.Работая с данными, мы сталкив...

Arc Search — браузер для iPhone с ИИ, который создает сайты по вашим запросам и блокирует всю рекламу Для iPhone выпущено огромное количество разных браузеров. Однако у них у всех есть кое-что общее — движок WebKit. В настоящее время без него попасть в магазин приложений Apple просто невозможно. Поэтому можно сказать, что все браузеры в App Store являются копией Сафар...

PostgreSQL: вернуть место после delete У вас есть таблицы, либо ряд таблиц, строки которых нужно очистить и единственный способ, которым вы можете это сделать - это операция DELETE.Помимо очевидной цели - очистки ненужных данных из таблицы, хотелось бы также увеличить свободное место в области диска, доступн...

[Перевод] Колонизация планет – не такая простая задача, как может показаться Илон Маск и Джефф Безос могут вынашивать многомиллиардные мечты о том, чтобы отправить миллионы людей жить на Марс, на Луну и в космические дома, но в недавно опубликованной книге можно встретить следующий совет: не делайте слишком смелых шагов.Келли и Зак Вайнерсмит не пред...

Транзакция, ACID, CAP теорема и уровни изоляций транзакций простыми словами Данный материал позволит вам подготовиться к собеседованию, освежить знания или познакомиться с такими терминами как транзакции, ACID и уровни изоляции.Важно отметить, что речь пойдет о реляционных базах данных, которые наилучшим образом подходят для транзакций и соответству...

Я научился управлять компьютером силой мысли: обзор нейроинтерфейса NextMind Dev Kit Совсем недавно мне в руки попала невероятная вещь — нейроинтерфейс NextMind Dev Kit. С виду небольшое устройство, простая пластиковая «шкатулка» с несколькими платами и девятью электродами, которая может согласовать мозг с компьютером. На выходных у меня нашлось немного вр...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика В первой части статьи мы разбирались с теорией, которую нужно знать для создания собственных Pytest-плагинов: фикстурами, маркерами и хуками. А теперь перейдем к практике. Я покажу два примера плагинов, которые помогают нам в интеграционном тестировании систем хранения ...

Поездка в Иннополис и Всероссийская олимпиада по ИИ Когда нас позвали быть партнером Всероссийской олимпиады по ИИ для школьников, мы даже не представляли, что это событие (на первый взгляд показавшееся совершенно простым и не особо привлекательным) запомнится нам как одно из самых ярких мероприятий осени. Вроде бы, ниче...

Книга: «Podman в действии» Привет, Хаброжители! Пришло время обновить свой контейнерный движок! Менеджер контейнеров Podman обеспечивает гибкое управление слоями образов и полную совместимость с Kubernetes, а также дает возможность пользователям без прав администратора создавать, запускать непривиле...

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

От аль-Кинди до Керкгоффса На Хабре уже вышло несколько десятков статей, рассказывающих о старинных шифрах и классической криптографии. Например, «Как закалялась сталь», «Элементарные шифры», «История первых шифров» или «Итальянский след». Интересующиеся могут легко найти и другие, это не трудно. В бо...

Экономим на Kubernetes с помощью OpenCost — и другие прелести FinOps Вне зависимости от того, кто вы: небольшой стартап или развитая компания — задача управления затратами особенно важна. Модное понятие FinOps, оно же Financial Operations или Cloud Financial Operations, помогает организациям наиболее эффективно и экономически выгодно использ...

Сооснователь Dogecoin: «На DAO пора поставить крест» Создатель крупнейшей мемной криптовалюты Dogecoin Билли Маркус, известный как Shibetoshi Nakamoto, раскритиковал DAO за их структуру и усомнился в их долгосрочной жизнеспособности

Коллаборация Event Horizon Telescope представила новое изображение чёрной дыры в центре Млечного Пути Международная коллаборация Event Horizon Telescope, которая сделала историческое первое в истории изображение черной дыры, снова вызвала удивление в научном сообществе. Этот выдающийся коллектив учёных снова представил изображение чёрной дыры в центре нашей галактики,&n...

Кровать с палаткой для Toyota Tacoma 2024 — представлен кемпер GoFastCampers В мае Toyota представила совершенно новую Tacoma 2024 года, которая получила редизайн, свежий набор силовых агрегатов и новейшие технологии. Когда автомобиль поступит продажу, для него будет доступен набор GoFastCampers. На этой неделе компания представила свой новый ке...

Ученые раскрыли причины экстремальных наводнений Понимание того, что вызывает экстремальные наводнения, имеет решающее значение для улучшения оценки риска наводнений и снижения ущерба. Исследователи из Центра экологических исследований имени Гельмгольца (UFZ) использовали машинное обучение, чтобы пролить свет на это сложно...

[Перевод] Популярные конфигурационные опции для работы с git Привет! Я всегда мечтала, чтобы в инструментах для работы с командной строкой заранее сообщалось, насколько популярны те или иные конфигурационные опции, предусмотренные в них, например:o    «В принципе, никто этим не пользуется»o    «Этой опцие...

Поиски Девятой Планеты продолжаются: учёные сузили возможные места её расположения Учёные продолжают настойчивые поиски Девятой Планеты  — гипотетического объекта во внешней области Солнечной системы далеко за орбитой Плутона. Целью нового исследования было сузить возможные места расположения Девятой планеты, что может помочь лучше понять с...

[recovery mode] Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы Существует несколько причин, почему стоит учить C# в 2024 году через бесплатные курсы:1. Популярность: C# является одним из самых популярных языков программирования, особенно в сфере разработки приложений для платформы Microsoft. Изучение C# открывает двери для работы над ши...

Для Idle Demon Tamer проходит пробный запуск в США на iOS Мобильная игра Idle Demon Tamer появилась в американском App Store. Для неё проводят софт-запуск на iOS. Как следует из названия, проект выполнен в жанре «idle-экшен», где героиня сражается с монстрами и демонами на мрачных 2D локациях. В первые минуты игрового процесса Idl...

Анализ безопасности Wi-Fi: атаки на WPA2-Personal / Enterprise и методология взлома WPA3 Подробное исследование методологии взлома протоколов WPA2-Personal / Enterprise и WPA3: какие атаки и уязвимости существуют, и какой инструментарий применяется для их эксплуатации. Читать далее

Визуализация результатов Telegram-опросов в Grafana Хотел бы поделиться интересным решением, которое, уверен, было бы полезно для кооперативов и товариществ.Современные технологии постепенно проникают во все области нашей жизни. Сегодня сложно представить соседей многоквартирных домов или земельных участков СНТ/ДНТ без группо...

[Перевод] Когда Random совсем не случаен Этот пост — рассказ об истории, случившейся больше десятка лет назад; её код был мной утерян. Поэтому прошу простить меня, если я не вспомню точно все подробности. Кроме того, некоторые подробности упрощены, чтобы от этой статьи могли получить все, кому нравится компьютерная...

Пароль не нужен. Разбиение файла на зашифрованные фрагменты по схеме Шамира После того как Google отказалась от паролей и перешла на Passkey по умолчанию создаётся впечатление, что концепция текстовых паролей (парольных фраз) сама по себе устарела. И действительно, в некоторых случаях можно добиться достаточного уровня безопасности без паролей воо...

[Перевод] Итак, вы думаете, что знаете Git? Часть третья: реально большие репозитории Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git. Вам хочется использовать ванильный G...

[Перевод] Крупномасштабный стриминг видео с использованием Kubernetes и RabbitMQ Давайте поговорим о тех проблемах, с которыми приходится сталкиваться на сайтах для стримингового видео, и как организовать архитектуру такого сайта, чтобы было проще справляться с нагрузками. Читать дальше →

[Перевод] Хэл Финни не был Сатоши Накамото Тайна личности Сатоши Накамото интригует множество людей с момента появления Биткоина в 2009 году. Кто может быть настолько одарённым, чтобы решить проблему византийских генералов? Кто настолько альтруистичен, чтобы создать новую денежную систему, но не использовать её для с...

Ретроспективный взгляд на развитие микропроцессоров CISC, RISC, MIPS, ARM С момента разработки первой в мире интегральной схемы в 1959 году прошло несколько десятков лет. Все эти годы аппаратные реализации вычислительных устройств, словно древние организмы «Мезозойской эры», претерпевали многочисленные изменения.Они эволюционировали под «давлением...

Как 3D принтеры используют для производства дронов? (Часть 2) В этой статье продолжаем раскрывать тему производства дронов на 3D принтере.3D печать - это полезный инструмент, который помогает проектировать и создавать беспилотники. Производство дрона на 3D принтере - непростая задача для рядовых пользователей, которая требует довольно ...

Размышления о структурном программировании Изначально я хотел назвать статью как нибудь вызывающе, например, "Как наука может превращаться в религию", "В ловушке искажений смыслов структурного программирования" или "О чем вам забыли рассказать про структурное программирование", но в рез...

False или не false? При расследовании инцидентов есть несколько ключевых моментов этого процесса для аналитиков, на которые в данной статье мы обратим внимание – это корректность самого расследования, верная категоризация произошедшего, а также приоритет. Грамотно расставленные приоритеты, а им...

Nintendo подала в суд на создателей эмулятора Yuzu Японская компания Nintendo уже давно ведёт борьбу с разработчиками эмуляторов. Хотя последние не предоставляют ссылки на игры с Nintendo Switch и всячески отговаривают людей от «пиратства». Теперь под раздачу попали создатели эмулятора Yuzu — на них подали в суд, а обвинения...

[Перевод] Почему я отказался от разработки игр на Rust, часть 1 Предисловие: этот пост представляет собой очень длинный перечень мыслей и проблем, возникавших у меня за годы работы; также в нём рассматриваются некоторые из аргументов, которые мне часто говорили. В посте выражено моё мнение, сформировавшееся у меня в процессе разработки и...

Можно ли кипятить воду из-под крана дважды При кипячении вода меняет свой состав Сырую воду, то есть прямо из-под крана, не рекомендуется пить. Она может содержать болезнетворные микроорганизмы, тяжелые металлы и другие химические элементы, которые способны сильно навредить здоровью. Поэтому перед употреблением ее ре...

Лучшие лайфхаки автостратегий в Я.Директе по итогам 2023: 10 бизнес-кейсов в формате «проблема — решение — результат» Как решать проблемы в рекламе, когда лидов мало, заявки дорогие, бюджет сливается и доля рекламных расходов растет?  Умение работать с автоcтратегиями Яндекса -  главный тренд в рекламе 2024 г.  ИИ захватывает все больше власти в рекламе и оставляет все м...

Древнеегипетский папирус содержит подробное описание исчезнувших ядовитых змей В Древнем Египте жило гораздо больше змей, чем сейчас Древнеегипетские папирусы обычно ассоциируются с книгой мертвых, всевозможными заклинаниями и прочими текстами, связанными с египетской мифологией и верованиями. Однако они на самом деле часто содержат рукописи с совершен...

[Перевод] HR-аналитика: история развития Понятие HR возникло с приходом промышленной революции: развитие промышленности создало большой спрос на различные категории рабочей силы. Рабочих стали поощрять денежными выплатами, а для управления этой рабочей силой начали назначать руководителей / менеджеров. Сейчас этот ...

Память как у пингвина: Работа памяти в Linux Что такое память и какие они бывают в Linux? Как с ней взаимодействовать? Каковы её особенности?Что такое кластеры, откуда в ядре Linux грязные и чистые страницы - читайте в этой статье! Читать далее

Интересная сторона обновлений программного обеспечения для iPhone и Android По мере того, как год подходит к концу, найдите время, чтобы изучить iOS 17 и Android 14 с новыми обоями и виджетами или создав цифровой дневник.

Прогнозирование временных рядов с помощью библиотеки Skforecast В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, ...

[Перевод] Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределенных СУБД Общеизвестно, что PostgreSQL - крайне эффективная СУБД с богатой функциональностью. При этом не секрет, что PostgreSQL масштабируется только вертикально и её производительность ограничена возможностями одного сервера.Написано много хороших постов, в которых сравнивают архите...

Как устроен GIL (Global Interpreter Lock) в Python: влияние на многозадачность и производительность Привет, уважаемые читатели!GIL, или Global Interpreter Lock десятилетиями оставался темой обсуждения и дебатов среди питонистов.Что такое GIL? GIL, сокращение от Global Interpreter Lock, представляет собой важную концепцию в Python. Он представляет собой мьютекс, который бло...

Делаем макросы в Rust Привет, Хабр!Rust имеет два основных типа макросов: декларативные и процедурные. Каждый из этих типов служит различным целям и предоставляет различные возможности манипуляции с кодом.Декларативные макросы работают, сопоставляя заданные шаблоны с фактическим кодом и заменяя е...

Пока что только для работы, но это сократит потери времени во многом (для меня - точно).      Добрых суток много лет. Всё так решил выползти за рамки своего дневника и раскрыть немного больше по предмету изделия. Изделие данное сократит несанкиционированный доступ вредных веществ в мой организм - а именно обеспечит приток более чистого воздуха под маску сварочну...

Формальные методы проверки смарт-контрактов Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про п...

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Решение внутренних конфликтов: инженерный подход Люди на Земле уже многие века как-то решают свои внутренние конфликты. Да что там говорить - это умеют делать даже обезьяны. Хотя у людей получается лучше: нам помогают не только инстинкты и развитый неокортекс, но и чужой опыт: мифы, религии, философские учения, нормы культ...

Гуманитарный сдвиг в подготовке архитекторов 1С В чем заключается миссия архитектора 1С? По большому счету в том, чтобы задать верное направление усилиям разработчиков. Архитектор 1С должен обладать способностью заглянуть в будущее. Ясно представить себе судьбу и жизненный путь создаваемого продукта. Чего могут захотеть...

Синтетическое генерирование данных (SMOTE) Привет, Хабр! В далеком 2002 году, когда многие из нас еще тусовались на IRC и мечтали о широкополосном интернете, Нитеш Чавла и его команда представили миру SMOTE. Этот алгоритн решал реальную и больную проблему — несбалансированность классов в обучающих данных. Почему несб...

Научная загадка: как 8000 лет люди посещали пещеру, в которую сложно попасть даже со снаряжением Ученые обнаружили, что люди посещали опасную непроходимую пещеру 8000 лет назад Земная кора буквально пронизана пещерами — глубокими полостями, часто красивыми и при этом очень опасными, как например, Пещера кристаллов, о которой мы не так давно рассказывали. Одной из самых ...

[Перевод] Кандидатура — старший инженер-программист. В должности отказать… Привет, Хабр!Недавно команде разработки beeline cloud попалась вот такая статья. И оказалась она довольно дискуссионной. Настолько, что мы решили ее перевести и узнать мнение широкой аудитории — а кто же, по вашему мнению, достоин называться синьором?Похвально, когда ради ка...

[Перевод] Программирование вне парадигм Со времени изобретения высокоуровневых языков программирования в отрасли доминируют парадигмы. Именно парадигмы, от императивных до объектно-ориентированных и функциональных – в основном формируют современный дискурс, касающийся языков программирования. Читать дальше →

Печать детали с разной высотой слоя Приветствую всех!Появилась необходимость изготовить детали для работы в среде с движением жидкости, часть детали на фото.По наружке планируется просто проточить, а вот внутрянку проточить или иначе обработать проблематично.Для "правильного" течения жидкости очень желательно ...

Закрыта одна из крупнейших сделок в IT-индустрии: Broadcom завершила покупку VMware за 69 млрд долларов Компания Broadcom наконец-то завершила сделку по приобретению VMware общей суммой на 61 миллиард долларов. Об этом сообщила пресс-служба компании, недавно получившая последнее необходимое разрешение от регулятора в Китае.  Сделка долгие месяцы проверялась антимоно...

Игровых систем на Linux прибыло: компания Playtron разрабатывает альтернативу Windows и SteamOS Когда речь заходит об игровом программном обеспечении на базе Linux, сразу же вспоминается Steam Deck от Valve. В свое время выпуск новой игровой портативной консоли, да еще на базе полностью нового софта, стал сенсацией. Впечатление усиливалось тем фактом, что софт базиров...

Инфраструктурный пентест по шагам: инструменты, методологии и разведка В этой статье вас ждет база — те вещи, которые должен знать каждый начинающий пентестер, занимающийся аудитами внутренней инфраструктуры. Начнем с теории — того, по каким схемам действуют хакеры и как знание этих шаблонов помогает в работе пентестера. Затем перейдем к выбор...

Дом, милый дом: нюансы работы с ClickHouse. Часть 1 Всем привет, меня зовут Пётр, я инженер компании Nixys. На современных проектах используется огромное разнообразие баз данных: реляционные, ключ-значение, документоориентированные. Особое место среди них занимают колоночные базы данных, ярким представителем которых является ...

О мат-нотациях и Машинах Тьюринга Всем Хабр! Совсем недавно открыл для себя некоторые прелести Латеха и начал активно в нем работать. По ходу дела возникали разные интересные мысли, которыми здесь и поделюсь. В статье пойдет речь о моих небольших дополнениях к мат-нотациям, которых мне не хватало, а также о ...

Использование Istio для управления трафиком и мониторинга в микросервисах Привет, уважаемые читатели Хабра! Когда у нас есть десятки, сотни или даже тысячи микросервисов, становится важным уметь управлять трафиком между ними. Это может включать в себя маршрутизацию запросов, балансировку нагрузки, версионирование сервисов и даже внедрение A/B-тест...

Рассчитываем оптимальный бэклог спринта с использованием методов линейного программирования Сталкивались ли вы с понятием линейного программирования? А его применением на практике? В университете мы изучаем разные разделы математики, нам рассказывают про математические модели и методы, однако вопросу их практического применения часто уделяется недостаточно внимания...

[Перевод] PL/I — многогранный язык Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь иде...

70 лет Сиду Мейеру — величайшему создателю игр Бывают игры, а бывают — Игры. Они остаются с нами на долгие годы, обретают верных почитателей, о них с теплотой вспоминают даже спустя много лет. С одной из таких игр я впервые познакомился в 1992 году, и могу сказать, что иногда нет-нет, да и поигрываю в ее современное пе...

Создание генетического алгоритма для нейросети и нейроcети для графических игр с помощью Python и NumPy Привет, Хабр!Сегодня я расскажу и покажу, как сделать Genetic Algorithm(GA) для нейросети, чтобы с помощью него она смогла проходить разные игры. Я его испробовал на игре Pong и Flappy bird. Он себя показал очень хорошо. Совет прочитать, если вы не читали первую статью: "Соз...

Этот мощный вертикальный пылесос с самоочисткой должен стать твоим. Особенно, по такой низкой цене Не знаю как вам, но мне в последнее время уборка дома дается с трудом. Одна мысль о том, что придется сначала пропылесосить всю квартиру, а затем отмыть полы вызывает дискомфорт — и это я уже молчу о том, что придется несколько раз поменять воду и отжать тряпку на шва...

Что я понял, изучив 50 книг про IT? За прошедшие 3-4 года я прочитал в общей сложности более 25 000 страниц технической литературы и стал замечать, как сильно изменились подходы к выбору книг и их изучению. В этой заметке хочу поделиться наблюдениями и выводами, которые помогут читателю сэкономить время, сохра...

Кеширование next.js. Дар или проклятие В 13 версии команда next.js представила новый подход к проектированию приложения - так называемый App Router. В 14 версии его сделали стабильным и основным для новых приложений.App Router значительно расширяет функционал next.js - частичный пререндеринг, шаблоны, параллельны...

Lexus и Toyota признали самым надёжными машинами. Опубликованы результаты нового исследования J.D. Power Аналитическое агентство J.D. Power опубликовало результаты исследования надежности автомобилей на американском рынке, где лидерами стали компании Lexus и Toyota. Эксперты отмечают, что общее качество автомобилей снижается, особенно из-за сложных мультимедийных систем и ...

[Перевод] Функции ранжирования: RANK, DENSE_RANK, and NTILE В предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникал...

Обзор продукта «Структура API» и новой функциональности сравнения Open API спецификаций Всем привет!Сегодня мы хотим вам рассказать о нашем продукте «Структура API» и последних изменениях в нём. Данный продукт позволяет решить одну из важнейших задач в управлении API – это получение актуальной и полной структуры API на основании реального трафика. Результат пре...

[Перевод] Создаём надёжные API для бэкенда при помощи конечных автоматов: подробное руководство Я — бэкенд-разработчик, поэтому мне довелось по достоинству оценить, насколько важны конечные автоматы при построении надёжных систем, которые хорошо масштабируются. Конечные автоматы отлично подходят для моделирования сложной бизнес-логики и автоматизации переходов между со...

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

Отрицание, торг и принятие работы над проектом без документации Приветствую, уважаемые читатели Хабра!

Почему я не переношу данные со старого смартфона на новый и вам не советую В 2024 году переход на новый смартфон прост как никогда: вы без проблем можете перекинуть большинство данных, просто войдя в свой Гугл Аккаунт. В отличие от мобильных телефонов, нет никаких сложностей скопировать все файлы на другое устройство, а в большинстве случаев вам д...

[Перевод] Почему Facebook* не использует Git Я работаю над созданием Graphite, источником вдохновения для которого стал внутренний инструментарий Facebook. Когда я решил создать стартап с друзьями, то никогда раньше не слышал о Mercurial, хотя всегда страстно любил инструменты разработчика. Мой предыдущий опыт разработ...

Первая игра на LeoEcsLite Целью этой статьи является изучение архитектурного паттерна Entity Component Systems на практике. Я подготовил пошаговое руководство по созданию небольшой игры, с помощью которого вы познакомитесь с основными принципами разработки на Ecs. Читать далее

Экономический эффект Марка Твена Не в честь каждого называют экономический эффект. Марк Твен знатно потрудился, чтобы это звание закрепилось за ним в веках. Инвестировать он начал одновременно с карьерой журналиста и писателя. И если перо принесло ему успех на литературном поприще, то вот игры с инвести...

Эксперт перечислил вещи, которые улучшат сон Большую роль в поддержании хорошего общего физического и эмоционального состояния играет сон. Для его улучшения сегодня существует множество разных гаджетов.

Участники открытого урока Федора Конюхова познакомятся с его картинами 5 октября в 19:00 в концертном зале «Барвиха Luxury Village» впервые состоится уникальная встреча с легендой — всемирно известным путешественником и художником Федором Конюховым. Символично, что открытый урок от Федора Конюхова пройдет в День учителя. Нашему великому совреме...

Анатомия эффективного собеседования. Что делать и чего не делать на собеседовании, часть 1 Я провел много собеседований за свою карьеру, возможно, несколько сотен в общей сложности. Мы отбирали и подготавливали людей для собеседований в компаниях вроде Microsoft и Google, так что это были весьма сложные собеседования. В начале я был не очень хорош в этом и делал в...

[Перевод] Прекратите клепать базы данных В жизни каждого инженера-фронтендера наступает момент, когда осознаёшь: далее не обойтись без кэширования данных из API. Всё может начаться с самых невинных вещей: сохраняем предыдущую страницу с данными, чтобы кнопка «Назад» срабатывала мгновенно; реализуем простенькую логи...

Локальные GPT нейронный сети — проверяем на адекватность аналоги ChatGPT, запускаемые на домашнем компьютере Есть много LLM нейронных сетей, создатели которых говорят, что они аналогичны, а может даже лучше ChatGPT версий 3.5 и 4.0. Давайте попробуем протестировать их, и понять, действительно ли они так хороши. Читать далее

[Перевод] Как языковая модель предсказывает следующий токен (часть 1) Я обучил небольшой (порядка 10 миллионов параметров) трансформер по превосходному туториалу Let’s build GPT: from scratch, in code, spelled out Андрея Карпати. После того, как он заработал, я захотел максимально глубоко понять, как он устроен внутри и как создаёт свои резуль...

Эволюция методологий разработки Я занимаюсь разработкой софта уже почти 30 лет и на моих глазах происходило развитие отрасли. Рождались и умирали технологии, менялись языки разработки. Причем я наблюдал эти процессы не просто как сторонний наблюдатель. Менялись языки, на которых я писал код, умирали технол...

[Перевод] Pandas: от хаоса к красоте кода Работа с pandas.DataFrame может превратиться в неловкую кучу старого (не очень) доброго спагетти-кода. Я и мои коллеги часто используем эту библиотеку, и хотя мы стараемся придерживаться хороших практик программирования, иногда мы все равно мешаем друг другу, создавая запута...

Несколько отличных наушников для тех, кто любит играть и слушать музыку У компактных наушников есть одно большое преимущество перед полноразмерными или накладными — они гораздо меньше и их легче брать с собой. Их более компактная конструкция также может помочь в условиях ограниченного пространства или при необходимости интегрировать в сис...

Как управлять сотнями sidecar-контейнеров без боли и сожаления При использовании дополнительных контейнеров в Kubernetes важно развернуть их так, чтобы сократить количество YAML-кода и при этом не лишить платформенные команды возможности публиковать sidecar'ы без запроса на обновление приложение. Для этого подходят Sidecar Injector'ы — ...

Как одна случайная мутация помогла мне найти лечение для себя и собрать 342 миллиона для других В 2004 у меня родилась дочь с хрупкими костями. В 2 месяца медсестра сломала ей голень, когда измеряла рост. Всего у нее было 17 переломов. Когда я узнала диагноз своего ребенка, конечно, впала в депрессию. Я выходила на улицу и одного ребенка везла на инвалидной коляске, др...

[Перевод] Технология солнечного паруса НАСА нового поколения готова к запуску Путешествие под парусом в космосе может показаться чем-то из области научной фантастики, но эта концепция больше не ограничивается книгами или большим экраном. В апреле технология солнечных парусов нового поколения, известная как Advanced Composite Solar Sail System, будет з...

Burnout Revenge: концентрированное гоночное безумие Помните те времена, когда компания Electronic Arts ещё пыталась делать какие-то классные проекты, которые, помимо интересного геймплея, могли предложить наикрутейшую лицензированную музыку? Уверен, многие из вас хранят в памяти различные части серии Need For Speed, FIFA и NH...

Переводы из России в Грузию и Казахстан начали сокращаться, в Армению — по-прежнему растут Денежные потоки в соседние страны увеличились, когда в России объявили частичную мобилизацию. Но за год темпы роста изменились.

«Познакомившись с этим автомобилем поближе, честно говоря, я бы отдал денег, скорее, за "Весту"». «Клубный сервис» разобрал Haval M6 и нашел в нем немало интересного «Клубный сервис» разобрал популярный в России Haval M6 для того, чтобы ознакомиться с его конструкцией. Оказалось, что в автомобиле немало всего интересного, обусловленного своеобразным подходом китайцев к проектированию авто. Например, жесткая шумоизоляция...

Фотон-вышибала: испарение воды без нагрева Одним из фундаментальных фактов является то, что вода испаряется при нагревании. Если в солнечный летний день поставить стакан воды на освещенную солнцем поверхность, то со временем воды в стакане станет явно меньше. Но, как уже не раз доказывала наука, даже самые явные и ...

Как номер телефона добавить в WhatsApp на телефоне? Разные способы Добавить номер телефона в WhatsApp можно разными способами, о которых мы и расскажем. Добавить номер в WhatsApp через новый чат Если занести необходимо новый номер, с которым еще нет переписки, сделать это можно через добавление нового чата. Для этого потребуется выполнить с...

Роботы, их применение сегодня и особенности видов На сегодняшний день, когда технологии стремительно развиваются, в эксплуатации появляются умные устройства, которые обладают искусственным интеллектом. Роботы – это автоматическая техника, имеющая встроенную программу, благодаря которой она может выполнять множество функций,...

[Перевод] Интернету исполнилось 50 лет. Винт Серф: «У нас всё ещё много работы» Винт Серф, один из создателей интернета, формирует информационные технологии вот уже пятьдесят лет. Команда VK Cloud перевела его интервью, в котором он рассказывает о своей жизни, инклюзии, о перспективах развития облачных технологий, ИИ и квантовых вычислений. Читать дал...

Лунный образец, доставленный китайской миссией в 2020 году, содержит минералы, которые дают ключ к разгадке истории Луны Луна приобрела свой характерный вид из-за столкновений с космическими объектами, которые создали ударные кратеры на её поверхности. Однако кратеры — это не единственное, что осталось после этих событий. Исследователи обнаружили, что сильное давление и высокая темп...

Графика древности: палитры, часть 2/2 В предыдущей части цикла статей мы рассмотрели историю эволюции палитр в цветной компьютерной графике домашних компьютеров и игровых консолей, а также причины, почему они оказались именно такими и содержали те или иные цвета. Однако тема палитровой графики ещё не исчерпана....

Apple использует новую технологию, чтобы максимально уменьшить края iPhone 16 Apple будет использовать новую структуру уменьшения краев - технологию, позволяющую минимизировать ободки в нижней части экрана.

[Перевод] Погубит ли Java 22 сборочные инструменты? Вступление Я Николай Парлог, представитель отдела разработки Java в Oracle, и, отвечу на вопрос, вынесенный в заголовок — нет, конечно же, нет! Как вы могли только подумать о таком! Но она немного снижает их актуальность, и в правильных обстоятельствах это очень хорошо. Позж...

[Перевод] Топ-5 распространенных практик написания хорошего Swift-кода Эффективность при написании кода заключается не только в достижении желаемой функциональности, но и в создании кода, который будет производительным, удобным в сопровождении и легко читаемым. В Swift то, как вы пишете код, может оказывать сильное влияние на общую производител...

React + Three.js. Создаём собственный 3D шутер. Часть 2 Привет, дорогие пользователи мира IT!В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетат...

React + Three.js. Создаём собственный 3D шутер. Часть 1 Привет, дорогие пользователи мира IT!В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетат...

React + Three.js. Создаём собственный 3D шутер. Часть 3 Привет, дорогие пользователи мира IT!В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетат...

NumPy для самых маленьких Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сф...

Чтобы запустить обмен знаниями в командах, надо всего лишь… Привет, Хабр! Меня зовут Лера Чеканова, я руководитель CROC Univer. Расскажу, о том, как у нас в КРОК устроен обмен знаниями и опытом. Поделюсь, зачем нужен этот процесс, как его внедрить быстро, несложно и в разных форматах. В КРОК я руковожу корпоративным университетом и о...

Продакт-менеджеры против традиционных менеджеров Продакт идеален для чисто ИТ-продукта, а традиционный менеджер — для стройки, финансового или образовательного проекта. Только вот у нас стык цифрового и образовательного проекта, и потому ни тот ни другой не подходят в полной мере. Продуктовый менеджер, или ПМ, — относи...

[Перевод] Насколько реалистичны интерфейсы в фильме «Хакеры» 1995 года? Фильм Хакеры рассказывает о группе хакеров-подростков, ведомых любопытством и не причиняющих вреда (по крайней мере, тем, кто этого не заслуживает). Один из этих хакеров взламывает компьютерную систему «Гибсон», принадлежащую крупной компании, и в доказательство своего успе...

[Перевод] Призыв писать компактное ПО, версия 2024 года (с примером кода) Этот пост посвящён памяти Никлауса Вирта, первопроходца в сфере вычислительных наук, ушедшего от нас 1 января этого года. В 1995 году он написал важную статью A Plea for Lean Software, и в своём посте я постараюсь воспроизвести её почти тридцать лет спустя, с учётом современ...

Почему не стоит устанавливать ранние версии Android и приложений Писать программы сложно, и об этом многие догадываются. Куда сложнее написать универсальный программный код для сотен разных моделей смартфонов так, чтобы он нравился если не всем, то большинству. Когда вы берете миллионы строк общего кода и пытаетесь превратить его в нечто...

Полмиллиона реальных долларов на продаже виртуального снаряжения из Counter Strike Скины из игр — почти валюта. В 2023 году Valve сделала в CS:GO 54 миллиона долларов в месяц только на ящиках с новыми скинами снаряжения. Это ощутимая часть годового дохода от CS:GO с учётом вторичного рынка скинов и наклеек. Сама игра при этом совершенно бесплатная. Невзр...

[Перевод] Об изучении компиляторов и создании языков программирования Когда я только начинал изучать компиляторы, я не понимал одного важного момента: Разработка языка программирования и написание компилятора — это два почти совершенно разных навыка. Конечно, между ними есть некоторое пересечение, но меньшее, чем может показаться на первый взг...

Как включить HD-звук в режиме разработчика и зачем это нужно? В режиме разработчика на смартфоне можно улучшить звук и активировать его HD-качество. Расскажем, как включить HD звук на телефоне, и при каких условиях он будет работать. Режим для разработчиков — особый раздел настроек, который есть на любом современном Android-устройстве...

Как перекинуть файлы и ссылки между любыми устройствами без сторонних приложений Если вас спросить, каким образом можноподелиться ссылкой или перекинуть файл между разными устройствами, вы наверняка назовете огромное количество разных способов. В частности, наверняка вспомните мессенджеры и облака. Но что делать, если два устройства не связаны общими а...

10 изобретений, которые убили своих создателей Трагические и поучительные истории о первопроходцах в сферах авиации, судоходства, типографии и кулинарии.

Pure.DI помогает сделать DI чистым В статье поговорим о Dependency Injection. Обсудим что такое чистый DI, коснемся DI контейнеров и их эволюции. В основной части речь пойдет о генераторе исходного кода Pure.DI и о том, как он помогает создавать приложения в парадигме чистого DI. Чита...

Внедрить новый управленческий подход и не разрушить команду: эволюция vs революция и причем тут канбан Есть простая айтишная мудрость: «работает — не трогай». Она применима и к бизнесу. Но на практике без нововведений, хоть и редких, бизнес может не только перестать расти, но и начать стагнировать. И нередко изменения действительно оправданы и помогают улучшить показател...

Встроенные системы: с какими сложностями сталкиваются разработчики Проектирование встроенных систем подразумевает создание аппаратного обеспечения (печатной платы) и встроенного ПО. На каждом из этих направлений разработчики сталкиваются с неочевидными трудностями – неочевидными прежде всего для заказчиков. Здесь я хотел бы перечислить самы...

Это мы пишем и обслуживаем банковский процессинг, нам надо серьёзно поговорить В марте-22 внезапно отключились Visa и MasterCard. Это посредники передачи информации между разными банками. По сути, системы обеспечивают маршрутизацию сообщений между банками и позволяют вам использовать карту любого банка с банкоматом или платёжным терминалом другого, а з...

[Перевод] Ликбез по корутинам Kotlin Корутины — это паттерн проектирования, предназначенный для написания асинхронных программ, способных выполнять нескольких задач одновременно.В асинхронных программах несколько задач выполняются параллельно в отдельных потоках, не дожидаясь завершения друг-друга. Потоки — рес...

Китайская обсерватория космических лучей обнаружила «суперускоритель» космических лучей в области звездообразования Лебедя Китайская большая высотная обсерватория воздушных потоков (LHAASO) сделала открытие в области звездообразования Лебедя, которое может перевернуть понимание природы космических лучей. Астрофизики обнаружили гигантскую структуру гамма-излучения, которая превосходит по эне...

Мистер Твистер. Впечатления о Twister OS для Raspberry Pi Когда я купил себе Raspberry Pi 400 и водрузил на него Dosbian, я заранее знал, что рано или поздно наиграюсь в «X-Com» и захочу попробовать что-нибудь ещё. Классическую Raspberry Pi OS я уже видел, поэтому душа требовала разнообразия, а пятая точка — приключений. И тут я с...

Про сортировку чисел и SIMD или как я обогнал STL в 16 раз Cитуация, когда недостаток производительности пытаются покрыть новым железом, не редка. Важно понимать, однако, что железо, которое мы использовали и используем сегодня, содержит в себе множество механизмов, способных актуализировать наш код на года вперед. В моем понимании ...

ИБ и ИТ, давайте жить дружно. Вот как это возможно Безопасность во многих компаниях стоит особняком. Вместо того чтобы беспокоиться о качестве вашего продукта, безопасники твердят о ГОСТах и ISO, о разных сертификациях и авторизационных протоколах — вещах важных, но вне фокуса основного архитектора. При этом их деятельность ...

Расчет количества газа необходимого для выполнения транзакции в Ethereum. Часть 2 — storage Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых "дорогих" операциях работы с хранилищем смарт-контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Et...

[recovery mode] Кейс АТОМ: Как не потерять гибкость при проектировании электромобиля Привет! Это Дмитрий Гайдук, менеджер в АТОМе по корпоративным и онлайн-сервисам. Каждое инженерное и программное решение в АТОМе – это отдельный продукт. Но если вырывать эти продукты из контекста, они останутся отдельными разрозненными решениями. Для нас крайне важно измени...

Автоматическое тестирование ускорило разработку в 50 раз. Сказка от создателей FoundationDB Автоматическое тестирование по сравнению с обычным, источник Стартап Antithesis Operations LLC создан разработчиками известной системы FoundationDB. Они говорят, что между двумя продуктами много общего: «Когда в 2010 году мы взялись за создание масштабируемой, отказоустойчи...

[Перевод] Извлечение текста из файлов PDF при помощи Python ▍ Введение В эпоху больших языковых моделей (Large Language Model, LLM) и постоянно расширяющейся сферы их применений непрерывно растёт и важность текстовых данных. Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-стате...

Архитектурные нюансы OpenStack. Базы данных как сервис, реализация Trove Привет, Хабр. Это вторая статья в цикле, в котором мы рассматриваем архитектуру основных сервисов OpenStack. Первая, в которой я рассказывал о Nova и общих паттернах построения платформы, находится здесь. Сегодня погрузимся в детали реализации сервиса DBaaS, который в платфо...

[Перевод] Как древние люди изучали и предсказывали солнечные затмения Во время затмения, когда луна начинает медленно закрывать солнце, на земле появляются тени в форме полумесяца, и мир погружается в жуткие дневные сумерки. В понедельник это произойдёт на большой территории Северной Америки.Как древние культуры реагировали на темноту, скрываю...

React 18: что поменялось React — одна из самых популярных JavaScript-библиотек для создания пользовательских интерфейсов. В её новой версии произошли значительные изменения, и сейчас я расскажу про самые важные. React 18 теперь умеет существенно лучше работать с приложениями, содержащими большие ...

3D печать У нас было два 3D принтера, семьдесят пять гигабайтов моделей, 5 катушек PETG, ящик ABS наполовину наполненный PVA, и целое море разноцветных  обрезков PLA, а так же литр ацетона, литр дихлорметана, пинта чистого лимонена, и 12 пузырьков клея. Не то, чтобы всё это было катег...

Вестник Midjourney: новая документация, генерация фрагментов и тюнер стилей В начале 2023 года я рассказывал о четвертой версии Midjourney, а затем — о альфа-доступе к пятой. Сейчас актуальная версия — 5.2, а недавно вышла альфа шестой. Сохраним хронологию и посмотрим, что нового в пятой версии. Спойлер: разработчики уделили внимание не только про...

Что будет если переименовать суперпользователя? Экспериментируем, удивляемся и расстраиваемся… В интернете много желающих перебирать пароли к SSH, что получить мощности вашего сервера безвозмездно. Как это можно предотвратить? Отключить вход по паролю? Лениво. Использовать нестандартный порт? Не поможет. Поставить fail2ban? Скучно. Переименовать root? Вот это хорошая...

Пароли в открытом доступе: ищем с помощью машинного обучения Я больше 10 лет работаю в IT и знаю, что сложнее всего предотвратить риски, связанные с человеческим фактором. Мы разрабатываем самые надежные способы защиты. Но всего один оставленный в открытом доступе пароль сведет все усилия к нулю. А чего только не отыщешь в тикета...

Автопилот ровера Perseverance установил рекорд по самой длинной дистанции на Марсе: Система автоматической навигации ровера даже провела его через валуны, которые не были видны орбитальным аппаратам Хотя команда миссии обычно вручную составляет маршрут ровера, автоматическая система навигации с названием AutoNav в этом случае оказалась более успешной, поскольку она безопасно направляла Perseverance вокруг валунов, незаметных на орбитальных изображениях, которые обы...

Кратко про язык программирования Triton Triton был разработан специально для выполнения на GPU и предоставляет удобную Python-ориентированную среду.Triton позволяет использовать модель программирования, основанную на блоках, которая значительно отличается от традиционной модели CUDA. Вместо управления потоками на ...

Измельчитель пищевых отходов Haier HDM-1370B: для тех, кто любит кидать очистки в раковину Измельчитель — пока еще не очень известный на наших кухнях прибор. Но как здорово, когда не нужно выливать заварку в унитаз, а можно просто отправить ее в раковину, нажать на кнопку, и пока измельчитель работает, сполоснуть чайник. Или чистить картошку под струей воды, совер...

[Перевод] Взламываем головное устройство автомобиля Nissan В комплекте с моим Nissan Xterra поставлялось современное (на то время) головное устройство с сенсорным экраном, встроенной навигацией, дисплеем камеры заднего вида, мультимедийными функциями и возможностью подключения смартфона. Некоторые из самых продвинутых функций досту...

Отличные головоломки для Андройд, к которым хочется возвращаться снова и снова Головоломки сыграли важную роль в развитии человеческого интеллекта, а игры-головоломки на смартфоне продолжают эту традицию. Они стимулируют мышление, развивают логику и предоставляют уникальный опыт тренировки мозга и получения удовольствия от процесса. Но, возможно, само...

Huawei выпустила Белую книгу по архитектуре интеллектуальной трансформации общественных услуг На конференции HUAWEI CONNECT 2023 компания Huawei провела дающий пищу для размышлений саммит по теме «Ускорение интеллектуальной трансформации общественных услуг для продвижения когнитивного общества». На данном мероприятии компания Huawei представила  Белую книгу...

Как отличить поддельное приложение Сбербанка в App Store от оригинального Несмотря на то что Apple регулярно удаляет из App Store приложения российских банков, оказавшихся под санкциями, банки не отступают и время от времени снова выпускают свои личные кабинеты для iOS под новыми названиями. Вкупе с всеобъемлющей рекламной практикой и поддержкой ...

[Перевод] Ranking Functions: ROW_NUMBER Четыре функции ранжирования: ROW_NUMBER, RANK, DENSE_RANK и NTILE появились в SQL Server 2005 и отличаются от обычных скалярных функций тем, что результат, который они выдают для строки, зависит от других строк выборки. От агрегатных функци...

Самолет за 25000 евро, плата от ноутбука LG Gram и многое другое: новые находки на испанской барахолке Привет, Хабр! Сегодня расскажу об очередной поездке на барахолку, которая расположена под Валенсией. Сейчас стало немного прохладнее, чем несколько недель назад, соответственно, появилось и больше покупателей, поскольку никто уже не боится получить тепловой удар. При этом ...

Без логики сложно, а с логикой непросто Прочитал недавно статью Без логики сложно. Публикация скорее понравилась. Не со всем я согласен, но статья запустила мыслительный процесс. Результат хочу опубликовать.Автор исходной статьи рассматривает проблему общения в Интернете. Все сталкивались с проблемой непонимания ...

Книга «BPF: профессиональная оценка производительности» Привет, Хаброжители! Инструменты оценки производительности на основе BPF дают беспрецедентную возможность анализа систем и приложений. Вы сможете улучшить производительность, устранить проблемы в коде, повысить безопасность и сократить расходы. Книга «BPF: профессиональная...

Автоматизация рутинной деятельности с помощью Security Vision SOAR: практика Андрей Амирах, руководитель отдела технического пресейла Security VisionТимур Галиулин, менеджер по развитию продуктов Infowatch В этой статье мы расскажем о процессе автоматизации рутинной деятельности в одном из подразделений ИБ крупной компании. Исходные данные: подр...

Японцы вкладывают огромные средства, чтобы доминировать на рынке чипов. Renesas покупает Altium почти за $6 млрд Японский производитель полупроводников Renesas Electronics заявил, что покупает зарегистрированную в Сиднее компанию по разработке программного обеспечения Altium за 9,1 миллиарда австралийских долларов (5,89 миллиарда долларов) наличными, поскольку компания стремится о...

Как оформить подписку на Букмейт со скидкой и слушать аудиокниги на iPhone Я уже достаточно давно являюсь пользователем сервиса с аудиокнигами “Книга в Ухе”, но последнее время стало сложно найти там что-то действительно новое. К тому же у него нет отдельного приложения, и приходилось постоянно пользоваться мобильной версией. В ноябре от Яндекса п...

[Перевод] Как изучить Haskell всего за 15 лет Haskell — это язык программирования, изобретённый в 20-м веке шотландскими логиками в качестве пранка (вероятно). Примерно пятнадцать лет назад я начал изучать Haskell по причинам, которые уже и не упомню. Сегодня я наконец написал полезную программу на Haskell и уверен, чт...

Как фотографировать на Android-смартфон, не прикасаясь к нему Подозреваю, ни у кого из наших читателей нет персонального фотографа. И как быть, если хочется сделать снимок на фоне чего-то красивого и величественного? Можно обойтись селфи, но тогда в кадр попадет только лицо. Можно попросить прохожего сыграть роль фотографа, а лучше — ...

Этот фен не стыдно подарить не только жене, но и себе. Здесь все, что нужно знать про SOOCAS A1 Всегда казалось, что может быть проще, чем купить фен для сушки волос. Пришел в магазин, взял первое, что попалось под руку, и пошел довольный. Но, как оказалось, если покупать это устройство по такому принципу, то можно легко нарваться на некачественную вещь и испортить во...

Как изменить звук уведомлений в iOS 17.2 и избавиться от Отскока на Айфоне Apple всегда славилась странными решениями, которые принимала относительно своих смартфонов. Так, в операционной системе для iPhone до сих пор нельзя настроить разную громкость для будильника и звонка, а возможность менять звук уведомлений для стороннего софта появилась тол...

[Перевод] Нелинейные корреляции. Моя любимая статистическая мера: D Хёфдинга Предположим, у вас есть две последовательности чисел, которые вы хотите сравнить, чтобы измерить, насколько они связаны или зависимы друг от друга. Это действительно довольно общий сеттинг: две последовательности могут представлять временные ряды, так что у вас есть таблица...

[Перевод] Создаем свой аналог sqlite c нуля. Часть #1 Это цикл статей где мы создаем базу данных с нуля. За образец автор взял sqlite, так как простая база данных, где вся база данных храниться в одном файле и меньше фич по сравнению с mysql.Мы ответим на эти вопросы: В каком формате данные будут сохранены(в памяти или на диске...

Как мы переворачиваем платную медицину Врачи в платной медицине часто получают за выручку с пациента. С точки зрения благополучия пациента это, мягко и очень корректно выражаясь, противоречит здравому смыслу. Любой врач в условиях коммерческой медицины оказывается между Сциллой и Харибдой финансового и медици...

[Перевод] Когда начинает работать закон больших чисел Большие числа != большим числам.Число 100 большое? Зависит от ситуации. Сравниваем ли мы его с 0,001, или с 100000? Как и многое в жизни, понятие «большой» относительно.В этом посте мы объясним, насколько большим должно быть «большое» и докажем, что вы, скорее всего, ошибает...

Основы проектирования архитектуры простой социальной сети Социальные сети стали неотъемлемой частью нашей повседневной жизни. Они объединяют людей, позволяют обмениваться информацией, поддерживать связь с друзьями и даже находить новых знакомых. Однако, за всеми этими возможностями стоит сложная инженерная работа по созданию и подд...

Генерация зависимостей внутри программы В программировании программы часто строятся иерархично. Один программный компонент вызывает функции из другого программного компонента. Как бы представить эту взаимосвязь в законченной программе? Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, c...

[Перевод] Как заново реализовать тетрис Я из тех программистов, кому нравится всё реализовать самостоятельно. Нет, я не имею в виду, что не доверяю работе, сделанной другими. Скорее, я полагаю, что, если сделаю что-нибудь сам, то из этого будет гораздо больше толку, чем если просто взять чужую реализацию. Наприм...

Как увеличить количество приложений на рабочем столе iPhone Экраны смартфонов Apple уже давно достигли размера в 6,7 дюйма, но, как и в самом начале, больше четырех приложений по ширине вы разместить не можете. По какой причине в Купертино не позволяют пользователям добавлять хотя бы пять разных значков в ширину, непонятно, но факт ...

Самодельные звукоизлучатели Картинка Upklyak, Freepik Если посмотреть в сети, то многие самодельщики обходят стороной такую любопытную сферу приложения усилий, как самодельные звукоизлучатели. Тем не менее понимание этой области позволит создавать свои собственные звукоизлучающие устройства, практичес...

[Перевод] Какой будет GPT-2030? Это перевод статьи Якоба Стейнхардта, где он описывает и обосновывает свои оценки того, как будут выглядеть языковые модели в 2030 году. Статья подводит базу для ещё двух, в которых он описывает возможные при наличии подобных систем катастрофические сценарии. Их переводы тож...

[Перевод] Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример.Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна...

Нотификации через RSocket в Альфа-Онлайн: от концепции до запуска в продакшн Однажды мы решали задачу разработки системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. Нам было необходимо разработать инструмент по отправке сообщений (нотификаций) со стороны сервера в браузер в любой момент времени, пока клиент онлайн. На стороне Альфа-Онлайн...

Какими болезнями можно заразиться через посуду Плохо обработанная посуда может стать причиной серьезного инфекционного заболевания Иногда нам приходится принимать пищу из чужой посуды, например, в заведениях общественного питания или во время застолий в гостях. Многие люди при этом даже не задумываются о гигиене, однако ...

UX – как лучше улучшать На примере создания аккаунта в финансовом сервисе я покажу как построить и запустить процесс улучшения User Experience продукта. Что и в каком порядке делать продуктовому дизайнеру, чтобы никого не взбесить, и чтобы всем в команде стало луч...

У кошек есть 300 выражений морды, которые они используют при общении У кошек оказалось гораздо больше выражений лица, чем у людей Долгое время считалось, что у животных нет мимики, а значит они не способны выражать эмоции выражением своей морды. Однако в последнее время эта информация все чаще опровергается. Уже довольно давно известно, что к...

Улучшение кода без споров и цитирования известных практик Не секрет, что при формировании новой команды руководители (Team Leader, Tech Leader) сталкиваются с проблемой формирования единого стиля написания программ, так как все члены команды новые, и у каждого из них свой подход к организации кода и выбору используемой практики. Ка...

Парсер бинарных данных с WPF визуализацией в виде дерева структур и их полей. Структура, управляемая данными Как известно нет ничего более постоянного чем временное. Нам нужно было сделать по возможности простую программу для визуализации сложных структур бинарных данных, считанных из разных типов-версий устройств.Адаптированный проект для публичного использования, рабочий на Гите,...

Книга: «Рецепты Python. Коллекция лучших техник программирования» Привет, Хаброжители! В «Рецептах Python» используется простой, но эффективный метод освоения 63-х базовых навыков программирования на Python. Сначала формулируется вопрос, например «Как найти элементы в последовательности?» Затем приводится базовое решение на чистом понятн...

Компилятор за выходные, часть первая Вам когда-нибудь приходилось задаваться вопросом, как работает компилятор, но так руки и не дошли разобраться? Тогда этот текст для вас. Мне тоже не доводилось заглядывать под капот, но тут так случилось, что мне нужно прочитать курс лекций о компиляторах местным третьекурсн...

Когда старый софт лучше нового У каждого из нас наверняка есть подборка старого проверенного софта, который много лет работает без сбоев. В такой ситуации возникает вопрос: а зачем его обновлять? Практика показывает, что новые версии утилит часто изменяются к худшему, раздуваются, обрастают ненужными фу...

5 ноутбуков на Windows, которые не стыдно купить вместо MacBook Air и не пожалеть о выборе Когда кто-то из знакомых просит у меня посоветовать ноутбук за 100 тысяч рублей, то первое, что приходит мне в голову — это MacBook Air. Стильный внешний вид, длительное время автономной работы и хорошая производительность. Однако macOS подходит далеко не всем. Некото...

TOTP без смартфона Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.Б...

Как начать работать с IPv6 там, где его нет (часть 1) Появлением на свет этот материал обязан переводу статьи IPv6 — это катастрофа (но поправимая) (автор Mathew Duggan) и является её логическим продолжением. Если вы живёте в небольшом городе, которого в том числе нет в этом списке, и ваш провайдер в него не входит, то велика...

Глобальные события в мобильном приложении Одну и ту же задачу в программировании можно решить множеством различных способов. Привычного подхода, когда мы просто вызываем методы напрямую, обычно хватает почти для всех типов задач. Но с таким подходом в больших системах не всегда удаётся сохранить качество кода и мало...

Лучшие практики RuStore: правила хорошего Code Review для Android Привет, я Михаил Емельянов, руководитель Android-направления в RuStore. Над стором трудится большая команда разработчиков, проект регулярно дорабатывается, а количество новых строк кода неизменно увеличивается. За год работы команда магазина приложений выпустила невероя...

Полигон для творчества за 1500 р. Ч3 Экран, Малина, OpenOCD и бусики Приветствую вас, друзья! Когда под рукой хороший тренажёр, так и тянет опробовать на нём новые для себя технологии и инструменты, сделать какой-то интересный проект. Или получше познакомиться с ним, чтобы в дальнейшем использовать как платформу для обкатывания новых идей....

Microsoft хочет улучшить процесс производства Surface с помощью ИИ Microsoft в своём блоге подробно рассказала о том, как команды Surface и Azure использовали облачные технологии высокопроизводительных вычислений для революции в процессе проектирования новых устройств линейки Surface. Заявляется, что это позволило уменьшить затраты и сокра...

Трактор, смузи и одна старая логическая игра: как мы ездили на Joker и Heisenbug Привет, Хабр! Меня зовут Ира, я деврел в РСХБ‑Интех, технологическом подразделении Россельхозбанка. О том, что такое деврел, на Хабре периодически вспыхивают интересные споры. Полгода назад я нашла для себя формулировку, которую теперь всегда использ...

[Перевод] Почему OKR — это отстой Наверно, многие из моих читателей как раз закончили квартальный (и/или годовой) цикл планирования, так что сейчас будет подходящее время напомнить, что процесс, которым мы пользуемся как стандартом в технологической отрасли, на самом деле — полная чушь. Разумеется, я имею в ...

[Перевод] Шпаргалка по модели памяти С++11 Модель памяти представляет из себя спецификацию допустимого поведения многопоточных программ, работающих с разделяемой памятью (shared memory) [1]. Наиболее примитивной моделью является последовательная согласованность (sequential consistency), где все инструкции из всех пот...

Эксперт призвал разработчиков Lightning Network «проснуться» и исправить ошибки Команда Lightning Network (LN) стала менее ориентирована на безопасность и больше сосредоточена на обеспечении денежного потока для своих инвесторов

«Шум» в суждениях и предвзятость в решениях людей и нейросетей А — точность; В — шум; С — предвзятость; D — шум + предвзятость Когда разработчиков ПО просили в два разных рабочих дня оценить время выполнения задачи по одному и тому же ТЗ, часы, которые они прогнозировали, отличались в среднем на 71 %. Два одинаково опытных врача мог...

Применение анонимных прокси в области SEO Применение анонимных прокси в области SEO – это эффективная и важная стратегия, которая позволяет веб-мастерам и маркетологам повышать видимость своих сайтов в поисковых системах. Анонимные прокси-серверы предоставляют доступ к интернету с измененным IP-адресом, что помогает...

Xiaomi Redmi Note 13 Pro 5G выступил на уровне iPhone 12 Pro Max. В DxOMark оценили автономность и зарядку смартфона Авторы DxOMark добрались до смартфона Xiaomi Redmi Note 13 Pro 5G, чтобы оценить его подсистему питания.   фото: Xiaomi Смартфон не новый, в Сети множество его обзоров, но у DxOMark большая база данных, поэтому результаты проще сравнивать с другими смартфонами.&nb...

Шпаргалки для сервера CS:GO Приветствую читателей данной статьи. Сразу хочу отметить, что статья не несет никакой профессиональной информации, но нацелена на аудиторию, которая имеет представление о том, что такое терминал и хостинг, и с чем это едят. Автор лишь делится своим опытом и оставляет это зде...

Векторные базы данных: простым языком про устройство и принцип работы Только изучили один инструмент, как сразу же появились новые? Придется разбираться! В статье мы рассмотрим новый тип баз данных, который отлично подходит для ML задач. Пройдем путь от простого вектора до целой рекомендательной системы, пробежимся по основным фишкам и внутрен...

Самодельные портативные игровые консоли и ESPboy С некоторых пор в среде самодельщиков обрёл популярность новый формат — портативные игровые устройства на основе недорогих микроконтроллеров и OLED или TFT-экранчиков, подражающие популярным портативным игровым системам прошлого, таким как Game Boy компании Nintendo 1989 го...

Представлена Hyundai Elantra N 2024 Компания Hyundai представила Elantra N 2024 модельного года, в которой используются самые современные технологии. Автомобиль предложит повышенную устойчивость и комфорт. Обновленная Elantra N поступит к дилерам в январе 2024 года. Основные изменения во внешности Elantr...

Альтернативы AutoCAD набирают популярность в России после ухода Autodesk После ухода Autodesk и запрета на использование его продуктов, включая AutoCAD, российские специалисты в области строительства и проектирования активно ищут и переходят на альтернативные программные решения.

QA-тестировщикам — рецензия на книгу «Тест-дизайн. Практическое руководство» Ольги Назиной Это вторая книга из трилогии Ольги Назиной по тестированию ПО. Про первую книгу автор рассказала в своем блоге на Хабре, третью мы осветили в предыдущем посте. Мультяшный авторский стиль изложения с сотнями картинок-комиксов необычен для компьютерной литературы, но почему бы...

[Перевод] В нас нет ничего особенного Споры вокруг традиционной и программной инженерии сводятся, как правило, к обсуждению различий между ними. Речь в этой статье пойдет вовсе не о том, что делает инженера инженером. Сам подход к объяснению понятия «инженерия», часто работает на маргинализацию сферы разработки ...

Wobbling-метр Обычно, т.н. wobbling (воблинг) определяют и исправляют по тестовым вертикальным распечаткам. Метод как минимум не быстрый. Кроме того, когда дефектов несколько, они смешиваются и взаимодействуют при печати. А когда на Z два винта, то приходится печатать два изделия по краям...

Слово Божие — функциональное программирование как основа Вселенной В одном из своих предыдущих постов под названием "Эйлер, Чёрч и Мандельброт — этюд о красоте и математике" я немного затронул тему рассмотрения функционального программирования в качестве основы реальности. Под тем постом было оставлено множество интересных комментариев, оди...

Как самостоятельно издать книгу? На примере книги «Антихрупкость в IT» Прошлой осенью моя книга Антихрупкость в IT вышла в цифровой и аудио-версии, а в январе этого года книга появилась на Озоне в бумажном варианте. Я издал книгу самостоятельно при том, что в начале пути у меня не было опыта и знаний о том, как издаются книги.В этой с...

Как на Android-смартфоне создать уникальную открытку для поздравления в WhatsApp Весна — то время, когда кратно увеличивается объем трафика в мессенджерах. А все потому, что миллионы людей начинают пересылать друг другу открытки в Ватсапе. Согласитесь, поводов предостаточно: 8 марта, Пасха, 9 мая и нескончаемый поток дней рождения. Как правило, люди отп...

От HTTP к RCE. Как оставить бекдор в IIS Всем добрый день! Меня зовут Михаил Жмайло, я пентестер в команде CICADA8 Центра инноваций МТС.На проектах часто встречаются инстансы Internet Information Services (IIS). Это очень удобный инструмент, используемый в качестве сервера приложений. Но знаете ли вы, что даже прос...

Make Habr Hard Again: «железная» номинация «Технотекста» Новый «Технотекст» стартовал в конце прошлого года. Посмотрев список номинаций, некоторые авторы-инженеры YADRO, которые занимаются разработкой и программированием серверов, СХД, микроэлектроники, не поняли, какую из них выбрать. Раньше же была отдельная «железная» номинация...

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную Меня давно интересовало, как работают беспроводные клавиатуры, но как-то не сильно вдавался в подробности, пока не возникла идея превратить свою механическую клавиатуру в беспроводную. Честно говоря, не думал, что узнаю так много нового и интересного. Вероятно, у многих е...

[Перевод] Хакни своё следующее интервью с помощью Generative AI А Вы когда‑то задумывались о том, как классно было бы хакнуть собеседование? Создать себе цифрового помощника, который ответит на все вопросы интервьюера.Вот и я задумался. В этой статье предлагаю создать небольшое приложение на основе...

[Перевод] Молодые математики открывают новую главу в изучении простых чисел Анимация отсева по Эратосфену, где показаны кратные величины каждого простого числа, простирающиеся вдоль числовой оси. Более 2,000 лет назад греческий математик Эратосфен разработал метод поиска простых чисел, который остаётся актуальным по сей день. Его идея заключалась в...

Проектирование экономики F2P игр на основе продуктовых метрик Несмотря на то, что универсального алгоритма проектирования игровой экономики сформулировать не получится: уж слишком разные механики в разных играх, - мы можем попробовать сформулировать один из подходов, которым можно руководствоваться, начиная работу над экономикой вашей ...

Каким будет iPhone 17: новая модель Slim, 12 ГБ ОЗУ и уменьшенный Dynamic Island До презентации iPhone 16 остается примерно четыре месяца, но уже сейчас начали появляться первые слухи о том, каким будет iPhone 17. Да, я не опечатался. Постепенно становятся известны планы Apple на смартфоны 2025 года. Хоть до их выхода и остается еще немногим меньше полу...

Как создать свой Spring Boot 3 — стартер? Допустим, Вы разрабатываете несколько приложений или микросервисов на Java. Каждое из них уникальное, и содержит свою собственную бизнес логику. Однако, в каждом из них может быть необходимость использовать общую логику. Например, логику аутентификации, как это часто бывает ...

Использование опросов для измерения уровня лояльности Net Promoter Score (NPS) Net Promoter Score (NPS) играет важнейшую роль, служа барометром клиентской лояльности и удовлетворенности. NPS - это не просто метрика; это компас, который направляет компании на пути к улучшению качества обслуживания и оптимизации взаимоотношений с клиентами. По сути, NPS ...

Мощь Технологии в Ваших Руках: Услуги по Разработке Программного Обеспечения В современном мире, где технологии становятся движущей силой для различных сфер бизнеса и жизни, разработка программного обеспечения становится необходимостью, открывая новые горизонты для предприятий и индивидуальных пользователей. Услуги по разработке программного обеспече...

[Перевод] Фильтр Блума для эффективной синхронизации хеш-графов В одном из совместных исследований нам с Хайди требовалось решить такую задачу. Допустим, нам требуется синхронизировать между двумя узлами хеш-граф, например, как в репозитории Git. В Git каждый коммит идентифицируется через соответствующий ему хеш, причём, в коммит могут в...

Кибермозг все ближе: создан искусственный синапс, который может изменить все Помню, как меня поразила идея позитронного мозга из романов и рассказов Айзека Азимова. К сожалению, несмотря на научные достижения за последние десятилетия, сегодня нет ничего подобного. Уж слишком сложным оказался не только мозг человека, но и животных, чтобы можно было и...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)