Как стать автором
Обновить

PHP Test

Время на прочтение 1 мин
Количество просмотров 489
Чулан
В одно из предыдущих топиков в комментах увидел интересную задачка-тест:

if ($x==1) echo «1»;
if ($x==2) echo «2»;
if ($x==3) echo «3»;
в каком случае на экране я увижу «123»

Ответ тривиален (true)

Задача интересная, но я предлагаю ее модифицировать для php5 программистов. Она не такая красивая, зато более полезна для оценки знаний…

//@todo: put code here
echo "\n",$x[0] === 0? 'yes':'no';
echo "\n",$x[0] === 1? 'yes':'no';
echo "\n",$x[0] === 2? 'yes':'no';
echo "\n",$x[0] === 3? 'yes':'no';

Вывод

yes
yes
yes
yes
Всего голосов 15: ↑5 и ↓10 -5
Комментарии 14

PHP Patterns: Singleton

Время на прочтение 2 мин
Количество просмотров 71K
PHP *
Перевод

Singleton (Одиночка)


Введение


Singleton – один из самых простых шаблонов для понимания. Основное назначение – гарантировать существование только одно экземпляра класса. Причиной обычно является следующее: требуется только один объект исходного класса и Вам необходимо, что бы объект был доступен в любом месте приложения, т.е. глобальный доступ.
Читать дальше →
Рейтинг 0
Комментарии 0

Application Architecture Guide 2.0

Время на прочтение 1 мин
Количество просмотров 1.9K
.NET *
Всего несколько дней назад вышла вторая версия гайдлайна Application Architecture Guide 2.0.

Брошюра включает четыре раздела:
  • Основы — раздел в котором описаны основные стратегии и техники проектирования
  • Проектирование — содержит паттерны и примеры проектирования различных приложений, включая примеры проектирования сервисов
  • Слои — в котором описаны подходы к архитектуре и проектированию слоев приложений, включая уровень представления, бизнес логики, сервисов и доступа к данным
  • Архетипы — в котором паттерны классифицированны на основе архетипов, таких как RIA, Rich-client приложения, сервисы, мобильные приложения и т д

Авторы ребята из Microsoft, продвигающие инициативу Patterns & Practice
Всего голосов 41: ↑32 и ↓9 +23
Комментарии 14

Используем Python для обработки HTML форм

Время на прочтение 6 мин
Количество просмотров 5.1K
Чулан
Когда я только начинал пользоваться django, самым приятным моментом после ORM, для меня, был пакет django.forms. Теперь django в прошлом — я использую стэк Werkzeug + SqlAlchemy + Jinja2, а иногда даже пытаюсь вместо SqlAlchemy экспериментировать с нереляционными хранилищами данных. Но вот замену django.forms я так и не нашёл. Поэтому решил набросать по-быстренькому что-нибудь своё.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 4

Практикум Silverlight: Начинаем работать с Composite Application Library

Время на прочтение 6 мин
Количество просмотров 1.8K
.NET *

Для кого эта статья



Данный пост будет интересен для вас если:

  1. Вы нацелены на развитие
  2. Вы работаете с RIA средой, такой как Silverlight (так же WPF)
  3. Если вы уже где-то слышали такие слова как Composite Application Guidance, Composite Application Library
  4. Вы заинтересовались статьей Павла ИвченковаСоздание приложения на WPF с использованием принципов TDD 
  5. Вам было интересно прочитать статью AcervUse Case Driven Development и Composite UI Application Block

Читать дальше →
Всего голосов 33: ↑22 и ↓11 +11
Комментарии 13

MVC не существует

Время на прочтение 4 мин
Количество просмотров 1.3K
Чулан
The Phantom of the MVC is dead
inside my mind!..

//вместо эпиграфа

Это компиляция из более ранней статьи, дополнений и лирических отсутплений. Я не ставлю целью очередной холивар, я своё уже отспорил. Так что не обессудьте за возможное отсутствие ответов к вашим гневным ;) комментариям. Да, и я не буду к каждому предложению добавлять imho; вся эта статья является выражением моего собственного скромного мнения.

поинтересоваться мнением
Всего голосов 45: ↑31 и ↓14 +17
Комментарии 51

Компонент Dependency Injection

Время на прочтение 1 мин
Количество просмотров 6.4K
Symfony *
Новый компонент от Symfony касается крайне важного паттерна проектирования — Dependency Injection. Честно говоря, я много про него читал, но на практике не очень видел как применить, и теория была для меня довольно абстрактной. Симфонисты и здесь выдержали фирменный стиль. К компоненту приложена книжка, которая начинается с главы «что такое Dependency Injection»? И шаг за шагом некоторый учебный класс рефакторится в элегантное решение. Чтобы показать, что компонент может использоваться не только с Симфони, в качестве примеров используются и классы из Zend-фреймворка. Жалко только, что книжку нельзя скачать.

Вот еще один пример использования этого компонента с Zend-фреймворком.
Всего голосов 5: ↑3 и ↓2 +1
Комментарии 4

Phemto и Паттерн Dependency Injection. Часть 1

Время на прочтение 6 мин
Количество просмотров 24K
PHP *
Перевод
Я не встречал хорошего описания паттерна Dependency Injection применительно к PHP.

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

Я вспомнил еще об одной библиотеке для DI, Phemto. Ее автор, — Маркус Бэйкер, создатель SimpleTest. К сожалению на сайте содержится краткая и невнятная справка. тем не менее, проект развиавется, а внутри дистрибутива лежит статья с крайне хорошим объяснением про DI, ну и руководством конечно. Phemto, — очень миниатюрный проект, состоящий из трех не очень больших файлов.

Мне показалось, полезным перевести статью на русский язык и выложить сюда. Статья не очень большая, но содержательная. Ссылку на оригинал дать не могу, оригинал внутри дистрибутива :)

Читать дальше →
Всего голосов 41: ↑38 и ↓3 +35
Комментарии 31

Dependency injection для Scala: Cake Pattern

Время на прочтение 4 мин
Количество просмотров 14K
Разработка веб-сайтов *
Я совсем недавно начал изучать Scala. Для тех, кто еще не в курсе, что это за язык, небольшая выдержка с официального сайта:

Scala — лаконичный, элегантный и статически типизированный язык программирования, который сочитает в себе возможности обьектно-ориентированного и функционального языка. Scala полностью совместима с Java.

Сегодня я хотел бы показать вам, как, используя богатые выразительные способности этого языка, решить проблему, актуальную для любого более-менее крупного проекта, а именно работу с зависимостями компонентов или dependency injection. Последние несколько лет я использовал spring ioc для решения этой проблемы, однако у этого фрэймворка есть несколько недостатков, самый очевидный из которых это сборка приложения из компонент в runtime и наличие xml-дескрипторов (да, конечно можно использовать и autowiring и аннотации, но и у этих возможностей есть свои серьезные проблемы).
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 2

Memcached. Как найти ключи по паттерну?

Время на прочтение 6 мин
Количество просмотров 9.1K
Разработка веб-сайтов *
Доброе утро|день|вечер|ночь, %username%!

При использовании Memcached, иногда могут возникнуть вопросы: «А как посмотреть все ключи Memcached?» или «Как найти все ключи по маске „*“ или „sql_*“ ?»
Вот тогда открываются мануалы и начинается поиск такой функции, но, к сожалению, такой не оказывается :-(
Потом начинается Гугление… И там особо ничего нет :-(
А потом начинается поиск незадокументированных возможностей :-) и тут «Ура! Нашел!»

Читать дальше →
Всего голосов 61: ↑39 и ↓22 +17
Комментарии 44

Кратко о Patterns & Practices: SharePoint Guidance

Время на прочтение 3 мин
Количество просмотров 1.7K
SharePoint *

Интро


clip_image001

В данной статье я хочу произвести обзор руководства под названием “SharePoint Guidance” от подразделения Microsoft patterns & practices. Данное руководство предназначено разработчикам/архитекторам SharePoint, в нём описаны основные принципы построения систем на данной платформе. Над руководством трудились выдающиеся представители разработки под SharePoint, а так же он упорно держится в списке самых активных проектов на CodePlex. Далее чуть подробнее.
Читать дальше →
Всего голосов 13: ↑9 и ↓4 +5
Комментарии 4

Введение в Rich Domain Model

Время на прочтение 5 мин
Количество просмотров 21K
Разработка веб-сайтов *
В последнее время можно услышать много аббревиатур, которые оканчиваются на DD: TDD, BDD, FDD, etc. Меня заинтересовал один из представителей «DD-семейства» — DDD, Domain Driven Development. Я не стану описывать здесь все тонкости этой методологии, ведь всю необходимую информацию можно легко найти в сети. Моя цель — рассказать о наиболее важной концепции DDD, о Rich Domain Model и на небольшом примере показать основные нюансы реализации.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 12

Использование шаблона Command для организации RPC-вызовов в GWT

Время на прочтение 10 мин
Количество просмотров 7.2K
Google Web Toolkit *
В своем прошлогоднем выступлении в рамках Google I/O Ray Rayan поведал аудитории о том, как правильно стоить архитектуру более-менее крупных GWT-проектов. Одна из его рекомендаций — использование шаблона (паттерна) Command для оргиназации RPC-сервисов. В данной заметке я постараюсь вкратце осветить данный подход на примере простейшего GWT-приложения. Для диспетчеризации RPC-вызовов будет использована библиотека gwt-dispatch GWT-Dispatch. Сразу хочу предупредить, что эта статья является симбиозом, осмыслением и компиляцией нескольких источников (GWT-Dispatch Getting Started, GWT MVP Example). Рассматривайте ее как руководство к быстрому старту на пути правильного построения GWT-приложений. Весь материал разработан с учетом того, что серверная реализация RPC-сервисов также выполняется на языке Java.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 6

«Оживление» пользовательского интерфейса

Время на прочтение 12 мин
Количество просмотров 32K
.NET *
image

Приложение не отвечает?!


Многие из тех, кто программирует WPF-приложения, наверное тысячи раз писали конструкцию вида:
{Binding Items}

Если получение элементов коллекции Items выполняется в основном потоке приложения и занимает некоторое время — мы получаем «мертвый» пользовательский интерфейс. Приложение некоторое время не будет отрисовывать изменения состояния и реагировать на пользовательский ввод.
Читать дальше →
Всего голосов 104: ↑97 и ↓7 +90
Комментарии 10

Празднование дня программиста

Время на прочтение 1 мин
Количество просмотров 420
IT-компании
image

13 сентября состоится собрание Московской User Group, в рамках которой Microsoft будет поздравлять программистов с профессиональным праздником. Также выступят легендарные докладчики из команды Patterns & Practices, которые приехали в Москву на P&P Summit. Команда очень хочет пообщаться с локальным сообществом и готова встретиться с нами и обсудить ключевые вопросы архитектуры приложений.

Читать дальше →
Всего голосов 44: ↑28 и ↓16 +12
Комментарии 14

В Москве прошла конференция Patterns & Practices Summit

Время на прочтение 7 мин
Количество просмотров 390
Я пиарюсь
image

В понедельник 13 сентября, в день программиста, прошла конференция Patterns & Practices Summit. Мероприятие состоялось в центре Москвы в отеле Holiday Inn на Лесной.

Для тех кто не в теме, стоит пояснить, что такое Patterns & Practices. Являясь крупнейшим разработчиком платформ для разработки программного обеспечения, Microsoft всеми средствами помогает разработчикам строить на своей платформе эффективные решения. Для этого в Microsoft создают руководства по разработке ПО для тех или иных платформ, например, SharePoint, Windows Phone 7 или для определенных задач, как например, руководства по созданию параллельных приложений в среде .NET. Кроме руководств, Microsoft выпускает инструменты разработчиков в виде библиотек кода и другой материал: лабораторные работы, реалистичные демонстрационные проекты, видео-курсы.

Большую часть материалов с рекомендациями по построению приложений в Microsoft разрабатывает группа под названием Patterns & Practices. Эта группа исследует лучшие практики по построению архитектуры приложений, написанию кода, создает многочисленные руководства и библиотеки (например, известную многим .net-разработчикам Enterprise Library). Из под пера группы постоянно выходят и публикуются книги.

Таким образом, мероприятие Patterns & Practices Summit – это еще один шаг Microsoft в попытке поделиться своим опытом и лучшими практиками разработки ПО с российскими разработчиками. Доклады на конференции читали и разработчики из группы Patterns & Practices.

Читать дальше →
Всего голосов 23: ↑14 и ↓9 +5
Комментарии 5

Основные UI паттерны разработки Android приложений

Время на прочтение 3 мин
Количество просмотров 25K
Разработка под Android *
Из песочницы
Поскольку разработка приложений под Android набирает популярность, думаю обзор основных UI паттернов для Android-приложений будет кому-то полезен. Основой для статьи является вот этот вот источник. Рассматриваемые паттерны: Dashboard, Action Bar, Quick Actions, Search Bar и Companion Widget.
Читать дальше →
Всего голосов 52: ↑45 и ↓7 +38
Комментарии 15

Книги // Шаблоны управления конфигурацией ПО

Время на прочтение 3 мин
Количество просмотров 2.6K
Управление проектами *
Добрейшего.

В последнее время занялся чтением и рецензированием книг по любимой тематике — SCM, куда в первую очередь входят контроль версий, отслеживание изменений, отстройка и выпуск релизов и несколько других не менее важных тем. На этот раз под раздачу попала ещё одна книжка из числа тех, что выбрал себе для детального ознакомления. Называется Software Configuration Management Patterns: Effective Teamwork, Practical Integration, авторы — Стёпа Берчук (Stephen P. Berczuk) и Брэд Эпплтон (Brad Appleton). На русский можно перевести как «Шаблоны управления конфигурацией ПО: Эффективная работа команды, практическая интеграция.»
Обложка Software Configuration Management Patterns


Как и в любой другой области знаний, в SCM есть свои устоявшиеся практики, методики и просто удачные способы сделать работу эффективной. Соответственно, кто-то должен был уже упорядочить всё это в одном источнике. Авторы же имеют большой опыт не только разработки ПО, но и управления конфигурациями, так что именно они и взялись за задачу.

Тема шаблонов в разработке софта прорабатывается уже достаточно давно. Причем, как выяснилось, начало своё она берет из архитектуры. Сергей Тепляков не так давно рассказал на страницах RSDN Magazine об истоках этого направления, почитайте (после этой заметки, конечно же).

Читать дальше →
Всего голосов 29: ↑24 и ↓5 +19
Комментарии 9

Паттерн Visitor для обработки иерархии исключений

Время на прочтение 4 мин
Количество просмотров 3.5K
C++ *
Исключения в C++ являются одним из самых серьезных механизмов языка. Предоставляя достаточно мощные возможности для анализа и обработки ошибок. Но работа с исключениями не всегда бывает такой уж удобной.

В этой статье я хочу поделиться решением, которое успешно применяется в проекте с которым я сейчас работаю. Думаю самые догадливые уже поняли в чем заключается моя идея. Кому еще интересно предлагаю разобраться подробнее.

Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 44