Как стать автором
Обновить
21
Alexey Stolyar @liqread⁠-⁠only

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

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

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

Время на прочтение8 мин
Количество просмотров19K
Привет, хабранарод!
Писал я давно когда-то про osCommerce небольшую статейку, меня даже просили выложить свою сборку. Если кому она до сих пор нужна — у меня осталась, могу куда-нить положить. Но, наевшись с ОСК, решили написать свою систему. При помощи CakePHP. Об этом хорошо поведал товарищ neudor, с которым на пару мы это дело разрабатывали. В данный момент он несколько отошел от работы с магазином, поэтому я выхватываю у него эстафетную палочку вести цикл статей, посвещенный разработке ПО для интернет-магазина, а также непосредственно организации самой работы, службы доставки, регистрации, налогах. В общем полный FAQ «от и до» — что ждет начинающего предпринимателя, если он решится открыть полностью легальный бизнес в России, с выкладкой затрат в денежном и временном эквиваленте. Итак, сегодня я расскажу о стороне вопроса, не касающейся технической реализации…
Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии61

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

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

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

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

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

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

Заявки принимаются до 31 октября 2011 г. на веб-сайте www.intel.ru/contest.
Читать дальше →
Всего голосов 31: ↑26 и ↓5+21
Комментарии10

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

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

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

Данная статья будет полезна прежде всего новичкам, которые начинают работать с Django, и им требутся что-то, способное выполнять асинхронные и/или периодические задания в системе (например очистку устаревших сессий). Я покажу как установить и настроить Сelery для работы с Django от начала до конца, а также расскажу про некоторые другие полезные настройки и подводные камни.
Итак, приступим.
Всего голосов 56: ↑51 и ↓5+46
Комментарии64

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

Время на прочтение3 мин
Количество просмотров6.7K
Привет, Хабр! Сегодня мы анонсируем новый проект — хабралинч от венчурной компании Fast Lane Ventures.



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

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

Читать дальше →
Всего голосов 40: ↑28 и ↓12+16
Комментарии24

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

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

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


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

Ну что ж поехали.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии32

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

Время на прочтение5 мин
Количество просмотров1.9K
Прошла весна и пол-зимы с тех пор, когда я ступил на лично выстраданный путь покорения appStore.

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

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

image

Злоключения и заключения экстенсивного пути покорения appStore выкладываю под habracut
PS. Можно ли перенести данный топик в раздел Game Development для всеобщего чтения?
Читать дальше →
Всего голосов 158: ↑139 и ↓19+120
Комментарии58

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

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

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

День открытых дверей традиционно проходит в формате «Call to Action».
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии3

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

Время на прочтение13 мин
Количество просмотров42K
За последнюю неделю появилось несколько топиков с названием «10 однострочников на <MY_LANGUAGE>, которые произведут впечатление на ваших друзей», которые содержат однострочное решение нескольких простых задач, демонстрирующее достоинства и «крутость» любимого языка программирования автора. Я решил перевести их и для сравнения собрать в одном топике. Вся волна началась (вроде как) со Scala.
Итак, поехали!
Читать дальше →
Всего голосов 181: ↑154 и ↓27+127
Комментарии147

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

Время на прочтение6 мин
Количество просмотров123K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →
Всего голосов 149: ↑145 и ↓4+141
Комментарии46

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

Время на прочтение7 мин
Количество просмотров23K
Здравствуй, Хабр!

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




Читать дальше →
Всего голосов 237: ↑232 и ↓5+227
Комментарии77

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

Время на прочтение5 мин
Количество просмотров40K
image


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

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

Этот вариант иногда неизбежен, например когда сервера в разных датацентрах. Но если сервера (новый и старый) стоят в соседних стойках, то можно просто перенести ОС на новую железку а старую сразу погасить. О том как это сделать я и напишу небольшую статью-чеклист. Итак поехали!
Читать дальше →
Всего голосов 57: ↑48 и ↓9+39
Комментарии36

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

Время на прочтение5 мин
Количество просмотров19K
Привет, Хабралюди!

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

Чтобы пример был не самым простым и при том полезным — возьмём библиотеку libFLAC. Этот даст возможность декодировать .flac файлы. По данному мануалу, я надеюсь, соберутся большинство других библиотек.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии7

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

Время на прочтение6 мин
Количество просмотров11K
В настоящее в время существует огромное количество сетей распределенных вычислений. Я насчитал порядка 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 более чем реальны.
Читать дальше →
Всего голосов 122: ↑117 и ↓5+112
Комментарии87

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

Время на прочтение2 мин
Количество просмотров45K
Никакой серверной части. Только JS: полноценный эмулятор компьютера с линуксом на борту.

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

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

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

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

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

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

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

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

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

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

Итак, эмуляция дошла до браузеров…
Всего голосов 362: ↑333 и ↓29+304
Комментарии357

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

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

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

Нам, простым пользователям, тоже жилось несладко. Для того, чтобы изменить профиль пользователя, добавив ему какие-нибудь интересных полей — обычная, казалось бы, вещь, да? — приходилось действовать разными способами.
Интересно?
Всего голосов 67: ↑64 и ↓3+61
Комментарии45

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

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

Демо проекта

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


Читать дальше →
Всего голосов 171: ↑160 и ↓11+149
Комментарии79

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

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

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

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

Время на прочтение3 мин
Количество просмотров58K
Большинство людей не умеют писать unit-тесты. И даже те, кто применяет модульные тесты в ежедневной разработке, зачастую признают, что получившиеся тесты иногда не очень эффективны по определенным причинам. К этой категории людей я могу отнести и себя. В первую очередь, такой «причиной» является некоторая появляющаяся «инертность» кода, заключающаяся в том, что если требуется немного изменить какой-то ключевой алгоритм, добавить пару строчек кода, то при этом «падают» ~100 модульных тестов и приходится тратить продолжительное время на то чтобы заставить их работать вновь. Итак, приступим к «хорошим рекомендациям» при написании автоматических модульных тестов. Нет, я не буду капитаном очевидностью, в очередной раз описывая популярный стиль написания тестов под названием AAA (Arange-Act-Assert). Зато попытаюсь объяснить, чем отличается Mock от Stub-а и что далеко не все тестовые объекты — «моки».
Читать дальше →
Всего голосов 61: ↑50 и ↓11+39
Комментарии22

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

Время на прочтение3 мин
Количество просмотров18K
Licenzero У нас великолепная работа — нам платят за просмотр порнографических роликов. Ну а серьезнее, мы работаем в R&D отделе компании Inventos, которая занимается автоматической фильтрацией веб-контента: модерация, защита авторских прав и т. д. Перед нами была поставлена задача — построить систему для автоматического выявления роликов порнографического содержания. Здесь мы расскажем, как мы решали поставленную задачу.
Читать дальше →
Всего голосов 222: ↑208 и ↓14+194
Комментарии136

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

Время на прочтение1 мин
Количество просмотров3.3K
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) поставляются в комплекте с исходниками.
Всего голосов 39: ↑36 и ↓3+33
Комментарии16

Информация

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