Swagger - это фреймворк для спецификации RESTful API. Его прелесть заключается в том, что он дает возможность не только интерактивно просматривать спецификацию, но и отправлять запросы – так называемый Swagger UI. Также возможно сгенерировать непосредственно клиента или сервер по спецификации API Swagger, для этого понадобиться Swagger Codegen.
Пользователь
Git. Скачем между ветками как древесные лягушки
Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):
«Не могу пошарить экран с кодом, у меня другая ветка сейчас».
«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»
«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».
Фоновые асинхронные задачи в FastAPI и их мониторинг
Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.
Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.
В туториалах для фоновых задач в FastAPI обычно предлагают celery и при этом используют синхронный код. Но сегодня в реальной практике такое встречается редко, поэтому в этой статье я покажу, как в фоновых задачах использовать асинхронный код.
В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery.
В конце расскажу, как мониторить фоновые задачи.
Гарвардский курс CS50 на русском. Все серии
Друзья, мы рады сообщить, что перевод всего гарвардского курса CS50 закончен.
Мы писали, что в курсе 24 серии, однако последние две оказались одной и той же лекцией (одна прочитана в Гарварде, а другая в Йеле), поэтому в списке переведённых лекций не 24, а 23.
Список лекций под катом.
- Основы компьютерных наук и программирования;
- Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
- Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
- Основы языка программирования C и Scratch;
- Основы баз данных и SQL;
- Веб-разработка: основы CSS, HTML, JavaScript и PHP;
- Основы подготовки презентации проектов по программированию.
Курс переведён и озвучен нашей студией по заказу JavaRush, и мы хотим сказать им огромное спасибо за поддержку!
Где найти ментора в IT? Обзор площадок
Сейчас менторство считается одним из мощнейших рычагов роста в IT и отличным способом развития soft & hard skills. На рынке уже тысячи менторов по различным тематикам. Но где найти этого эксперта, который подскажет верный путь, поможет решить рабочую задачу, составить план развития или прокачать новый навык?
Гайд по деплою web-приложений для новичков. Часть 1. Shared-хостинг
В web-разработке процесс деплоя играет важную роль. Это ответственный момент (даже торжественный), когда все усилия, потраченные на написание и тестирование кода, воплощаются в "живое" приложение, доступное пользователям. Ведь для этого приложение и делается, чтобы им кто-то пользовался. Каждый разработчик, независимо от уровня и специализации, регулярно сталкивается с задачей деплоя. Это статья рассчитана на новичков, которые учатся разворачивать приложения на сервере и хотят узнать различные варианты, сравнить их и выбрать подходящий.
В этой статье пошагово разберем самый простой вариант - деплой приложения на хостинг.
Приложение для заметок Obsidian Note, или как держать всё и сразу, и при этом — ничего не потерять
Приложение Obsidian представляет из себя огромную базу ваших заметок. Одним из её плюсов является поддержка Markdown (.md).
Лично я пишу заметки уже долгое время. Это может быть практически что угодно, от буквально мыслей, который тебя посещали в течении дня, до каких-либо идей или планов на ближайшие пару дней.
AWS Lambda — теория, знакомство
Краткий экскурс в AWS Lambda
Что это?
AWS Lambda: это вычислительный сервис, который позволяет запускать код практически для любого типа приложения или серверной службы — и все это без необходимости администрирования. AWS Lambda выполняет все администрирование за вас, включая обслуживание сервера и операционной системы, выделение ресурсов и автоматическое масштабирование, мониторинг кода и ведение журнала. Все, что вам нужно сделать — это предоставить свой код на одном из языков, которые поддерживает AWS Lambda.
Зачем ее использовать?
- Деньги. Вы платите только за то время, когда сервис работает.
- Скорость. Сама по себе лямбда поднимается и работает очень быстро.
- Удобство. Лямбда имеет много возможностей по интеграции с сервисами AWS.
- Производительность. Параллельно может выполняться, в зависимости от региона максимально от 1000 до 3000 экземпляров. И при желании, этот лимит можно поднять, написав в поддержку.
У этого подхода есть и свои минусы, вы не можете управлять операционной системой на который выполняется код, не можете контролировать ЦП, память и ресурсы. Всем этим занимается AWS.
Все что вы можете, это выбрать язык, из поддерживаемых AWS Lambda.
Что могёт?
Ниже представлен краткий перечень основных функций AWS Lambda. Далее все рассмотрим по порядку.
Десять английских идиом, которые поставили меня в тупик
Как-то так получается, что регулярно натыкаюсь на странные и крайне занятные выражения. Иногда совершенно не понятно, что они означают – они буквально ставят меня в тупик. Порой оказывается, что за многими из них богатая история, пласт культурного кода и кусочек чьей-то жизни в памяти людей.
Я отобрал самые интересные и запомнившиеся идиомы английского языка, дополнил их историей происхождения и примерами из музыки, кино, да и просто обычной жизни. Так что сегодня на взморье мы режем горчицу, расстраиваем тележку с яблоками, бросаем монетку и едем на поезде с подливой – надеюсь, обойдемся без вспышек в кастрюле, иначе придется повернуться к музыке!
Рейтинг Elo в играх для двух игроков
- А кто из нас лучше всех играет в настольный футбол?
- С кем бы мне сейчас пойти поиграть?
- Кого надо уволить, потому что он не работает а только играет?
Наш опыт решения данных вопросов с помощью системы рейтинга Elo будет рассмотрен в статье. А также ссылка на репозиторий и на сайт будут разбросаны по статье.
Network Maps. Краткий обзор софта для построения карт сети
0. Вводная..
В связи с этим я решил немного сэкономить время и силы тех, кого интересует данный вопрос, и собрал максимально возможное, читай осиленное мной, количество систем для network mapping'а в одном месте.
Часть систем, описанных в данной статье, были в свое время испробованы мной лично. Скорее всего, это были неактуальные на данный момент версии. Часть из нижеприведенного я вижу впервые, и информация по ним собиралась исключительно в рамках подготовки данной статьи.
В силу того, что трогал я системы давно, а часть из них не трогал вообще, у меня не осталось ни скриншотов, ни каких-либо примеров. Так что я освежил знания в гугле, вики, на youtube, сайтах разработчиков, там же натырил скриншотов, и в итоге получился вот такой вот обзор.
1. Теория
1.1. Зачем?
Чтобы ответить на вопрос «Зачем?» сначала нужно понять, что же такое «Карта сети». Карта сети – (чаще всего) логико-графико-схематическое представление взаимодействия сетевых устройств и их связи, которое описывает их наиболее значимые параметры и свойства. В наше время часто применяется в связке с мониторингом состояния устройств и системой оповещения. Так вот: затем, чтобы иметь представление о расположении узлов сети, их взаимодействии и связях между ними. В связке с мониторингом мы получаем рабочий инструмент для диагностики поведения и прогнозирования поведения сети.
1.2. L1, L2, L3
Они же Layer 1, Layer 2 и Layer 3 в соответствии с моделью OSI. L1 – физический уровень (провода и коммутация), L2 – уровень физической адресации (mac-адреса), L3 – уровень логической адресации (IP-адреса).
Режим “язвить” в sudo!
Для включения этого режима используйте команду:
sudo visudo
(всегда используйте visudo для редактирования файла sudoers).
Найдите строку, начинающуюся с Default и добавьте insults в конце (все добавления в этой строке через запятую). Получится что-то типа такого:
Defaults !lecture,tty_tickets,!fqdn,insults
Сохраните файл. В следующий раз, когда вы неправильно введете пароль для sudo, программа не упустит возможность вас подколоть.
Заметка: для очистки сессии sudo, чтобы вновь потребовалось введение пароля, используйте:
sudo -K
Несколько примеров:
Maybe if you used more than just two fingers…
I have been called worse.
Listen, burrito brains, I don’t have time to listen to this trash.
Развлекайтесь :)
Перевод сделан для Linux в digg на русском
Где новичкам самостоятельно изучать программирование или как обойтись малой кровью
Эта статья является прямым продолжением моей прошлой статьи Несколько советов как новичкам не забросить изучение IT, где я обещала рассказать как эффективнее обучаться программированию самостоятельно, где набираться опыта и про бесплатные курсы от компаний с возможностью трудоустройства.
Несколько советов как новичкам не забросить изучение IT
Я создаю IT-курсы уже 6 лет, являюсь руководителем направления обучения Бэкенд-разработке в онлайн-школе и даже развиваю свои собственные курсы по программированию на Python. Еще веду корпоративные обучения, работаю в универе и провожу консультации о построении пути в IT.
И как бы это не выглядело саморекламой, я хочу сказать, что очень много работаю с людьми, которые пытаются начать свой путь в IT, топчутся на месте, не понимают куда двигаться, учатся по четыре года или вовсе бросают, и спустя несколько лет даже могу систематизировать все их проблемы на несколько типичных категорий. Об этом я уже написала кучу постов и даже сняла пару вебинаров, как и еще сотни специалистов и блогеров, поэтому не хочу повторяться. И повторять миллионы статей о построении пути, как стать разработчиком или роад-мепы я тоже не буду.
Я не буду говорить как выстроить путь, какой язык вам лучше выбрать и какие ошибки не совершать.
Я хочу дать несколько советов, которые помогут вам этот путь не забросить. И разобрать самые типичные проблемы, с которыми сталкиваются многие люди.
Перегрузка функций в TypeScript
Перегрузка функций — это та область TS, которая находится в невидимой зоне для разработчиков, которые изучали JS, а потом на работе «на ходу» начали осваивать TS. Особенно, если изучение JS не было связано с университетом или любым другим фундаментальным образованием. Если вы изучали JS на курсах, то вы никогда не услышите там про перегрузку функций, просто потому что в JS этого функционала нет. А когда вы сами начнете изучать TS, то вы не наткнетесь на перегрузку функций, просто потому что даже не подозреваете о ней. Если, прочитав вступление, вы задались вопросом «Что за перегрузка такая?», то эта статья для вас.
NEST.JS. Работа с ошибками. Мысли и рецепты
Одни умные люди говорят: "эксепшены - это зло, используйте монады!", другие кричат: "коды ошибок ещё никто не отменял!", а третьи включают механизм исключений в языки программирования.. Однако, у большинства статей, который попадались мне на глаза есть две относительные проблемы (при всём уважении к авторам!):
Некоторая... академичность. Разобрано множество идей и концепций, но заканчивается всё стандартным: "ваш выбор зависит от вашей ситуации".
Абсолютно отсутствуют упоминания о бюджете. Никто же не будет спорить, что теоретически мерседес лучше, чем восьмёрка по всем показателям... если не считать цены.
Цель этого поста - поделиться выработанным практическим рецептом. В конкретном фреймворке и с конкретными границами применимости. Без претензий на уникальность, универсальность, идеальность и, тем более, академическую "правильность".
Кому интересно, прошу под кат.
Установка и обновление зависимостей в JavaScript
И снова привет! В прошлом посте мы начали рассматривать процесс управления зависимостями в JavaScript, разобрали основы: что такое npm-пакет, как выглядит манифест пакета, в каких полях прописываются зависимости и в принципе что такое дерево зависимостей, а также основы семантического версионирования (semver). Если вы пропустили предыдущий пост, то рекомендую начать с него.
Сегодня мы пойдем немного дальше и более подробно рассмотрим как работает semver, как правильно прописывать диапазоны зависимостей, а также устанавливать и обновлять их.
Освоение AWS CDK: настройка пользовательского домена для вашего HTTP-шлюза
В этой статье будет дана пошаговая инструкция настройки доменного имени для вашего HTTP Gateway с использованием AWS CDK. Независимо от того, являетесь ли вы опытным пользователем AWS или новичком, это руководство обещает предоставить ценную информацию и практические шаги для улучшения ваших навыков в области облачных сервисов.
Как сохранять данные в браузере или краткий гайд по LocalStorage
Привет! В этой статье я кратко объясню что такое localStorage в JavaScript, его особенности и расскажу как с ним работать.
Практическое руководство по разработке бэкенд-сервиса на Python
TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность