Как стать автором
Обновить
4
0
Деев Андрей @pikeman

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

Отправить сообщение

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение2 мин
Количество просмотров250K
В подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.

Стилизация


BootSwatchr — быстрая стилизация Twitter Bootstrap.

Читать дальше →
Всего голосов 248: ↑243 и ↓5+238
Комментарии58

Twitter.Bootstrap.MVC4 – пакет Twitter Bootstrap для ASP.NET MVC 4

Время на прочтение2 мин
Количество просмотров32K

Я хочу рассказать о NuGet пакете, который пригодится тем, кто решил создать приложение на связке ASP.NET MVC 4 и Twitter Bootstrap. Этот пакет не только добавит ресурсы Twitter Bootstrap в проект, но и предоставит готовые способы решения часто возникающих задач.
Читать дальше →
Всего голосов 48: ↑38 и ↓10+28
Комментарии11

История про хитрожо… индуса, encrypted procedures, DAC и «режим Бога»

Время на прочтение7 мин
Количество просмотров43K
На той неделе пришлось разбираться в логике работы одного бесплатного тула. Почти детективная история вышла с ее автором, который впоследствии оказался индусом канадского происхождения проживающим в Южной Америке.

Конечно же, практическая ценность была не в биографии автора, а в запросах, которые отправлялись приложением на сервер.

Установил. Запустил. Стал в стоечку и начал собирать профайлером все, чем приложение должно было «порадовать» сервер. Смею разочаровать – ничего радостного сервер в ближайшие два часа не увидел. В основном встречались разного рода перлы в запросах, которые явно не претендовали на комплименты:

SELECT
    LogTruncations = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Truncations'
    ),
    LogShrinks = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Shrinks'
    ),
    LogGrowths = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Growths'
    ),
    ...

Поскольку их можно написать на порядок проще и сократить логические чтения из таблицы:

SELECT
    LogTruncations = SUM(CASE WHEN counter_name = 'Log Truncations' THEN cntr_value END),
    LogShrinks = SUM(CASE WHEN counter_name = 'Log Shrinks' THEN cntr_value END),
    LogGrowths = SUM(CASE WHEN counter_name = 'Log Growths' THEN cntr_value END),
    ...
FROM ##tbl_cnt

На этом можно было бы и закончить… Но практически под конец я увидел, что приложение вызывает пользовательские хранимые процедуры из tempdb. Поймал себя на мысли: «Когда приложение успело их создать… и главное зачем?»
Подробнее
Всего голосов 44: ↑32 и ↓12+20
Комментарии16

Ещё раз про семь основных методологий разработки

Время на прочтение8 мин
Количество просмотров1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →
Всего голосов 51: ↑38 и ↓13+25
Комментарии48

Как я написал и издал книгу по мотивам своих постов с Хабра

Время на прочтение8 мин
Количество просмотров49K


Привет!
У меня сегодня небольшой праздник. Моя книга «Бизнес как игра» наконец-то доехала до полок. Ещё тёплая.

Из постов, которые я тут пишу уже лет пять, выросла книга. Упоротая, с такими вещами, которые обычно про бизнес не пишут. Внутри — 140 маленьких глав на страницу-две про разные аспекты бизнеса, по сути — баек. Начиналось всё с хабрапостов — и постепенно стало понятно, что их надо очень сильно менять, плюс писать куда больше про бизнес и управление.

Ниже я расскажу, что узнал, пока издавался. Например, про то, что заработать на книге нельзя, про обычные тиражи, про процесс и вообще.
Читать дальше →
Всего голосов 108: ↑105 и ↓3+102
Комментарии129

Как написать простой блог с помощью Asp .Net MVC, Nhibernate и Ninject.Часть 1

Время на прочтение13 мин
Количество просмотров26K
Перевод
  1. Введение


    Существуют различные способы изучения технологий: чтение книг, участие в конференциях, создание примеров и другие. Я считаю одним из лучших способов — создать что-то полезное для себя с использованием изучаемой технологии. Блог одна из полезных вещей, которую вы можете легко сделать. В серии статей, мы изучим ASP.NET MVC, шаг за шагом, путем создания блога с нуля.
Читать дальше →
Всего голосов 21: ↑11 и ↓10+1
Комментарии10

Создание приложений для СУБД Firebird с использованием различных компонент и драйверов: ADO.NET Entity Framework 6

Время на прочтение29 мин
Количество просмотров54K
В данной статье будет описан процесс создания приложений для СУБД Firebird с использованием компонентов доступа Entity Framework и среды Visual Studio 2015.

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL.

Entity Framework предполагает три возможных способа взаимодействия с базой данных:
  • Database first: Entity Framework создаёт набор классов, которые отражают модель конкретной базы данных.
  • Model first: сначала разработчик создаёт модель базы данных, по которой затем Entity Framework создаёт реальную базу данных на сервере.
  • Code first: разработчик создаёт класс модели данных, которые будут храниться в БД, а затем Entity Framework по этой модели генерирует базу данных и её таблицы


В своём приложении мы будем использовать подход Code First, однако вы без труда сможете использовать и другие подходы.

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



Внимание!

Эта модель является просто примером. Ваша предметная область может быть сложнее, или полностью другой. Модель, используемая в этой статье, максимально упрощена для того, чтобы не загромождать описание работы с компонентами описанием создания и модификации модели данных.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии14

RPG для разработчиков. Два года спустя

Время на прочтение8 мин
Количество просмотров12K
Чуть более двух лет назад я опубликовал статью Другое видение скучных GTD планировщиков через призму RPG игр, в которой описал свою старую идею про совмещение работы над software проектами и элементов RPG игр.

Все вы знаете, что такое GTD. Проекты, таски, майлстоуны и дедлайны. Множество контор и команд разработчиков используют ту или иную систему на базе (или не на базе) GTD для контроля задач в проектах в своей повседневной работе. Я предлагаю заменить основные понятия этой методологии на термины многопользовательских RPG, добавить плюшек, статистику, достижения, красивости и фан. Получим тот же планировщик, но не такой скучный и с дополнительной мотивацией.

Топик тогда собрал 100500 комментов (в основном «супер! хочу!»), а особо заразительные собрались в команды и стали воплощать идею в жизнь. Так что же было сделано за эти два года?


Читать дальше →
Всего голосов 80: ↑74 и ↓6+68
Комментарии46

Основы NHibernate (легкий туториал)

Время на прочтение5 мин
Количество просмотров54K
Перевод статьи «NHibernate Basics» с сайта codeproject.com.

Ведение


Nhibernate это решение для Объектно Реалицонного мапинга для платформы .NET. Этот фреймворк позволяет делать мапинг Объектно ориентированных моделей к традиционным БД. Его основное преимущество маппирование классов .Net к таблицам БД и от типов данных CLR в типы SQL.

Как указано в заголовке нашей статьи, мы посмотрим: Как загружать бизнес объекты из БД и сохранять измененные объекты обратно в БД.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии8

Entity Framework 6 (7) vs NHibernate 4: взгляд со стороны DDD

Время на прочтение9 мин
Количество просмотров41K
В сети уже есть довольно немало сравнений Entity Framework и NHibernate, но все они по большей части фокусируются на технической стороне вопроса. В этой статье я бы хотел сравнить эти две технологии с точки зрения Domain Driven Design (DDD). Мы рассмотрим несколько примеров кода и увидим как эти две ORM позволяют нам справляться со сложностями.

Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии88

Umbraco CMS MVC — собственный контроллер и красивые url

Время на прочтение4 мин
Количество просмотров13K
CMS Umbraco я изучаю несколько месяцев. Так получилось, что основное приложение моих исследовательских усилий направлено на последнюю на сей день 7-ю версию этой системы, причём в контексте её работы на MVC-движке, как альтернативе веб-формам прежних версий.

В какой-то момент, разрабатывая сайт одной компании, мне захотелось вынести репозиторий новостей этой компании в отдельный элемент верхнего уровня в content tree. В примерах и видеоинструкциях, размещённых на сайте Umbraco, предлагается самый простой вариант такой организации – новости хранятся как дочерние элементы какого-нибудь пункта меню (рис.1). В качестве примера в разделе «С какой стороны подойти к Umbraco» такой подход оправдывается, но на живом сайте, где новостей будут десятки и сотни, это выглядит довольно неуклюже. Чтобы работать с новостями, редактору сайта нужно будет опускаться вглубь по дереву контента – Главная-Новости-ОтдельнаяНовость. Да и сама концепция такого подхода меня не очень устраивает — в разделе пунктов многоуровневого меню вдруг появляется список новостей…
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Hello, Umbraco!

Время на прочтение6 мин
Количество просмотров37K

Это вовсе не кастрюлька с двумя ручками на оранжевом фоне – а логотип Umbraco – open-source ASP.NET CMS. Данная статья – краткий вводный курс в Umbraco. Помимо общих вопросов – что это и зачем, я покажу, как можно быстро развернуть ее и сделать первое приложение – буквально за 5 минут.
Читать
Всего голосов 50: ↑32 и ↓18+14
Комментарии38

Подходы к проектированию RESTful API

Время на прочтение17 мин
Количество просмотров144K

Автор: Вячеслав Михайлов, Solutions Architect.

В этой статье я поделюсь опытом проектирования RESTful API — на конкретных примерах покажу, как делать хотя бы простые сервисы красиво. Также мы поговорим, что такое API и зачем он нужен, поговорим об основах REST — обсудим, на чем его можно реализовывать; коснемся основных веб-практик, которые зависят и не зависят от этой технологии. Также узнаем, как составлять хорошую документацию, затрачивая на это минимум усилий, и посмотрим, какие существуют способы нумерации версий для RESTful API.

Часть 1. Теория


Итак, как мы все знаем, API — application programming interface (интерфейс программирования приложений), набор правил и механизмов, с помощью которых одно приложение или компонент взаимодействует с другими

Почему хороший API — это важно?

  • Простота использования и поддержки. Хороший API просто использовать и поддерживать.
  • Хорошая конверсия в среде разработчиков. Если всем нравится ваш API, к вам приходят новые клиенты и пользователи.
  • Выше популярность вашего сервиса. Чем больше пользователей API, тем выше популярность вашего сервиса.
  • Лучше изоляция компонентов. Чем лучше структура API, тем лучше изоляция компонентов.
  • Хорошее впечатление о продукте. API — это как бы UI разработчиков; это то, на что разработчики обращают внимание в первую очередь при встрече с продуктом. Если API кривой, вы как технический эксперт не будете рекомендовать компаниям использовать такой продукт, приобретая что-то стороннее.


Теперь посмотрим, какие бывают виды API.

Виды API по способу реализации:
  • Web service APIs
    • XML-RPC and JSON-RPC
    • SOAP
    • REST

  • WebSockets APIs
  • Library-based APIs
    • Java Script

  • Class-based APIs
    • C# API
    • Java



Виды API по категориям применения:

  • OS function and routines
    • Access to file system
    • Access to user interface

  • Object remoting APIs
    • CORBA
    • .Net remoting

  • Hardware APIs
    • Video acceleration (OpenCL…)
    • Hard disk drives
    • PCI bus



Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии37

Модульное приложение на ASP.NET 5

Время на прочтение6 мин
Количество просмотров15K
Достаточно продолжительное время при разработке веб-сайтов для своих клиентов я использовал собственную несложную CMS (Платформус). Написана она была на ASP.NET+MVC и имела закрытый исходный код. С появлением первой беты новой ASP.NET 5 я решил переписать свою систему на этой технологии, чтобы сделать ее кроссплатформенной и, в конечном итоге, выложить на GitHub. Т. к. технология очень новая, информации по этому вопросу практически не было, поэтому решение некоторых проблем удалось найти либо случайно, либо в процессе изучения исходных кодов самой ASP.NET 5.

Для упрощения я подготовил и также выложил на GitHub специальное тестовое решение – AspNet5ModularApp. В основном, я буду опираться на него в этой статье, но также буду касаться некоторых приемов и идей, которые использовал в Платформусе (отчасти, в надежде получить по ним какие-либо замечания).


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

ASP.NET MVC. Урок 0. Вступление

Время на прочтение2 мин
Количество просмотров783K
Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.

Почему именно asp.net mvc

ASP.NET MVC я люблю потому что:
  • Это .net. Я знаю .net и С#.
  • Это компилируемый код.
  • Это не ASP.NET WebForms, я работаю с html-кодом.
  • Используется MVC-паттерн.
  • Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
  • Отличные инструменты отладки.


Читать дальше →
Всего голосов 290: ↑215 и ↓75+140
Комментарии67

nopCommerce CMS на ASP.NET MVC: обзор функционала новой версии

Время на прочтение3 мин
Количество просмотров15K
nopCommerce – это движок для создания интернет-магазинов с открытым исходным кодом и написанный на ASP.NET MVC. Разрабатывается проект нашими соотечественниками из города Ярославль, и на сегодняйшний день на его основе работает более 20,000 сайтов, включая такие бренды как Volvo, Turkish Airlines, Reebok.


Несколько дней назад вышла новая версия продукта 3.70, в которой разработчики добавли полную поддержку Windows Azure. В предыдущих версий владельцы магазинов могли использовать только один instance в Azure, теперь же была добавлена поддержка нескольких. Следовательно, по сути этот функционал можно использовать на веб фермах. Это открываем нам отличные возможности для масштабирования приложения.

Предположим, что вы уже скачали (http://www.nopcommerce.com/downloads.aspx) и установили (http://docs.nopcommerce.com/display/nc/Installing+nopCommerce) nopCommerce в Azure. Итак, что же было сделано для поддержки Azure, и как все это настроить и включить:
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии5

Мои правила дизайна хорошего интерфейса

Время на прочтение4 мин
Количество просмотров100K
image

В этой статье я привожу примеры основных принципов или концепций, которыми руководствуюсь при проектировании десктопных интерфейсов. Не планирую выступать новатором или поучителем, но с радостью поделюсь набором установок, который помогает мне в работе.
Читать дальше →
Всего голосов 59: ↑55 и ↓4+51
Комментарии27

Путь JavaScript модуля

Время на прочтение28 мин
Количество просмотров121K


На момент написания этой статьи в JavaScript еще не существовало официальной модульной системы и все эмулировали модули как могли.

Модули или подобные структуры это неотъемлемая часть любого взрослого языка программирования. Просто иначе никак. Модули позволяют ограничить область видимости, позволяют реиспользовать части приложения, делают приложение более структурированным, отделяют ресурсы от шума и вообще делают код нагляднее.

Вот в JavaScript своя атмосфера — в языке нет официальных модулей, более того все файлы лежат удаленно, один поток приложения. Приходится постоянно решать какие-то странные проблемы с загрузкой, хитро паковать модули в один файлы, чтобы ускорить время загрузки. Бывает, что нужно воевать с двойными стандартами, адаптировать модули другого формата.

Дело в том, что раньше не думали, что на JavaScript можно делать огромные проекты, а не просто «пропатчить DOM», поэтому о модулях не думали. Да и вообще не думали о будущем. И тут Внезапно будущее нагрянуло! Все вроде-бы уже есть, а модули в JavaScript, мягко говоря, запаздывают. Поэтому разработчикам приходится крутиться и выдумывать какие-то эмуляторы модульности.

Думаю многие из вас читали прекрасную статью Addy Osmani Writing Modular JavaScript With AMD, CommonJS & ES Harmony, которая стала одной из глав его книги Learning JavaScript Design Patterns в этой статье рассказывается про «современные» JavaScript модули или же читали достаточно старую статью JavaScript Module Pattern: In-Depth 2010 года про «старые» модули.

Я не буду переводить эти статьи и не буду делать из них солянку. В своей статья я хочу рассказать о моем модульном пути. О том как я проделал путь от «старых» модулей к «новым» и что использую сейчас и почему.
Читать дальше →
Всего голосов 188: ↑185 и ↓3+182
Комментарии71

Начало работы с ASP.NET Identity

Время на прочтение4 мин
Количество просмотров98K
Многие из вас должны знать, что выход ASP.NET MVC 5 ознаменовался переходом на новую систему авторизации под названием ASP.NET Identity. Разработчики фреймворка настоятельно рекомендуют переходить на новую систему, называя основными ее преимуществами возможность внедрения в абсолютно любой проект (ASP.NET MVC, Web Forms, Web Pages, Web API и SignalR), простую социальную интеграцию, работу на OWIN, установку и обновление посредством NuGet и другие. Присмотревшись внимательнее к ASP.NET Identity, можно без зазрения совести сказать, что это — следующий этап в развитии веб-программирования на ASP.NET. В данном посте я размещу простой туториал для начала работы с ASP.NET Identity.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии18

Фотосайт на MVC 4 для начинающих

Время на прочтение9 мин
Количество просмотров23K
Bongiozzo Photosite

Если у кого-то есть желание сделать свой фотосайт или познакомиться с ASP.NET MVC на примере, возможно, пригодится мой опыт создания такого сайта и исходники лягут в основу собственного проекта.

Чтобы было понятно о чем пойдет речь, ссылка на сайт — www.bongiozzo.ru.

А теперь, собственно, как это было сделано.

Что хотелось?
  • Сделать портфолио в виде нескольких фотоальбомов и добавить контекст из соц сетей;
  • Хотелось сделать что-то свое — я изначально не смотрел на готовые решения;
  • В качестве хранилища фотографий сразу планировал использовать существующие сервисы фотохостинга с активным сообществом фотографов — у сервисов есть API, кроме того, фотографии публикуются для обратной связи, а получить ее можно, прежде всего, там;
  • По той же причине, прикрутить к фотографиям кнопки Facebook и Twitter;
  • Для просмотра фотографий планировалось обзавестись стильной галереей, которая будет хорошо выглядеть на планшетах;
  • Ну и в завершении, хотелось все это выложить на оптимальный, с точки зрения соотношения стоимость/сервис, хостинг.

Задача поставлена, поехали…

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

Информация

В рейтинге
Не участвует
Откуда
Артем, Приморский край, Россия
Дата рождения
Зарегистрирован
Активность