Winner Code
Veni, vidi, programmare!
Veni, vidi, programmare!
21 июня 2011
Продолжим написание постов по использованию Python и UrlLib. Может, плохо рассказывать о таких вещах как накрутке, но это весьма интересно. Опять же не забуду напомнить, что всё это исключительно в учёбных целях!
Что я рассмотрю в этой статье:
16 июня 2011
Приветствие! Сегодня напишем программу по накручиванию рекламы, которая сможет скрывать свои реальные данные (ip, user-agent, гео-положение). Хочу заметить, что всё это исключительно в учёбных целях.
В этой статье я разберу:
13 июня 2011
Здравствуйте. На предмете Архитектура ЭВМ в целях ознакомления с принципами работы компьютера нас обучили основам ассемблера под i8086 процессор (большинство современных процессоров с ним совместимы). Я подумал, что не будет лишним рассказать здесь все, о чем узнал.
10 июня 2011
В этой небольшой заметке хочу написать о том, как на чистом С++ можно получить текущее время.
#include <time.h> std::string getCurrentTime() { time_t curTime; struct tm *timeInfo; time(&curTime); timeInfo = localtime(&curTime); char buffer[1024]; strftime(buffer, 1024, "%d.%m.%Y %X", timeInfo); std::string curFormatDate = std::string(buffer); return curFormatDate; }
30 апреля 2011
Недавно мне попался заказ на обработку писем из почтового ящика: вытягивания нужных e-mail адресов. Всё бы прекрасно, да я никогда не работал с POP3-протоколом в PHP-скрипте.
Первый, кто пришёл на помощь — google.com. Я нашёл описание почтового стандарта “MIME” (RFC1521), и почтового протокола POP3.
Не буду оттягивать с вступлением, приступим к работе.
Для начала, давайте согласуем версии инструментов, с которыми будем работать. У меня стоит самая последняя версия PHP: 5.3.2 (Это важно, так как я буду использовать ООП при решении задачи). Также ваш Apache-сервер должен быть настроен на поддержку работы с сокетами.
29 апреля 2010
Скриптовые движки очень активно используются разработчиками в своих программах. Благодаря им можно улучшить “интерфейс” работы с информацией. Благодаря скриптовым файлам, нет нужды каждый раз перекомпилировать исходный код программы, достаточно просто передать заново скрипт для парсера, или перезапустить программу.
Также скрипты есть важной частью игровых движков. Там их используют для самых разнообразных целей:
Применить скрипты можно практически везде, была бы фантазия и потребность в этом.
В качестве скриптового движка можно выбрать большинство скриптовых языков программирования. Самые популярные это Lua и Python. Игроделы всегда спорят, что лучше. В этой статье я хочу познакомить вас с другим, более “лёгким” скриптовым языком. Если вас всё-же интересуют вышеназванные, можно использовать lua + luabind, python + boost.python. С некоторыми из них я работал, поэтому, если кто-то захочет, я смогу описать работу и с ними.
29 апреля 2010
Нам нужно изменить размер и тип шрифта в Vim’e. Проблема в чем, я знаю команду guifont=…. Сегодня мне понадобилось установить шрифт Consolas размером в 14. Я сделал по мануалу:
set guifont=Consolas:h14
В итоге получил буквы с большими отступами и левым шрифтом. Когда я попробовал
set guifont=Consolas
шрифт поставился, какой мне нужен, но размер был очень маленьким.
29 апреля 2010
Сегодня мы познакомимся с физическим движком Newton Game Dynamics и графическим Ogre3D. Конкретно — с их связкой OgreNewt, которая написана walaber’ом.
Во время написании статьи я брал OgreNewt из svn. Версия была совместима с Newton 2.15 (последняя — 2.17). Надеюсь, автор и далее будет активно разрабатывать библиотеку. Для примера, разрушения мне придётся писать вручную.
Но начнём с самого начала — скомпилируем библиотеку. В исходниках есть project-файл для Visual Studio и файл для утилиты CMake. Для успешного билда нам нужно будет скачать сам физический движок Newton и прописать путь к нему в настройках OgreNewt. Также в зависимостях есть boost.
Надеюсь, подключить всё это вам не составит труда, иначе браться за физику рановато :). В комплекте также идут 9 демо-приложений. Именно их я хочу расписать поэтапно.
29 апреля 2010
Приветствие, давно мы не шаманили на с++ :) Сегодня поговорим о небольшой олимпиадной задачке с информатики. Суть довольно проста: написать класс, который может работать с дробями. Например:
-2 5/3 * 9/10
Реализовать все 4 базовые действия над ними.
Для всего действия мы создадим 1 большой класс Fraction. Вся работа сводится до: парсим дробь из строки, сокращаем по возможности и переопределяем операторы + - / *.
Сразу же хочу выразить благодарность хорошему человеку — Илье, который не раз помогал мне с моими нубскими вопросами :) Спасибо.
Итак, сегодня мы с вами научимся переопределять операторы, писать классы, парсить строки, думать, считать :) Для начала, напишем вспомогательные функции: поиск наибольшего общего делителя и кратного (НОД/НОК). Реализовать это достаточно просто за алгоритмом Эвклида:
НОД( a, b ) = НОД( a, a mod b ); НОК( a, b ) = (a * b) / НОД( a, b );
29 апреля 2010
Это вторая часть вводной статьи о работе с материалами и шейдерами в render-движке Ogre3D. Все 4 файла нужно скопировать (или писать прямо в них).
Первое, с чем разберемся — вертексный шейдер:
float4x4 matViewProjection; struct VS_INPUT { float4 Position : POSITION0; float2 TexCoords : TEXCOORD; }; struct VS_OUTPUT { float4 Position : POSITION0; float2 TexCoords : TEXCOORD; }; VS_OUTPUT vs_main(VS_INPUT Input) { VS_OUTPUT Output; Output.Position = mul(matViewProjection, Input.Position); Output.TexCoords = Input.TexCoords; return Output; }