ООП было доминирующей парадигмой в программировании последние 30 лет. Для большого количества программистов ООП - это и есть Программирование, будто бы когда-то древние люди программировали в императивном стиле, а потом случился прогресс и пришло спасение, и все поняли “как надо”.
[Read More]GNOME и вы
GNOME - один из двух “главных” десктопов (DE) на Linux, вместе с KDE. Для многих дистрибутивов он же “дефолтный” рабочий стол (Ubunty, Fedora) хотя опять-таки, многие из них не вносят определенные изменнения (Ubuntu яркий пример), поэтому это не совсем тот GNOME, каким он задуман разработчиками. После долгих лет скитаний по Linux десктопам сейчас он стал моим основным - начал с GNOME, на нем и закончил (на текущий момент :)).
[Read More]Вайб-кодинг на Cursor
Vibe coding
это новая ужасная/потрясающая тенденция в разработке.
По сути люди без опыта в разработке собирают при помощи ИИ помощников полноценные коммерческие приложения и продают их пользователям за реальные деньги.
Проблемы с вставкой в Clickhouse
Clickhouse
одна из самых крутых вещёй, с которыми я сталкивался в IT.
Невероятно быстрая OLAP база данных, которая отлично работает как в облаке
(есть решения через AWS
), так и локально в составе одного единственного бинарника,
который можно легко запустить из CLI.
Свободные Монады
Несмотря на то, что я в основном разрабатывают программы на языке Python, некоторые понятия
из функционального программирования всё равно на слуху - одно из них это монады.
Монады фундаментальны для функциональных ЯП, особенно для языков вроде Haskell
, для которых
не допускают “не чистых” функций, поэтому монада - это единственный способ выражения и работы с состоянием.
Ещё один взгляд на TDD
Недавно в небольшом посте про TDD я жаловался на то, что этот подход к написанию программ сводит на нет креативностью в подходе к “исследованию” проблемы.
Но при этом меня не покидало ощущение, что я недопонимаю что-то важное в подходе TDD. Мой предыдующий опыт знакомства с TDD был связан с “Python: Разработка на основе тестирования” Гарри Персиваля, а также нескольких други отдельных постов о TDD.
[Read More]Мини-обзор на Cursor - редактор кода с AI
В силу некоторых причин, я недавно отказался от подписки на OpenAI.
И освободившиеся средства было решено потратить на Cursor
- клон VSCode
с тесной интеграцией с AI “из коробки”.
До этого в основном использование AI ограничивалось обычным чатом с ChatGPT
или подгрузкой небольших файлов в GhatGTP
проекты.
Я не понимаю TDD
Test Driven Development
(TDD) это один из очень уважаемых подходов к разработке и считается признаком высокой культуры подхода к разработке.
Кроме того это одна из первых “больших” идей в программировании, с которой я познакомился через книгу
Гарри Персиваля “Python. Разработка на основе тестирования”. Но недавно для себя я решил пока полностью
отказаться от этой идеи, по крайней мере в собственных проектах, и вот почему.
Функциональное программирование и Roc
Использованием приёмов из функционального репертуара уже давно никого не удивишь -
использование различных map
, reduce
и filter
очень распространено. А писать как можно больше “чистых функций” рекомендуется
повсеместно. И всё же даже используются такие вот функциональные паттерны опыт написания программ на привычном JavaScript или Python
заметно отличается от “чистых” языков программирования - я практически могу гарантировать, что “функциональный код” на Python скорее
всего будет по большей части императивным.
Небесполезный Caps Lock
Всех с Новым годом!
Стараюсь вернуться к регулярному постингу после праздников, и начнём мы с простого.
Никогда не замечали эту клавишу Caps Lock
. С ней связаны любопытные особенности:
Она расположена как раз под левым мизинцем, с нашими пальцами, расположенными на F и J. Это делает её чрезвычайно удобной для нажатия. При этом полезные для любых продвинутых пользователей клавиатуры клавиши (Ctrl, Alt, Esc) не так легко доступны для наших пальцев, что весьма неудобно (погуглите
[Read More]Emacs pinky finger
).