Skip to content

Instantly share code, notes, and snippets.

View kianurivzzz's full-sized avatar
👨‍💻

Nikita Karasyov kianurivzzz

👨‍💻
View GitHub Profile
@kianurivzzz
kianurivzzz / tunnel.bat
Created January 15, 2025 15:44
При разработке мини-приложения в Telegram нужен публичный HTTPS-доступ к локально-запущенному фронтенду. Эти скрипты автоматизируют создание безопасного туннеля с HTTPS при помощи Cloudflared и значительно ускоряют разработку. Файл с расширением .sh для Linux и macOS, а с .bat для Windows
@echo off
setlocal EnableDelayedExpansion
:: Проверяем наличие cloudflared
where cloudflared >nul 2>nul
if %ERRORLEVEL% neq 0 (
echo Error: cloudflared не установлен
echo Скачайте cloudflared с https://github.com/cloudflare/cloudflared/releases
exit /b 1
)

Для записи цифр римляне использовали буквы латинского алфавита: I, V, X, L, C, D, M. Например:

1 обозначалась с помощью буквы I

10 с помощью Х

7 с помощью VII

Число 2020 в римской записи — это MMXX. 2000 = MM, 20 = XX

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

// Если предложение пустое, то возвращается пустой объект 
countWords('');
// {}

const text1 = 'one two three two ONE one wow';
countWords(text1);
// {

Реализуйте функцию, которая принимает на вход имя сайта и возвращает информацию о нем:

// Если домен передан без указания протокола,
// то по умолчанию берется http
getDomainInfo('yandex.ru')
// {
//   scheme: 'http',
//   name: 'yandex.ru',
// }

Создайте разметку базового уровня карты навыков верстальщика.

Структура разметки:

Заголовок первого уровня: Карта навыков верстальщика

Заголовок второго уровня: Базовый уровень

Нумерованный список из трёх заголовков третьего уровня:

В этом задании вам необходимо настроить текстовые стили для небольшой части страницы портала «Artist Magazine».

Используйте обобщенное свойство font на больших контейнерах. В остальных случаях используйте отдельные свойства.

Для логотипа и заголовка статьи используется шрифт Cormorant. Их нужно скачать из Google Fonts и положить в папку fonts.

Стили body

Размер шрифта: 16px

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

В этой практике вам предстоит выводить список пользователей, а также детальные странички каждого пользователя.

src/app.py

Реализуйте обработчики для вывода списка пользователей /users и конкретного пользователя /users/<id>. Список пользователей содержится в переменной users. Каждый пользователь представлен словарем, у которого есть числовой ключ id.

Пример

@kianurivzzz
kianurivzzz / TASK.md
Last active September 17, 2024 15:50

Необходимо реализовать адаптивное меню «Гамбургер».

Суть такого меню очень простая: при заданной ширине экрана меню исчезает, а на его месте появляется иконка. Эта иконка обычно в виде трёх линий друг под другом. От внешнего сходства иконки со всеми известным блюдом такая реализация меню получила название «Гамбургер».

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

Реализация меню при ширине viewport более 500 пикселей должна остаться той же самой.

Задание

Реализуйте меню и тестовый блок для администрации и пользователя в онлайн-школе. На вход в файл index.pug с сервера поступает объект с пользователем в следующем виде:

const user = {
  login: 'student',
  password: 'studentpass',
  name: 'Студент',
  surname: 'Студентович',
  role: 'user',
  testing: true,
}

Чтобы выводить детальную информацию по каждому отдельному ресурсу какой-то категории, то есть студенты, курсы, уроки, используются динамические обработчики.

В этом упражнении вам нужно будет создать обработчик для вывода информации по каждой компании из списка.

app.py Реализуйте маршрут /companies/<id>, по которому отдается json представление компании. Компания извлекается из списка companies. Каждая компания представлена словарём, у которого есть числовой, то есть тип данных – число, ключ id:

Пример

# Гипотетический пример показывающий структуру