Pull to refresh
72
94.6
Timeweb Cloud @Timeweb_Cloud

Редактор блога Timeweb

Send message

Лучшие backend-фреймворки для веб-разработки в 2024 году

Level of difficultyEasy
Reading time13 min
Views22K

Фреймворки упрощают разработку, ликвидируют хаос и задают понятные рамки при создании приложения.

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

В этой статье мы рассмотрим 10 самых популярных фреймворков для backend-а в 2024 году, без которых сегодня не обходится практически ни одно приложение.

Читать далее
Total votes 52: ↑23 and ↓29+4
Comments38

HTTP-запросы: параметры, методы и коды состояния

Level of difficultyEasy
Reading time11 min
Views6.4K

Когда пользователь вводит URL-адрес сайта в поисковой строке браузера, его компьютер или другое устройство инициирует соединение с сервером и отправляет ему HTTP-запрос — сообщение с некой информацией. Это может быть просьба отправить ему HTML-страницу или, наоборот, данные пользователя, которые серверу нужно обработать. По сути, браузер предоставляет пользователю графический интерфейс для получения информации с сайтов с помощью HTTP. 

HTTP-сообщения — это основной способ коммуникации устройств в клиент-серверной архитектуре. Кроме него есть и другие методы, например FTP или P2P. Но в бытовой деятельности интернет-пользователей наиболее частым сценарием является именно HTTP.

В этой статье мы рассмотрим, как общаются серверы и устройства пользователей: что такое HTTP-сообщение, какая у него структура и из чего состоит HTTP-запрос и ответ. А также вскользь затронем сам протокол HTTP и его основы.

Читать далее
Total votes 23: ↑20 and ↓3+26
Comments0

Как развернуть Supabase в облаке Timeweb Cloud

Level of difficultyMedium
Reading time7 min
Views1.2K

Пакет Supabase — это бесплатный аналог облачных сервисов Google Firebase (БД, аутентификация, хранение файлов, realtime обмен данными, framework для популярных языков). Перечисленные инструменты позволяют разработчикам быстро создавать как простые мобильные приложения и сайты, так и сложные корпоративные системы. Кроме того, при использовании Supabase вам не нужно уметь управлять сервером, пользователями и обслуживать базу данных — для этого в пакете присутствует готовая административная панель.

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

Вспомнил школьную физику, и теперь продаю горячий воздух на Авито на 12 млн в год

Level of difficultyEasy
Reading time10 min
Views165K

Знаете, почему летает воздушный шар? 

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

Сегодня принято зарабатывать на высоких технологиях, например, на искусственном интеллекте. Но мне, чтобы продавать на 24 млн в год, понадобился закон физики из 3 века до нашей эры. В статье я расскажу, как и сколько можно заработать, если подсунуть газовую пушку под брезент.

Читать далее
Total votes 189: ↑163 and ↓26+166
Comments166

Новый подход к саппорту: как мы переизобрели поддержку в 2024 и написали об этом книгу

Level of difficultyEasy
Reading time6 min
Views2.2K

Привет! На связи Паша и Даша из Timeweb Cloud. Мы руководим отделом информационной поддержки и развиваем систему чуткого саппорта 24/7/365. За последние годы мы кратно выросли и зарекомендовали себя в числе лучших на рынке. Рост спровоцировал появление новых проблем, поэтому мы решили трансформировать процессы в командах с нуля.

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

Читать далее
Total votes 16: ↑11 and ↓5+13
Comments5

Быстрый интерфейс, быстрый деплой

Level of difficultyEasy
Reading time3 min
Views5.6K


Салют! Не так давно создатели знаменитого pydantic выпустили новый фреймворк — FastUI, который позволяет создавать пользовательские интерфейсы с помощью декларативного кода на Python. В этой статье рассмотрим создание простого приложения и деплой его в Cloud Apps.
Читать дальше →
Total votes 15: ↑14 and ↓1+18
Comments10

Фантастически быстрый деплой веб-приложения

Level of difficultyEasy
Reading time18 min
Views8.8K
image

Привет, Хабр! Сегодня поговорим об одном интересном микро-фреймворке для Python — Flask. Мы создадим свое собственное веб-приложение и изучим расширения flask, а после задеплоим его на сервер, чтобы иметь доступ из внешнего мира.

Flask всегда мне нравился, ибо он был минималистичный, быстрый, лёгкий для изучения, и в то же время легко расширялся до полноценного проекта.

Мы затронем все моменты, я объясняю каждую строчку кода. Мы будем создавать не просто какой то статичный сайт — а открытую публичную стену, с регистрацией и авторизацией. Каждый может туда зайти, авторизоваться и оставлять посты на общедоступной стене.

А самое главное — безболезненный, быстрый и легкий деплой будущего приложения.
Читать дальше →
Total votes 32: ↑26 and ↓6+28
Comments4

«Поздравляем с терабитом». Та самая статья про DDoS-2023 — без цензуры

Level of difficultyMedium
Reading time9 min
Views31K

Дисклеймер ↓

Этот материал должен был выйти в декабре 2023, прямо перед Новым годом, — и это классический пример про «лучшее враг хорошего». Сначала нам не нравилось, что мало подробностей. Потом — что их излишне много. Была версия с цитатами, но без скринов. Со скринами, но без цитат. Мы записали столько интервью с сетевиками, что сами в них запутались.

Но в итоге сегодня наша статья наконец-то выходит в свет. Из цензуры — только внимательная рука корректора. Передаем слово Максу Яковлеву.
Читать дальше →
Total votes 86: ↑84 and ↓2+102
Comments46

Timeweb Cloud CLI. Часть 1: S3

Level of difficultyMedium
Reading time2 min
Views1.2K


Салют! Не так давно компания Timeweb Cloud выпустила новую версию своего CLI (twc), который позволяет легко и удобно управлять всеми предоставляемыми ресурсами облачной платформы. В этой серии статей рассмотрим основные сценарии применения этого инструмента.

В данном материале речь пойдёт о работе с облачным объектным хранилищем S3 — это сервис для хранения любых данных в виде объектов, работа с которым осуществляется через программный интерфейс S3 API, в нём можно размещать любые типы статических данных.
Они будут храниться в одном месте и едином формате, и вы сможете в любой момент получать к ним доступ через API или графический интерфейс. Удобно размещать там, например, бэкапы, статические и медиа файлы, архивы, логи.
Читать дальше →
Total votes 9: ↑7 and ↓2+12
Comments0

Компилятор за выходные: избавляемся от переменных

Level of difficultyMedium
Reading time15 min
Views13K

Вопрос из области ненормального программирования: насколько сложные программы вы сможете написать на питоне, не пользуясь в принципе переменными (а также агрументами функций), за исключением пары глобальных массивов? Правильный ответ: да любой сложности. Если что-то можно сделать на ассемблере, то уж на питоне и подавно! Правда, пусть лучше код вместо меня сгенерирует машина :)

Продолжаем разговор о минималистичном компиляторе, который вполне реально написать за выходные. Задачей стоит транслировать код из придуманного мной языка в x86 ассемблер. Мой компилятор состоит из 611 строк кода, при этом не имеет ни единой зависимости:

ssloy@khronos:~/tinycompiler$ cat *.py|wc -l

611

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

Итак, тема сегодняшнего разговора: генерация кода на питоне без использования переменных.

Читать далее
Total votes 30: ↑29 and ↓1+41
Comments35

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Level of difficultyHard
Reading time13 min
Views92K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.
Читать дальше →
Total votes 313: ↑312 and ↓1+368
Comments159

История создания Ведьмака: от литературной саги до игровой франшизы

Level of difficultyEasy
Reading time98 min
Views16K
image

Ко мне в руки тут попала одна книжка про разработку этих ваших ведьмаков и Гервантов из Рыбии. История франшизы, короче. В общем, прочитал я её, проникся, решил изучить тему глубже, а потому, дорогие читатели, держите материал, без регистрации и СМС, даром. Это будет компиляция всевозможной инфы в одном месте, максимально подробно. Кто уже читал эту книгу или изучал разные источники — и так всё знает, кто не читал — экономлю вам время и приоткрываю завесу тайн, которые, возможно, вы не знали. Всё это приправлено разными интервьюшками, концепт-артами и прочей информацией с забугорных сайтов и других годных материал. Должно быть интересно. Тем более игре совсем недавно (26 октября) стукнуло 16 лет, хороший повод. Итак…
Читать дальше →
Total votes 55: ↑53 and ↓2+66
Comments20

Нейросеть мне в помощь или как я сделал телеграм бота, который умеет переводить песни

Level of difficultyEasy
Reading time14 min
Views14K

Однажды, когда я искал эффективное решение для преобразования речи в текст (транскрибации), чтобы применить его в своем проекте умной колонки, обнаружил интересное решение под названием Whisper от широко известной компании Open AI. К сожалению, Whisper не подошел для реализации в моем проекте по «аппаратным» причинам, но его функционал отпечатался в моей душе. Прошло время и меня посетила идея: «Почему бы не разработать телеграмм бота, куда бы пользователь мог отправлять аудиофайл, а в ответ получал текстовую расшифровку и перевод (песни) на родной язык». В этой статье я расскажу о реализации данной идеи и Whisper в этом проекте займет одну из ключевых функций.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments23

«Выгорел просто в угли и уволился» — истории карьерных неуспехов, часть 5

Level of difficultyEasy
Reading time9 min
Views92K

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

Они могут вдохновлять, а могут нет — и вот ты сидишь перед монитором, вспоминаешь все свои маленькие и большие неудачи и не понимаешь, что с тобой не так, ведь у всех всё классно. Ну, это мой личный опыт.

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

Читать далее
Total votes 39: ↑31 and ↓8+39
Comments192

Обучающая основам программирования и робототехники настолка «Битва Големов» — качаем, печатаем и играем

Level of difficultyEasy
Reading time2 min
Views4.8K

Я решил сделать детям, родителям и преподавателям подарок. Встречайте BIG BOX PNP по классической версии моей игры о боевых программируемых роботах "Битва Големов", который можно свободно скачать, распечатать и играть.

Читать далее
Total votes 22: ↑20 and ↓2+23
Comments3

Разбираем HTTP/2 по байтам

Level of difficultyMedium
Reading time24 min
Views34K

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

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

Futhark в браузере

Level of difficultyHard
Reading time7 min
Views3.4K
image

В IT так: если что-то существует, то рано или поздно это будет существовать и в браузере. Сегодня так устроен мир. Благодаря работе Филипа Лассена, теперь вы можете гонять Futhark у себя в браузере. В данном посте рассказано, как этого удалось добиться, и почему этот функционал пока не так полезен, как мог бы (спойлер: пока не поддерживается работа с GPU), и какие есть перспективы этот функционал доработать. Подробно о том, как спроектирован этот язык, рассказано в магистерской диссертации Филипа.
Читать дальше →
Total votes 16: ↑11 and ↓5+14
Comments2

Сам себе игровая консоль: как я сделал свой «тетрис» с нуля. Что происходит, когда программист встречается с железом?

Level of difficultyMedium
Reading time8 min
Views11K
image

Я, как и многие мои читатели, очень люблю игры. Уже довольно обширное число моих статей было посвящено ремонту и моддингу самых разных игровых консолей — как китайских «нонеймов», так и брендовых PSP и PS Vita! Однако, меня тянет к железу не только желание отремонтировать и поставить в строй «устаревшие» девайсы, но и мания делать и созидать что-то своё! А ещё я очень люблю программировать игры и графику сам. Недавно я загорелся идеей разработать с нуля свой портативный «тетрис»: от схемы и разводки платы, до написания прошивки и игр под нее. Что получается, когда программист, который поставил электронику практически во главе своей жизни, пытается сделать свое устройство? Читайте в статье!
Читать дальше →
Total votes 36: ↑34 and ↓2+44
Comments84

Развлекаемся с электрофоретическими дисплеями

Level of difficultyEasy
Reading time21 min
Views26K

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

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

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

Верификация распределённых систем с применением Isabelle/HOL

Level of difficultyHard
Reading time8 min
Views1.6K
image

Мы ежедневно пользуемся распределёнными системами (в форме интернет-сервисов). Эти системы очень полезны, но и реализовывать их непросто, так как сети непредсказуемы. Всякий раз, когда вы передаёте сообщение по сети, предполагается, что оно прибудет очень быстро, но возможны и достаточно долгие задержки. Может случиться так, что сообщение не прибудет вообще, либо прибудет несколько раз. Когда вы отправляете запрос другому процессу и не получаете отклика, вы понятия не имеете, что произошло: потерялся ли запрос, либо тот другой процесс аварийно завершился, либо сам отклик потерялся? Или же на самом деле ничего не потерялось, сообщение просто задержалось и ещё может прибыть. Невозможно доподлинно узнать, что произошло, поскольку ненадёжный обмен сообщениями – единственный способ межпроцессной коммуникации.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments1

Information

Rating
Does not participate
Works in
Registered
Activity