https://t.me/kinton_invest?boost
Пишу о том, чем хочется поделиться в рамках инвестиций, проектов, жизни
Invest, WebDev, Postgrad, TG bots @yourcastbot, @ascenditbot, Startups
Информация не является призывом к действию или инвестиционной рекомендацией
Пишу о том, чем хочется поделиться в рамках инвестиций, проектов, жизни
Invest, WebDev, Postgrad, TG bots @yourcastbot, @ascenditbot, Startups
Информация не является призывом к действию или инвестиционной рекомендацией
Разработал модуль пагинации в своей библиотеке для Telegram ботов yau-ts. А значит, работаю и над новым проектом, Chacma
Сейчас реализовал управляемый постраничный модуль вывода информации. На записи виден режим по 1 результату на страницу, но это регулируется, как и все тексты.
Разработчику конкретного бота необходимо всего лишь добавить методы, выдающие информацию, получить данные и готовую клавиатуру для страницы и вызвать метод отрисовки. Всё.
Фреймворк же автоматически управляет страницами, режимом поиска, незаметно получает всё текущее состояние и ввод пользователя, генерирует вспомогательные тексты и клавиатуры. Аналогично поисковому запросу, можно вводить номер страницы и быстро переходить на неё.
Такой конструктор сильно упрощает разработку ботов, ведь постраничный вывод информации является одним из ключевых элементов дизайна. Объём кода и потраченное время сокращаются на порядок для одной страницы, если делать каждую вручную. Напоминаю, что ознакомиться с библиотекой можно по ссылке https://github.com/amadevstudio/yau-ts
А ещё новый рекорд в бассейне, 1350 метров за занятие 🙂
Сейчас реализовал управляемый постраничный модуль вывода информации. На записи виден режим по 1 результату на страницу, но это регулируется, как и все тексты.
Разработчику конкретного бота необходимо всего лишь добавить методы, выдающие информацию, получить данные и готовую клавиатуру для страницы и вызвать метод отрисовки. Всё.
Фреймворк же автоматически управляет страницами, режимом поиска, незаметно получает всё текущее состояние и ввод пользователя, генерирует вспомогательные тексты и клавиатуры. Аналогично поисковому запросу, можно вводить номер страницы и быстро переходить на неё.
Такой конструктор сильно упрощает разработку ботов, ведь постраничный вывод информации является одним из ключевых элементов дизайна. Объём кода и потраченное время сокращаются на порядок для одной страницы, если делать каждую вручную. Напоминаю, что ознакомиться с библиотекой можно по ссылке https://github.com/amadevstudio/yau-ts
А ещё новый рекорд в бассейне, 1350 метров за занятие 🙂
Предупреждение. Я не рекомендую участвовать в этом. Я не верю в nft в том образе, в котором он используется сейчас. И даже в передаче объектов реального мира: ошибки могут быть везде, нужна возможность "откатить" процесс, чего может не быть у блокчейна.
Telegram добавил "подарки", которые можно покупать за "звёзды". Люди любят статус, поэтому, наверное, такие вещи имеют место быть, хотя и не очень мне понятны. Первые подарки, когда, спустя месяцы после выхода, получили возможность токенизироваться и быть передаными другим пользователям, подорожали в разы.
Друг имеет возможность покупать их сразу же на первичном размещении большим объёмом. Вложили, понадеявшись, что их цена сразу же вырастет на вторичном рынке. Но сейчас получил даже минус около 15%. Другим людям, кому выпало что-то редкое, повезло больше. Они получили +10-20% за день.
Продам те, что не понравились, остальные продолжу держать. Telegram планирует запускать свой магазин, возможно, их цена вырастет в будущем.
Как добавить уникальный идентификатор для каждого запроса в Node.js или других технологиях? Метод с контекстом выполнения.
1️⃣ Контекст выполнения
Используем AsyncLocalStorage из Node.js, чтобы сохранять данные (например, уникальный ID) в контексте текущего запроса. Это позволяет избежать передачи данных явно через каждый слой приложения.
2️⃣ Middleware для генерации ID
Создаем middleware, которое генерирует уникальный ID для каждого запроса и сохраняет его в контексте.
3️⃣ Логгер с поддержкой ID
Добавляем уникальный ID в каждый лог. Логгер автоматически извлекает ID из контекста и добавляет его к сообщению.
Чем может помочь: уникальный ID для каждого запроса, то есть все логи одного запроса объединены одним ID, а также чистый код без передачи ID через каждый компонент.
Пример вывода:
Подходит для yau-ts (https://github.com/amadevstudio/yau-ts), Express или любого другого framework или библиотеки с поддержкой middleware
1️⃣ Контекст выполнения
Используем AsyncLocalStorage из Node.js, чтобы сохранять данные (например, уникальный ID) в контексте текущего запроса. Это позволяет избежать передачи данных явно через каждый слой приложения.
const asyncLocalStorage = new AsyncLocalStorage<Map<string, unknown>>();
export default {
run: <T>(callback: () => T): T => {
const store = new Map<ContextKeys, unknown>();
return asyncLocalStorage.run(store, callback);
},
set: (key: string, value: unknown): void => { ... },
get: <T>(key: string): T => { ... },
};2️⃣ Middleware для генерации ID
Создаем middleware, которое генерирует уникальный ID для каждого запроса и сохраняет его в контексте.
export const makeSetRequestIdMiddleware = (): CustomMiddleware =>
async (_params, next) => {
RequestContext.run(async () => {
RequestContext.set("botRequestId", generateUniqueId());
await next();
});
};
3️⃣ Логгер с поддержкой ID
Добавляем уникальный ID в каждый лог. Логгер автоматически извлекает ID из контекста и добавляет его к сообщению.
export class ProjectLogger {
info(...args: unknown[]): void {
this.logger.info(`[${RequestContext.get("botRequestId")}]`, ...args);
}
// Аналогично для warn, error, debug...
}Чем может помочь: уникальный ID для каждого запроса, то есть все логи одного запроса объединены одним ID, а также чистый код без передачи ID через каждый компонент.
Пример вывода:
[INFO] [req_12345] User logged in
[WARN] [req_12345] Invalid parameter detected
[ERROR] [req_12345] Failed to process request
Подходит для yau-ts (https://github.com/amadevstudio/yau-ts), Express или любого другого framework или библиотеки с поддержкой middleware
Chacma
Хочу поделиться новым проектом для Telegram. Это бот, пересылающий сообщения из одних каналов в другие, а также переписывающий их. Для чего он нужен? Если говорить об этичном использовании, то можно собрать один канал для себя вместо десятков других, и даже получать короткую выдачу вместо больших постов. С этим помогут нейросети.
Если же про менее этичные варианты, то тут интереснее: например, автоматизация ведения своих каналов. Гипотетически, вы можете создать новостной канал или целую сетку, и вместо найма сотрудника, который пишет посты, настроить бота на несколько других схожих каналов. Эти способы мы, конечно же, не одобряем и снимаем с себя ответственность за любые нарушения и использование бота.
В любом случае, проект показался интересным, поэтому делаю, как всегда, в первую очередь ради процесса и не думаю о потенциальной прибыли. Пришёл к мысли, что надо просто делать, а не считать. Грамотное позиционирование, пара изменений концепции, и вы деньги найдёте почти везде. А если посчитаете заранее, их всё равно может там не быть. Мотивация должна исходить из другого.
Для бота решил взять новые технологии на Typescript: NestJS, grammY, Drizzle ORM. Также RabbitMQ и, возможно, Kubernetes. Моя новая открытая библиотека yau-ts тоже является ядром пользовательского интерфейса, то есть самого бота. Не обошлось и без знакомых для меня решений, например, Telethon, клиент для Telegram на Python.
Вся система будет представлена микросервисами: это позволит добавлять другой интерфейс в будущем, скажем, веб-сайт. Да и система может быть расширена, допустим, чтобы получать сводку о группе для ВК в Telegram.
Сейчас в команде 2 человека, а также соавтор идеи и потенциальный клиент бота. На данный момент сделана небольшая часть интерфейса бота (и целая библиотека!), а также заложены основы сервиса данных. Понемногу, в свободное время и удовольствие, но проект движется.
Планирую бесплатный тариф для одного канала, а также линейку платных. Если вы хотите присоединиться к проекту или чем-нибудь помочь, буду рад любым сообщениям. Это может быть и развитие open source проекта yau-ts, и аналитика рынка, и предложение об инвестировании или происхождении к команде, и, конечно, критика.
Хочу поделиться новым проектом для Telegram. Это бот, пересылающий сообщения из одних каналов в другие, а также переписывающий их. Для чего он нужен? Если говорить об этичном использовании, то можно собрать один канал для себя вместо десятков других, и даже получать короткую выдачу вместо больших постов. С этим помогут нейросети.
Если же про менее этичные варианты, то тут интереснее: например, автоматизация ведения своих каналов. Гипотетически, вы можете создать новостной канал или целую сетку, и вместо найма сотрудника, который пишет посты, настроить бота на несколько других схожих каналов. Эти способы мы, конечно же, не одобряем и снимаем с себя ответственность за любые нарушения и использование бота.
В любом случае, проект показался интересным, поэтому делаю, как всегда, в первую очередь ради процесса и не думаю о потенциальной прибыли. Пришёл к мысли, что надо просто делать, а не считать. Грамотное позиционирование, пара изменений концепции, и вы деньги найдёте почти везде. А если посчитаете заранее, их всё равно может там не быть. Мотивация должна исходить из другого.
Для бота решил взять новые технологии на Typescript: NestJS, grammY, Drizzle ORM. Также RabbitMQ и, возможно, Kubernetes. Моя новая открытая библиотека yau-ts тоже является ядром пользовательского интерфейса, то есть самого бота. Не обошлось и без знакомых для меня решений, например, Telethon, клиент для Telegram на Python.
Вся система будет представлена микросервисами: это позволит добавлять другой интерфейс в будущем, скажем, веб-сайт. Да и система может быть расширена, допустим, чтобы получать сводку о группе для ВК в Telegram.
Сейчас в команде 2 человека, а также соавтор идеи и потенциальный клиент бота. На данный момент сделана небольшая часть интерфейса бота (и целая библиотека!), а также заложены основы сервиса данных. Понемногу, в свободное время и удовольствие, но проект движется.
Планирую бесплатный тариф для одного канала, а также линейку платных. Если вы хотите присоединиться к проекту или чем-нибудь помочь, буду рад любым сообщениям. Это может быть и развитие open source проекта yau-ts, и аналитика рынка, и предложение об инвестировании или происхождении к команде, и, конечно, критика.
Ну и на бис, Почта России не доставила мне документы из суда: получила, не отправила извещение, подержала неделю, отправила обратно. Да, ровно также, как и с ГИБДД 🙂 Поэтому я ездил в суд и не досыпал ещё один раз. Интересно, система понимает, что мы – её часть, и вредя мне, она в каком-то смысле вредит и себе? Ответ очевиден. Можно долго спорить, хорошо или плохо действует тот или иной процесс, пока вас он не касается. Но когда касается, только тогда можно всё прочувствовать; и мысли, позиция могут резко измениться
Самая неудачная инвестиция и как гос. органы меня расстраивают, часть вторая: приставы
Изначально этот пост должен был состоять из 4 частей, но решил сократить до одной, обезличил и оставил важное.
Хочу начать с того, что не все инвестиции успешные, с этим надо смириться. Самое простое, вы купили акцию компании, а её цена снизилась или даже компания разорилась. Можно спорить, что вы плохо отобрали компанию или всё в цене, но предсказывать что-то – дело неблагодарное. Главное, что имеем факт: инвестиция не удалась. Пример сложнее, вы дали в займ под один твёрдый, реальный проект, но человек оказался мошенником и, предположим, лудоманом: мне кажется, он думал, что самый умный, и в итоге потерял все деньги, торгуя криптовалютой или что-то в этом роде.
И мы с партнёром оказались в похожей ситуации. Мы дали займ на длительный срок, но за несколько месяцев пошли первые звоночки: заёмщик стал вести соц. сети агрессивно, а именно говорить, что тот, кто не работает с ним, неудачники и останутся бедными; начал просить денег в долг на неделю у многих своих заимодавцев, и так далее.
Когда пришло время возвращать долг, пошла задержка. И вместо чего-то вроде: "извини, пожалуйста, я потерял деньги, но я буду работать и всё отработаю, вот баланс моих счётов, вот мой план, пожалуйста, подожди, буду отчитываться каждую неделю", я получил сначала обещания по типу "отдам завтра", а потом угрозы, что если продолжу связываться с его окружением и пытаться что-то узнать, то "полушь деньги самым последним". Поэтому просто пошёл в суд.
Суд я, конечно же, выиграл, сделал всё по букве закона и отправил исполнительный лист приставам. С детства хотел подать в суд на тех, кто обманывал, мечты сбываются 🙂 А теперь, самое интересное, приставы из Калмыкии перепутали буквально всё, что могли, и сделали должником меня, хотя они могут блокировать только местных! А взимателем вообще другое лицо. В итоге видеть на карте "минус много зарплат" и блокировку всех счетов не очень приятно и стрессово.
По общению с банками скажу так: ВТБ я видеть не хочу в жизни, нужен только для зарплаты. Мой основной банк своей холодностью и обращением по типу "если вы действительно правы" разозлили больше всех. Точка – лучший банк по отношению к клиенту, помогали решать вопрос, могу дать партнёрскую ссылку 🙂 На следующий день я объездил несколько местных ведомств и смог дозвониться до Калмыкии. Вопрос был решён за 2 дня, долг убрали, а с сайта приставов ещё через несколько дней. Настоящий должник появился там через неделю.
Я понял, что у меня хорошие друзья и окружение. Те, кто мог мне помочь советом и с кем у меня партнёрства, узнали первыми о проблеме. Все отозвались и предложили свою помощь. Кто-то звонил приставам и искали телефоны. Другие предложили покрыть мои обязательства перед людьми вместо меня. В отличие от героя поста, я бы всё сделал, чтобы выполнить то, что я должен, сразу сказал всем честно и открыто, но с помощью друзей это было бы гораздо спокойнее и 100% получилось бы. Компания также очень помогла, в том числе я проконсультировался с нашим юристом. Меня успокоили, и я даже хорошо работал этот день. Мне показали, что сила на моей стороне: если я обращусь в прокуратуру, руководителя приставов могут уволить. Мой юрист тоже ответила с больничного, сказала, что это на её практике в первый раз, посоветовала ещё один вариант действий с жалобой в федеральный округ.
Для себя я вынес такие критерии: следить, чтобы у заёмщика были личные активы, а не всё "на маму и в крипте"; следить, чтобы средства шли на целевые активы, а не тратит всё на его мелкие амбиции; погружаться в бизнес-план и подсвечивать, если где-то в проекте есть уязвимость; обязательно заключать договор.
Изначально этот пост должен был состоять из 4 частей, но решил сократить до одной, обезличил и оставил важное.
Хочу начать с того, что не все инвестиции успешные, с этим надо смириться. Самое простое, вы купили акцию компании, а её цена снизилась или даже компания разорилась. Можно спорить, что вы плохо отобрали компанию или всё в цене, но предсказывать что-то – дело неблагодарное. Главное, что имеем факт: инвестиция не удалась. Пример сложнее, вы дали в займ под один твёрдый, реальный проект, но человек оказался мошенником и, предположим, лудоманом: мне кажется, он думал, что самый умный, и в итоге потерял все деньги, торгуя криптовалютой или что-то в этом роде.
И мы с партнёром оказались в похожей ситуации. Мы дали займ на длительный срок, но за несколько месяцев пошли первые звоночки: заёмщик стал вести соц. сети агрессивно, а именно говорить, что тот, кто не работает с ним, неудачники и останутся бедными; начал просить денег в долг на неделю у многих своих заимодавцев, и так далее.
Когда пришло время возвращать долг, пошла задержка. И вместо чего-то вроде: "извини, пожалуйста, я потерял деньги, но я буду работать и всё отработаю, вот баланс моих счётов, вот мой план, пожалуйста, подожди, буду отчитываться каждую неделю", я получил сначала обещания по типу "отдам завтра", а потом угрозы, что если продолжу связываться с его окружением и пытаться что-то узнать, то "полушь деньги самым последним". Поэтому просто пошёл в суд.
Суд я, конечно же, выиграл, сделал всё по букве закона и отправил исполнительный лист приставам. С детства хотел подать в суд на тех, кто обманывал, мечты сбываются 🙂 А теперь, самое интересное, приставы из Калмыкии перепутали буквально всё, что могли, и сделали должником меня, хотя они могут блокировать только местных! А взимателем вообще другое лицо. В итоге видеть на карте "минус много зарплат" и блокировку всех счетов не очень приятно и стрессово.
По общению с банками скажу так: ВТБ я видеть не хочу в жизни, нужен только для зарплаты. Мой основной банк своей холодностью и обращением по типу "если вы действительно правы" разозлили больше всех. Точка – лучший банк по отношению к клиенту, помогали решать вопрос, могу дать партнёрскую ссылку 🙂 На следующий день я объездил несколько местных ведомств и смог дозвониться до Калмыкии. Вопрос был решён за 2 дня, долг убрали, а с сайта приставов ещё через несколько дней. Настоящий должник появился там через неделю.
Я понял, что у меня хорошие друзья и окружение. Те, кто мог мне помочь советом и с кем у меня партнёрства, узнали первыми о проблеме. Все отозвались и предложили свою помощь. Кто-то звонил приставам и искали телефоны. Другие предложили покрыть мои обязательства перед людьми вместо меня. В отличие от героя поста, я бы всё сделал, чтобы выполнить то, что я должен, сразу сказал всем честно и открыто, но с помощью друзей это было бы гораздо спокойнее и 100% получилось бы. Компания также очень помогла, в том числе я проконсультировался с нашим юристом. Меня успокоили, и я даже хорошо работал этот день. Мне показали, что сила на моей стороне: если я обращусь в прокуратуру, руководителя приставов могут уволить. Мой юрист тоже ответила с больничного, сказала, что это на её практике в первый раз, посоветовала ещё один вариант действий с жалобой в федеральный округ.
Для себя я вынес такие критерии: следить, чтобы у заёмщика были личные активы, а не всё "на маму и в крипте"; следить, чтобы средства шли на целевые активы, а не тратит всё на его мелкие амбиции; погружаться в бизнес-план и подсвечивать, если где-то в проекте есть уязвимость; обязательно заключать договор.