Search
Write a publication
Pull to refresh
21
Alexey Stolyar @liqread⁠-⁠only

User

Send message

Интернет-магазин. Начало работы

Reading time8 min
Views19K
Привет, хабранарод!
Писал я давно когда-то про osCommerce небольшую статейку, меня даже просили выложить свою сборку. Если кому она до сих пор нужна — у меня осталась, могу куда-нить положить. Но, наевшись с ОСК, решили написать свою систему. При помощи CakePHP. Об этом хорошо поведал товарищ neudor, с которым на пару мы это дело разрабатывали. В данный момент он несколько отошел от работы с магазином, поэтому я выхватываю у него эстафетную палочку вести цикл статей, посвещенный разработке ПО для интернет-магазина, а также непосредственно организации самой работы, службы доставки, регистрации, налогах. В общем полный FAQ «от и до» — что ждет начинающего предпринимателя, если он решится открыть полностью легальный бизнес в России, с выкладкой затрат в денежном и временном эквиваленте. Итак, сегодня я расскажу о стороне вопроса, не касающейся технической реализации…
Читать дальше →

Строишь проект? Получи приз!

Reading time2 min
Views3.6K

Хабраюзер, полным ходом идет процесс, в котором непременно стоит принять участие!

Intel, совместно с фондом развития «Сколково», устраивают конкурс разработок и исследований в области компьютерных и информационных технологий «Компьютерный континуум: от идеи до воплощения». Кроме нас, эту инициативу поддерживают такие компании, как Лаборатория Касперского, ABBYY, а так же государственные образования: МГУ и суперкомпьютерный консорциум российских университетов.

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

Принять участие в конкурсе могут проекты на самых разных стадиях развития, хотя нет смысла таить тот факт, что предпочтение будет отдаваться тем, кто близок к конечному этапу разработки и выходу на массовый рынок. Если вы участвуете или возглавляете создание новых научных, инженерных решений или строите бизнес в области высокопроизводительных вычислений — это для вас. В конце концов, даже разработчики мобильных приложений могут с полным правом рассчитывать на успех в этом конкурсе. Мы приглашаем всех, от студентов до опытных основателей стартапов, принять участие в Континууме.

Заявки принимаются до 31 октября 2011 г. на веб-сайте www.intel.ru/contest.
Читать дальше →

Асинхронные задания в Django c помощью Celery

Reading time5 min
Views65K
Приветствую!
Думаю, большинство разработчиков Django слышали о Celery — системе асинхронного выполнения заданий, а многие даже активно её используют.

Около года назад на хабре была довольная хорошая статья, рассказывающая о том, как использовать Celery. Однако, как было упомянуто в заключении, уже вышла Сelery 2.0 (на данный момент стабильной версией является 2.2.7), где интеграция с django была вынесена в отдельный пакет, а также произошли другие изменения.

Данная статья будет полезна прежде всего новичкам, которые начинают работать с Django, и им требутся что-то, способное выполнять асинхронные и/или периодические задания в системе (например очистку устаревших сессий). Я покажу как установить и настроить Сelery для работы с Django от начала до конца, а также расскажу про некоторые другие полезные настройки и подводные камни.
Итак, приступим.

Стартап-линч от венчурного инвестора

Reading time3 min
Views6.7K
Привет, Хабр! Сегодня мы анонсируем новый проект — хабралинч от венчурной компании Fast Lane Ventures.



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

Чтобы отправить заявку, нужно описать проект по следующей схеме:
  1. Описание проекта
  2. Модель заработка
  3. Потенциальные клиенты
  4. Партнёры и поставщики
  5. Конкурентное окружение и рынок в целом
  6. Конкурентные преимущества
  7. План развития и стратегические цели
  8. Время на запуск до первого клиента
  9. Имеющиеся достижения (резюме) участников команды
Подробных и честных ответов на эти вопросы вполне достаточно, чтобы наш инвестиционный аналитик мог дать оценку вашему бизнесу. Оценка будет строиться по следующей схеме: сильные/слабые стороны проекта и советы. Пару таких разборов я уже видел, и, должен сказать, что комментарии весьма профессиональные, но многое, конечно, зависит от содержимого заявки — каков вопрос, таков и ответ.

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

Реклама для вашего Android приложения

Reading time3 min
Views54K

Реклама реклама или как заработать на вашем приложении


Большого опыта разработки приложений для Android у меня нет. Но в этой статье я поделюсь своим опытом по общению с различными системами подачи рекламы. Для тех которыми мы пользовались приведу различные графики.

Ну что ж поехали.
Читать дальше →

Режьте, братцы, режьте. Режьте осторожно…

Reading time5 min
Views2K
Прошла весна и пол-зимы с тех пор, когда я ступил на лично выстраданный путь покорения appStore.

Все что есть в печи — все в аппстор мечи, — не самый лучший лозунг, но имеет право на существование.

Теперь я строчу, как Жюль Верн, еженедельно заваливая iOs Review Team свежеиспеченным кодом.
iOs Review Team морщится, но ест. Им приходится пробовать все блюда от клиентов, уплативших 100 долларов за вход в это чудесное яблочное заведение.

image

Злоключения и заключения экстенсивного пути покорения appStore выкладываю под habracut
PS. Можно ли перенести данный топик в раздел Game Development для всеобщего чтения?
Читать дальше →

Магистратура для стартапов

Reading time2 min
Views808
image
Презентация магистерской программы «Master of Technology Entrepreneurship» начнется в 18.00 в четверг 9 июня на Биржевой линии В.О., д. 14 в бизнес-инкубаторе QD.

Магистерская программа уникальна: за два года вы сможете развить собственный технологический бизнес, работая с командой в студенческом бизнес-инкубаторе QD и получить диплом магистра технологического предпринимательства.
Это не похоже на классическое высшее образование, к которому вы привыкли. Здесь вы получаете только нужные знания, нет никакой воды и лишних предметов. Все преподаватели одновременно являются владельцами бизнеса.

День открытых дверей традиционно проходит в формате «Call to Action».
Читать дальше →

10 «однострочников», которые произведут впечатление на ваших друзей

Reading time13 min
Views42K
За последнюю неделю появилось несколько топиков с названием «10 однострочников на <MY_LANGUAGE>, которые произведут впечатление на ваших друзей», которые содержат однострочное решение нескольких простых задач, демонстрирующее достоинства и «крутость» любимого языка программирования автора. Я решил перевести их и для сравнения собрать в одном топике. Вся волна началась (вроде как) со Scala.
Итак, поехали!
Читать дальше →

«Выглядит похоже». Как работает перцептивный хэш

Reading time6 min
Views126K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →

Распознавание рукописных математических выражений

Reading time7 min
Views24K
Здравствуй, Хабр!

В этой статье я хочу поделиться опытом распознавания рукописных математических выражений. Хотя уже и существуют такие средства распознавания рукописных формул как «Панель математического ввода» mip.exe в Windows7, разнообразие подходов к решению данной проблемы не может не впечатлять. Об одном из таких подходов я и собираюсь рассказать.




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

Миграция с одного физического сервера на другой

Reading time5 min
Views41K
image


Типичная ситуация, стартует проект, под него берут самый простенький сервер, который трудится полгода, проект вырастает и просит большой и злобный сервер.

Обычно ставят на новую железку новую ОС, поднимают софт, настраивают, переносят контент, базы и прочее, меняют DNS и через двое суток выключают старый сервер. Казалось бы простая процедура, сотни раз её делал любой сисадмин. НО, в процессе как показывает практика что-то забывается и уже на боевом сервере нужно делать правки и настройки, тащить старые костыли и адаптировать их на новом месте.

Этот вариант иногда неизбежен, например когда сервера в разных датацентрах. Но если сервера (новый и старый) стоят в соседних стойках, то можно просто перенести ОС на новую железку а старую сразу погасить. О том как это сделать я и напишу небольшую статью-чеклист. Итак поехали!
Читать дальше →

Сборка open-source библиотек на Android NDK

Reading time5 min
Views19K
Привет, Хабралюди!

В процессе работы с Android NDK я столкнулся с проблемой сборки уже существующих Linux библиотек на Android NDK. Так как материала не слишком много в этой статье поделюсь своим опытом. В Андроиде я новичек, так что если найдете ошибки — пишите:)

Чтобы пример был не самым простым и при том полезным — возьмём библиотеку libFLAC. Этот даст возможность декодировать .flac файлы. По данному мануалу, я надеюсь, соберутся большинство других библиотек.
Читать дальше →

Распределенные вычисления на JavaScript: Сегодня

Reading time6 min
Views11K
В настоящее в время существует огромное количество сетей распределенных вычислений. Я насчитал порядка 30. Наиболее крупные — Folding@home, BOINC, SETI@home, Einstein@Home, Rosetta@home (по результатам их вычислений было написано несколько десятков диссертаций). Вычисляют они все, что только можно вычислять распределено — от подбора md5 паролей до симуляции свертывания белка.
Каждая из эти сетей имеет необычно высокую производительность и включает в себя миллионы нодов. Производительность каждой сравнима с производительностью суперкомпьютера.
  • Rosetta@home — более 110 Тфлопс
  • Einstein@Home — более 355 Тфлопс
  • SETI@home — более 560 Тфлопс
  • BOINC — более 5.6 Пфлопс
  • Folding@home — более 5.9 Пфлопс
  • Bitcoin — более 9.4 Пфлопс
Сравните с суперкомпьютерами:
  • Blue Gene/L (2006) — 478.2 Тфлопс
  • Jaguar (суперкомпьютер) (2008) — 1.059 Пфлопс
  • IBM Roadrunner (2008) — 1.042 Пфлопс
  • Jaguar Cray XT5-HE (2009) — 1.759 Пфлопс
  • Тяньхэ-1А (2010) — 2.507 Пфлопс
  • IBM Sequoia (2012) — 20 Пфлопс
А теперь, давайте, подсчитаем существующий неиспользуемый потенциал пользователей интернет:
По расчетам на конец 2010 года пользователей Инернет было около 2000000000 (2 млрд).
Каждый пользователь имеет хотя бы 1 ядро процессора производительностью не менее 8 Гфлопс (AMD Athlon 64 2,211 ГГц).

По нехитрым математическим расчетам производительность такой сети составит:
8 * 109 * 2 * 109 = 16 эксафлопс (1018).
Такая сеть в 800 раз производительней, чем ещё не построенная IBM Sequoia (2012), в 1700 раз производительней, чем сеть Bitcoin и производительней всех суперкомьютеров и вычислительных сетей вместе взятых! Сейчас число пользователей ПК и Интерент растет, растет и число ядер. Безусловно, это число (16 эксафлопс) идеальное, никто не будет вычислять 24/7, но если каждый пользователь будет вычислять хотя бы 2 минуты в день (что, впринципе, более чем реально), то такая сеть сравнится с IBM Sequoia.

Сейчас распределенные браузерные вычислительные сети на JavaScript более чем реальны.
Читать дальше →

Эмулятор компьютера с linux на JavaScript

Reading time2 min
Views46K
Никакой серверной части. Только JS: полноценный эмулятор компьютера с линуксом на борту.

bellard.org/jslinux
(внимание, только хром и FF4)

Я долго с ним игрался — это не имитация, линукс ведёт себя как настоящий линукс — компилированные программы работают, ошибки в них вызывают segmentation fault, повреждение корневой файловой системы вызывает бурю возмущения в dmesg и т.д.
Эмулятор PC на JS с линуксом на борту

dd показывает при работе с памятью более чем приличную производительность — более 40 мб/с (не забываем, что это эмулятор, и что это JS в вашем браузере!).

Я никогда не думал, что мы доживём до подобного.

… А теперь начинается оргия:

* С использованием локального хранилища мы можем организовать диски (каждый key-value соответствует одному сектору).
* С использованием web-socket мы можем создать паравиртуализированный драйвер сети с выходом на железный машрутизатор и получить нормальную сеть.
* С использованием существующих технологий (NUMA, DRBD, corosync) можно организовать вычислительный кластер из браузеров.

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

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

Никто не мешает создать паравиртуализированный драйвер видео с помощью canvas, у вас есть webGL, для которого можно написать свой вариант cuda и получить довольно мощную акселерацию вычислений…

Ну и финал — запуск хрома внутри эмулируемой виртуальной машины.

Итак, эмуляция дошла до браузеров…

Профили пользователей: плюсы, минусы, подводные камни

Reading time5 min
Views12K
Не секрет, что работу с профилями пользователей в Django иначе как несчастьем не назовёшь. Все мы сталкивались с монолитностью модели auth.User, неадкеватным набором полей у неё, а также всеми теми ухищрениями, к которым приходилось прибегать.

Извращаться приходилось всем: не только пользователям джанги, но и самим её core-разработчикам. Помните, например, как в Django 1.2 внезапно стало возможно использовать в поле username символы собаки (@) и точки? Знаете зачем? Чтобы в качестве логинов можно было использовать адреса e-mail.

Нам, простым пользователям, тоже жилось несладко. Для того, чтобы изменить профиль пользователя, добавив ему какие-нибудь интересных полей — обычная, казалось бы, вещь, да? — приходилось действовать разными способами.
Интересно?

Отслеживание объектов на видео

Reading time1 min
Views51K
Чешский студент из британского университета Суррея Зденек Катал (Zdenek Kalal) в рамках практической части кандидатской диссертации разработал алгоритм Tracking-Learning-Detection (aka Predator) для отслеживания объектов в видеопотоке с самообучением (точность распознавания улучшается с каждым фреймом).

Демо проекта

Исходные коды на github: 1, 2, 3, 4, 5


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

Как хороший договор спасает нервы и монетку

Reading time14 min
Views62K
Договоры, отчеты, акты — кому охота заниматься этой скукотой, когда вокруг бьет ключом и фонтанирует идеями креативная жизнь? Особенно, если заказчик снисходительно хлопает творческого подрядчика по плечу: «Да ладно, зачем какие-то договоры. Мое слово — закон!» Остается только радостно согласиться и приступить к работе.

На заре существования нашего агентства мы вообще не стремились формализовать отношения с дорогими клиентами. Типовой договор умещался на двух машинописных листах. Содержал он минимум информации: предмет договора, сроки, цена. Если заказчиков немного, и все они — старые знакомые, то в известной степени можно положиться на их добропорядочность. Но когда клиентская база активно растет, то и проблемы множатся: задерживают выплаты, не выполняют обязательства, злоупотребляют лояльностью исполнителя. Столкнувшись с ними в полном объеме, мы собрались, подумали и составили новый типовой договор.
Читать дальше →

Unit-тесты, пытаемся писать правильно, чтобы потом не было мучительно больно

Reading time3 min
Views58K
Большинство людей не умеют писать unit-тесты. И даже те, кто применяет модульные тесты в ежедневной разработке, зачастую признают, что получившиеся тесты иногда не очень эффективны по определенным причинам. К этой категории людей я могу отнести и себя. В первую очередь, такой «причиной» является некоторая появляющаяся «инертность» кода, заключающаяся в том, что если требуется немного изменить какой-то ключевой алгоритм, добавить пару строчек кода, то при этом «падают» ~100 модульных тестов и приходится тратить продолжительное время на то чтобы заставить их работать вновь. Итак, приступим к «хорошим рекомендациям» при написании автоматических модульных тестов. Нет, я не буду капитаном очевидностью, в очередной раз описывая популярный стиль написания тестов под названием AAA (Arange-Act-Assert). Зато попытаюсь объяснить, чем отличается Mock от Stub-а и что далеко не все тестовые объекты — «моки».
Читать дальше →

Licenzero: порно детектед

Reading time3 min
Views18K
Licenzero У нас великолепная работа — нам платят за просмотр порнографических роликов. Ну а серьезнее, мы работаем в R&D отделе компании Inventos, которая занимается автоматической фильтрацией веб-контента: модерация, защита авторских прав и т. д. Перед нами была поставлена задача — построить систему для автоматического выявления роликов порнографического содержания. Здесь мы расскажем, как мы решали поставленную задачу.
Читать дальше →

Snappy (zippy), библиотека для сжатия данных от Bigtable

Reading time1 min
Views3.4K
Google выпустил библиотеку Snappy под лицензией Apache 2.0. Эта библиотека для компрессии/декомпрессии нацелена не на максимальную степень сжатия или совместимость с другими библиотеками, а на максимальную скорость работы. Например, по сравнению с самым быстрым режимом zlib, Snappy примерно на порядок быстрее для большинства входящих данных, но архивы получаются на 20–100% больше по размеру. На одном ядре Core i7 в 64-битном режиме Snappy скорость компрессии больше как минимум на 250 МБ/с, а декомпрессии — минимум на 500 МБ/с.

Snappy широко используется в Google, в разных системах от BigTable и MapReduce до внутренних RPC-систем (в некоторых презентациях она упоминалась под названием Zippy).

Дополнительную информацию см. в файле readme. Бенчмарки по сравнению с другими библиотеками (zlib, LZO, LZF, FastLZ и QuickLZ) поставляются в комплекте с исходниками.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity