Все потоки
Поиск
Написать публикацию
Обновить

Бэкенд

Сначала показывать
Порог рейтинга
Уровень сложности

Как измеряется работа выполненная в z/OS и что из этого следует

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров2.6K

Если спросить администратора любой системы на х86 сервере в чем их система и как измеряет выполненную работу, то в ответ услышишь «А зачем это надо? Выполняется и хорошо. Чего еще?». Может я ошибаюсь, поправьте в комментариях.

Здесь я хочу рассказать о измерении выполненной работы в z/OS, зачем это делается и какие из этого могут быть финансовые последствия (нет не штрафы и пени, а скорее наоборот).

Читать далее

Шаг за шагом проектируем сокращатель ссылок

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров9.1K

В этой статье я хочу показать, что из себя представляет System Design. На примере простого и очень популярного на собеседованиях сервиса «Сокращатель ссылок», мы рассмотрим стадии System Design и в конце у нас будет готова схема системы со всеми расчетами.

Вперед!

Телеграмм боты на C# и с чем их едят. TeleBotFramework

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.4K

Я занимаюсь разработкой уже 10 лет, большую часть времени на C# и ASP.Net и взбрело мне в голову разобраться, что такое эти ваши телеграм боты и как они работают.

Спойлер: Это просто вебсервер с webhook или вообще консольное приложения с long-pooling.

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

Первое что меня удивило в примерах кода других ботов, это god метод в контроллере, который имеет несколько свитч-кейсов один в другом, а внутри ещё какие-то условные операторы. Мне сразу показалось это странным и я решил пойти по-другому пути. Типа такого, но пример не настоящий.

Читать далее

От Аристотеля до Тьюринга: что такое функциональное программирование и как оно облегчает жизнь

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров16K

Привет, меня зовут Марат Зимнуров, я тимлид в кросс-функциональной команде HR Admin Tech Авито. Тема функционального программирования не обделена вниманием — и все же тяжело найти действительно понятный и структурно изложенный разбор данного инструмента. Нет нормального гайда для старта — ни у нас, ни на Западе. Многие говорят про иммутабельность и монады, но путаются в основах. В статье разбираю, что такое функциональное программирование на самом деле и зачем оно нужно.

Читать далее

Под капюшоном, или 10 ошибок, с которыми мы столкнулись, развертывая наше ПО

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.1K

Меня зовут Владимир Казеннов. С недавнего времени я руковожу группой развёртывания программного обеспечения (ПО) MES-систем в одном из подразделений нашей дружной ИТ-команды «Северстали». Сегодня я немного приоткрою завесу тайны, покрывающую корпоративный деплой.

По инструментам всё достаточно просто. На столе у нас GitLab, ему когда‑то очень‑очень давно помогал Jenkins, немного Vault, чуть‑чуть Helm. Далее погружаемся в кубер, в его лучшую версию на все времена — RKE (Rancher Kubernetes Engine), там уже и Graylog наблюдает за нами, рядом же крутится Kafka c Redis.

Читать далее

Руководство по pgcrypto — шифрование внутри PostgreSQL. Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.7K

Привет, Хабр! На связи снова Антон Дятлов, инженер по защите информации в Selectel. Буквально несколько дней назад мы с вами рассмотрели установку и безопасную настройку pgcrypto и изучили его основные возможности. Пришло время перейти к практическому применению этих знаний.

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

Читать далее

Python в Enterprise-разработке: почему популярность ЯП распространилась и на корпоративный сектор. Часть 1

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

Привет! Это Леша Жиряков, я руководить бэкенд-команды витрины KION и Python-гильдии в МТС. Как раз о Python сегодня и пойдет речь. Обсудим, почему самый популярный ЯП, по версии TIOBE, так востребован в корпоративном секторе: из простого инструмента автоматизации он превратился в полноценную экосистему для создания критически важных продуктов.

Если коротко, причина успеха — в эволюции языка и его экосистемы. Аннотации типов в Python 3.5 сделали доступной статическую проверку кода без потери гибкости динамической типизации. Это решающий фактор для корпоративной разработки, ведь главные требования тут — это надежность и поддерживаемость.

Недавно я уже писал о причинах успеха Python в целом, а сегодня хочу подробно рассмотреть его современные инструменты для предприятий: типизированные структуры данных с dataclasses, высокопроизводительные системы валидации msgspec, pydantic 2 и другие библиотеки. То есть все, что помогло ему стать идеальным выбором для серьезных бизнес-решений. Информации много, так что тему разобью на две части. Погнали!

Читать далее

Как я подружил Yandex Cloud и Gemini API без миграции на зарубежные сервера

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.6K

Когда я начинал писать Node.js-сервис, который должен был интегрироваться с LLM-моделью, я уже понимал, что доступ к некоторым зарубежным API из России может быть проблемой. Именно поэтому моим первоначальным выбором была модель от Yandex Cloud — Yandex GPT.

Но после того как я и мои товарищи немного пообщались с ней, стало ясно, что Yandex GPT нам не подходит. Её ответы были слишком неестественными, «нечеловеческими» — особенно это было заметно в нашем конкретном кейсе. Поэтому пришлось искать альтернативу среди зарубежных моделей. Вариант обучать собственную модель отпал сразу — опыта у меня в этом не было, а искать кого-то, кто сможет это сделать, не было времени, так как хотелось быстро запустить. Так выбор пал на Gemini API от Google, о котором было много позитивных отзывов.

Однако это означало, что нужно было как-то решить проблему доступа из России, ведь мой сервис размещён именно в Yandex Cloud.

Читать далее

Профилирование php приложений с помощью Excimer

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.2K

Привет, Хабр. Хочу рассказать историю, как я некоторое время назад занялся профилированием php приложения и как из этого получился мой первый open source пакет.

Читать далее

Просветление через Код: Суть Django Revolution

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.3K

Django Revolution — это не просто инструмент, это философия. Философия, где рутина уступает место творчеству, а баги растворяются в чистоте кода. Это путь к просветлению в разработке API. Примите его, и ваш код будет сиять, а дух разработчика — парить.

Наш мир, сотканный из битов и фантомных сущностей, породил нового Джинна, способного исполнять самые заветные желания Разработчика. Встречайте: Django Revolution – не просто библиотека, а откровение, мантра, ключ к вратам истинного дзен в мире Django API.

Читать далее

Самое главное о том, как проходила моя стажировка на backend-разработчика

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3.2K

Привет! Меня зовут Кирилл, я студент 3-го курса НИУ МЭИ, направление — «Информатика и вычислительная техника», а также Junior Python Backend-разработчик в Альфа-Банке.

После окончания второго курса я заметил в тематических чатах (например, в чате «Поступашки», где студенты активно обсуждают стажировки), что многие студенты устраиваются на стажировки уже на 2-3 курсах. Часики-то тикают — мой второй курс закончился, теории всё больше, а практики не хватает — была нужна стажировка.

И я начал искать стажировки для backend-разработчиков.

Удивительно, но несмотря на обилие предложений статей от тех, кто «выжил» после стажировок в IT не так уж много. А вопросов много: «Как попасть?», «Что меня там ждёт?», «Как ко мне будут относиться?», «Как устроены процессы в больших компаниях? Можно ли совмещать с учёбой?», «Как теория лекций согласуется с практическими задачами?», «Смогу ли я узнать что-то новое (и научат ли меня?)», «В какую компанию компанию лучше подаваться?»

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

Дисклеймер. Я пишу для студентов и ребят без опыта работы. Если у вас большой опыт и вы не ищите стажировку в IT — вам, скорее всего, будет не интересно.

Читать далее

Используем API Speech2Text для распознавания записей разговоров

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.8K

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

Распознавание аудио решили делать через сервис Speech2Text, пример использования API которого я и покажу в этой статье. В черновом варианте получаем примерно следующую схему работы (нас сейчас интересует прямоугольник с подписью Speech2Text connector):

Читать далее

Как уменьшить размер модели Power BI на 90%

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.8K

Вы когда-нибудь задумывались, что делает Power BI таким быстрым и мощным с точки зрения производительности? Настолько мощным, что он выполняет сложные вычисления над миллионами строк за мгновение.

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

Читать далее

Ближайшие события

Полуприподоткрытый API. Истории от команды, которая прошла через 10+ API-интеграций с банками

Время на прочтение5 мин
Количество просмотров744

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

Читать далее

— Ты там работай, но столько платить мы не можемǃ

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

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

Суть:

Читать далее

Большой разбор Строк Go → «Типы и структуры данных Go»

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.6K

Меня зовут Рома и это вторая часть цикла «Типы и структуры данных Go». В этот раз будем разбираться с внутренностями строк. Говорить будем только о том, что есть в базе языка, то есть без дополнительных функций из стандартной, экспериментальной или какой-либо другой библиотеки.

Приятного аппетита!

Строчить далее

Эксперты шокированы: язык программирования на основе кликбейтных заголовков

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Кликбейтные заголовки, давайте признаемся, надоели всем. Сейчас они встречаются даже на Хабре. Программист Линус Ли, судя по всему, испытывал те же чувства и решил действовать по принципу «не можешь победить — доведи до крайности». В результате он создал Tabloid — полноценный язык программирования, где весь код пишется в стиле сенсационных заголовков.

Представьте язык, где вместо привычного function hello() вы пишете DISCOVER HOW TO HELLO WITH (англ. «узнайте, как сделать... с помощью»), а вместо return используете SHOCKING DEVELOPMENT! (англ. «шокирующее развитие событий»). А еще каждый листинг должен заканчиваться фразой PLEASE LIKE AND SUBSCRIBE.

Звучит как странная шутка? Да, но этот язык реально работает, имеет собственный интерпретатор и позволяет писать полноценные программы.

СЕНЬОРЫ СКРЫВАЛИ ЭТОТ ЯЗЫК….

Интернационализация Python-проектов modern-i18n

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров880

modern-i18n — это легковесная библиотека для интернационализации Python-проектов. Она позволяет легко управлять переводами, использовать параметризованные строки для форматирования текста. Подходит для небольших и крупных проектов.

Читать далее

Как быстро развернуть приложение в облаке и не потерять данные в S3: туториал

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.4K

Вы разработчик, проект растет, код пишется легко. И вот уже готово приложение, и вы хотите поскорее показать его заказчику, коллегам или пользователям. Но вместо этого приходится копаться в Kubernetes, настройках кластеров и балансировщиков. Знакомо?

Я Никита Корольков из Cloud.ru, и сегодня покажу, как без лишних сложностей и запуска виртуальных машин развернуть проект в облаке с помощью Evolution Container Apps и при этом не потерять данные, даже если вы не DevOps.

Узнать больше

OpenIDE — профессиональные инструменты без ограничений

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров11K

31 июля состоится публичный запуск OpenIDE — новой мультиязычной среды разработки, построенной на базе IntelliJ IDEA Platform. Вместе с ключевыми разработчиками, лидерами и представителями отрасли мы обсудим:

1) Зачем появилась OpenIDE
2) Как она уже сегодня может заменить IntelliJ Platform для Java и Spring
3) В чём её ценность для всей экосистемы
4) Как работать с проектами на Go, Python и TypeScript
5) И расскажем, как присоединиться к сообществу и развитию проекта

Мероприятие пройдет онлайн 31 июля, в 17:00 (МСК), на YouTubeVK и RUTUBE каналах Spring АйО. Участие абсолютно бесплатное.

Главное — зарегистрироваться, чтобы получить на почту ссылки на трансляцию и файл .ics для добавления события в календарь.

Читать далее