К основному контенту

Сообщения

Контроль версий базы данных [Version control of database]

Разработка приложения - это постоянное изменение. Изменение кода, реквайрементов, и естественно, изменение базы данных, как структуры так и данных. Проблема Каждый разработчик сталкивается с данной проблемой чуть ли не каждый день. Что бы понять проблему рассмотрим примеры: Работая в команде, иногда нескольким разработчика нужно менять БД одновременно, как изменять базу данных, что бы каждый мог менять БД независимо друг от друга? Какая гарантия, что версия базы данных соответствует коду приложения? Как узнать Ивану Дураку, что Павлик Морозов поменял БД?  Как менять БД, которая уже в продакшине?

Информативный callstack в JavaScript

На днях обнаружил интереснейшую мелочь, которая может упростить нудный процесс отладки JavaScript кода. Проблема Callstack является совершенно не информативным, используя NoPrototype стиль ООП (то есть, для описание классов/методов используются анонимные функции).

Насколько веб готов к HTML5?

Частенько, меня интересует вопрос насколько мы готовы к использованию новых фишек HTML5. И вот совем недавно нарыл пару полезнейших сайтов: http://www.caniuse.com/ http://html5demos.com/ http://mobilehtml5.org/ Используя эти ресурсы можно подобрать те фишки, которые можно начать использовать прямо сейчас.

Контроль правильности дизайна или как выявить говнокод на ранних стадиях разработки

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

Сравнение скорости создания JavaScript объекта NoPrototype vs Prototype

Меня всегда мучил вопрос, какая разница в производительности при использовании JavaScript класса созданного, с и без использования прототипов. Вот интерес победил и я написал небольшой тест. Но для начала посмотрим на соперников.

Объектно-ориентированное программирование в JavaScript, NoPrototype стиль [Object-oriented programming in JavaScript, NoPrototype style]

Большое количество статей присутствует в бескрайнем интернете об объектно-ориентированном программирование на JavaScript. Но мне как C# программисту, привыкшему к его ООП синтаксису и количеству возможностей, которые он дает, не одна из них не подходит. Почему же? Задача Что действительно нужно от ООП в JavaScript: Инкапсуляция Наследование Полиморфизм А теперь, по-порядку. NoPrototype Многие способы реализации объект-ориентированного программирования в JavaScript основаны на использовании прототипа ( например ), но ни один из них не решает поставленную мной задачу. Данный способ не будет основан на прототипах, так что с этого следует и название стиля. Но об это далее. Класс Единственное, что нам нужно, так это выработать единый стиль написания класса в JavaScript. Приведем пример класса на C#: public class Book { // конструктор public Book(string newName) { name = newName; } // приватное поле private ...

Паралельный вызов удаленных методов за один http-запрос используя WCF [Parallel executing remote methods in a one http-request using WCF]

Окружение В данной статья будет рассмотрено клиент-серверное приложение. Клиента - Silverlight приложение, сервер - ASP.NET, коммуникация осуществляется WCF'ом. Но зачем нам все это... Задача Требование привычное, это повседневная форма редактирования полей сущности. Допустим сущность - Книга, с полями: Название, Автор, Категория, Язык. UI должен содержать контролы: Название - текстовое поле; Автор - выпадающий список, с перечнем всех авторов; Категория - выпадающий список, с перечнем доступных категорий; Язык - выпадающий список, с перечнем всех языков Кнопка сохранения  Вроде бы все предельно просто и понятно, какие могут быть проблемы? Проблема Что бы загрузить все данные, необходимые для нашей формы редактирования, требуется вызвать 4 удаленных серверных метода: Загрузить конкретную Книгу по ее идентификатору; Загрузить список всех Авторов, для заполнения ими выпадающего списка; Загрузить список доступных Категорий, для заполнения выпадающего списка; Загрузи...