Pull to refresh
112
0

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

Send message

Панацея ли Scrum — 2!

Reading time7 min
Views9.8K
Этот топик, есть продолжение вот этого топика: habrahabr.ru/blogs/pm/39308

Итак. Продолжим повествование на тему Скрама.

Перед тем, как описать саму методологию, чуть коснёмся классификации. Часто приходится слышать: у нас XP методология, а у нас Скрам, а у нас Agile девелопмент. Всё это имеет право на жизнь. Но, на мой взгляд, желательно правильно соотносить эти понятия.

XP — это набор принципов и подходов, меняющих традиционное отношение к разработке современного программного продукта.

Agile – это общее название группы гибких и достаточно успешных методик организации ведения проектов. Методик, которые, как правило, опираются на принципы XP и предполагают быструю итеративную разработку, тесное общение с заказчиком и, за счёт тесного общения членов команды, минимизацию создания дополнительных сущностей (артефактов/документов), которые традиционно создавались в процессе работы над проектом. Минимизацию всего того, что создаётся помимо самого программного кода.

Scrum – это одна из конкретных Agile-методик. То есть чёткий шаблон (каркас) организации управления проектом. Со своими терминами и понятиями. Если вы близко следуете именно этому шаблону, то можно сказать, что вы ведёте разработку по Скрам.

Я часто сталкиваюсь с другой классификацией, когда XP называют Agile методологией. Сложно сказать…
Читать дальше →
Total votes 69: ↑63 and ↓6+57
Comments25

ООП для ООП: GRASP

Reading time4 min
Views63K
GRASP — General Responsibility Assignment Software Patterns (основные шаблоны распределения обязанностей в программном обеспечении)

Когда речь заходит о термине «ООП», все непременно подразумевают Объектно-Ориентированное Программирование, но сегодня речь пойдет не о нем. Почти. Сегодня я бы хотел рассказать о принципах Объектно-Ориентированного Проектирования, а в частности о шаблонах GRAPS и области их применения.
Читать дальше →
Total votes 67: ↑64 and ↓3+61
Comments42

Введение в Zend Framework

Reading time17 min
Views106K
Update (2014): Это статья 2007 года, которая, к моему удивлению, до сих пор пользуется спросом. По этой причине я обновил её в соответствии с новыми правилами оформления постов на Хабре, и добавил подсветку синтаксиса для примеров кода. Если кому-то захочется что-то добавить или исправить, исходник текста с хабра-разметкой выложен в открытый доступ: gist.github.com/dreikanter/2b4ee996d7a775e707d7

Аннотация от переводчика


PHP — один из самых широко распространенных языков разработки веб-приложений и при этом один из самых спорных. Я очень часто видел негативное отношение к этой технологии, да и недостатки, провоцирующие это отношение — не для кого не являются секретом. Тем не менее, PHP активно эволюционирует и во многих отношениях постепенно становитс лучше. Одним из серьезных шагов его развития, на мой взгляд, является появление MVC-фреймворков, призванных систематизировать процесс разработки веб-приложений и приучить к порядку разработчиков, которым зачастую здорово не хватает силы воли, чтобы при всей предоставляемой языком свободе, сохранить грамотную и красивую инфраструктуру разрабатываемого ПО (сразу уточню, что последнее утверждение субъективно и основано исключительно на виденном мной коде различных программных решений).

В последнее время я активно заинтересовался архитектурой MVC и сделал свою собственную реализацию фреймворка на этой концепции для PHP4. Совсем недавно на глаза попался первый официальный релиз Zend Framework, о котором я давно слышал, но все руки не доходили с ним поиграть. Для PHP существуют и другие подобный библиотеки, но в данном случае привлек бренд.
Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments158

Интерфейсы vs. классы

Reading time4 min
Views284K
Обсуждая с различными людьми — в большинстве своём опытными разработчиками — классический труд «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» Гаммы, Хелма и др., я с изумлением встретил полное непонимание одного из базовых подходов ООП — различия классов и интерфейсов.

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments161

IT-фирмы обращаются к экспериментальной экономике

Reading time2 min
Views1K
Когда компании-производителю нужно снижать стоимость новой модели мобильника? Какой оптимальный промежуток времени между выпуском новых моделей HDD? Если раньше менеджеры полагались только на свою интуицию, то теперь им на помощь приходит моделирование экономических процессов.

Вот уже 15 лет экономист Кэй-Ют Чен (Kay-Yut Chen) проводит экономические эксперименты для компании HP. С помощью своих опытов он пытается прогнозировать спрос на технику HP, тестирует маркетинговые программы ещё до их запуска и определяет наиболее выгодную ценовую политику для тех или иных товаров. Хотя опыты д-ра Чена сэкономили работодателю миллионы долларов, но до последнего времени он оставался чуть ли не единственным учёным, который работал в этой уникальной области.

Всё изменилось после 2002 года, когда Нобелевскую премию получил другой специалист по экспериментальной экономике Вернон Смит «за лабораторные эксперименты как средство в эмпирическом экономическом анализе, в особенности в анализе альтернативных рыночных механизмов». Это был настоящий прорыв. После этого события многие крупные компании, в том числе из IT-индустрии, открыли собственные отделы по моделированию экономических процессов. Например, команды экономистов и компьютерщиков в Google и Yahoo оптимизируют аукционы по ключевым словам. В компании eBay экспериментальные экономисты помогли разработать новую систему обратной связи для сервиса аукционов, что позволило на 25% увеличить оборот сайта.

«Когда вещи становятся более сложными, становятся трудно управлять бизнесом только с помощью лозунгов, — говорит стенфордский профессор Озалп Озер (Özalp Özer), который недавно по заказу Hitachi запустил эксперимент по определению оптимального промежутка времени между выпуском новых моделей HDD с точки зрения компромисса между НИОКР, производством и маркетингом.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments19

TextMate средствами gedit

Reading time3 min
Views7.1K


Так вышло, что в офисе я работаю за Маком, а вот ноут — «17 MacBook Pro — не самый лучший, на мой взгляд, вариант в разрезе производительность/цена. Anyway, это тема другого разговора. Ноут под Ubuntu.
А теперь вопрос: если кодить на Ruby/RoR — кто ваш лучший ТекстовыйПриятель? Все верно, Textmate — Великий Фетиш и Идол всех программистов на Ruby под Mac. Итак задача была предельно проста — найти инструмент под Linux, максимально приближенный к Textmate по тому объему функционала который я использую в работе.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments120

Шаблоны Django. Наследование.

Reading time5 min
Views75K
Прочитал статью «Фрагментарное кэширование в MVC веб-фреймворках». Статья описывает проблему кеширования фрагмета отображения, а именно проблему полного разделения контроллера и отображения — контроллер отрабатывает полностью до вызова отображения. Если в отображении мы кешируем фрагмент, это ничего не меняет — контроллер-то уже отработал! В статье описан способ этого избежать: сделать запрос данных «ленивым».

Начав писать, как это должно быть сделано правильно, решил написать, как устроены шаблоны Django, чтобы не-джанговодам тоже было понятно.

Как это сделано в Django?

Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments43

Практический XSLT. Использование в качестве шаблонизатора. Часть 2

Reading time7 min
Views17K
В предыдущей статье мы разобрали основные аспекты построения шаблона с помощью XSLT. Однако, для полноценного шаблона нужно не только выводить меню сайта, но также и текстовый материал документа.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments37

Практический XSLT. Использование в качестве шаблонизатора

Reading time10 min
Views53K
В сети доступно масса документации по языку XSL. Данный раздел не претендует на роль документации по языку, а лишь кратко, по шагам объясняет, как создать свой XSLT-шаблон.

Описанная ниже схема успешно мною используется уже более 3 лет. По началу я к XSLT относился с большой опаской (особенно, когда разбирал чужие исходники), однако однажды поняв, что к чему, уже не представляю, как без него можно работать.
Читать дальше →
Total votes 67: ↑61 and ↓6+55
Comments101

Чёрточки: только ли тире, минус и дефис?

Reading time4 min
Views178K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Total votes 311: ↑288 and ↓23+265
Comments208

Написание приложений, основаных на Qt, на языке Python

Reading time5 min
Views120K
Доброе время суток.
Недавно решил изучить ещё один язык программирования. Выбор пал на python. Написал несколько маленьких скриптов. Но прежде всего я хотел писать приложения с графическим интерфейсом. В интернете наткнулся на этот небольшой туториал, прочтение которого вылилось в предлагаемый Вашему вниманию перевод. Надеюсь, что кому-нибудь он будет полезен.


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments34

Оптимизация работы с MySQL

Reading time3 min
Views78K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments107

Information

Rating
Does not participate
Location
Montreal, Quebec, Канада
Date of birth
Registered
Activity