Как стать автором
Обновить

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

5 проблем и их решения при создании высоконагруженного сервиса с использованием .NET и Kafka

Блог компании Parimatch Tech Высокая производительность *.NET *

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

Но если структура коммуникаций компании меняется из-за развития и выхода на новые международные рынки, то приходится менять сам продукт для соответствия потребностям пользователей этих рынков.

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

Читать далее
Рейтинг 0
Просмотры 16
Комментарии 0

SubHub Podcast #7: Евгений Курышев из Mirror AI про ошибки стартапера, валидацию идеи и тратить деньги vs зарабатывать

Блог компании Adapty Монетизация мобильных приложений *Развитие стартапа

В 7-м выпуске нашего SubHub подкаста к нам присоединился Евгений Курышев, основатель Mirror AI, в прошлом CTO «Островка».

Mirror — приложение, которое делает эмоджи из фотографий. Евгений поделился своим опытом фандрайзинга и прохождения Y Combinator, рассказал про ошибки, которые они допускали в развитии стартапа, про то, как они развивают Mirror.

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

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

Apple
YouTube
SoundCloud
Google Podcasts
Яндекс.Музыка

Читать далее
Рейтинг 0
Просмотры 20
Комментарии 0

Асинхронность в С++20. Доклад в Яндексе

Блог компании Яндекс Программирование *Совершенный код *C++ *Компиляторы *
Привет, это Григорий Демченко из WhatsApp. Мой доклад посвящён использованию сопрограмм в C++20. Я не стал говорить про низкоуровневые примитивы и то, как компилятор поддерживает сопрограммы и преобразовывает соответствующий код. Вместо этого акцент сделан на практическом применении сопрограмм для решения конкретных задач высокопроизводительных масштабируемых систем. Это именно то, ради чего создавались сопрограммы в новом стандарте, и то, с чем разработчик будет иметь дело в процессе проектирования и программирования. Я постарался рассмотреть конкретные примеры и проблемы, с которыми можно столкнуться при использовании полностью асинхронного подхода.

— О чём я сегодня расскажу? Первое — введение в асинхронность. Далее мы рассмотрим примитивы, которые можно использовать в новом стандарте, и интеграцию с планировщиками. Также немаловажным аспектом будет являться работа со старым кодом, если мы пишем новый код с использованием нового подхода. Затем я покажу бонус, достаточно интересный и необычный. И подведём итоги того, что у нас получилось.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 38
Комментарии 0

Разработка игр Unity под Android

Блог компании OTUS Разработка игр *Unity *

Unity — это кроссплатформенный игровой движок, используемый многими играми в Google Play Store. Модульные инструменты Unity помогают создавать и выпускать увлекательные мобильные игры в 2D или 3D.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 27
Комментарии 0

Используем sequence в MySQL

MySQL *SQL *

Хочу рассказать о том, как создать сквозной монотонно возрастающий  целочисленный id в MySQL (это называется sequence в других БД). Зачем это нужно? Например, у нас есть два вида задач для сотрудников в системе, у каждого типа задач есть свой набор атрибутов и свой жизненный цикл (набор статусов). Для того чтобы не городить огород в коде приложения для корректного чтения разных сущностей из БД и не плодить колонки с NULL проще всего разнести сущности по разным таблицам.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 100
Комментарии 1

Полезные мелочи Windows администратора, поиск компьютеров пользователей и не только

Системное администрирование *
Из песочницы

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 594
Комментарии 0

Как составить техническое задание на разработку сайта, чтобы ожидания совпали с реальностью

Разработка веб-сайтов *Управление проектами *Подготовка технической документации *
Tutorial

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

Читать далее
Рейтинг 0
Просмотры 245
Комментарии 0

Масштабирование WebSocket’ов в Spring сервисах

Блог компании OTUS Микросервисы *

Давайте представим, что у нас есть простое чат-приложение, в котором фронтенд взаимодействует с бэкендом посредством rest и WebSocket’ов, используемых для общения в чате. Мы замечаем, что один инстанс приложения уже не справляется с нагрузкой.

Масштабирование микросервисов, использующих WebSocket’ы, — задача не тривиальная. При простом запуске другого инстанса с циклическим балансировщиком нагрузки по умолчанию возможна такая ситуация, когда один пользователь подключается к инстансу A, а второй пользователь подключается к инстансу B. И теперь наши бэкенды должны каким-то образом самостоятельно понять, куда отправлять входящие сообщения.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 223
Комментарии 1

Бессерверные вычисления — состояние индустрии

Serverless *
Перевод

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

Бессерверные вычисления применяются в широком спектре сценариев — от решения краткосрочных задач до создания ориентированных на пользователей приложений. AWS Lambda — наиболее проработанная и широко используемая FaaS-платформа, основанная на модели «функция как услуга», но далеко не единственная. Распространение таких систем, как Azure Functions и Google Cloud Functions, также идёт впечатляющими темпами. Сегодня бессерверная экосистема вышла уже далеко за пределы модели FaaS и теперь включает десятки сервисов, помогающих разработчикам создавать более быстрые и динамичные приложения. Четверть клиентов Amazon CloudFront уже используют бессерверные периферийные вычисления, а также применяют функции AWS Step Functions для управления прикладной логикой самых разных распределённых компонентов.

В этом отчёте мы расскажем вам о важнейших инсайтах и трендах бессерверного ландшафта.

Читать отчет далее
Рейтинг 0
Просмотры 378
Комментарии 0

Тестируем производительность кода с помощью Jetpack Microbenchmark

Блог компании FUNCORP Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *Kotlin *

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

В этой статье расскажу, как устроена и работает библиотека Microbenchmark от Google, а также покажу примеры использования. С ней можно не только оценить производительность, но и решить спорные ситуации на код-ревью.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 184
Комментарии 0

Вебинары Hewlett Packard Enterprise в октябре 2021

Блог компании Hewlett Packard Enterprise

Ускорьте инициативы в области распределенных облачных сред.

HPE GreenLake Lighthouse объединяет облачные технологии и инфраструктуру HPE, чтобы вы могли использовать передовые инновации для выполнения распределенных облачных услуг повсюду.

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

12.10.2021 10.00 МСК

Регистрация.

Читать далее
Рейтинг 0
Просмотры 87
Комментарии 0

Поговорим о нагрузочном тестировании

Блог компании Veeam Software Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *Тестирование игр *
Тестирование программного обеспечения принято делить на много видов. Тут вам и функциональное тестирование, и модульное, и тестирование безопасности, и многое другое. Есть и редкие подвиды, такие как юзабилити тесты или тестирование локализации. Но определённым особняком всегда стояло загадочное для многих нагрузочное тестирование. Одна из основных причин для этого — высокие требования к уровню технических знаний инженера, который решит заняться проверкой работы продукта под нагрузкой и его способностью масштабироваться. Предлагаем вам вместе с нами глубже разобраться в вопросе в этой статье.


Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 266
Комментарии 0

Автоматическое заполнение файлами документов Word и подписей к ним с помощью Python и библиотеки docx

Python *Data Engineering *
Из песочницы

Рассмотрим пример простой программы на Python с помощью библотекы docx для автоматизации рабочего процесса, а именно автоматической вставки файлов (в данном случае изображений) и их подпись в документах Word (docx).

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

Редактирования кода займет 5 минут, выполнение программы займет 5 секунд. Вы сэкономите 300 минут работы.

Я опишу свой максимально дубовый и непрофессиональный но простой код который Вы сможете повторить в своих проектах. (Полный код в низу статьи).

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 599
Комментарии 2

Способы обмена знаниями в компаниях

Блог компании ДомКлик Управление разработкой *Учебный процесс в IT Карьера в IT-индустрии

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

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

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 741
Комментарии 0

Решил 50 задач и ответил на вопрос — Python или JavaScript?

Блог компании Timeweb Python *JavaScript *Программирование *


Привет, друзья!


Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но...


  • со мной работает много людей, которые пишут код на Python
  • вокруг много разговоров про Python
  • повсюду преподают Python
  • Яндекс любит Python (раньше Гугл тоже его любил, но теперь у него есть Go)

Короче говоря, сложно было не заинтересоваться Python.


Как известно, лучший способ научиться "кодить" — это писать код.


Предлагаю вашему вниманию 50 популярных в сфере программирования задач, решенных с помощью Python и JavaScript.


Цель — сравнить языки на предмет предоставляемых ими возможностей.


Задачки не очень сложные, хотя имеется парочка из категории продвинутых.


Предполагается, что вы владеете хотя бы одним из названных языков на среднем уровне.

Читать дальше →
Всего голосов 6: ↑3 и ↓3 0
Просмотры 2K
Комментарии 11

Как устроен The Update Framework (TUF). Обзор технологии безопасного обновления ПО

Блог компании Флант Информационная безопасность *Open source *Системное администрирование *Софт

The Update Framework (TUF) — программный фреймворк с открытым кодом для защиты репозиториев, из которых скачиваются обновления. Главная задача TUF — предоставить возможность обновлять софт безопасно, а также минимизировать ущерб в случае, если обновление скомпрометировано. Фреймворк можно использовать для создания собственной системы обновления ПО (например, менеджера пакетов) либо для повышения безопасности существующей.

В 2017 году TUF приняли в экосистему CNCF, а в 2019-м он стал первым выпускником среди проектов из области безопасности. TUF ориентирован на внедрение в любые системы обновления ПО и системы управления конфигурациями (а раз проект в CNCF, то речь, конечно, идет про решения из мира cloud native). Его уже используют Microsoft, Amazon, Google, DigitalOcean, Docker, IBM, Datadog, VMware, Red Hat и другие компании.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 490
Комментарии 0

Архитектурные решения, или Как я перестал беспокоиться и полюбил ADR и RFC

Блог компании Dodo Engineering Анализ и проектирование систем *Профессиональная литература Управление разработкой *Читальный зал

Всем привет! С вами Женя, разработчик Dodo Engineering и один из ведущих подкаста «Читаем вместе». Он посвящен IT-книгам. В каждом сезоне мы планируем читать и разбирать одну книгу. Уже подходит к концу первый сезон, который мы посвятили книге Fundamentals of Software Architecture. Она написана архитекторами для архитекторов, но разработчикам, особенно тем, которые интересуются, как создавать работающие системы, тоже может быть очень интересна и полезна.

Глава про архитектурные решения сильно нас зацепила, потому что в своей работе мы напрямую столкнулись с описанными в ней проблемами. 

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

Знакомо? Нам тоже. Но мы смогли победить эти проблемы.

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 628
Комментарии 0

Работа с набором параметров листа через API nanoCAD

Блог компании Нанософт .NET *API *CAD/CAM *C# *
Tutorial

При подготовке чертежа к печати необходимо настраивать большое количество параметров: принтер, формат бумаги, масштаб, область печати и т.д.

В nanoCAD все необходимые для этого параметры объединены в наборы параметров листов. Однажды созданный набор можно применять в разных документах и разных листах, что позволит значительно сократить время подготовки документа к печати. В этой статье мы рассмотрим, как работать с наборами параметров листов через API nanoCAD.

Читать далее
Рейтинг 0
Просмотры 182
Комментарии 0

Перевод: Как MS SQL Server выполняет запросы. Часть 3

Microsoft SQL Server *
Перевод

Завершающая часть перевода статьи о внутреннем устройстве MS SQL Server – здесь будут разобраны блокировки, процесс записи изменённых данных, а также дополнительные команды SQL Server.

Читать далее
Рейтинг 0
Просмотры 410
Комментарии 0

БУДУЩЕЕ ЦИФРОВОЙ ЛИТЕРАТУРЫ

Блог компании ITSOFT Читальный зал Научная фантастика Изучение языков

БУДУЩЕЕ ЦИФРОВОЙ ЛИТЕРАТУРЫ
или впечатления от современной библиотечной системы США

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 603
Комментарии 6