Search
Write a publication
Pull to refresh
8
0
A0n3 @A0n3

User

Send message

ICQ бот на Python

Reading time5 min
Views13K
Привет %habrauser%! Это мой первый хабротопик. В котором я расскажу как можно сделать ICQ бот на pythone. Бот у нас будет сидеть в сети и отправлять, по запросу пользователя, список последних статей хабра.
Для реализации бота мы будем использовать библиотеку Twisted. Конечно же есть уже специализированные библиотеки для работы с ICQ на python. Такие как py-icq или nanoicq. Но так как с Twisted я был уже знаком, то выбор пал именно на него.
Читать дальше →

Фильтр Блума

Reading time3 min
Views63K
И снова здравствуйте! Сегодня я поведаю о фильтре Блума — структуре данных гениальной в своей простоте. По сути, этот фильтр реализует вероятностное множество всего с двумя операциями: добавление элемента к множеству и проверка принадлежности элемента множеству. Множество вероятностное потому, что последняя операция на вопрос «принадлежит ли этот элемент множеству?» даёт ответ не в форме «да/нет», а в форме «возможно/нет».

Как фильтр это делает?

Капканы веб-разработки или веб- разработка в удовольствие

Reading time3 min
Views1.6K

Завязка


Хочу поднять тему, актуальную для разработчиков и для заказчиков: разработка в удовольствие. Что это, миф или реальность? Существуют ли компании, в которых процесс разработки поставлен так, что приносит удовольствие обеим сторонам: разработчику и заказчику. Ведь в конечном итоге цель у обеих сторон одна — удовлетворенность конечным продуктом.
Читать дальше →

Моделирование отношений в App Engine

Reading time5 min
Views1.3K
Одной из проблем, с которой сталкиваются GAE-разработчики, привыкшие работать с реляционными СУБД и ORM, являются ссылки и отношения в App Engine. В данном руководстве рассматриваются два вопроса: во-первых, что вообще представляют из себя отношения в СУБД?; во-вторых, как ими пользоватья в GAE?
Читать дальше →

Python-way. Работа над ошибками

Reading time3 min
Views19K

Всем доброго времени суток! Новогодние праздники позади, все хорошо отдохнули. Тем не мнеее, даже в праздники иногда появляется работа. Мне, к примеру, довелось покопаться в чужом коде на Python. Код хороший, замечательно документирован, но во время чтения не покидало ощущение, что автор читал доки по Python и портировал код с Си-подобного языка. Это меня вдохновило на написание статьи с указанием ошибок, которые неизбежно возникают при переходе на Python с Си-подобных языков.

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

Читать дальше →

Java Bytecode Fundamentals

Reading time6 min
Views64K
Разработчики приложений на Java обычно не нуждаются в знании о байт-коде, выполняющемся в виртуальной машине, однако тем, кто занимается разработкой современных фреймворков, компиляторов или даже инструментов Java может понадобиться понимание байт-кода и, возможно, даже понимание того, как его использовать в своих целях. Несмотря на то, что специальные библиотеки типа ASM, cglib, Javassist помогают в использовании байт-кода, необходимо понимание основ для того, чтобы использовать эти библиотеки эффективно.
В статье описаны самые основы, от которых можно отталкиваться в дальнейшем раскапывании данной темы (прим. пер.).
Читать дальше →

G.E.C.K. или Комплект Создания Всемирной Деревни

Reading time1 min
Views5.3K
G.E.C.K. (Генератор Эдемских Кущ Компактный, Группа Эдемских Конструкционных Компонентов, КОмплект СОздания ГОрода Рая). Немало игровых часов потрачено в Fallout 2 чтобы найти этот заветный чемоданчик. Еще больше часов потрачено в обдумывании реализации подобного проекта в реальности.
И подобный проект в реальности есть, хотя по габаритам и несколько крупнее чемоданчика. Цели у проекта под названием Комплект Создания Всемирной Деревни (The Global Village Construction Set) разработать набор недорогих и открытых инструментов для построения поселений.

Читать дальше →

У вас много идей стартапов? — Забудьте!

Reading time2 min
Views1.2K
У меня есть друг, давайте я буду звать его Гарри. Возможно, он прочтет это, поэтому я постараюсь быть очень дипломатичным. Итак, Гарри — идиот, который постоянно говорит и думает об одной и той же идее стартапа
в последние четыре года.

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Reading time12 min
Views119K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

Как же автору игры, Notch'у, удалось добиться подобного сходства его случайных «миров» с земными просторами? В этом топике я как раз и рассмотрю один из способов построить искусственный ландшафт такого рода (и вскользь упомяну пару других способов), а также расскажу о моем небольшом усовершенствовании этого алгоритма, позволяющем значительно увеличивать размеры ландшафта без заметных потерь в производительности.

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

Читать дальше →

Хабраиндекс для статей по программированию под Android

Reading time2 min
Views95K
Читать дальше →

Лень — механизм

Reading time5 min
Views75K

Начинается рабочая неделя для большинства жителей России и близится зимняя сессия. В связи с этим решил описать детальный механизм лени человека.
Однако хочу вас обнадежить, лень является лишь проявлением работы нашего подсознания, а значит ее можно контролировать и «настраивать» как вам того желается. Вы сами сможете в этом убедиться, когда поймете механизм ее возникновения.
Читать дальше →

Знаешь ли ты JAVA, %username%?

Reading time11 min
Views150K
JAVA Evil EditionНедавно я сдавал экзамен Oracle Certified Professional Java Programmer (бывший Sun Certified), и за время подготовки прорешал огромное количество различных задачек. Отдельные задачки по джаве иногда появляются на хабре и вызывают немалый интерес, поэтому я решил поделиться накопленным и сделать небольшую подборку.

Итак, ниже представлен десяток наиболее, на мой взгляд, интересных задач по Java SE из более чем 1000, проработанных мной. Сложность варьируется от средней до ооооооочень сложной. Решение большинства задач практически не требует знания API, достаточно логики и фундаментальных основ Java.

К слову, сложность экзамена Oracle Certified Professional Java Programmer гораздо ниже чем сложность данного теста, поэтому все, кто правильно ответит хотя бы на половину этих вопросов, может смело сдавать этот экзамен без всякой подготовки.

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

ВНИМАНИЕ: во второй половине статьи — ответы и подробные пояснения по соответствующим нюансам JAVA.

Читать дальше →

Учимся готовить: Spring 3 MVC + Spring Security + Hibernate

Reading time12 min
Views355K
Добрый день! Меня зовут Антон Щастный.

Это моя очередная статья, посвящённая разработке веб приложений на Java. Хочу предложить вам сделать небольшую систему учёта клиентов, написанную с использованием фреймворка Spring и библиотеки Hibernate.

Что будет в приложении:


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

Что будем использовать:


  • веб фреймворк Spring MVC,
  • фреймворк Spring Security,
  • ORM библиотеку Hibernate,
  • MySQL в качестве СУБД.

Инфраструктура:
  • редактор SpringSource Tool Suite,
  • сборщик проектов Maven,
  • система логгирования Log4j,
  • постоянное подключение к интернету.


В моей предыдущей статье о Spring MVC был упущен ряд моментов по использованию аннотаций в Java-коде и применению Maven для сборки проекта. В данной статье я попытался исправить упущение.

Цель статьи – показать начинающим веб разработчикам совместное использование различных технологий платформы Java.

Читать дальше →

О ненависти к С++

Reading time12 min
Views63K
С++ or not C++, C++ или Java/Python/Ruby? Как часто вы задаёте или слышите подобные вопросы? Не хотелось бы поднимать очередной холивар — по моему мнению, умные люди давно должны были бы прийти к выводу, что при выборе языка нет той серебряной пули, которая бы поставила окончательную точку, — у каждого языка есть свои плюсы и минусы и чаще всего проблемы в прокладке между клавиатурой и стулом.

Читать дальше →

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

Reading time2 min
Views5K
На написание статьи, подтолкнула публикация Прогнозирование временных рядов.

Здесь я покажу, как прогнозирование временных рядов может быть применено для увеличения поисковых способностей (ПС) генетических алгоритмов (ГА).

Читать дальше →

VU метр с нуля

Reading time5 min
Views68K


Введение


Помню, как лет в десять впервые взялся за паяльник и к годам так к четырнадцати уже собрал радиуправляемую машину, но с появлением компьютера как то-забросил это благородное занятие. И вот, буквально две недели назад, меня посетила идея сделать что нибудь красивое. Подумал и решил сделать VU — meter. Начал перекапывать форумы по электронике, в поисках наилучшей, на мой взгляд, реализации данного девайса. Спустя день поисков я наткнулся статью в журнале “РадиоХобби”, поискав еще немного я нашел рисунок печатной платы. Так что, что ни логика ни печатная плата мне не принадлежит, предложил данную схему, как написано в журнале — Марцин Вьязаня.

Тут начинается самое интересное…
Осторожно трафик
Читать дальше →

[Программирование] Работа со строкой состояния в Android

Reading time7 min
Views40K
image
Статья рассказывает о том как работать со строкой состояния в Android. Статья рассчитана на начинающих программистов под Android только осваивающих разработку под платформу. Также стоит заметить что строка состояния в большей степени используется для уведомления пользователя о каких либо событиях произошедших в системе, что по целевой задаче роднит её со всплывающими уведомлениями Toast. На Хабрахабре уже имеется достаточно полная статья о работе с Toast, и данный пост лишь развивает тему уведомлений.

Сам текст статьи писался для песочницы, и по сути Hello world как он есть. Сейчас меня интересует интересно ли вообще кому либо это направление, или же оно того не стоит.

Читать дальше

Концепции практического использования генетических алгоритмов

Reading time9 min
Views11K

Предисловие


На написание статьи вдохновили две публикации:

Захотел изложить свои мысли и свой взгляд на этот вопрос именно как практик от программирования «с математическим бэкграундом». Это будет повествование «на пальцах». Специалистом в генной инженерии не являюсь и сужу по поверхностным описаниям механизмов функционирования живых клеток и ДНК.
Читать дальше →

Обновлён ModularGrid — удобный инструмент для HTML-верстальщиков

Reading time1 min
Views2.7K
Демо-страница
Спешу сообщить, что наконец-то обновил ModularGrid — небольшой javascript, который рисует гайды и модульную сетку поверх вёрстки:
  • появилась панель с контролами для тех, кто не любит хоткеи;
  • состояние сетки теперь сохраняется в cookie;
  • было исправлено несколько досадных ошибок.

Демо-страница | проект на GitHub | предыдущая статья

Взлом программ для чайников

Reading time5 min
Views493K
Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.

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

Я не буду углубляться в детали и использовать сложные инструменты для взлома. Всё будет расписано «для чайников», т.е. все инструменты будут простыми, легкодоступными и бесплатными. А основным будет Reflector, декомпилятор программ под .NET

В качестве подопытного кролика я выбрал Expresso — анализатор регулярных выражений. Данная программа бесплатная, в лицензии вроде бы ничего не указано про взлом, но при этом без регистрации она будет работать всего 60 дней. Другими словами, вред от взлома данной программы минимальный, к тому же внутреннее её устройство очень уж хорошо подходит для тренировки. Буду надеяться, что автор данной программы не обидится на меня.
Читать дальше →

Information

Rating
Does not participate
Location
Энгельс, Саратовская обл., Россия
Registered
Activity