Как стать автором
Обновить
Сначала показывать

Шардирование баз данных и проектирование систем

Время на прочтение6 мин
Количество просмотров5.1K
image

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

Такой подход позволяет избежать проблем с производительностью, возникающих, когда одна из машин работает в условиях перегрузки, и обеспечивает более экономичное и грамотное масштабирование. По мере увеличения объема данных и трафика все чаще возникает необходимость горизонтального масштабирования путем добавления новых машин, а не вертикального путем модернизации одного большого сервера.
Читать дальше →
Всего голосов 9: ↑10 и ↓-1+11
Комментарии0

Книга: «Roblox в действии. Искусство разработки игр»

Время на прочтение7 мин
Количество просмотров1.4K
image Привет, Хаброжители!

Roblox — это огромная платформа для создания игр, не похожая ни на одну другую. Roblox позволяет новым разработчикам создавать игры, в которые может играть весь мир.

Книга сочетает теорию с практикой, поскольку с разработкой игр связаны множество смежных дисциплин: программирование, 3D-моделирование и анимация, работа со звуком, написание сценария, художественное оформление (level design), маркетинг и многое другое. Мы будем создавать логику поведения персонажей и некоторых объектов в игре. Чтобы твоя игра была уникальна, нужно научиться создавать свои игровые объекты: 3D-модели, звуки, изображения и текстуры. Проектируя элементы игры, ты наберешься опыта и отточишь навыки разработчика игр, гейм-дизайнера, звукорежиссера и программиста.

Игры, которые мы будем создавать, могут запускаться в любых распространенных операционных системах: Windows, MacOS, iOS, Android и Xbox One, а значит, в них смогут сыграть очень много людей. В среде Roblox Studio заложены не только кроссплатформенность, но и мультиплеер, позволяющий подключаться к игре множеству игроков.
Читать дальше →
Всего голосов 5: ↑7 и ↓-2+9
Комментарии3

Книга: «Креативный программист»

Время на прочтение29 мин
Количество просмотров3K
image Привет, Хаброжители!

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

В книге рассматриваются семь составляющих креативности в разработке ПО: технические знания, сотрудничество, ограничения, критическое мышление, любознательность, творческие методики и состояние ума. По мере прочтения вы сможете применять знания к задачам программирования. Суть каждого урока помогают усвоить многочисленные примеры и упражнения. Особенно вам понравится уникальный тест решения проблем в стиле креативного программирования, который поможет оценить, насколько творчески вы подходите к выполнению программистских задач.
Читать дальше →
Всего голосов 6: ↑9 и ↓-3+12
Комментарии0

Создаём надёжные API для бэкенда при помощи конечных автоматов: подробное руководство

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

Что такое конечные автоматы?


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

Конечные автоматы часто используются в разработке программ для моделирования сложных потоков задач. С помощью конечных автоматов можно чётко и структурированно определить поведение системы. Тогда о системе становится проще рассуждать, её удобнее отлаживать и поддерживать.
Читать дальше →
Всего голосов 9: ↑10 и ↓-1+11
Комментарии18

Разбираемся с динамической памятью (кучей) в приложениях Java

Время на прочтение8 мин
Количество просмотров4.9K
Начнём с простого вопроса. В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, какую только возможно. Требуется время, чтобы научиться управлять памятью в Java и понять этот процесс, это касается всех, кто имеет дело с Java. В этой статье попробую объяснить, как овладеть этими умениями.
Читать дальше →
Всего голосов 11: ↑13.5 и ↓-2.5+16
Комментарии6

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

Время на прочтение14 мин
Количество просмотров4.6K
image Привет, Хаброжители!

Пришло время обновить свой контейнерный движок! Менеджер контейнеров Podman обеспечивает гибкое управление слоями образов и полную совместимость с Kubernetes, а также дает возможность пользователям без прав администратора создавать, запускать непривилегированные контейнеры и управлять ими. OCI-совместимая поддержка Docker API позволяет перевести существующие контейнеры на Podman, не ломая свои скрипты и не меняя привычного порядка работы.

«Podman в действии» познакомит вас с менеджером контейнеров Podman. Простые объяснения и примеры позволят быстро разобраться с тем, что такое контейнеры, как они работают и как управлять ими. Вы получите глубокие знания об используемых Podman компонентах Linux и даже узнаете больше о Docker. Особенно ценны соображения автора Дэна Уолша по поводу безопасности контейнеров.

Для разработчиков и системных администраторов, имеющих опыт работы с Linux и Docker.
Читать дальше →
Всего голосов 10: ↑13 и ↓-3+16
Комментарии0

Книга: «Чистый дизайн. Практика эмпирического проектирования ПО»

Время на прочтение8 мин
Количество просмотров5.9K
image Привет, Хаброжители!

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

Книга не заставляет читателя проводить очистку сразу и целиком, а позволяет протестировать несколько примеров, которые подходят для поставленной задачи. Вы узнаете, как логически разделить на части большую функцию, содержащую множество строк кода. Познакомитесь с теоретическими понятиями программного дизайна: сцеплением, связностью, дисконтированными денежными потоками и вариативностью.
Читать дальше →
Всего голосов 7: ↑9 и ↓-2+11
Комментарии0

Книга: «Рецепты Python. Коллекция лучших техник программирования»

Время на прочтение15 мин
Количество просмотров13K
image Привет, Хаброжители!

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

Автор рассматривает все языковые средства, необходимые для уверенного владения Python. По ходу знакомства с книгой вы изучите лучшие приемы написания питонического кода. В освоении каждого инструмента помогут конкретные рекомендации и рисунки. Многочисленные перекрестные ссылки указывают на возможность повторного использования рассматриваемых средств и концепций в различных контекстах.
Читать дальше →
Всего голосов 7: ↑8 и ↓-1+9
Комментарии4

Книга: «Кибербезопасность: главные принципы»

Время на прочтение23 мин
Количество просмотров5.6K
image Привет, Хаброжители!

С 1970-х годов InfoSec-специалисты постепенно совершенствовали безопасность, даже не задумываясь, в правильном ли направлении со стратегической точки зрения они движутся. Рик Ховард утверждает, что нет. Общее направление само по себе было ошибочным, но идейные лидеры в этой области так и не смогли докопаться до корня проблемы. Идя по стопам таких авторитетов, как Декарт и Илон Маск, автор обосновывает главный принцип кибербезопасности и определяет стратегии и тактики его реализации.
Читать дальше →
Всего голосов 5: ↑7 и ↓-2+9
Комментарии1

Достижение высокой пропускной способности без усугубления задержки

Время на прочтение6 мин
Количество просмотров1.1K
Задержка и пропускная способность

При обсуждении производительности часто встречаются термины «задержка» (latency) и «пропускная способность» (throughput) для описания характеристик программного компонента.
Мы можем дать следующее толкование этим терминам:

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

Можно применить понятие задержки и к областям, не связанным с IT. Представьте, что вы посещаете свой любимый фаст-фуд. В данном случае, задержка — это время, которое требуется для того, чтобы сделать заказ, собрать его, оплатить и затем получить. Очевидно, что чем меньше задержка — тем лучше.
Читать дальше →
Всего голосов 3: ↑4 и ↓-1+5
Комментарии0

Книга «Разработка приложений на базе GPT-4 и ChatGPT»

Время на прочтение11 мин
Количество просмотров11K
image Привет, Хаброжители!

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

«Разработка приложений на базе GPT-4 и ChatGPT» содержит множество легковоспроизводимых примеров, которые помогут освоить особенности применения моделей в своих проектах. Все примеры кода на Python доступны в репозитории GitHub. Решили использовать возможности LLM в своих приложениях? Тогда вы выбрали правильную книгу.
Читать дальше →
Всего голосов 7: ↑8 и ↓-1+9
Комментарии3

Книга «SQL. Pocket guide, 4-е изд.»

Время на прочтение7 мин
Количество просмотров4.9K
image Привет, Хаброжители!

Если вы аналитик или инженер по обработке данных и используете SQL, популярный карманный справочник станет для вас идеальным помощником. Найдите множество примеров, раскрывающих все сложности языка, а также ключевые аспекты SQL при его использовании в Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL и SQLite.

В обновленном издании Элис Жао описывает, как в этих СУБД используется SQL для формирования запросов и внесения изменений в базу. Получите подробную информацию о типах данных и их преобразованиях, синтаксисе регулярных выражений, оконных функциях, операторах PIVOT и UNPIVOT и многом другом.
Читать дальше →
Всего голосов 7: ↑10.5 и ↓-3.5+14
Комментарии1

Программирование вне парадигм

Время на прочтение3 мин
Количество просмотров6.9K
Со времени изобретения высокоуровневых языков программирования в отрасли доминируют парадигмы. Именно парадигмы, от императивных до объектно-ориентированных и функциональных – в основном формируют современный дискурс, касающийся языков программирования.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии17

Книга «React быстро. 2-е межд. изд.»

Время на прочтение11 мин
Количество просмотров6K
image Привет, Хаброжители!

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

«React быстро. 2-е издание» предлагает уникальный подход к освоению фреймворка React. Более 80 компактных примеров проведут читателя от изучения основ работы к созданию довольно сложных приложений. В книге подробно описаны многие функциональные компоненты, хуки React и средства доступности веб-приложений, а также представлены интересные проекты для отработки новых навыков.

Книга предназначена для разработчиков, имеющих опыт создания веб-приложений на базе JavaScript.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Книга «Генеративное глубокое обучение. Как не мы рисуем картины, пишем романы и музыку. 2-е межд изд.»

Время на прочтение8 мин
Количество просмотров4.7K
image Привет, Хаброжители!

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

Дэвид Фостер делает понятными и доступными архитектуру и методы генеративного моделирования, его советы и подсказки сделают ваши модели более творческими и эффективными в обучении. Вы начнете с основ глубокого обучения на базе Keras, а затем перейдете к самым передовым алгоритмам.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Как вручную протестировать веб-API

Время на прочтение4 мин
Количество просмотров5.5K


Ранее я рассказывал об основных понятиях и терминологии API. В этой статье я покажу, как применить эти знания и попробовать API с помощью тестирования вручную.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Простые языки программирования

Время на прочтение10 мин
Количество просмотров17K
Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д.

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

  1. Возможности, которые всегда под рукой
  2. Быстрые циклы итераций
  3. Единообразие выполнения любых вещей
  4. Принципы работы с функциями
  5. Простые системы статических типов
Ниже подробно обсудим каждую из этих идей.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии20

Книга «Тестирование веб-API»

Время на прочтение22 мин
Количество просмотров4.2K
imageПривет, Хаброжители!

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

«Тестирование веб-API» — это уникальное практическое руководство, включающее в себя описание всех этапов: от начального проектирования набора тестов до методов документирования, реализации и предоставления высококачественных API. Вы познакомитесь с обширным набором методов тестирования — от исследовательского до тестирования продакшен-кода, а также узнаете, как сэкономить время за счет автоматизации с использованием стандартных инструментов. Книга поможет избежать многих трудностей при тестировании API.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Издательство Питер. Колонка редактора

Время на прочтение3 мин
Количество просмотров2.5K
image

Привет, Хаброжители!

Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Механика Async Await

Время на прочтение8 мин
Количество просмотров8K
В этом посте исследована механика async await на языке Elixir. Принятая в Elixir модель конкурентности отлично подходит в качестве платформы для реализации такой механики. Тем не менее, не расценивайте этот пост как руководство для разработки реальных приложений на Elixir.

Код к этому посту выложен на GitHub
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии1
1
23 ...

Информация

Сайт
piter.com
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия