Как стать автором
Обновить
4
0
Michael @danzalux

Development Consultant (SAP, Web, Mobile)

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

Пишем прошивку для Arduino на С++ с REST управлением через последовательный порт и экранчиком

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

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

То есть, например, отправив в последовательный порт что-то типа
/battery?act=status
получим в ответ что-то типа
{ "status": "OK", "minValue": 600, "maxValue": 900, "value":750, "percent": 50 }

Для тех, кому лень читать статью, сразу ссылка на github и Яндекс-диск, у кого гитхаб залочен (спасибо MaximChistov).

Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии13

Еще один способ перехвата трафика через ARP Spoofing

Время на прочтение6 мин
Количество просмотров86K
На Хабре было уже много статей на тему классического ARP спуфинга, однако все они были похожи тем, что для полноценного перехвата трафика надо было подменять ARP записи у двух машин. Как правило, это жертва и ее шлюз по умолчанию. Однако, идея спуфить шлюз не всегда хороша. Он вполне может иметь на борту детектор атак, который в два счета доложит админу что сеть ломают и халява кончится, не начавшись. В данной статье будет рассмотрен метод перехвата трафика, при котором атака производится только на хост-жертву. Как обычно в таких случаях, статья чисто для ознакомления, использование во вред карается по закону и т.д.
Под катом много букв.

Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии30

Espruino Pico: миниатюрная плата разработчика с JavaScript поможет быстро освоиться в мире электроники

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


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

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

Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии38

Охотимся за утечками памяти в Node.js (1-я из 12 статей о Node.js от команды Mozilla Identity)

Время на прочтение7 мин
Количество просмотров26K
От переводчика: Это первая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Как клиентская, так и серверная часть Persona написаны на JavaScript. В ходе работы команда проекта создала несколько инструментов на все случаи жизни — от локализации до отладки, управления зависимостями и многого другого. В этой серии статей разработчики Mozilla делятся с сообществом своим опытом и этими инструментами, которые пригодятся любому, кто пишет высоконагруженный сервис на Node.js.

Первая статья цикла посвящена распространённой проблеме Node.js — утечкам памяти, особенностям утечек в высоконагруженных проектах и библиотеке node-memwatch, которая помогает найти и устранить такие утечки в Node.




Зачем заморачиваться?


Вы можете спросить, зачем вообще отслеживать утечки памяти? Неужели нет более важных дел? Почему бы просто не перезапускать процесс время от времени, или просто добавить памяти на сервер? Есть три причины, по которым устранять утечки всё-таки важно:

  1. Возможно, вы не сильно переживаете об утечках памяти, но этого нельзя сказать о V8 (движок JavaScript на котором работает Node). Чем больше памяти занято, тем активнее работает сборщик мусора, замедляя ваше приложение. Так что в Node утечки напрямую вредят производительности.
  2. Утечки могут привести к другим проблемам. Протекающий код может блокировать ограниченные ресурсы. У вас могут закончиться файловые дескрипторы или вы вдруг не сможете открыть ещё одно соединение с БД. Такие проблемы могут возникнуть задолго до того, как кончится память, но обрушат ваше приложение ничуть не хуже.
  3. Рано или поздно ваше приложение упадёт. И это наверняка случится во время наплыва посетителей. Вас все засмеют и будут писать про вас гадости на Hacker News.

Откуда доносится звук падающих капель?
Всего голосов 63: ↑61 и ↓2+59
Комментарии1

Руководство по установке и настройке OpenVPN

Время на прочтение34 мин
Количество просмотров1.4M



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



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



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



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


Читать дальше →
Всего голосов 128: ↑115 и ↓13+102
Комментарии97

JavaScript выходит за пределы Web в 2014 году

Время на прочтение9 мин
Количество просмотров36K
Перевод статьи Патрика Катанзарити, оригинал можно найти здесь.

JavaScript, эволюционируя, шагнул далеко вперёд от своей изначальной роли в DHTML сайтах 90х гг. Он быстро занимает лидирующую позицию как кандидат на роль универсального языка для Интернета Вещей (Internet of Things). И хотя ещё слишком рано рассуждать о том, одержит ли JavaScript победу в этом состязании, я верю, что ему определённо отведена важная роль в постоянно растущем пространстве Интернета Вещей.

В прошлом году я написал обзор о технологиях, которые могут всерьёз заинтересовать JavaScript разработчиков – JavaScript Beyond the Web. С тех пор появилось много новых устройств и возможностей, поэтому я хочу написать обзор об изменениях, произошедших в мире JavaScript и среди взаимосвязанных устройств в течение 2014 года.

Перечень устройств, способных взаимодействовать посредством JavaScript, растёт с каждым месяцем. У нас появились как официальные JavaScript API, выпущенные производителями устройства, так и продукты усилий сообщества, ориентированные на то, чтобы возможности JavaScript стали доступными и для других.
Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии38

Sublime Text для фронтэнд-разработчика

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


Sublime Text на данный момент является одним из самых популярных текстовых редакторов, используемых для веб-разработки, поэтому надо знать его преимущества и недостатки. Вместо того, чтобы шаг за шагом описать все фичи Sublime Text, эта статья познакомит вас с самыми популярными приёмами и полезными плагинами, позволяющими ускорить разработку.
Читать дальше →
Всего голосов 50: ↑36 и ↓14+22
Комментарии46

Илья Григорик о внедрении HTTP/2

Время на прочтение4 мин
Количество просмотров39K
Известный специалист по серверной и клиентской оптимизации, соавтор WebRTC, автор книги "High Perfomance Browser Networking" Илья Григорик из Google опубликовал презентацию “HTTP/2 all the things!”, в которой объясняет, как следует настраивать серверную часть под HTTP 2.0, чтобы повысить скорость загрузки страниц и уменьшить latency, по сравнению с HTTP 1.1.


Режим Connection View в браузере показывает загрузку элементов заглавной страницы Yahoo.com в HTTP 1.1

Илья начинает с того, что для современных сайтов бóльшая часть задержек приходится на ожидание загрузки ресурсов, при этом полоса пропускания не является ограничивающим фактором (синим цветом на диаграмме Connection View). По статистике, для загрузки средней веб-страницы браузер делает 78 запросов к 12 различным хостам (общий размер загружаемых файлов 1232 КБ).
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии27

Пишем Instagram виджет для сайта. Инструкция для любопытных. Готовое решение для всех остальных

Время на прочтение6 мин
Количество просмотров203K
image Недавно мне потребовалось интегрировать в сайт Instagram виджет. Чтобы пользователи видели последние опубликованные фотографии. Может даже подписывались.

Тут же выяснилось, что официального виджета у Instagram нет. Более того, с Instagram можно взаимодействовать исключительно через запросы к API. Никаких тебе JavaScript библиотек, генераторов кода и дизайна. Всё нужно делать руками.

Сразу нашлось множество сторонних сервисов разной степени платности и бесплатности. Объединяло их одно – клиент получает лишь код вызова виджета, всё остальное тянется с сервиса. Меня лично это не устраивало. Почему нет бесплатного standalone решения с открытым исходным кодом? Может быть я плохо искал? В общем, я решил внести свои пять копеек.

Инструкция по созданию виджета и готовое решение под катом.

Небольшое примечание. С момента написания этой статьи прошло уже семь месяцев. За это время виджет был установлен на около 80 ресурсах, создан репозиторий на GitHub, добрый человек подарил мне инвайт, виджет сменил механизм кэширования, обзавёлся собственным сайтом, добрые люди на его основе сделали плагин для CMS Битрикс, а я так и не нашёл аналогов в сети.
Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии16

Самое массовое заблуждение вокруг REST-архитектуры

Время на прочтение2 мин
Количество просмотров14K
Столкнувшись на одном крупном ресурсе для разработчиков с неправильной реализацией REST-архитектуры, я, вслед за компанией Intel, развенчивающей мифы о законе Мура, хочу обратить внимание, на самую частую ошибку при реализации RESTful приложений, нарушающую целостность сети. При чем грешат практически все разработчики, веб-фреймворки и даже очень популярные ресурсы (например GitHub), но...
обо всем по порядку
Всего голосов 47: ↑24 и ↓23+1
Комментарии31

Как OpenStack заполняет разрыв между PaaS и IaaS

Время на прочтение9 мин
Количество просмотров5.5K
Автор: Дэвид М. Фишман

Как-то на заре моей карьеры, задолго до OpenStack, я отправил по email шутку команде разработчиков. Шутка заканчивалась фразой: ни один человек с трехзначным IQ не будет спорить о том, что лучше – Emacs или VI, или наоборот. Что меня удивило, так это ответ, который я получил, что-то вроде:
Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Почему вы никогда не должны говорить «никогда»

Время на прочтение7 мин
Количество просмотров56K
Эта моя публикация чуть более чем полностью является ответом на перевод статьи «Почему вы никогда не должны использовать MongoDB». Статья, которая, по сути, рекомендует держаться подальше от MongoDB, является самой заплюсованной в хабе. И это звучит как приговор. Поэтому логично либо хаб закрыть и больше никогда не читать, либо написать ещё более рейтинговое опровержение. Конечно же, я выбрал второй вариант, рискуя своим рейтингом и кармой (ввиду крайней холиварности в комментах).

image
Картинка самоиронии

Читать дальше →
Всего голосов 136: ↑106 и ↓30+76
Комментарии211

SSL-сертификаты: всем, каждому, и пусть никто не уйдёт обиженным

Время на прочтение8 мин
Количество просмотров97K
Как ранее сообщалось на GeekTimes, EFF при поддержке Mozilla, Cisco, Akamai, IdenTrust и исследователей из Мичиганского университета (University of Michigan) создали новый некоммерческий центр сертификации (Certificate Authority) Let's Encrypt [1]. Целью проекта является ускорение перехода всемирной паутины от HTTP к HTTPS.
Подробности, часть из которых уже была описана на GeekTimes
Всего голосов 110: ↑110 и ↓0+110
Комментарии81

С днем рождения, Кевин Митник!

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

Как вы думаете, стоит ли признать 6 августа днём хакера?
(или днем социальной инженерии)

Кевин является выдающимся хакером и социальным инженером по следующей причине.
Он «хакнул систему» на метауровне. С точки зрения ТРИЗ он добился идеального конечного результата.
Кевин организовал все так, что если раньше за то, чем он занимался его преследовали, то теперь за то, чем он занимается стоят в очередь и платят деньги.

(на фото: Стив Возняк дарит Митнику компьютер Apple)

Еще один примечательный факт, что Кевин не поступал в университет, а учился по настоящим учебникам мануалам, которые скачивал с хакнутых компов.

Хронология ранних хаков Митника


12 лет
— первые мошенничества с телефоном;
15 лет
— подделка автобусных билетов;
16 лет
— взлом школьной компьютерной сети;
— взлом радиосвязи Макдональдса;
17 лет
— первое незаконное проникновение на территорию Pacific Telephone;
— «диссертация по взлому RSTS/E»;
— «подруга» Кевина совершила взлом, воспользовавшись данными Митника, а обвинили его;
— проникновение в здание COSMOS;
— первый условный срок;
18 лет
— взлом Университета Южной калифорнии, арест;
25 лет
— первый тюремный срок — 12 месяцев, запрет пользоваться телефоном, под предлогом того, что Митник может взломать NORAD;
28 лет
— взлом телефона Novatel (с использованием соц. инженерии), что позволяло менять Митнику ESN.

Под катом несколько видео-интервью Митника, история о взломе радиосвязи Макдональдса и ссылки на интересные статьи.
Читать дальше →
Всего голосов 97: ↑88 и ↓9+79
Комментарии11

OpenStack пророчит перерождение рынка облачных услуг, на первое место должна выйти гибкость

Время на прочтение6 мин
Количество просмотров4.1K
Вторник, 4 ноября, Париж, Дворец Собраний. Саммит, посвященный OpenStack, доклад главного операционного директора объединения OpenStack – Марка Коллиера (Mark Collier). Вот при таких вот довольно обыденных обстоятельствах ознаменовался новый поворотный этап в жизни одной из крупнейших ИТ-корпораций мира — Amazon Web Services (AWS). Марк Коллиер перед презентацией своего доклада сделал небольшое художественное отклонение, представив отрывок финальной сцены культового фильма от режиссера Стенли Кубрика «2001: Космическая Одиссея», снятого в далёком 1968 году. Главный герой картины — дряхлый дед, распластавшийся в кровати, превращается под действием неведомой силы, загадочного черного монолита, в еще даже не родившееся дитя. Как утверждает Марк, показанная сцена как нельзя луче описывает сложившуюся ситуацию и те изменения, что ожидают AWS. Вогнав публику, столь гротескной презентацией доклада, в некое замешательство: то ли у Amazon все так плохо, то ли наоборот, все так хорошо у OpenStack, участники саммита ждали ответов…

Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии0

JavaScript F.A.Q: Часть 2

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

Около 2-х месяцев назад я и TheShock собирали вопросы по JavaScript в теме FAQ по JavaScript: задавайте вопросы. Первая часть, те вопросы, которые достались мне, появилась буквально через несколько дней JavaScript F.A.Q: Часть 1, а вот вторая часть все не выходит и не выходит. TheShock сейчас переезжает в другую страну и поэтому ему не до ответов. Он попросил меня ответить на его часть. Итак вторая часть ответов — те вопросы, которые достались тоже мне.
Читать дальше →
Всего голосов 185: ↑180 и ↓5+175
Комментарии100

JavaScript F.A.Q: Часть 1

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

Несколько дней назад мы с TheShock создали топик в котором собирали ваши вопросы, касательно JavaScript (архитектура, фрэймворки, проблемы). Настало время ответить на них. Мы получили очень много вопросов, как в комментариях так и по email. Эта первая часть ответов — те вопросы, которые достались мне.
Читать дальше →
Всего голосов 232: ↑227 и ↓5+222
Комментарии50

Обещания JavaScript

Время на прочтение19 мин
Количество просмотров204K
Всем привет, и ещё раз всех с прошедшими праздниками. Трудовые будни набирают обороты и вместе с ними растёт информационный голод мучающий нас. Мир разработки переднего конца не дремлет и готовит нам много сюрпризов в наступившем году, и уж поверьте мне, скучно не будет ни кому. Одна из новых особенностей которые нам готовят разработчики браузеров совместно с группами разработчиков пишущих спецификации — JavaScript Promises(далее в переводе — Обещания, прошу сильно не бить) — полюбившийся многим шаблон написания асинхронного кода обзаводится нативной поддержкой. Что же такое обещания и с чем их едят можно прочесть в нижеследующем переводе(слегка вольном) замечательной статьи Джейка Арчибальда.

Подробности
Всего голосов 83: ↑76 и ↓7+69
Комментарии39

Несколько полезных приемов в AngularJS для начинающих

Время на прочтение5 мин
Количество просмотров51K
При создании приложений на AngularJS у начинающего разработчика возникает много вопросов, особенно в том случае, если до определенного времени он использовал библиотеки сходные с jQuery или Prototype. В данном посте хотелось бы поделиться некоторыми приемами, которые будут полезны начинающим AngularJS разработчикам.

Загрузка приложения и менеджер состояний


До момента загрузки самого фрэймворка, его зависимостей и отработки всех запросов в бэкграунде приложение может выглядеть весьма удручающе. И даже ng-cloak не сможет помочь в большинстве случаев. Обычно для таких целей используют div имеющий больший z-index чем основной контент сайта и перекрывающий его до загрузки всех компонентов и состояний. Он может выглядеть так:

<div class="loader" ng-show="loader"><div class="loader-content">Loading...</div></div>

Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии32

AngularJS для привыкших к jQuery

Время на прочтение4 мин
Количество просмотров165K
AngularJS — прекрасный фреймворк для построения веб-приложений. У него замечательная документация, снабженная примерами. В обучающих «пробных» приложениях (вроде TodoMVC Project) он очень достойно показывает себя среди остальных прочих фреймворков. По нему есть отличные презентации и скринкасты.

Однако если разработчик никогда ранее не сталкивался с фреймворками, подобными Angular, и пользовался в работе в основном библиотеками вроде jQuery, то ему может быть трудно изменить свой образ мышления. Как минимум, так было со мной, и я бы хотел поделиться некоторыми заметками на эту тему. Может быть, кому-то это будет полезно.
Читать дальше →
Всего голосов 77: ↑74 и ↓3+71
Комментарии146

Информация

В рейтинге
Не участвует
Откуда
Stuttgart, Baden-Württemberg, Германия
Зарегистрирован
Активность