https://t.me/kinton_invest?boost
Пишу о том, чем хочется поделиться в рамках инвестиций, проектов, жизни
Invest, WebDev, Postgrad, TG bots @yourcastbot, @ascenditbot, Startups
Информация не является призывом к действию или инвестиционной рекомендацией
Пишу о том, чем хочется поделиться в рамках инвестиций, проектов, жизни
Invest, WebDev, Postgrad, TG bots @yourcastbot, @ascenditbot, Startups
Информация не является призывом к действию или инвестиционной рекомендацией
Как добавить уникальный идентификатор для каждого запроса в 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% получилось бы. Компания также очень помогла, в том числе я проконсультировался с нашим юристом. Меня успокоили, и я даже хорошо работал этот день. Мне показали, что сила на моей стороне: если я обращусь в прокуратуру, руководителя приставов могут уволить. Мой юрист тоже ответила с больничного, сказала, что это на её практике в первый раз, посоветовала ещё один вариант действий с жалобой в федеральный округ.
Для себя я вынес такие критерии: следить, чтобы у заёмщика были личные активы, а не всё "на маму и в крипте"; следить, чтобы средства шли на целевые активы, а не тратит всё на его мелкие амбиции; погружаться в бизнес-план и подсвечивать, если где-то в проекте есть уязвимость; обязательно заключать договор.
Framework для Telegram-ботов
В рамках нашего проекта для Telegram вспомнил о своей разработке, которую начал год назад. Это framework для Telegram-ботов.
К использованию такой системы я в итоге и пришёл, разрабатывая своих прошлых ботов на Python и дорабатывая годами. Однако я тогда допустил ошибку: моё прошлое решение намертво склеено с самими ботами. Грубо говоря, при разработке нового бота мне приходилось копировать куски кода из старого и заново размещать, попутно улучшая всё, что увижу, а иногда и переписывая целые блоки.
И теперь, наконец, решил вынести это в отдельную кодовую базу, чтобы было проще поддерживать и улучшать. Чтобы можно было вынести бизнес-логику из системы по управлению Telegram. В качестве технологий взял TypeScript ввиду относительно мощных типов и Bun.
Если вы умеете программировать, хотите посмотреть, а может быть даже сделать замечания и пару pull request, то буду рад любой активности: https://github.com/amadevstudio/yau-ts. Решение будет иметь открытый исходный код, поэтому может помочь всему сообществу.
В рамках нашего проекта для Telegram вспомнил о своей разработке, которую начал год назад. Это framework для Telegram-ботов.
Framework – это программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
К использованию такой системы я в итоге и пришёл, разрабатывая своих прошлых ботов на Python и дорабатывая годами. Однако я тогда допустил ошибку: моё прошлое решение намертво склеено с самими ботами. Грубо говоря, при разработке нового бота мне приходилось копировать куски кода из старого и заново размещать, попутно улучшая всё, что увижу, а иногда и переписывая целые блоки.
И теперь, наконец, решил вынести это в отдельную кодовую базу, чтобы было проще поддерживать и улучшать. Чтобы можно было вынести бизнес-логику из системы по управлению Telegram. В качестве технологий взял TypeScript ввиду относительно мощных типов и Bun.
Если вы умеете программировать, хотите посмотреть, а может быть даже сделать замечания и пару pull request, то буду рад любой активности: https://github.com/amadevstudio/yau-ts. Решение будет иметь открытый исходный код, поэтому может помочь всему сообществу.
Привет, друзья! Новый год, мне кажется, нужен в том числе для того, чтобы сделать отсечку и провести некую ретроспективу.
Сначала хочу всех поздравить! Для меня этот год был прошёл быстро, был наполнен работой. Поэтому пожелать хочу больше запоминающихся моментов! Живите жизнь и запоминайте её. И сам постараюсь также.
Вспоминать итоги сложно, кратко:
- продолжаю заниматься спортом (лыжи, бассейн, велосипед);
- сильно продвинулся по вузовский деятельности и почти довёл до конца симуляцию передачи коротковолнового сигнала через ионосферу, хотя и есть сложности;
- получил возврат инвестиций, кроме как от одного проекта, об этом расскажу чуть позже;
- несмотря на это, сильно вырос в капитале, хоть и частично виртуально (спасибо моим друзьям, это их заслуга);
- и вырос по зарплате (спасибо компании за доверие), а также по профессиональным навыкам;
- увеличил сумму на брокерском счёте в российских ценных бумагах и сделал минимум для налогового вычета, обязательно расскажу, что в итоге получилось;
- немного путешествовал по Татарстану: Камское море, лошади, ферма оленей, океанариум, был в Юрьевских пещерах, а также дальше: Болгар, замок Гарибальди, в Тольятти и на заводе АвтоВАЗа, пробираясь на машине через бездорожье, был в первый раз в жизни в казино и в Калининграде;
- начали с партнёрами новые проекты в сфере маркетплейсов и Telegram, это всё ещё в работе;
- открыл код своего основного бота, сделал ещё несколько проектов с открытым исходным кодом, в том числе сейчас развиваю открытый фреймворк для Telegram на typescript.
Этот год был также годом борьбы. 2 дтп. Суды. Гос. структуры, которые не смогли помочь и даже ошибались в отношении меня. Вечера и даже бессонные ночи до утра, решая баги и развёртывая проекты. И много чего ещё.
На самом деле, ожидал больших свершений, в том числе по проектам и вузу, ожидал больше воспоминаний. Но, составив список, понял, что всё же недооцениваю себя. Спасибо всем, кто приглашал меня, вытаскивал, заставлял куда-то съездить и отвлечься, и кто также принимал мои приглашения.
Согласен с мыслью, что планировать конкретное бесполезно. Давайте просто делать то, что нам нравится, и, как уже говорил, больше жить моментом, останавливаться и запоминать свою жизнь. Уделять внимание здоровью. Меньше тратить время на споры, недосказанность и наслаждаться нашими делами и друг другом. Пробуем новое каждую неделю, чтобы всё осталось в памяти!
Сначала хочу всех поздравить! Для меня этот год был прошёл быстро, был наполнен работой. Поэтому пожелать хочу больше запоминающихся моментов! Живите жизнь и запоминайте её. И сам постараюсь также.
Вспоминать итоги сложно, кратко:
- продолжаю заниматься спортом (лыжи, бассейн, велосипед);
- сильно продвинулся по вузовский деятельности и почти довёл до конца симуляцию передачи коротковолнового сигнала через ионосферу, хотя и есть сложности;
- получил возврат инвестиций, кроме как от одного проекта, об этом расскажу чуть позже;
- несмотря на это, сильно вырос в капитале, хоть и частично виртуально (спасибо моим друзьям, это их заслуга);
- и вырос по зарплате (спасибо компании за доверие), а также по профессиональным навыкам;
- увеличил сумму на брокерском счёте в российских ценных бумагах и сделал минимум для налогового вычета, обязательно расскажу, что в итоге получилось;
- немного путешествовал по Татарстану: Камское море, лошади, ферма оленей, океанариум, был в Юрьевских пещерах, а также дальше: Болгар, замок Гарибальди, в Тольятти и на заводе АвтоВАЗа, пробираясь на машине через бездорожье, был в первый раз в жизни в казино и в Калининграде;
- начали с партнёрами новые проекты в сфере маркетплейсов и Telegram, это всё ещё в работе;
- открыл код своего основного бота, сделал ещё несколько проектов с открытым исходным кодом, в том числе сейчас развиваю открытый фреймворк для Telegram на typescript.
Этот год был также годом борьбы. 2 дтп. Суды. Гос. структуры, которые не смогли помочь и даже ошибались в отношении меня. Вечера и даже бессонные ночи до утра, решая баги и развёртывая проекты. И много чего ещё.
На самом деле, ожидал больших свершений, в том числе по проектам и вузу, ожидал больше воспоминаний. Но, составив список, понял, что всё же недооцениваю себя. Спасибо всем, кто приглашал меня, вытаскивал, заставлял куда-то съездить и отвлечься, и кто также принимал мои приглашения.
Согласен с мыслью, что планировать конкретное бесполезно. Давайте просто делать то, что нам нравится, и, как уже говорил, больше жить моментом, останавливаться и запоминать свою жизнь. Уделять внимание здоровью. Меньше тратить время на споры, недосказанность и наслаждаться нашими делами и друг другом. Пробуем новое каждую неделю, чтобы всё осталось в памяти!
Вообще, основная причина закрытия сайта – требования партнёрской площадки добавлять их минус-слова в рекламу Яндекс Директ. А я добавил столько МФО, что эти слова просто не помещаются в разрешённый Яндексом размер. И, конечно же, их отклонения успешных заявок для займа из-за большого количества критериев.
Поэтому думаю перезапустить сайт в следующем году, но оставить меньше МФО: убрать не давшие результат, а успешный разместить первым. Также подкопить бюджет и сделать рекламу совместно с тем SEO-специалистом. В общем, хочу сделать "pivot".
Pivot – это смена направления развития бизнеса по причине его упадка или появления новых возможностей для роста. С английского pivot переводится как поворот, вращение.
Также хочу попасть в блок с похожими запросами в Google.
Привет! Выше я писал про ИИС и то, что хочу получить максимальный налоговый вычет. Мне помешала блокировка моих счетов на пару дней, из-за неё пришлось закрыть кредитную карту и ликвидности просто не осталось. Почему мне блокировали счета, расскажу позже.
В итоге пришлось взять небольшой займ, который быстро погашу, даже не открывая подушку безопасности. У него хорошие условия, и сделка того точно стоит. Уже перевёл сумму этого займа, оставшуюся часть до максимального вычета, на ИИС.
Этой записью хочу напомнить о возможности. Если вы инвестируете, не боитесь заморозить деньги на годы, у вас есть запас на чёрный день, то ещё успеваете оформить ИИС в этом году и получить вычет.
Но стоит помнить о рисках. Я напоминаю, но не могу советовать этим заниматься. Ходит много разговоров о блокировке счетов, есть множество других скрытых рисков для россиян. Особенно не берите займ ради этого. Я сделал это только потому, что хотел получить вычет и всё равно хочу инвестировать в фондовый рынок, не выводя годы при любой ситуации на нём.
В итоге пришлось взять небольшой займ, который быстро погашу, даже не открывая подушку безопасности. У него хорошие условия, и сделка того точно стоит. Уже перевёл сумму этого займа, оставшуюся часть до максимального вычета, на ИИС.
Этой записью хочу напомнить о возможности. Если вы инвестируете, не боитесь заморозить деньги на годы, у вас есть запас на чёрный день, то ещё успеваете оформить ИИС в этом году и получить вычет.
Но стоит помнить о рисках. Я напоминаю, но не могу советовать этим заниматься. Ходит много разговоров о блокировке счетов, есть множество других скрытых рисков для россиян. Особенно не берите займ ради этого. Я сделал это только потому, что хотел получить вычет и всё равно хочу инвестировать в фондовый рынок, не выводя годы при любой ситуации на нём.