Как стать автором
Обновить
17
20.6
Andrewus @Andrewus

Head of platform & devops lead

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

Олимпиадное хобби. Разминка

Время на прочтение3 мин
Количество просмотров5.4K
В качестве хобби, я решаю олимпиадные задачки по программированию. Это помогает отвлечься от повседневных проблем, позволяя на часок другой уйти от мира в собственный астрал. Мой мозг, благодаря этому хобби, находится в постоянной спортивной форме.

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

Задачи я буду брать с сайта http://uva.onlinejudge.org/, где располагается достаточно большая коллекция задач на любой вкус, и там же можно проверить свое решение. Выбирать буду случайным образом и всегда доводить начатое до финального решения, которое ознаменуется оценкой «Accepted» (Принято). Для решения этих задач нам потребуется знание одного из языков программирования: c, c++, java, pascal, а также терпение, логика и базовое знание английского языка, т.к. условия задач мы получаем на английском языке.

Итак, начнем мы с простой задачки из набора «Для новичков» для разминки, чтобы проверить свои способности.
Читать дальше →

Фильтры: смерть регуляркам и правильная валидация

Время на прочтение2 мин
Количество просмотров26K
Фильтры данных впервые появились в PHP 5.0, и по какому-то стечению обстоятельств остались незамечеными большй частью кодеров. Наверное, это можно объяснить отсутствием чего-нибудь подобного в PHP4, а может просто мануал плохо читали. Я тоже узнал про них случайно… А ведь эта замечательная функция позволяет избавиться от запутаных, и подчас некорректных, регулярных выражений, при выполнении типичных задач.
Мануал по фильтрам находится здесь. Приведу только основную информацию и пару практичных примеров.
Читать дальше →

Prelink и Preload для ускорения запуска программ в Linux

Время на прочтение3 мин
Количество просмотров36K
В этой заметке я опишу две утилиты, которые помогут ускорить работу системы Linux, а конкретно — запуск приложений: prelink и preload. Prelink оптимизирует исполняемые файлы для быстрого связывания с библиотеками. Preload кэширует часто используемые библиотеки и программы.
Подробности под катом.
Читать дальше →

Как покупать продажи, а не трафик?

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

Посмотрели мы тут программу конференции Игоря Ашманова про поисковую оптимизацию. Целая секция посвящена тому, почему оптимизаторы берут оплату за трафик и позиции. И нет ни слова о том, чтобы брать оплату за продажи.

Если посмотреть комментарии к посту про причины недоверия SEO-шникам, становится очевидно, что хабражители в отличие от многих других клиентов SEO-компаний понимают: позиции в топе и объем трафика — это не самоцель. Интернет-магазину трафик на фиг не нужен, если он не дает ничего кроме нагрузки на сервер. Ему нужны покупатели. Не «потенциальные», а которые зашли на сайт и что-то купили.

За привлечение покупателей он даже готов платить. Но прежде чем отдавать деньги «seo-ребятам», а может даже прежде, чем открывать магазин — нужно решить для себя две вещи:

  • как определить, какие маркетинговые мероприятия повлияли на повышение продаж?
  • и вообще откуда известно, что продажи будут?

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

Твой GPS мониторинг

Время на прочтение3 мин
Количество просмотров18K
Привет всем!
Под катом еще больше функционала, возможность прикрутки собственного мониторинга на любой сайт, мониторинг CDMA « Андроидов» и прочие вкусности, и как обычно — free!
Итак, уже было две статьи про начальный функционал, а потом про дальнейшее развитие нашего проекта по мониторингу автотранспорта, школьников-детей, любимых жен. Основным отличием, которым мы брали с самого начала, было конечно бесплатность, потом было первое (опять же бесплатное) «Андроид» приложение, а сейчас уже довольно большой функционал, который обогнал некоторые платные системы.
Читать дальше →

gettext: рецепт жаркое из антилопы в Javascript

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

При разработке CMF я столкнулся с необходимостью грамотно реализовать i18n (мультиязычность), и стал рассматривать различные варианты…
Читать дальше →

Серверный редирект на мобильную версию сайта

Время на прочтение2 мин
Количество просмотров37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →

0W-httpd — простой быстрый фронтэнд

Время на прочтение2 мин
Количество просмотров1.6K
Предлагаю решение, как быстро и просто поставить на сервере легкий фронтэнд для отдачи картинок, css-файлов и прочей статики. С лета 2002 года я для данных целей использую 0W-httpd или ZeroWait httpd, как его часто называют в разных источниках (искать что-то о нем, помимо дистрибутива, лучше по второму названию).
Установить и настроить его достаточно просто (даже слишком просто):
Читать дальше →

Memcached и PHP ликбез

Время на прочтение6 мин
Количество просмотров227K
В интернете достаточно много информации на данную тему, но, несмотря на это, многие обходят её стороной. Цель данного поста, разъяснить на пальцах основы взаимодействия с Memcached.
Читать дальше

MongoDB или как разлюбить SQL

Время на прочтение6 мин
Количество просмотров67K
Введение

Коллеги, при разработке приложений, мы каждый день сталкиваемся с потребностью в гибком хранении информации (обновлении, поиске по ней, и т.д.). Класс продуктов, которые решают этот круг задач, как все мы знаем — Базы данных. Но что это такое в нашем понимании? У многих «база данных» твердо ассоциируется с MySQL, таблицами и SQL-запросами. И это устраивает до определенного момента. Действительно, реляционные базы данных дают массу преимуществ в работе: поскольку данные имеют сильную связанность, не нужно контролировать целостность базы данных. Используя простой под-запрос можно выбрать количество комментариев к каждому посту в блоге. Используя JOIN нетрудно делать сложные связанные выборки и получать данные сразу о нескольких сущностях.
Читать дальше →

Как стартапу найти инвестора?

Время на прочтение4 мин
Количество просмотров1.6K
Впервые о своем бизнесе я задумался в начале 2008 года. Мне нужны были инвестиции, поэтому я очень много общался со всевозможными инвесторами, а также мнимыми инвесторами и консультантами по поиску инвесторов. На общение с ними я потратил очень много времени, и большая часть его была потрачена впустую. Хочу поделиться накопленным опытом общения с инвесторами и дать несколько советов другим стартапщикам.

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

Интеграция с «Социальными» сервисами при помощи Spring-Social

Время на прочтение2 мин
Количество просмотров6.8K
image
Не так давно копилка проектов SpringSource пополнилась еще одним проектом — Spring-Social, который призван упростить создание приложений интегрированных с различными социальными сетями. Данный проект никак не засветился на Habr-е, попробую восполнить этот пробел.
Читать дальше →

Создаем landing page: чек-лист для новичков

Время на прочтение3 мин
Количество просмотров50K
Если вы эксперт по разработке пользовательских интерфейсов и юзабилити, если количество разработанных вами лэндингов больше 10, если вы уже прочитали сотню статей по этой теме с рекомендациями профессионалов — наш пост не для вас. Он скорее для тех, кто только начинает…



В последнее время мы создаем много целевых страниц, поэтому составили для себя небольшой список вопросов, на которые обязательно нужно ответить перед тем, как считать страницу готовой к выходу в большой Интернет. В этих вопросах нет ничего нового, они просто помогают собрать в одном документе все советы по разработке landing page, которые есть в сети, и не упустить ничего важного.

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

Определение кодировки текста в PHP — обзор существующих решений плюс еще один велосипед

Время на прочтение7 мин
Количество просмотров105K
Столкнулся с задачей — автоопределение кодировки страницы/текста/чего угодно. Задача не нова, и велосипедов понапридумано уже много. В статье небольшой обзор найденного в сети — плюс предложение своего, как мне кажется, достойного решения.

1. Почему не mb_detect_encoding() ?


Если кратко — он не работает.
Подробнее - под катом

jQuery:step() селектор произвольной позиции

Время на прочтение2 мин
Количество просмотров10K
Одна из самых потрясающих вещей в jQuery — это движок селекторов. Доступ к элементам DOM используюя селекторы в jQuery становиться довольно простой задачей, еще и потому, что большинство селекторов используют те же выражения что и селекторы в CSS. Это то что веб-дизайнеры НЕ программисты могут легко усвоить.
Это статья — упражение в создании произвольного слектора, вы можете её использовать, как руководство по созданию своего собственного селектора.
Читать дальше →

Главный баг открытых проектов Яндекса

Время на прочтение2 мин
Количество просмотров13K
Идеология разработки с открытыми исходниками предполагает также и открытый процесс разработки. Следуя этому духу мы сегодня решили открыто исправить серьёзный баг, которому в той или иной степени подвержены почти все open source проекты Яндекса.

ID 1
Summary Никто не знает про открытые проекты Яндекса
Description У наших разработчиков уже довольно много опубликованных компонентов, библиотек и готовых решений. Их никто особенно не скрывает, но также про них никто и не рассказывает. Надо рассказать!
Читать дальше →

Рецепт быстрого приготовления расширений под популярные браузеры

Время на прочтение2 мин
Количество просмотров1.2K
0147 (1)

Возникла задача написание простенького расширения под все (по возможности) популярные браузеры. Деятельность расширения заключается во внедрении javascript`а в тело документа.
Читать дальше →

Вышел Spree 0.30.0

Время на прочтение1 мин
Количество просмотров1.6K
Intro: Spree — мощный и гибкий движок для создания интернет-магазинов, написанный на Ruby on Rails, распространяющийся под лицензией New BSD.

Спустя 5 месяцев напряжённой работы вышел первый релиз Spree, работающий на Ruby on Rails 3.0.

Основные изменения — структурные:
  • расширения стали gem'ами, да и сам движок стал набором из нескольких gem'ов: spree_core, spree_auth, spree_api, spree_dashboard, spree_promotions, spree_sample
  • для настройки конкретного магазина больше не нужен site_extension, теперь все настройки можно сделать прямо в Rails.root
  • из способов развёртывания исключен «Vendor mode», т.к. благодаря Bundler больше нет необходимости клонировать исходники Spree в директорию проекта, даже если Вы используете edge-версию или свой собственный форк

Кроме того улучшена работа с платежами, упрощена работа с надбавками, ну и конечно же сделано множество багфиксов и мелких улучшений.

Официальные примечания к релизу

Вытягивание из Директа всей информации о кампаниях конкурентов

Время на прочтение6 мин
Количество просмотров4.1K
В продолжение статьи Евгения Ческидова «Яндекс. Директ. Анализируем конкурентное окружение» я хочу показать, как при помощи не очень сложных расчетов и API Яндекса вытащить из Директа буквально всю информацию о рекламных кампаниях конкурентов. Сразу скажу, что идея на практике еще не проверялась, сам факт наличия всей информации и, соответственно, возможности этого расчета был показан Ческидовым только вчера, а алгоритм родился буквально сейчас. Но математически вроде бы всё сходится. Осторожно, под катом много формул.
Читать дальше →

Маршрутное такси на Картах Google в Санкт-Петербурге

Время на прочтение1 мин
Количество просмотров4.9K
Алексей Мастеров, менеджер по продуктам Google в России

Уже около двух лет пользователи Google ищут маршруты общественного транспорта в Москве и Санкт-Петербурге на наших Картах. На прошлой неделе в дополнение к автобусам, троллейбусам, трамваям, метро и электричкам в Санкт-Петербурге мы добавили Маршрутное Такси.

Найти различные способы проезда можно как и раньше, используя ссылку «Проложить Маршрут» и выбрав «Общественный транспорт» на maps.google.ru, а также на некоторых моделях смартфонов. Просто теперь количество предложенных вариантов проезда увеличилось за счёт маршруток. А благодаря недавно запущенному голосовому поиску место назначения можно просто произнести вслух, а место отправления (ваше местоположение) ваш телефон знает и так.

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

Информация

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