В этой статье я хочу объяснить разницу между stackless и stackful корутинами: чем они отличаются, какие у них плюсы и минусы, а также в общих чертах рассказать, как в некоторых языках программирования реализована многопоточность.Я стараюсь писать статьи простым и понятным языком, чтобы их мог понять как можно больший круг читателей. Поэтому в тексте будут сделаны упрощения.НачнёмВ операционной системе есть процессы — это экземпляры программ, у которых есть своё виртуальное адресное пространство…
Привет, друзья! В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков. На сегодняшний день Convex предоставляет реактивную базу данных смешанного типа, механизм аутентификации/авторизации, файловое хранилище, планировщик задач и инструменты интеллектуального поиска. Эта первая часть серии, в которой мы поговорим о функциях и базе д…
Сегодня мы опишем создание простого сервиса для отправки SMS с вопросами через веб-интерфейс своим клиентам и просмотра всех полученных ответов. На базе этого решения можно построить систему автоматической обработки обратной связи, поэтому вашему маркетологу должно это понравиться.Мы используем SMS API от Exolve, фреймворк Next.js без APP роутера и базу данных PostgreSQL. Для тестирования в локальной среде и приёма сообщений из интернета работаем с Ngrok.Установка Next.jsПервым делом устанавлив…
Меня зовут Сергей Константинов. Я фронтенд-разработчик в Сбере и наставник на курсе «Фронтенд-разработчик». У меня весьма широкий круг общения: от студентов и выпускников Практикума до лидеров ведущих компаний, таких как Яндекс, VK, Сбер и другие. Благодаря этому я могу объективно рассказать о пути, который проходит фронтенд-разработчик на всех этапах карьеры.Дисклеймер: все имена вымышлены, а совпадения случайны.ДетствоКогда «рождается» фронтенд-разработчик, перед ним всегда два пути: быстрый …
Во фронтенде часто попадаются сложные формы. Создавая их, мы хотим, чтобы пользователю было удобно все заполнять. Числа нужно правильно форматировать, чтобы с первого взгляда было видно, что нет лишнего нолика. Когда вводишь номер кредитной карты, сверять его удобно блоками по 4 цифры, как он напечатан на пластике. Пользователь может вбивать номер телефона, дату рождения, номер паспорта и тому подобное — существует масса случаев, когда пользовательский ввод нужно форматировать на лету. Этим зан…
В своих предыдущих статьях о разработке телеграм-ботов я делился опытом создания базового функционала и работы с командами через аргументы (раз, два). На этапе подготовки третьей статьи передо мной встал вопрос генерации однотипного кода для новых команд, что превратилось в рутинную задачу. Чтобы избежать этого и ускорить процесс, я решил задействовать ChatGPT. К моему удивлению, его помощь оказалась значительно весомее, чем я ожидал.Если коротко, то использование ChatGPT для автоматизации гене…
Понимание спецификации ECMAScript, часть 4Привет, Хабр! Представляю вашему вниманию перевод четвертой статьи автора Marja Hölttä из цикла Understanding ECMAScript. Перевод первой части. Перевод второй части. Перевод третьей части.Тем временем в другой части СетиДжейсон Орендорфф из Mozilla опубликовал прекрасный своей глубиной анализ синтаксических причуд JS. Несмотря на различия в деталях реализации, каждый движок JS сталкивается с одинаковыми проблемами, связанными с этими особенностями.Cover…
Сначала поставим обязательные плагины: Rust-Analyzer (официальная поддержка Rust), Tauri и CodeLLDB (отладчик). Опционально пригодится "Even Better TOML". Для открытых проектов ещё посоветую Codeium - навороченное дополнение с отличным бесплатным тарифом, но шлёт ваш код дяде. Это для всех ОС. В Windows, чтобы работать подобно белому человеку, так же надо установить Windows Terminal и Powershell 7. Установив это всё, закрываем VSCode.Создаём проект Tauri. Открываем наш проект в корне…
JS-библиотеку htmx воспринимают как средство, которое спасает интернет от одностраничных приложений. Всё дело в том, что React поглотил разработчиков своей сложностью (так говорят), а htmx предлагает столь желанное спасение. Создатель htmx, Карсон Гросс, иронично объясняет эту динамику библиотеки так: Нет, здесь у нас диалектика Гегеля: тезис: традиционные многостраничные приложения, антитезис: одностраничные приложения, синтез (возвышенная форма): гипермедиа-приложения с островками интерак…