Как стать автором
Поиск
Написать публикацию
Обновить
0
0
Дроздовский Михаил @drozdovsky

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

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

Масштабирование MySQL в реальном времени

Время на прочтение2 мин
Количество просмотров1.6K
imageНа написание этого поста меня натолкнул топик glix. Итак вкратце:
Amazon теперь предоставляет сервис отказоустойчивой масштабируемой базы данных, т.е. наш MySQL теперь в облаке. Более подробно можно прочитать в самой статье, так что пересказывать её не буду.

Единственный минус подобного решения — цена. Не скажу, что услуги Amazon заоблачно :) дороги, но при работе сервера 24 часа в сутки, это может влететь в копеечку. Сидя на DevConf'е у меня родилась идея, как этого можно избежать.
читать дальше

Вариант синхронной импульсной нейронной сети с обратными связями

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

Предупреждение


Предупреждаю, рассуждения на данный момент чисто теоретические. Но уж очень красивая теория получается. Или я схожу с ума. Интересно ваше мнение о моих рассуждениях — стоит ли затевать практическую реализацию?
Скажу честно, причина по которой родились все дальнейшие рассуждения в том, что мне не удалась одна моя дурная затея — научить нейронную сеть самостоятельно играть в тетрис. Обучать сеть с учителем нереально долго, т.к. учитель — это я, да и однозначно правильных вариантов движения фигурок в тетрисе нет. Был применён генетический алгоритм обучения сети. Максимум чему обучилась моя популяция за сутки виртуального процесса эволюции и естественного отбора — раскладывать падающие фигурки в три столбика (на самом деле она ещё научилась поворачивать фигурки так, чтоб они были скорее «горизонтальны», чем «вертикальны», но вот научиться делать поворот фигурок так чтоб линии убирались — оказалось не по силам).
Читать дальше →

Пишу поисковик (virtual project). Хранение данных

Время на прочтение4 мин
Количество просмотров585
Хранение — пожалуй самое тонкое место подобных проектов. В зависимости от решаемых задач оно должно обеспечивать:
— быстрый доступ к данным;
— быстрое обновление данных;
— достаточный функционал с возможностями расширения.
В системах массового обслуживания с большим потоком запросов, малое время обработки отдельного запроса — залог работоспособности системы.
Если важна оперативность появления в доступе новых данных (новостные системы), то на первый план выходит скорость обновления базы.
С ростом объемов данных совмещать совмещать высокую скорость доступа и обновления становится практически невозможно.
Читать дальше →

Знаете ли вы как работает этот код?

Время на прочтение3 мин
Количество просмотров1.1K
Вчера, в очередной раз столкнувшись с интересным поведением кода, я решил привести пару примеров из C# и MS SQL, которые в свое время меня удивили.

Пример 1. Меняем местами значения переменных (C#)


С этим поведением я встретился несколько лет назад, когда только начал изучать C#. Применив знакомый метод, чтобы поменять значения 2-х переменных местами, я с удивлением обнаружил, что он не работает.
//Задаем 2 переменные
int x = 1, y = 2;

//Меняем их значения при помощи xor
x ^= y;
y ^= x;
x ^= y;

//Выводим результат [x=2;y=1]
Console.WriteLine("x = {0};y = {1}", x, y);

//Снова меняем их значения, но только пишем все в одну строчку
x ^= y ^= x ^= y;

//Выводим результат [x=0;y=2]
Console.WriteLine("x = {0};y = {1}", x, y);


* This source code was highlighted with Source Code Highlighter.

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

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

Время на прочтение2 мин
Количество просмотров622
image
Ученые предложили новый метод определения самых влиятельных пользователей социальных сетей — оказалось, что количество связей конкретного индивидуума слабо сказывается на его способности распространять информацию. В качестве одного из модельных примеров выступала сеть, образованная дружественными аккаунтами в ЖЖ. Статья ученых пока нигде не опубликована, однако ее препринт доступен на сайте arXiv.org.
Читать дальше →

Древовидные СУБД

Время на прочтение7 мин
Количество просмотров4.3K
Приглашаются к обсуждению все, имеющие опыт использования, в качестве хранилища данных, древовидных СУБД. Было бы полезно делится опытом разработки древовидных структур, описанием конкретики построения дерева индексов и алгоритмов полнотекстового поиска информации внутри хранилища данных.

Поскольку любая компьютерная система с целью оптимизации обмена производит обмен между памятью и диском в виде блоков, то атомарным элементом, хранящим данные на диске, является блок. Ни для кого не секрет, что многие СУБД (тот же ORACLE и MSSQL) фактически хранят данные в Б-деревьях. Б-дерево – это набор логически связанных блоков, выстроенных в иерархию, на каждом уровне которой определены блоки, у каждого из которых одинаковое количество уровней потомков. Описание алгоритма работы Б-дерева выходит за рамки данного блога.

Реляционный, объектный или прямой доступ обеспечивается логической моделью. Попробую предположить, что разумное использование логической модели данных, максимально приближенной к фактическому хранению – позволит более просто и быстро обрабатывать низкоуровневые данные, чем использование других логических моделей(SQL и пр.), хотя и существенно повышаются требования к уровню разработки механизмов доступа к данным. Возможно, что прямой доступ может быть представлен логическим деревом. Примером логического дерева данных – является глобал в СУБД Cache.

Приведу несколько примеров использования, из личного опыта, древовидных структур данных (глобалов).
Читать дальше

Хочешь жить — умей вертеться. История компании CDNvideo

Время на прочтение8 мин
Количество просмотров19K
В основе любой работы должны лежать принципы. Мы с самого начала используем «принципы успеха» основателя Panasonic Коносуке Мацусита из одноименной книги. Его взгляд отличается от всего, чему учат западные бизнес-гуру, и мне кажется, что у нас в России работают именно советы знаменитого японца.

Главное, чему учит Мацусита — все возможности для бизнеса можно найти прямо у себя под носом. Надо найти инвесторов и клиентов для нового бизнеса? Поспрашивай у своих друзей в «Одноклассниках». Нужно сделать выбор — государственный грант или частные инвестиции? Нет проблем, возьми и то, и другое. Не успел собрать денег на старт бизнеса? Ничего страшного, поработай на более удачливых конкурентов — пережди кризис.
Читать дальше →

Дерево ван Эмде Боаса

Время на прочтение6 мин
Количество просмотров19K
Всем доброго времени суток!

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

Дерево ван Эмде Боаса (van Emde Boas tree) — ассоциативный массив, который позволяет хранить целые числа в диапазоне [0; U), где U = 2k, проще говоря, числа, состоящие не более чем из k бит. Казалось бы, зачем нужно еще какое-то дерево, да еще позволяющее хранить только целые числа, когда существует множество различных сбалансриованных двоичных деревьев поиска, позволяющих выполнять операции вставки, удаления и прочие за O(log n), где n — количество элементов в дереве?

Главная особенность этой структуры — выполнение всех операций за время O(log(log(U))) независимо от количества хранящихся в ней элементов.

Что же там еще есть такого вкусного?

Краткий мануал по участию в программе «Старт» (1 млн.р. для вашего проекта)

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


Наверное многие из участников хабра-сообщества слышали о конкурсе «СТАРТ», проводимым Фондом содействия развитию малых форм предприятий в научно-технической сфере (по народному, Фондом Бортника).

Суть конкурса — безвозмездное субсидирование стартапов в различных отраслях (ИТ, медицина, машиностроение и тд.) размером 1млн. рублей в первый, с возможность продолжения и получения 2млн.р. во второй и 3 млн.р. в третий год. В первый год деньги даются приблизительно 20% проектам, которые подали заявку (если точнее, 107 из 515 проектов в 2010г).

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

Точка, точка, запятая: машинное обучение

Время на прочтение7 мин
Количество просмотров17K
Как научить поисковую машину правильно разбивать текст на предложения? Сделать так, чтобы она могла распознавать точки, которые не являются концами предложений.

Наша статья о машинном обучении объясняет одну из техник, которые применяются в поисковой машине тогда, когда возникает нужда в корректном разбиения текста на предложения. Решение такой задачи имеет принципиальное значение, например, при генерации сниппетов поисковыми системами или при построении базы контекстов словоупотребления. Сейчас эта технология встраивается в индексатор Поиска@Mail.Ru. Точность метода, по нашим наблюдениям — не менее 99%.
О том, как это работает, читайте в нашей статье.
Читать дальше →

libscgi — эффективное решение для простых и быстрых скриптов

Время на прочтение4 мин
Количество просмотров5K
Очень часто необходимо реализовать простое легкое решение, которое должно отработать довольно быстро. А с использованием технологии AJAX это стало еще актуальнее. Это может быть как скрипт автокомплита, скрипт специфического поиска, вывод информации из справочника. Ранее использовались cgi скрипты. При больших нагрузках они оказались не очень эффективными и были разработаны протоколы fcgi и scgi. Следует заметить что производительность scgi сервера довольно-таки высокоя (более 1500 запр/сек) и памяти занимает всего 600K.

Протокол Simple Common Gateway Interface (SCGI) — это протокол по взаимодействию приложений с веб (http) серверами. Большинство современных WEB-серверов (Apache/nginx/lighttpd) имеют встроенную поддержку scgi. Ниже дано краткое описание использование простой библиотечки, которая представляет собой scgi сервер.

Исходники тут.
Читать дальше →

3D Console Renderer

Время на прочтение6 мин
Количество просмотров14K
Нечем заняться? тогда может быть просто написать 3D Console Software Rendering?
Добро пожаловать под кат!
image
Читать дальше →

Регистрация своей фирмы собственными руками, туду-лист

Время на прочтение12 мин
Количество просмотров51K
Дисклаймер: описываю только свой личный опыт и мнения автора могут не совпадать с мнением автора. Статья огромная, читать много.

Пишу эту статью, и представляю себе тебя, читателя Хабра, которой в обеденный перерыв залез почитать что-нибудь для развития. А этот читатель, т.е. ты (да, не отворачивай глаза от букв, именно ты) давно наслышан, что своё дело – это круто. И, может быть, как раз не хватало лёгкого пинка, чтобы выйти из зоны будничного комфорта и что-нибудь, да предпринять.

Эта статья адресована тем, кто уже «на грани». Она почти лишена философии и туманных ссылок, просто тупо туду-лист. Бери и делай. Намеренно избавляю тебя от объяснений, зачем молодому проекту нужна госрегистрация, такая ли уж это свобода – быть собственником и от куда взять деньги на госпошлину. Статья адресована московским стартаперам, гео-патчи от других городов приветствуются в комментариях.
Будем считать, что с формой собственности определились — это ООО и упрощенка 6%. Если кому нужно ИП – там проще, справишься и без этой статьи.

Для создания фирмы необходимо:

Минимальный реквизит для создания своей компании
Подробности под кОтом.

Русская морфология, основанная на памяти

Время на прочтение3 мин
Количество просмотров5.2K
Один из перспективных подходов в машинном обучении базируется на запоминании уже разобранных примеров и поиске похожего образца. Например, у нас уже есть коллекция расшифрованных аудиозаписей, и если появляется новый звуковой файл, мы ищем похожий образец и на его основе строим распознавание. Рассмотрим, как базируясь на этом принципе, можно построить морфологию русского языка.
Читать дальше →

PHP type hinting — строгое или мягкое?

Время на прочтение2 мин
Количество просмотров24K
Добрый день, %username%!

Сегодня мне хотелось бы обсудить тему type hinting в PHP. В данный момент в листе рассылки для разработчиков идёт жаркая дискуссия на эту тему и обсуждается какой подход нужно использовать и как это будет работать. Ваш покорный слуга тоже активно участвует в этой дискуссии.

Дискусию можно начать читать здесь и продвигается по ней кликая на next in thread.

А теперь перейдём к деталям!

Математическая поисковая система с визуальным вводом формул

Время на прочтение3 мин
Количество просмотров2.7K
Почти полгода назад я написал на хабре статью о проекте математической поисковой системы uniquation.ru. Тогда была получена конструктивная критика, которая помогла улучшить проект.

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



Под катом рассказ об изменениях, технологиях и влиянии хабра

Twitter публикует свой FlockDB

Время на прочтение1 мин
Количество просмотров3.1K
Приятно, что многие крупные компании продолжают традицию выкладывать серьезные вещи из внутренней разработки в Open Source.
Недавно Twitter выложил FlockDB

" FlockDB это база данных, которая хранит данные о графах. В то же время это не база данных, оптимизированная для операций обхода графа. FlockDB оптимизирован для работы с очень большими списками смежных вершин графов, быстрого чтения и записи и постраничными арифметическими операциями над запросами (page-able set arithmetic queries)."

Основной задачей проекта было решить проблемы Twitter с работой с очень большими графами соц данных пользователей (followers, операции mention, etc.). Миграция завершилась 9 месяцев назад и вроде бы они всем довольны сейчас.



В настоящий момент система хранит 13 миллиардов рёбер графов и поддерживает 20 тыс. операций записи и 100 тыс. операций чтения в сек.
Более детально с продуктом можно ознакомиться по ссылке.
Исходники доступны на github.

Галерея эффектов кэшей процессоров

Время на прочтение10 мин
Количество просмотров26K
Ядро PenrynПочти все разработчики знают, что кэш процессора — это такая маленькая, но быстрая память, в которой хранятся данные из недавно посещённых областей памяти — определение краткое и довольно точное. Тем не менее, знание «скучных» подробностей относительно механизмов работы кэша необходимо для понимания факторов влияющих на производительность кода.

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

Тримино

Время на прочтение4 мин
Количество просмотров4K
Привет, %usename%!
В этой статье я хочу немного рассказать про комбинаторные игры и разобрать решение одной из них.
Читать дальше →

Мизерный ним

Время на прочтение3 мин
Количество просмотров7.9K
Здравствуйте!
Сегодня я хочу разобрать еще одну классическую задачу на комбинаторные игры — мизерный ним. Всем известно что в теории игр ним с нормальным окончанием занимает центральное место, так как к нему сводятся все комбинаторные игры с нормальным окончанием. Посмотрим как обстоят дела с модификацией привычного нима.
Читать дальше →
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность