Таков webdev – Telegram
Таков webdev
57 subscribers
33 photos
2 videos
63 links
Пишу про свои проекты, делюсь полезными ссылками про webdev и мыслями о разработке

Автор: @sqlzzyy
Download Telegram
Моя первая мультиплеерная игра. "Самый быстрый расшифровщик"

На основе своей платформы написал мультиплеерную игру "Самый быстрый расшифровщик".

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

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

Ссылка на игру: https://encryption-game.sqlzzy.dev

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект
80👍3
Анонсы

Несколько анонсов:
1) Скоро выложу в открытый доступ (на гитхаб) код своей игры "Самый быстрый расшифровщик".
Ссылка на игру: https://encryption-game.sqlzzy.dev

2) Добавлю некоторые нововведения в платформу.
Ссылка на платформу: https://github.com/sqlzzy/socket-express-server

3) Позже выложу на гитхаб код для создания своего телеграмм бота с возможностью создавать список желаний, управлением списком (добавление, удаление) и другими функциями.

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект #aboutwebdev_опенсорс #aboutwebdev_анонс
👍4
Открытый код игры "Самый быстрый расшифровщик"

Выложил код игры "Самый быстрый расшифровщик" в гитхаб: https://github.com/sqlzzy/encryption-game

Игра на писана на платформе: https://github.com/sqlzzy/socket-express-server

Ссылка на игру: https://encryption-game.sqlzzy.dev

Приятной игры!

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект #aboutwebdev_опенсорс
👍4
Новый домен

Переехал на новый домен: https://sqlzzy.dev/

Игра "Самый быстрый расшифровщик" теперь размещается по адресу: https://encryption-game.sqlzzy.dev/

Всем кода без легаси и багов!

#aboutwebdev_блог
👍3
Нововведения в сервере ExpressJS + Socket.io. v2.1.0

Второй пункт из списка анонсов готов.

Нововведения в платформе:
1) создание списка игроков, находящихся в раунде;
2) отображение списка игроков в раунде;
3) отображение сообщений о статусе игры для игроков;
4) функция ожидания для новых игроков в комнате после начала раунда;
5) стили для всех страниц.

Ссылка на платформу: https://github.com/sqlzzy/socket-express-server

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект #aboutwebdev_конфиги #aboutwebdev_опенсорс
👍2
Telegram бот

Третий пункт из списка анонсов готов.

Написал Telegram бота для создания списка желаний.

Возможности бота:
1) Сортировка желаний по категориям:
- исполненные,
- неисполненные;
2) Просмотр списков желаний;
3) Управление навигацией списка желаний;
4) Добавление, удаление или отмечание желания, как исполненное.

Более подробная информация по боту и его запуску находится по ссылке.

Код бота: https://github.com/sqlzzy/wishlist-telegram-bot

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект #aboutwebdev_боты #aboutwebdev_опенсорс
👍4
Пост с советами по созданию телеграм-ботов

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

Мне попался пост с описанием распространненых ошибок при его реализации.

Каждый сможет для себя выделить интересные моменты при написании своего телеграм-бота.

Ссылки:
Часть 1: https://vc.ru/dev/353847-pora-delat-normalnyh-telegram-botov

Часть 2: https://vc.ru/dev/383602-pora-delat-normalnyh-telegram-botov-2

Часть 3: https://vc.ru/dev/776308-pora-delat-normalnyh-telegram-botov-3

Всем кода без легаси и багов!

#aboutwebdev_моярекомендация
👍3
Скрипт для обновления устаревших пакетов в package.json

Со временем пакеты обновляются разработчиками, поэтому нужно периодически обновлять их в своём проекте.

Для того, чтобы не упустить из виду каждый устаревший пакет из package.json, написал скрипт для его обновления:


import { exec } from "child_process";
import { promisify } from "util";

const execPromise = promisify(exec);

function execAsync(command) {
  return new Promise(function (resolve, reject) {
    exec(command, (error, stdout, stderr) => {
      if (stderr !== "") {
        reject(stderr);
      } else {
        resolve(stdout);
      }
    });
  });
}

async function updatePackages() {
  try {
    const packages = await execAsync("npm outdated --depth=0 --json");

    const outdatedPackages = JSON.parse(packages);
    const packagesToUpdate = Object.keys(outdatedPackages);

    if (packagesToUpdate.length === 0) {
      console.log("Все пакеты уже обновлены!");
      return;
    }

    const updateCommands = packagesToUpdate.map(
      (pkg) => `npm install ${pkg}@latest`
    );
    const updateResults = await execPromise(updateCommands.join(" && "));

    if (updateResults.stderr) {
      throw new Error(updateResults.stderr);
    }

    console.log("Все устаревшие пакеты были обновлены до последней версии");
  } catch (error) {
    console.error("Произошла ошибка:", error);
  }
}

updatePackages();


Всем кода без легаси и багов!

#aboutwebdev_личныйпроект #aboutwebdev_конфиги
👍5
deps-updater

Решил выложить скрипт для обновления устаревших зависимостей проекта в npm.

Установка: npm install --save-dev deps-updater

Запуск скрипта: npm run deps-updater

Предложения или найденные баги пишите сюда: https://github.com/sqlzzy/deps-updater/issues

Гитхаб: https://github.com/sqlzzy/deps-updater

npm: https://www.npmjs.com/package/deps-updater

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект #aboutwebdev_опенсорс
👍3
Плейлист

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

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

Постепенно он будет пополняться.

Ссылка: https://www.youtube.com/playlist?list=PLxupoDnGjaRzRzv0QkOh7nBmzOHdB-J7x

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект #aboutwebdev_моярекомендация #aboutwebdev_веб
👍3
Забавный фейл с моим npm-пакетом

Вчера сел за пет-проект и решил обновить в нем зависимости с помощью своего npm-пакета deps-updater.
Оказалось, что пакет нельзя запустить в проекте.

Чтобы запускать из командной строки надо было создать файл index.js (к примеру) в папке bin с таким содержанием:

#!/usr/bin/env node

//инициализация скрипта


и если хотите глобально вызывать скрипт, то в package.json пакета нужно указать:

"bin": {
"deps-updater": "./bin/deps-updater.js"
}

После установки пакета нужно создать в package.json проекта в "noscripts" свою команду и указать путь до исполняемого скрипта:

"your_command": "./node_modules/deps-updater/bin/deps-updater.js"

Теперь можно запускать в консоли "npm run your_command" и deps-updater обновит устаревшие зависимости.

#aboutwebdev_личныйпроект #aboutwebdev_опенсорс #aboutwebdev_веб
👍2
Нововведения в игре

Пришла идея добавить qr-код ссылки в свою игру "Самый быстрый расшифровщик".
Сначала думал самому генерацию qr-кода написать, но потом, изучив информацию по структуре qr-кода, решил использовать готовую библиотеку для NodeJs — node-qrcode.

О нововведениях:
- табы для переключения способов поделиться игрой: ссылкой или qr-кодом (страницы лобби и игрока);
- менее насыщенный цвет контента, жирнее шрифт, больше межбуквенное расстояние;
- ссылка на код игры;
- open-graph метатеги.

Ссылка на игру: https://encryption-game.sqlzzy.dev/

Гитхаб игры: https://github.com/sqlzzy/encryption-game

Приятной игры!

Всем кода без легаси и багов!

#aboutwebdev_личныйпроект
👍2
Первая посещëнная конференция 😄

#aboutwebdev_митап
👍3
Олдскул шрифты

Недавно наткнулся на сайт с олдскульными шрифтами от IBM PC до разных производителей техники.

На сайте можно конфигурировать размер выбранного шрифта и видеть демо.

Представленные на сайте шрифты можно скачать по лицензии CC BY-SA 4.0 и использовать в своих пет-проектах.

Ссылка на сайт с олдскульными шрифтами: https://int10h.org/oldschool-pc-fonts/

#aboutwebdev_моярекомендация
👍1
Игра "Самый быстрый расшифровщик" v.2.0

С радостью представляю вторую версию игры "Самый быстрый расшифровщик".

В новой версии игры были добавлены:
- режим одиночной игры;
- олдскульный шрифт;
- отображение ошибок при вводе данных.

Впереди интересные обновления!

Приятной игры!

Ссылка на игру: https://encryption-game.sqlzzy.dev/

Гитхаб игры: https://github.com/sqlzzy/encryption-game

P.S. Найденные баги пишите в https://github.com/sqlzzy/encryption-game/issues

#aboutwebdev_личныйпроект
👍2