Pull to refresh

PHP Test

Lumber room
В одно из предыдущих топиков в комментах увидел интересную задачка-тест:

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
Total votes 15: ↑5 and ↓10 -5
Views 236
Comments 14

PHP Patterns: Singleton

PHP *
Translation

Singleton (Одиночка)


Введение


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

Application Architecture Guide 2.0

.NET *
Всего несколько дней назад вышла вторая версия гайдлайна Application Architecture Guide 2.0.

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

Авторы ребята из Microsoft, продвигающие инициативу Patterns & Practice
Total votes 41: ↑32 and ↓9 +23
Views 1.8K
Comments 14

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

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

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

.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

Читать дальше →
Total votes 33: ↑22 and ↓11 +11
Views 1.7K
Comments 13

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

Lumber room
The Phantom of the MVC is dead
inside my mind!..

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

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

поинтересоваться мнением
Total votes 45: ↑31 and ↓14 +17
Views 666
Comments 51

Компонент Dependency Injection

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

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

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

PHP *
Translation
Я не встречал хорошего описания паттерна Dependency Injection применительно к PHP.

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

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

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

Читать дальше →
Total votes 41: ↑38 and ↓3 +35
Views 23K
Comments 31

Dependency injection для Scala: Cake Pattern

Website development *
Я совсем недавно начал изучать Scala. Для тех, кто еще не в курсе, что это за язык, небольшая выдержка с официального сайта:

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

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

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

Website development *
Доброе утро|день|вечер|ночь, %username%!

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

Читать дальше →
Total votes 61: ↑39 and ↓22 +17
Views 8.7K
Comments 44

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

SharePoint

Интро


clip_image001

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

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

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

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

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.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 7.1K
Comments 6

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

.NET *
image

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


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

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

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

IT-companies
image

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

Читать дальше →
Total votes 44: ↑28 and ↓16 +12
Views 205
Comments 14

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

Self Promo
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.

Читать дальше →
Total votes 23: ↑14 and ↓9 +5
Views 365
Comments 5

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

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

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

Project management *
Добрейшего.

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


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

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

Читать дальше →
Total votes 29: ↑24 and ↓5 +19
Views 1.7K
Comments 9

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

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

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

Читать дальше →
Total votes 31: ↑29 and ↓2 +27
Views 3.4K
Comments 44