Как стать автором
Обновить
6
0
александр медведев @nari

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

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

Системы eCommerce на Python — техническое сравнение

Время на прочтение3 мин
Количество просмотров26K
В краткий обзор вошли веб-приложения на Python с открытым исходным кодом и возможностью расширения: GetPaid, EasyShop, LFS, Satchmo, Perfect Sale.
Материал публикуется с целью привлечь внимание отечественных разработчиков к e-commerce open source решениям на python в продолжение темы Open Source решений для электронной коммерции на PHP: habrahabr.ru/blogs/open_source/101072
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии25

Двухколоночная верстка текста

Время на прочтение2 мин
Количество просмотров8.2K
Result
Данный топик — это не изложение азов на тему «Как сделать на своей странице две колонки с использованием div'ов и css». Передо мной стояла задача разбить монолитный текст на две колонки, подобно тому, как это делает MS Word. Стандартного тэга в css для этого не существует, поэтому пришлось немного потанцевать с бубном для решения поставленной задачи.
Ширина колонки с текстом очень сильно влияет на простоту восприятия информации пользователем. И поэтому, учитывая нынешнюю популярность широкоформатных мониторов, разбивка текста на колонки существенно увеличивает его «читабельность».
Читать дальше →
Всего голосов 148: ↑92 и ↓56+36
Комментарии89

Решение проблемы с вертикальной синхронизацией в видео на Ubuntu 10.04

Время на прочтение2 мин
Количество просмотров47K
Этот топик я писал в песочницу, однако благодаря @BSDaemon, я получил инвайт еще до его (топика) публикации.
Продолжительное время Ubuntu я обходил стороной. Но недавно решил поставить. Все хорошо, красиво и вроде бы стабильно, но столкнулся я с одной неприятностью: при просмотре видео в полноэкрнном режиме, при ярких динамичных сценах, картинка будто бы делиться на части, и эти части не состыковываются между собой:

image
Сразу оговорюсь: у меня видеокарта GeForce, поэтому проблема, а также ее решение будет актуальна для пользователей видеокарт компании Nvidia. Подобный рассинхрон появляется только при включенном Compiz. По скольку Compiz меня радует не только красотой, но и удобством, отказываться от него я не собирался, вследствие чего стал искать решение.
Читать дальше →
Всего голосов 94: ↑73 и ↓21+52
Комментарии62

Искусство программирования под Unix (и не только). Часть первая, «правило модульности»

Время на прочтение4 мин
Количество просмотров13K
Последние лет десять я ищу на рынке программистов, делаю с ними большие и маленькие подвиги, преимущественно в области веб-разработок. Но, к сожалению, все меньше и меньше находится достойных кандидатов. Работают годами над одними и теми же задачами, клонируя имеющиеся решения и их недостатки. Спрашиваешь про то, что достиг — а в ответ рутинные, банальные вещи. Автоматизация окошек — вот то, чем занимается большинство из таких программистов. А на действительно сложные задачи как было мало специалистов, так и остается по сей день.

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

Есть ряд книг, которые, на мой взгляд, являются своеобразными «библиями» для тех, кто решил связать свое будущее с разработкой ПО. С одной из них я хотел бы начать цикл статей. Это книга Эрика Рейнмонда, «Искусство программирования под Unix». Я бы рекомендовал эту книгу не только тем, кто выбрал для себя открытые операционные системы. В основе лежит довольно универсальная философия, пригодная абсолютно всем, связавшим свою профессию с программированием.

Эрик Реймонд выделяет 17 правил этой «философии». Я буду посвящать по одной заметке на каждое правило. Я постараюсь изложить эти концепции в максимально понятной, упрощенной и популярной форме, насколько это будет возможно.

Начнем с самого первого правила — Правила модульности. Оно звучит так: «Простые блоки связывайте друг с другом ясными и понятными интерфейсами» (Rule of Modularity: Write simple parts connected by clean interfaces).

Читать дальше →
Всего голосов 114: ↑100 и ↓14+86
Комментарии50

«LibCanvas» — фреймворк для работы с Javascript Canvas, запущен сайт + игра «Asteroids»

Время на прочтение1 мин
Количество просмотров6.4K
Здравствуйте. Я продолжаю развитие фреймворка для работы с Javascript Canvas, основанного на MooTools и предназначенного для создания анимаций, игр, ui и всего, что вы пожелаете. И сегодня — очень важный момент для этого фреймворка — публичный запуск официального сайта.

Добро пожаловать на

libcanvas.com



К запуску мы с greedykid и Nutochka портировали «Asteroids» — культовую игру восьмидесятых, но с более усовершенствованной графикой, которая работает во всех современных браузерах (да-да, про ie < 9 тут ничего не было). Работа над Астероидами показала мне потенциал этой технологии. Я уверен, что это далеко не предел, у меня есть идеи и даже интересные реализации и потому я продолжу развитие этого фреймворка. Ждите новых интересных приложений.
Читать дальше →
Всего голосов 79: ↑77 и ↓2+75
Комментарии81

Пишем фильтр «плохих» слов

Время на прочтение5 мин
Количество просмотров93K
Многие из вас наверняка не раз бывали в публичных многопользовательских чатах. Будь то форум, вебчат или чат-сервер в локалке провайдера, идеального порядка можно достичь лишь при малом количестве пользователей (не более сотни, на мой взгляд). Когда сообщество разрастается, возникают примерно одни и те же проблемы: мат, спам и флуд — один скучающий индивид каждую минуту постит «Все в кантру!», другой матерится по поводу и без и все в таком духе.

Идеального мат-фильтра до сих пор не изобретено. Но мы этим заниматься и не будем, рассмотрим реализацию необходимого минимума.
Читать дальше →
Всего голосов 82: ↑61 и ↓21+40
Комментарии79

Пишем себе немного OpenID-авторизации

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

Взгляд в будущее


    В последнее время всякие социальные сети и вообще сервисы-лидеры интернета по посещаемости и количеству аккаунтов завели очень неплохую, на мой взгляд, привычку — предоставление уникальных OpenID-идентификаторов для пользователей, дабы с их использованием можно было зайти на сторонний сайт. Кроме того, параллельно развивается очень похожая, но все-таки не совсем производная технология OAuth, которая появилась на свет благодаря стараниям создателей небезызвестного Twitter и, цитируя википедию, «позволяет предоставить третьей стороне доступ к защищенным ресурсам пользователя, без необходимости передавать ей (третьей стороне) логин и пароль».
    Лично меня такая тенденция очень радует и, более того, я почти уверен, что за подобной технологией будущее. В частности, в будущем обязательно появятся новые мэшапы для агрегирования информации с кучи сайтов (в частности, хочется вспомнить очень хороший, но несправедливо забытый сервис Yahoo Pipes, который так и не смог покорить сердца и умы просто потому, что его время тогда еще не пришло. Возможно, все еще впереди), а именно такой «форм-фактор» требует логина на кучу сервисов сразу.
Читать дальше →
Всего голосов 67: ↑63 и ↓4+59
Комментарии18

Корпоративный Jabber сервер: догнать и перегнать Google

Время на прочтение7 мин
Количество просмотров33K
Я думаю все знают про Google Apps. Это великолепный сервис для организации почты и коллективной работы в рамках компании. Однако у него есть пара маленьких таких недостатков: он предоставляется as is во-первых, и вся ваша корпоративная документация, почта и переписка при использовании Google Apps будут храниться на серверах Google.

В итоге чаще всего серьёзные фирмы выбирают сложный путь — поддерживать все необходимые сервисы на собственных серверах. Этот путь, конечно, даёт массу преимуществ. Системный администратор компании сможет настроить что угодно и как угодно. Однако есть и один существенный недостаток: если у Google всё уже настроено и связано воедино, то вам придётся настраивать всё вручную. Плюс вы вряд ли сможете обеспечить вашу систему таким же красивым и удобным веб-интерфейсом.

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

Читать дальше →
Всего голосов 102: ↑89 и ↓13+76
Комментарии81

5 галочек: чеклист юзабилити

Время на прочтение6 мин
Количество просмотров30K
Мы выделили 5 основных пунктов, по которым можно определить юзабилити сайта. Список спорный и в основном касается продающих сайтов. И да, эти пять пунктов — среднее арифметическое опыта, полученного при обработке заявок на конкурс «Юзабельный вебпроект». Думаете, мы раздали слонов и забыли?


оригинал картинки

Когда мы предложили дать бесплатные комментарии по юзабилити всем желающим, нам пришло 166 заявок. На каждый сайт мы тратили до получаса.

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

Сразу оговоримся, что мы не оцениваем юзабилити в вакууме, нам важно, чтобы сайт работал, т.е. «продавал». Товары, услуги, идеи — не важно. Речь может идти о бесплатном веб-сервисе, для которого транзакцией станет регистрация посетителя.
Читать дальше →
Всего голосов 147: ↑131 и ↓16+115
Комментарии101

Популярные продукты для электронной коммерции с открытым исходным кодом

Время на прочтение4 мин
Количество просмотров30K
imageНас часто просят порекомендовать продукты eCommerce, которые могут интегрироваться с CMS или использоваться совместно с к.л. CMS. Ниже опубликован список ПО с открытым исходным кодом, пригодного для этих целей.
Примечание: русскоязычных пользователей, прежде всего, интересует наличие локализованных версий, поддержка отечественных платёжных систем и русское сообщество. В комментариях по тексту, выделенных курсивом, по-возможности указана эта информация.
Чертова дюжина движков под катом
Всего голосов 70: ↑54 и ↓16+38
Комментарии79

Настройка роутинга для домашнего multihomed сервера

Время на прочтение12 мин
Количество просмотров31K
Сейчас наличие нескольких подключений к интернет на одном, в том числе и домашнем сервере — не редкость. Городские локалки, ADSL, 3G модемы… Добавим к этому сети домашние локальные и внешние виртуальные (VPN), и получим ядрёную смесь интерфейсов, между которыми необходимо роутить трафик, балансировать трафик между разными каналами в интернет (когда они есть), и переключаться с нерабочих каналов на рабочие (когда они отваливаются).

Судя по постам в инете, большинство людей, столкнувшихся с этой ситуацией, очень плохо представляет себе, как это настраивается. Надо отметить, что в линухе действительно управление роутингом весьма сложное и запутанное — следствие эволюционного развития и поддержки (частичной) совместимости. Я хочу описать принципы настройки роутинга multihomed серверов на конкретном, достаточно сложном, примере: на сервере три физических сетевых интерфейса (один в домашнюю локалку и два к ADSL-модемам), два ADSL-подключения (ADSL-модемы в режиме bridge, так что pppd поднимает этот же сервер) к разным провайдерам (одно со статическим IP, второе с динамическим), плюс VPN на сервер компании — итого шесть интерфейсов.

Тема достаточно сложная, поэтому для понимания материала потребуется хотя бы минимальное понимание работы роутинга (что такое default route и gateway), файрвола (маркировка пакетов, отслеживание соединений, связь между разными таблицами и цепочками файрвола и роутингом), pppd (скрипты ip-up/ip-down) и протоколов IP и TCP.
Читать дальше →
Всего голосов 136: ↑129 и ↓7+122
Комментарии46

Победители конкурса по юзабилити

Время на прочтение1 мин
Количество просмотров21K
Обработав 166 поступивших заявок, мы получили шортлист из 15 пунктов. Сегодня мы готовы огласить пятерку победителей, выбранных коллегиальным голосованием.


(наши победители таких проблем не имеют)

Не будем пускаться в лирические отступления. Вот эти сайты.
Читать дальше →
Всего голосов 57: ↑42 и ↓15+27
Комментарии52

Сам себе gzip: сжимаем скрипты на 20% лучше

Время на прочтение13 мин
Количество просмотров1.7K
Повторяющиеся ключи

Если посмотреть на скрипт, сжатый Closure Compiler'ом, YUI Compressor'ом или еще чем-нибудь, можно увидеть бесконечные вереницы повторяющихся ключей: .prototype, .length, offsetParent и так далее. Попробуем избавиться от них на примере плагина jQuery UI Sortable. Скажу сразу, что gzip нам не переплюнуть, но когда его нет под рукой или нельзя им воспользоваться (например, на конкурсе 10K Apart), эта техника сжатия может оказаться весьма полезной.
Читать дальше →
Всего голосов 60: ↑49 и ↓11+38
Комментарии51

Хэндгам своими руками

Время на прочтение2 мин
Количество просмотров27K
Думаю, будет правильно сразу сказать, что этот топик не претендует на новизну. Вполне возможно, что все читатели Хабра давно умеют делать хэндгам в домашних условиях, но поиск упорно молчит, именно поэтому я и решился опубликовать эту небольшую заметку.

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

Читать дальше →
Всего голосов 163: ↑152 и ↓11+141
Комментарии117

Асинхронность: почему это никак не сделают правильно?

Время на прочтение7 мин
Количество просмотров6.8K
Асинхронные программы чертовски неудобно писать. Настолько неудобно, что даже в node.js, заявленном как «у нас все правильное-асинхронное», понадобавляли таки синхронных аналогов асинхронных функций. Что уж говорить про питоновский синтаксис, не дающий объявить лямбду со сколь-либо сложным кодом внутри…

Забавно, что красивое решение проблемы не требует ничего экстраординарного, но почему-то до сих пор не реализовано.
Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии78

Поддержка Data:URL Internet Explorer'ом

Время на прочтение2 мин
Количество просмотров7.4K
Многим известен данный способ отображения картинок, но особой популярностью он не пользуется, т.к. имеет проблемы с отображением в Internet Explorer (IE 6,7 — вообще не понимают, что им дают. А IE8 — принимает только картинки меньше 32кб).

Как же решить эту проблему?
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии36

Как сделать динамичный, переливающийся фон

Время на прочтение1 мин
Количество просмотров11K
На сайте новаторского магазина thinkgeek.com столкнулся с любопытным эффектом — переливающимся фоном (чтобы увидеть конфетку нужно поработать колёсиком прокрутки). Сделан он очень просто, и все же подобная техника попалась мне впервые.

image

спешу поделиться:
Всего голосов 141: ↑117 и ↓24+93
Комментарии53

Шортлист дьявольского конкурса по юзабилити

Время на прочтение1 мин
Количество просмотров21K
Здравствуй, хабрачеловек!

Ты, наверное, уже и не помнишь, как мы анонсировали «дьявольский конкурс» по юзабилити. За такое хабравчане надавали нам минусов, но и на заявки также не поскупились.

Всего пришло 166 заявок: с нашего блога, с Хабра, с ЖЖ и по почте.

Картинка для привлечения внимания

Каждому, кто к нам обратился, мы выдали рекомендации по улучшению юзабилити.

C трудом мы смогли отобрать 15 сайтов.

Вот эти сайты:
Читать дальше →
Всего голосов 142: ↑93 и ↓49+44
Комментарии50

Как улучшить произношение и избавиться от акцента

Время на прочтение2 мин
Количество просмотров66K
image
Каждый, кто учит иностранный язык и использует его для живого общения, мечтает говорить с минимальным акцентом или лучше вообще без него. Как минимум, чтобы собеседник тебя понимал без проблем. Произношение отдельных слов, ударение, интонация — все это не так легко, как кажется на первый взгляд. Сильный акцент может так же сильно испортить впечатление о вас. Как можно радикально улучшить произношение без дорогих занятий с носителем языка, лингво лабораторий и специальных программ? И как сделать так, чтобы при этом процесс приносил удовольствие?
Читать дальше →
Всего голосов 152: ↑118 и ↓34+84
Комментарии352

Написание приложений, основаных на Qt, на языке Python

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


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии34

Информация

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