Читать дальше →
Roman Lugovkin @RomanL
Пользователь
Postgres. Выборка N случайных записей
6 мин
38KПри работе над одним проектом возникла необходимость написать некое подобие тестовой системы. Задача формулировалась примерно так:
А теперь то же самое человеческим языком: из таблицы нужно два раза выбрать по 3-5 случайных записей. При этом не должно быть дубликатов и выборка должна происходить случайным образом.
Первое, что приходит в голову:
И это даже будет работать. Вот только цена такого решения…
- из N записей в базе необходимо выбрать m (3-5) случайных строк в серии из k выборок (преимущественно k=2).
А теперь то же самое человеческим языком: из таблицы нужно два раза выбрать по 3-5 случайных записей. При этом не должно быть дубликатов и выборка должна происходить случайным образом.
Первое, что приходит в голову:
SELECT *
FROM data_set
WHERE id NOT IN (1,2,3,4, 5)
ORDER BY random()
LIMIT 5;
И это даже будет работать. Вот только цена такого решения…
+46
«Never say never» или Работаем с таймзонами правильно
9 мин
78KЭта статья рассказывает о проблемах, которые поджидают программиста, работающего с часовыми поясами. В теории, вроде, всё хорошо, просто и понятно, но жизнь — штука сложная, и на практике, порой, возникают совершенно неожиданные ситуации.
TL;DR: Работа с таймзонами — это боль и унижение. Никогда не работайте с таймзонами!
Итак, все кругом твердят вам, что при получении времени от пользователя нужно сразу же переводить его в UTC, работать со временем нужно только в UTC и хранить время тоже нужно строго в UTC. Совет, на первый взгляд, выглядит разумным, и следование ему делает вашу жизнь проще… Если только ваша программа не предполагает сложной работы с датами. Записать в базу данных дату и время регистрации пользователя на сайте? Сохранить время отправки сообщения или дату создания заказа в интернет-магазине? Вывести сообщение в лог с указанием даты-времени? Используйте UTC и всё будет в порядке, можете даже не читать эту статью дальше. Любое текущее время можно совершенно спокойно конвертировать в UTC и забыть о проблемах. Но что, если мы хотим работать с временем в будущем? Или в прошлом? Например, если мы пишем сервис календаря, или сервис для отложенной отправки сообщений?
TL;DR: Работа с таймзонами — это боль и унижение. Никогда не работайте с таймзонами!
Итак, все кругом твердят вам, что при получении времени от пользователя нужно сразу же переводить его в UTC, работать со временем нужно только в UTC и хранить время тоже нужно строго в UTC. Совет, на первый взгляд, выглядит разумным, и следование ему делает вашу жизнь проще… Если только ваша программа не предполагает сложной работы с датами. Записать в базу данных дату и время регистрации пользователя на сайте? Сохранить время отправки сообщения или дату создания заказа в интернет-магазине? Вывести сообщение в лог с указанием даты-времени? Используйте UTC и всё будет в порядке, можете даже не читать эту статью дальше. Любое текущее время можно совершенно спокойно конвертировать в UTC и забыть о проблемах. Но что, если мы хотим работать с временем в будущем? Или в прошлом? Например, если мы пишем сервис календаря, или сервис для отложенной отправки сообщений?
+74
Организация своего хоста виртуализации на Hetzner
4 мин
47K

Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.
… и, надо сказать, очень приятная в обслуживании и эксплуатации система.
Я работаю со своими клиентами (в большинстве случаев студии веб-дизайна, или standalone-клиенты) уже около 5 лет. Все мои клиенты используют услуги немецкого хостера Hetzner. Можно долго рассуждать о качестве предоставляемых ими услуг, качестве железа в их серверах — но факт остается фактом: предложения Hetzner в сегменте root-серверов вне конкуренции по соотношению цена/качество.
Справка: по состоянию на время написания статьи стоимость ежемесячной аренды сервера линейки EX60 (Intel Core i7-920, 48 GB DDR3 RAM,2 x 2 TB SATA 3 Gb/s 7200 rpm HDD ) составляет всего 59€ в месяц. Согласитесь, совсем недорого.
В этой статье я хотел бы описать небольшой howto по установке на root-сервер системы виртуализации proxmox, чтобы просто показать, насколько это легко и доступно. Не буду описывать варианты кластеризации системы из 2-х и более серверов (возможно, сделаю это в следующей статье, если сообществу будет интересно), а распишу самый простой вариант.
+24
Как работают рекомендательные системы. Лекция в Яндексе
11 мин
144KПривет, меня зовут Михаил Ройзнер. Недавно я выступил перед студентами Малого Шада Яндекса с лекцией о том, что такое рекомендательные системы и какие методы там бывают. На основе лекции я подготовил этот пост.
План лекции:
- Виды и области применения рекомендательных систем.
- Простейшие алгоритмы.
- Введение в линейную алгебру.
- Алгоритм SVD.
- Измерение качества рекомендаций.
- Направление развития.
+49
Как колебания в продажах влияют на оборот?
3 мин
14K
Данная публикация — это реальный кейс от Datawiz.io, в котором мы расскажем, как найти товары и категории с большими колебаниями продаж, и как колебания продаж влияют на поведение клиентов.
Производя анализ данных для торговой сети, мы столкнулись с проблемой: при почти равных количествах продаж в день в двух магазинах сети, оборот в одном магазине «Shop1» увеличивался, а в магазине «Shop2» — снижался.
+13
7 эффективных A/B-тестирований с приветственными письмами
11 мин
34KПеревод

+23
Тонкости SMO. Не удивляйтесь что у вас нет социального траффика
4 мин
37K80% владельцев сайтов уверены, что их ресурсы оптимизированы под социальные сети. Как бы не так. Вот мы и разберемся где собака зарыта и в чем природа этого заблуждения.
Все что отражено в этой заметке – результат внедрения социальных кнопок Grrow на несколько десятков сайтов разнообразной тематики и наблюдениями, какой именно контент отдают первоисточники в социалки.
Так вот с чем мы столкнулись и что поняли.
С одной стороны есть сайт с хорошим контентом, посещаемостью, дизайном, социальные кнопки стоят, комменты, а траффика социального – кот наплакал. И его не будет.

А знаете почему?
Многие из нас не видят отличия структуры контента на сайте и его отражения в социальных сетях, а значит и особенностей восприятия аудиторией одного контента в разных местах.
Это с моей точки зрения вполне объяснимо. Кто до недавнего времени был основным поставщиком траффика на любой сайт? Конечно поисковики. И в голову многих вебмастеров вбит стандарт подачи контента под поисковые машины. Ну вы сами их знаете.
Однако социальные сети расправили плечи, набрали огромную аудиторию и стали источником неплохого траффика. И стандарты подачи информации здесь совсем другие. Потому что люди далеко не роботы, ими не движет анализ и алгоритмы. Людьми движут эмоции.
Но давайте по порядку:
Итак, как мыслит вебмастер, например контентного сайта? Ага, я написал хорошую статью, все по SEO правильно, у меня на сайте есть социальные кнопки в начале (это хороший тон) и в конце статьи (что тоже неплохо). Посетитель прочитает, нажмет соцкнопку, зарепостит статью себе на стену и вот он социальный траффик у меня в кармане. Это работает, но слабо.
Почему? Потому что вебмастер думает как все. Хотите больше социального траффика – думайте иначе. Думайте на шаг вперед.
Пытайтесь заинтересовать не столько ваших посетителей сколько их друзей в социальных сетях. Ведь именно их вы хотите привлечь на свой сайт с помощью SMO.
Все что отражено в этой заметке – результат внедрения социальных кнопок Grrow на несколько десятков сайтов разнообразной тематики и наблюдениями, какой именно контент отдают первоисточники в социалки.
Так вот с чем мы столкнулись и что поняли.
С одной стороны есть сайт с хорошим контентом, посещаемостью, дизайном, социальные кнопки стоят, комменты, а траффика социального – кот наплакал. И его не будет.

А знаете почему?
Многие из нас не видят отличия структуры контента на сайте и его отражения в социальных сетях, а значит и особенностей восприятия аудиторией одного контента в разных местах.
Это с моей точки зрения вполне объяснимо. Кто до недавнего времени был основным поставщиком траффика на любой сайт? Конечно поисковики. И в голову многих вебмастеров вбит стандарт подачи контента под поисковые машины. Ну вы сами их знаете.
Однако социальные сети расправили плечи, набрали огромную аудиторию и стали источником неплохого траффика. И стандарты подачи информации здесь совсем другие. Потому что люди далеко не роботы, ими не движет анализ и алгоритмы. Людьми движут эмоции.
Но давайте по порядку:
Итак, как мыслит вебмастер, например контентного сайта? Ага, я написал хорошую статью, все по SEO правильно, у меня на сайте есть социальные кнопки в начале (это хороший тон) и в конце статьи (что тоже неплохо). Посетитель прочитает, нажмет соцкнопку, зарепостит статью себе на стену и вот он социальный траффик у меня в кармане. Это работает, но слабо.
Почему? Потому что вебмастер думает как все. Хотите больше социального траффика – думайте иначе. Думайте на шаг вперед.
Пытайтесь заинтересовать не столько ваших посетителей сколько их друзей в социальных сетях. Ведь именно их вы хотите привлечь на свой сайт с помощью SMO.
+24
Собственные впечатления и обзор NAS Synology DS214
11 мин
162KЗдравствуйте, уважаемые хабражители. Сегодня я хотел бы поделиться с вами своими впечатлениями от использования NAS Synology DS214.


+39
Айтишник на отдыхе: добавим немного астрономии?
6 мин
126K
Стремительно приближается лето и сопутствующие ему выезды на природу. Посиделки затягиваются заполночь, и над головой появляются звезды. Но, как правило, зведное небо таинственно и непонятно — астрономию в школах не преподают толком, наверное, уже с конца 80-х, да и кто помнит, чему его учили в школе, если это не использовалось в жизни постоянно? А в небе хватает интересного, особенно если потратить чуть-чуть времени на астрономическое обеспечение выезда на природу.
+101
Обзор сервисов отсылки мобильных push-уведомлений
4 мин
45K
Мне понравилась концепция центра уведомлений, которая успешно показала себя на ОС Android, появилась в iOS6 и запланирована к выпуску в Windows Phone. Это одна лента уведомлений для всех сервисов, удобный просмотр, работа с уведомлениями, простая очистка списка. На своем опыте убедился, что это в разы удобнее, чем привычные email уведомления, которые превращают inbox в кашу.
Поскольку наша команда работает одновременно над несколькими проектами (где-то летят “билды”, где-то пушатся изменения и так далее), мне показалась интересной идея подключить свои проекты к такому варианту уведомлений о событиях, происходящих в системе. В идеале я хотел иметь возможность рассылать уведомления разным членам команды, а при необходимости и на всю команду целиком. Только мне хотелось получать их именно от ПО, с которым я работаю — начиная от инструментов Continuous Integration и автоматического тестирования, и заканчивая непосредственно логами ошибок, статистикой и критикалами из проектов.
+16
Как я преодолевал предел 4Гб на Windows XP 32бит
4 мин
346KСразу оговорюсь, «преодолевал» в названии отражает только тот факт, что теперь моя XP видит всю память, установленную на системной плате. Не я придумал способ, я просто им воспользовался и теперь хочу поделиться.
Вопрос о четырёх гигабайтах памяти в Windows XP (здесь, и далее 32 бит) поднимался на просторах Интернет неоднократно. И так же неоднократно делался вывод, что более четырёх увидеть в принципе невозможно, а так как оборудование тоже требует адресного пространства, то и того меньше. Обычно 3.25 Гб, или около того. Очень подробно и убедительно история вопроса освещена здесь: Четыре гигабайта памяти — недостижимая цель?
Меня этот вопрос тоже волновал. Хотя, казалось бы, можно поставить 64 битную систему, или даже Windows Server (как известно он даже в 32-битной версии видит всю память), но я хотел пользоваться Windows XP. Два раза за последние 3 года я переходил на Windows 7, в первый раз на 64-битную, второй раз на 32-х битную, но в итоге оба раза вернулся назад на XP, которая живёт у меня без переустановки с 2007 года.
Последний раз я отказался от семёрки в пользу старушки буквально две недели назад. Притом, надо отметить, что семёрка была хоть и 32-х битная, но в ней была разблокирована возможность видеть всю доступную память. Способ разблокировки доступен в Интернет. И теперь мне с новой силой захотелось решить этот вопрос и в XP.
Вопрос о четырёх гигабайтах памяти в Windows XP (здесь, и далее 32 бит) поднимался на просторах Интернет неоднократно. И так же неоднократно делался вывод, что более четырёх увидеть в принципе невозможно, а так как оборудование тоже требует адресного пространства, то и того меньше. Обычно 3.25 Гб, или около того. Очень подробно и убедительно история вопроса освещена здесь: Четыре гигабайта памяти — недостижимая цель?
Меня этот вопрос тоже волновал. Хотя, казалось бы, можно поставить 64 битную систему, или даже Windows Server (как известно он даже в 32-битной версии видит всю память), но я хотел пользоваться Windows XP. Два раза за последние 3 года я переходил на Windows 7, в первый раз на 64-битную, второй раз на 32-х битную, но в итоге оба раза вернулся назад на XP, которая живёт у меня без переустановки с 2007 года.
Последний раз я отказался от семёрки в пользу старушки буквально две недели назад. Притом, надо отметить, что семёрка была хоть и 32-х битная, но в ней была разблокирована возможность видеть всю доступную память. Способ разблокировки доступен в Интернет. И теперь мне с новой силой захотелось решить этот вопрос и в XP.
+93
+76
Структура белка: введение для айтишников
17 мин
158KПриятно видеть, что хабравчане регулярно интересуется другими предметными областями – например, биологией (более конкретно – структурой и функцией биологических макромолекул). Однако некоторые посты (например, этот), вызывают у специалиста просто физическую боль из-за обилия совершенно диких фактологических ошибок. В этом посте мне хочется рассказать о структуре и функции белка. О том, что мы знаем и о том, чего не знаем, а так же об имеющихся в этой области вычислительных задачах, требующих решения и интересных IT-специалистам. Постараюсь рассказывать сжато и тезисно, чтобы информации было больше, а воды – меньше. Всех, интересующихся структурой белков, прошу под кат, там очень много букв.
+144
Использование бесплатных утилит для кастомизации «Неизменяемых» компонентов Windows 8
7 мин
43K
Однако, в этой операционной системе есть несколько таких интересных возможностей, которые попросту не изменяют интерфейс и не добавляют/удаляют новые возможности системы, а просто не подлежат кастомизации. Так вот именно о таких возможностях и пойдет далее в текущей статье речь. Другими словами, в этой статье я не буду говорить о групповых политиках, об Active Directory и о Windows Server в частности. Речь пойдет исключительно о кастомизации клиентской операционной системы, причем о кастомизации таких компонентов системы, в которые можно вносить изменения только при использовании сторонних утилит. Ну что же…
+22
Мой опыт: Российские интернет банки и карты
5 мин
250KПривет всем! Если вы фрилансер, то наверняка имели дело с банковскими картами. Сейчас на Российском рынке огромное предложение карт, начиная от банковских премиальных, заканчивая скидочными и бонусными от кафе до авиакомпаний.
Сразу хочу сказать, что пост никаким образом не является рекламным. Тут только мое мнение и мой опыт по отношению к Российским банкам и их картам. В обзоре я использовал только те банки, с которыми работал лично.

Сразу хочу сказать, что пост никаким образом не является рекламным. Тут только мое мнение и мой опыт по отношению к Российским банкам и их картам. В обзоре я использовал только те банки, с которыми работал лично.

+39
Мифы нашего времени: генетически модифицированные организмы. Так ли страшен черт?
21 мин
575KЧеловеку давно свойственно интересоваться окружающим миром и находить объяснения тому окружающим вещам и событиям. Собственно, без этого человек не стал бы человеком. На базе верований, мифов развивалась сначала религия, а потом — и современная наука, которая уже весьма успешно объясняет окружающий мир от очень малых до впечатляющих масштабов. Но всегда оставались люди, которые противились прогрессу и распространяли устоявшиеся мифы, уверяя, что они отвечают на все вопросы и незачем двигаться дальше. Гром гремит — это Перун-громовержец злится; кто-то заболел — это Бог его наказывает, вот тебе объяснения, отстань, не задавай вопросов, а лучше помолись.
Современные мифы более глубоки и обычно связаны с наукой. Причины понятна — наука развилась (особенно в последнее время) до такой степени, что часто нужен колоссальный объем знаний, чтобы просто понять, о чем вообще идет речь. У многих людей этого объема нет или безвозвратно потерян, что и снижает их сопротивляемость к разного рода мифам нашего времени. Миф про вредность пищевых добавок Exxx; миф про полезность натурального и вредность «химии»; миф про врачей-убийц, травящих людей прививками; миф про настолько страшное ГМО, что наклейки с надписью «без ГМО» надо клеить даже на салфетки и на пачки с солью.

Что такое ГМО? Зачем они нужны? Как велика опасность и польза от их использования? Есть ли доказательства безопасности этих организмов?
Современные мифы более глубоки и обычно связаны с наукой. Причины понятна — наука развилась (особенно в последнее время) до такой степени, что часто нужен колоссальный объем знаний, чтобы просто понять, о чем вообще идет речь. У многих людей этого объема нет или безвозвратно потерян, что и снижает их сопротивляемость к разного рода мифам нашего времени. Миф про вредность пищевых добавок Exxx; миф про полезность натурального и вредность «химии»; миф про врачей-убийц, травящих людей прививками; миф про настолько страшное ГМО, что наклейки с надписью «без ГМО» надо клеить даже на салфетки и на пачки с солью.

Что такое ГМО? Зачем они нужны? Как велика опасность и польза от их использования? Есть ли доказательства безопасности этих организмов?
+262
Алгоритм генерации QR-кода
18 мин
210KТуториал

QR код — это монохромная картинка, на которой некоторые устройства (например смартфон со специальным приложением) распознают текст. Этим текстом может быть не только простая фраза, но и, хоть это и не входит в официальную спецификацию, ссылка, номер телефона или визитная карточка. Такие коды чаще всего используют, чтобы закодировать ссылку и распечатать её на плакате или визитке.
Эта статья — подробная инструкция по созданию QR кода с примерами на каждом шаге, которая требует от вас только базового умения работать с бинарными данными и владения любым языком программирования (если вы хотите создать автоматический генератор QR кода).
За основу этой статьи взят цикл статей «QR Code Demystified» Джейсона Брауна (Jason Brown). В этих статьях опущено много нюансов, что вызвало у меня некоторые проблемы. Все эти нюансы учтены и упомянуты здесь.
+92
Практическое применение универсальной электронной карты (УЭК) в городе и интернете. Часть 3
8 мин
159K
И снова здравствуй, Xабраюзер! Этот топик продолжает 2 предыдущих поста о получении и использовании универсальной электронной карты (УЭК) в Москве.
Пост 1: Опыт получения универсальной электронной карты. Розовая теория против суровой реальности. Часть 1
Пост 2: Как я получил универсальную электронную карту после 3-х месяцев ожидания. Часть 2
Пост 3 Практическое применение универсальной электронной карты (УЭК) в городе и интернете. Часть 3
Пост 4 Электронная подпись на УЭК, что даёт и нужна ли вообще? Часть 4
Изначально я сразу понял, что хочу УЭК только для того, что бы поближе пообщаться с ЭЦП (кстати в УЭК она является квалифицированной) и всем, что с ней связано. Поэтому я оформил себе УЭК, купил ридер за 527 рублей, и решил описать мытарства с установкой и использованием этого ридера, софта от КриптоПро и портала ГосУслуги. В конце поста добавил небольшой бонус, в виде практического применения УЭК в городе.
Вообще, весь смысл можно уложить в несколько пунктов:
В интернете:
1) Поставить дрова на ридер и УЭК.
2) Установить комплект ПО от КриптоПро.
3) Установить сертификат от УЦ УЭК и установить личный сертификат с карты УЭК.
4) Установить плагин для работы с сайтом gosuslugi.ru.
5) Если нет аккаунта на госуслугах — зарегистрироваться на этом сайте, с использованием ЭЦП.
IRL:
1) Описание того, как карта работает в общественном транспорте.
Но почти в каждом из пунктов есть свои подводные камни, поэтому пришлось пройти весь этот путь самому…
+20
Жизнь разработчика (в картинках)
1 мин
67KВзято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.
Когда я показываю босу, что окончательно пофиксил баг

Когда проджект-менеджер входит в офис

Когда я показываю босу, что окончательно пофиксил баг

Когда проджект-менеджер входит в офис

+516
Информация
- В рейтинге
- Не участвует
- Откуда
- Владимирская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность