Pull to refresh
391
82.8
Send message

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

Reading time6 min
Views5.7K
image

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Reading time8 min
Views5K
Начнём с простого вопроса. В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, какую только возможно. Требуется время, чтобы научиться управлять памятью в Java и понять этот процесс, это касается всех, кто имеет дело с Java. В этой статье попробую объяснить, как овладеть этими умениями.
Читать дальше →
Total votes 13: ↑14.5 and ↓-1.5+16
Comments6

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

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

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

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

Для разработчиков и системных администраторов, имеющих опыт работы с Linux и Docker.
Читать дальше →
Total votes 13: ↑14.5 and ↓-1.5+16
Comments0

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

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

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

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

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

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

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

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

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

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

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

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

Reading time6 min
Views1.1K
Задержка и пропускная способность

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

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

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

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

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

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

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

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

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

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

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

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

Reading time3 min
Views6.9K
Со времени изобретения высокоуровневых языков программирования в отрасли доминируют парадигмы. Именно парадигмы, от императивных до объектно-ориентированных и функциональных – в основном формируют современный дискурс, касающийся языков программирования.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments17

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

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

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

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

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

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

Reading time8 min
Views4.7K
image Привет, Хаброжители!

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

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

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

Reading time4 min
Views5.5K


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

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

Reading time10 min
Views17K
Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д.

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

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

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

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

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

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

Механика Async Await

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

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

Information

Rating
Does not participate
Works in
Registered
Activity