Как стать автором
Обновить
0
0

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

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

Новый интерфейс Eviterra.com

Время на прочтение2 мин
Количество просмотров13K
Привет, Хабрахабр!

Чуть больше года назад мы объявили о запуске нового удобного сервиса для покупки авиабилетов онлайн. За почти полтора года работы Eviterra.com претерпела множество функциональных изменений и дополнений (как снаружи, так и внутри), например, мы писали о возможности подписки на дешевые предложения по интересующим пользователя направлениям и разработанном API, который подружил нас с большим количеством партнеров. Сегодня мы рады представить вашему вниманию новую Эвитерру с полностью обновленным дизайном и интересными фишками.
Что нового?

MongoDB: производительность запросов на диапазонах

Время на прочтение3 мин
Количество просмотров16K
Если вы путешествовали по территории индексов MongoDB, вы возможно слышали принцип: Если ваши запросы содержат сортировку, то добавте сортированное поле в конец индекса который используется в этих запросах.

Во многих случаях когда запросы содержат условия равенства как например {“name”: “Charlie”}, принцип который выше очень полезен. Но что о нем можно сказать со следующим примером:

Запрос:
db.drivers.find({"country": {"$in": ["A", "G"]}).sort({"carsOwned": 1})
Индекс:
{"country": 1, "carsOwned": 1}

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

Мониторинг позиций своими руками

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

Делаем мониторинг позиций запросов в поисковой системе, начало.


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

Наш инструмент будет состоять из 2-х частей:
  • скрипт для парсинга поисковой выдачи, с помощью Curl и lxml
  • веб-интерфейс для управления и отображения, на Django

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

«Декораторы проверки» для Views

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

Рассуждаем про декораторы


Каждый из нас не раз использовал декоратор login_required и скорее всего писал похожий декоратор(скажем для проверки пустая ли корзина). Давайте рассмотрим что делает данный декоратор:
поговорить про декораторы

CoffeeScript: Классы

Время на прочтение16 мин
Количество просмотров22K
CoffeeScript: Classes

В ECMAScript пока отсутствует понятие «класс», в классическом понимании этого термина, однако, в CoffeeScript такое понятие есть, поэтому сегодня мы рассмотрим этот вопрос очень подробно.


Содержание:

1. Основные понятия
2. Члены класса
   2.1. Метод constructor
   2.2. Открытые члены класса
   2.3. Закрытые члены класса
   2.4. Защищенные члены класса
   2.5. Статические члены класса
   2.6. Оператор => (fat arrow)
3. Наследование
4. Дополнительная литература

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

Russian Code Cup 2012: подробный разбор задач с отборочного раунда (полуфинал)

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


В прошлую субботу, 16 июня, завершился отборочный раунд Russian Code Cup 2012. Задачи отборочного раунда посложнее, чем были на квалификации – ну на то он и полуфинал. Я уже рассказывал о том, что предлагалось участникам на предыдущих онлайн-турах, разбирал подробно варианты решений (Q1, Q2, Q3).

В отборочный раунд было приглашено 600 человек. 434 человек смогли решить хотя бы одну задачу. Все задачи решили только двое. 50 лучших перешли в финал. Всего за 3 часа тура было отправлено в проверяющую систему 3190 решений.

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

Сервис потребительского кредитования онлайн – разбор полетов 9 месяцев спустя

Время на прочтение9 мин
Количество просмотров15K
imageПрошло ни много ни мало 9 месяцев (или, если быть точным, 273 дня) с момента, когда, мы с приятелем, решили взяться за создание сервиса онлайн-кредитования. И как бы мы теперь не роптали на жестокий мир, стоит сразу признаться, что эти 273 дня были вполне интересными и очень поучительными для нас.

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

Плакат «Современные веб-стандарты»

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


Готовясь к конференции DevCon'12 и, помня о Тостере по JavaScript, который проходил буквально на следующий день, мы решили, что было бы очень здорово сделать что-то полезное информационное для веб-разработчиков.

Как результат, родился плакат по современным веб-стандартам, вернее, как это принято в мире веб-разработки, черновик плаката, в который мы включили, как нововведения в самой спецификации HTML5:
Читать дальше →

Внедряем TDD с django и postgres

Время на прочтение6 мин
Количество просмотров12K
В Островке есть два основных продукта: для пользователей (ostrovok.ru) и «админка» для отелей (экстранет), куда подписанные нами отели заносят данные. Это отдельные продукты, со своими командами и различным отношением к разработке через тестирование (TDD). Одинаковая платформа: django и postgres. В экстранете используют TDD и у них куча тестов. Поначалу тесты были и в ostrovok.ru, но ввиду ухода части адептов в экстранет и очень интенсивного развития их перестали поддерживать. В общем передо мной встала задача внедрить тестирование. Первые шаги сделаны и хочу поделиться этим опытом и решениями, которые были применены.
У нас есть отдел QA и Selenium автотесты, но это отдельно.

С django и тестами вообще дела обстоят довольно хорошо и конечно лучше с самого начала все покрывать тестами, наращивая функционал и делая рефакторинги.

В нашем случае уже существовал огромный функционал и очень много всесторонних зависимостей и интеграции с внешними API. И нужно, чтоб это все работало в тестовой среде. Про быстрый SQLite в памяти можно забыть, в проекте есть привязки к особенностям postgres, да и идентичность тестового окружения все-таки важна, поэтому тесты тоже работают на postgres.
Читать дальше →

One Time Secret – после прочтения сжечь

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

Если Вы когда-либо беспокоились, что данные, которые вы пересылаете по Сети (пароли, адреса, места встречи), могут быть перехвачены и сохранены злоумышленником, или просто не любите оставлять следы в Сети, то https://onetimesecret.com может вам помочь.

Данный сервис позволяет создавать одноразовые «секреты» — отправив секрет, вы получаете одноразовую ссылку на него, после перехода по которой секрет удаляется.
Некоторые подробности и бонус для хабравчан - ниже

Sypex Geo — быстрое определение города по IP

Время на прочтение3 мин
Количество просмотров117K
В начале года я публиковал статью Определение страны по IP: тестируем скорость алгоритмов, в которой упоминался мой «велосипед» отличающийся высокой скоростью работы. Одним из популярных вопросов стала возможность определения города по IP.

И вот несколько месяцев спустя, проект начинавшийся, как «for fun» перерос в самостоятельный проект.
Открыт отдельный сайт посвященный проекту Sypex Geo, на котором можно скачать свежие версии API и баз данных, а также ознакомиться с документацией.

Для желающих скорее протестировать правильность определения города по IP — вот ссылка на демо-страницу. А под хабракатом, я опишу некоторые технические подробности и приведу результаты небольшого тестирования.
Читать дальше →

5 полезных методов jQuery API, о которых вы могли не знать

Время на прочтение2 мин
Количество просмотров55K
В статье я расскажу о пяти методах jQuery, которые я нашел для себя полезными и о которых, по моим наблюдениям, мало кто знает.

Я с jQuery работаю уже около двух лет, но до недавнего времени не использовал эти методы, так как и без них можно обойтись. Но с ними может быть на много легче.
Читать дальше →

Valve анонсировала Source Filmmaker

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

Сегодня компания Valve аннонсировала выпуск бета версии продукта, который в течение последних 7 лет использовался и разрабатывался для создания различных роликов, выпускаемых компанией, а теперь используется для создания фильма и доступен для всех желающих (по приглашениям от самой valve)
Читать дальше →

Создаем сайт с эффектом Parallax, используя Stellar.js

Время на прочтение7 мин
Количество просмотров86K
Один из самых популярных трендов современного веб-дизайна является эффект Parallax. В этом туториале я покажу вам, как создать подобный эффект на вашем веб-сайте, используя воображение и Stellar.js.



Скачать исходники | Демо
Читать дальше →

Oscar — магазин на Django

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

Всем тем кто делает сайты с использованием фреймворка Django (и тем-более если частенько приходится делать магазины), не понаслышке знакомы такие проекты как satchmo, lfs, satchless, django-shop, cartridge, plata и другие. Относительно недавно эти ряды пополнил Oscar.
Читать дальше →

Радужные таблицы в домашних условиях

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


Прошедшая неделя с точки зрения информационной безопасности выдалась исключительно «удачной»: то база хэшей LinkedIn утекла в сеть, то хэши last.fm. И во всех обсуждениях, так или иначе, упоминают о радужных таблицах.
Слышали о них почти все, но делали их своими руками очень немногие.
Восполним же этот пробел!

Домашний медиа-сервер на основе Ubuntu Server 12.04 LTS

Время на прочтение8 мин
Количество просмотров359K
Привет, Хабр! В ходе обсуждения одной статьи про «идеальную» домашнюю сеть, возник спор, что лучше, аппаратный NAS или мини-компьютер с Linux дистрибутивом. Автор предлагал использовать аппаратный NAS, т. к. якобы он проще в администрировании, не требует знаний Linux, да и вообще NAS тихий. Но при этом, для просмотра на DLNA-телевизоре видео, который он не поддерживает, предлагал включать ноутбук с транскодирующим DLNA. Меня это, мягко говоря, удивило, т. к. в идеальной сети такого быть не должно. Поэтому хочу представить своё видение одного из ключевых компонентов домашней сети — централизованного хранилища данных, и основано оно будет на мини-ПК с ОС Ubuntu Server.
Читать дальше →

Методология Разработки ПО

Время на прочтение4 мин
Количество просмотров47K
Попросили меня на фирме выступить с докладом и рассказать о методологии по которой мы работаем, разрабатываем наше приложение. Я сразу же сказал — «У нас Scrum», и сел составлять презентацию. Но я остановился на первом же слайде, и вот почему.

Agile содержит в себе множество методологий — XP, Scrum, Lean, Kanban, ScrumBut (СкрамНО). Сев разбирать методики, я понял, что не могу сказать, что моя команда работает по какой-то одной из них. В целом наш рабочий процесс можно изобразить так:

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

Вещи, о которых следует помнить, программируя на Python

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

Дзэн Питона



Изучение культуры, которая окружает язык, приближает вас на шаг к лучшим программистам. Если вы всё еще не прочли «Zen of Python», то откройте интерпретатор Python и введите import this. Для каждого элемента в списке вы найдете пример здесь

Однажды моё внимание привлекло:
Читать дальше →

Оптимизируем работу SQLite с NSCalendar

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


В предыдущей статье мы решили проблему некорректного использования SQLite week based calendar, написав свое расширение для этой СУБД.

Наш расчет сошелся, однако скорость его работы оставляла желать лучшего. Обработка таблицы, содержащей всего лишь 2500 записей занимала около 6 секунд. В то время как запросы, использующие strftime() исполнялись за десятые доли секунды.
Так чего же мы не учли?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность