В этой статье речь пойдет об унификации работы с атрибутами в проектах написанных на C#. Статья предназначена для разработчиков средних и больших проектов, или тех кому интересна тематика проектирования систем. Все примеры и реализации являются условными и предназначены для отражения подходов или идей.
Читать полностью »
Метка «c++» - 49
Система работы с атрибутами
2013-02-06 в 11:33, admin, рубрики: Программирование, проектирование, Проектирование и рефакторинг, рефакторинг, метки: c++, проектирование, рефакторингВнедрение своего кода в адресное пространство процессов
2013-02-04 в 18:46, admin, рубрики: c++, Delphi, dll, dll injection, Песочница, метки: c++, Delphi, dll, dll injection
Intro
Внедрение своего кода( динамически ) в чужие процессы — штука достаточно интересная. Это может служить как во благо, так и во зло. Хотя, понятие «зло», местами, весьма абстрактно в информационном мире, я не могу провести точную границу между тем, что «плохо», а что «хорошо», тем более, если это касается внедрения кода…
В данной статье мы займемся созданием своего DLL инжектора. Что это такое, думаю, знают все. Такой способ внедрения стороннего кода достаточно популярен и удобен.
Писать DLL Injector мы будем на C++ в среде Microsoft Visual Studio 2010. Для создания динамически подключаемой библиотеки можно использовать любой инструмент, который вам по душе. Я же для создания библиотеки выбрал CodeGear RAD Studio 2009, язык Delphi( Object Pascal ).
Как же работает DLL Injection ?
Схема работы данного метода проста:
1) поиск и получение дескриптора нужного процесса
2) выделение памяти в процессе и последующая запись пути в DLL`ке по адресу, где произошло выделение памяти
3) создание нового потока в виртуальном пространстве процесса, дескриптор которого был получен.
Yandex Translate API: Обзор методов как некое исследование сервиса
2013-02-03 в 16:50, admin, рубрики: Yandex, Yandex API, yandex translate api, яндекс, Яндекс API, метки: c++, Yandex, Yandex API, yandex translate apiДоброго дня. В этом топике мне хотелось бы рассказать вам о сервисе Yandex Translate, а именно о его API. Yandex Translate позволяет достаточно качественно переводить тексты, а его API использовать сервис перевода разработчикам в своих проектах.
В сим топике я хочу рассмотреть все три метода API, которые также хорошо документированы на сайте Yandex Translate API (тут).
Используя язык C# и части System.Net, System.XML и System.IO я покажу одну из вариаций работы с ним. Я думаю, что этот топик найдут полезным те, кто начинает свою работу с языком C#, либо с Yandex API.
Читать полностью »
Жеребьевка — нажатием кнопки
2013-01-29 в 16:11, admin, рубрики: алгоритм, Алгоритмы, метки: c++, алгоритм Для решения одной, как я считаю, амбициозной задачи, связанной с проведением футбольного турнира, мне необходимо было использовать процедуру формирования соревновательных пар, т.е. провести жеребьевку. Но произвести ее нужно не обычным «человеческим» способом, а автоматизировано. Поискав готовые решения аналогичной задачи, нашел только формирование корзин участников при наличии сеянных и несеянных команд (Пример), что меня не устроило и не решало поставленной задачи. В итоге проанализировав процедуру обычной однокруговой жеребьевки, сформировал следующий алгоритм и условия:
Входные условия жеребьевки:
- Имеется N команд – участников.
- Каждая команда за первый круг сыграет N-1 матчей.
- Команда N ни в каком из туров не может сыграть сама с собой.
- В каждом туре соперники образуют уникальные, не повторяющиеся ранее пары.
- Если в каком-то из туров команда N играет с командой M, то соответственно в этом же туре команда M играет с командой N.
Сопоставив процесс формирования случайных пар соперников процедуре заполнения двумерного массива DrawTable[i, j] случайными величинами, получил следующее (язык C#, .Net 4.0):
Читать полностью »
Делаем простую игру с кнопками, ящиками и дверями на Unity
2013-01-29 в 13:34, admin, рубрики: game design, game development, unity, unity3d, геймдизайн, разработка игр, секретная дверь на секретном уровне, метки: c++, game design, game development, unity, unity3d, геймдизайн, разработка игр
Unity бесподобна для быстрого прототипирования игр. Если у вас появилась идея какой-то новой игровой механики, с Unity её можно реализовать и протестировать в кратчайшие сроки. Под катом я расскажу как можно сделать несложную головоломку используя только стандартные компоненты и не залезая в графические редакторы. По ходу статьи я продемонстрирую пару трюков игрового дизайна, а в конце немного расскажу об эстетике, динамике и механике.
Для самых нетерпеливых по ссылкам ниже находится готовый прототип.
Скомпилированная версия для Windows [Зеркало] ~7.5 МБ
Unity Web Player [Зеркало] ~25 КБ
Что мы собираемся делать? Двумерную головоломку с колобком в роли главного героя, который может двигать ящики, которые могут нажимать кнопки, которые могут открывать двери, за которыми скрывается выход из уровня, который построил я. Или вы, у нас же здесь туториал как-никак.
Подразумевается, что вы уже успели скачать Unity и поигрались немного в редакторе. Нет? Сейчас самое время, я подожду.
Читать полностью »
Пишем свою первую программу на C++ в Cloud9 IDE
2013-01-24 в 14:14, admin, рубрики: c++, cloud9 ide, Песочница, метки: c++, cloud9 ideЗдравствуйте читатели! Начнём с предыстории.
Предыстория
Некоторое время назад мне захотелось уйти от тяжеловесной Visual Studio в пользу чего-нибудь более простого. Сначала мой взгляд упал на текстовые редакторы. Мной был найден Sublime Text 2. Это очень красивый и удобный редактор, который мне сразу понравился. Но из-за того, что мне не удалось завести компиляцию (руки кривоваты), от него пришлось отказаться. Тогда, расстроенный, я начал бродить по интернету в поисках чего-нибудь похожего и случайно наткнулся на Cloud9 IDE.
Это была первая облачная IDE, с которой я столкнулся. Так как мне нечего было терять, я решил посмотреть, что представляет из себя этот “зверь”.
Интервью с создателем C++ STL, 1995 г. Часть 1
2013-01-23 в 15:50, admin, рубрики: c++, stl, обобщённое программирование, разработка, метки: c++, stl, обобщённое программированиеВ последние годы, когда спрос на C++ снова растёт, интересно заглянуть в недалёкое прошлое и вспомнить, как создавалась эта классическая платформа разработки. В данном вопросе безусловно содержательными являются книги Страуструпа, вроде «Дизайна и эволюции C++». Однако, не менее интересно услышать о языке от самых первых его последователей, а иногда и полноценных соавторов. Пожалуй, наиболее известным из них является наш соотечественник Алекс Степанов, автор Стандартной библиотеки шаблонов. Интервью, приводимое далее, было взято у Алекса в 1995-м году колумнистом журнала Dr.Dobbs Элом Стивенсом.
Расскажите нам что-нибудь о вашем cтоль длительном интересе к обобщённому программированию.
Я начал размышлять об обобщенном программировании в конце 70-х, когда заметил, что некоторые алгоритмы зависят не от конкретной реализации структуры данных, а лишь от небольшого числа существенных семантических свойств этой структуры. Так что я начал изучать самые разные алгоритмы, и обнаружил, что большинство из них могут быть абстрагированы от конкретной реализации так, что эффективность при этом не теряется. Эффективность является для меня одной из основных забот. Глупо абстрагировать алгоритм таким образом, что, когда вы его задействуете такую его реализацию, он становится неэффективным.
Читать полностью »