Pull to refresh
67
0
Андрей @xaker1

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

Send message

Как загружается FREEBSD

Reading time2 min
Views3.7K
Для начала, опишем пациента. Я разбирал FREEBSD 8.0 Stable, а именно самый минимальный образ для загрузки с CD-ROM (44 мб). Я выбрал именно его, так как он самый маленький и удобный (для разбирательств).
Итак, начало для загрузки стандартное — по адресу 0000:7C00 грузится загрузочный сектор (только не забываем что у CD-ROM сектора по 2 Кб), и запускается на выполнение. Как оказалось, у данного CD-ROM, этот сектор является одновременно файлом /boot/cdboot, размером 1201 байт. Состоит этот файл из двух частей — основной и небольшой заглушки, которая понадобится позже. То есть карта памяти у нас такая:

image

Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments13

Минимальная Arduino своими руками

Reading time4 min
Views378K
Arduino — это хорошо, когда хочется быстро реализовать идею, не заморачиваясь мелочами. Но когда идея проверена, лишняя функциональность начинает просто мешать.
Собирая робота на гусеничном шасси, я столкнулся с тем, что бутерброд из Arduino + MotorShield + Sensor Shield плюс ко всему аккумулятор и прочие компоненты обросли проводами и стали с трудом помещаться на не самом крошечном шасси. Городить еще кучу шилдов, чтобы избавиться от лишних проводов не хотелось.
Появилась идея избавиться от всего, что в Arduino не требуется в готовом девайсе. Попутно хотелось снизить стоимость робота.
Многих интересующихся электроникой отпугивает еще и стоимость Arduino в магазинах. С ebay и китайских магазинов посылка идет долго, изобретательский пыл успевает остыть, поэтому приобретение откладывается «на потом», «когда сын подрастет». Поэтому я решил собрать Arduino-совместимую плату из деталей, которые всегда можно купить в городе.
В итоге я получил Arduino-совместимую плату, стоимостью в 210 рублей на макетной плате и в ~270 рублей в готовом для наращивания функционала виде.
Minimalist Arduino
«Minimalist Arduino»
С нуля до полной готовности собирается с дешевым 40Вт паяльником за 1 выходной без каких-то особых навыков.
Читать дальше →
Total votes 133: ↑131 and ↓2+129
Comments74

Простая GSM-сигнализация из подручных материалов

Reading time3 min
Views131K
На днях к нам обратился старый знакомый. Он живет в частном доме и пару раз к нему пытались зайти без приглашения неизвестные личности. Назрела необходимость в установке сигнализации. Ставить дом на пульт оказалось слишком дорого. Оптимальным решением показалось просто оповещать хозяина звонком на мобильник при сработке одного из датчиков движения.


Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments65

Коды возврата vs исключения — битва за контроль ошибок

Reading time7 min
Views22K
Судя по всему, неделя исключений на хабре успешно наступила :). Накопив достаточную «подушку» кармы чтобы не бояться уйти в минус, я, пожалуй, тоже выскажу свое мнение по данному вопросу. Сразу оговорюсь, что мнение сугубо личное, основанное на небольшом практическом опыте коммерческой разработки: C++, Objective-C, C#, Java, Python, Ruby.
Под катом много текста, фрагментов кода и нет картинок O_O
Total votes 111: ↑100 and ↓11+89
Comments159

Разбор атак на части: SYN-flood

Reading time6 min
Views54K
Spoofed SYN — атака, при которой заголовки пакетов подделывается таким образом, что место реального отправителя занимает произвольный либо несуществующий IP-адрес.

Так как по сути SYN является частым инструментом "интенсивной конкурентной борьбы" и — в то же время — большинство решений DDoS mitigation показывают впечатляющую эффективность именно на этом виде атак, то и мы начнем c SYN-flood, рассмотрев spoofed-вид атаки, как самый грозный из них.
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments32

Читаем QR код

Reading time5 min
Views1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Total votes 623: ↑614 and ↓9+605
Comments109

Кое-что о соглашениях об именах почтовых ящиков

Reading time4 min
Views53K

Заведя для себя «почту для домена» на Яндексе, я решил открыть свободную регистрацию посторонним юзерам почтовых ящиков на своем «модном» домене. Помимо включения функции catch-all, которая направляет всю входящую почту несуществующих ящиков моего домена на мой основной ящик, предо мной встала необходимость зарезервировать за собой все «стандартные» названия ящиков, чтобы не было недоразумений, когда какое-то имя уже забил посторонний, и вся «служебная» почта уходит совсем не вам. В П.Д.Д. можно, конечно, в любой момент экспроприировать любой ящик подконтрольного домена, но ведь осадочек-то остается. Я озадачился: какие же имена почтовых ящиков являются стандартными и системными? Техподдержка Яндекса ответила, что они резервируют для себя только имя postmaster@ на каждом домене, чтобы отслеживать жалобы и проблемы с почтой, и что на данный момент вопрос о наборе резервированных имен у них остается открытым. Далее, результат поиска в интернете оказался немного предсказуем.
Читать дальше →
Total votes 101: ↑94 and ↓7+87
Comments35

Взаимодействие bash-скриптов с пользователем

Reading time4 min
Views145K
Любой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)

Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
Итак, приступим...
Total votes 89: ↑87 and ↓2+85
Comments48

Через какую дыру взломали сайт?

Reading time6 min
Views142K
imageЕсли сайт взломан, мало удалить с него вирус и загруженный PHP Shell. Нужно еще найти причину, по которой произошел взлом, иначе через день-два на сайте снова будет под бодрую музыку развеваться красивый турецкий иностранный флаг. Чаще всего причина — украденный пароль от FTP, устаревшая версия CMS или плагина к ней, но как найти, что именно было использовано для проникновения?

Имея некоторый опыт в этой сфере (в среднем наша техподдержка занимается поиском причины взлома сайта раз в неделю), мы систематизировали накопившуюся информацию.

Итак, зачем вообще взламывают сайты? И что делать, если сайт взломан, как найти причину и защититься от последующих атак?
Читать дальше →
Total votes 67: ↑56 and ↓11+45
Comments42

Обязательные поля при регистрации

Reading time2 min
Views6.9K
Разрабатывая интерфейс для очередного сайта, основной аудиторией которого будут люди не очень продвинутые технически, я задумался над вопросом об обязательных для регистрации полях и минимизации их количества.

В голову пришли следующие варианты:

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

1 поле: email
Пользователь оставляет email, id создается автоматически, на email он получает пароль, авторизация либо по ID либо по email, username задается пользователем уже в профиле

+ Черт, это все таки одно поле! По умолчанию может быть сгенерен устойчивый к перебору пароль.
± username свободно меняются, и могут оставаться пустыми. Учитывать пользователей по айдишникам мне не хочется
— ЧПУ приобретают вид ufosite.nl/users/18567, скорее всего пользователь захочет сменить свой пароль. При ЧПУ вида ufosite.nl/users/customusername наступает ад для поисковиков. Строить ЧПУ на основе email, который, к тому же, далеко не все захотят публиковать — это подарок спамерам и ЧПУ становятся не совсем ЧПУ.

Читать дальше →
Total votes 39: ↑23 and ↓16+7
Comments82

Выбираем платежную систему

Reading time6 min
Views139K
Всем привет!

На днях я делал интеграцию своего сайта с платежными системами для отъёма денег у населения. Решил поделиться своими наблюдениями по поводу качества работы и быстроты настройки некоторых систем.

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

В общем виде технически подключение выглядит следующим образом: пользователю выписывается счет на оплату. Он выбирает платежную систему, после чего ему генерируется форма с параметрами платежа для отправки на сайт платежной системы. Когда платеж прошел (или не прошел), сервер платежной системы запрашивает определенный URL магазина, а магазин, в свою очередь, зачисляет платеж на счет пользователя. После этого пользователя перекидывает на страницу с комментарием о том, что платеж прошел или не прошел.
Читать дальше →
Total votes 62: ↑59 and ↓3+56
Comments166

Принципы дизайна страниц оплаты для интернет-магазинов

Reading time14 min
Views21K
Представляю вашему вниманию перевод статьи под названием "Fundamental Guidelines Of E-Commerce Checkout Design" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.


Грустная статистика систем электронной коммерции — согласно последним исследованиям, по крайней мере 59,8% потенциальных покупателей покидают сайт на этапе оформления заказа и его оплаты (у разных исследований разные показатели — от 59,8% у MarketingSherpa до 83% у SeeWhy).

Основной вопрос заключается в том, почему пользователи так часто и массово покидают свою корзину, не закончив оформление заказа? Причина заключена в какой-то фундаментальной ошибке дизайнеров, создающих интернет-магазины? А быть может есть какие-то формальные правила, которые усложняют жизнь простым пользователям и мешают им покупать продукты? Существует ли какая-то возможность улучшить ситуацию и повысить конверсию электронных магазинов?
Читать дальше →
Total votes 174: ↑168 and ↓6+162
Comments58

Chosen: сделай выпадающие списки более дружественными

Reading time1 min
Views54K
Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

$(".chzn-select").chosen()
(версия для jQuery)

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

Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
Total votes 264: ↑250 and ↓14+236
Comments57

Ситуация с IPv4

Reading time4 min
Views2.7K
Существует некоторая путаница с тем, закончились IPv4, «вот-вот закончатся» или их ещё очень много.

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

Источник всея IP


Те, кто скажет, что источником IP-адресов является IANA, будут немного неправы. IANA, как и RIR'ы, подчиняются полиси, которую принимают консенсусом среди всех участников интернета. (Для тех, кто не знает, кто есть IANA и RIR, см ниже). Сообщество приняло в качестве протокола IPv4, вместе с его «номером сети» и «широковещательным адресом», концепцией агрегации маршрутов, сегментами серых и мультикаст-адресов и т.д. Именно оно (сообщество) определяет правила выделения адресов и политику фильтрации. И именно оно делегировало IANA приличную порцию адресов. (не все /0, но весьма большой кусок — больше /1). И уже адреса из него раздаёт IANA.

Кто такие «члены сообщества»? Чисто формально — любые люди. На практике: «любые люди» — это люди, способные связно говорить о процедурах выделения (allocation) и назначения (assignation) адресов, понимающие как реализуется multihomed, и что такое нетранзитный частный атрибут у комьюнити. То есть, де-факто, сетевые администраторы и noc'и крупных операторов связи, крупных хостеров, очень крупных организаций и т.д. Эти сообщества (несколько произвольно) разделены по регионам. Наше (европейское) сообщество называется RIPE, расшифровку на французском я не помню. Таких сообществ несколько, и они определяют во-первых локальные правила выделения адресов, во-вторых, глобальные правила.
Читать дальше →
Total votes 144: ↑136 and ↓8+128
Comments187

Создаём e-mail рассылку, которая продаёт

Reading time6 min
Views6K
Рискну показаться банальным, но скажу: конечной целью любого коммерческого письма является продажа. Продажа товара, услуги, бренда — не суть. Следовательно, письмо, которое вы рассылаете своим клиентам, должно быть составлено по правилам и канонам продающего текста. UniSender поможет вам понять, каким именно должен быть текст в вашей рассылке.


Читать дальше →
Total votes 26: ↑10 and ↓16-6
Comments11

Что у сайта под капотом

Reading time1 min
Views2.4K
Появился ещё один полезный инструмент для веб-мастера — UnderTheSite. Он изучает заголовки HTTP, код страниц (краулер скачивает примерно десять страничек), JavaScript и CSS, чтобы идентифицировать характерные следы тех или иных технологий (matcher’ы). Один запрос — и на странице отображается сразу полный список, что удалось обнаружить. Можно сразу набирать URL вида underthesite.com/sites/habrahabr.ru. Например:

Google: Google Webmaster Tools Verification, Google Analytics, Google Web Server, UTF-8 Unicode charset, Google Web Fonts, HTML5, Google Website Optimizer, YUI Library.

Яндекс: jQuery, Nginx, Open Graph Protocol, OpenID, OpenSearch, UTF-8 Unicode charset.

Хабрахабр: Google Analytics, Nginx, MooTools, swfobject, UTF-8 Unicode charset.

Автор просит добавлять новые технологии для определения: каждый может сделать это самостоятельно после регистрации.
Total votes 102: ↑86 and ↓16+70
Comments34

Девять правил легальной рассылки

Reading time8 min
Views217K
Почтовая рассылка — хороший способ оповестить о новостях проекта, найти новых клиентов и заново привлечь тех, кто уже однажды стал вашим клиентом. Но если вы при этом не хотите приобрести клеймо спамера, то стоит придерживаться нескольких простых правил.

Что такое спам? Это 80% почтового трафика в интернете и 20% эффективности. Обычная, грамотно сделанная email рассылка, будет в разы эффективнее. Но даже с самыми благими намерениями всегда есть риск попасть в чистилище папки «Нежелательная почта». Чтобы этого избежать, нужно учитывать ряд нюансов.

Как обычно, саммари в начале статьи и дальше — подробные пояснения. Итак, 9 простых правил:
  1. Не занимайтесь спамом
  2. Спрашивайте у адресатов согласия на рассылку
  3. Обновляйте ваши базы адресов
  4. Не используйте покупные базы
  5. Храните подтверждения о законности вашей базы
  6. Давайте возможность отписаться прямо из рассылки
  7. Не повторяйтесь
  8. Красиво и грамотно составляйте письма
  9. Учитывайте требования спам-фильтров
Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments38

Аутентификация на базе ЭЦП

Reading time2 min
Views20K
Уже в нескольких топиках рассматривались проблемы построения безопасного механизма аутентификации при небезопасном соединении. Ниже предлагается к обсуждению схема с использованием асимметричной криптографии. Такой подход позволит аутентифицироваться на сервере, никогда не передавая серверу пароль, ни при регистрации, ни при аутентификации. Как всегда, будет демонстрация и исходные коды. Кому данная тема интересна, прошу под кат.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments48

Центр управления доменами 2ns.info

Reading time7 min
Views3K
Каждый уважающий себя юзер имеет про запас домен-другой, и вовсе не обязательно для нужд киберсквоттинга, а вполне себе для личных или рабочих потребностей.

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



Чтобы решить эту головную боль и был создан полезный стартап 2ns.info, который представляет собой своеобразный пульт управления доменами, позволяющий сосредоточить в одном месте все нужные сервисы:
— и дополнительные, но полезные фишки:

Проект действительно очень интересный, его подробный обзор — под катом.

Читать дальше →
Total votes 52: ↑44 and ↓8+36
Comments114

Именование узлов в сети

Reading time8 min
Views49K
Хочу поднять вопрос, который, как мне кажется, никто не рассматривал ранее системно. Вопрос звучит так:

как называть узлы и интерфейсы узлов в сети?


Для начала обрисую суть проблемы: когда у вас 2-3-5-10 серверов, то их названия, адреса и т.д. вы быстро запоминаете, и особой путаницы они не вызывают. Но если у вас несколько тысяч серверов (добавим к реальным ещё виртуальные), если у вашего маршрутизатора несколько сотен реальных или виртуальных (в виланах) интерфейсов, каждому из которых нужно дать имя (хотя бы для PTR/A записей в DNS), когда у вас есть интерфейсы для конфигурирования коммутаторов, принт-серверов, сетевых принтеров… В этих условиях нужно реально садиться и думать, как их называть. Лучше садиться думать до того, как начали называть, чем после.

Читать дальше →
Total votes 135: ↑121 and ↓14+107
Comments87

Information

Rating
Does not participate
Location
Астрахань, Астраханская обл., Россия
Registered
Activity