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

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

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

Интерфейсы vs. классы

Время на прочтение4 мин
Количество просмотров285K
Обсуждая с различными людьми — в большинстве своём опытными разработчиками — классический труд «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» Гаммы, Хелма и др., я с изумлением встретил полное непонимание одного из базовых подходов ООП — различия классов и интерфейсов.

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

Природный генетический алгоритм или доказательство эволюции живых организмов на C++

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

Введение


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

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

Моделирование работы генетического алгоритма, в котором естественный отбор определяется условиями среды


Моделирование – метод научного познания объективного мира через построение и изучение моделей.

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

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

Для работы выбран язык программирования C++, так как этот язык является мощным, проверенным временем языком программирования. C++ получил широкое распространение среди программистов. Для визуализации использована открытая графическая библиотека OpenGL.
Читать дальше →
Всего голосов 21: ↑12 и ↓9+3
Комментарии26

Правоохранительные органы закрыли известный киберпреступный форум Darkode

Время на прочтение2 мин
Количество просмотров21K
Правоохранительные органы США и ЕС осуществили масштабную облаву на организаторов одного из самых известных киберпреступных форумов Darkode. По информации веб-сайта известной организации Europol, им удалось произвести аресты 28 человек, связанных с Darkode, в том числе, арестован 27-летний администратор форума, известный как Mafi/Crim/Synthet!c. На текущий момент вместо стартовой страницы форума, на сайте размещено следующее уведомление.



Darkode входит в пятерку самых известных и посещаемых форумов киберпреступников, на котором осуществляется торговля вредоносным ПО, ботнетами и прочими видами кибератак, включая, эксплойты нулевого дня. На этом закрытом для посторонних глаз форуме также продавалась или перепродавалась украденная киберпреступниками информация, в т. ч., персональные данные пользователей и данные кредитных карт.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии16

Skype — Да, мы читаем все, что Вы пишете

Время на прочтение4 мин
Количество просмотров202K
Вольный перевод статьи на тему приватности переписки в Skype.

Все, кто использует Skype, обязан согласится с пунктом, что компания может читать все, что там пишут (смотри Положение о конфиденциальности в Skype). Компания Heis, совместно с немецкими коллегами, выяснила путем простейшего эксперимента, что Microsoft активно использует эту возможность, но очень странным образом.

Практически сразу после отправки сообщения в Skype, в котором содержалась ссылка на некий https ресурс, данный ресурс был посещен с IP, принадлежащего Microsoft HQ в Редмонде, США.

UPD: Статья дополнена предположениями о возможной причине произошедшего. Опубликовано 17 Мая 2013 на The-H-Security.
Читать дальше →
Всего голосов 304: ↑263 и ↓41+222
Комментарии185

«Pimp my game», или как «прокачивать» игры без API

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

Думаю, многие из вас хотя бы раз в своей жизни занимались модификацией любимой компьютерной игры. Это могло быть редактирование ресурсов (например, моделей персонажей и объектов из GTA), написание разнообразных скриптов (к примеру, планировщик задач для Dwarf Fortress, запускаемый при помощи DFHack) или разработка модов для своего сервера Minecraft, которые работали под управлением Minecraft Forge.

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

Сидя однажды вечером за одной из своих любимых игр под названием UnReal World (далее — URW), я в очередной раз столкнулся с невероятно неудобным для меня поведением. Естественное желание практически любого игрока при встрече с более-менее сильным врагом — моментально сохраниться, чтобы не потерять всё, чего он достиг на данный момент (да, некоторые сочтут это «хамством» / «читом» / etc, но о вкусах не спорят). Проблема заключается в том, что сохраниться-загрузиться по-быстрому в URW просто не получится. При сохранении персонажа автоматически выполняется выход в главное меню, а выйти не сохранившись, чтобы вернуться к предыдущей точке сохранения, можно лишь убив процесс игры через taskmgr. В итоге в большинстве случаев сложные бои на поздних этапах игры (когда уже действительно жаль терять всё то, что накопил за долгое время) заканчивались безумными комбинациями и заученными наизусть сочетаниями клавиш.

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

Как протекал процесс, и что из этого вышло, читайте под катом (осторожно, много скриншотов). Перед прочтением данной статьи также настоятельно рекомендую ознакомиться с предыдущими, т.к. в них уже объяснены некоторые из опущенных здесь моментов.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии2

Развёртывание приложений Qt в Windows

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

Вступление


Добрый день, уважаемые читатели! Совсем недавно я завершил разработку одного своего приложения на Qt, и мне захотелось создать профессиональную программу установки, чтобы всё было «как у взрослых». Как оказалось, сделать это непросто, учитывая, что на официальном сайте инструментария информации по развёртыванию почти нет. В данной статье рассмотрены некоторые этапы подготовки программ на Qt версии 5.2 или выше для распространения на компьютеры других пользователей. Итак, вот план руководства:

  1. Подготовка проекта Qt к развёртыванию
  2. Компоновка дистрибутива программы
  3. Подписание кода и создание установщика

Не будем терять времени и приступим к работе.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии11
2

Информация

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