Как стать автором
Обновить
51
0

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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


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

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

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

image

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

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

Время на прочтение2 мин
Количество просмотров102K
Наконец-то Яндекс запилил двухфакторную аутентификацию. Я не ждал подвоха, но, похоже, зря.

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

В браузере отображается 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-код, следующий такой запрос отдаст браузеру куку.

В чем здесь проблема?
Читать дальше →
Всего голосов 207: ↑174 и ↓33+141
Комментарии75

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

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

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

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

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

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


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

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

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

Assembler в 30 строк на Excel

Время на прочтение2 мин
Количество просмотров78K
В заголовке порядок слов не перепутан.



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

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

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

image

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

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

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

esrowbitcoin

Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Комментарии70

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

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


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

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


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

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

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

Arduino за 1$

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


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

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

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

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

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

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

Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии15

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

Время на прочтение2 мин
Количество просмотров27K
Это еще одна попытка реализовать стабильный, полноценный шаблонизатор офисных документов, основанных на XML, пользуясь стандартными для PHP средствами DOMDocument и XSL.

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

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

Время на прочтение7 мин
Количество просмотров166K
Добрый день, уважаемые читатели Хабра.

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

image

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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров70K
Привет всем,
Вот задался вопросом, более менее внятной статистики не нашел, потому попробую опросить здесь.
Цель — приблизительно узнать популярность ОС именно для программирования (не путать с повседневным использованием).
Всего голосов 209: ↑124 и ↓85+39
Комментарии128
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность