Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Разделение вида и контроллера

PHP *

Что это?


Думаю многие из программистов понимают необходимость разделять контроллеры (или, как еще говорят, бизнес-логику) от вида (или логики отображения). Это упрощает поддержку, редизайн и реализацию скинов. Реализаций этого безобразия существует огромное количество и я хотел бы и свои пять копеек вставить :)
Вы можете найти огромное количество топиков на эту тему, но в основном они касаются «вида», точнее всяческих шаблонизаторов. Я не буду сейчас об этом, иначе это превратится в очередной холивар. Темя этой статьи — контроллер, а точнее моя его реализация, хотя отображения это тоже касается :).
Если где-то есть нечто похожее буду благодарен за указание источников.
Читать дальше →
Всего голосов 17: ↑6 и ↓11 -5
Просмотры 777
Комментарии 18

Вывод картинок в ASP .NET MVC

Чулан
Технологии: .NET Framework 3.5, ASP .NET MVC
Языки: Visual Basic .NET, C#

Довольно часто при разработке веб-приложений требуется выдать пользователю данные в отличном от html формате. Например, вывести уменьшенную копию изображения (ThumbImage), или же выдать защищенные данные из БД. В ASP .NET WebForms для этих целей можно использовать Handlers (хэндлеры), либо обычные ASPX-страницы. В ASP .NET MVC ситуация немного изменилась. Хотя конечно, по прежнему, ничто не запрещается использовать хэндлеры. Разве что, может потребоваться правило для Routing, типа: routes.IgnoreRoute("{resource}.ashx").
В данном обзоре будет рассмотрен пример вывода изображения средствами ASP .NET MVC, однако описанный подход можно использовать для вывода данных абсолютно любого формата.
Читать дальше →
Всего голосов 17: ↑12 и ↓5 +7
Просмотры 4.7K
Комментарии 4

Избирательное юнит-тестирование или ещё раз о тонких контроллерах

.NET *
Перевод
В дополнение к недавно упомянутой на Хабре статье о том, что полное 100%-е покрытие кода юнит-тестами почти всегда не является экономически выгодным, поскольку просто лень писать всю эту.… это требует неоправданных затрат рабочего времени и увеличивает расходы на поддержку кода, сегодня хотелось бы представить на суд общественности размышления по этому поводу Стива Сандерсона (Steve Sanderson), автора книг Pro ASP.NET MVC и Pro ASP.NET MVC V2.
Читать дальше →
Всего голосов 46: ↑29 и ↓17 +12
Просмотры 2.9K
Комментарии 11

Google AppEngine с самого начала: Контроллер

Google App Engine *
Мы двигаемся вперед со скоростью реактивного паравоза, и пока хабралюди читают и осмысливают первую и вторую части статьи, я со скоростью пулемета пишу продолжение. На этот раз речь пойдет о сердце любого веб-приложения —

Контроллер


Какое-то время назад мы уже определили несколько URL в app.yaml — пора разобраться, как заставить приложение правильно «реагировать» на них. Вот так выглядят наши маппинги:

# $Id: app.yaml 4 2010-01-25 12:14:48Z sigizmund $

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /(stats|login)
  script: main.py
  login: required

- url: .*
  script: main.py


Как мы видим, определены три типа URL — /stats, /login и «всё остальное». Все три, что характерно, будут обработаны одним и тем же скриптом main.py, однако настройки отличаются — /stats и /login требуют наличия активной пользовательской сессии, в то время как для остальных это не обязательно. Давайте рассмотрим содержимое скрипта main.py:
Читать дальше →
Всего голосов 35: ↑27 и ↓8 +19
Просмотры 4K
Комментарии 13

Тестирование контроллера в Symfony2

Symfony *
Перевод
Предлагаю вашему вниманию перевод вчерашнего поста одного из разработчиков Symfony2 о подходе к unit-тестированию контроллеров в Symfony2. Тема очень актуальна для Symfony2 разработчиков. Также стоит отметить, что в посте упоминается результат дискуссии на dev-groups об использовании контроллера в роли сервиса в Symfony2.
Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Просмотры 8.1K
Комментарии 25

Zend Framework 2 — долгожданные усовершенствования в Controller и View

Zend Framework *
image На днях попробовал новый ZF2. Перечитал кучу материала, собрал по их туториалу простенький сайтик. И когда дошел до создания Action'а и View'хи то пределу моей радости не было границ. Передача переменных во view теперь осуществляется через return, и они стали локальными (никакого $this->param). Только ради этого усовершенствования я готов уже сейчас переходить на ZF2, несмотря на то что он в бете.

Под катом вас ожидает: коротенько о новшествах, о производительности и об изменениях касательно контроллера и шаблонов вьюхи.
Читать дальше →
Всего голосов 34: ↑30 и ↓4 +26
Просмотры 13K
Комментарии 59

XenForo: добавляем новую страницу в раздел помощи

CMS *
Недавно мне понадобилось создать отдельную страницу в разделе помощь на форуме, работающем на движке XenForo. Как оказалось, сделать это проще простого. Более того, не пришлось править код самого движка, что естественно, в будущем при обновлении ядра нам облегчит жизнь. Сразу оговорюсь, что статья не из разряда новаторских, а скорее How-To для самого себя.



Итак, нам потребуется создать всего лишь 2 файла Help.php и LoadClassController.php раскидав их соответственно по папкам ControllerPublic и Listener.
Читать дальше →
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 4.5K
Комментарии 1

Связка ExtJS+Django+Apache+SVN deploy (и простой CRUD контроллер на Django)

Django *Библиотека ExtJS/Sencha *
Из песочницы
Tutorial

Предисловие

Сразу хочу попросить прощения за столь перегруженную статью, но для меня сейчас всё это актуально и связано. Думаю что некоторым это может пригодиться для будущей разработки. Хочу обратить внимание, что в этой статье я не стану рассказывать вам как устанавливать те или иные тривиальные вещи, установка которых, к тому же, зависит от той или иной платформы. Также в статье я не описываю телодвижения по настройке прав доступа к файлам сервера, опять же, это зависит от реализации. В статье описан процесс настройки на PDC сервер с именем tci.lan, все имена сохранены, в вашем случае их следует заменить на соответствующие вам. Данная статья содержит код, для улучшения читаемости он спрятан в спойлерах.
Читать дальше →
Всего голосов 13: ↑6 и ↓7 -1
Просмотры 8.5K
Комментарии 10

Использование ViewController в ExtJS 5

Библиотека ExtJS/Sencha *
Перевод
Tutorial
ExtJS 5 приносит несколько восхитительных улучшений архитектуры: мы добавили поддержку ViewModel'ей, MVVM, а также ViewController'ов для усовершенствования MVC-приложений. Что самое приятное — эти функции не взаимоисключающие, так что вы можете вводить их шаг за шагом или использовать одновременно.
Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Просмотры 23K
Комментарии 2

Готовим ASP.NET5, выпуск №2 – повторим азы для самых начинающих

Блог компании Microsoft Разработка веб-сайтов *.NET *ASP *Visual Studio *
Друзья, перед вами второй выпуск колонки про ASP,NET5, в которой мы знакомимся с разными интересными вещами из мира веб-разработки на новой версии открытой платформы ASP.NET5.


В прошлый раз мы говорили про новые подходы в работе со статическим контентом на платформе. В комментариях возникло предложение поговорить в следующих выпусках про азы для веб-разработчиков, которые только начинают пользоваться ASP.NET и погружаться в тему. Мы прислушались к вам и предлагаем в этом выпуске материал от Андрея Веселова ( StealthDogg) – эксперта веб-разработки, автора множества статей по теме ASP.NET и Microsoft MVP.

Встречайте введение в азы ASP.NET5 – контроллеры, представления и модели.
Читать дальше →
Всего голосов 22: ↑17 и ↓5 +12
Просмотры 24K
Комментарии 21

Автопилот на AT91SAM7

Open source *Программирование *C++ *Интерфейсы *Программирование микроконтроллеров *

1. Вступление


Радиоуправляемыми самолетами я увлекся еще в 2002 году, живя в Праге. Первый самолет был с размахом крыла 1.2 м, двигатель 2-х тактный ДВС. Вот фрагмент видеозаписи тех времен. Однажды в 2008 году мне в руки попал акселерометр ADXL202E. Имея опыт разработки устройств на контроллере семейства MCS-51(это был Рубидиевый стандарт частоты и система сбора данных), я решил сделать автопилот для радиоуправляемой модели Mentor. Первым делом я подключил акселерометр к контроллеру. Для простоты я выбрал отладочную плату с контроллером AT91SAM7, за удобство и простоту работы с ней. Надо заметить, что я решил не изучать ничего про автопилоты в интернете, а делать все самостоятельно с "0", чтобы было интересней.



Итак, волей случая в 2008 году мне довелось полетать на самолете и иметь возможность использовать на борту ноутбук и свою платку с акселерометром. Сегодня любой владелец
планшета или смартфона может такой эксперимент провести самостоятельно, поскольку
акселерометры имеются почти во всех устройствах. Вот тут-то я и сделал для себя первое "открытие"

Читать дальше →
Всего голосов 31: ↑24 и ↓7 +17
Просмотры 10K
Комментарии 12

Анбоксинг и первые впечатления от Steam Controller

Гаджеты 3D-принтеры Игры и игровые приставки Киберспорт
Некоторое время назад сидели мы с моим другом у меня дома. Пили кофе, обсуждали насущное. И вот в числе насущного появился такой интересный девайс, как Steam Controller. Тезисы беседы были следующие:

1. Геймпад этот неординарный, но обещающий быть шикарным в пользовании.
2. Есть два человека, которые хотят его заиметь.
3. В России официально они не продаются (на тот момент; хотя, положа руку на сердце, если заказывать больше одного девайса, то и сейчас выйдет дешевле, чем покупать здесь).

Вывод напрашивался очевидный — заказать из-за границы. Под катом — много фото и скриншотов (трафик).
Читать дальше →
Всего голосов 40: ↑30 и ↓10 +20
Просмотры 25K
Комментарии 79

MVC + Scenario против Толстых Контроллеров

Разработка веб-сайтов *PHP *Laravel *
Из песочницы

MVC + Scenario Против Толстых Контроллеров


Современные PHP фреймворки (Symphony, Laravel, далее везде) убедительно показывают, что реализовать паттерн Model-View-Controller не так уж просто. Все реализации почему-то склонны к Толстым Контроллерам (fat controllers), осуждаемыми всеми, и разработчиками, и самими фреймворками.


Почему все так? И можно ли с этим как-то справиться? Давайте разбираться.

Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 6.4K
Комментарии 56

Свобода полетов в ваших руках с DJI Smart Controller

Гаджеты Мультикоптеры Будущее здесь


На прошедшую в Лас-Вегасе международную выставку потребительской электроники CES 2019 компания DJI, помимо популярных дронов и новейшего стабилизатора OSMO Pocket, привезла очень любопытный гаджет.

DJI Smart Controller — пульт дистанционного управления со встроенным ультраярким дисплеем и предустановленной ОС Android. Контроллер превращает последние модели Mavic 2 в достойную альтернативу Phantom 4 Pro+ (PLUS) и Advanced+ (PLUS), у которых в комплекте присутствовал пульт с экраном. Более того, при выборе той или иной модели коптера для профессиональной съемки у DJI Smart Controller есть несколько заметных преимуществ, которые могут стать решающими. О них мы и расскажем сегодня.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 8.3K
Комментарии 16

DOOM Watch на ESP32. Часть 1

Программирование микроконтроллеров *Схемотехника *Производство и разработка электроники *DIY или Сделай сам
Попробовав разработку с готовыми модулями ESP32 захотелось сделать что-то маленькое и нативное. Решил сделать часы. Сначала подумал о ESP32-PICO-D4. Поскольку в ней только 4Mb flash под программу, решил сделать полноценную версию с расширением до 16Mb flash и 8Mb SRAM. Что бы на часах можно запустить первый Doom. В общем чтобы было все на полном фарше!



Что не сделано или требует доработки:

  1. Индикатор батареи
  2. Схема барьера зарядки реализована на Schottky диоде
  3. Антена расположена не совсем удачно и на другом слое от ESP32

Не туториал!


Всего голосов 34: ↑34 и ↓0 +34
Просмотры 18K
Комментарии 22

«Обзор возможностей Kubespray»: Отличие оригинальной версии и нашего форка

Блог компании Southbridge Системное администрирование *Серверное администрирование *DevOps *Kubernetes *

23 сентября 20.00 МСК Сергей Бондарев проведёт бесплатный вебинар «Обзор возможностей Kubespray», где расскажет, как готовят kubespray, чтобы получилось быстро, эффективно и отказоустойчиво.


Сергей Бондарев расскажет отличие оригинальной версии и нашего форка:


Читать дальше →
Всего голосов 19: ↑14 и ↓5 +9
Просмотры 2.6K
Комментарии 4

Maple BUS в ореховой скорлупе или Периферия SEGA Dreamcast, как сделать

C *FPGA *Производство и разработка электроники *DIY или Сделай сам Игры и игровые приставки
Tutorial

Описание протокола MapleBUS или как cделать устройство ввода для DREAMCAST.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2.4K
Комментарии 1

Partial Update library. Частичное обновление сущности в Java Web Services

Java *API *
Из песочницы

В структуре веб-сервисов типичным базовым набором операций над экземплярами сущностей(объектами) является CRUD (Create, Read, Update и Delete). Этим операциям в REST соответствуют HTTP методы POST, GET, PUT и DELETE. Но зачастую у разработчика возникает необходимость частичного изменения объекта, соответствующего HTTP методу PATCH. Смысл его состоит в том, чтобы на стороне сервера изменить только те поля объекта, которые были переданы в запросе. Причины для этого могут быть различные:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.5K
Комментарии 8