Search
Write a publication
Pull to refresh
84
0
Брюхов Дмитрий @globik

User

Send message

Обновление космоснимков

Reading time1 min
Views596
Последнее обновление космоснимков было в июле (не считая небольшое обновление в Пекине, в честь Олимпийских игр). Сентябрьское обновление пока доступно только для Google Earth. Большинство снимков большого разрешения.

Итак, список обновленных местностей, которые пока успели заметить пользователи:
Читать дальше →

Невозможное возможно

Reading time1 min
Views1.1K
Читая хабратопик «Работа и успех (?)», вспомнил одну поучительную то ли байку, то ли притчу, называйте как хотите, рассказанную мне руководителем накануне защиты диплома в институте.
Читать дальше →

Windows 7 Sensor and Location platform

Reading time10 min
Views4.3K
Одна из составных частей Windows 7 — Sensor and Location platform. Sensor and Location — это часть Windows 7, которая позволяет организовать работу с различными датчиками и дополнительными устройствами для измерения чего-либо.

Зачем это нужно? Датчики нужны для того, чтобы упросить некоторые тривиальные действия и избавить нас от лишних забот в работе. Особенно актуально это для владельцев ноутбуков, чья жизнь является очень динамичной. Представьте себе, что в компьютер встроен датчик освещения, который доступен для всех приложений и дает возможность этим приложениям корректировать свою картинку в зависимости от освещения. Другим примером может являться датчик GPS-координат. В этом случае приложения могут подстраиваться под ту местность, где вы в данный момент находитесь. Например, приложения могут отображать информацию о погоде именно для того города, где вы находитесь. На самом деле примеров можно привести большое количество, все зависит от фантазии и конкретных случаев. Приложения, которые изменяют свое поведение в зависимости от внешних условий выделяются в отдельный класс приложений и называются контекстно-зависимыми приложениями.
Читать дальше →

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

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

— что такое область видимости?
— что есть глобальная/локальная ОВ?
— что есть пространство имён и чем оно отличается от ОВ?
— что обозначает ключевое слово this, и как оно относится с ОВ?
— что такое функциональная и лексическая ОВ?
— что такое замыкание?
— как мне всё это понять и сотворить?
Читать дальше →

Как IT-фрилансеру стать предпринимателем. Часть 1

Reading time3 min
Views93K
Всем привет! Это наш первый пост на Хабре, и мы расскажем, как IT-фрилансеру стать предпринимателем.

Вы узнаете, зачем фрилансеру ИП. Почему ИП лучше, чем ООО. Как зарегистрировать ИП самостоятельно. Что делать потом. Надеемся, опыт, который мы накопили за два года нашего проекта «Я люблю ИП», вам пригодится.



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

Сверхбыстрое распознавание речи без серверов на реальном примере

Reading time10 min
Views334K

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду

Статические сайты: настройка и оптимизация

Reading time10 min
Views32K
статические сайты

Продолжаем цикл публикаций о статических сайтах на базе нашего облачного хранилища (см. предыдущие публикации здесь и здесь). Сегодня мы подробно обсудим вопросы их тонкой настройки и оптимизации.

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

Ниже мы дадим ряд рекомендаций, с помощью которых можно увеличить скорость работы статического сайта, размещенного в нашем хранилище.
Читать дальше →

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views82K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →

Как я создавал плагин постраничной прокрутки One Page Scroll с открытым исходным кодом

Reading time12 min
Views59K
Эффекты прокрутки используются в вебе уже давно, и хотя есть уже много плагинов, из которых можно выбрать, лишь малая их часть обладает таким малым весом и простотой, какие требуются для многих дизайнеров и разработчиков. Большинство виденных мною плагинов пытаются сделать слишком много, в результате чего их трудно включать в свои проекты.

Не так давно Apple представила iPhone 5S, и сайт с презентацией, где страница была поделена на секции, и каждая секция описывала одну из особенностей продукта. Я подумал, что это – замечательный способ представления продукта, исключающий возможность пропустить ключевую информацию.

Я отправился на поиски подходящего плагина, и к удивлению, не обнаружил такового. Так и родился плагин постраничной прокрутки.
Читать дальше →

30 полезных сервисов для веб-разработчиков и дизайнеров v2

Reading time3 min
Views86K
Предыстория: я веду свой паблик ВК о веб-разработке, в связи с чем я каждый день имею дело с большим количеством материалов о веб-разработке. Однажды (3 месяца назад) мне пришла в голову идея опубликовать на хабре подборку «30 полезных сервисов для веб-разработчика». Тот пост набрал почти 100 000 просмотров, и мне приятно, что он оказался полезен сообществу. С тех пор у меня поднакопилось больше 30 новых сервисов, которые будут полезны как разработчикам, так и дизайнерам. Лучшие из них я собрал в этом посте. Осторожно, под катом много картинок!
Читать дальше →

Почему настало время настоящих браузерных 3D-игр!

Reading time11 min
Views37K
Сегодня перед нами открывается масса возможностей по созданию невероятных проектов, которые игроки смогут видеть, не закрывая своего браузера. Речь не просто о красивой “ферме” (их делают давно и успешно, откровений в этой области я не расскажу). Речь о проектах совсем иного рода.

Полноценный шутер в полном 3D? Легко.
MMORPG в соседней от «хабра» вкладке? Тоже не проблема.


Возникает вопрос — почему уже не созданы тысячи таких проектов? Ответа два и оба они банальны: технология и готовность аудитории. Технологическая база, способная предоставить все нужные условия, появилась не так давно, года полтора, может два назад. Аудитория же в свою очередь за аналогичный промежуток времени повзрослела и стала намного более требовательной к тем развлечениям, что им предлагает, скажем, социальная сеть. Совмещаем два этих фактора и получаем практически новый тренд, где есть деньги, аудитория, виральный рост и размах для творчества.

Это утверждение привлекло ваше внимание? Тогда давайте попробуем разобраться во всем поэтапно, начиная с общей ситуации на рынке браузерных игр.

Примечание: материал подготовлен на основе доклада на прошедшей конференции DevGAMM 2014. Под катом немного картинок, но много текста, некоторые расчетные числа по разработке и ряд полезных метрик.

image

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

PHP: Правильный путь

Reading time1 min
Views176K

На днях я наткнулся на замечательную карманную книгу для PHP разработчиков «PHP: The Right Way». Скорее, она будет более полезна новичкам. Чем именно? По интернету разбросано огромное количество материла по PHP, но многое уже устарело или не приводит к написанию качественного кода. В этой книге присутствуют основные актуальные сведения с ссылками на проверенные ресурсы. На самом деле, сначала я хотел перевести ее, форкнуть репозиторий, благо лицензия это позволяет. Но оказалось, что перевод уже есть. Нет только русской книги в форматах для электронных книг, но так как используется Markdown в русском форке, то это не составит труда.
Читать дальше →

oDesk (Upwork). Мой опыт за полтора года

Reading time12 min
Views445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →

К вопросу о легальности параллельного импорта в России

Reading time8 min
Views22K
Опубликованный на прошлой неделе пост о внесении изменений в Законодательство о юрлицах наглядно продемонстрировал востребованность юридической информации для представителей малого бизнеса и основателей стартапов. Наши партнеры, юридическая фирма «Ветров и партнеры», готовы и впредь на регулярной основе заниматься освещением актуальных тем, связанных с юридической стороной iT-предпринимательства и оформления прав на интеллектуальную собственность.



Новый пост посвящен тому, с чего начинают многие стартапы, с целью заработать на запуск проекта – торгово-закупочной деятельности. Например, поставок новых моделей популярного iPhone в Россию, которая всегда была одной из последних в «очереди за айфонами».
Читать дальше →

Конструктор для «Умного Дома» — от идеи до воплощения

Reading time16 min
Views162K


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

Проект, начавшийся в формате «для души», удивительным образом вышел за рамки хобби, и вырос серьезную разработку. В основе лежало желание создать систему, интересную как в плане технического творчества и программирования, так и удобную для повседневного использования. Хотя работа еще в разгаре, уже отчетливо видны контуры задуманного: распределенная система, высокотехнологичный «конструктор» для реализации всевозможных идей умного дома, с хорошей масштабируемостью.
Читать дальше →

Увидеть незримое

Reading time8 min
Views92K
Пару лет назад на Хабре проскакивало две статьи, в которых упоминался интересный алгоритм. Статьи, правда, были написаны нечитабильно. В стилистике «новости»(1, 2), но ссылка на сайт присутствовала, подробно можно было разобраться на месте (алгоритм за авторством MIT). А там была магия. Абсолютно волшебный алгоритм, позволяющий увидеть незримое. Оба автора на Хабре этого не заметили и сфокусировались на том, что алгоритм позволял увидеть пульс. Пропустив самое главное.



Алгоритм позволял усиливать движения, невидные глазу, показать вещи, которые никто никогда не видел живьём. Видео чуть выше – презентация c сайта MIT второй части алгоритма. Микросаккады, которые приведены начиная с 29ой секунды, раньше наблюдались только как отражения установленных на зрачках зеркалах. А тут они видны глазами.
Пару недель назад я опять натолкнулся на те статьи. Мне сразу стало любопытно: а что народ сделал за эти два года готового? Но… Пустота. Это определило развлечение на следующие полторы недели. Хочу сделать такой же алгоритм и разобраться, что с ним можно сделать и почему его до сих пор нет в каждом смартфоне, как минимум для измерения пульса.

В статье будет много матана, видео, картинок, немного кода и ответы на поставленные вопросы.
Читать дальше →

Badoo PHP Code Formatter. Теперь в open source!

Reading time13 min
Views28K
Несколько лет назад компания Badoo начала значительно расти по числу сотрудников, с 20 до 100 и более. Это потребовало серьезной перестройки многих процессов, касающихся разработки. Одна из проблем, с которой мы столкнулись, — как заставить всех разработчиков следовать единому стандарту кодирования, чтобы весь наш код выглядел единообразно и был легко поддерживаемым?

Для решения этой задачи мы решили внедрить инструмент для форматирования кода, который умел бы следующее:

  1. выводить сообщения о несоответствии стандарту форматирования в виде списка, не трогая сам файл;
  2. автоматически исправлять все найденные проблемы с форматированием;
  3. уметь форматировать только часть файла (нам не нужно переформатировать репозиторий сразу целиком, чтобы не потерять историю).

Мы рассматривали два проекта, которые можно было бы взять за основу для написания такого инструмента — PHP Beautifier и PHP Code Sniffer. Первый умел форматировать код, но не умел печатать диагностику, а второй — наоборот, умел печатать диагностику, но не умел форматировать файлы. К сожалению, оба этих проекта, по нашей оценке, были не слишком пригодны для того, чтобы добавить в них недостающую нам функциональность, поэтому была написана новая утилита — phpcf (PHP Code Formatter). Уже в течение двух лет она работает как git pre-receive hook, настроенный на отклонение (!) изменений, которые не оформлены по нашему стандарту кодирования.

Наконец настало время открыть исходные тексты нашей утилиты для широкой публики: github.com/badoo/phpcf
Читать дальше →

Разделяй и властвуй: как мы реализовывали разделение сессий на портале Mail.Ru

Reading time7 min
Views42K


Mail.Ru — огромный портал, существующий более 15-ти лет. За это время мы прошли путь от небольшого веб-проекта до самого посещаемого сайта рунета. В состав портала входит огромное количество сервисов, у каждого из которых своя судьба, и над каждым из которых работает отдельная команда. Разработчикам пришлось как следует потрудиться, чтобы на всех проектах — и новых, и старых, и тех, которые присоединились к порталу по мере его развития, — использовалась единая система авторизации. А через много лет перед нами встала фактически обратная задача: разделить пользовательские сессии. О том, зачем мы это делали, какие трудности нас ожидали и как мы их обошли, я расскажу в этом посте.
Читать дальше →

Принтер для футболок: от домашней поделки до серийной модели текстильного принтера

Reading time6 min
Views261K
Летом 2011 года я опубликовал на хабре пару статей (вот и вот) о том, как из подручных материалов практически «на коленке» собрать текстильный принтер. Как оказалось — тема эта весьма интересная многим людям, и с момента публикации этих статей любителями поиздеваться над принтерами было собрано много самодельных аппаратов, которые успешно печатают и даже приносят прибыль.

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

Так что если вам все это интересно, то добро пожаловать под кат.

image

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

6 мифов, мешающих разработчикам использовать Git

Reading time6 min
Views81K


Сейчас вы с трудом найдете профессионального разработчика, который не пользуется системой контроля версий (VCS) такой, как Git.
Но есть и не мало тех среди нас, кто не использует VCS по причине предвзятого мнения о системах контроля версий.
Ниже несколько мифов и отговорок, которые препятствуют внедрению в рабочий процесс разработчика Git (или любой другой VCS).
Читать дальше →

Information

Rating
Does not participate
Location
Свердловская обл., Россия
Date of birth
Registered
Activity