Сочетание градиентных и непрерывных генетических алгоритмов

Современный уровень технического прогресса характеризуется созданием и функционированием сложных технических систем (СТС). Сейчас все чаще при поиске оптимального решения в сложных технических системах приходится решать неформализованные задачи — с множеством вариантов, среди которых необходимо найти нужный. При решении сложных оптимизационных задач управления в СТС основной целью является поиск «лучшего» решения по сравнению с полученным ранее или заданным в качестве начального. Это связано с тем, что для сложной системы часто нужно найти хоть какое-нибудь удовлетворительное решение, а проблема достижения оптимума отходит на второй план.

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

Корпоративный сайт — как одна из причин неудач начинающих web студий

Всем здравствуйте.

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

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

ZeroMQ — библиотека обмена сообщениями

В интернете можно найти много слов о различных NoSQL решениях. Это действительно здорово, что помимо неповоротливых монстров, появляется много легковесных конструкций, из которых можно выбрать ту самую, которая подходит лучше всего.
Это может быть Cassandra, или Lucene, или Tokyo Cabinet.
А потом можно попить пива и похвастаться перед своими коллегами десятками тысяч запросов в секунду, страшной надежностью или чем-нибудь еще.

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

Библиотека ZeroMQ смотрится на фоне своих уважаемых коммуникационных родственников так же ярко и свежо, как Hadoop или Cassandra рядом с PostgreSQL.

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

А теперь немного о том, что ZeroMQ умеет.

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

Краткий анализ источников информации в сети Интернет

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

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

Автоматизированная система регистрации абонентов в рамках маленького интернет-провайдера

Здравствуйте!

Хочу рассказать вам об очень простой реализации очень интересной задачи.

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

Кратко:
Необходимо чтобы в студенческом общежитии любой студент мог подключить свой компьютер к сети, зарегистрировать его на специальном сайте, и пользоваться интернетом без участия во всём процессе вторых или третьих лиц, в полностью автоматическом (автономном) режиме.

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

Авторизация на сайте через прокси с аутентификацией на Python

На самом деле такой пугающе сложный заголовок описывает весьма тривиальную задачу.
Совсем недавно мне понадобилось написать приложение на Python, которое бы из-за HTTP прокси сервера с аутентификацией (используя логин и пароль), заходило бы на сайт рекламной сети и проверяло баланс аккаунта. Для выполнения задумки был использован Python 2.7.1.

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

Адам, Ева и их дети в ООП

Моим первым языком программирования был Pascal. На нем, за первые годы учебы в вузе, я понаписал кучу всякой лабораторной всячины. Дальше был С, С++, а потом, на несколько лет, по ряду причин, я выпал из студенческой жизни. Вернувшись к высшему образованию после вынужденного перерыва, я начал осваивать другую специальность и забыл о программировании.

Вспомнил про него случайно, когда младшая сестра поступила в институт. Как-то она обратилась ко мне за помощью, нужно было написать лабораторную работу по ООП на C++.

Вытаскивая из памяти заброшенные знания и пытаясь донести их до сестры, я пришел к выводу, что с разбегу объяснить основы ООП не выйдет. Имея навыки «процедурного» программирования, она совсем не понимала сути ООП. Тогда я решил упростить такие понятия, как: объекты, классы, методы классов, свойства классов и пр., и стал представлять их в виде привычных вещей.


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

Резервное копирование баз данных в СУБД PostgreSQL (On-line backup)

В данной статье я хочу поделиться подходом к вопросу резервного копирования баз данных в СУБД PostgreSQL, применяемым мной во многих проектах.

Немного теории.

На текущий момент в СУБД PostgreSQL существует два способа резервного копирования баз данных без остановки сервера СУБД или блокировки (lock) работы с данными (On-line backup):
  1. Base backup (полный бекап)
  2. On-line backup (архивирование WAL — Write-Ahead Log (Журнал опережающей записи или архивные журналы, по аналогии с СУБД Oracle))
Первый способ организует полное резервное копирования баз данных (системных файлов), второй способ сохраняет лишь журнал записей, используя которые при восстановлении в дальнейшем, можно откатиться на тот или иной срез данных во времени, в диапазоне, начиная от времени создания Base backup и заканчивая последним сохраненным журналом (архивный лог (WAL)). Чем больше журналов вы храните, тем, при желании, на более широкий диапазон данных вы сможете откатиться при восстановлении (PITR — Point-In-Time Recovery (восстановление к состоянию в определённый момент времени)).

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

Экстремальное программирование для старшеклассников

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

Идея тренинга — за короткий промежуток времени (3 дня) командой из четырех человек написать одну программу, но с разными подходами команд к этому процессу.

Хочу вам рассказать об этом мероприятии.


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