Как стать автором
Поиск
Написать публикацию
Обновить
35
0
Сергей Колесников @sergpenza

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

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

Ищем быстро, еще быстрее

Время на прочтение3 мин
Количество просмотров22K
Натолкнулся в разделе QA на интересный вопрос. Ответ на него заставил написать эту статью как бОлее полный ответ на вопрос «как организовать поиск по множеству параметров, как в Яндекс-маркете, например».

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

Итак, что имеем в «ДАНО»
  • Имеем 120 чекбоксов — вариант 1/0
  • Имеем 30 «радио» с выбором «да/нет/не важно»
  • Имеем 2-3 слайдера для указания диапазона цен/размера чего нить
  • Имеем самое главное: 12 млн записей в БД.
  • Имеем Select * From tovar Where (wifi=true) and (led=false) and (type=3) and ….остальные параметры …; со временем выполнения близкому к истерике клиента.

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

Китайцы — они такие китайцы

Время на прочтение10 мин
Количество просмотров63K
Сей пост навеян неожиданным для меня интересом хабранаселения к посту уважаемого Milfgard из Мосигры про производство в Китае. Дело в том, что один из моих интересов как раз в производстве батарей – Denaq. И производство расположено ну конечно же в Китае. Я не стану рассказывать про организацию производства, там свои замечательные фокусы есть. Я расскажу именно про заказ чего-то под себя и покупку всякого опта. Что-то вроде алгоритма украшенного реальными историями из личного опыта. Это все будет про электронику, так как я сам именно ею занимаюсь. Истории и иллюстрации я буду выделять курсивом. Кому скучно читать общие выводы – читайте только их.
Читать дальше →

Основы репликации в MySQL

Время на прочтение10 мин
Количество просмотров333K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →

Можно ли скрыться от закона «О персональных данных»?

Время на прочтение7 мин
Количество просмотров26K
27 июля 2006 года был принят закон «О персональных данных». Его принятие было связано с ратификацией Россией «Конвенции совета Европы о защите физических лиц при автоматизированной обработке персональных данных». Закон этот был призван установить те требования защиты персональных данных, которые были описаны в этой конвенции. По замыслу законодателей, те компьютерные системы, которые были созданы до даты вступления закона в силу, нужно было привести в соответствие с его требованиями к 1 января 2010 года. Однако, по мере приближения этого срока все очевиднее становилось то, что множество компьютеровладельцев с этим не справятся. Поэтому в самом конце 2009 года, когда до «дня икс» оставалось совсем немного, его сдвинули еще, до 1 января 2011 года. А когда и до этого срока тоже оставалось совсем немного, «полноценное» вступление в силу закона отодвинули еще раз, теперь всего на полгода.

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

Что такое ПД?
Читать дальше →

eBay API: Первые шаги

Время на прочтение5 мин
Количество просмотров31K
Как известно начать изучать что либо труднее всего, eBay API даже при том что у него нормальная документация не исключение. Я сам только недавно начал его изучать и пришлось плотно полазить по доке и сторонним ресурсам прежде чем в голове начала складываться нужная картина.
Этот пост предназначен для тех, кому нужно быстро начать работать с eBay API ну и для меня самого, что бы в будущем ничего не забыть.

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

Проектируем рейтинговое оценивание

Время на прочтение5 мин
Количество просмотров1.3K
Часто требуется реализовать возможность рейтингового оценивания того или иного объекта (заметки, комментария, цитаты, фотограммы, видеоролика и т. д.) посетителями сайта. Как это запрографировать?

Прежде всего мы имеем объект оценивания и субъект оценивания. Последним могут быть, например, зарегистрированные пользователи, незарегистрированные пользователи (гости) и пр.

Для того, чтобы обеспечить слабую связанность конкретных сущностей предметной области, к которым мы привязываем возможность рейтингового голосования, с модулем, реализующим нашу задачу, мы выделяем отдельные классы для объекта (Rating_Object) и субъекта (Rating_Subject). Оба эти класса — конкретные и реализованы как active record. Чтобы иметь возможность привязывать всяческие статьи и фотограммы к экземплярам Rating_Object, мы предусматриваем интерфейс Rating_Ratable:

interface Rating_Ratable {
    /**
     * @return Rating_Object
     */
    public function asRatingObject();
}


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

Сам себе АппСтор

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

Хабростарожилы могут припомнить часы Синхрон, о которых однажды уже шла речь на Хабре.

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

Дошла очередь и до мобильной платформы. Так или иначе, целью стала iOS.

Как известно, современный путь на эту платформу лежит через Xcode и AppStore, что требует определённых душевных и финансовых вложений.

Однако, если припомнить смутное время выхода первого (точнее второго) «КПК» от яблочной компании (на всякий случай, речь про iPhone 1), то вспомнится бурная дискуссия, о том, как же так можно, чтобы приложения для него были ничем иным как простыми web-приложениями — обычным нагромождением HTML/CSS/JS и тому подобным. Как раз то, что нам и нужно!
Детали технической реализации

Fugue Icons в сером

Время на прочтение1 мин
Количество просмотров2.3K
Во многих проектах я использую известный набор иконок Fugue Icons и часто нужно создать эффект «активной\не активной» кнопки. Чтобы не перекрашивать каждый раз по иконке в серый, я перекрасил все иконки и добавил в названия файла "-gray" сохранив структуру архива.



Выкладываю архив в общее пользование, может кому пригодится.
Cкачать Fugue Icons Gray, зеркало на Яндех.Народ

Лицензия: Attribution 3.0 Unported (CC BY 3.0)
Скачать оригинальный набор Fugue Icons 3.0 можно с сайта автора или с Google Code

Сборник советов и фактов по оптимизации PHP-скриптов

Время на прочтение9 мин
Количество просмотров45K
image Эту статью давно стоило переписать (слишком много «экономии на спичках»), но руки не доходят. Пускай весит и напоминает о том, как мы глупы в молодости.
Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читать дальше →

База GeoIP – страны и города, январь 2011

Время на прочтение2 мин
Количество просмотров12K
Вышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
— для перевода названий городов использован API Карт Google (идея chernikov)
— для поиска по странам СНГ подключена база geobaza.ru (идея derketzer)
Результат этой работы доступен для свободного скачивания.
Читать дальше →

Инструменты для дизайнеров и разработчиков

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


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

Смотрим

HTML в PDF

Время на прочтение2 мин
Количество просмотров120K
html to pdf

В далеком 2008 году уже была написана подобная статья и я попытался применить знания, но, к сожалению, не справился с русским языком (на denwer-е работал, на хостинге нет). Возможно сказалось отсутствие опыта. А недавно нашел хорошую библиотеку и решил поделиться. Топик, скорее всего, адресован начинающим программистом и ни на, что не претендует.
Читать дальше →

Творим оригинальный подарок при помощи химии физики и электроники

Время на прочтение4 мин
Количество просмотров76K
Добрый день, уважаемые хабровчане. Так получилось, что я уже довольно долго занимаюсь разработкой электронных устройств на базе микроконтроллеров, микропроцессоров и ПЛИС. Одним из разработанных мной девайсов я хочу с вами поделиться.
Читать дальше →

Видеохостинг своими руками

Время на прочтение6 мин
Количество просмотров71K
Эта статья о некоторых технических аспектах реализации бесплатного сервиса для загрузки, хранения и просмотра видео. Будут рассмотрены вопросы настройки серверного программного обеспечения, даны примеры команд для конвертации видео и примеры кода на языке PHP.
Читать дальше →

PHP и Dropbox. Удаленное хранилище пользовательских файлов

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

Применение


Довольно часто при разработке веб-приложений приходится задумываться над вопросом организации стабильного хранилища пользовательских файлов. И если при этом мы ограничены дисковым пространством, то создание обмена файлами средней тяжести, да еще и с резервным копированием оных, сильно нас озадачивает.

Решение


В качестве решения я предлагаю схему PHP<->Dropbox. Dropbox нам интересен тем, что каждому новому пользователю выделяеся 2Gb виртуального дискового пространства, а так же возможность отката на предыдущие версии файлов. Это обеспечивает нам стабильное хранилище, в котором не возникнет случаев безвозвратно удаленных файлов.
Читать дальше →

audio.js — слушаем музыку в любом браузере

Время на прочтение1 мин
Количество просмотров70K
audio.js — это javascript библиотека, позволяющая использовать HTML5 тэг повсюду. Что скрывается за словом «повсюду». Если есть возможность использовать тэг , то будет использоваться он, иначе будет подключен плеер на flash. В библиотеку так же входит и UI отображение для этого плеера, которое может быть видоизменено с помощью css.
Читать дальше →

Документация по API платежных систем

Время на прочтение1 мин
Количество просмотров7.3K
За прошедший год в рамках проектов довелось поработать с рядом отечественных платежных системам. После чего, помимо опыта, осталось немного документации, которой и хочу поделиться. Возможно, кому-то пригодится в будущем.
Читать дальше →

Латентно-семантический анализ

Время на прочтение4 мин
Количество просмотров100K
Как находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)

Латентно-семантический анализ

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

Кто в ответе за user-generated content?

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

Владельцы сайтов против правообладателей



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

На множестве сайтов можно найти контрафактный контент, который в отдельных случаях становится предметом судебных исков. Если его выкладывает сам владелец сайта, то в таких случаях никаких неясностей не возникает. Но вот кто должен отвечать за то, что выложено пользователем? Есть распространенное мнение о том, что «владелец несет полную ответственность за то, что публикуется на его сайте». Как правило, пропагандируют его «профессиональные истцы» и прочие пропагандисты «закручивания гаек» в области копирайта. Однако, в законодательстве и в судебной практике оно подтверждения не находит. В этом мы сейчас и убедимся.
Читать дальше →

Ответственность за «комменты»

Время на прочтение6 мин
Количество просмотров13K
В интернете, с его письменным общением на форумах и в блогах, возникает масса спорных ситуаций из-за оставленных там комментариев. Суды из-за них по разным поводам уже и сейчас не редкость, а в будущем их может стать еще больше. Поводы эти бывают самыми разными – чаще всего это защита чести и достоинства, но встречается и экзотика, типа «экстремизма» или нарушения копирайта на оставленный кем-то комментарий.

Как правило, при таких конфликтах первое, к чему обращаются спорщики – это авторское право. Встречаются иногда оригиналы, которые грозятся засудить форумного оппонента за цитирование не в том контексте, который нравится. Есть еще владельцы форумов, которые снабжают свои ресурсы надписью о том, что им принадлежат все «исключительные права» на те комментарии, которые оставляют пользователи. Естественно, все эти грозные предупреждения яйца выеденного не стоят, поскольку цитирование у нас разрешено законом, а для того, чтобы получить «исключительные права», владелец форума должен заключить с комментатором лицензионный договор. Единственное, на что может претендовать владелец сайта – это «право изготовителя базы данных», о котором мы совсем недавно писали.

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

Информация

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