Самый страшный враг знания — не его отсутствие,а иллюзия его наличия (с) Стивен Хокинг До этого момента мы уже успели рассмотреть некоторые популярные ошибки проектирования и дизайна программ и систем. Как правило, описанные ранее антипаттерны могли случаться из-за отсутствия должного опыта и квалификации конкретного разработчика, сегодняшний же наш разговор о недуге, который косит в первую…
-
Commodore Amiga 500. Часть №1 — Мой первый компьютер.
A long time ago, In a galaxy far, far away Когда-то давно, когда компьютеры не были распространены повсеместно и когда в наших краях не существовало никакого интернета, когда вашему покорному слуге исполнилось всего около 12 лет (господи, это было более 20 лет назад!)… В те суровые 90ые годы мои героические родители смогли преодолеть невероятные материальные…
-
Антипаттерн №4 — Метод копипаста (Copy and paste programming)
Антипаттерн — понятие эволюционное. Точно также формировались правила дорожного движения — от происшествий на дороге, шаг за шагом, методом проб и ошибок зарождалась культура вождения. С антипаттернами история похожая — за более, чем 50 летнюю историю программирования мир разработки кое чего повидал. Всякого, знаете 🙂 Менялись технологии, подходы, методики. Кардинально изменялось всё — и по…
-
Реализация стека при помощи массива на языке C#
Как я и обещал, практически сразу после написания статьи про структуру данных стек — выйдет примерная очень simple реализация стека нативными средствами языка C#. Это простой и лёгкий в освоении алгоритм, понятный любому человеку, который хоть раз в жизни мыл тарелки 🙂 Несколько недель назад я писал свою собственную реализацию очереди и там же указывал,…
-
Антипаттерн №3 — Божественный объект (God Object)
Совсем недавно мной были рассмотрены два наиболее распространённых антипаттерна (антипаттерн — пример плохой реализации кода, проектирования etc.) — спаггети код и магические числа. Сегодня мы поговорим про почётное третье место — Божественный объект (англ.: God Object). Во времена, когда только-только зарождалось понятие Web 2.0 (2000-2005) и фактически происходило становление динамического интернета — было почему-то модно…
-
gRPC Часть №1 — .NET C# и Google Protobuff. Знакомство.
Так исторически сложилось, что на текущей моей работе весь стек бекенда состоял изначально из GoLang и .NET. Так начинался наш проект, к слову, абсолютно для меня экспериментальный — новый виток карьеры (в профессиональном плане). До этого момента я был полностью и целиком desktop-разработчиком под Windows (а ещё до этого десктоп QT и Linux). Я не…
-
Антипаттерн №2 — Спагетти-код (Spaghetti code)
Когда-то давно, когда компьютеры были большими, а программы маленькими — существовал единственный возможный способ написания кода. При помощи интерпретатора (если повезёт) выполнялась какая-либо вбиваемая программа. Строчка-за-строчкой. Людей, которые писали бы подобные листинги было невероятно мало, мирового опыта и понимания КАК НАДО ещё не было сформировано — ни методологий и никаких правил. Каждый был творцом собственного…
-
Конференция .NET Framework Days Kyiv, Ukraine 2018 #fwdays
В минувшее воскресенье, 15 апреля 2018 года состоялась для меня первая в этом году профессиональная конференция — .NET fwdays (DotNet Framework Days). Да, я ходил на несколько митапов, но они все были не очень масштабными и отдельного поста не заслуживали 🙂 Итак, в воскресенье я (находясь в перманентном дедлайне последние три недели), проспал открытие и…