Search
Write a publication
Pull to refresh
39
0
Денис @DirectX

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

Send message

Оптимизируем производительность JavaScript для V8

Reading time6 min
Views28K

Предисловие


Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
Читать дальше →

Как создается Data Matrix?

Reading time4 min
Views59K
Data Matrix является двумерным матричным штрих кодом, состоящим из светлых и темных участков. С помощью такого штрих кода можно закодировать достаточно большой объем информации (2-3Кб). Часто Data Matrix применяется при маркировке небольших предметов, например микросхем, а также в пищевой, оборонной промышленности, рекламе и других сферах.

Существует множество сайтов для создания таких кодов, но мне всегда было интересно, каким же образом текст превращается в набор черных и белых квадратиков? Должен же быть какой-то алгоритм?

При создании Data Matrix нам понадобится обратиться к арифметике полей Галуа и кодам Рида-Соломона. Рассмотрим этот процесс на простом примере.
Читать дальше →

Лучшие плагины для Sublime Text

Reading time5 min
Views645K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



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

Тонкости nodejs. Часть I: пресловутый app.js

Reading time5 min
Views42K
Я работаю с node.js более трех лет и за это время успел хорошо познакомиться с платформой, ее сильными и слабыми сторонами. За это время платформа сильно изменилась, как, собственно, и сам javascript. Идея использовать одну среду и на сервере и на клиенте пришлась многим по душе. Еще бы! Это удобно и просто! Но, к сожалению, на практике все оказалось не так радужно, вместе с плюсами платформа впитала в себя и минусы используемого языка, а разный подход к реализации практически свел на нет плюсы от использования единой среды. Так все попытки реализовать серверный js до ноды не взлетели, взять тот же Rhino. И, скорее всего, node ждала та же участь, если бы не легендарный V8, неблокирующий код и потрясающая производительность. Именно за это его так любят разработчики. В этой серии статей, я постараюсь рассказать о неочевидных на первый взгляд проблемах и тонкостях работы, с которыми вы столкнетесь в разработке на nodejs.

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

HotSpot в Mikrotik, или как заработать $: Часть 2

Reading time5 min
Views80K

Общие сведения



Это вторая часть статьи, иллюстрирующие возможности использования OS Mikrotik, в качестве HotSpot точки. В первой части я рассказывал как настроить HotSpot, а так же познакомил с возможностью выдачи и покупки карт доступа. Ознакомиться с первой частью вы можете здесь.

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

Кратко о гидродинамике: уравнения движения

Reading time8 min
Views54K
Написав предыдущий пост, исторический и отчасти рекламный (хотя потенциальные абитуриенты такое вряд ли читают), можно перейти и к разговору «по существу». К сожалению, высокой степени популярности описания добиться вряд ли получится, но всё же постараюсь не устраивать курс сухих лекций. Хотя, от сухости избавиться не удалось, да и пост писался в результате ровно месяц.

В нынешней публикации описаны основные уравнения движения идеальной и вязкой жидкости. По возможности кратко рассмотрен их вывод и физический смысл, а также описаны несколько простейших примеров их точных решений. Увы, этими несколькими примерами доступные аналитически решения уравнений Навье-Стокса в значительной мере исчерпываются. Напомню, что Институт Клэя отнёс доказательство существования и гладкости решений к проблемам тысячелетия. Гении уровня Перельмана и выше — задача вас ждёт.

Дебри теории, много формул и немного картинок в конце

Жонглирование. Теория. Практика

Reading time5 min
Views43K
Настороженно отношусь к непрофильным топикам, но решил написать этот по следующим причинам:
  • У жонглирования есть своя теория — стройная и математически привлекательная!
  • Мы живем не только работой. Жонглирование — отличное развлечение и разминка после долгого сидения за компом.
  • В пятницу приятно немного расслабиться и почитать не очень серьезные статьи. К тому же, будет чем заняться на выходные, особенно если у вас не было определенных планов.

Теория


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

Очень быстрый и эффективный способ расслабления глаз

Reading time4 min
Views416K

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →

Ремонт процессора AMD Athlon

Reading time2 min
Views29K
Да, да, вы не ослышались! Именно ремонт! Но обо всем по порядку.

Некоторое время назад у меня начал подвисать и вырубаться комп. Симптомы очень походили на перегрев, за исключением одного — датчик температуры не поднимался выше 72-74 градусов. Это тоже не мало, хоть и явно недостаточно, чтобы все вырубалось. Может, датчик врёт?

Лезу под стол, снимаю крышку с системника. Пыли в кулере почти нет — продуванием не обойдёшься.

Щупаем кулер — холодный, градусов 40 от силы. Может, отклеился? С чего бы?.. Переклеиваем, заменяя термопасту. Эффекта — ноль. Датчик по прежнему показывает за 70, а кулер — холодный как труп! Есть над чем поразмыслить…

Гуглением по форумам выясняем, что проблема может быть в термопасте внутри камня, между кристаллом и корпусом. Ну что ж… Вооружившись острым ножом, термопастой, клеем и «прямыми руками» приступаем к вскрытию.

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

На пороге дополненной реальности: к чему готовиться разработчикам (часть 2 из 3)

Reading time9 min
Views83K

Это продолжение (см. часть 1) стенограммы одноименного доклада с конференции ADD-2010.

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

Как я смотрел Формулу 1 на BBC в прямом эфире через интернет

Reading time3 min
Views2.2K
Эта заметка будет интересна любителям Формулы Один из Украины и Беларуси. К сожалению ни один канал в Украине и Беларуси не закупил права на трансляцию F1, поэтому чтобы смотреть гонки в прямом эфире приходится придумывать разные хитрые способы.

Мне очень нравится смотреть трансляцию BBC. По сравнению с другими каналами они начинают трансляцию гораздо раньше гонки, много собственных интервью, аналитики. Комментаторы: Дэвид Кулхард, Эдди Джордан, Мартин Брандл. На мой взгляд лучше них вряд ли кто-то может комментировать королевские гонки. Кто однажды посмотрел BBC больше ничего смотреть не сможет. Есть конечно недостатки… Требуется хорошее знание английского т.к. никакого перевода, естессно, нет.

Я знал, что у BBC есть замечательный сервис онлайн-вещания iPlayer. Он дает возможность просматривать live трансляции всех ТВ и радо каналов BBC. Плюс к этому еще один-два дня после эфира программы доступны для просмотра и скачивания.

image

как оказалось, все не так просто...

Adobe выпустила конвертер Flash в HTML5

Reading time1 min
Views17K


Adobe выпустила новый экспериментальный инструмент под кодовым названием Wallaby для преобразования Flash в HTML5.

Wallaby — это AIR-приложение с очень простым интерфейсом, позволяющим легко конвертировать fla-файлы в HTML5-код. Преобразованный контент можно просматривать в браузерах на движке WebKit, включая Google Chrome и Safari.

Технология была представлена на конференции Adobe MAX осенью прошлого года. Теперь пользователи могут свободно получить доступ к Wallaby на Adobe Labs.

Cтриминг видео для iPad/iPod/iPhone на Bash-е — дёшево и сердито

Reading time6 min
Views8.2K
Здравствуйте, уважаемые хаброжители!

В этой короткой статье я хочу поделиться опытом создания системы онлайн-вещания для устройств «одной фруктовой компании» :).



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

Сказ о том, как я допиливал Popcorn

Reading time3 min
Views13K
Знаете, большая плазменная панель на стене — отличная штука. Но мы живем там, где живем, и качество телевидения оставляет желать лучшего, поэтому я докупил HD-плеер Popcorn Hour A-110 (Обзоры клона от BBK на хабре: раз, два, три). Как оказалось, у железки есть несколько проблем, о которых на форумах говорили редко, к тому же, некоторые из них я не считал проблемами. Поэтому сейчас я расскажу, с чем я столкнулся и как с этим боролся.

image

Осторожно, траффик и многобукафф
Читать дальше →

20 самых популярных лекций TED Talks всех времён

Reading time2 min
Views224K
Фонд TED с 1984 года проводит конференции, выбирая для них самые интересные темы и самые инновационные идеи. Например, на первой конференции 1984 года были представлены только что выпущенный Macintosh, инновационный компакт-диск от Sony, математик Бенуа Мандельброт продемонстрировал практическое применение своей теории фракталов, а специалист по искусственному интеллекту Марвин Минский разъяснил новую модель разума.

Каждое выступление (лекция) на конференции TED называется TED Talk и публикуется в онлайне, сейчас на сайте скопилось уже более 400 видеозаписей. Поскольку все они посвящены невообразимо интересным темам, даже сложно предположить, какие пользуются наибольшим интересом у зрителей. Официальный блог TED Blog опубликовал список Топ-20 лекций за все времена по количеству просмотров, собрав статистику с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.
Читать дальше →

Android лончеры. Перезагрузка идеи

Reading time5 min
Views41K
В этой публикации я хотел бы рассказать о своем опыте взаимодействия с системой Android, о переходе из рядового юзера гуглфонов в разработчики и о работе над созданием приложения. Сразу уточню, речь пойдет не о утилитах или играх, а разработке Android-лончера.

image

От Symbian к Android


Итак, попробовать «зеленого робота» на вкус мне довелось в 2010 году. Первым моим аппаратом на Андроиде стал легендарный, пусть и не такой популярный в то время (привет Desire), HTC Legend. Металлический красавец радовал меня долгое время не только своим внешним видом, но и свежим опытом взаимодействия со смартфоном. И, поверьте, это было действительно хорошо ощутимо после засилия финских трубок с Симбианом на борту. Отдельно стоит отметить оболочку HTC Sence, которая в то время давала много очков форы решениям от конкурентов. Я не случайно акцентирую внимание на оболочке и позже вы поймете почему.
Читать дальше →

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

Reading time10 min
Views334K

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

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

Делаем универсальный ключ для домофона

Reading time5 min
Views550K
Заголовок получился слишком громким — и ключ не такой и универсальный, и домофон поддастся не любой. Ну да ладно.
Речь пойдет о домофонах, работающих с 1-wire таблетками DS1990, вот такими:



В интернете можно найти множество материалов о том, как читать с них информацию. Но эти таблетки бывают не только read-only. Человеку свойственно терять ключи, и сегодня ларёк с услугами по клонированию DS1990 можно найти в любом подземном переходе. Для записи они используют болванки, совместимые с оригинальными ключами, но имеющие дополнительные команды. Сейчас мы научимся их программировать.

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

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

Пара полезных команд, которые могут пригодиться при 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).
Читать дальше →

Как легко сделать Navigation Drawer и вкладки, используемые в популярных приложениях от Google

Reading time15 min
Views126K
При использовании популярного приложения Play Маркет многие обратили внимание на вкладки для переключения контента. Такое применение вкладок можно найти и в других приложениях от Google, таких как Play Музыка, Play Пресса.



На этой почве возникает интерес, а иногда и необходимость (если заказчик просит) реализовать увиденное. Я не стал исключением и при проектировании нового приложения, дизайн которого был набросан на черновике, присутствовал очень схожий дизайн, хотя и имел всего несколько вкладок. Казалось бы, что сложного? Сейчас откроем официальную документацию, просмотрим необходимые разделы и приступим к делу. Но, изучив документацию, не смог обнаружить соответствующих примеров — и тут же возник новый вопрос. Почему Android разработчики из компании Google по умолчанию не предоставляют примеров с необходимой функциональностью, чтобы сделать это довольно просто, ведь это реализовано в каждом их приложении? Также, погуглив, нашлись аналогичные вопросы на Stack Overflow. Исходя из этого, оказалось, что существует проблема или, по крайней мере, нераскрытый вопрос, в котором следует разобраться.

Ниже хочу рассказать о том, как всё же можно реализовать паттерн Navigation Drawer вместе с вкладками, как в популярных приложениях от Google.
Читать дальше →

Information

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