Pull to refresh
3
0
Hellbot @Hellbot

User

Send message

Основы программирования под Android на примере игры Судоку

Reading time6 min
Views375K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments48

Tips and Tricks по программированию на Android

Reading time5 min
Views7.2K
Tips and Tricks
Летом друг подкинул пару заказов по разработке для Android. Первое это streaming проигрыватель видео для одного французского телевидения, второе — простенькая игрушка.
Во время разработки (мой первый опыт разработки на Android и на Java), я уяснил несколько правил, которые нужно соблюдать для корректной и устойчивой работы программ, которыми хочу поделится…
Читать дальше →
Total votes 91: ↑75 and ↓16+59
Comments44

Новая опасная уязвимость ShellShock позволяет атаковать множество устройств, от смартфонов до промышленных серверов

Reading time3 min
Views36K
Эксперты Positive Technologies предупреждают о новой уязвимости ShellShock (CVE-2014-6271), использование которой позволяет выполнить произвольный код. Уязвимость затронула не только интернет-серверы и рабочие станции, но и устройства, которые мы используем в повседневной жизни — смартфоны и планшеты, домашние маршрутизаторы, ноутбуки.

image

Уязвимость присутствует в одном из фундаментальных компонентов Linux-систем, командной оболочке bash. Механизм обработки экспортированных функций позволяет злоумышленнику удаленно запускать произвольные команды операционной системы, в случае если он имеет возможность влиять на переменные окружения системы. Подобная ситуация часто складывается в веб-приложениях при использовании интерфейса CGI (например, сервер Apache с использованием mod_cgi или mod_cgid). Также уязвимы распространенные технологии онлайн-разработки PHP и Python при использовании вызовов system/exec или os.system/os.popen соответственно.
Читать дальше →
Total votes 60: ↑40 and ↓20+20
Comments24

Построение СУИБ: С чего начать?

Reading time7 min
Views38K
Доброго времени суток, уважаемые!
Давно не писал на Хабр, не было времени, много работы было. Но теперь разгрузился и сформировались мысли для нового поста.

Общался с одним из товарищей, на которого взвалили труд по ИБ в организации (товарищ сисадмин), и он просил рассказать с чего начать и куда двигаться. Немного привёл мысли и знания в порядок и выдал ему примерный план.
К сожалению, такая ситуация далеко не единична и встречается часто. Работадатели, как правило, хотят что бы был и швец и жнец и на дуде игрец и всё это за один прайс. К вопросу о том, почему ИБ не нужно относить к ИТ я вернусь позже, а сейчас всё-таки рассмотрим с чего вам начинать, если такое случилось и вы подписались на подобную авантюру, то есть создание системы управления информационной безопасностью (СУИБ).

Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments35

Защищаем сеть L2 коммутаторами

Reading time9 min
Views112K


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

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

Рассматриваться будут:

• Rogue DHCP Server
• DHCP starvation
• CAM-table overflow
• VLAN hopping
• MAC-spoofing

За основу взят видеоурок CBT nuggets из цикла CCNA security.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments16

Молнии

Reading time4 min
Views42K


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

По крайней мере, таков план.

Но как же именно вам, как разработчику игры, отрендерить такой эффект?
Читать дальше →
Total votes 99: ↑97 and ↓2+95
Comments22

«Правильное» ограничение скорости в Nginx. Миф или реальность?

Reading time3 min
Views34K


Вот уже много лет пользователей Nginx мучает один и тот же вопрос: «Как можно ограничить скорость в целом для IP адреса независимо от числа сессий (соединений)? Почему Nginx этого не умеет? Почему разработчики Nginx так упорно не хотят реализовать этот простой функционал?» И ответить мне им нечего, о чём думают разработчики Nginx — не понятно и известно, наверное, только господу богу.

Бороться с этим можно по разному, кто-то использует скрипты на подобие htb.init, кто-то пишет скрипты шейпинга самостоятельно и делится удачным опытом на Хабре, а некоторые и вовсе используют PHP для ограничения скорости отдачи файлов. Только представьте себе, каким будет оверхед и расход памяти, при использовании PHP в подобных целях.
Читать дальше →
Total votes 51: ↑45 and ↓6+39
Comments59

Реинкарнация NTLM-relay или как стать администратором домена за 1 минуту

Reading time2 min
Views34K
Данный пост является логическим продолжением исследований, начатых в тыц и тыц.

В первом посте я писал о старом добром SMB Relay в контексте современных условий эксплуатации.
Второй пост затрагивал новую технику под названием SMB Hijacking с помощью которой можно выполнить код даже если исходящая SMB сессия использует Kerberos.

В этот раз речь пойдет об очередной технике, в основе которой лежит классический NTLM Relay.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments16

Кросскомпиляция библиотек под iOS, делаем это правильно

Reading time4 min
Views11K
Во время разработки большого проекта наступает такой момент, когда надо встроить в приложение библиотеку из мира open source с подходящей лицензией. Например, вам захотелось ускорить декодирование картинок, или понадобился sqlite3 с fts4, или нужны какие-то плюшки из libicu, которых нету в системной libicucore.

Для этого библиотеку, которая понадобилась, нужно будет собрать для 5 архитектур: armv7, armv7s, arm64, i386, x86_64. С кросскомпиляцией есть много подводных камней, на которые не хотелось бы наткнуться, когда есть уже проверенные решения. В этом коротком посте я расскажу об автоматизации сборки библиотек на примере protobuf и sqlite3.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments4

Windows Internals. Второй том в продаже!

Reading time2 min
Views17K
Рады сообщить, что в нашем издательстве вышла вторая часть 6-го издания легендарной книги Windows Internals посвященной внутреннему устройству и алгоритмам работы основных компонентов операционной системы Microsoft Windows. Напомним, что впервые Windows Internals была разбита авторами на два тома. Первый том выходил в прошлом году, мы писали о нем здесь.

image

Шестое издание книги Windows Internals охватывает внутреннее ядро компонентов Windows 7 и Windows Server 2008 R2.
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments11

Оптимизируем бизнес-процесс с помощью симулятора

Reading time6 min
Views25K
У оптимизации процессов непростая судьба. В середине двухтысячных даже запрещалось упоминать это слово, как скомпрометированное подразумеванием бесполезной деятельности. До сих пор люди стараются использовать синонимы типа реинжиниринг, improvement, performance и т.п. Тем не менее повышение эффективности является одной из целей деятельности по управлению бизнес-процессами. Основой для оптимизации является результат анализа данных об окружении и содержании процесса. В случае отсутствия возможности сбора статистических данных (например при дизайне нового процесса), они генерируются симуляторами БП.
В одном из предыдущих постов на Хабре я рассказал об онлайн-сервисе имитационного моделирования бизнес-процессов bpsimulator.com. Сегодня мы постараемся с его помощью решить конкретную задачу по повышению эффективности работы, например процесса розничного кредитования банка.

Цель оптимизации


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

Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments0

Мониторинг событий информационной безопасности с помощью ZABBIX

Reading time9 min
Views168K
image

Некоторое время поработав с Zabbix, я подумал, почему бы не попробовать использовать его в качестве решения для мониторинга событий информационной безопасности. Как известно, в ИТ инфраструктуре предприятия множество самых разных систем, генерирующих такой поток событий информационной безопасности, что просмотреть их все просто невозможно. Сейчас в нашей корпоративной системе мониторинга сотни сервисов, которые мы наблюдаем с большой степенью детализации. В данной статье, я рассматриваю особенности использования Zabbix в качестве решения по мониторингу событий ИБ.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments29

Objective-C Runtime в примерах

Reading time1 min
Views8.6K
Продолжаем выкладывать видео с одиннадцатой встречи Apple Developers Community, которую 27 февраля провели компании e-Legion и Jetbrains.

Следующий докладчик Алексей storoj Сторожев, разработчик e-Legion. Цель доклада — вдохновить разработчиков на более глубокое изучение возможностей Objective-C Runtime, показать способы исследования системы, воодушевить аудиторию на эксперименты.


Презентация

В докладе показаны несколько примеров использования Objective-C Runtime для решения нетипичных задач.
Первый пример — реализация простого KVO своими руками тремя способами. Вторым примером показана полезность исследования приватных классов. Рассказано, как во время работы программы получить информацию о протянутых IBOutlet и IBAction в xib и storyboard. В каждом примере присутствуют особенности реализации, на которых сделан акцент и показаны варианты решения.
Total votes 20: ↑16 and ↓4+12
Comments2

Идеальная IT-компания. Как из гиков собрать команду программистов

Reading time3 min
Views26K
«Эта великолепная книга разговаривает с гиком, который живет
внутри вас. Но даже если вы не считаете себя гиком, то книгу всё равно
стоит прочитать.».

Винт Серф (Vint Cerf), известный как «отец» Интернета

«Если вы стремитесь создать команду, сконцентрированную на раз-
работке высококлассного ПО, то вам необходимо прочесть эту книгу.
Бен и Фитц отлично перевели такие тонкие материи, как скромность,
уважение и доверие, на язык тактических ориентировок, которые будут
полезны самым скептически настроенным разработчикам».

Эрик Лант (Eric Lunt),
технический директор и сооснователь компании BrightTag

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

Для кого предназначена эта книга


Эта книга предназначена в первую очередь для разработчиков ПО, стремящихся строить свою карьеру и создавать высококлассные программы. К целевой аудитории книги не относятся генеральные директоры, психологи, управленцы, теоретики-компьютерщики
и специалисты по электронике (хотя все эти профессионалы тоже могут получить удовольствие от чтения). При написании книги мы руководствовались следующими предпосылками:
  • читатель работает в команде программистов, например принимает участие в проекте с открытым исходным кодом;
  • читатель получает удовольствие от разработки ПО и считает ее достойным и увлекательным занятием. Если вы преобразуете нули в единицы и обратно с целью отделаться от кредиторов, то вы вряд ли заинтересованы в саморазвитии и карьерных достижениях.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments11

Holland — бекапы MySQL/PostgreSQL без головной боли

Reading time8 min
Views19K
Holland LogoВ один из дней мне надоело использовать самописные скрипты для создания резервных копий баз данных. Не важно, разработаны они были мной или найдены где-то на просторах интернета. Исходя из принципа, что время является самым дорогим ресурсом системного администратора (инженера, архитектора), было найдено решение, отвечающее следующим требованиям: простая установка, быстрая настройка и, как сумма предыдущих требований, быстрое введение в эксплуатацию.

Согласно официальному сайту, Holland — фреймворк с открытым исходным кодом для создания резервных копий, разработанный Rackspace и написанный на языке Python. Проект преследует цель создания бекапов с большой гибкостью настройки, логичной структурой и простотой использования. В данный момент Holland работает с MySQL и PostgreSQL, однако в будущем будет включать большее разнообразие баз данных, и даже приложения, никак не относящимся к базам данных. Благодаря модульной структуре Holland может быть использован для создания резервных копий чего угодно, как угодно.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments15

Box2d: анатомия коллизий

Reading time10 min
Views37K
Что такое коллизии?

В Box2D принято считать, что друг с другом сталкиваются тела, однако на самом деле при расчете коллизий используются фикстуры (fixtures, переводы слова существуют, но я не уверен, есть ли среди них устоявшийся). Объекты могут сталкиваться разными способами, поэтому библиотека предоставляет большое количество уточняющей информации, которая может быть использована в игровой логике. Например, вы можете захотеть узнать следующее:

  • Когда столкновение начинается и заканчивается
  • Точку соприкосновения фикстур
  • Вектор нормали к линии контакта фикстур
  • Какая энергия была приложена и результат коллизии

Обычно столкновение происходит очень быстро, однако в этой статье мы попытаемся взять одну конкретную коллизию и замедлить ее, чтобы успеть рассмотреть детали происходящего и информацию, которую можно извлечь из события.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments18

MMU в картинках (часть 1)

Reading time11 min
Views73K
Хочу поговорить об устройстве управления памятью (Memory Management Unit, MMU). Как вы, разумеется, знаете, основной функцией MMU является аппаратная поддержка виртуальной памяти. Словарь по кибернетике под редакцией академика Глушкова говорит нам, что виртуальная память — это воображаемая память, выделяемая операционной системой для размещения пользовательской программы, ее рабочих полей и информационных массивов.

У систем с виртуальной памятью четыре основных свойства:
  1. Пользовательские процессы изолированы друг от друга и, умирая, не тянут за собой всю систему
  2. Пользовательские процессы изолированы от физической памяти, то есть знать не знают, сколько у вас на самом деле оперативки и по каким адресам она находится.
  3. Операционная система гораздо сложнее, чем в системах без виртуальной памяти
  4. Никогда нельзя знать заранее, сколько времени займет выполнение следующей команды процессора

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

К сожалению, по какой-то причине все вышеперечисленные товарищи недостаточно почтительно относятся к MMU, а их знакомство с виртуальной памятью обычно начинается и заканчивается изучением страничной организации памяти и буфера ассоциативной трансляции (Translation Lookaside Buffer, TLB). Самое интересное при этом остается за кадром.
Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments17

Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: прыжки (и падения)

Reading time8 min
Views154K
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)

Всем привет. Продолжаем серию уроков по созданию 2D персонажа. В предыдущих двух частях мы сделали персонажа, который может находиться в двух состояниях: покой и бег вправо-влево. Возможно, для очень простой игры этого будет достаточно. Но мы не будем останавливаться на достигнутом и сегодня научим нашего персонажа прыгать.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments16

Управленческие инструменты: 5 вопросов для прояснения целей или для чего нужен BMW X5?

Reading time7 min
Views113K
Давным давно в одной из компаний, лидере мирового производства микропроцессоров, меня однажды поразила менеджерская напасть. Решил, знаете ли, заняться развитием сотрудников. (Периодически, такое с менеджерами случается, да.)

Подхожу к своему сотруднику — назовем его Серега:

— Серега, — говорю, — ты в какую сторону вообще хочешь развиваться: в техническую или в менеджерскую?

— Сань, ну голова варит уже не очень, возраст… (Серега старше меня на 3 года) Поэтому, наверное, в менеджерскую.


Ну, в менеджерскую — так в менеджерскую. Я ж на тот момент был менеджер опытный, уже 4 года опыта! Энергии много, желания помочь людям — через край!

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

А кончилось все тем, что пришлось нам с Серегой расставаться. Как так получилось, где Серега в итоге реализовал себя, и какой правильный управленческий инструмент я мог бы тогда применить — об этом сегодня и поговорим.

Заодно поговорим, что делать, если вы обнаружили себя и/или своих сотрудников в квадрате C в статье:

Читать дальше →
Total votes 133: ↑115 and ↓18+97
Comments56

Создаем клон игры Flappy Bird, используя движок физики iOS7

Reading time2 min
Views53K
#FlappyBird — И этим все сказано!



Эта игрушка невероятно проста, но в тоже время содержит добротную смесь развлечения и негодования присущее играм 90-х, таким как Double Dragon 3, и Teenage Mutant Ninja Turtles. После того как Dong Nguyen объявил о том, что собирается убрать игру из app store, мне стало интересно насколько сложно воссоздать физику и взаимодействие с помощью нового физического движка iOS7. Я написал эту статью потому, что многие разработчики даже не знают, что IOS 7 имеет встроенный физический движок — UIKit Dynamics.
Читать дальше →
Total votes 85: ↑70 and ↓15+55
Comments24

Information

Rating
Does not participate
Location
Россия
Registered
Activity