Маємо для вас невеличке оновлення! 🫣
Ми знаємо, що в нас зібралось багато талановитих та досвідчених розробників. Також ми знаємо, що у вас точно є чим поділитись з іншими - технології, які ви вивчаєте, складні завдання, які ви змогли вирішити, і просто професійний досвід. Тому, ми хочемо бути тим місцем, де ви зможете легко це зробити!
Як це буде відбуватись?
Ви надсилаєте свій пост до нас в @web_overflow_support і ми будемо публікувати його в канал. Звичайно, він може підлягатись невеличкому редагуванню і перевірці на актуальність. Пости будуть маркуватись хештегом #post_from, після якого буде вказано ваш нік в телеграмі.
Навіщо це нам?
Ми ніколи не приховували, що ми не є експертами в усіх технологіях світу. І не рідко ми бачимо запити від підписників, які хочуть матеріали по фреймворкам, які ми в очі не бачили. А нам хочеться, щоб цей блог приносив користь всім!
Тому давайте ділитись знаннями та розвиватись разом! 💛
Ми знаємо, що в нас зібралось багато талановитих та досвідчених розробників. Також ми знаємо, що у вас точно є чим поділитись з іншими - технології, які ви вивчаєте, складні завдання, які ви змогли вирішити, і просто професійний досвід. Тому, ми хочемо бути тим місцем, де ви зможете легко це зробити!
Як це буде відбуватись?
Ви надсилаєте свій пост до нас в @web_overflow_support і ми будемо публікувати його в канал. Звичайно, він може підлягатись невеличкому редагуванню і перевірці на актуальність. Пости будуть маркуватись хештегом #post_from, після якого буде вказано ваш нік в телеграмі.
Навіщо це нам?
Ми ніколи не приховували, що ми не є експертами в усіх технологіях світу. І не рідко ми бачимо запити від підписників, які хочуть матеріали по фреймворкам, які ми в очі не бачили. А нам хочеться, щоб цей блог приносив користь всім!
Тому давайте ділитись знаннями та розвиватись разом! 💛
🔥20👍8❤3🤯1
C# Moq + SponsorLink 🤯
#post_from @Digicat
Тут буде трохи про C# (ще те збоченство), але думаю буде цікаво для всіх. І нагадуємо, що кожен може розповісти про щось цікаве через наш канал.
Нещодавно в спільноті C# була активна дискусія щодо бібліотеки Moq. Вона дуже популярна для тестування, адже дозволяє підмінювати обʼєкти.
В один момент автор цієї бібліотеки додав всередину іншу - SponsorLink. Ця бібліотека інтегрує GitHub Sponsors у ваш проект та на build етапі сканує залежності і пропонує вам стати спонсором інших open-source проектів. Ви навіть отримаєте warning, якщо не підтримуєте жоден проект.
Інтегрування цієї бібліотеки в Moq була несподіваною. На додачу, SponsorLink використовував ваш email та тримав його хеш в хмарі, про що нікого не попереджав. Власне це і стало рушієм всіх обговорень..
👉 Читати статтю
Також тут варто згадати про faker.js, який минулого року теж наробив шуму.
👉 Дивитись відео
Тож питання щодо OSS досі не вирішені. В них сотні мільйонів скачувань, а автори підтримують їх. Тож як вирішити спонсорування цих авторів? Яку участь в цьому мають брати мільярдні компанії, які використовують цей код?
#post_from @Digicat
Тут буде трохи про C# (ще те збоченство), але думаю буде цікаво для всіх. І нагадуємо, що кожен може розповісти про щось цікаве через наш канал.
Нещодавно в спільноті C# була активна дискусія щодо бібліотеки Moq. Вона дуже популярна для тестування, адже дозволяє підмінювати обʼєкти.
В один момент автор цієї бібліотеки додав всередину іншу - SponsorLink. Ця бібліотека інтегрує GitHub Sponsors у ваш проект та на build етапі сканує залежності і пропонує вам стати спонсором інших open-source проектів. Ви навіть отримаєте warning, якщо не підтримуєте жоден проект.
Інтегрування цієї бібліотеки в Moq була несподіваною. На додачу, SponsorLink використовував ваш email та тримав його хеш в хмарі, про що нікого не попереджав. Власне це і стало рушієм всіх обговорень..
👉 Читати статтю
Також тут варто згадати про faker.js, який минулого року теж наробив шуму.
👉 Дивитись відео
Тож питання щодо OSS досі не вирішені. В них сотні мільйонів скачувань, а автори підтримують їх. Тож як вирішити спонсорування цих авторів? Яку участь в цьому мають брати мільярдні компанії, які використовують цей код?
👍6❤2
NestJS + Telegram Bot API
#post_from @Yurets7777 @urbfkfys
Багато хто чув або вже знає, що таке є той NestJS. І звісно всі знають, що таке Телеграм і Телеграм-Боти. Хтось чув, хтось пробував щось писати з допомогою Telegram Bot API або NestJS.
Даний пост про те - а як правильно запустити телеграм бота на NestJS?
Не можу сказати що це просто.
Як рекомендує NestJS, створюємо окрему директорію для нашого телеграм бота під назвою
І всі запити до нашої БД, котрі вміють робити дані сервіси, буде вміти робити наш ТГ-бот. Потрібно просто прописати необхідні методи з даних класів в сервісі телеграму.
Ну і звісно модуль, куди ж без нього 🤷
Ліба для запуску Телеграм-Бота на NestJS називається
Корисні посилання:
- NestJS
- NestJS Telegraf
- Telegram Bot API
PS. Ми тут робимо щось дійсно цікаве на даних технологіях. Скоро очікуйте Український продукт 😉
PPS. Забули показати root компонент app.module.ts
Поки все 😉
#post_from @Yurets7777 @urbfkfys
Багато хто чув або вже знає, що таке є той NestJS. І звісно всі знають, що таке Телеграм і Телеграм-Боти. Хтось чув, хтось пробував щось писати з допомогою Telegram Bot API або NestJS.
Даний пост про те - а як правильно запустити телеграм бота на NestJS?
Не можу сказати що це просто.
Як рекомендує NestJS, створюємо окрему директорію для нашого телеграм бота під назвою
telegram
. В ній, по класиці, нам потрібні: module
- telegram.module.ts
; controller
- telegram.controller.ts
; service
- telegram.service.ts
.telegram.service.ts
- це те, що відповідає за запити до нашої БД. Сюди ми підтягуємо інші сервіси, щоб ТГ-бот вмів працювати із різними сутностями в нашій БД.@Injectable()
export class TelegramService {
constructor(
private userService: UserService,
private categoryService: CategoryService,
private cityService: CityService,
) {}
}
І всі запити до нашої БД, котрі вміють робити дані сервіси, буде вміти робити наш ТГ-бот. Потрібно просто прописати необхідні методи з даних класів в сервісі телеграму.
telegram.controller.ts
- контроллер; сама назва говорить сама за себе - контролюю. Сюди ми підтягуємо наш телеграм сервіс. Прописуємо команди, прослуховувачі на екшени (кліки на кнопки) та інше.@Update()
export class TelegramController {
private readonly telegramActions: TelegramActions;
constructor(
@InjectBot() private readonly bot: Telegraf<Context>,
private readonly telegramService: TelegramService,
) {
this.bot.telegram.setMyCommands(COMMANDS);
this.telegramActions = new TelegramActions(this.telegramService);
}
@Start()
async startCommand(ctx): Promise<any> {
// do something
}
@Command(my_command)
async addLotCommand(ctx): Promise<any> {
// do something
}
@Action(String || RegEx)
async handleRejectLot(ctx): Promise<any> {
// do something
}
}
Ну і звісно модуль, куди ж без нього 🤷
telegram.module.ts
- модуль збирає в себе все що потрібно для запуску нашої app, в даному випадку бота.@Module({
imports: [
ConfigModule.forRoot({
envFilePath: '.env', // для того щоб була змога читати змінні із env
}),
TelegrafModule.forRoot({
middlewares: [session()],
token: process.env.TELEGRAM_BOT_TOKEN, //
не має сенсу в коментарях
}),
UserModule,
CategoryModule,
CityModule,
],
controllers: [],
providers: [
TelegramService,
TelegramController,
RegisterUserScene,
],
})
export class TelegramModule {}
Ліба для запуску Телеграм-Бота на NestJS називається
nestjs-telegraf
. Якщо хочете конкретики, запитуйте. Що знаємо - підкажемо 😉Корисні посилання:
- NestJS
- NestJS Telegraf
- Telegram Bot API
PS. Ми тут робимо щось дійсно цікаве на даних технологіях. Скоро очікуйте Український продукт 😉
PPS. Забули показати root компонент app.module.ts
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: '.env',
}),
MongooseModule.forRoot(process.env.MONGO_CONNECTION_STRING),
UserModule,
TelegramModule,
CategoryModule,
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
Поки все 😉
👍21❤5👏3🔥1