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

Автор: @sqlzzyy
Download Telegram
Скрипт для обновления устаревших пакетов в 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
Тень блока с градиентом

На досуге написал карточки с градиентыми бордерами и появлением градиентой тени при наведении на них.

Демо: https://codepen.io/sqlzzy/full/LYoPJeL

Мой кодпен с другими поделками: https://codepen.io/sqlzzy

Делитесь своими профилями кодпена в комментариях поста 👇

#aboutwebdev_кодпен
👍2
Блог

Первое упоминание о блоге датировано 28 августа 2022 года.

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

Блог: https://sqlzzy.dev/

Велком!

#aboutwebdev_блог
👍4
Полезности

Теперь документации, различные инструменты и ресурсы, которыми пользуюсь, находятся в одном месте!

Сделал разделы:
- документации;
- всяко-разно;
- ютуб;
- для вдохновения.

По мере встречи с новыми интересными ресурсами будут добавляться новые разделы (возможно 😁).

Ссылка: https://sqlzzy.dev/library/

Велком!

#aboutwebdev_блог
👍2
Интерактивное отображение Event Loop

В процессе изучения event loop нашел сайт, который помог мне закрепить теорию в интерактивной форме.

Можно вставить разные сценарии и посмотреть как будет работать цикл событий.

Ссылка: https://www.jsv9000.app/

_____________

Мой блог: https://sqlzzy.dev/
Полезности: https://sqlzzy.dev/library/

#aboutwebdev_js #aboutwebdev_моярекомендация
👍4
Второй митап 🤝

#aboutwebdev_митап
👍4
Третий митап 🤝

#aboutwebdev_митап
👍2
Русскоязычный Product Hunt

В последнее время стала интересна тема инди-проектов. В процессе исследования встретил сайт со стартапами и пет-проектами на русском языке.

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

Ссылка: https://productradar.ru/

#aboutwebdev_моярекомендация
👍3
Солидбук

Когда освежал знания о принципах ООП, встретил книгу от Саши Беспоясова и Артёма Самофалова про SOLID.

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

Ссылка: https://solidbook.vercel.app/

#aboutwebdev_моярекомендация
👍2
Новые новости

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

Статьи:
- Как подключить проект на VPS на поддомене сайта;
- Как запустить телеграм-бота на VPS;

Проект:
Менеджер-бот для управления полезными ссылками.
С помощью бота добавляются новые ссылки и полезные ресурсы по категориям. Через каждый определенный интервал времени они будут появляться на странице сайта.

На данный момент страница с полезными ресурсами располагается по адресу: https://sqlzzy.dev/library/.
Вскоре полезные ресурсы будут располагаться по новому адресу: https://library.sqlzzy.dev/.

#aboutwebdev_анонс #aboutwebdev_личныйпроект #aboutwebdev_авторскаястатья
👍1
Менеджер-бот для управления полезными ссылками

Предыстория

Летом я создал страницу с полезными ресурсами.

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

Задался вопросом: как можно этот процесс сделать более удобным и быстрым?

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

Что же умеет бот?

- Добавлять адрес ссылки, заголовок и описание;
- Отображать актуальный список ресурсов по разделу;
- Если ресурсов больше 10, то появляется клавиатура для управления списком;
- Обращаться к конкретной ссылке, отображать полную информацию о ней и удалять ее.

Как происходит добавление ссылки на страницу?

Новые ссылки бот записывает в JSON-файл в список, соответствующий выбранному разделу.
Скрипт приложения через определенный интервал времени отправляет запрос на получение данных из JSON-файла.
Далее скрипт запускает перерисовку списка ресурсов с добавлением новой информации на страницу.
Done!

Технические моменты

Бот написан с помощью библиотеки node-telegram-bot-api на NodeJs.
Скрипт приложения написан на JS и работает на ExpressJs.
Бот и приложение расположены на VPS и запущены с помощью менеджера процессов pm2.

Подробнее о запуске проекта расскажу в своей статье.

Теперь полезные ресурсы расположены по новому адресу: https://library.sqlzzy.dev/

Прилагаю гифку с демонстрацией работы бота 👨‍💻

#aboutwebdev_личныйпроект #aboutwebdev_блог #aboutwebdev_боты
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Статья-инструкция "Запуск проекта на VPS" и анонс нового проекта

Ранее делал анонс статьи-инструкции по запуску приложения и бота на VPS.

Это моя первая статья-инструкция! 🍸

Немного истории

Последний раз запускал проект на VPS осенью прошлого года. Когда нужно было запускать менеджер-бота по управлению полезными ресурсами и приложение для него, то тяжело было вспомнить шаги как это сделать. 😄
В будущем написанная статья и для меня становится полезной!

P.S.

Так как использую VPS с установленной ОС Ubuntu и панель управления хостингом ISPmanager, то инструкция написана с учетом этих данных.

Статья-инструкция размещается по адресу: https://sqlzzy.dev/articles/setup-project-on-vps/

Новый проект

У меня скопилось много различных фото природы, пейзажей, архитектуры и, в целом, жизни. Хочу ими поделиться.

Поэтому в планах написать бота по управлению фотографиями по различным категориям на своём сайте.

Coming soon! 😎

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

#aboutwebdev_авторскаястатья #aboutwebdev_анонс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
IT Meetups Bot

В нашей реальности боты упрощают ознакомление с информацией в пару-тройку кликов.

Так пришла идея написать бота, помогающего ознакомиться с предстоящими мероприятиями и другими событиями мира IT.

Возможности бота

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

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

Сам бот: @it_meetups_bot

По вопросам предложений мероприятий и развитию функционала бота: @it_meetups_bot_group

#aboutwebdev_личныйпроект #aboutwebdev_боты #aboutwebdev_itmeetupsbot
Please open Telegram to view this post
VIEW IN TELEGRAM
73
Обновления IT Meetups Bot

Прилетели обновления для бота-агрегатора IT Meetups Bot!

Появились страница бота с его описанием и преимуществами и форма предложения мероприятия.

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

Появилась сортировка по дате начала мероприятия при добавлении новых анонсов.

Увеличено максимальное количество отображаемых анонсов до 20 (раньше было 10).

Добавлены новые эмодзи для анонсов.

Появилась кнопка о предложении мероприятия с кратким описанием процесса появляения анонса.

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

🍸

#aboutwebdev_личныйпроект #aboutwebdev_боты #aboutwebdev_itmeetupsbot
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM