Pull to refresh
-1
0
Send message

Событийное видеонаблюдение через Интернет для многоквартирных и частных домов. Виртуальный консьерж

Reading time 4 min
Views 32K
Сервис облачного видеонаблюдения, к примеру, iVideon и Московского правительства, стали и по-настоящему удобными для потребителя. С учетом невысокой абонентской платы сервис должен был давно стать массовым и обрести пользователей в каждом подъезде и загородным доме. Что сдерживает его развитие?

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

Примечание: статья снабжена ссылками на соответствующие страницы нашего сайта для тех, кто любит подробности.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Comments 17

Как я уехал работать программистом в Швецию (Часть 1)

Reading time 8 min
Views 32K
На Хабре уже писали про то, как айтишники переезжают в Лондон, Сан-Франциско и некоторые другие зарубежные локации, а также весьма толково про эмиграцию вообще. К своему удивлению, я не нашел аналогичной заметки про Швецию. Поскольку в настоящее время проживаю в славном городе Стокгольме и работаю в шведской компании, решил исправить эту ситуацию.
Читать дальше →
Total votes 53: ↑47 and ↓6 +41
Comments 7

Graphics2D.js — объекты, интерактивность, анимация на canvas… И ничего лишнего

Reading time 4 min
Views 26K

Доброго new Date().getTimeOfDay();




HTML5 Canvas незаменим, когда нужно что-то динамически нарисовать. Но если мы захотим что-то динамически изменять — нам придётся хранить состояние элементов и перерисовывать при необходимости.
Если мы захотим реагировать на события — нам придётся ловить координаты мыши и определять, находятся ли они внутри нужной фигуры.
И т.д.

Частые повторяющиеся задачи. Так и появляются фреймворки и библиотеки.

Впрочем, случай с Graphics2D.js немного другой: мне просто захотелось порисовать. С объектной моделью, анимацией и событиями. И — ничего лишнего.
Но максимально расширяемо: идей много, и всё можно вынести в плагины.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 23

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

Reading time 1 min
Views 228K
Это довольно трогательная история, и мне кажется, ей самое место здесь. Потому что делать игры, это тоже очень важно. Итак, представьте: обычное игровое видео, размещенное на youtube. В комментариях обычное обсуждение и гвалт. Но среди них попадается комментарий от пользователя 00WARTHERAPY00, пишущего о том, что он продолжает играть в автосимулятор с покойным отцом.



Привожу вольный перевод комментария:
Ну, когда мне было 4 года, отец купил настоящий Xbox.
Читать дальше →
Total votes 312: ↑218 and ↓94 +124
Comments 60

Dendy, Пиратство и TAS

Reading time 3 min
Views 70K
Пиратство игр на NES (наша денди) — интересная штука.
Раньше никто не заботился об авторских правах и на этой приставке пиратили всё и у всех.

Например, Donkey Kong Country 4 на NES — это спираченный, сделанный на коленке Donkey Kong. А Jungle Book II — это спираченный Donkey Kong Country 4, своеобразное комбо! Естественно, это делалось для повышения общего количества продаж.

Если кто-нибудь помнит, там в уровнях даже собираешь буквы K O N G.

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

Somari. Соник со знаменитостью-водопроводчиком в главной роли.

Читать дальше →
Total votes 72: ↑62 and ↓10 +52
Comments 33

Жизнь разработчика (в картинках)

Reading time 1 min
Views 65K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184 +516
Comments 132

Объекты в JavaScript и создание JS-компонента. Часть 1

Reading time 8 min
Views 23K
Эта статья — первая часть туториала об ООП в JavaScript и о создании простого JS-компонента.

Об объектах и JavaScript


Думайте об объекте, как о совокупности каких-то вещей. Например, представьте, что у вас есть велосипед. Этот велосипед является объектом, и он имеет совокупность каких-то признаков / частей / etc, называющихся свойствами объекта. Примером такого свойства может служить модель велосипеда, год его производства, его детали. Детали также могут иметь собственный набор свойств.
Читать дальше →
Total votes 15: ↑8 and ↓7 +1
Comments 3

Всё, что вы хотели знать об областях видимости в JavaScript (но боялись спросить)

Reading time 8 min
Views 82K
У JS есть несколько концепций, связанных с областью видимости (scope), которые не всегда ясны начинающим разработчикам (и иногда даже опытным). Эта статья посвящена тем, кто стремится погрузиться в пучину областей видимости JS, услышав такие слова, как область видимости, замыкание, “this”, область имён, область видимости функции, глобальные переменные, лексическая область видимости, приватные и публичные области… Надеюсь, по прочтению материала вы сможете ответить на следующие вопросы:

— что такое область видимости?
— что есть глобальная/локальная ОВ?
— что есть пространство имён и чем оно отличается от ОВ?
— что обозначает ключевое слово this, и как оно относится с ОВ?
— что такое функциональная и лексическая ОВ?
— что такое замыкание?
— как мне всё это понять и сотворить?
Читать дальше →
Total votes 57: ↑47 and ↓10 +37
Comments 38

Лучший подарок – книга. Делаем красивый переплет

Reading time 8 min
Views 258K
Идея создания книги собственными руками поселилась в голове изрядно давно. Изучив практическую сторону вопроса, я лишь укрепился в этом желании, но руки никак не доходили даже до выбора книги. И вот некоторое время назад судьба распорядилась за меня. В силу обстоятельств непреодолимой силы во мне появилось желание подарить уникальную вещь, а, как известно, лучше книги подарка нет. Выбор пал на любимое произведение объекта моего неконтролируемого интереса, невероятно мудрое и емкое, смыслом, а не словами, творение Экзюпери — «Маленький принц». Желание творить подстегивала и моя личная любовь к этой книге. Решение было принято, время неумолимо приближало момент вручения, и я приступил к работе.
Читать дальше →
Total votes 233: ↑219 and ↓14 +205
Comments 61

Подборка полезных CSS рецептов, или чем мы занимаемся на голых пятницах

Reading time 2 min
Views 92K


В нашем отделе веб-разработки есть хорошая традиция. Каждые 2 недели у нас проходят «голые пятницы» — это мини-конференции, на которых мы делимся интересными и полезными знаниями, накопенными в процессе работы. Сегодня таких знаний у нас накопилось довольно много, и мы решили начать постепенно делиться ими с общественностью в лице Хабрасообщества.

Итак, представляем вашему вниманию сборку интересных и (надеемся) малоизвестных HTML и CSS-рецептов. Будем рады, если каждый из вас узнает что-то новое!
Вперед!
Total votes 143: ↑122 and ↓21 +101
Comments 75

Wi-Fi сети: проникновение и защита. 1) Матчасть

Reading time 9 min
Views 621K


Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Как работают WEP, WPA и WPS
Total votes 185: ↑176 and ↓9 +167
Comments 76

Всё, что вы должны знать о прототипах, замыканиях и производительности

Reading time 9 min
Views 50K

Не всё так просто


На первый взгляд, JavaScript может показаться достаточно простым языком. Возможно, это из-за достаточно гибкого синтаксиса. Или из-за схожести с другими известными языками, например, с Java. Ну или из-за достаточно малого количества типов данных, по сравнению с Java, Ruby, или .NET.

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

В JavaScript поиск данных зависит от двух вещей: прототипного наследования и цепочек областей видимости. Для разработчика понимание этих двух механизмов совершенно необходимо, ибо ведет к улучшению структуры, а, зачастую, ещё и производительности кода.
Читать дальше →
Total votes 72: ↑69 and ↓3 +66
Comments 36

Распространённые ошибки веб-дизайнеров или как угодить верстальщику

Reading time 5 min
Views 98K
В этом посте речь пойдет о тех ошибках, которые допускают дизайнеры в макетах, предназначенных для вёрстки. Рассмотрим наиболее часто встречающиеся проблемы, с которыми сталкивается верстальщик при работе с psd-макетами. Если Вы дизайнер, и Вам часто приходится передавать свой дизайн в руки коллег по цеху, то, возможно, этот пост поможет Вам лучше понять, какие неприятности испытывают верстальщики, и избежать некоторых ошибок в будущем, за что коллеги будут Вам очень благодарны.
Читать дальше →
Total votes 74: ↑63 and ↓11 +52
Comments 110

Игра шаблонов. Как примирить Битрикс со сторонним шаблонизатором вывода

Reading time 7 min
Views 14K
PHP-разработкой я занимаюсь уже довольно давно, и за это время научился использовать преимущества этого языка и избегать, по возможности, его недостатков. Но что мне никогда не нравилось в PHP — это встроенный механизм шаблонизации. Обилие символов “<?php … ?>” и многословных языковых конструкций бьет по глазам, возможность использования в шаблоне произвольного PHP-кода не способствует соблюдению принципа разделения логики и представления.

Поэтому я благодарен судьбе (и сообществу разработчиков, конечно) за то, что существуют альтернативные движки шаблонизации, с гораздо более приятным синтаксисом при тех же функциональных возможностях. Ну, а поскольку большая часть PHP-проектов у нас, в Центре Высоких Технологий, разрабатывается на Symfony2 Framework, то нашим любимым шаблонизатором стал Twig. Помимо указанных выше преимуществ, он еще и безгранично расширяемый, что очень часто помогает в работе.

Но жизнь частенько преподносит сюрпризы. Вот и на меня недавно свалился небольшой, но довольно интересный проект, делать который нужно было на… Битриксе! К счастью, работать с Битриксом мне уже приходилось, но было это давно (и неправда), поэтому я воспринял проект как возможность посмотреть на свой прошлый опыт с новой точки зрения, применить накопленные знания и навыки в несколько ином контексте.
И первое, что мне захотелось сделать — “прикрутить” Twig, чтобы не мучиться с нативной шаблонизацией.

Вот что из этого получилось.
Читать дальше →
Total votes 42: ↑25 and ↓17 +8
Comments 3

Элементарные социальные share-кнопки

Reading time 3 min
Views 194K
В ответ на посты о кнопках для шаринга в социальных сетях с громоздким исходным кодом, и сложной детальной кастомизацией, хочу показать хабрасообществу решение которое однажды написал неизвестный, но однозначно добрый программист. Автор сего чуда не я, но использую это решение уже больше года в проектах с которыми работаю.
Читать дальше →
Total votes 78: ↑68 and ↓10 +58
Comments 58

Google Chrome — убираем рутину с помощью кастомного поиска

Reading time 1 min
Views 61K
Disclaimer: речь — о давно существующей функции, но, судя по комментам на Хабре, недооцененной, поэтому решил все-таки написать.

Google Chrome позволяет очень сильно ускорить рутинные задачи, связанные с различным поиском. используя адресную строку.

Например:


Как настроить?
Total votes 120: ↑108 and ↓12 +96
Comments 73

Как распознать кракозябры?

Reading time 1 min
Views 424K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Total votes 429: ↑418 and ↓11 +407
Comments 64

JavaScript обёртка скроллбара в виде jQuery плагина

Reading time 6 min
Views 68K
Проблема стилизации скроллбара браузера до сих пор актуальна, несмотря на огромное количество скриптов, предназначенных для решения данной задачи. Рассмотрим реализацию стилизуемого скроллбара, максимально приближенного к родному поведению браузера.

Существует два основных подхода для стилизации скроллбара средствами HTML/CSS, каждый из которых имеет свои плюсы и минусы:

  • Эмуляция скролла средствами JavaScript
  • JavaScript обёртка над родным скроллом

Читать дальше →
Total votes 45: ↑38 and ↓7 +31
Comments 62

Подробно о свойстве float

Reading time 4 min
Views 212K
Правильное использование CSS свойства float может стать непростой задачей даже для опытного верстальщика. В этой статье собраны варианты применения float, а также некоторые ошибки, с наглядными примерами.

Читать дальше →
Total votes 153: ↑140 and ↓13 +127
Comments 89

Touch-web: Swipe

Reading time 7 min
Views 63K
Этим постом мы продолжаем серию статей на тему разработки веб-интерфейсов для touch-устройств.

Смартфоны с сенсорными экранами достаточно сильно распространены и стали незаменимыми помощниками многим из нас. Потому нельзя не учитывать их особенности при разработке мобильных веб-интерфейсов.
Сенсорное управление существенно отличается от привычного управления мышкой.
Пользователь взаимодействует пальцами с самим экраном. И в зависимости от того, какие движения и сколькими пальцами производит пользователь, интерфейс реагирует по-разному: если быстро коснулся экрана и отпустил палец, то срабатывает клик; если коснулся и провел пальцем по экрану – скролл; если провел двумя пальцами – zoom; и великое множество других вариантов реакции.

Сегодня речь пойдет о swipe, в простонародье – листалке. Swipe позволяет перелистывать «страницы» привычным движением пальца. О том, как грамотно реализовать swipe, я расскажу на примере блока новостей на главной странице портала Mail.Ru.



Много подробностей под катом
Total votes 62: ↑55 and ↓7 +48
Comments 27

Information

Rating
Does not participate
Location
Шарья, Костромская обл., Россия
Works in
Date of birth
Registered
Activity