Pull to refresh
100
0
Дмитрий @Porfel

DevOps Engineer / Инженер по эксплуатации (Linux)

Send message

Пишем своё первое приложение на Android

Reading time10 min
Views1.8M

Предисловие


Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.
Читать дальше →
Total votes 138: ↑123 and ↓15+108
Comments96

Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

Reading time14 min
Views32K
Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
Читать дальше →
Total votes 196: ↑186 and ↓10+176
Comments32

Предотвращение скрытого Nmap сканирования в Linux

Reading time2 min
Views19K
Как вы наверное знаете сетевой сканер NMAP предназначен для сканирования машин или даже целых сетей на наличие открытых портов и он является наиболее эффективным в своем роде (особенно в умелых руках).Скрытое NMAP сканирование называтся таковым потому, что маловероятно, что системный журнал его зафиксирует поскольку использует нештатные комбинации флагов TCP-пакетов.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments44

Где погрызть гранит науки

Reading time4 min
Views28K
image Здравствуй, хабрасообщество. Я знаю, ты любишь халяву. А еще ты любишь учиться. Ведь так? А что может быть лучше для хабравчанина бесплатного образования? Вот и решил собрать специально для тебя подборку из ссылок, где можно набраться уму-разуму в области IT.
Все нижеперечисленные ресурсы абсолютно и официально бесплатны и свободны, что не может не радовать.

UPD. Переранжировал сайты. В категорию «Компьютерные науки» попали те сайты, которые можно внести более, чем в одну из нижеперечисленных категорий. Ранжировка производилась по большинству содержимого, то есть в некоторых сайтах, отнесенных к определенной категории, могут попадаться статьи не относящиеся к определенной, но они будут составлять абсолютное меньшинство

Большое спасибо в помощи добавлении ресурсов vansickle, RedFox, kagen, theinterman, sM1Le.

Англоязычные ресурсы



Компьютерные науки



OpenCourseWare MIT




Одно из самых больших хранилищ учебных курсов. Здесь собраны практически все курсы, которые преподаются в Massachusets Institute of Technology, который по праву считается одним из лучших в мире. На сайте всего 1900 курсов, а тех, которые преподаются на факультете Electrical Engineering and Computer Science я насчитал более 200. Состав большинства курсов: краткие конспекты лекций, подробное описание курса, календарный план, задания на лабораторные работы, задания на курсовые проекты и экзамены, промежуточные модули. К некоторым курсам прилагаются и видеолекции.

смотреть другие сайты
Total votes 223: ↑213 and ↓10+203
Comments69

Подмена фона в видеочате

Reading time2 min
Views46K
[Under Siege 2: Dark Territory]14 июля 1995 года на киноэкраны вышел фильм «Under Siege 2: Dark Territory» (в российском прокате — «Захват 2: Тёмная территория»). Один из персонажей этого фильма — злой гений-компьютерщик Трэвис Дэйн — создавал видеозапись своего лица на подменённом фоне, чтобы нельзя было установить подлинное местонахождение террористов (он использовал для этой цели фотографию Эйфелевой башни в Париже).

Прошло пятнадцать лет.

Сегодня не нужно быть компьютерным гением, чтобы подменить фон в своём видеочате. И в Chatroulette, и в Skype, и в видеокомнатах Smotri.com многие делают это. Однако, чем больше я вижу таких трюков, тем чаще вижу поверх них название программы WebcamMax. В общем-то, это и неудивительно: программа эта — платная, а в демонстрационной версии поверх видео накладывается неотключаемый «баннер». Но почему же любители видеочата не могут найти и использовать бесплатный аналог её? Я ненавистник баннерной рекламы, поэтому желал бы, чтобы все эти люди использовали другой софт.

Обращаюсь тотчас же через Хабрахабр, чтобы открытым текстом всем рекомендовать ManyCam неплохую программу, freeware, обладающую достаточными способностями для замены фона во время видеочата на любую фотографию или подвижную видеозапись из файла. Она доступна не только для Windows, но также и для Mac.

Читать дальше →
Total votes 87: ↑70 and ↓17+53
Comments26

Недорогой способ защиты от HTTP-флуда

Reading time3 min
Views16K
Случилась на днях, как всегда, не в самый подходящий момент, DDoS-атака на один из сайтов, размещенных на моем сервере. DDoS-атаки бывают разные, в этот раз злоумышленники запустили HTTP флуд.

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

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

Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments100

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Reading time5 min
Views10K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →
Total votes 160: ↑152 and ↓8+144
Comments55

Мобильные — налево, компьютеры — направо

Reading time1 min
Views8.8K
Вы обращали внимание, что при заходе на сайт www.yandex.ru, мы пытаемся определить, используете вы компьютер или мобильное устройство, чтобы показать подходящую версию главной страницы Яндекса?

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

Мы решили помочь вебмастерам. И сегодня открыли доступ всем желающим к нашей системе определения мобильных устройств — Яндекс.Детектору.

http://api.yandex.ru/detector

С его помощью можно легко перенаправлять пользователей на ту или иную верстку страницы.

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

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

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

Смотрите, внедряйте, делитесь результатами!

Команда с определёнными взглядами на мобильное устройство мира.
Total votes 127: ↑110 and ↓17+93
Comments110

Возвращаем привычный вид окон в Ubuntu 10.04

Reading time1 min
Views6.3K
Сейчас доступна Alpha3 дистрибутива, запланированного на апрель месяц. Испытывая проблемы с новым железом моего нетбука, я решил рискнуть, и поставить эту версию. Все более-менее заработало. Но художественные изыски, связанные с ребрендингом дистрибутива, смотрятся слишком непривычно. И ладно бы это был только внешний вид. Тема Human легко возвращается назад, но вот новое расположение кнопок в заголовке окна смотрится в ней совершенно инородно. Справедливости ради стоит сказать, что в новых темах, где они круглые, они смотрятся более привычно, «по маковски». Но в Human это выглядит так:



К счастью, легко вернуть все к привычному отображению. Достаточно запустить одну команду:
gconftool-2 --set "/apps/metacity/general/button_layout" --type string "menu:minimize,maximize,close"

Для любителей GUI можно запустить gconf-editor и в нем изменить ключ: apps > metacity > general > button layout > menu:minimize,maximize,close
Total votes 81: ↑63 and ↓18+45
Comments90

Google выпускает skipfish — сканер безопасности сетевых приложений

Reading time1 min
Views376
imageПолностью автоматизированный инструмент проверки безопасности ваших веб приложений от Google. Основные возможности:

высочайшая скорость: написан на C, оптимизированные HTTP запросы, минимальные требования к CPU — скорость запросов легко достигает 2000 в секунду.

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

отличная логика безопасности: высокое качество работы, различные способы проверки безопасности.

Поддерживаются операционные системы — Linux, FreeBSD, MacOS X и Windows (требуется Cygwin).

Google skipfish
Total votes 77: ↑77 and ↓0+77
Comments71

Netgraph ipfw и гибкий учет трафика через netflow

Reading time5 min
Views9K
И снова здравствуйте!

Продолжим обзор модулей FreeBSD netgraph.
Сегодня у нас в гостях ng_ipfw, ng_one2many и старый друг ng_netflow.
С их помощью попробуем посчитать трафик по определенным условиям и посмотрим как это можно использовать на практике.

Что за модули?


ng_ipfw.gif

ng_ipfw — модуль, создающий интерфейс для доступа к подсистеме netgraph из фаервола IPFW. При загрузке в ядро, модуль автоматически создает свой узел в пространстве подсистемы netgraph с именем «ipfw:», и может присутствовать только в единственном экземпляре. Ng_ipfw принимает подключения к произвольным номерным хукам, номера хуков указываются в правилах ipfw. Каждый входящий в модуль пакет тэгируется по нескольким параметрам (ipfw правило, интерфейс, направление), для того чтобы его можно было идентифицировать при возврате обратно в ipfw. Не тэгированные пакеты, возвращаемые в фаервол, уничтожаются. Контрольных сообщений модуль не принимает.
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments26

Chef или как управлять тысячей серверов

Reading time10 min
Views73K
Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
Читать дальше →
Total votes 97: ↑91 and ↓6+85
Comments26

Превью API Яндекс.Бара для разработчиков: Яндекс.Бар с вашими кнопками

Reading time2 min
Views8.1K
Независимые разработчики, веб-мастера и владельцы интернет-ресурсов! Эта версия Яндекс.Бара для вас.

Разрабатывая Яндекс.Бар, мы всегда думали, что реализации достойны компоненты всех сервисов, пусть не самых популярных, но интересных вам и вашим пользователям. Что кнопки на панели Яндекс.Бара должны уметь работать не только с сервисами Яндекса, но и с вашими любимыми сайтами вне портала. Что установка новых кнопок не должна вынуждать вас переставлять Бар целиком.
xButton  это  возможность дать пользователям вашего сайта быстрый доступ к нужным им ресурсам
В результате наших размышлений и работы над ними, в новой версии Яндекс.Бара 5.0 Beta появился язык описания пользовательски кнопок и поддерживающий его API. Эта связка зовется «xButton».

xButton — это возможность разместить свою кнопку в миллионах браузеров пользователей Яндекс.Бара. Любой желающий может написать свою кнопку или набор кнопок и предложить его другим пользователям.

Читать дальше →
Total votes 73: ↑51 and ↓22+29
Comments67

Сборка и запуск HipHop-PHP

Reading time5 min
Views18K

Почти три недели назад был анонсирован новый проект от Facebook. Он называется HipHop-PHP.
Для широкой публики исходные коды стали доступны лишь сутки назад.

HipHop был создан для улучшения производительности Facebook. Он преобразует PHP код в C++ код и комплирует его с помощью g++. HipHop доступен под opensource лицензией.

В данной статье описан процесс сборки HipHop из исходных кодов и его использование.

Читать дальше →
Total votes 127: ↑112 and ↓15+97
Comments105

Легко ли быть предпринимателем? Основные мифы и легенды, которые необходимо развеять…

Reading time5 min
Views3K
Ровно четыре месяца как мы находимся в самостоятельном плавании по волнам собственного бизнеса. Мы как никогда чувствуем себя «в седле» и испытываем огромный душевный подъем. Однако есть сложности, которые приходится преодолевать стартаперу; о них и о своем личном опыте я и хочу поведать.

Обрушились многие мифы и представления о том, как «просто и легко» заниматься собственным делом. Любой, кто начинает свое дело, полон радужных надежд и ожиданий того, что вот совсем уже скоро он станет миллионером и будет запросто руководить большим коллективом, сотрудники будут исключительно замотивированы и мотивация их будет такой же сильной, как ваша, а сами вы будете принимать только правильные и своевременные решения. И, наверное, так все и будет, но только не сразу. По пути можно разбиться о скалы разочарования. Спокойный дрейф в этой ситуации вас не спасет, поскольку другие так и норовят быть впереди, и вам тоже нужно нестись на всех парусах. Времени на раздумья очень мало. В такой ситуации очень важно понимание реальности на старте. Про основные мифы, предлагаю поговорить сейчас.

Миф 1. Я создам свое дело и буду полностью свободен.

Читать дальше →
Total votes 138: ↑111 and ↓27+84
Comments106

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

Производится тонкая настройка параметров системы. Так что север будет способен выдерживать больше подключений от ботнета, чем канал до сервера сможет пропустить.

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →
Total votes 193: ↑179 and ↓14+165
Comments78

Преодолеваем хабраэффект при помощи Coral CDN

Reading time3 min
Views4.2K
Вы выкладываете на Хабрахабре гиперссылку на интересный сайт, а он вскорости обрушивается под наплывом посетителей, начинает подтормаживать или вообще перестаёт отвечать.

Вы помещаете в свою блогозапись иллюстрацию с другого сайта, а она вскорости не выдерживает напора зрителей, перестаёт отображаться или сменяется на уродливое уведомление о превышении объёмов выделенного ей траффика.

Таковы бывают неприятные проявления хабраэффекта — естественного DDoS, аналогом которого на Заокраинном Западе является слэшдот-эффект.

Ну а как противостоять естественному DDoS?

Первыми приходят на ум наиболее бесхитростные способы.

Читать дальше →
Total votes 146: ↑132 and ↓14+118
Comments47

Поделись консольным выводом своим и он не раз к тебе ещё вернётся

Reading time2 min
Views2K
Сталкивались с такой задачей надо кому-то передать значение вывода своей консоли или какие-то исходники или ещё что. Как — email, blog?.. В Linux'е, оказывается, есть инструментарий который способен максимально облегчить эту задачу и имя ему pastebinit.
Читать дальше →
Total votes 83: ↑68 and ↓15+53
Comments27

Linux, безопасность и все такое… (вдогонку)

Reading time2 min
Views13K
Навеяло вот этим топиком. Автор задал правильные вопросы, но к сожалению не дал правильных ответов.
На самом деле это общая грустная тенденция. Почему-то все свято уверены, что раз вирусов под линуксом нету, то и безопасность сама собой обеспечивается. Понимание ошибочности этого взгляда приходит зачастую слишком поздно, когда ты уже хакнут, причем еще неизвестно, какой из описанных в комментах случаев хуже — хакнутый корпоративный сервер или установленная любимым сыном дома маме десктопная убунта.
Давайте глянем, как можно обезопасить себя от всякой фигни.
Дальше
Total votes 137: ↑116 and ↓21+95
Comments81

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity