Как стать автором
Обновить
2
0
Смирнов Сергей @smirnov_sergey

разработчик

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

Восемь принципов программирования, которые могут облегчить вам жизнь

Время на прочтение3 мин
Количество просмотров48K
Одна из главных проблем в разработке программного обеспечения – борьба с возрастающей сложностью системы. Решением этой проблемы занимаются с времен появления первых программ. Результатами являются языки, всё более упрощающие взаимодействие с машиной, парадигмы программирования вроде ООП, паттерны. В этой статье будут рассмотрены принципы программирования, позволяющие уменьшить сложность и облегчить сопровождение системы.
Читать дальше →
Всего голосов 75: ↑47 и ↓28+19
Комментарии39

Коллекция паттернов и антипаттернов JavaScript

Время на прочтение1 мин
Количество просмотров5.5K
Несколько месяцев назад на Гитхабе появилась очень неплохая коллекция паттернов и антипаттернов JavaScript и jQuery на все случаи жизни. Автор проекта Shi Chuan проделал отличную работу, собрав десятки примеров кода из книг и других источников. Репозиторий уже набрал почти полторы тысячи подписчиков и активно пополняется. Всё очень удобно разложено по категориям и откомментировано. Наслаждайтесь!
Всего голосов 68: ↑54 и ↓14+40
Комментарии81

Sync vs Async на примере Firebird

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

В этой публикации я поставил перед собой несколько целей:

  • Сравнить разные стили программирования работы с БД Firebird в NodeJS;
  • Найти наиболее производительный вариант;
  • Получить в результате руководство к действию тем, кто начинает использовать Firebird в NodeJS.


Дальше много кода…
Читать дальше →
Всего голосов 7: ↑5 и ↓2+3
Комментарии8

Честная генерация DOCX на PHP. Часть 1

Время на прочтение4 мин
Количество просмотров71K
image Здравствуйте, уважаемое хабрасообщество! Как-то раз был на хабре интересный материал про генерацию doc-файлов средствами PHP. К сожалению, больше на хабре ничего на эту тему я не нашел. На тот момент я разработал собственное решение.
Оно состояло в том, чтобы генерировать .docx файлы. Аргументы были следующие:

  • На дворе 2012 год, а этот формат появился аж в 2007-м
  • Генерить .docx несомненно проще, чем .doc, поскольку .docx = .zip, а .doc — бинарный файл
  • Костыль с генерацией HTML и переименованием в doc не подойдет для более-менее уважающих себя проектов
  • С помощью приведенного ниже метода мы с легкостью сгенерируем Excel, и вообще всё что угодно.

Подробности под катом.
Читать дальше →
Всего голосов 73: ↑61 и ↓12+49
Комментарии19

Создание пользовательского фильтра для списка в SharePoint 2010

Время на прочтение6 мин
Количество просмотров8K
В данной статье будут последовательно описаны все шаги, необходимые для написания универсального фильтра, позволяющего производить отбор из стандартных списков SharePoint (наследников от XsltListWebPart или ListWebPart).

Разработка велась на VisualStudio 2010, которая умеет работать только с SharePoint 2010, поэтому всё описанное ниже проверялось на платформе SharePoint Foundation 2010, однако, скорее всего, всё будет справедливо и для SharePoint 2007 (WSS 3.0).
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии6

Как я делал самый популярный сайт о выборах

Время на прочтение10 мин
Количество просмотров15K
Статистика President2012.ru Друзья, я хочу вам рассказать историю развития проекта president2012.ru. Сайт является лидером по тематике выборов президента России, за 3 месяца его посетило около 2 млн. человек, в пике имел до 20 тыс. посетителей онлайн и более 1 млн. хитов в сутки, задействовано было 3 сервера облака.

Интересных моментов в процессе работы над проектом набралось столько, что держать в себе эти знания я не могу, и хочу поделится с вами. Я понимаю, что многое, о чем я сейчас собираюсь рассказать, уже описано качественнее в специализированных разделах, и ничего нового я не открою. Моя задача скорее в том, чтобы через отдельные нюансы передать ту атмосферу, в которой проходила работа над проектом. А так же в миллионный раз с помощью success story показать таким же как я людям, что всё возможно и всё в их руках.

Кому это может быть интересно? Всем, кто так или иначе занимается созданием тематичных веб-сайтов и рассчитывает работать с высоконагруженными проектами.
Читать дальше →
Всего голосов 274: ↑253 и ↓21+232
Комментарии214

Вышел SQL Server 2012 RTM

Время на прочтение1 мин
Количество просмотров8.1K
Каким-то странным образом хабр обошла стороной новость о выходе SQL Server 2012 RTM. Также стали известны сроки выхода общедоступной версии — она выйдет 1 Апреля 2012. Скачать RTM можно, например, вот тут (там же можно найти ссылку для скачивания Feature Pack): www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx

Сссылка на launch event: www.sqlserverlaunch.com/ww/Home

Список нововведений достаточно обширен, но я бы хотел отметить следующие:
1) Изменения в лицензировании (отныне SQL Server будет лицензироваться в зависимости от количества процессорных ядер)
2) AlwaysOn Availability Groups (кластеризация + зеркалирование + репликация)
3) LocalDB — standalone версия SQL Server
Всего голосов 16: ↑11 и ↓5+6
Комментарии8

C# 5 — об async/await с начала

Время на прочтение5 мин
Количество просмотров257K
В недавно вышедшей Visual Studio 11 Beta встроена новая и главная фишка будущего C# 5 — асинхронное программирование с помощью async/await. Про нее уже написано достаточно много статей в том, числе на хабре — например, эта серия статей. Однако, я для себя так и не понял в чем суть нового синтаксиса, пока сам не попробовал его в деле. Данная статья — попытка самому структурировать и до конца разобраться с этим достаточно интересным инструментом и поделиться результатами с сообществом, рассказав про него немного иначе. Итак, поехали…
Читать дальше →
Всего голосов 73: ↑70 и ↓3+67
Комментарии62

Документация jQuery UI на русском

Время на прочтение1 мин
Количество просмотров54K
В справочнике jquery.page2page.ru появилась документация jQuery UI. Помимо подробного описания каждого плагина, она содержит статьи о фабрике виджетов, с помощью которой можно создавать собственные подобные плагины, правилах темизации (оформления) виджетов UI, собственной системе позиционирования UI, а так же о расширенных анимационных эффектах, доступных при подключении jQuery UI к сайту. Ну и конечно же есть вводная статья с которой можно начать изучение jQuery UI.

Кроме этого, обновлена карта функций, в которую были добавлены методы с двух последних обновлений jQuery, а так же все плагины jQuery UI.
Всего голосов 56: ↑51 и ↓5+46
Комментарии18

Что нового в IIS 8?

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


С выходом бета-версии Windows 8, сервер Internet Information Services (IIS) 8 стал доступен для публичного тестирования и тестирования в промышленной среде. Многим системным администратором не терпится узнать, какие изменения были внесены и что нового появилось.

В этой статье приводится поверхностное описание того, что мы увидим в релизе IIS 8. Основное внимание в этой версии сервера было уделено сценариям высокомасштабируемого хостинга. Новая версия содержит значительные улучшения в производительности для того, чтобы иметь возможность (и с легкостью) обслуживать тысячи сайтов на одной единственной серверной ферме. Все о чем написано в этой статье уже сегодня может использоваться и доступно для загрузки.

Полноценное регулирование нагрузки CPU (CPU Throttling)


Предыдущие версии IIS уже содержали в себе функцию регулирования нагрузки CPU, однако они работали не так, как вам бы хотелось. Когда сайт достигает лимита использования CPU, то он выключается на определенный период времени. Такое поведение защищает другие сайты на сервере, но не является предпочтительным, так как вместо того, чтобы сайт просто замедлить он выводится из строя.

Читать дальше →
Всего голосов 58: ↑37 и ↓21+16
Комментарии18

Маленькие чудеса C#/.NET – структура DateTimeOffset

Время на прочтение4 мин
Количество просмотров39K
Рассмотрим некоторые части .Net Framework'a, выглядящие тривиальными, но вполне способными сделать ваш код более простым как в написании, так и в сопровождении.


Пишущие на .NET (а если вы этого не делаете, то зря читаете этот пост) наверняка время от времени используют для своих нужд структуру DateTime. Эта структура удобна для хранения дат, времени или даты/времени, относящихся к локальной временной зоне (или же к UTC).


Однако, бывают случаи, когда вам необходимо сохранить время в виде смещения, а не конвертировать его в локальное время. И вот здесь вам на помощь придёт структура, впервые появившаяся в .NET 3.5 — DateTimeOffset.
Читать дальше →
Всего голосов 65: ↑58 и ↓7+51
Комментарии7

Автомобильная спутниковая сигнализация на STM32F1

Время на прочтение33 мин
Количество просмотров120K
Теория создания самодельной автомобильной спутниковой сигнализации с web-интерфейсом и поддержкой eCall / ЭРА-ГЛОНАСС на базе микроконтроллеров STM32 как основа концепции «Умный автомобиль», и её использование в системах «Умный дом». Реализация аналога технологии Volvo On Call и автомобильной социальной сети Toyota Friends.
Читать дальше →
Всего голосов 115: ↑109 и ↓6+103
Комментарии56

STM32F1хх — продолжаем лечение от ардуинозависимости при помощи LCD

Время на прочтение14 мин
Количество просмотров126K
Добрый день, уважаемые хабровчане. В своей прошлой статье я рассмотрел применение замечательных микроконтроллеров STM32F1xx на примере управления сервоприводами. В этой статье мы обратимся к более интересному вопросу – управлению цветным графическим LCD-дисплеем. Помимо стандартной работы с дисплеем я постараюсь осветить вопросы использования особенностей микроконтроллеров STM32F для эффективного решения данного вопроса. Итак, начнем.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии16

Секундомер на CSS3 без картинок, скриптов и SMS

Время на прочтение5 мин
Количество просмотров17K
CSS3 timer
Привет, Хабраюзер!
Я даже не знаю что хуже, что код для этого секундомера занимает ~ 1100 строк, или то что он работает только в половине браузеров.
Но если же тебе интересно как это работает, прошу под кат.
Читать дальше →
Всего голосов 125: ↑111 и ↓14+97
Комментарии43

Реализация RGB-алгоритма изменения контраста изображения

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


Во время работы над программой, предназначенной для обработки видео-потока, возникла необходимость реализовать алгоритм изменения контраста изображения.

Так как программа была предназначена для обработки видео, то от реализации требовалась высокая производительность, в том числе способность обрабатывать видео разрешения Full HD. Код был написан на С++ с использованием библиотеки OpenMP.

Подробности под катом
Всего голосов 36: ↑26 и ↓10+16
Комментарии27

Insurgent Games делает все игры бесплатными и переводит в Open Source

Время на прочтение2 мин
Количество просмотров3K
Компания Insurgent Games опубликовала исходный код всех игр под Android и iOS на Github, и теперь любой разработчик может использовать этот код в своих собственных проектах. Cами игры в Android Market и iOS App Store стали бесплатными.

Студия Insurgent Games основана в 2009 году двумя разработчиками из Сан-Франциско. Несколько лет они с удовольствием занимались любимым делом и создавали замечательные игры. Но за прошедшее время ребята поняли: чтобы хорошо зарабатывать на продаже мобильных приложений, нужен не только талант, но и большая удача. Им так и не удалось выйти на уровень заработка, достаточный для оплаты съёмной квартиры в Сан-Франциско.

Так что друзья решили заняться другими проектами: один пошёл на работу в EFF, а второй ушёл во фриланс как дизайнер. Чтобы окончательно порвать с прошлым, они отдают двухлетнюю работу в общественное достояние, под лицензией GNU GPL. Наверное, это решение было принято не без влияния того, который ушёл в EFF.
Список игр, описания, скриншоты и ссылки на Github
Всего голосов 65: ↑59 и ↓6+53
Комментарии43

Обзор конференции Going Native'2012

Время на прочтение7 мин
Количество просмотров3.6K
Недавно завершилась конференция GoingNative’2012, организованная компанией Microsoft. Она проходила 2 и 3 февраля в Редмонде, и главной темой был C++11. Мне показалось, что это замечательное событие недостаточно полно освящено, и захотел исправить ситуацию.
«C++11 feels like a new language» Bjarne Stroustrup
«We’re all learning C++11» Herb Sutter
«We broke every single book on the planet, and we broke every single programmer on the planet» Herb Sutter

Герб Саттер во вступительном слове посвятил конференцию Деннису Ритчи, создателю языка C, и ключевому разработчику операционной системы UNIX.

Это очень важное событие для сообщества С++, где выступали и отвечали на вопросы люди, ставшие легендами в мире C++, во многом определяющие его развитие. Доклады очень интересные, и я вынес для себя много нового. Дальше идёт обзор всех докладов и сессий вопросов и ответов.
Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии41

Инструменты прототипирования и создания wireframes

Время на прочтение2 мин
Количество просмотров90K
Навеяно долгими поисками различных систем прототипирования и желанием поделиться этим опытом. В данном посте отсутсвуют сложные системы типа iRise или IBM Rational Rose, ввиду того что они являются не столько и далеко не только системами простого прототипирования, да и стоимость этих решений подходит предприятиям немалого маштаба. Этот пост о чем-то более земном.

Читать дальше →
Всего голосов 55: ↑47 и ↓8+39
Комментарии39

Конфигурация приложения в Android: быстрая разработка

Время на прочтение12 мин
Количество просмотров13K
imageПри разработке мобильных приложений зачастую возникает необходимость хранить настройки приложения (выбранную пользователем цветовую тему, пароль доступа к приложению, параметры синхронизации с сервером и т.д.). Поскольку такие задачи возникают довольно часто, в Google позаботились о разработчиках и создали механизм для быстрой и легкой реализации данного функционала. Этот механизм позволяет легко создавать, сохранять, отображать и производить разные манипуляции с настройками приложения. Мало того он позволяет автоматически создавать пользовательский интерфейс. При описании типа параметра настроек — автоматически генерируется часть пользовательского интерфейса в зависимости от типа параметра (boolean — чекбокс, String — поле ввода, ...) без написания кода. Звучит неплохо для быстрой разработки, не так ли?
Читать дальше →
Всего голосов 30: ↑22 и ↓8+14
Комментарии0

Информация

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