Pull to refresh
18
0
Send message

Разбор заданий конкурса «Конкурентная разведка» на PHDays IV

Reading time11 min
Views17K
Сегодня мы расскажем о некоторых практических аспектах сбора конфиденциальных данных на примере онлайн-конкурса «Конкурентная разведка», состоявшегося 15, 16 и 17 мая.

По сравнению с прошлым годом задачи стали гораздо сложнее. В арсенале конкурентного разведчика должны быть самые разнообразные навыки, включая владение тулзами и плагинами, поэтому уровень хардкора было решено немного повысить. Впрочем, никуда не делись и традиционные требования к дедукции и умению искать связи.
Острожно, много картинок!
Total votes 27: ↑27 and ↓0+27
Comments20

Как оптимизировать сайт для мобильных устройств с помощью PageSpeed Insights

Reading time2 min
Views86K
Уровень подготовки веб-мастера: для всех

Мы опубликовали на сайте PageSpeed Insights новые рекомендации, которые помогут улучшить сайты для мобильных устройств.
PageSpeed Insights для мобильных устройств
Недостаточная оптимизация может свести на нет все преимущества быстрой загрузки сайта. В среднем загрузка одной страницы на мобильных устройствах длится более 7 секунд, но правильное использование инструмента PageSpeed Insights позволяет значительно сократить это время. Предположим, вам удалось добиться загрузки сайта не за семь секунд, а всего за две. Но какой в этом смысл, если пользователю все равно придется потратить ещё 5 секунд на то, чтобы увеличить размер шрифта и прокрутить страницу до нужного места? Новые рекомендации PageSpeed Insights помогут выявить и устранить подобные проблемы.
Список новых рекомендаций
Total votes 33: ↑24 and ↓9+15
Comments40

Интересные приемы программирования на Bash

Reading time6 min
Views131K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →
Total votes 181: ↑175 and ↓6+169
Comments67

Очередная умная розетка для очередного умного дома

Reading time5 min
Views195K
Много лет мечтал о создании умного дома, но каждый раз останавливала проблема связи модулей (розеток, датчиков и выключателей) с центром и между собой. Но прогресс не стоит на месте, все чаще и чаще встречающаяся информация о микроконтроллерах со встроенными трансиверами подтолкнула меня опять вернуться к моей давней идее. В этом посте я расскажу о том, как создавалась «умная розетка» (на самом деле сетевой фильтр), который и представлен на фото ниже.



Все остальное под катом. Осторожно! Много картинок.
Читать дальше →
Total votes 99: ↑92 and ↓7+85
Comments126

NodeSchool, Node.js и один урок для самых маленьких

Reading time4 min
Views25K




Сегодня я вам расскажу про одно очень интересное сообщество под названием NodeSchool. Данное сообщество продвигает обучение по платформе node.js
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments6

NodeSchool — интерактивные уроки по Node.Js

Reading time1 min
Views38K
image

Все мы знаем теоретический курс по node.js, недавно выпущенный Ильей Кантором. Отличный материал, свежий, полный и к тому же на русском. Но он теоретический, а нам-то хочется все потрогать, попробовать самим, получая реальный опыт. В этом нам поможет, недавно стартовавший, бесплатный проект NodeSchool.
Читать дальше →
Total votes 52: ↑43 and ↓9+34
Comments5

Linux HA на основе Pacemaker

Reading time5 min
Views123K
В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments32

Создание надёжного хранилища раздаваемого нескольким серверам по nfs

Reading time5 min
Views27K
При создании кластера для обработки звонков на базе CGP возникла необходимость настройки бесперебойного хранилища, монтируемого с нескольких сервров.

В качестве дистрибутиа для серверов был взят Ubuntu Server 10.10. Дисковое пространство было разбито на два логических диска (sda1 для установки системы, и sda2 собственно для разделяемого диска).

После установки базовой системы надо дополнительно установить следующие пакеты: heartbeat, pacemaker, drbd8-utils, xfs, xfsprogs, nfs-kernel-server.

Heartbeat и pacemaker нужны для кластеризации серверов. Хранилище сделано на основе drbd, в качестве файловой системы использовалась xfs. Раздача файловой системы серверам сделана по nfs.

Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments17

РОБОТ на базе: android, arduino, bluetooth. Начало

Reading time17 min
Views187K
Создание робота, даже простенького с ограниченным функционалом, довольно интересная и увлекательная задача. В последнее время любительская робототехника переживает настоящий бум, ей начали увлекаться даже те люди, которые от электроники очень далеки (к ним отношусь и я). Прошло то время, когда нужно было сидеть ночами с паяльником, или травить платы. Все стало гораздо проще, нужно лишь купить Arduino, комплект проводков, сенсоры, датчики, моторчики и вперед к сборке своего первого робота. Таким образом, фокус разработчиков — любителей сместился с электроники и механической части к программированию.
Данная серия статей будет содержать информацию для быстрого старта по созданию своего первого робота, от покупки необходимых деталей до его запуска в наш мир.
Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments33

Автомат Гаусса — реальное оружие для гика (и не только)

Reading time1 min
Views267K


На Хабре не раз и не два описывались разнообразные конструкции самодельных винтовок и пистолетов Гаусса. А как насчет автомата Гаусса? Причем автомат с достаточно высокой начальной скоростью вылета «пули». Обычно демонстрируются проекты с «пулями», которые еле долетают до цели, а тут серьезная убойная сила, пули протыкают даже крышку ноутбука.

Читать дальше →
Total votes 154: ↑142 and ↓12+130
Comments144

PhoneGap: как сделать приложение отзывчивым

Reading time11 min
Views56K
На сегодняшний день существует немалое количество обзорных статей о PhoneGap, но к сожалению, написаны они или front-end разработчиками, которые решили заняться мобильными платформами, или нативными программистами, которые решили попробовать себя в кроссплатформенной разработке. И именно с этих позиций рассматриваются достоинства и недостатки PhoneGap'а, возникают статьи о том, «насколько крута кроссплатформа», или об «ущербности кроссплатформенных решений».

В качестве затравки — видео демо-приложения, написанного за 6 часов; готовым был взят UI-бутстрап, наверстанный за 3,5 часа; использовались библиотеки iScroll, backbone, underscore, Jquery, и небольшая обертка на backbone (RAD.js — rapid application development, архитектурный фреймворк, берущий на себя часть оптимизации, связанной с мобильной средой выполнения).


Еще 2 часа было потрачено на фикс движка. Но сегодня речь не о том, что что-то тормозит, дергается, или самописный свайп не всегда вовремя отрабатывает на 14000 объектах данных; речь о том, что на PhoneGap можно и нужно писать.

Выносим на Ваше рассмотрение мнение людей, которые занимаются кроссплатформеной разработкой на PhoneGap, дабы рассказать о том, какие тонкости мы находим нужными и важными при разработке на PhoneGap, и почему они так важны.
Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments31

Оптимизация сканирования в небольшом офисе

Reading time6 min
Views17K
Доброе время суток, сообщество!

Решил рассказать как в одной рабочей группе был организован «быстрый» перевод бумажного документа в цифровой вид.

Для начала расскажу что есть. А есть рабочая группа (около 10 компьютеров) во главе с отдельно стоящим системным блоком, гордо именуемым «сервер». На сервере установлена 64-разрядная Ubuntu Server с настроенным Samba.

Как раньше сканировали менеджеры: включался компьютер, к которому был подключен планшетный сканер HP ScanJet 2400 (если не был включен) и сканировался документ постранично с указанием места сохранения файла.
Очевидные недостатки: необходимо было включать компьютер (а затем его выключать), тратилось время на ожидание загрузки ОС, программы, долгий разогрев сканера перед первым сканированием.

Как это стало: менеджер подошел к сканеру, вставил документы пачкой (до 20 листов), нажал кнопку на сканере, забрал документы. Пока вернулся на своё место сканы уже в шаре.
Время получения цифровой копии уменьшился в десятки раз.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments7

Мобильное приложения для управления умным домом на базе Z-Wave с помощью OpenRemote

Reading time8 min
Views84K

Не так давно был представлен Z-Wave модуль для Raspberry Pi — RaZBerry, который превращает мини-компьютер в полноценный контроллер умного дома. Управление Z-Wave сетью осуществляется с помощью web-интерфейса, использующего HTTP/JavaScript API. Используя JavaScript можно создать набор функций для автоматизации (включение/выключение света, проверка температуры, опрос датчика движения и др.), которые затем можно выполнить, послав HTTP запрос.

Продукт компании OpenRemote с одноименным названием позволяет создавать мобильные приложения для умного дома без программирования, при этом в одном приложении могут использоваться разные технологии: Z-Wave, KNX, X10, ZigBee, управление компьютером по ssh и др.

OpenRemote это сервер выполняющий любые команды и конструктор интерфейсов в котором вы создаете кнопки, переключатели, надписи и др. и этим элементам уже назначаете команды, в нашем случае это HTTP запросы на выполнение JavaScript функций на сервере Z-Wave.

Далее я по пунктам расскажу как создать пульт управления умным домом для iPhone и Android! А вот так будет выглядеть наше приложения, когда мы закончим:


Под катом много картинок.
Будет интересно!
Total votes 52: ↑50 and ↓2+48
Comments40

19 команд ffmpeg для любых нужд

Reading time3 min
Views572K
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →
Total votes 222: ↑214 and ↓8+206
Comments107

Видео лекций всего курса первой Школы разработки интерфейсов Яндекса

Reading time2 min
Views179K
Разработка интерфейсов — одно из важнейших направлений в Яндексе, сервисами которого пользуются миллионы людей. А ни один российский вуз, к сожалению, не готовит разработчиков интерфейсов. Все знания, которые необходимы современному верстальщику или фронтенд-программисту, приходится черпать из статей в интернете, книг, докладов на конференциях. Но зачастую этого бывает недостаточно. Почти каждого нового разработчика интерфейсов, которого мы принимали на работу, приходилось многому обучать.

За долгое время работы в Яндексе нам удалось систематизировать все наши знания и огромный опыт в создании фронтенда веб-сервисов. Результатом этого осмысления и длительной работы стала первая Школа разработки интерфейсов, занятие которой шли в московском офисе Яндекса. Вся практическая часть обучения проходила в реальных проектах Яндекса. Теоретическая же состояла из лекций, которые читали ведущие разработчики интерфейсов Яндекса: Сергей veged Бережной, Михаил mishanga Трошев, Алексей doochik Андросов, Михаил azproduction Давыдов и другие.

Выпускники первой Школы разработки интерфейсов Яндекса

Сегодня мы выкладываем видеозаписи каждой из них. Весь курс систематизирован и поделен на пять блоков: инструменты разработки, технологии в разработке интерфейсов, языки программирования, фреймворки, дизайн.

Читать дальше →
Total votes 164: ↑155 and ↓9+146
Comments64

Развёртывание репозиториев Linux

Reading time2 min
Views21K
Без синхронизаций и т.д., в варианте «есть хостинг» или «файловая помойка» и надо быстро выкатить хранилище пакетов для дистрибутива Linux (так чтобы можно было подключиться к этому репозиторию и поставить оттуда всё необходимое). Иногда обновляться в ручном режиме — копированием по тому же адресу с перезаписью. Раз в полгода или год. Задача типовая и я её опишу в полуавтоматическом режиме.
Читать дальше →
Total votes 57: ↑41 and ↓16+25
Comments24

Использование ssh socks прокси совместно с MSF Reverse TCP Payloads

Reading time5 min
Views14K
Данный вольный перевод был мотивирован необходимостью в собственном понимании сабжа после прочтения ряда постов, начало которым было положено здесь, спасибо хабраюзеру levinkv

Использование ssh socks прокси совместно с MSF Reverse TCP Payloads

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

Один из моих любимых случаев (как и многие другие) это работа с OpenSSH Socks прокси. Удаленный ssh прокси дает возможность различными способами переадресовывать трафик через ssh туннель. Тем не менее существует главный недостаток в случае с socks прокси — вы «не можете» использовать сушествующие reverse tcp payloads, которые поставляются с Metasploit framework (и многими другими подобными инструментами). Однако, это не совсем так. Есть возможность для включения некоторых функций OpenSSH в целях обхода ограничений при использовании ssh перенаправления.

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments5

Как передать данные на 54 километра, если нет 220V в шкафу?

Reading time5 min
Views29K

Передача информации по автономному беспроводному каналу: практика построения WiFi-сети большой протяженности в малонаселенных районах Камчатки.



В своей практике мы часто встречаемся с мнением, что WI-FI сети используются только для организации беспроводного доступа на небольшой площади или для линков между сетями на относительно небольшие расстояния порядка 5-10 км.
В данном обзоре мы представляем пример реализации беспроводной сети на Камчатском полуострове с расстояниями между радиоточками до 54 километров в экстремальных погодных условиях при автономном питании удаленных точек.

WIFI-сеть Камчатского филиала Геофизической службы РАН является частью корпоративной сети организации и имеет несколько сегментов, расположенных в разных районах Камчатки. Сеть обеспечивает круглосуточную передачу сейсмических данных в реальном времени. Отдельные пункты этой сети оснащены аппаратными комплексами, обеспечивающими передачу не только сейсмической, но и различной геофизической информации и дополнительно оснащены видеокамерами для наблюдения за вулканами.

Один из основных сегментов беспроводной сети располагается в районах г.Петропавловска-Камчатского и Авачинского залива, удаленные пункты сети расположены в районе перевала между Авачинским и Корякским вулканами, а также на побережье Тихого океана – пункты Налычево и бухта Русская. Все удаленные пункты функционируют в автономном режиме электропитания за счет использования солнечных панелей в тандеме c аккумуляторами.

Пример видеоизображения, передаваемого оборудованием комплекса. Вулкан «Безымянный».


Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments15

Suit Up! Простой и легкий WYSIWYG

Reading time10 min
Views58K


Статья делится на три части:
UPD Критика


Вступление


Не так давно, а, точнее, года два назад, в кругу разработчиков, с которыми я имел честь общаться (почти все — новички), каждый, кому поступила задача поставить WYSIWYG, ставили монстрообразный TinyMCE. Этот редактор считался почему-то стандартом у многих веб разработчиков, хотя, мало кому нужны были то большое количество функций, которые предлагались программистам. Тут тебе и то и это. Наверно, таким образом, новички пытались сказать клиенту «смотри, мы тебе на сайт запилили Ворд».

Однажды (не помню при каких условиях), мне захотелось или понадобилось разобраться в том, как работают браузерные «рич эдиторы». Моему удивлению не было предела, когда я сам, не имея каких-либо глубоких познаний в веб разработке, сделал две кнопочки: Bold и Italic, что оказалось очень простой задачей. Мне захотелось больше узнать о том, что же делать дальше. Так я познакомился с серией статей «WYSIWYG HTML редактор в браузере» (по ссылке первая статья, советую прочесть). Но информация на тот момент мне показалась несколько сложноватой. Поэтому я решил методом тыка, наступая на уже растоптанные кем-то грабли, написать свой простой редактор.

Сделал я его в виде jQuery плагина, и, думаю, не стоит отвечать «почему». Получилось кое-как заставить работать его в разных браузерах. Тут мне пришла в голову идея написать статью на хабр, после некоторых доработок. Время шло, допиливание я откладывал, откладывал… Два года, черт, целых два года. Но я постараюсь исправиться.


Простейший редактор


Для того, чтоб дать возможность пользователю менять содержимое блока (в данном случае, обычного дива) просто задаём ему (блоку) атрибут contenteditable:
<div contenteditable></div>

Редактор готов!
Читать дальше →
Total votes 95: ↑90 and ↓5+85
Comments88

Несколько интересных приемов и особенностей работы с MySQL

Reading time3 min
Views88K
Я думаю, что в процессе изучения той или иной СУБД каждый из вас не раз изобретал велосипеды для решения своих задач, не зная о существовании той или иной функции или приема, которые бы могли в разы ускорить выполнение запросов и уменьшить объем кода. В данной статье я хочу поделиться с вами своим опытом работы с очень «добрым» и «отзывчивым» MySQL, часто позволяющему программисту делать вещи, которые другие СУБД переварить бы не смогли. Материал будет полезен скорее тем, кто только решил углубиться в чудесный мир запросов, но возможно и опытные программисты найдут тут что-то интересное.
Читать дальше →
Total votes 132: ↑116 and ↓16+100
Comments83

Information

Rating
Does not participate
Registered
Activity