Как стать автором
Обновить
0
0
Михаил @marconi

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

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

Управляем чайником из браузера или как я интернет-розетку делал

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

В этой статье я хочу рассказать о моем опыте создании управляемой розетки. Не GSM(это всем надоело, да и слишком просто — читай sms да дергай пинами), а управляемой через браузер, с помощью кнопочек на HTML-страничке.

Итак, какой же путь должен проделать сигнал, чтоб включить чайник?
Нажатие кнопки на странице -> переход по ссылке и отработка web-сервера -> выполнение CGI скрипта -> передача команды по UART контроллеру -> появление напряжение на пине -> срабатывание реле, которое включает чайник.

Рассмотрим все по порядку.
Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии66

Ваш сайт тоже позволяет заливать всё подряд?

Время на прочтение4 мин
Количество просмотров52K
Один французский «исследователь безопасности» этим летом опубликовал невиданно много найденных им уязвимостей типа arbitrary file upload в разных «написанных на коленке», но популярных CMS и плагинах к ним. Удивительно, как беспечны бывают создатели и администраторы небольших форумов, блогов и интернет-магазинчиков. Как правило, в каталоге, куда загружаются аватары, резюме, смайлики и прочие ресурсы, которые пользователь может загружать на сайт — разрешено выполнение кода PHP; а значит, загрузка PHP-скрипта под видом картинки позволит злоумышленнику выполнять на сервере произвольный код.

Выполнение кода с правами apache — это, конечно, не полный контроль над сервером, но не стоит недооценивать открывающиеся злоумышленнику возможности: он получает полный доступ ко всем скриптам и конфигурационным файлам сайта и через них — к используемым БД; он может рассылать от вашего имени спам, захостить у вас какой-нибудь незаконный контент, тем подставив вас под абузы; может, найдя параметры привязки к платёжной системе, отрефандить все заказы и оставить вас без дохода за весь последний месяц. Обидно, правда?

Как ему это удастся?
Всего голосов 121: ↑102 и ↓19+83
Комментарии120

Еще 12 «рецептов приготовления» MySQL в Битрикс24

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


В нашей прошлой статье — «11 «рецептов приготовления» MySQL в Битрикс24» — мы, в основном, рассматривали архитектурные решения: стоит ли использовать облачные сервисы (типа Amazon RDS), какой форк MySQL выбрать и т.п.

Судя по отзывам, тема грамотной эксплуатации MySQL в больших «хайлоад» проектах — очень большая и важная. Поэтому мы решили рассказать еще о некоторых нюансах настройки и администрирования БД, с которыми сталкивались при разработке «Битрикс24» и которые используем ежедневно.

Еще раз напомню, что эта статья (как и предыдущая) не является универсальным «рецептом» идеальной настройки MySQL на все случаи жизни. :) Такого не бывает. :) Но искренне верю, что она будет полезной для вас для решения отдельных конкретных задач.

А в конце статьи — сюрприз для самых терпеливых читателей. :)
Читать дальше →
Всего голосов 84: ↑65 и ↓19+46
Комментарии14

Я переучиваю людей на Java-программистов

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

Когда я вижу друзей, которые вкалывают в два раза больше, а зарабатывают в четыре раза меньше, каждый раз начинается разговор:
— А ты бы не хотел поработать программистом? Ты же реально умный. Может ты просто не на своем месте?

В результате я переучиваю своих друзей и знакомых на программистов. Весь процесс занимает от двух до трех месяцев. 25 уроков по 4 часа. Потом все смогли устроиться программистами.
Эта статья не о том, как надо учить, скорее просто описание процесса, который работает.
Читать дальше →
Всего голосов 351: ↑232 и ↓119+113
Комментарии464

Профилирование PHP скриптов на живом сервере

Время на прочтение5 мин
Количество просмотров17K
Добрый день, сообщество!

Наверняка кто-то из вас сталкивался с такой проблемой: медленно работает сайт на реальном сервере.
Важно оперативно выяснить в каких местах возникли сложности. Использовать для этого xdebug нельзя, так как он создает большую нагрузку на сервер и сам вносит погрешность в измерения. Для решения этой задачи мы выбрали систему, которая позволяет очень быстро собирать древовидную статистику по работе сайта — pinba.
Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии59

SQL injection для начинающих. Часть 1

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

Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой показать, как это всё работает, решил написать статью. Статья будет рассчитана на тех, кто не сталкивался с подобным, но хотел бы научиться. В сети относительно много статей на данную тематику, но для начинающих они немного сложные. Я постараюсь описать всё понятным языком и подробными примерами.
Читать дальше →
Всего голосов 191: ↑135 и ↓56+79
Комментарии160

Альтернатива Arduino от Texas Instruments за $4.30

Время на прочтение2 мин
Количество просмотров77K
Как известно, конкуренция среди производителей микроконтроллеров весьма высока. Каждый старается завлечь потребителей низкой ценой и расширенным функционалом своих камней.

Компания Texas Instruments, для продвижения в массы своих контроллеров MSP430, предлагает дешевую ($4.30) отладочную плату LaunchPad (MSP-EXP430G2). Внешне она напоминает Arduino, но, естественно, с ней не совместима. В комплекте с платой щедрые техасцы кладут сразу два своих микроконтроллера серии Value Line в DIP-корпусах: msp430g2553 и msp430g2452.

LaunchPad
Читать дальше →
Всего голосов 68: ↑59 и ↓9+50
Комментарии101

Обзор зарплат WEB программистов

Время на прочтение2 мин
Количество просмотров228K
После длительного перерыва мы вновь публикуем результаты нашего исследования рынка труда в IT индустрии. Напомним, что в предыдущих наших постах мы рассказали о зарплатах «Мобильных» разработчиков, Дизайнеров, Руководителей проектов по разработке ПО, Системных администраторов windows и даже описали из чего состоит социальный пакет в IT компании.



Это пост мы решили посвятить отцам интернета — Web программистам:
  • HTML верстальщик, Web мастер
  • Программист PHP
  • Старший (ведущий) программист PHP
  • Программист ASP.NET
  • Программист JavaScript
  • Программист (старший, ведущий) Perl
  • Программист (старший, ведущий) Python
  • Программист (старший, ведущий) Ruby
  • Программист Flash/Flex
Читать дальше →
Всего голосов 169: ↑142 и ↓27+115
Комментарии221

Попытка #2: министр связи РФ ответит на вопросы хабрапользователей

Время на прочтение1 мин
Количество просмотров13K
С нами связалась пресс-служба министерства связи и массовых коммуникаций Российской Федерации и выразила желание завершить историю с вопросами бывшему министру Щёголеву, который, к нашему сожалению, более чем за год так и не нашел времени “чиркануть пару строк” пользователям сайта.

В связи с этим предлагаем следующий план действий:

1. В комментариях вы задаёте свой вопрос — строго в рамках профессиональной деятельности министерства и тематики ресурса. Коротко и ясно, без сарказма и троллинга, указав в начале одну из тематик вопроса: мобильная связь, интернет, почта, службы, законодательство, разное.
Флейм в комментариях не устрайвайте — за «интересные» вопросы просто голосуйте.
2. Мы агрегируем все вопросы, рассортировываем по полочкам и отправляем Н. А. Никифорову.
3. После получения ответов мы опубликуем их отдельным постом в формате хабраинтервью.



Успехов!
Всего голосов 96: ↑82 и ↓14+68
Комментарии201

Конкурс ВК: Мессенджер для Android. Как это было!?

Время на прочтение3 мин
Количество просмотров35K
Приятного времени суток!

Сколько человек хочет заняться разработкой под Android, но в силу определенных обстоятельств все никак не может начать (у кого-то нет времени, кому-то скучно просто прорешивать примеры, лень, неопределенность)? Сколько человек добавляет каждую, кажущуюся интересной и полезной, статью на хабре в избранное и забивает? До конкурса ВКонтакте на разработку мессенджера под Android, я был среди числа вышеописанных пользователей. Но в один роковой момент все изменилось…
Читать дальше →
Всего голосов 164: ↑153 и ↓11+142
Комментарии64

О найме программистов и других инженеров

Время на прочтение3 мин
Количество просмотров13K
Тут сегодня статью опубликовали, про найм программистов, о том, как их нужно собеседовать. Там разгорелся небольшой спор и меня поддернуло написать, что я по этому поводу думаю.

Безусловно, это мое мнение, основанное на моем опыте, и оно — не догма, но пока он (опыт) меня не подводил.

Этот пост адресован прежде всего «HR-щикам», но и всем остальным, думаю, тоже будет интересен.

Главный постулат:

HR-менеджер не должен собеседовать инженера. Он даже не должен к нему приближаться. Вообще.


Под катом я объясню почему.
Читать дальше →
Всего голосов 278: ↑240 и ↓38+202
Комментарии442

Пример Sphinx поиска на реальном проекте — магазин автозапчастей Tecdoc

Время на прочтение9 мин
Количество просмотров98K
Вкратце: статья будет полезна тем программистам, кто уже заинтересовался релевантным поиском и прочитал статьи по стартовой установке сфинкс поиска, погонял на тестовых примерах и таких же синтетических задачах. Часто эти примеры не дают ответа на вопрос, а как же ощутить реальную пользу от поискового модуля Sphinx в сравнении с другими более простыми вариантами поиска. Примеры кода в статье — на php+smarty, Sphinx 2.0.1-beta, база данных — mysql, исходники и дамп структуры базы выложены отдельным архивом в подвале. В статье описан пример использования таких особенностей сфинкса, как:
  • Создание единого конфиг файла для windows development и linux production
  • SetMatchMode(SPH_MATCH_EXTENDED2) и почему SPH_MATCH_ANY и другие не подходят для реального поиска
  • SetSortMode(SPH_SORT_RELEVANCE), SetFieldWeights — сортировка по релевантности и установка весов для полей индекса
  • SetLimits(0,20) — ограничение вывода результатов
  • AddQuery, RunQueries — построение мультизапросов
  • SetFilter, ResetFilters — добавление фильтрации в мулльтизапросе для ограничения получаемых данных
  • Wordforms — использование синонимов и преодоление ограничений для нестандартных словоформ, как «C#»

Также хочется внести свой вклад в развитие проекта и откровенно недостаточной русской документации при том, что проект создан и поддерживается русскоязычным программистом. Поэтому решено: непрекращающийся поток блокер задач идет лесом, вместо него в качестве благодарности разработчикам сфинкса в общем и пользователю Андрей Аксёнов ака shodan я пишу эту статью.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии47

Мне кажется, я начал понимать, что ты имела в виду!

Время на прочтение7 мин
Количество просмотров33K
Опечататься дело нехитрое; опечататься в поисковом запросе так и вдвойне. Почитай все большие веб-поисковики сегодня умеют корректировать ошибки в ключевых словах во-1х и подсказывать запросы во-2х; вслед за ними того же хочется поискам поменьше. Обе штуки можно ловко реализовать при помощи открытого поисковика по кличке Sphinx; в этом посте расскажу, как конкретно.

Ну, за did you mean («что ты имела в виду») и прочий query completion («уж не Васю ли ты ищешь»).
Читать дальше →
Всего голосов 84: ↑75 и ↓9+66
Комментарии24

Практические рекомендации по выбору паролей по результатам взлома antichat.ru

Время на прочтение4 мин
Количество просмотров24K
Как вы уже слышали Брайан Кребс недавно проводил аудит паролей, полученных после взлома antichat.ru (сама база была получена где-то год назад и уже не актуальна!). Честно говоря, не очень понимаю чем занимались его видеокарты 18 дней, победив только 44% паролей. Мне на довольно скромном железе удалось подобрать 77% паролей за 8 часов. Исходя из таких несколько пугающих цифр, особенно для сайта тематически связанного с информационной безопасностью, у меня есть несколько рекомендаций о том какие пароли никогда не следует использовать, дабы они не были подобраны за пару минут.
Читать дальше →
Всего голосов 148: ↑134 и ↓14+120
Комментарии185

Заповеди молодого разработчика Delphi

Время на прочтение7 мин
Количество просмотров14K
В свое время на меня была возложена задача курирования молодых разработчиков. Начать было решено с формулировки кратких рекомендаций. Результат перед вами.

1 Коротко и неясно


  1. ЧИТАЙ КОД!
  2. Пиши код, который удобно читать всем остальным
  3. Пиши в комментарии не ЧТО делает код, а ЗАЧЕМ
  4. Предупреждения и подсказки опаснее ошибок компиляции — проект собирается без их устранения

2 Цикл разработки


  1. Постановка задачи руководителем
  2. Выработка решения
  3. Рецензирование решения
  4. Реализация решения
  5. Рецензирование кода
  6. Размещение в системе контроля версий

Читать дальше →
Всего голосов 48: ↑21 и ↓27-6
Комментарии76

Windows Sockets, IOCP и Delphi

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

Пролог


Недавно я столкнулся с необходимостью эффективной работы с сокетами в Windows приложении. Задача типичная для нагруженного сервера. Нетипичным тут будет казаться только язык реализации — Delphi.
Я хочу описать способ массовой асинхронной работы с большим количеством сокетов с использованием I/O Completion Ports.
Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии37

Семинар «Битрикс Хайлоад» — как это было, презентации, видео

Время на прочтение4 мин
Количество просмотров20K
Помните нашего старого знакомого — веб-разработчика и по совместительству системного администратора? :) Он, как и многие другие наши читатели, сходил 22 мая на семинар «Разработка высоконагруженных веб-проектов: как выдерживать миллионы хитов в сутки, чтобы все работало и ничего не «падало», который мы анонсировали в том числе и на Хабре.

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

* * *

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

Многие и лично, и в твиттере спрашивали, будут ли опубликованы презентации и видео…

Да, конечно!

С удовольствием делимся всеми материалами с вами!
Всего голосов 92: ↑63 и ↓29+34
Комментарии11

Единственный способ

Время на прочтение4 мин
Количество просмотров71K
Ральф вошел в помещение ангара №1 в 8:30 утра, как делал это ежедневно уже несколько лет. Его взгляд сразу же устремился к центру зала, где на постаменте, окруженный множеством приборов и паутиной кабелей, находился смысл его работы. Собственно говоря, не только его — миллионов людей по всему миру. Первый инопланетный корабль. Полтора десятилетия назад он совершил аварийную посадку и был частично поврежден, оставив, однако, весьма много материала для изучения. Настоящим чудом стало то, что политики и учёные после этого события не переругались, а смогли организовать эффективное изучение свалившегося с небес подарка. На реверс-инжиниринг корабля были брошены лучшие умы планеты. Ральф, возглавляющий группу изучения приборов связи, стоял в ангаре и в который раз любовался стремительной, похожей на стрелу в полёте, формой корабля. Он вспоминал всё, что случилось за последние годы.
Читать дальше →
Всего голосов 341: ↑305 и ↓36+269
Комментарии127

Вирус-шпион

Время на прочтение2 мин
Количество просмотров9.8K
«Лаборатория Касперского» продолжает охоту на вредоносные программы. 28 мая в своем блоге они сообщили, что обнаружили вирус нового вида, который уже около 5 лет сканирует и собирает конфиденциальную информацию с компьютеров по всему Ближнему Востоку.

image
Фрагмент исходного кода Flame. Изображение с сайта securelist.com

Читать дальше →
Всего голосов 72: ↑61 и ↓11+50
Комментарии59

Android + Arduino + 4 колеса

Время на прочтение19 мин
Количество просмотров145K
Не думал, что так меня скрутит, но вот случился довольно острый приступ робототехники. Ну и как всякий уважающий себя пострадавший, я постараюсь заразить как можно больше людей.

Как развивалось помешательство, я решил описать в статье. Получилось длинно, но может кому-нибудь будет интересно. Думаю, статья ориентирована на тех, кто ещё не практиковался в робототехнике.

Вот что получилось в результате. Видео винтажное, снималось владельцем iPhone, а они ведь затейники, ну вы знаете. Звук я оставил закадровый сознательно, чтоб всё жужжало как взаправду.



Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии59

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность