Как стать автором
Обновить
0
0
Андрей Куров @MrLibra

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

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

USSD в Android

Время на прочтение4 мин
Количество просмотров35K
USSD (Unstructured Supplementary Service Data)— стандартный сервис в сетях GSM, позволяющий организовать интерактивное взаимодействие между абонентом сети и сервисным приложением в режиме передачи коротких сообщений.
Как известно, Android не имеет API для чтения USSD сообщений, далее я расскажу как решить эту проблему.
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии42

Еще раз про IP-адреса, маски подсетей и вообще

Время на прочтение7 мин
Количество просмотров1.5M
Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.


Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».

В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Читать дальше →
Всего голосов 286: ↑261 и ↓25+236
Комментарии204

Ruby для детишек и не только

Время на прочтение2 мин
Количество просмотров24K
Ruby позиционирует себя как «programmer's best friend», как великолепный язык программирования, как замечательный скриптовый язык, как отличное средство для разработки веб приложений. Всякий знает, что Ruby — это очень приятный язык с очень активным и дружелюбным сообществом. Однако не все знаю, что это сообщество так дружелюбно, что позаботилось не только о коллегах — программистах разрабатывая множество полезных gem'ов, но и о детях разработав для них несколько очень интересных и полезных инструментов.

Если вы программист и у вас есть ребенок которому вы желеаете передать свой интерес к программированию, то эта небольшая статья — обзор для вас.
Читать дальше →
Всего голосов 61: ↑57 и ↓4+53
Комментарии35

Хабрачтец или как я сделал этим летом

Время на прочтение8 мин
Количество просмотров5.6K
Здравствуйте!

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

Прошедшее лето подарило мне два с половиной месяца полной свободы, половину которых я потратил на написание программы. Я не то, чтобы новичок – мой диплом был первым достаточно серьезным проектом, однако, думаю, что именно данное приложение принесет мне славу будет вам интересно.
Что у меня было исходного на тот момент:
  • Время
  • Galaxy Tab
  • Eclipse IDE с ADT plugin

Казалось бы. Причем тут Хабр?

Читать дальше →
Всего голосов 61: ↑53 и ↓8+45
Комментарии25

Библиотеки для визуализации данных в вебе

Время на прочтение1 мин
Количество просмотров7.7K
Тема визуализации данных в интернете для меня достаточно актуальная, поэтому периодически мне приходится искать различные библиотеки для отображение тех или иных данных в вебе.



К таким библиотекам я отношу визуализацию графиков, чартов, графов, таблиц, отчетов, инфографик и т.д.

В свое время я написал несколько статей на тему визуализации данных в вебе (их можно поискать на хабре по ключевой фразе «Визуализация данных в вебе»).

Но с тех пор появилось много новых инструментов, мы получили HTML5 и т.д., поэтому вопрос опять стоит достаточно остро. Я решил собрать информацию о всех JavaScript инструментах, с помощью которых можно визуализировать данные в вебе (в первую очередь для себя, но потом решил, что, возможно, будет интересно это и другим). Я уже начал собирать информацию в виде списка инструментов с примерами в одном месте для того, чтобы не бегать по разным сайтам в поисках демок и описания функционала. Есть уже около 10 библиотек.
Читать дальше →
Всего голосов 65: ↑56 и ↓9+47
Комментарии18

Генерим PDF бочками

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

Предыстория


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

Хочу поделиться собственным «велосипедом» для создания PDF на Python и QT, дополненным и улучшенным для централизованного использования несколькими проектами.

Изначально генерация запускалась из PHP скрипта, примерно так:

<?php
// локальный файл
exec('xvfb-run python2 html2pdf.py file:///tmp/in.html /tmp/out.pdf');
// или URL
exec('xvfb-run python2 html2pdf.py http://habrahabr.ru /tmp/habr.pdf');
?>

этого было достаточно и все было хорошо…
Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии18

Методы борьбы с DDoS-атаками

Время на прочтение5 мин
Количество просмотров115K
Хотелось бы поговорить с вами на актуальную нынче тему, а именно — про DDoS и методы борьбы с ним. Рядовые администраторы знают, что это такое, а вот для большинства вебмастеров это аббревиатура остается загадкой до того момента пока они на личном опыте не столкнуться с этой неприятностью. Итак, DDoS — это сокращение от Distributed Denial of Service (распределенный отказ в обслуживании), когда тысячи зараженных компьютеров отправляют на сервер множество запросов, с которыми он, в последствии, не может справиться. Целью DDoS атаки является нарушение нормальной работы сервера, а в дальнейшем — «падение» сайта или сервера целиком.

Как же от этого защититься? К сожалению, универсальных мер защиты от DDoS-атак до сих пор не существует. Тут необходим комплексный подход, который будет включать меры аппаратного, программного и даже организационного характера.
Читать дальше →
Всего голосов 123: ↑94 и ↓29+65
Комментарии66

Погружение в скрипты игрового движка Unity3d, ч.2

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

Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии12

Скромное руководство по прохождению интервью: часть 1

Время на прочтение5 мин
Количество просмотров30K
Пост подготовлен с целью помочь программистам при подготовке к собеседованиям по программированию. Здесь рассматриваются все основные темы, которые, как минимум, желательно знать перед собеседованием. Использован собственный опыт, опыт и рассказы коллег, специализированная литература.
Некоторые рассмотренные здесь темы могут вообще не пригодиться некоторым программистам, а могут и быть обязательными, решать вам. Мой совет – старайтесь как можно больше изучать темы/разделы/аспекты указанные здесь.
И так, в качестве обязательных знаний:
  • Структуры данных
  • Алгоритмы и «концепции»
  • Язык программирования

Читать дальше →
Всего голосов 124: ↑109 и ↓15+94
Комментарии125

Погружение в скрипты игрового движка Unity3d, ч.1

Время на прочтение6 мин
Количество просмотров236K
Доброго времени суток, уважаемый читатель! На Хабре неоднократно публиковались статьи о разработке игр с использованием замечательного движка Unity3d. Большинство этих статей были посвящены вполне определенным задачам, я же хотел сделать общий экскурс в данный движок. Данная часть будет посвящена наиболее часто используемым скриптовым методам и объектам, которые используются мной в процессе разработки на данном движке. Примеры я буду приводить на JavaScript, как на наиболее близком мне языке.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии34

Разработка игры с использованием Box2D на ActionScript 3

Время на прочтение6 мин
Количество просмотров9.1K
Доброго времени суток, дорогой читатель!
Недавно была опубликована статья, где описывалась работа с движком Box2D.
Однако, движок на сайте был версии 2.1a работа с которым, к сожалению, отличалась от работы предоставленной в статье. К сожалению скудная иностранная документация по этой версии движка заставила во многом разбираться самому. Частью своих изысканий я бы хотел поделиться с тобой, дорогой читатель.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии16

Демон для удаленного управления компьтером через e-mail

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

В данной статье я хотел бы поделиться опытом в создании демона для удаленного управления компьютером командами через электронную почту.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии47

Пошаговая стратегия как хобби

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


Привет, хабралюди! Кто из вас не мечтал создать свою игру? А возможно ли написать браузерную стратегию, не имея при этом опыта и денег? Возможно, если очень этого хотеть.

Под катом моя история создания бесплатной пошаговой стратегии.

Читать дальше →
Всего голосов 167: ↑159 и ↓8+151
Комментарии56

Создание очередной казуалки на Flash-платформе с физикой. Часть II

Время на прочтение7 мин
Количество просмотров5.1K
Привет хабра-сообществу.

Относительно недавно достаточно давно писал статью про создание очередной казуалки на Flash-платформе с физикой, обещал вторую статью, встречайте.
В этой статье — научу рисовать мир и расскажу о сенсорах. Остальное под катом.

Что можно сделать из этих двух уроков, можно посмотреть тут (музыку отключить нельзя, но можно убрать звук в системе).
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии19

Простой вики-движок zen-wiki

Время на прочтение2 мин
Количество просмотров27K
Это пост про простой вики-движок предназначенный для ведения личных заметок.

Фичи


Что есть
  • Markdown
  • Подсветка кода
  • Автоматическое древовидное меню
Чего нет
  • Истории правок
  • Коллективного редактирования
  • Хранилища картинок/файлов
  • Других ненужных вещей


Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии28

JavaScript Gaming: Часть 1. Box2d и основы Физики

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


Вместо предисловия.


Я всегда любил и буду любить компьютерные игры. Есть в них какая-то своя внутренняя магия, которая всегда привлекает и завораживает одновременно. За всю свою жизнь я переиграл в десятки игр, начиная с ветеранов Wolfenstein и Dune 2 и заканчивая современными блокбастерами. И теперь, добивая очередной хит и наблюдая за финальным роликом и титрами, в голове все чаще и чаще мелькает мысть «А что, если?..»

А ведь действительно, что если взять и написать собственную игру? Конечно же понятно, что ААА-тайтл сделать в одиночку не получится, и это годы работы и прочая и прочая, но ведь осилит дорогу идущий? Так уж получилось, что в Desktop-программироании я откровенно слаб, и вариантов для практикующего веб-разработчика не так уж много. Но за последние годы все кардинально изменилось, и теперь уже у браузера много общего с кофеваркой, а javascript может спокойно удовлетворять даже нужды военных ведомств, не то что мои собственные.

Вот как раз во время очередных раздумий и достаточно серьезной простуды мне попалась на глаза статья о Box2d в игрологе Ant.Karlov'а. Зачитавшись и замечтавшись я очень быстро нашел JS-порт этой библиотеки, и старая шальная идея сделать что-то маленькое и, главное — свое, начала донимать меня с новыми силами.

В общем, меньше патетики, больше дела. Надеюсь, вам будет интересно. Да простят меня суровые боги за использование Angry Birds в КПДВ ^_^
Читать дальше →
Всего голосов 153: ↑150 и ↓3+147
Комментарии35

PyCon 2011. Краткое изложение докладов

Время на прочтение26 мин
Количество просмотров4.9K
Известно, что с 11 по 13 марта в Атланте (Джорджия) проходила конференция разработчиков PyCon 2011.

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

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

Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии37

Релиз Python Tools 1.0 для Visual Studio 2010

Время на прочтение1 мин
Количество просмотров3.1K
В декабре прошлого года команда PTVS дала обещание добавить в семейство Visual Studio новый язык, причем меньше чем за год и с минимальными затратами. Через 9 месяцев это обещание было выполнено – встречайте Python Tools 1.0 for Visual Studio RTM.
Теперь эта отличная IDE поддерживает прекрасный язык Python. Точнее, его реализации CPython, IronPython, Pypy и Jython. Отныне вы можете пользоваться Intellisence, Class Browser, поиском ссылок, рефакторингом, отладчиком, профайлером,… в общем, всем тем, что так привычно пользователям Visual Studio.
И это все совершенно бесплатно (устанавливается в Visual Studio Shell) и Open Source (Apache 2.0).
Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии23

Cocos2d-x: Сборка проекта под Android

Время на прочтение4 мин
Количество просмотров31K
В предыдущей статье мы узнали, как легко начать писать свою игру, используя кроссплатформенный движок cocos2d-x и научились запускать наше приложение на платформе Win32. Но этого не достаточно, ведь основная цель, разработка для мобильных устройств. В этой статье мы соберем проект под операционную систему Android.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии10

Введение в параллельные вычисления

Время на прочтение6 мин
Количество просмотров47K
Параллельной машиной называют, грубо говоря, набор процессоров, памяти и некоторые методы коммуникации между ними. Это может быть двухядерный процессор в вашем (уже не новом) ноутбуке, многопроцессорный сервер или, например, кластер (суперкомпьютер). Вы можете ничего не знать о таких компьютерах, но вы точно знаете, зачем их строят: скорость, скорость и еще раз скорость. Однако скорость — не единственное преимущество.

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

Что самое удивительное, в университетах пока не спешат переводить программы обучения в русло параллельных вычислений! При этом сегодня нужно постараться, чтобы найти компьютер с одним ядром. В моем родном Carleton University курсы по параллельным вычислениям не входят в обязательную программу Bachelor of Computer Science, и доступны лишь для тех, кто прошел основные курсы первых трех лет. На том же уровне находятся курсы по распределенным вычислениям, и некоторых могут сбить с толку.

Читать дальше →
Всего голосов 100: ↑95 и ↓5+90
Комментарии49

Информация

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