Search
Write a publication
Pull to refresh
8
0

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

Send message

Моя реализация «умного дома»

Reading time7 min
Views277K
Полтора года назад я писал статью о разработке своей собственной шины «CLUNET» для соединения устройств в «умном доме». Многие просят рассказать о том, что же у меня получилось в итоге, что я сейчас и попытаюсь сделать.

Попытался начертить схему моей комнаты со всеми устройствами объединёнными в сеть, картинка кликабельна:



Вся идея держится на трёх китах:

  • Децентрализация — вся система функционирует без какого-либо главного модуля;
  • Простота — минимум компонентов и лёгкость подключения;
  • Дешевизна — себестоимость устройства легко уложить в 100 рублей.

Читать дальше →

Образовательные и обучающие ресурсы для веб-разработчиков и веб-дизайнеров

Reading time15 min
Views144K
Данным постом мы открываем рубрику «Переводы» в нашем блоге. Почему мы решили открыть такую рубрику? Дело в том, что сотни специалистов, работающих в Mail.Ru Group, для решения стоящих перед ними задач ежедневно прочитывают множество интересных статей и постов на форумах. Некоторые из них кажутся нам интересными, и мы считаем своим долгом перевести их на русский и поделиться этими ценными знаниями с Хабражителями.

Пользуясь случаем, хотим сообщить новость: сегодня состоялось открытие Технопарка — нашего образовательного проекта, о котором мы уже не раз писали на Хабре (например, тут, тут и тут). Теперь у технопарковцев есть свое собственное помещение. Изначально Технопарк задуман как место, где талантливые студенты МГТУ им. Баумана могут получить дополнительное образование в сфере веб-разработки, дизайна и программирования, а также окунуться в работу над реальными проектами высокой сложности. В общем, у Технопарка сегодня знаменательный день, и поэтому первый выпуск в рубрике «Переводы» мы решили посвятить образовательным ресурсам для веб-разработчиков и веб-дизайнеров. Ведь пока такие Технопарки не распространились по всей стране, разработчикам зачастую приходится заниматься исключительно самообразованием.

Читать дальше →

События .NET в деталях

Reading time9 min
Views153K
Если вы .NET программист, то вы наверняка объявляли и использовали события в своем коде. Несмотря на это, не все знают, как события работают внутри и какие особенности связаны с их применением. В этой статье я попытался описать работу событий как можно более подробно, включая некоторые частные случаи, с которыми редко приходится иметь дело, но про которые важно и\или интересно знать.
Читать дальше →

События C# по-человечески

Reading time6 min
Views500K

Невозможно, просто взять и вникнуть в этот глубокий смысл, изучая События (event) в просторах базового и, на первый взгляд, бесконечного C#.

Когда я изучал События (не в рамках .NET!), потратил много сил, чтобы, наконец-то, разобраться, как они устроены и должны конструироваться. Поэтому, я решил опубликовать свою методику понимания структуры пользовательского события, коим представляется ключевое слово event в С#.
Не буду цитировать и без того замученную MSDN, а постараюсь объяснить понятно и доступно.
Читать дальше →

DevDocs: вся документация разработчика в одном месте, с быстрым и удобным интерфейсом

Reading time1 min
Views56K


Сайт devdocs.io — проект французского программиста Тибо Курубля. Здесь собрана и упорядочена документация по наиболее популярным веб-технологиям, фреймворкам и API, и многим другим средствам разработки. DOM, HTML, JavaScript, jQuery, Node.js, PHP, Ruby, Python, Git, Angular, Backbone, CoffeScript, Less, Sass, Redis и много чего ещё… Всё оформлено в едином стиле, по всей базе документации работает поиск, в том числе нечёткий. Есть возможность выбрать только необходимые технологии, по которым надо искать. Вообще, интерфейс DevDocs радует — ничего лишнего, всё очень понятно и функционально, доступно множество клавиатурных сокращений.
Читать дальше →

14 инструментов для веб-дизайна и веб-разработки на 2014 год

Reading time3 min
Views155K
Вместе с WEB движущимся семимильными шагами (адаптивным дизайном, CSS препроцессорами, постпроцессорами и другими вещами) может оказаться проблемой попытка не отставать от чего-то нового и полезного.
Ниже Вы найдете 14 инструментов, 7 для веб-дизайнеров и 7 для веб-разработчиков, которые помогут веб-сайту перерасти из концепции в действительность.
Читать дальше →

Обзор и классификация CMS по категориям (2013)

Reading time30 min
Views237K
Недавний поиск списка CMS, на примере которых можно было бы объяснить студентам архитектуру и структуру сложного web-сайта, привел меня к любопытной статье с классификацией CMS, которая, однако, на текущий момент немного устарела, да и написана несколько сумбурно. Это подвигло меня составить новый обзор, собрав больше решений и дополнив их по возможности ссылками на официальные сайты, страницы закачки и демо-панели.

Я рассматривала CMS на php, в основном бесплатные, за некоторым исключением. В результате на текущий момент получился такой набор:

CMS общего назначения: Alto CMS, Cogear, Contao, Cotonti, DataLifeEngine, Drupal, ImageCMSCorporate, Joomla, Host CMS, MaxSiteCMS, MODX, MosquitoBloodyMary, ReloadCMS, Wordpress
Галереи: Coppermine, Gallery (Gallery2, обновленная до версии 3), Koken, MG2 = MiniGal 2, Pikateka, SimpleViewer, Zenphoto
Социальные сети: Elgg, Explay CMS, InstantCMS, LiveStreet, BigStreet
Форумы: IPB (Invision Power Board), Phorum, phpBB, phpBBex, PunBB, Simple Machines Forum, Vanilla, vBulletin
Интернет-магазины: ECShop, Magento, OpenCart, Семейство osCommerce, Prestashop
Сайты-визитки без SQL-базы: GetSimple, Monstra, Nanote, Stacey, CMS Чайник
Читать дальше →

Python на Хабре

Reading time7 min
Views454K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

Бесконечная прокрутка в веб-приложениях с примерами на AngularJS

Reading time8 min
Views36K
Мишко Хевери, главный разработчик Ангуляра, как-то упомянул, что приложение гарантированно работает без тормозов, если в нем не более 100 активных областей видимости. Такой подход, в общем, применим к любым приложениям. В играх давно не рендерят то, чего игрок не видит и только в вебе пока еще считается нормой отобразить целиком список из нескольких тысяч элементов. С приходом js-фреймворков ситуация должна измениться и лучшим решением станет удаление из DOM того чего нет на экране, нежели отказ от промежуточных тегов, биндингов и других вещей, облегчающих разработку. Поэтому провел небольшой анализ решений для отображения больших списков. Наткнулся на пару статей:

1. The Infinite Path of Scrolling



В ней парень рассказывает, что проходил стажировку в Гугле в команде Ангуляра и ему поручили исследовать этот вопрос. (Радует, что разработчики заинтересованы этим. Надеюсь, скоро увидим родную поддержку бесконечного скролла).
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика (выпуск 9)

Reading time3 min
Views38K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Docpad



«Нашумевший» проект в Twitter и GitHub. По заявлению разработчиков «Docpad снимает ограничения и убирает разрыв между профессионалами и новичками. Теперь дизайнеры и разработчики могут создавать веб-сайты быстрее, чем когда-либо прежде». Docpad — это статический генератор сайтов написанный на Node.js. Он позволяет с легкостью создавать шаблоны и блоки. Работает c PHP, Ruby, CoffeeScript и др. В нем есть file wathing, live reload и самое главное «amazing plugin system». Большим плюсом является обучающее видео (хоть и на английском).
Видео: Rapid Web Development with DocPad


Читать дальше →

Делегаты и события в .NET

Reading time26 min
Views241K
От переводчика. Судя по своему опыту, а также по опыту знакомых коллег-программистов, могу сказать, что для начинающего разработчика среди всех базовых функций языка C# и платформы .NET делегаты и события являются одними из наиболее сложных. Возможно, это из-за того, что необходимость делегатов и событий на первый взгляд кажется неочевидной, или же из-за некоторой путаницы в терминах. Поэтому я решил перевести статью Джона Скита, рассказывающую о делегатах и событиях на самом базовом уровне, «на пальцах». Она идеальна для тех, кто знаком с C#/.NET, однако испытывает затруднение в понимании делегатов и событий.

Представленный здесь перевод является вольным. Однако если под «вольным», как правило, понимают сокращённый перевод, с упущениями, упрощениями и пересказами, то здесь всё наоборот. Данный перевод является немного расширенной, уточнённой и обновлённой версией оригинала. Я выражаю огромную благодарность Сергею Теплякову aka SergeyT, который внёс неоценимый вклад в перевод и оформление данной статьи.


Люди часто испытывают затруднения в понимании различий между событиями и делегатами. И C# ещё больше запутывает ситуацию, так как позволяет объявлять field-like события, которые автоматически преобразуются в переменную делегата с таким же самым именем. Эта статья призвана прояснить данный вопрос. Ещё одним моментом является путаница с термином «делегат», который имеет несколько значений. Иногда его используют для обозначения типа делегата (delegate type), а иногда — для обозначения экземпляра делегата (delegate instance). Чтобы избежать путаницы, я буду явно использовать эти термины — тип делегата и экземпляр делегата, а когда буду использовать слово «делегат» — значит, я говорю о них в самом широком смысле.
Читать статью

Проблемы использования IEnumerable

Reading time5 min
Views70K
В этой статье я хочу рассказать о проблемах использования интерфейса IEnumerable. Мы рассмотрим, какие проблемы может принести использование этого интерфейса, когда его на самом деле нужно использовать, и чем его заменить.

А начать статью я хотел с пары примеров кода, а точнее с пары багов, встречавшихся мне в реальных проектах.
Читать дальше →

Интересные моменты, которые вы, возможно, не знали о C# (Array)

Reading time1 min
Views54K
В продолжении статьи «8 фактов, которые вы, возможно, не знали о C#» описывающей интересные моменты языка C#, представляю крохотный очерк. Очень жаль, что некоторые воспринимают такие статьи как “капитанство” отбивая всякое желание к написанию, но несмотря на это, в комментариях, порой, всплывает много полезной информации.

Итак, что возвращают функции поиска индекса в массивах, если элемент не найден?
Читать дальше →

JetBrains — разработка под Android для лентяев

Reading time1 min
Views79K
Хотите изучить разработку пoд Android, но лень читать большие книги с кучей теории? JetBrains подготовила курс из 12 уроков для быстрого старта. Темы уроков:

* Getting Started
* UI Designer
* Minimally Interactive
* Lifecycle
* More Activities
* List Views
* HTTP
* Storage
* Menus
* Dialogs
* Preferences
* Publishing
Читать дальше →

Unit тесты на практике

Reading time12 min
Views147K
В последнее время появилось и продолжает появляться достаточно много публикаций на тему разработки через тестирование. Тема достаточно интересная и стоит того, чтобы посвятить её исследованию какую-то часть своего времени. В нашей команде мы используем модульное тестирование уже на протяжении года. В этой статье я хочу рассказать о том, что получилось и какой опыт в итоге мы приобрели.

Сразу оговорюсь, что примеры приводятся применительно к языку C# и платформе .NET. Соответственно, в других языках/платформах подходы и реализации могут отличаться.

Итак…
Читать дальше →

Web-Interface для Motion

Reading time3 min
Views56K
После обновления видеосервера под debian, было принято решение переделать систему видеонаблюдения.
Motion было решено оставить, но возникла необходимость в более человеческом интерфейсе для просмотра архивных записей.
Очередные поиски в Интернет так и не дали никаких приемлемых результатов, в результате чего было принято решение о создании собственного продукта.
После небольших колебаний, выбор пал на Rails. Никакой религии, просто захотелось получше изучить этот фреймворк и замечательный язык программирования. В качестве СУБД используется PostgreSQL.
Результат работы под капотом…
Читать дальше →

Программный синтезатор

Reading time8 min
Views46K
И так господа, решил наконец разобраться с программным синтезом музыки, а именно с практической частью реализации подобной задачи. Давайте посмотрим что из это вышло и как оно реализовано…


Читать дальше →

Захват видео с камеры и передача его по сети

Reading time2 min
Views49K

Предисловие


Не так давно, возникла необходимость захвата видео с web камеры и передавать его по сети используя .Net.
Так как с подобной задачей я столкнулся впервые, то первым делом начал искать информацию по этому вопросу.
Как выяснилось, что в чистом .Net нет поддержки работы с web камерами. Перебрав несколько различных библиотек, свой выбор остановил на Aforge.net.

Aforge.net — это фреймворк для решения целого ряда задач, из которого нам понадобится библиотеки AForge.Video.

Захват изображения


Для захвата видео с устройства видео ввода существует класс AForge.Video.DirectShow.VideoCaptureDevice. Ему необходимо задать моникер устройства с которого будет происходить захват. Так же необходимо задать обработчик события NewFrame. Это событие возникает каждый раз, когда с устройства будет получен новый кадр, который и передается в обработчик в виде объекта Bitmap, где его уже можно обработать:
private void VideoSourceNewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
{
    var img = (Image) eventArgs.Frame;
    using (var ms=new MemoryStream())
    {
        img.Save(ms,ImageFormat.Jpeg);
       //Сохраняем изображение в массив байт, для последующего формирования mjpeg
        _bufImage = ms.ToArray();
    }
}

Читать дальше →

10 девайсов, которые вы можете проапгрейдить, немного поковырявшись с электроникой

Reading time4 min
Views180K

Правило №1 в DIY: никогда не довольствуйтесь тем, что вам дано. Вы можете проапгрейдить или улучшить все что угодно обладая скромными познаниями и приложив немного усилий, особенно если вы немного знакомы с электроникой. Под катом 10 домашних предметов, которые вы можете круто прокачать, используя капельку припоя и ряд DIY ноу-хау.
Читать дальше →

Шпаргалка по языку R

Reading time2 min
Views58K

Многие слышали про R — язык программирования и систему статистических вычислений. Язык весьма популярен за рубежом, а вот в России, к сожалению, на нём пишут относительно мало. Да и ресурсы на русском языке можно по пальцам пересчитать. Я считаю, что ситуацию нужно как-то исправлять.
На официальном сайте есть такая замечательная штука, как R reference card. В базовых пакетах R содержится множество очень полезных функций, которые делают программирование действительно быстрым и лаконичным. Но новички, как правило, большую часть самых прекрасных функций не знают. Да и не откуда узнать — мануалы очень большие, мало кто их полностью читает. А вот R reference card позволяет совершить быстрое путешествие по основной функциональности и вынести для себя много полезного.
Я решил перевести этот замечательный документ на русский язык. Но не просто перевести, а сделать его немного получше. Я чуток поменял структуризацию, для каждой функции поставил ссылку на документацию, убрал избыточные описания.
Предлагаю вам ознакомиться с результатом. Готов к любым замечаниям и предложениям, чтобы сделать этот список ещё лучше. Надеюсь, что данный обзор R окажется полезным для многих людей, которые решили начать писать на этом прекрасном языке.
Читать дальше →

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity