Фреймворк vs сборка библиотек
Название статьи немного не корректное. Здесь описано не противопоставление, что лучше, а что хуже. Эти две архитектуры равноправны, просто служат для разных целей. Тут описаны основные различия, плюсы и минусы обоих подходов, и сферы их применения. Начнем с основы. Повальное увлечение php-программистами объектно ориентированным програмированием, а так же не совсем уместное применение основных принципов и паттернов построения архитектуры привело к тому, что схема фреймворка была возведена в ранг чуть ли не единственно верной. На фоне этого забыли, а многие просто не знают, так как сразу начали учиться по схеме фреймворка, что есть еще и другая - ...
Шаблоны проектирования. Помощники или стереотипы?
Те программисты, кто умудрился продвинуться чуть дальше Hello World, рано или поздно сталкиваются с такими понятиями, как GRASP, GoF, SOLID и другими рекомендациями. Это хорошо, но плохо то, что эти практики, с подачи не совсем опытных адептов ООП воспринимаются, как правила. А это не так. Между правилами и рекомендациями довольно серьёзные различия. Правило - штука, обязательная к исполнению. Это требование. Если сделать что-то не по правилам, то либо результат будет не тем, что ожидается, либо будут неприятности.
Рекомендация, это совет. Штука не обязательная к выполнению. Это накопленный и обобщенный опыт, передаваемый малоопытным субъектам. Для примера - синтаксис ...
Парадигмы ООП не существует или "Свободная касса!"
Эпотажный заголовок, не правда ли? Однако давайте разберемся. Существует ли темнота? Не торопитесь. На самом деле нет: это просто отсутствие света. Её нельзя измерить, нельзя изменить, нельзя вообще ничего с ней сделать. Её нет как предмета. Если темнота "неполная", то это уже не темнота, а слабая освещенность. Освещенность можно конкретно измерить в люксах, единицы измерения темноты нет и быть не может.
Она существует только в нашем воображении. Так же как и парадигма ООП. Вы скажите, что так можно рассудить по отношению к любой другой парадигме. А вот и нет. У любой другой есть четкие определения и правила, по ...
Маша и медведь. (К вопросу о читабельности кода)
Тут на днях объяснял человеку, как писать читабельный код. Ну что касается стиля, это я уже описывал здесь и здесь. Вопрос стоял в другом - что именно нужно отделять пустой строкой. С одной стороны лишние пустые строки вредят читабельности, ибо на экран входит меньше полезного кода. С другой стороны, без выделений получается каша. Где золотая середина? Так вот, мне просто понравился пример, который случайно попался под руку. Сказка про Машу и медведя. Поделюсь с вами. Вообще принцип написания читабельного кода прост. Любой код на скриптовом языке программирования, это обычный текст. Со смыслом. Ибо скрипт. это ни что ...
Определение IP пользователя.
Многим уверенным пользователям интернета известна эпическая фраза, наводящая ужас на бедных анонимусов:
Однако не все умеют делать это правильно. И в силу этого рискуют получить неверное значение IP, а в результате получить по морде лица, если по этому неверному адресу окажется не тщедушный ботаник, а какой-нибудь Чак Норрис. Вот дабы избежать подобных досадных недоразумений, попробуем разобраться, что такое IP и как его правильно "вычислить". IP - это аббривиатура понятия Internet Protocol, того самого протокола, который объединяет различные компьютерные сети в наш горячо любимый интернет. Как устроен этот протокол и какие у него особенности - отдельная ...
Профессионализм в программировании. Хорошо ли это.
Нет, я не сошел с ума. 99% людей, прочитавших заголовок, примерно так сейчас обо мне и подумали. Разве может быть ответ другим - да!
Но не торопитесь. Давайте разберемся по порядку. Что есть профессионализм? Обратимся к кладези знаний - Википедии.
Профессионализм — особое свойство людей систематически, эффективно и надёжно выполнять сложную (профессиональную) деятельность в самых разнообразных условиях. При этом под профессиональной деятельностью понимается сложная деятельность, которая предстает перед человеком как конституированный способ выполнения чего-либо, имеющий нормативно установленный характер. Профессиональная деятельность является объективно сложной, поэтому она трудна для освоения, требует длительного периода теоретического и практического обучения.
Как говорится - ...
Пуд соли (рассуждения о криптографии)
В общем то это рассуждение не о самой криптографии, а о том, что люди часто ошибочно считают, что хорошо в ней разбираются. Но по сути это совершенно не так. Натолкнула меня на мысль написать такую статью вот эта публикация в википедии и жаркий спор на тему моей функции хэширования паролей с одним из авторов этой статьи. Я не претендую на роль гуру в ней, более того, я со всей ответственностью заявляю, что ничего по большому счету в криптографии не понимаю. Однако позволю себе некоторые рассуждения, касательные сохранности паролей пользователей на сайте, раз уж написал функцию хэширования. ...
Классификация заказчиков.
На самом деле я практически не беру одноразовых заказов на фрилансе. Как показала практика, адекватных заказчиков там ничтожно мало. Это объяснимо - заказать продукт в зарекомендовавшей себя конторе для них непосильно дорого, процедура сложна (техзадание, согласования и так далее), ответственность велика. То ли дело на фрилансе: разместил объявление и через 10 минут ты царь и Бог, у твоих ног куча дрожащих коленопреклоненных исполнителей, которые тянут к тебе руки в надежде на подачку. Можно вить из них веревки.
То, что рынок труда PHP программистов дискредитирован кучей голодных и неопытных студентов, готовых работать даже бесплатно за портфель и опыт, это ...
Роман