Search
Write a publication
Pull to refresh
0
0

User

Send message

Версионность и история данных

Reading time5 min
Views142K
При разработке баз данных зачастую требуется обеспечить поддержку версионности и хранения истории объектов. Например, у работника может изменяться должность, у должности в свою очередь может меняться оклад — в многомерном моделировании это называется Slowly changing dimensions(далее SCD) — редко изменяющиеся измерения, то есть измерения, не ключевые атрибуты которых имеют тенденцию со временем изменяться. Всего существует 6 основных типов(методов) SCD, которые определяют как история изменений может быть отражена в модели.

Подробнее...

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

Reading time3 min
Views26K
В краткий обзор вошли веб-приложения на Python с открытым исходным кодом и возможностью расширения: GetPaid, EasyShop, LFS, Satchmo, Perfect Sale.
Материал публикуется с целью привлечь внимание отечественных разработчиков к e-commerce open source решениям на python в продолжение темы Open Source решений для электронной коммерции на PHP: habrahabr.ru/blogs/open_source/101072
Читать дальше →

Как бороться с «пузырями»

Reading time9 min
Views1.2K
Перевод статьи Джейсона Калаканиса (jasonnation.com) «How to deal with bubbles».

За свою карьеру я промахнулся более 9 тысяч раз. Проиграл практически 300 игр. 26 раз мне доверяли сделать решающий бросок, но я промахивался. В своей жизни, я терпел неудачу снова и снова. Поэтому я и добился успеха.
Майкл Джордан jc.is/bI33SE


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

Мне постоянно задают эти вопросы. Раньше они не давали мне спать. Теперь же они настолько врезались в мой мозг, что превратились в инстинкт.
Молодые игроки в покер задумываются о том, как разыграть короля-девятку и восьмерку-пятерку до флопа. Так же и новоиспеченные предприниматели думают о том, как играть на рынке.
Ответ в том, что не стоит разыгрывать ни одну из рук. Также и на рынке.

В этом письме я затрону следующие темы:

1. Как я научился по-сложному (aka мой смешанный опыт)
2. Правда о пузырях
3. Правда о выдающихся компаниях
4. Что делать, если мыльный пузырь растет
5. Что делать, если мыльный пузырь лопается
6. Заключительные мысли: Как я научился всему этому (aka у кого я все это украл)

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

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

Reading time10 min
Views9.8K
image

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


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

Деревья в админке django

Reading time2 min
Views12K
Редактировать модели, представляющие собой деревья в админке django очень неудобно и ненаглядно. Сразу возникло желание выводить вместо списка объектов дерево, для этого можно использовать замечательную библиотеку jstree.
Чтобы эффективно работать с деревьями в django существует mptt, которая добавляет в модель поля для эффективной выборки и методы для этого, а также шаблонные теги для вывода деревьев и т.п.
Если вы не используете mptt, у вас есть просто ссылка на parent — jstree можно подключить к с помощью одного javascript, про это — отдельная статья.
Далее про модели, использующие mptt.
Читать дальше →

Как перестать думать о часовых поясах и начать жить

Reading time7 min
Views19K
В вашей системе время играет важную роль? Ваши пользователи/компоненты распределены по территории всего земного шара, или хотя бы нашей необъятной родины? Значит, вам нужны часовые пояса. Что ж, это просто. Самое сложное, что вам придется сделать — не запутаться. Об этом мы с вами и поговорим. Для начала вам нужно научиться правильно думать. Думая правильно, все остальное будет для вас либо самоочевидным, либо достаточно простым.

Начнем с часов. Все мы привыкли определять время, глядя на часы на стене. При работе с часовыми поясами такое время называется Wall clock time. В принципе, ничего плохого в нем нет, только в разных местах земного шара в один и тот же момент времени часы показывают разное время. Если задаться целью, можно придумать алгоритм перевода wall clock time одного часового пояса в wall clock time другого. Обычно надо прибавить/отнять разницу в часах между часовыми поясами, кроме (внимание) моментов перехода на летнее/зимнее время. Вот когда начинается переход, вычисления становятся по-настоящему сложными.

Нам же нужно что-то простое и пуленепробиваемое, как… целое число.
Читать дальше →

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

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

image

спешу поделиться:

Неправильные деньги. История одного стартапа — часть III

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

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

Для тех, кто не читал предыдущие части: I часть про идеи и II часть про пилот
А теперь подробнее ....

Иконки типов файлов

Reading time1 min
Views6.3K
По просьбе гражданина dio нарисованы 25 иконок типов файлов в размерах 64х64, 48х48, 32х32 и 16х16. Иконки распространяются на условиях лицензии CC BY-ND.
Этот сет является дополнением к первому и второму бесплатным наборам.
Скачать иконки можно здесь

image

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Reading time2 min
Views257K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности

Underscore.js — библиотека, которая так хороша, что должна быть вне закона

Reading time3 min
Views50K
Каждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
Go ahead, make my day

Делаем калейдоскоп на CSS+JS

Reading time9 min
Views5.1K
imageЯ как-то раньше никогда не задумывался над такой штукой, как калейдоскоп на странице. Видел их как-то раньше, но не обращал особо внимания. А тут увидел у Лебедева в портфолио калейдоскоп на флеше, покрутил по нему мышкой, понял принцип работы и подумал «ёлки, это же не сложно!».

Конечно, нельзя сказать, что это действительно очень просто. И нельзя сказать, что получилось совсем всё, что хотелось. Но есть на что посмотреть, за чем приглашаю под кат.

UPD
В посте добавил улучшенный вариант от хабрачеловека hlomzik, который не работает в ИЕ, но с меньшим кол-вом кода и с более правильным поведением.

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

Притча о шаблонах

Reading time8 min
Views1.9K
 — Здравствуй *с широко развевающейся по лицу улыбкой* дружок.
 — Ваа! *с ярким блеском в широко распахнутых глазах* Тётя Ася приехала!
 — Да, и у меня есть для тебя новая сказка *присела и взяла малыша за руки* хочешь послушать?
 — Конечно! *слегка смутился и отвёл взгляд* Мне тут дядя такие страшные истории рассказывал…
 — Ну, надеюсь моя история тебя не испугает *потрепала его по волосам* Она должна научить тебя мыслить шаблонно.
 — Эээ? *лицо перекосилось от недопонимания* Это как?
 — М… сейчас узнаешь *подмигнула и взяла на ручки* Вот когда тебе нужно вставить переменные в строку — ты как поступишь?
 — Ну… *взял карандаш и чирканул на лежащей рядом бумажке* примерно так:
var query= 'xxx'
var resultCount= 512
var message= 'По запросу <kbd>' + query + '</kbd> найдено страниц: ' + resultCount

 — Ты ничего не забыл? *победоносно подняла голову*
 — Да вроде нет… *уткнулся носом в код, ещё раз внимательно его проверяя*
 — Что, если пользователь введёт… *выдержала многозначительную паузу и добавила*
какого же порева она там добавила?

Все ваши старые приставки внутри геймпада от любой из них

Reading time1 min
Views12K
Мы тут, слово за слово, довели до абсурда идею использования геймпадов от старых приставок через USB. Покумекав немного, нашли удобную оболочку для запуска игр и засунули всё вместе прямо в геймпад. На видео можно посмотреть результат, а на хостинге Гугла лежит проект целиком со всеми прошивками, разводками и инструкциями по сборке. Пользуйтесь, если интересно.

Улучшаем админку

Reading time6 min
Views80K
Одно из слабых мест джанго-админки — главная страница. Идея авто-группировки моделей по приложениям и вывод столбиком в одну колонку работает только на начальных этапах, дальше это становится просто неудобно — куча лишней информации и довольно сложные пути для того, чтобы добавить полезную. Ну, например, чтобы названия приложений писались русскими буквами — полностью перекрывать шаблон.

И тут на помощь приходит django-admin-tools. С этим приложением минут за 20 можно получить «приборную панель» с произвольной группировкой приложений/моделей, вкладками, любым числом колонок, различными блоками, которые каждый пользователь сможет расставить, как ему удобнее, скрывать и сворачивать по желанию, закладками, настраиваемым меню и удобным способом добавления во все это хозяйство всего, чего только можно придумать.

Вот так, например, сейчас выглядит админка к сайту НадоВместе:

image
(это только часть, вот скриншот целиком)

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

Обзор свежих материалов, май-июнь 2010

Reading time7 min
Views1K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. В прошлом месяце вышла заминка с публикацией, так что эта подборка двойная.



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

Предварительная загрузка изображений

Reading time5 min
Views13K
Те, кто использует HTML5 Canvas знают, что картинку нельзя использовать через URL к ней. Картинку нужно сначала загрузить либо через тэг img, либо через объект Image, либо через data: url.
Чтобы не думать о загрузке каждой картинки, делают загрузку всех необходимых картинок перед отрисовкой самой сцены. В этом топике я приведу в пример свой загрузчик изображений, который использует Mootools с его механизмов для работы с классами.
Читать дальше →

«Мое дело — подарок подарить, а ты уж сама придумывай, что с этой хренью делать» (©Масяня)

Reading time2 min
Views8.7K
Публикации о высокотехнологичных подарках (см. Ссылки [1] и [2]) вдохновили меня на создание собственной хрени прикольной вещицы.
Читать дальше →

Библия стартапера от Гая Кавасаки (The Art of the Start)

Reading time2 min
Views2.8K
imageПоискал на Хабре, не нашел рецензии на русское издание знаменитой книги Гая Кавасаки The Art of the Start (2004) (на англоязычную было), поэтому решил «закрыть брешь» и поделиться ее кратким содержанием и своими мыслями.

Итак, в русской версии книга получила название «Стартап. 11 мастер-классов от экс-евангелиста Apple и самого дерзкого капиталиста Кремниевой долины».

Если вы производите прорывной софт для разведения креветок, то эта книга точно для вас.
Что должен знать стартапер...

ЗаБронируй — онлайн сервис предварительной записи и планирования событий

Reading time4 min
Views2.4K

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

Какие возможности я, как пользователь, хотел бы видеть в подобного рода системе?
  • в первую очередь — возможность забронировать быстро, не тратя время на поиск информации в интернете, звонки и т д
  • видеть что\кого я бронирую (например, где в кафе расположен столик, или к какому парикмахеру я записываюсь)
  • в каком-то виде иметь возможность наблюдать полную картину работы заведения — загруженность и т д
  • удобный поиск по карте, плюс, например, хотелось бы иметь возможность бронирования не только на сайте определенного заведения, но и иметь карту с неким интерактивным каталогом заведений
  • возможность услуги sms напоминания, например в случае, когда записываешься на прием к врачу за неделю или больше


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

Information

Rating
Does not participate
Location
Алма-Атинская обл., Казахстан
Date of birth
Registered