Рубрика «бэкенд»
Полезные фичи С++ на примере организации пайплайна
2024-10-30 в 7:01, admin, рубрики: бэкенд, микросервисы, С++, С++20Почему я скептично отношусь к переписыванию JS-инструментов на «быстрых» языках
2024-10-25 в 13:01, admin, рубрики: Go, javascript, jit, node.js, Rust, ruvds_перевод, webassembly, zig, бэкенд, веб-приложения, оптимизация, ПрограммированиеЯ написал много JS-кода, и мне нравится JavaScript. Самое же главное, я выработал необходимые навыки для понимания, оптимизации и отладки этого кода, от которых не хочу отказываться.
Поэтому у меня вполне естественно возникает беспокойство по поводу охватившей сферу разработки одержимости переписывать каждый инструмент Node.js на быстрых языках вроде Rust, Zig, Go и прочих. Причём ценность этих языков я нисколько не преуменьшаю. Я даже принимал некоторое участие в разработке Servo, да и на столе прямо сейчас передо мной лежит книга по Rust. Но в целом основную часть своей карьеры я вложил в освоение всех нюансов JavaScript, и на данный момент этот язык для меня самый удобный.
Так что я признаю свою предвзятость (и, возможно, чрезмерный акцент на одном наборе навыков). Но, чем больше я об этом думаю, тем больше понимаю, что у моего скептицизма есть также обоснованные причины, о которых и пойдёт речь в текущей статье.Читать полностью »
Вместо Telegram: ТОП-14 email-рассылок для программиста
2024-08-26 в 11:20, admin, рубрики: email-рассылки, бэкенд, искусственный интеллект, фронтендВ этой статье делюсь подборкой из 14 лучших email-рассылок по бэкенду, фронтенду, ИИ на русском и английском языках.
В последнее время подсел на рассылки для экономии времени: вместо того, чтобы следить за более чем 20 телеграм-каналами по интересующей меня тематике, я получаю письма c тщательно отобранной информацией всего 1-3 раза в неделю.
SQL в качестве API
2024-03-10 в 8:01, admin, рубрики: ansi, api, crud, elasticsearch, Go, graphql, http, json, sql, timeweb_статьи_перевод, XML, архитектура, бэкендSQL в API???
Верно, вы уже успели подумать: «это же безумие, предоставлять API, который принимает SQL». Да, это ужасная идея. Особенно, если API обращён к Интернету. Делать так небезопасно, вы напрашиваетесь на атаки в виде SQL-инъекций. Поддержка такого интерфейса превратится в кошмар, а сама реализация бэкенда будет замкнута на конкретную технологию (это будет какая-нибудь база данных ANSI SQL).
Но справедливо ли такое суждение? Время его пересмотреть!Читать полностью »
Что такое гексагональная архитектура. Разделение бизнес-логики и инфраструктуры с помощью портов и адаптеров
2023-11-02 в 8:01, admin, рубрики: http, rest, sql, timeweb_статьи_перевод, адаптеры, бизнес, бэкенд, гексагональная архитектура, инфраструктура, логика, паттерны, персистентность, порты, приложениеГексагональная архитектура — это архитектурный паттерн, представленный Алистером Кокберном и описанный у него в блоге в 2005 году. Основная идея заключается в том, чтобы структурировать приложение таким образом, чтобы это приложение можно было разрабатывать и тестировать в изоляции, не завися от внешних инструментов и технологий.
Вот как сам Кокберн описывает эту архитектуру одним тезисом:
Добиться, чтобы приложение в равной степени могло управляться пользователями, программами, автоматизированными тестовыми или пакетными сценариями, а также разрабатываться и тестироваться в изоляции от устройств и баз данных, на которых оно впоследствии будет выполняться. — Алистер Кокберн, 2005 г.
В этой статье мы рассмотрим некоторые задачи, как правило, решаемые в типичных программных проектах. Затем мы поговорим о гексагональной архитектуре и о том, как она призвана решить эти задачи. Мы также рассмотрим некоторые детали реализации такой архитектуры и варианты тестирования.Читать полностью »
Как мы создаем Squadus: путешествие от монолита к микросервисам
2023-04-20 в 12:04, admin, рубрики: squadus, TypeScript, Блог компании МойОфис, бэкенд, микросервисы, мойофис, отечественный софт, офисное по, Проектирование и рефакторинг, СофтНа этой неделе мы выпустилиЧитать полностью »
Как правильно проверять сложность пароля пользователя при регистрации
2023-02-02 в 13:30, admin, рубрики: php, безопасность, бэкенд, валидация, пароли, пароль, проверка пароляЗа десятилетия айтишки сложилась практика ограничивать пользователей в сложности их паролей. Сейчас пароль пользователя должен:
-
быть не меньше N символов;
-
&& быть не больше M символов (чуть реже встречается такое правило);
-
Содержать хотя бы одну большую букву;
-
Содержать хотя бы одну маленькую букву;
-
Содержать хотя бы одну цифру;
-
Содержать хотя бы один спецсимвол;
-
Иногда можно наткнуться на шедевры, вроде ограничения по количеству символов одинакового типа подряд, из чего рождается бессмертный анекдот про Читать полностью »
Создаём и настраиваем собственную CDN
2023-01-09 в 13:00, admin, рубрики: CDN, content delivery network, nginx, prometheus, ruvds_перевод, Блог компании RUVDS.com, бэкенд, Серверное администрирование, Сетевые технологии, системное администрированиеЗадача этого репозитория — создать свод знаний о том, как работают CDN, написав одну из них «с нуля». CDN, которую мы будем проектировать, использует следующие технологии: Nginx, Lua, Docker, docker-compose, Prometheus, Grafana и wrk.
Мы начнём с создания одного бэкенд-сервиса, а затем расширим его до многоузловой CDN с симуляцией задержек, а также возможностью наблюдений и тестирования. В каждом из разделов мы обсудим сложности и компромиссы при создании/управлении/эксплуатации CDN.Читать полностью »
Как мы строили реактивный игровой сервер на Vert.x
2022-09-24 в 8:03, admin, рубрики: Блог компании MY.GAMES, бэкенд, геймдев, Игры и игровые консоли, разработка игр, серверВсем привет, меня зовут Алексей Жуков, я старший программист в студии IT Territory. В этой статье я расскажу, как мы строили игровой сервер для Rush Royale. Объясню, почему создание сервера в геймдеве — это не так просто, как кажется на первый взгляд, а также опишу плюсы и минусы реактивного подхода, который мы использовали в нашей работе.
Yandex Planner. Как планировать вычислительные мощности
2022-06-07 в 7:52, admin, рубрики: DevTools, Анализ и проектирование систем, Блог компании Яндекс, бэкенд, высокая производительность, инфраструктура, планирование ресурсов, распределенные системы, Серверная оптимизация, управление ресурсамиСерверные вычислительные ресурсы распределяются между большинством сервисов Яндекса централизованно. Тем самым все команды — и существующие давно, и собранные вокруг небольших экспериментов — получают мощности, которые им необходимы, чтобы сервис бесперебойно и быстро работал у всех пользователей. Однако этим распределением нужно управлять.
Меня зовут Сергей Фомин, я разработчик Yandex Planner. Мой пост будет посвящён тому, как мы эффективно решаем задачу планирования вычислительных мощностей.
Сначала я расскажу, что такое Yandex Planner и почему мы решили писать своё решение. После этого мы поговорим про то, в чём заключается задача планирования, почему она не такая простая, как может показаться на первый взгляд. И в качестве одного из способов решения задачи мы рассмотрим дефрагментацию ресурсов. Поехали.
Читать полностью »