Pull to refresh
7
0
Макс Дьяченко @Mendel

Пользователь

Двойная бюстгалтерия* глазами программиста

Reading time 8 min
Views 41K


Большинство из нас сталкивались с бухгалтерами. Многим их терминология кажется китайской грамотой, как для гуманитария обратная польская запись. Однако разобравшись, понимаешь насколько это удобный и мощный инструмент.

Статья не академическая, а отражает сугубо мой упрощенный взгляд, и для тех кто уже осилил академические статьи — будет неинтересной. Тех же кому интересно понять такой простой и мощный инструмент как «двойная запись» — прошу под кат.
Читать дальше →
Total votes 45: ↑40 and ↓5 +35
Comments 266

Большое Ухо или «Почему глухой должен быть немым?»

Reading time 3 min
Views 16K
image
Будущее начинается с нас самих. Не с кикстартера или биткоинов. Не с 3Д-принтеров или башен Тесла, а с нас. Те кто говорят «невозможно» не должны мешать тем кто это делает.
Итак суть — предлагаю обсудить (и осуществить) возможность слабослышащим увидеть звук настолько хорошо, чтобы понимать речь и научиться разговаривать.
Читать дальше →
Total votes 28: ↑10 and ↓18 -8
Comments 26

Обход областей видимости или неожиданное поведение функции EACH

Reading time 2 min
Views 4K
Никогда не понимал зачем в PHP функция each. Ведь есть foreach…
Но сегодня у меня «сломался» один участок кода, который жил шесть лет.
Там была конструкция с использованием each.
ошибка была исправлена секунд за 30 — давно думал исправить это все на foreach, но оставлял в качестве напоминания о том, какой индокод у меня был в свое время. Но просто исправить и пройти мимо я не мог.
Итак each против ООП:
1 — each игнорирует области видимости и спокойно выводит private свойства.
Читать дальше →
Total votes 9: ↑5 and ↓4 +1
Comments 6

Переопределение предка (dirty hack)

Reading time 4 min
Views 6.2K
UPD: Лучше конечно такого избегать. Все это страшно, ужасно, и воняет. Но воняет чуть меньше чем VQMOD, и если уж приходится патчить «живой» и обновляемый, но жуткий легаси, то такой подход имеет право на существование. Но НИКОГДА не делайте так в проектах которые вы только начинаете или можете изменить архитектуру на более расширяемую. Статью оставляю как есть. «На память».




Иногда очень хочется переопределить поведение класса родителя, не меняя его код.
К примеру поменять место хранения шаблонов из файлов в базу… или добавить кэширование.
или заменить в ORM удаление записей на пометку их как удаленные.
Да мало ли что мы можем пожелать изменить.
Если каждый программист будет лезть в ядро фреймворка или просто в чужой код, то это будет каша.
У этой задачи есть множество решений. Я хочу предложить то, которое мне нравится больше всего.
Решение основано на __autoload() а точнее на spl_autoload_register.
Читать дальше →
Total votes 17: ↑6 and ↓11 -5
Comments 60

Information

Rating
Does not participate
Location
Кфар Саба, Хамеркац, Израиль
Date of birth
Registered
Activity