Pull to refresh
51
0

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

Send message

Три особенности JavaScript, о которых полезно знать каждому Java/C-разработчику

Reading time9 min
Views49K


Иногда JavaScript может вводить разработчика в заблуждение, а иногда — доводить до белого каления из-за своей неполной консистентности. Есть в JavaScript некоторые вещи, которые только запутывают и сбивают с толку. Самые известные из них оператор with, неявные глобальные переменные и странное поведение при операции сравнения.

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

  • DOM, который многие ошибочно считают эквивалентом самого языка JavaScript, обладает очень неудачным API.
  • Когда переходишь на JavaScript с языков С и Java, то попадаешь в ловушку синтаксиса, который устроен не так, как в императивных языках. Это очень часто приводит к багам и сильно раздражает.

В результате JavaScript обрёл довольно плохую репутацию, которой он, в общем-то, не заслуживает. И чаще всего это связано с тем, что многие разработчики переносят на JavaScript свой опыт работы на Java или С/С++. Здесь разобраны три наиболее трудных случая, демонстрирующих разницу в подходах между Java и JavaScript.
Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments36

3 катастрофы отзывчивого дизайна и как их избежать

Reading time3 min
Views20K
img

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

В этой статье будет выделено 3 основные ошибки, которые допускают разработчики при работе с отзывчивым дизайном, и приведено несколько стратегий, как избежать этих ошибок.
Читать дальше →
Total votes 31: ↑17 and ↓14+3
Comments11

PushAll — платформа для рассылки мгновенных уведомлений

Reading time4 min
Views20K


Основная идея


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

Сама система позволяет легко подписываться и отписываться от тех или иных каналов. Что исключает возможность внезапного спама, как это происходит в случае с такими методами уведомлений как SMS и E-mail.
Читать дальше →
Total votes 22: ↑13 and ↓9+4
Comments26

Удобная отладка с PHPixie Debug

Reading time5 min
Views9.4K
image
PHPixie Debug был создан чтобы улучшить отладку при разработке в любой среде. Конечно если вы уже используете веб фреймворк то скорее всего проблем с отладкой нет, но вот когда вы пишете какую-то библиотеку, решаете задачку или даже работаете с Wordpress, то удобной отладки сильно недостает. Даже для такого базового функционала как превратить все ошибки в исключения приходится регистрировать свой хендлер. В таких случаях PHPixie Debug в всего лишь две строки кода создаст удобную среду для разработки.
Читать дальше →
Total votes 17: ↑12 and ↓5+7
Comments15

Пишем бота для браузерной игры agar.io

Reading time3 min
Views238K


Все уже наверно в курсе о такой замечательной веб-игре, как agar.io.
В очередной раз проиграв в ней более везучему сопернику, я тихо выругался про себя и решил как-то взломать эту игрушку, чтобы получить наконец в ней преимущество! В итоге мне удалось создать себе отряд игровых ботов, которые стремятся найти меня на карте, чтобы влиться в мою игровую клетку.
Подробности
Total votes 54: ↑43 and ↓11+32
Comments35

Arduino Pro Mini + токовый датчик GY-712 ведут контроль перегорания ламп

Reading time3 min
Views79K
Всем привет. Хочу поделится одним из проектом созданным на базе Arduino.
Для меня работа с токовыми датчиками GY-712 была впервые. Перед созданием этого проекта создавался тестовый блок.

image

Если вам уже интересно, тогда продолжим.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments58

Как взломать двухфакторную аутентификацию Яндекса

Reading time2 min
Views102K
Наконец-то Яндекс запилил двухфакторную аутентификацию. Я не ждал подвоха, но, похоже, зря.

Как работает двухфакторная аутентификация Яндекса?

В браузере отображается QR-код, юзер сканирует его специальным приложением, браузер сразу это чувствует и авторизует пользователя.

QR-код расшифровывается в ссылку вот такого вида:

yandex.ru/promo/2fa?track_id=38e701d0bb5abaf50d381c3f95e0f341a8

Внутри всего этого веб-страничка с QR-кодом постоянно опрашивает сервер в ожидании авторизации:
POST /auth/magic/status/ HTTP/1.1
Host: passport.yandex.ru

track_id=38e701d0bb5abaf50d381c3f95e0f341a8

Как только пользователь отсканирует приложением Яндекса QR-код, следующий такой запрос отдаст браузеру куку.

В чем здесь проблема?
Читать дальше →
Total votes 207: ↑174 and ↓33+141
Comments75

Встраиваем бэкдор в публичный ключ RSA

Reading time4 min
Views111K

Привет, %username%!
Когда я увидел, как это работает, сказать, что я был в шоке — ничего не сказать. Это довольно простой трюк но после прочтения этой статьи вы больше никогда не будете смотреть на RSA по-прежнему. Это не взлом RSA, это нечто, что заставит вашу паранойю очень сильно разбухнуть.
Читать дальше →
Total votes 135: ↑125 and ↓10+115
Comments75

Какое шифрование АНБ не по зубам

Reading time3 min
Views39K

Взломать Tor, PGP и OTR спецслужбам не под силу


Только благодаря утечкам Эдварда Сноудена и похожим событиям у нас появляется уникальная возможность посмотреть на «внутреннюю кухню» американских спецслужб. Сами они никаких конкретных цифр выдавать не могут по определению.

«Шпигель» опубликовал статью о том, как у Агентства национальной безопасности США обстоят дела со взломом криптографических алгоритмов. Это очередная утечка материалов Сноудена.

Самым полезным из этой информации является то, что на момент создания документов (2012 год) некоторые чаты и программы для пересылки электронной почты всё ещё представляли сложность для АНБ.
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments23

Assembler в 30 строк на Excel

Reading time2 min
Views78K
В заголовке порядок слов не перепутан.



Живет в Венгрии юный программист Адам Кишш. Он участвует в чем-то типа онлайн-олимпиады KöMaL. Для решения заданий по информатике предлагается использовать несколько обычных языков программирования: С, С++, Python и некоторые другие. В одном из заданий требовалось написать Сапер и бота для игры в него. Такая задача очень легко решается средствами табличного процессора — того же Excel, например, и пачки макросов. Однако же, макросы использовать нельзя. Адам выкрутился необычным способом: реализовал в книге Excel простенький виртуальный компьютер, который программируется на Ассемблере — Excembler.
Читать дальше →
Total votes 74: ↑70 and ↓4+66
Comments29

Bluetooth и другие способы взлома наручников

Reading time5 min
Views24K
В уходящем году одним из главных бумов IT-индустрии стали гаджеты, которые по-русски лучше всего назвать «наручными». С одной стороны, шагомеры и другие сенсоры персональной физической активности стали всё чаще делать в виде браслетов — такова, например, эволюция популярного трекера Fitbit. С другой стороны, старая гвардия тоже включилась в борьбу за человеческие запястья, выпуская умные часы: тут и Android Wear, и Apple Watch, и Microsoft Band. Сегодня мы поговорим о некоторых опасностях этой моды.

image

Нет, мы вовсе не против здорового образа жизни. Мы даже поддерживаем идею о том, что 1 января лучше не объедаться салатами перед телевизором, а вместо этого принять участие в одном из новогодних забегов. Однако многие отправятся на такие забеги или тренировки с модными фитнесс-браслетами и другими трекерами. Авторы рекламных статьей, расхваливающих эту бижутерию, обычно не задаются вопросами типа «как здесь набрать пароль?» или «где здесь выключатель?». Между тем, эти вопросы вскрывают целый ворох проблем безопасности, которые несёт миниатюризация наручных компьютеров.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments9

Пошаговая инструкция: залог для сделок в bitcoin

Reading time6 min
Views36K
Bitcoin очень удобен и надёжен для хранения денег, но как проводить в нём сделки? Традиционные способы включают привлечение доверенной третьей стороны. Оказывается, bitcoin так могуч, что это вовсе не обязательно. Ниже я расскажу, как двум людям, не доверяющим друг другу, провернуть сделку в bitcoin без привлечения третьих сторон.

esrowbitcoin

Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments70

WiFi Pineapple Mark V: черный ящик для беспроводного перехвата

Reading time6 min
Views109K


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

Описание устройства


WiFi Pineapple — это продукт предприимчивых американцев, которые заказали у китайцев Wi-Fi роутер с двумя беспроводными интерфейсами и одним проводным, написали под него прошивку на базе OpenWRT и напичкали утилитами для взлома\перехвата и анализа трафика.

У устройства 3 сетевых интерфейса (2 беспроводных с возможностью работы в режиме монитора и 1 проводной ), 1 USB порт для флешки\3-4G модема\GPS-треккера и слот для microSD карт.

Так же на корпусе устройства есть набор тумблеров, сочетание которых позволяет запускать устройство с пакетом заранее присвоенных выбранному сочетанию команд, что сокращает время предварительной настройки, если задача является типовой и регулярной.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments28

Arduino за 1$

Reading time4 min
Views220K


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

Скажу за себя — мне Arduino нравится. Тем, что можно быстро что-нибудь работающее соорудить. По сути, мне не нравятся только цены. Ну, дорого же. Модуль на порядок дороже использованного в нем микроконтроллера. Такие размышления неоднократно подталкивали меня к тому, чтобы «соскочить», но потом я открывал Aliexpress и заказывал очередную порцию. Китайская версия Arduino Nano — 3-4$. Pro Mini (без USB) — 2-3$.

Потом стало интересно — а где предел минимальной розничной (или микрооптовой) цены. Но так, чтобы можно было работать, а не искать хаки с целью сэкономить пару байт. Пара вопросов к всемирному разуму, кратчайшее изучение матчасти, решение: «Буду ковыряться с ATTiny, но чтобы с Arduino».
Стоя и в гамаке
Total votes 95: ↑83 and ↓12+71
Comments128

Навигация в помещениях с iBeacon и ИНС

Reading time15 min
Views89K

  Представьте, что перед вами поставили задачу по реализации навигации внутри помещений. Соответственно, GPS/Глонасс и тому подобные системы спутниковой навигации вам недоступны. Что делать? В этой статье мы с вами подробно рассмотрим варианты решения подобных задач в теоретической части, а в практической – реализуем «в железе» indoor-трекер для работы с маячками iBeacon по Bluetooth BLE на NodeJS на базе новейшей платформы Intel Edison, рассмотрим применение трилатерации и фильтра Калмана, библиотеку CylonJS по работе с датчиками на NodeJS.

Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments15

PHPStamp — честная генерация DOCX документов из шаблона

Reading time2 min
Views27K
Это еще одна попытка реализовать стабильный, полноценный шаблонизатор офисных документов, основанных на XML, пользуясь стандартными для PHP средствами DOMDocument и XSL.

Задача состояла именно в генерации шаблона для многократного использования, который не придется править вручную или прибегать к сторонним программам для его доработки.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments15

Ловцы молний. Необычные эксперименты с грозой

Reading time7 min
Views166K
Добрый день, уважаемые читатели Хабра.

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

image

Меня всегда вдохновляла красота и мощь молний. Сила тока в разряде молнии достигает 10-300 тысяч ампер, а напряжение — от десятков миллионов до миллиарда вольт. Мощность разряда — от 1 до 1000 ГВт. Вот было бы хорошо «приручить» эту энергию!

Хочу предупредить, не повторяй это дома! Я соблюдаю особую осторожность и хорошо знаю природу электрических явлений. Помни, поражение молнией смертельно.
Читать дальше →
Total votes 266: ↑245 and ↓21+224
Comments195

9 основных принципов отзывчивого веб-дизайна

Reading time4 min
Views129K

Отзывчивый дизайн — отличное решение проблемы корректного отображения сайта на разных экранах. Однако новичкам зачастую трудно понять основы, обучаясь только по книгам/статьям. С каждым днём появляется всё больше различных устройств, имеющих разные размеры экрана, поэтому создание дизайна в пикселях и только для настольных компьютеров/смартфонов остаётся в прошлом. Именно поэтому сейчас стоит изучить принципы отзывчивого дизайна — дизайна, совмещающего в себе адаптивность и резиновость (если вы ещё не знакомы с адаптивным дизайном, то эта статья будет хорошим выбором для начала изучения).
Читать дальше →
Total votes 69: ↑62 and ↓7+55
Comments17

Под какой ОС и на чем вы программируете?

Reading time1 min
Views70K
Привет всем,
Вот задался вопросом, более менее внятной статистики не нашел, потому попробую опросить здесь.
Цель — приблизительно узнать популярность ОС именно для программирования (не путать с повседневным использованием).
Total votes 209: ↑124 and ↓85+39
Comments128
1
23 ...

Information

Rating
Does not participate
Registered
Activity