Search
Write a publication
Pull to refresh
-1
0
joann @joann

User

Send message

Двойное проникновение теории Джеффри Мура

Reading time2 min
Views2.5K
Наверное многие стартаперы знают, как развиваются рынки по теории Джеффри Мура — от новаторов к раннему большинству(прагматикам), прыгая через пропасть.

Оказалось, эта теория применима не только к рынкам, а также к развитию, собственно, людских сообществ. Вот у нас в Копини теория сработала в этих двух плоскостях.
Читать дальше →

Как работает web-spider

Reading time4 min
Views12K
Предположим, перед нами стоит такая задача: собирать информацию о рекламных объявлениях с различных сайтов в разных категориях. В дальнейшем эта информация будет использоваться для мониторинга и анализа рынка, оповещения о каких-то событиях на этом рынке. Похоже на создание мини- поисковой системы.

По сути дела, имеем 4 подсистемы:
1. Сервис запуска плагинов, собирающих и извлекающих информацию
2. Временное хранилище данных
3. Индекс данных
4. Приложения для работы с извлеченными данными, например, генератор отчетов

Рассмотрим последовательно каждую систему.

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

Вместе веселее. Как наладить эффективное сотрудничество творческих людей

Reading time13 min
Views5.2K
Представляю вашему вниманию перевод статьи под названием "Better together; the practice of successful creative collaboration" от Stefan Klocek. Перевели специально для пользователей Хабрахабра с одобрением компании Cooper.


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



Двое (или больше) творческих людей могут использовать эти добродетели, если будут хорошо играть в команде. Практика “парного дизайна”, используемая в Cooper, взрослела больше чем десять лет, и развивается вместе с ростом компании, формируя новые пары, в которых дизайнеры учатся друг у друга каждый день. Хотя не существует никакой магической формулы, но большинство самых успешных совместных работ такого плана на нашей памяти обладали на удивление схожими характеристиками.
Читать дальше →

Google открывает LevelDB: ещё одна внутренняя разработка

Reading time2 min
Views13K
Компания Google открыла исходные коды LevelDB — это созданный в Google быстрый движок (библиотека) для работы с хранилищем пар ключ-значение.

Библиотеку LevelDB на C++ можно использовать для разных целей. Например, веб-браузер может обрабатывать с помощью LevelDB кэш недавно посещённых страниц. Операционная система — список установленных пакетов и зависимостей между ними, а любое приложение может использовать LevelDB для хранения пользовательских настроек.
Читать дальше →

Инвестиции в стартап — как оформлять?

Reading time1 min
Views1.1K
Предположим ваш стартап работает или идея сногсшибательная, что инвестор нашелся, деньги есть и не хватает важной детали — как оформлять отношения с инвестором и что интереснее — как оформлять отношения с отечественным инвестором.

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

В большинстве случаев тот, кто вкладывает деньги — хочет значимую или контрольную( >50% ) долю. В этом случае организатор проекта настораживается, есть опасения, что контроль будет потерян и всё мероприятие уйдет не в ту сторону( или просто уйдет на сторону).

Приглашаю хабровчан, особенно с опытом привлечения или инвестирования, в комментарии ответить на вопрос — какие важные моменты обязательно должны быть прописаны на бумаге?

Вот те моменты о которые мне приходят на ум:
Читать дальше →

Google проиндексировал gov.ru

Reading time1 min
Views1.9K
А между тем в рунете продолжается терзание поисковиков. На очереди Google и «Сервер органов государственной власти».

Можно найти документы «для служебного пользования».
Читать дальше →

Построение индекса для поисковой машины

Reading time4 min
Views14K
Полное содержание и список моих статей по поисковой машине будет обновлятся здесь.

В предыдущих статьях я рассказывал про работу поисковой машины, вот и дошел до сложного технически момента. Напомню что разделяют 2 типа индексов – прямой и обратный. Прямой – сопоставление документу списка слов в нем встреченного. Обратный – слову сопоставляется список документов, в которых оно есть. Логично, что для быстрого поиска лучше всего подходит обратный индекс. Интересный вопрос и про то, в каком порядке в списке хранить документы.

На предыдущем шаге DataFlow от модуля-индексатора мы получили кусочек данных в виде прямого индекса, ссылочной информации и информации о страницах. Обычно у меня он составляет около 200-300mb и содержит примерно 100 тысяч страниц. Со временем я отказался от стратегии хранения цельного прямого индекса, и храню только все эти кусочки + полный обратный индекс в нескольких версиях, чтобы можно было откатиться назад.

Устройство обратного индекса с виду, простое, – храним файл, в нем в начале таблица адресов начала данных по каждому слову, потом собственно данные. Это я утрировано. Так получается самый выгодный для оптимизации скорости поиска формат — не надо прыгать по страницам — как писали Брин и Пейдж, — 1 seek, 1 read. На каждой итерации перестроения, я использую 20-50 кусочков информации описанных выше, очевидно загрузить всю инфу из них в память я не могу, тем более что там полезно хранить еще кучу служебных данных об индексе.
Читать дальше →

Prolog — удивительный язык программирования

Reading time10 min
Views207K
— Чем же он удивительный? Я знаю пару десятков языков и для меня не проблема изучить еще один новый, я просто уже не вижу необходимости.

Пролог — уникален. Это единственный язык представляющий парадигму декларативного программирования; это язык, который имеет сотни различных имплементаций, но они все равно называются Prolog, добавляя лишь префиксы и суффиксы к названию; это живой язык в котором не происходит никаких существенных изменений более 20 лет; это, наверное, единственный настолько популярный язык программирования, который не имеет применения в реальном программировании. Почему же Prolog?

Пролог — уникален по своей природе, он появился благодаря счастливому совпадению (таинственному устройству мира). Когда-то в 60-х годах очень бурно развивалась теория автоматического доказательства теорем и Робинсоном был предложен алгоритм резолюций, который позволял доказать любую верную теорему (вывести из аксиом) за конечное время (за какое не известно). Как оказалось позже, это наилучшее решение общей задачи, невозможно доказать теорему за ограниченное число операций. Простыми словами, алгоритм представляет собой обход (в общем случае бесконечного) графа в ширину, естественно, что предсказуемость работы алгоритма практически равно 0, соответственно для Языка Программирования — это абсолютно не подходит. И в этот момент Кальмэроу нашел блестящее сужение задачи, благодаря которому доказательство некоторых теорем выглядело как процедурное исполнение программы. Стоит отметить, что класс доказуемых теорем достаточно широк и очень хорошо применим для класса программируемых задач. Вот так в 1972 появился Prolog.

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

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

Сравнение MemCache и MongoDb для сетевого кэша

Reading time7 min
Views9.9K
Возникла достаточно неординарная идея: виде средства сетевого кеша взять не MemCache, а MongoDb и сравнить их производительность. Но для представления и сравнения показателей этих двух «механизмов кеширования» взяли еще и другие средства, позволяющие ускорить работу нашего App (APC, RamFS, TmpFS, XCache).
В статье приведены данные и графики сравнения этих механизмов с описанием и рассуждением полученных данных и графиков.
Читать дальше →

Социальная сеть как инструмент научной работы

Reading time4 min
Views12K
Важным этапом научного исследования является выбор темы и оценка степени разработанности проблемы. В современных условиях лавинообразного роста информации проблема выбора тема усложняется еще больше: ученый оказывается просто не в состоянии отслеживать все публикации в собственной области (не говоря уже о смежных областях). Кроме того, на начальном этапе исследования достаточно сложно (кто писал кандидатскую диссертацию, тот знает) отслеживать процесс изучения собственной области на современном этапе (т. е., получать актуальную информацию о том, кто, где и чем занимается, какие публикации выходят, какие диссертации защищаются и т. п.). В настоящее время данная задача облегчается при помощи научных социальных сетей, позволяющих ученым отслеживать (а в некоторых случаях — и скачивать) последние публикации по собственной, устанавливать контакт друг с другом, а также предоставляющих некоторые дополнительные возможности. Рассмотрим некоторые популярные социальные сети для ученых более подробно. Данный обзор не претендует на исчерпывающий характер; при выборе социальных сетей я руководствовался следующими критериями: 1) интернациональность (именно поэтому в обзор не попали сервисы, ориентированные на ученых какой-то одной конкретной страны) и 2) междисциплинарность (в первую очередь меня интересовали социальные сети, которые могут использоваться учеными самой разной специализации; именно поэтому обзор не затрагивает сервисов, ориентированных на представителей какой-то одной конкретной дисциплины). Буду очень рад, если с помощью читателей удастся расширить и дополнить этот список.
Читать дальше →

Методы оптимизации производительности приложения при работе с РБД

Reading time3 min
Views7.6K
Действуют они везде – хоть MySQL, хоть Oracle хоть самописная БД. Чем умнее БД – тем больше она старается оптимизировать сама, но лучше ей помочь

1. Разделяй и властвуй, а попросту кластеризация БД – все данные одного типа можно еще разбить на кластеры – отдельные таблицы, в каждую таблицу попадают записи, которые удовлетворяют какому-то простейшему правилу, например в таблицу с индексом I попадают данные у которых ID%N==I, где N – кол-во кластеров. Таким образом очень просто и эффективно делим те данные, которые не надо считывать последовательно – например разбиваем все слова на 100-200-миллион блоков, в каждом блоке только слова у которых ID%N==I. В качестве примера в большой системе, типа социальной сети, можно поделить все данные по признаку принадлежности одному пользователю — например все фото разместить в N таблиц, информация о фото помещается в таблицу K=USER_ID%N

2. Условно — работа с диском. Всегда пиши (вставляй) последовательно, кэшируй и буферизуй запись, читать старайся подряд от начала до конца. Ускорение записи может быть просто фантастическое – много порядков, просто от того что Вы правильно используете запись зная как работает Ваш (или производителя) алгоритм записи на диск. Данные почти всегда можно отсортировать до записи – в памяти ли, разные файлы ли с кускам текста – всегда можно построить индекс или простейший массив, который отсортирован по ID данных и читать-писать их в порядке как в индексе. Как один из вариантов – всегда можно придумать более оптимальную структуру хранения данных. К примеру когда надо вставить кусок таблицы в другую таблицу делать это лучше последовательно от меньшего ID к большему, заодно отключив механизм индексации. И включив его после вставки.
Читать дальше →

Поисковые технологии или в чем загвоздка написать свой поисковик

Reading time3 min
Views59K
Когда-то давно взбрела мне в голову идея: написать свой собственный поисковик. Было это очень давно, тогда я еще учился в ВУЗе, мало чего знал про технологии разработки больших проектов, зато отлично владел парой десятков языков программирования и протоколов, да и сайтов своих к тому времени было понаделано много.

Ну есть у меня тяга к монструозным проектам, да…

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

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

Флаги 254 стран одним спрайтом

Reading time1 min
Views16K
Однажды, nickivanov нарисовал миниатюры для кучи разных флагов и выложил их в свободный доступ. А недавно, artpolikarpov собрал их в один спрайт и написал к нему удобный css, который позволяет легко отобразить любой флаг просто указанием нужного класса.

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

И был бы этот топик топиком-ссылкой, да по необъяснимым причинам не разрешает Хабр в топиках-ссылках указывать авторов, заслуживающих похвал. Так что вот они ссылки:
Описание: artpolikarpov.ru/projects/flags
Архив с флагами: artpolikarpov.ru/projects/flags/flags.zip

Anonymous запустили HackerLeaks.tk для слива информации о взломах

Reading time2 min
Views2.2K
Несмотря на появление многочисленных клонов WikiLeaks, участники Anonymous решили запустить собственный. В отличие от остальных, сайт HackerLeaks.tk (http://hackerleaks2011.blogspot.com/) специализируется на публикации баз данных, эксплойтов и дыр в безопасности, а также фактов взлома разных ресурсов. То есть эдакий Wikileaks для хакеров.

О запуске HackerLeaks.tk объявил Commander X, который считается лидером подгруппы People's Liberation Front (Фронт народного освобождения) внутри Anonymous.
Читать дальше →

Реализация нечеткого поиска

Reading time6 min
Views43K


Если ваш веб проект так или иначе будет связан с поиском и предоставлением пользователям некоторых данных, то перед вами наверняка встанет задача реализации строки поиска. При этом, если в проекте по какой-либо причине не удастся использовать технологии умных сервисов как Google или Яндекс, то поиск частично или полностью придется реализовать самостоятельно. Одной из подзадач наверняка будет реализация нечеткого поиска, ведь пользователи часто ошибаются и иногда не знают точных терминов, названий или имен.

В данной статье описывается возможная реализация нечеткого поиска, которая была применена для поиска на сайте edatuda.ru.
Читать дальше →

IPO for dummies. Часть VI: сложности выбора — два Lamborghini Gallardo или один Aventador?

Reading time6 min
Views2.5K
Начало и оглавление см. в первой части.

Итак, моя компания вышла на IPO. Теперь я, как основатель, могу наконец-то сбросить свои акции и купить Lamborghini Gallardo! Да, я помню, что их придётся продавать «ниже рынка», но уж очень хочется прокатить Тамарку с пятого этажа на красивой спортивной машинке…

Ты весь бизнес затеял ради наживы, что ли?

(Возмущённо) Ради чего затеял — моё дело. Продам акции, куплю тачку-яхту-остров, буду наслаждаться, а дальше хоть трава не расти!

«Трава не расти», говоришь? Я правильно понимаю, что ты, основатель, хочешь выйти из бизнеса и забросить его?

У меня для тебя неприятная новость.
Читать дальше →

EchoPrint — открытая система распознавания музыки

Reading time4 min
Views248K
Наверняка многие из вас слышали и знают про системы идентификации музыки вроде TrackID, Shazam, MusicBrainz или онлайновой Audiotag.info, позволяющие по записанному отрывку песни узнать ее название. Все они в достаточной степени хороши, но имеют общий недостаток — закрытый код и, соответственно, ограниченную сферу применения. TrackID вы можете использовать только на телефонах Sony Ericsson, Shazam — тоже только на телефонах, хотя и на более обширном списке платформ, а Music Brainz вообще неясно, работает ли вообще.

Ребята же из компании Echo Nest, решили, что распознавание музыки должно быть таким же доступным миру явлением, как электронная почта или DNS :), и выпустили своё детище полностью под MIT License. А детище, надо сказать, у них очень серьёзное — еще бы, если основателями компании являются доктора наук из MIT Media Lab .

Тот зверьфункционал, который они выпустили на свободу, не ограничивается только распознаванием музыки по записанному отрывку, но и позволяет делать такие вещи, как поиски дубликатов музыки, массовое распознавание и заполнение тэгов в музыкальных коллекциях, проверка аудио/видео на содержание того или иного материала, синхронизация коллекций из различных музыкальных пространств (iTunes <-> Last.fm <-> Spotify, например) и много чего еще.

Подробнее

Онлайн проектная среда: решение. Часть 1

Reading time5 min
Views974
image

Введение


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

IPO for dummies. Часть V: жизнь после IPO

Reading time4 min
Views3.1K
Начало и оглавление см. в первой части.

А что можно было бы ожидать на следующий год после IPO?

Через год после (описанного в предыдущей главе) удачного IPO (хоть и прошедшего со слабеньким P/E равным 12.5) пять акций Пети стоят 2500 долларов, а пропорциональная его доле часть прибыли составляет 950 долларов. Настало время готовить годовой отчёт…
Читать дальше →

Выбираем микроконтроллер вместе

Reading time3 min
Views117K
Прочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.
Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.
image
Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
Читать дальше →

Information

Rating
Does not participate
Location
Paris, Франция
Date of birth
Registered
Activity