Как стать автором
Обновить
25
0

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

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

Руководство и шпаргалка по Wireshark

Время на прочтение7 мин
Количество просмотров318K
Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:

Устранение неполадок сетевого подключения


  • Визуальное отображение потери пакетов
  • Анализ ретрансляции TCP
  • График по пакетам с большой задержкой ответа

Исследование сессий прикладного уровня (даже при шифровании с помощью SSL/TLS, см. ниже)


  • Полный просмотр HTTP-сессий, включая все заголовки и данные для запросов и ответов
  • Просмотр сеансов Telnet, просмотр паролей, введённых команд и ответов
  • Просмотр трафика SMTP и POP3, чтение писем
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии5

Как работает радиоинтерфейс в GSM-сетях

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


Думаю, многие когда-либо задумывались над тем, как работают сотовые сети. Ведь мы пользуемся мобильными телефонами почти каждый день. Количество абонентов увеличивается с каждым днем, так же как и площади сетевого покрытия… На смену старым стандартам приходят новые, растут и «аппетиты» пользователей мобильного интернета. Если Вас интересует, как все это работает, добро пожаловать под кат! Поскольку инфраструктура сотовых сетей довольно велика, а ее описание может занять целую книгу, в данной статье мы остановимся на Um-интерфейсе, с помощью которого наши телефоны взаимодействуют с оборудованием оператора, а также другими абонентами.

Осторожно, злая собака много картинок!
Читать дальше →
Всего голосов 59: ↑58 и ↓1+57
Комментарии29

Как мы потратили 1 год и 3 месяца на разработку браузерной игры

Время на прочтение7 мин
Количество просмотров50K
В этой статье расскажу о том, как начинал разработку собственной игры. Вы узнаете, сколько ушло на это времени и стоило ли вообще за это браться.

На игру мы потратили 1 год и 3 месяца, ниже я подробно распишу, куда ушло это время.

Предыстория


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

Диалог был примерно такой:
— Может, игру начнем делать?
— Давайте, почему бы не попробовать?
— А о чем игра то будет?

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

— Шутеров — куча, танки — есть, самолеты — есть, гонки — есть, что же тогда делать?
— Лодок нет.

А ведь и правда, никто на тот момент не мог назвать ни одной игры с использованием водного вида транспорта. «Окей, сделаем простенькую игру, чтобы научиться. Вода и лодочки, что может быть проще?» — подумали мы, и собрались искать движок, на основе которого могли бы сделать игру.

Никто из нас даже не думал о 2D игре, сразу все представляли 3D — «инновации» ведь.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии18

Галерея эффектов кэшей процессоров

Время на прочтение10 мин
Количество просмотров25K
Ядро PenrynПочти все разработчики знают, что кэш процессора — это такая маленькая, но быстрая память, в которой хранятся данные из недавно посещённых областей памяти — определение краткое и довольно точное. Тем не менее, знание «скучных» подробностей относительно механизмов работы кэша необходимо для понимания факторов влияющих на производительность кода.

В этой статье мы рассмотрим ряд примеров иллюстрирующих различные особенности работы кэшей и их влияние на производительность. Примеры будут на C#, выбор языка и платформы не так сильно влияет на оценку производительности и конечные выводы. Естественно, в разумных пределах, если вы выберите язык, в котором чтение значения из массива равносильно обращению к хеш-таблице, никаких результатов пригодных к интерпретации вы не получите. Курсивом идут примечания переводчика.
Читать дальше
Всего голосов 181: ↑177 и ↓4+173
Комментарии47

APRS

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

APRS [1, 2] это протокол цифровой радиолюбительской связи. На базе этого протокола построена глобальная система связи. Её основные задачи: передача информации о координатах объектов в пространстве, обмен сообщениями, передача данных с погодных станций и многое другое.

О чем эта статья? Вообще APRS — большая, сложная и непонятная тема даже для большинства радиолюбителей. Но на Хабре радиолюбителей не очень много. Поэтому я бы хотел показать, что сам стандарт очень хорош и может применяться за пределами любительского радио. Существует много систем, где вопрос обмена сообщениями о координатах изобретается снова и снова (транспорт), придумываются форматы передачи информации, например, о погоде с погодных станций, разрабатываются способы передачи текстовых сообщений. Однако, если бы создатели этих систем знали о стандарте APRS то смогли бы не только сэкономить время(как минимум на разработку протокола), но и применить ряд уже готовых программных и аппаратных решений.

Большую часть своих знаний о системе я получил не из практического использования существующих программ и оборудования, а из разработки собственных программ и утилит для работы с ней [3, 4]. Информацию черпал из стандарта [5], исходных кодов Xastir[6], радиолюбительских форумов [7, 8] и из общения с радиолюбителями (всех и не счесть).

Если вы делаете:
  • погодную станцию;
  • систему двухстороннего обмена текстовыми сообщениями через интернет или радиоканал в виде децентрализованной системы с использованием других пейджеров, как ретрансляторов;
  • спутниковую сигнализацию;
  • мониторинг телеметрии удаленных станций;
  • запускаете воздушный шар;

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

Интересно? Добро пожаловать под кат
Всего голосов 36: ↑36 и ↓0+36
Комментарии19

Переделка беспроводного USB Wi-Fi адаптера TP-LINK TL-WN722N в адаптер Philips PTA01 для телевизора Philips 55PFL7606H

Время на прочтение3 мин
Количество просмотров136K
В этой статье я хочу рассказать о способе сделать фирменный Wi-Fi адаптер к телевизору. Я не исключаю, что приведенное здесь техническое решение будет применимо для других фирм производителей и других моделей телевизоров.

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

Для остальных, добро пожаловать под хабркат!
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии14

Оптимизация Linux для desktop и игр

Время на прочтение8 мин
Количество просмотров174K
В этой статье я хочу поделиться почти 10-летним опытом использования Linux на домашнем компьютере. За это время я провел много экспериментов над ядром, испробовал различные конфигурации для разных применений и теперь хочу все это систематизировать в длинный пост с рекомендациями как выжать из linux максимум и добиться отличной производительности, без необходимости покупать мощное железо.

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

Хоть я и пообещал, что после прочтения этой статьи, можно будет играть в Metro 2033 на калькуляторе (шутка, такого не будет), все же она начнется с рекомендации купить кое-что из железа, если у вас этого еще нет.
Читать дальше →
Всего голосов 132: ↑99 и ↓33+66
Комментарии296

25+ видеоуроков по Android для начинающих

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

Приветствую вас, уважаемый хабрачеловек!
Предлагаю вашему вниманию бесплатно серияю видеоуроков в котрых рассмотренно базовые понятия разработки под Android.
Читать дальше →
Всего голосов 111: ↑108 и ↓3+105
Комментарии33

Пишем файловую систему в ядре Linux

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

Для кого эта статья


image

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

Весь материал разбит на несколько частей, в данной статье будет описана вводная часть. Я коротко расскажу о том, что понадобится для разработки в ядре Linux, затем мы напишем простейший загружаемый модуль ядра, и наконец напишем каркас будущей файловой системы — модуль, который зарегистрирует довольно бесполезную (пока) файловую систему в ядре. Люди уже знакомые (пусть и поверхностно) с разработкой в ядре Linux не найдут здесь ничего интересного.
Читать дальше →
Всего голосов 113: ↑110 и ↓3+107
Комментарии9

Кроссплатформенное приложение на Qt: Mac App Store

Время на прочтение7 мин
Количество просмотров15K
После завершения разработки под OS X может остаться ощущение незавершенности — для полного счастья хотелось бы видеть свое приложение в каталоге, тем более, что это, пожалуй, лучшая площадка для продажи десктопных приложений. На эту тему есть статья времен Qt 4.8 в официальном блоге, и еще более старая на хабре. К счастью, больше нет необходимости пересобирать Qt, однако с приходом OS X 10.9 некоторые баги стали критичными, приходится выкручиваться.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии2

Анализ дружеских связей VK с помощью Wolfram Mathematica

Время на прочтение6 мин
Количество просмотров44K
Не так давно, в Москве прошел семинар Wolfram Research Эра технологий Wolfram, на котором рассказывали много интересного про одну из самых мощных и определенно самую удобную систему компьютерных исследований Wolfram Mathematica. В частности, были представлены результаты исследования данных социальной сети facebook научно-исследовательской группой «Конструктивная Кибернетика». А чуть ранее, я наткнулся на новые возможности Wolfram|Alpha по всестороннему анализу странички в facebook. И после всего этого, у меня засела в голове безумная идея: «Я хочу узреть граф дружеских связей той соцсети, в которой живу (а именно, ВКонтакте)». И я все-таки нашел время на то чтобы ее реализовать. Добро пожаловать под кат.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии32

Логика мышления. Часть 14. Гиппокамп

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


Этот цикл статей описывает волновую модель мозга, серьезно отличающуюся от традиционных моделей. Настоятельно рекомендую тем, кто только присоединился, начинать чтение с первой части.

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

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

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

Читать дальше →
Всего голосов 47: ↑40 и ↓7+33
Комментарии40

Как работают сигналы и слоты в Qt (часть 1)

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


Qt хорошо известен своим механизмом сигналов и слотов. Но как это работает? В этом посте мы исследуем внутренности QObject и QMetaObject и раскроем их работу за кадром. Я буду давать примеры Qt5 кода, иногда отредактированные для краткости и добавления форматирования.
Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии29

Термины, жаргон, определения Android

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

Очень часто, разбираясь с незнакомым программным продуктом или операционной системой, мы чуствуем трудности в понимании значений терминов. Иногда мы их встречаем впервые и это заставляет нас искать в интернете описания и статьи. Хуже, если написание термина совпадает с тем, что мы знали раньше, а значение другое. Особенно это усугубляется при чтении статей на иностранном языке. Потому представляю вашему вниманию перевод терминов взятый из Android Terms,Slang,Definitions & Guides.
Оригинальный текст состоит из семи частей, который кроме терминов включает в себя описания и инструкции как выполнить некоторые распространенные действия со смартфоном. Это первая часть, где собраны наиболее встречающиеся термины. Этот набор терминов очень удобно использовать перед первым занятием по программированию под Android, в качестве раздаточного материала, чтобы слушатели, ознакомившись, могли понимать о чем ведется речь, если вдруг проскочит жаргонное слово в вопросе или ответе. В основном термины предназначены для начинающих и связаны с настройкой операционной системы. Как сами определения, так и перевод не претендует на исключительную уникальность, правильность, точность и строгость. Любые предложения и исправления принимаются с радостью и благодарностью.
Читать дальше →
Всего голосов 46: ↑30 и ↓16+14
Комментарии19

Модификация стоковых прошивок для Android. Часть 1

Время на прочтение9 мин
Количество просмотров288K
Здравствуй Хабр!

Несколько лет назад, когда я впервые познакомился с Android, я услышал от своего коллеги по работе, что Android предусматривает возможность установки модифицированных или самодельных прошивок. Признаться, тогда я был далек от этого. И даже пол года назад меня едва интересовали подобные вещи. Глубоко в душе, я был уверен: то, что делает производитель, уже предназначено для нормального использования.

Каково же было мое разочарование, когда я приобрел телефон из поднебесной, где заводскими настройками было запрещено использование Google, Skype, Facebook и других приложений. В принципе, на некоторые вещи можно было закрыть глаза, но когда мой телефон не подразумевал использование учетной записи Google — я взял с себя обещания обязательно разобраться во что бы мне это не стало.

Прошло пол года и мои кастомные прошивки с успехом используются по всему миру.

В данной серии статей пойдет речь о том, как делать reverse программирование для Android, реализовывать патчи, твики и моды.
Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии31

В гипервизоре Xen 4.4 и ядре Linux 3.14 будет доступен режим аппаратной паравиртуализации

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

Перевод. Оригинал в блоге Xen.

От переводчика: на данный момент стабильная версия гипервизора Xen поддерживает два режима виртуализации. В паравиртуальном режиме (PV) оборудование не эмулируется, и гостевая ОС должна быть специальным образом модифицирована, чтобы работать в таком окружении. Начиная с версии 3.0, ядро Linux поддерживает запуск в паравиртуальном режиме без перекомпиляции со сторонними патчами. Преимущество режима PV в том, что он не требует поддержки аппаратной виртуализации со стороны CPU, а также не тратит вычсилительне ресурсы (иногда весьма значительные) для эмуляции оборудования на шине PCI.
Режим аппаратной виртуализации (HVM) появился в Xen, начиная с версии 3.0 гипервизора, и требует поддержки со стороны оборудования. В этом режиме для эмуляции виртуальных устройств используется QEMU, который весьма неповоротлив даже с паравиртуальными драйверами. Однако со временем поддержка аппаратной виртуализации в оборудовании получила настолько широкое рапространение, что используется даже в CPU ноутбуков. Поэтому у разработчиков возникло желание использовать быстрое переключение контекста исполнения между гипервизором и гостевой ОС и в паравиртуальном режиме, используя возможности оборудования. Так появился новый режим — аппаратная паравиртуализация, который будет доступен в Xen, начиная с версии 4.4.

Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии12

Модификация стоковых прошивок для Android. Часть 4

Время на прочтение21 мин
Количество просмотров50K
Здравствуй Хабр!

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

На прошлых скриншотах были следующие меню в моем самодельном твикере и вызвало множество приватных вопросов о реализации.

Предпочтительный слот
Выберите SIM карту на которой использовать передачу данных
Уведомление о соединении
Запретить оповещение об интернет подключении
Автоматическая запись звонков
Все звонки будут записаны стандартным диктофоном согласно его настройкам
Запретить энергосбережение
Запретить иконку энергосбережения в слайдере и статус баре
Запретить выключатели
Отключение в слайдере статус бара
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии14

Сборка Android под Ubuntu Linux

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

Эта заметка является косвенным продолжением моей первой публикации Сборка Android под Mac OS X и имеет аналогичную цель — решение проблем сборки относительно старых версий Android 4.0.x.

Коротко вводная. В одном из проектов я занимаюсь доработками оригинального кода Android для создания прошивки под специфичную железку. Версия для сборки была выбрана уже относительно старая — AOSP 4.0.4, но на ней базируется стабильная ветка кода от производителя железки. Первоначально я работал на MacOS, но для этого проекта решил переключиться на Linux для удобства разработки. Итак волею судеб я перешел с MacOS на более менее свежий Ubuntu Linux 12.04.3, рекомендованную на данный момент версию Linux для сборки Android.
Читать дальше →
Всего голосов 39: ↑30 и ↓9+21
Комментарии2

Информация

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