Pull to refresh
13
0
Алексей @AlexDevFx

Разработчик

Send message

Распознаем голосовые сообщения Telegram без СМС и пересылок ботам

Reading time7 min
Views12K

Как всем известно, люди делятся на две категории:

1. Те, кто любит отправлять голосовые сообщения

2. Те, кто кто надеются, что для первых приготовлен отдельный котел

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

Читать далее
Total votes 33: ↑33 and ↓0+36
Comments30

Алгоритм ESG (Evolution of Social Groups). C#

Level of difficultyEasy
Reading time6 min
Views2.8K

Представляю вашему вниманию статью, посвященную авторскому алгоритму «Evolution of Social Groups» (ESG) C#. Этот уникальный метод оптимизации, основанный на взаимодействии социальных групп, открывает новые горизонты в области метаэвристики. В статье подробно рассматриваются основные принципы работы алгоритма, его преимущества и области применения. Присоединяйтесь, чтобы узнать больше о мире оптимизации и возможностях, которые он открывает. Поехали…

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments6

А в чем проблема работать с файлами?

Level of difficultyMedium
Reading time53 min
Views33K

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

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Total votes 141: ↑140 and ↓1+169
Comments23

CI/CD для проекта в GitHub с развертыванием на AWS EC2

Reading time6 min
Views11K

Имеем: проект web API на .net core с исходниками в GitHub.

Хотим: авторазвертывание на виртуалке AWS EC2 после завершения работы с кодом (для примера push в develop ветку).

Инструментарий: GitHub Actions, AWS CodeDeploy, S3, EC2.

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments0

Пишем Смарт-контракт на FunC для TON (The Open Network)

Reading time6 min
Views18K

В этом уроке мы напишем ваш первый смарт-контракт в тестовой сети The Open Network на языке FUNC, задеплоим его в тестовую сеть с помощью toncli, а также протестируем его с помощью сообщения на языке Fift.

Читать далее
Total votes 14: ↑9 and ↓5+6
Comments7

Единственный полёт «Бурана»

Reading time10 min
Views38K
29 октября 1988 года, 6:23:49 мск. Космодром Байконур, стартовая площадка 110.

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

За 51 секунду до старта по всем системам проходит код отмены пуска. От изделия невовремя, с задержкой на 38 секунд, отошла платформа азимутальной ориентации, регулирующая гироскопы, стартовый комплекс не получил от неё доклад о фиксации и мгновенно выдал команду на аварийное прекращение пуска. Тут же принимается решение об отмене старта, сливе компонентов топлива и переносе на 15 ноября.


Читать дальше →
Total votes 155: ↑150 and ↓5+185
Comments146

Анатомия асинхронных фреймворков в С++ и других языках

Reading time20 min
Views44K
Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.

Пишем синхронный сервер


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

void naive_accept() {
  for (;;) {
    auto new_socket = accept(listener);

    std::thread thrd([socket = std::move(new_socket)] {
      auto data = socket.receive();
      process(data);
      socket.send(data);
    });

    thrd.detach();
  }
}
Читать дальше →
Total votes 56: ↑53 and ↓3+63
Comments32

Базовые принципы Availability

Reading time5 min
Views12K

О чем статья

В этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.

Вся информация основана на парах книг, статей, и моем опыте. В конце статьи я покажу, какие именно. Также, эта статья - по суть перевод моей же статьи, только написанной на английском.

Что такое Availability?

Перед тем, как рассматривать паттерны и техники для обеспечения availability мы должны определить сам термин.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments0

Пакуем приложения ASP.NET Core с помощью Docker

Reading time11 min
Views116K

Приложения ASP.NET Core по-настоящему кросс-платформенны и могут запускаться в «никсах», а соответственно, и в Docker. Посмотрим, как их можно упаковать, чтобы развертывать на Linux и использовать в связке с Nginx. Подробности под катом!


Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments6

Реализация пула соединений в WCF для .Net Core с использованием HttpClientFactory

Reading time4 min
Views8.7K
Наш продукт разрабатывается на платформе .Net Core 2.2 с использованием WCF 4.5 для взаимодействия с SOAP сервисом клиента. В процессе работы сервиса разработчики шины данных заметили высокую нагрузку на сервер. Далее стали появляться проблемы с доступом к сервису. В результате выяснили, что причина кроется в количестве активных соединений.

Существует такая проблема как connection exhaustion. Она может возникать из-за нехватки доступных портов при установлении соединения или ограничения на количество соединений с внешним или внутренним сервисом. Есть два варианта решения:

• Увеличение доступных ресурсов,
• Уменьшение количества соединений.

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


Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments5

Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS

Reading time4 min
Views64K
Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen.



В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество столбцов в зависимости от ширины экрана или окна браузера.

Самое крутое, что для добавления отзывчивости потребуется написать одну строчку кода на CSS
Читать дальше →
Total votes 79: ↑69 and ↓10+59
Comments38

Information

Rating
Does not participate
Location
Россия
Registered
Activity