Pull to refresh
418
113.2
Send message

Книга: «Data mesh в действии»

Reading time17 min
Views3.9K
image Привет, Хаброжители!

Потребность эффективно хранить большие объемы данных и обращаться к ним стала одной из ключевых потребностей любого бизнеса. Сетка данных (data mesh) — это новый способ децентрализовать управление данными, радикально повышая их безопасность и доступность. Хорошо спроектированная сетка данных позволяет потреблять данные в режиме самообслуживания и помогает избавляться от узких мест, которые свойственны монолитным архитектурам данных.

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

Книга предназначена для профессионалов в области данных и не привязана к конкретным программным стекам или платформам данных.
Читать дальше →
Total votes 7: ↑5 and ↓2+9
Comments0

Создание масштабируемых приложений при помощи Kafka и реактивного программирования

Reading time12 min
Views9.9K
image


Введение


В современном цифровом мире критически важна возможность обрабатывать данные в режиме реального времени и масштабировать приложения. Для этого хорошо подходит Kafka – платформа для распределённой потоковой обработки событий, особенно, если сочетать её с реактивным программированием. В данной статье будет рассказано, как создавать реактивные приложения при помощи этого инструментария.
Читать дальше →
Total votes 12: ↑11 and ↓1+15
Comments5

Как разработать онлайновый компилятор кода при помощи Java и Docker

Reading time12 min
Views3.4K
image


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

Исходный код к этой статье выложен на Github в этом репозитории
Читать дальше →
Total votes 3: ↑3 and ↓0+7
Comments1

Книга: «Фулстек-тестирование»

Reading time27 min
Views9.2K
image Привет, Хаброжители!

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

Автор предлагает примеры использования более чем 40 инструментов, которые вы сможете немедленно опробовать. Профессионалы и новички получат навыки тестирования производительности, защищенности и доступности, а также поближе познакомятся с особенностями исследовательского, межфункционального тестирования, тестирования данных и мобильных приложений, автоматизации тестирования, и многими другими вопросами, связанными с тестированием. Руководство поможет вам справиться со сложной задачей поддержания качества программного обеспечения в процессе его разработки.
Читать дальше →
Total votes 9: ↑8 and ↓1+13
Comments0

Сила gRPC в облачных окружениях

Reading time7 min
Views2.8K
При разработке исходно облачных (cloud-native) приложений требуется наладить гладкую и эффективную коммуникацию между различными компонентами. Для начала давайте рассмотрим весь спектр инструментов от XML до gRPC, которые обеспечивают и улучшают эти критически важные взаимодействия.

XML (часто с применением SOAP):


<order>
    <bookID>12345</bookID>
    <quantity>2</quantity>
    <user>JohnDoe</user>
</order>

Читать дальше →
Total votes 7: ↑4 and ↓3+7
Comments8

Летняя распродажа в издательстве «Питер»

Reading time1 min
Views7.1K
image

Добрый день, Хаброжители!

Лето — лучшее время для отдыха и чтения интересных книг!
По этому случаю дарим скидки!
Читать дальше →
Total votes 8: ↑8 and ↓0+13
Comments5

Книга: «Фактор Ч, или Как не угробить хорошую идею»

Reading time12 min
Views1.8K
image Привет, Хаброжители!

Почему некоторые инновационные идеи «выстреливают», а другие — нет. Что им мешает? Или, точнее… кто? Ответ, дорогой друг, прост: ты — Человек! Ты ленишься и выбираешь привычное и знакомое, боишься и сопротивляешься переменам.

Авторы этой книги талантливо объясняют истоки «сил трения» и рассказывают о том, как их преодолеть, чтобы новым продуктам, услугам или пользовательскому опыту сопутствовал заслуженный успех на сегодняшнем высококонкурентном рынке.
Читать дальше →
Total votes 4: ↑4 and ↓0+8
Comments0

Проблема энтропии в циклической Вселенной

Reading time24 min
Views14K
Привет, Хаброжители!

Рады сообщить, что у нас вышла новая книга Николая Горькавого «Пульсирующая Вселенная»

Предлагаем ознакомиться с 13 главой данной книги.

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

В классической термодинамике, не учитывающей гравитацию и подчиняющейся закону сохранения энергии, тепловая смерть замкнутой Вселенной неизбежна. Для анализа космологических моделей Ричарду Толмену в 1934 году пришлось отклониться от классической термодинамической модели Клаузиуса, потому что гравитирующие системы ведут себя по-особенному. Например, если рассмотреть поведение газа в комнате при отсутствии любых внешних источников (или стоков) энергии, то через некоторое время температура газа в различных частях комнаты сравняется.
Читать дальше →
Total votes 10: ↑10 and ↓0+17
Comments27

Программисты не должны доверять никому, даже себе

Reading time7 min
Views1.8K
Программисты должны быть параноиками.

  • “Я дважды проверил код”
  • “Код прошел тесты”
  • “Ревьюер одобрил мой код”
“Мой код верен?”

Писать правильный код сложно, а проверить его корректность невозможно. Вот несколько причин, почему:

  • Универсальность: Даже если ваш код работает правильно один раз, будет ли он работать так во всех случаях, на всех машинах, во всех ситуациях?
  • Ложноположительные результаты: Неудачные тесты указывают на наличие ошибок, но пройденные тесты не обещают их отсутствия.
  • Отсутствие уверенности: Вы могли бы написать формальное доказательство корректности вашего кода, но теперь вы должны задаться вопросом, верно ли это доказательство. Вам нужно будет подтвердить доказательство. Эта цепочка проверки доказательств никогда не закончится.
Глупо добиваться абсолютной уверенности в правильности своего кода. Ошибка может скрываться в зависимостях, которые вы никогда не найдете. Тем не менее, не стоит отчаиваться. Мы все еще можем снизить риск возникновения ошибок, добиваясь глубокого понимания кода и добросовестно работая с ним.
Читать дальше →
Total votes 1: ↑1 and ↓0+3
Comments6

Книга: «Hypermedia-разработка. htmx и Hyperview»

Reading time25 min
Views2.4K
image Привет, Хаброжители!

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

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

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

Гипермедиа-управляемая архитектура подойдет не для каждого приложения, но повышенная гибкость и простота станут огромным преимуществом. Даже если этот подход не улучшит вашу программу, вам стоит понять его суть, сильные и слабые стороны и отличия от традиционно применяемой методики. Веб-среда росла быстрее, чем любая другая распределенная система в истории, и веб-разработчики должны уметь использовать сильные стороны базовых технологий, которые сделали возможным этот рост.
Читать дальше →
Total votes 9: ↑8 and ↓1+12
Comments2

Книга: «Нечеткое сопоставление данных в SQL»

Reading time14 min
Views9.6K
image Привет, Хаброжители!

Если бы вам предоставили два разных, но связанных между собой набора данных, какие инструменты вы бы использовали для поиска совпадений? А если все, что у вас есть, — это доступ к базе данных через SQL SELECT? Джим Лемер предлагает лучшие практики, методики и приемы, которые помогут вам импортировать, очищать, сопоставлять, оценивать и осмысливать разнообразные данные с помощью SQL.

Администраторы баз данных, программисты, бизнес-аналитики и специалисты по исследованию данных узнают, как выявлять и удалять дубликаты, разбирать строки, извлекать данные из XML и JSON, генерировать SQL с помощью SQL, упорядочивать данные и готовить наборы данных, а также применять подходы к качеству данных и ETL для поиска сходств и различий между различными выражениями одних и тех же данных.

Примеры, приведенные в книге, полны реальных приемов и содержат рабочий код.
Читать дальше →
Total votes 9: ↑9 and ↓0+12
Comments10

Книга: «Реальная криптография»

Reading time22 min
Views8.8K
image Привет, Хаброжители!

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

Изучите приемы, которые используют разработчики, системные администраторы и специалисты по безопасности в своей повседневной работе. Вы не встретите ни сложных математических выкладок, ни умопомрачительного жаргона: современные криптографические методы рассматриваются с помощью понятных графиков и практических примеров. Познакомьтесь с хеш-функциями и подписями, криптографическими протоколами и безопасным обменом сообщениями, а также с передовыми достижениями, такими как постквантовая криптография и криптовалюты. Читать «Реальную криптографию» одно удовольствие и, возможно, она спасет, когда в следующий раз злоумышленники покусятся на ваши данные.
Читать дальше →
Total votes 14: ↑14 and ↓0+17
Comments1

Next.js и революционные изменения в React

Reading time7 min
Views9.9K
image


React.js — это сейчас одна из самых популярных библиотек для создания современных веб-приложений. React славится гибкостью и богатством экосистемы. Одним из значительных достоинств этой экосистемы является Next.js — и то, как он успешно развивается. С этим фреймворком стало значительно удобнее разрабатывать приложения на основе React, их возможности расширились. В этой статье мы рассмотрим, как Next.js улучшил React, затронем его особенности, преимущества, и что из них вытекает.
Читать дальше →
Total votes 12: ↑5 and ↓7+1
Comments7

Коварные утечки памяти в React: как можно обжечься на useCallback и замыканиях

Reading time9 min
Views8.1K
image

Я работаю в Ramblr, это ИИ-стартап, где мы строим на React сложные приложения для аннотирования видео. Недавно мне попалась сложная утечка памяти, которая возникает при одновременном использовании замыканий JavaScript и хука useCallback в React. Поскольку я вырос на .NET, мне потребовалось немало времени, чтобы разобраться в происходящем. Поэтому я решил написать этот пост и рассказать вам, чему меня научила эта ситуация.
Читать дальше →
Total votes 14: ↑14 and ↓0+22
Comments24

Книга: «Тюнинг систем: экспериментирование для инженеров от A/B-тестирования до байесовской оптимизации»

Reading time19 min
Views1.5K
image Привет, Хаброжители!

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

Книга предоставляет набор инструментов для оптимизации программируемых систем. Вы пройдете путь от изучения А/В-тестирования до передовых экспериментальных стратегий, которые используют преимущества машинного обучения и вероятностных методов. Навыки, которые вы получите из этого практического руководства, помогут минимизировать затраты на эксперименты и быстро выбрать подходы и инструменты, которые дадут наилучший результат для бизнеса.
Читать дальше →
Total votes 3: ↑3 and ↓0+5
Comments0

Go развивается в неверном направлении

Reading time7 min
Views17K
Язык программирования Go известен своей простотой в использовании. Благодаря продуманному синтаксису, возможностям и инструментарию, Go позволяет писать легко читаемые и поддерживаемые программы произвольной сложности (см. этот список на GitHub).

Некоторые инженеры-программисты называют Go «скучным» и «устаревшим», поскольку в нем отсутствуют передовые возможности других языков программирования, такие как монады, опциональные типы, LINQ, средства проверки заимствований, абстракции с нулевыми издержками, аспектно-ориентированное программирование, наследование, перегрузка функций и процедур и т. д. Хотя эти возможности могут упростить написание кода для определенных областей, они имеют ненулевые издержки в дополнение к преимуществам. Эти возможности обычно хороши для тренировки мозга. Но нам не нужна дополнительная умственная нагрузка при работе с производственным кодом, поскольку мы и так заняты решением бизнес-задач. Основная цена всех этих возможностей – возрастание сложности результирующего кода:
Читать дальше →
Total votes 30: ↑24 and ↓6+23
Comments23

Книга: «Java для опытных разработчиков. 2-е издание»

Reading time22 min
Views6.3K
image Привет, Хаброжители!

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

Узнайте, как Java работает на уровне байт-кода. Освойте ценные приемы конкурентного выполнения и оптимизации быстродействия, а еще ключевые методы сборки, тестирования и развертывания. Также рассмотрите альтернативные языки для JVM – Kotlin и Clojure. Изучив материал, вы будете выделяться на фоне других разработчиков!
Читать дальше →
Total votes 3: ↑3 and ↓0+5
Comments4

Об извлечении кода в Python

Reading time6 min
Views6.1K
Я начал изучать Python в 2009 году, столкнувшись с очень нетривиальной и, кстати, необычной задачей на этом языке. Тогда я разрабатывал приложение для ПК, где графический пользовательский интерфейс создавался на PyQT, а основным языком в программе был Python.

Чтобы скрыть код, я встроил интерпретатор Python в самостоятельный исполняемый файл Windows. Это можно сделать при помощи множества инструментов (напр., pyinstaller, pyexe), все они функционально похожи. Они компилируют в байт-код ваши скрипты, написанные на Python, а далее, связывая их с интерпретатором, укладывают в исполняемый файл. Если компилировать скрипты, понижая их до байт-кода, то злоумышленникам становится сложнее добраться до вашего исходного кода и взломать ваше приложение. Байт-код приходится извлекать из исполняемого файла и декомпилировать. Кроме того, таким способом можно выполнять обфускацию кода, и в результате код становится гораздо сложнее понимать.
Читать дальше →
Total votes 11: ↑11 and ↓0+15
Comments2

FastAPI: веб-разработка на Python

Reading time14 min
Views14K
image Привет, Хаброжители!

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

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →
Total votes 9: ↑9 and ↓0+11
Comments3

Information

Rating
Does not participate
Works in
Registered
Activity