novotarskijbogda

novotarskijbogda

Автор: Богдан Новотарский-разработчик, изучающий Fullstack-разработку и делящийся своим опытом в IT. Следите за новыми статьями: My personal website - https://www.bogdan-novotarskiy.com/ GitHub: https://github.com/bogdan-novotarskij Twitter: https://x.com/novotarskijb Instagram: https://www.instagram.com/bogdan.novotarskij/
На Пикабу
107 рейтинг 0 подписчиков 5 подписок 7 постов 0 в горячем
10

Иногда мозгу нужно не отдых, а просто тишина.Не музыка, не разговор, не YouTube фоном. А именно тишина

Сидишь в комнате, никаких звуков, ни единого экрана. И вдруг появляется ощущение, что мысли становятся чище.
Будто кто-то убрал шум с радиоволны, и наконец всё стало ясно.

Раньше это называли «побыть наедине с собой».
Сейчас это почти суперсила.


Богдан Новотарский

Прекрати так вкладывать код: Чистая архитектура для реальных веб-приложений

Привет, я Богдан Новотарский!

Каждый разработчик сталкивался с проектом, в котором уровни вложенности кода становятся такими глубокими, что разобраться в них — задача не для слабонервных. Десятки callback-функций, бесконечные promise-цепочки, запутанные условия и нечитабельный код могут превратить работу над проектом в кошмар. Именно поэтому сегодня я, Богдан Новотарский, расскажу вам, как эффективно применять Clean Architecture в реальных веб-приложениях.

Что такое Clean Architecture и почему она важна?

Clean Architecture (чистая архитектура) — это подход, предложенный Робертом Мартином (Uncle Bob), направленный на создание приложений, которые легко тестировать, поддерживать и масштабировать. Главный принцип заключается в разделении приложения на отдельные слои, каждый из которых имеет чёткую зону ответственности и не зависит от деталей реализации других слоёв.

Главная задача такого подхода — избежать тесной связи (tight coupling) между компонентами. Чем меньше компоненты зависят друг от друга, тем проще изменять и расширять функционал вашего приложения.

Типичные ошибки при вложенности кода

Многие разработчики, особенно в JavaScript-мире, привыкли использовать бесконечные вложенные структуры:

app.get('/user/:id', (req, res) => {

db.findUser(req.params.id, (err, user) => {

if (err) {

return res.status(500).send(err);

}

user.getProfile((err, profile) => {

if (err) {

return res.status(500).send(err);

}

profile.loadFriends((err, friends) => {

if (err) {

return res.status(500).send(err);

}

res.send({ user, profile, friends });

});

});

});

});

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

Четыре слоя Clean Architecture

Я рекомендую применять классическую структуру Clean Architecture, состоящую из четырёх основных слоёв:

  1. Entities (Сущности) — бизнес-логика и основные данные приложения.

  2. Use Cases (Сценарии использования) — описывают бизнес-правила и процессы, манипулируют сущностями.

  3. Interface Adapters (Адаптеры интерфейсов) — преобразуют данные из одного формата в другой, подстраиваются под внешний мир.

  4. Frameworks and Drivers (Фреймворки и драйверы) — самый внешний слой, который взаимодействует с внешними сервисами и инфраструктурой.

Практический пример Clean Architecture

Рассмотрим, как можно переписать предыдущий вложенный код, используя Clean Architecture:

Entities

Определим базовые модели данных:

class User {

constructor(id, name) {

this.id = id;

this.name = name;

}

}

class Profile {

constructor(userId, bio) {

this.userId = userId;

this.bio = bio;

}

}

Use Cases

Создадим сценарий, который описывает получение данных пользователя:

class GetUserDetails {

constructor(userRepository, profileRepository) {

this.userRepository = userRepository;

this.profileRepository = profileRepository;

}

async execute(userId) {

const user = await this.userRepository.findUserById(userId);

const profile = await this.profileRepository.findProfileByUserId(userId);

const friends = await this.profileRepository.loadFriends(userId);

return { user, profile, friends };

}

}

Interface Adapters

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

class UserController {

constructor(getUserDetailsUseCase) {

this.getUserDetailsUseCase = getUserDetailsUseCase;

}

async handle(req, res) {

try {

const data = await this.getUserDetailsUseCase.execute(req.params.id);

res.json(data);

} catch (error) {

res.status(500).send(error.message);

}

}

}

Frameworks and Drivers

Express.js служит точкой входа нашего приложения:

const express = require('express');

const app = express();

const userRepository = new UserRepository();

const profileRepository = new ProfileRepository();

const getUserDetails = new GetUserDetails(userRepository, profileRepository);

const userController = new UserController(getUserDetails);

app.get('/user/:id', (req, res) => userController.handle(req, res));

app.listen(3000);

Теперь код стал гораздо чище, понятнее и легче для тестирования.

Edge-кейсы и проблемы безопасности

Важный момент — не забывайте учитывать edge-кейсы и безопасность:

  • Всегда валидируйте входные данные на каждом слое.

  • Используйте явную обработку ошибок и не раскрывайте клиенту внутренние детали ошибок.

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

Почему вам стоит использовать Clean Architecture?

Используя Clean Architecture, вы получите:

  • Простоту тестирования и поддержки кода.

  • Лёгкость изменения или добавления новых функций.

  • Уменьшение количества ошибок благодаря ясной структуре и меньшей зависимости между компонентами.

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

Итоги и рекомендации

Clean Architecture — это не очередная модная тенденция, а подход, который доказал свою эффективность в тысячах проектов по всему миру. Чем раньше вы начнёте применять её в своих проектах, тем быстрее увидите, насколько она облегчает жизнь вам и вашей команде.

И помните — лучший код тот, который легко читать и поддерживать.

Автор: Богдан Новотарский – разработчик, изучающий Fullstack-разработку и делящийся своим опытом в IT. Следите за новыми статьями:
GitHub: https://github.com/bogdan-novotarskij
Twitter: https://x.com/novotarskijb
Linkedin: https://linkedin.com/in/богдан-новотарский-8581aa357

Показать полностью

Как я использую ChatGPT для изучения английского: лучшие промпты для прокачки языка

Всем привет, я Богдан Новотарский.

Однажды я понял простую вещь: большинство способов изучения английского требуют либо огромных временных затрат, либо денег на преподавателя, либо железной самодисциплины, которой часто не хватает. Решил пойти другим путём — заставить работать на себя искусственный интеллект. За последние полгода я превратил ChatGPT в личного репетитора, который работает круглосуточно, не устаёт и, что важно, не закатывает глаза, когда я совершаю очередную ошибку.

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

Промпты, которые реально работают

1. Умное исправление ошибок

Когда я только начинал, моя письменная речь была катастрофой. Особенно страдали артикли и времена. Вот промпт, который изменил ситуацию:

"I want you to act as an English teacher. Please analyze this text for grammar, vocabulary, and style errors. For each mistake: 1. Highlight the error 2. Explain why it's wrong 3. Show the corrected version Here's my text: [мой текст]"

Что мне в нём нравится — ChatGPT не просто механически исправляет текст, а объясняет каждую ошибку. Недавно я написал имейл иностранному клиенту, прогнал через эту проверку и был удивлён, когда система указала на неуместное использование формального языка в деловой переписке. После нескольких таких сессий я начал замечать свои типичные ошибки ещё на этапе написания текста.

2. Натуральность речи

Долгое время моя главная проблема заключалась в том, что я писал на "переводном английском" — грамматически правильно, но неестественно для носителя. Решением стал такой промпт:

"I need help making my English sound more natural. Here's what I want to say: [мой текст] Please: 1. Rewrite it to sound like a native speaker 2. Explain the key differences between my version and yours 3. Point out any direct translations from Russian that I should avoid"

Именно третий пункт оказался самым полезным. Я обнаружил, что бессознательно переношу русские речевые конструкции на английский. Например, фразу "у меня есть вопрос по этому коду" я переводил как "I have a question by this code", а не "I have a question about this code".

3. Работа над произношением сложных слов

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

"Help me improve my pronunciation of technical terms. For the word '[слово]': 1. Break it down into syllables with stress marks 2. Describe how to position my mouth, tongue, and lips for difficult sounds 3. Provide 3 similar-sounding words I can use for practice 4. Explain common pronunciation mistakes made by Russian speakers specifically"

После такого разбора слова "thoroughly" я наконец научился его произносить без запинки. А фонетическая транскрипция с русскими аналогами звуков помогла справиться с "rural" и "particularly".

4. Изучение идиом и разговорных выражений

Техническим английским я владел неплохо, но в casual-беседах часто терялся. Этот промпт помог расширить словарный запас:

"I want to learn natural expressions for [ситуация]. Can you: 1. Give me 5 common phrases or idioms a native speaker would use 2. Explain the context and formality level for each 3. Provide an example dialogue showing natural usage 4. Warn me about any expressions that might sound outdated or regional"

Когда я попросил выражения для ситуации "когда код работает неожиданно хорошо", я узнал не только очевидное "It works like a charm", но и более современные выражения вроде "It's firing on all cylinders" и "It's crushing it", которые теперь регулярно использую в разговоре.

5. Симуляция реальных разговоров

Отсутствие языковой практики — моя вечная проблема. Я придумал способ использовать ChatGPT как собеседника, который подстраивается под мой уровень:

"Let's have a conversation about [тема]. Act as a native English speaker with these rules: 1. Keep responses conversational and brief (2-3 sentences) 2. If I make a mistake, occasionally (not always) rephrase my statement correctly in your response 3. Use some idioms and slang naturally, but explain them if they're uncommon 4. Ask me follow-up questions that require more than yes/no answers Start by asking me something about [конкретный аспект темы]."

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

Почему это работает лучше обычных методов

За годы изучения языка я перепробовал десятки приложений и методик. Могу с уверенностью сказать, что работа с ChatGPT дала более заметные результаты по нескольким причинам.

Во-первых, это персонализированный подход. Традиционные курсы рассчитаны на среднего студента, а AI подстраивается под мои конкретные проблемы. Когда я попросил объяснить разницу между "affect" и "effect" применительно к программированию, я получил примеры из реального кода, а не стандартные фразы из учебника.

Во-вторых, отсутствие психологического барьера. Признаюсь, я часто стеснялся своих ошибок на групповых занятиях. С ChatGPT этой проблемы нет — я могу переспрашивать одно и то же хоть десять раз, не чувствуя себя идиотом.

В-третьих, мгновенная обратная связь. Нет нужды ждать следующего урока, чтобы проверить домашнее задание. Я могу написать текст, получить правки, внести исправления и снова проверить — всё за считанные минуты.

Как я интегрировал это в свою рутину

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

  1. Утренний ритуал: 15 минут разговорной практики с симуляцией диалога по актуальной теме (обычно что-то из новостей технологий).

  2. Рабочий процесс: перед отправкой любого письма на английском — проверка через промпт корректора.

  3. Вечернее чтение: беру статью по программированию, выбираю незнакомые слова и использую промпт для изучения их в контексте.

  4. Еженедельный челлендж: выбираю тему и пишу небольшое эссе, которое потом анализирую с помощью ChatGPT.

Однажды я целую неделю общался с англоязычными коллегами, используя только фразы, предварительно проверенные через AI. Результат превзошел ожидания — меня стали лучше понимать, а некоторые даже отметили прогресс в моем английском.

Главные выводы и подводные камни

Работа с ChatGPT значительно улучшила мой английский, но у этого подхода есть ограничения, которые важно понимать:

  1. ChatGPT иногда ошибается, особенно в тонкостях грамматики. Я дважды провалился, когда использовал его совет по употреблению предлогов в техническом контексте. Теперь перепроверяю сложные случаи по нескольким источникам.

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

  3. Легко впасть в пассивное обучение. Я заметил, что иногда просто читаю ответы системы, не применяя знания активно. Против этого помогает принцип: после каждой сессии с ChatGPT я должен использовать что-то новое в реальном разговоре или письме.

  4. Контекст критически важен. Когда я попросил систему научить меня "профессиональным выражениям для деловой переписки", я получил слишком формальные фразы, которые звучали неестественно в IT-среде. Нужно всегда уточнять контекст и сферу применения.

Заключение

ChatGPT не сделает из вас носителя языка за ночь — чуда не будет. Но как дополнительный инструмент он феноменально эффективен, особенно если вы цените гибкость и не готовы тратить часы на традиционное обучение.

Главное — помнить, что любой AI остается лишь инструментом. Реальный прогресс приходит только когда вы применяете полученные знания на практике. Я регулярно заставляю себя использовать новые фразы в разговорах с коллегами, даже если это неудобно или страшно.

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

Автор: Богдан Новотарский – разработчик, изучающий Fullstack-разработку и делящийся своим опытом в IT.

Следите за новыми статьями: GitHub: https://github.com/bogdan-novotarskij Twitter: https://x.com/novotarskijb

Показать полностью

Стоит ли идти в IT в 2025 году? Или уже поздно?

Каждый год одно и то же: "В IT уже не попасть", "Мест больше нет", "Всё заняли индусы и ИИ". И что? Проходит год, и новички всё так же устраиваются в компании. Почему так происходит? Потому что половина людей, кричащих об "умершем рынке", вообще не пытались нормально учиться. Давай разберёмся, что реально происходит в 2025 году и есть ли смысл лезть в IT.


IT действительно умер?

Если зайти на любой форум, можно увидеть одни и те же посты: "я учился 3 месяца и меня никто не берёт!", "резюме отправил 200 раз и тишина!", "раньше было проще!". Никто не спорит — конкуренция выше, чем 10 лет назад. Но проблема не в IT, а в том, что раньше хватало простого CRUD-приложения, а сейчас работодатели хотят видеть реальные проекты и нормальные навыки.

Так что нет, IT не умер. Просто теперь надо работать, а не надеяться, что тебя возьмут, потому что ты прошёл курс на Udemy.


Так кого сейчас берут?

Берут тех, кто умеет решать задачи, а не просто копипастить код. Если ты сможешь написать что-то реальное, а не 100500-й To-Do List, у тебя есть шанс. Если можешь в алгоритмы и не пугаешься собеседований, у тебя тоже есть шанс. А если твой максимум — это повторение кода за видеоуроком, то да, скорее всего, тебе уже поздно.


Кто в IT в 2025 году ничего не добьётся?

  • Те, кто идёт только ради зарплаты. Тысячи таких же "джунов" уже выстроились в очередь, а реальные деньги получают только сильные специалисты.

  • Те, кто не хочет учиться больше года. Да, сейчас уже недостаточно "просто понять основы". Нужно делать сложные проекты, участвовать в open-source и постоянно развиваться.

  • Те, кто не умеет продавать себя. Хорошие резюме, нормальный GitHub, участие в хакатонах — это не бонусы, это необходимость.


Итог

В 2025 году в IT попасть реально, но уже не так просто, как 10 лет назад. Нужно не просто выучить теорию, а реально что-то уметь. Если тебе интересно кодить и ты готов вкалывать, то вперёд. Если надеешься на "лёгкие деньги без опыта" — лучше даже не начинай.



Автор: Богдан Новотарский

Показать полностью

Если бы путешественник во времени из 1999 года приземлился в 2025 году, какую самую странную вещь вам пришлось бы объяснять?

Если бы путешественник во времени из 1999 года приземлился в 2025 году, какую самую странную вещь вам пришлось бы объяснять?

Как искусственный интеллект меняет нашу жизнь: что нас ждет в ближайшие годы?

Еще 10 лет назад искусственный интеллект (ИИ) казался чем-то из научной фантастики. Сегодня он уже пишет тексты, создает изображения, помогает врачам ставить диагнозы и даже управляет автомобилями. Но насколько далеко это зайдет? Давайте разберемся, какие изменения нас ждут в ближайшие годы.

📌 1. ИИ в повседневной жизни – мы уже его используем, даже не замечая

Многие думают, что ИИ – это роботы-гуманойды, но на самом деле он давно стал частью нашей жизни:
Поисковые системы (Google, Яндекс) – предлагают нам релевантные результаты благодаря ИИ-алгоритмам.
Рекомендации на YouTube, Spotify, TikTok – ИИ анализирует, что вам нравится, и подстраивает контент.
Голосовые помощники (Siri, Alexa, Google Assistant) – понимают речь, отвечают на вопросы и даже помогают управлять умным домом.
Чат-боты и AI-помощники – поддержка клиентов уже давно автоматизирована на 80%.

ИИ незаметно проник в нашу жизнь, и это только начало.


📌 2. Искусственный интеллект в медицине – диагнозы точнее, чем у врачей?

ИИ уже анализирует медицинские снимки лучше, чем врачи-радиологи. Например:
Google Health разработал алгоритм, который находит рак молочной железы точнее, чем специалисты.
DeepMind от Google создала ИИ, который предсказывает заболевания почек за 48 часов до первых симптомов.
ИИ в фармацевтике ускоряет разработку лекарств – новый антибиотик Halicin был найден полностью с помощью ИИ.

💡 Будущее: в ближайшие 5-10 лет ИИ сможет персонализировать лечение, анализируя генетику и образ жизни каждого пациента.


📌 3. Искусственный интеллект и работа – кого заменят в первую очередь?

Один из главных страхов людей – потеря работы из-за автоматизации. Вот какие профессии в зоне риска:
🔹 Операторы колл-центров – уже сейчас 70% запросов обрабатываются AI-ботами.
🔹 Копирайтеры и переводчики – нейросети вроде ChatGPT и DeepL справляются всё лучше.
🔹 Кассиры и курьеры – Amazon Go уже запустил магазины без кассиров, а дроны-доставщики – не фантастика, а реальность.
🔹 Юристы начального уровня – ИИ может анализировать документы и составлять юридические заключения.

💡 Но не всё так плохо: появятся новые профессии, связанные с контролем ИИ и его обучением. Главное – уметь адаптироваться.


📌 4. Опасности искусственного интеллекта – стоит ли бояться?

ИИ – мощный инструмент, но у него есть риски:
Фейковые видео (Deepfake) – уже сейчас можно создать видео, где человек говорит то, чего никогда не говорил.
Байас и дискриминация – ИИ учится на данных, и если данные предвзятые, он может ошибаться (например, дискриминировать по полу или расе).
Безопасность данных – AI-системы могут анализировать огромные массивы информации, что делает их целью для хакеров.

💡 Как избежать проблем? Разработка AI должна быть прозрачной, а решения – под контролем человека.


📌 5. Будущее ИИ – какие технологии изменят мир?

🔹 Полностью автономные автомобили – Tesla и Waymo уже тестируют их, и через 10 лет водители могут стать не нужны.
🔹 ИИ-психологи и виртуальные собеседники – AI уже сейчас ведёт терапевтические беседы.
🔹 ИИ в образовании – персонализированные виртуальные учителя, которые адаптируются под каждого ученика.

Будущее ИИ – это не только роботы и автоматизация, но и новые возможности для людей.


📌 Итог: стоит ли бояться ИИ или это шаг в светлое будущее?

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

💬 Что вы думаете? Какая AI-технология впечатлила вас больше всего?

📌 Автор: Богдан Новотарский. Интересуюсь искусственным интеллектом, технологиями и их влиянием на будущее.

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества