Для чего нужно Dependency Injection? Как произошел плавный переход в программировании от простейших практик организации композиции классов до использования Dependency Injection для управления зависимостями. Мой личный взгляд на этот вопрос с точки зрения веб-разработчика на PHP.
Архив метки: программирование
Абстракция, уровни абстракции
Что есть контроллер? (видео)
Разговор о том, чем является контроллер в разных типах приложений. Контроллером зачастую называют разные вещи в разных фреймворках и типах приложений. Я попытался немного расставить точки на «и» в этом вопросе и рассказал свое понимание сути контроллера абстрактно — независимо от типа языка и среды. Понимание сути контроллера дает понимание того, какой код должен попадать в контроллер, а какой наоборот, должен попадать в другие части системы.
Архитектура веб приложений: интерьер (видео-лекция)
Рассказ о возможной внутренней архитектуре ориентированных на масштабируемость, обслуживаемость и расширяемость веб-приложений, разрабатываемых на PHP или подходящих для Веба языках программирования. Реализация компонентного подхода внутри приложения, фунционального разделения кода, введение уровней абстракции копонентов.
Читать далее Архитектура веб приложений: интерьер (видео-лекция)
Архитектура веб приложений: экстерьер (видео-лекция)
Рассказ о популярной универсальной архитектуре стека, в котором работает веб-приложение. Само приложение может быть написано на любом интерпретируемом языке с использованием любого фреймворка фреймворков. В данном случае это не важно, так как архитектура программной инфраструктуры — технологического стека, в котором оно работает, отличается мало.
Читать далее Архитектура веб приложений: экстерьер (видео-лекция)
Классификация знаний в области программирования
Меня иногда спрашивают, что нужно выучить, чтобы стать программистом. Вопрос несколько наивный, т.к. нормально ответить на него по-моему невозможно. Т.е. для начала нужно выяснить, каким программистом нужно стать. Да и вообще, программистом ли? Кроме того, на рынке востребованы как высококвалифицированные дорогие специалисты, так и “рабочая сила”. Пакет знаний и опыта первых и вторых отличается в значительной степени.
Читать далее Классификация знаний в области программирования
Как стать хорошим программистом и хорошим php-программистом в частности?
Хочу поделиться ссылкой, по которой можно найти много полезной информации для развития себя как настоящего программиста. Ссылка на пост в белорусском сообществе программистов — dev.by. Написана человеком, который попросил дать ему совет, а потом свёл в статье резюме полученных советов. Ни автор, ни комментаторы не имеют ко мне никакого отношения. Но я готов подписаться под большинством полученный советов.
Читать далее Как стать хорошим программистом и хорошим php-программистом в частности?
Хорошее резюме
Работодателю нужно оценить соответствие соискателя работы своим требованиям до собеседования, чтобы определиться, тратить ли время и свое, и соискателя, на личную встречу. Это можно сделать за счет просмотра резюме и выполнения тестового задания.
Факторный анализ места работы
Иногда могут возникать ситуации, когда надо оценить место работы. Если вы ищите работу, нужно как-то сравнить предложения от разных компаний между собой и/или с текущим местом работы. Если не ищите, возможно вы захотите сравнить свои условия работы с условиями в организациях у друзей. Сравнивать можно по-разному: «на глаз», когда мысленно прикидываешь преимущества и недостатки одной и другой стороны, а затем решаешь, что лучше; по конкретным позициям — график, з/п, интерес и т.д. с конкретной оценкой по каждой позиции.
Второй вариант, конечно, будет точнее с точки зрения логики, но первый может оказаться ближе к реальности, т.к. выбор места работы зачастую делается сердцем, а не умом.
Но все же, если мы хотим умом сравнить несколько мест работы, удобно делать это с помощью некоторой модели факторов, по которым будет вестись точное сравнение. Вообще, понятие факторной модели имеет четкое математическое значение, но я его сильно упрощу и буду использовать у себя по своей схеме без сложной математики.
Передача имени сайта скрипту через cron (crontab)
Вчера на stackoverflow заметил вопрос о том, как передать скрипту через крон адрес сайта, если скрипт может выполняться «под разными сайтами». Это довольно интересный вопрос, и есть много вариантов решения. Сам решал его не так давно, а раз тема интерисует и других, решил об этом написать.
Читать далее Передача имени сайта скрипту через cron (crontab)
MobiOp — виджет для Android — название и лого оператора связи
MobiOp — моя первая программа для мобильной ОС Android. Это виджет на рабочий стол, который показывает логотип и название оператора мобильной сети, в которой в данный момент обслуживается телефон.
Читать далее MobiOp — виджет для Android — название и лого оператора связи
Делегирование обслуживания почтового домена: часть 2. Отправка почты через localhost (настройка Exim4 в Debian)
Настройка Exim и PHP mail() на примере Linux Debian
Чтобы решить проблему отказа серверов Gmail от обслуживания при отправке большого числа писем на несуществующие адреса, используем для отправки почты из скриптов сайта локальный почтовый SMTP-сервер (MTA). Локальный сервер будет выступать в качестве mail relay. В дополнение мы откажемся от подключения из скрипта к удаленному серверу, что может быть медленно. Локальные подключения всегда должны быть быстрее и стабильнее. Читать далее Делегирование обслуживания почтового домена: часть 2. Отправка почты через localhost (настройка Exim4 в Debian)
Собеседование по PHP
Обратите внимание: пост написан в апреле 2009 года. Сейчас у меня вопросы немного другие. Как будет время, обновлю список.
Компания, в которой я работаю, собирается искать хорошего PHP-программера. В связи с этим мне стала задача разработать план проведения собеседования. Решил подготовиться к этому и составить план-список вопросов, по которым будет проходить беседа.
Алгоритм вычисления дня Пасхи (православной) на ActionScript для Flash
Сегодня на работе понадобился этот код. В гугле нашел только для дельфи. Используя http://ru.wikipedia.org/wiki/Пасха написал этот алгоритм на ActionScript. Перевести его на PHP, C++, C# не составить труда думаю никому… Так что если кому надо — юзайте. Лицензия — все абсолютно free и без гарантий ;) Читать далее Алгоритм вычисления дня Пасхи (православной) на ActionScript для Flash