Как стать автором
Обновить
-7
DjOnline @DjOnlineread⁠-⁠only

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

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

Задача отображения деревьев в MySql. Способ отображения на хранимых процедурах

Время на прочтение7 мин
Количество просмотров14K
Доброго времени суток.

Очень хотелось поднять вопрос о древовидных структурах в MySql. А конкретно о выборках и хранении данных…
Пользователям Oracle и PostgresSQL живется хорошо, в этих БД есть встроенные средства выборки рекурентных данных (см. Иерархические (рекурсивные) запросы).
Пользователям Mysql приходится работать уже с тем, что есть, то есть работа на стороне клиента.
Поскольку эта тема не однократно поднималась, то я попробую рассказать о конкретной задаче и способе её решения.
Читать дальше →

Английский для айтишника? Легко!

Время на прочтение2 мин
Количество просмотров183K
Эта тема не относится к IT напрямую, но все знают, что без нее никуда. К сожалению, далеко не у всех есть возможность изучать английский с преподавателями. Ну что ж, попробуем заняться этим дома и с максимальной отдачей!
Читать дальше →

Учим Google Analytics считать лайки из Вконтакте

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

В этой статье я расскажу, как с помощью Google Analytics отслеживать лайки на вашем сайте и покажу, как это делать с кнопкой “Мне нравится” из Вконтакте.
Читать дальше →

20 бесплатных дополнений для Visual Studio

Время на прочтение4 мин
Количество просмотров39K
Для Visual Studio 2010 создано уже около 900 дополнений. Многие из них позволяют облегчить решение рутинных задач, добавить удобства. Ниже представлено двадцать популярных дополнений, которые вы возможно найдете полезными для вашей работы.
Читать дальше →

Первый взгляд на Xataface — систему построения дата-центрированных приложений на PHP и MySQL

Время на прочтение3 мин
Количество просмотров3.3K
Приветствую многоуважаемых хабражителей.

Поиск по Хабру по ключевым словам «dataface» и «xataface» привёл к пустой странице результатов, поэтому считаю своим долгом поделиться с честной публикой своим давним открытием, до сей поры остававшимся в тени.

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

Подробности под катом.
Читать дальше →

10 рекомендаций по html-верстке электронных писем

Время на прочтение4 мин
Количество просмотров107K
Рекомендация первая: забудьте про блочную верстку. Весь лэйаут должен быть на таблицах. При этом, без крайней необходимости — их тоже лучше не использовать. Также следует выкинуть из головы представления о семантике, сокращенных css-правилах, валидации, плавающих блоках — и прочее. Самый распространенный в РФ почтовый сервис на данный момент (mail.ru) вообще не понимает стили (css). Любые тэги/атрибуты style заменяются на xstyle и не работают. Вообще все.

Так что, фактически, при вёрстке html для почтовой рассылки надо мысленно переместиться в 90-ые годы прошлого века и смело использовать все распространенные приёмы того времени.

Для тех, кто с ними не знаком (как я был) — напомню:
Читать дальше →

Грабли при верстке HTML писем

Время на прочтение3 мин
Количество просмотров104K
Довольно часто наши клиенты устраивают регулярные рассылки с новостями. Почти всегда их не устраивают текстовые рассылки или простое оформление HTML рассылок. Наши дизайнеры вовсю креативят, а мы потом набиваем шишки при верстке их макетов с корректным отображением во множестве почтовых клиентов.

Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Читать дальше →

История одной компьютерной войны

Время на прочтение4 мин
Количество просмотров53K
Данная заметка — сокращенный пересказ почти 10-летнего эпоса о находчивости и предательстве, изобретательности и хитрости, происходящих от человеческой лени. Началось все с того, что на неком айтишном факультете некого университета запустили для контроля знаний учащихся по одному из семестровых курсов систему дистанционного обучения. Дальнейшая борьба представляла из собой пошаговую стратегию с фазами в семестр, причем со стороны студентов каждый раз были новые люди со свежими идеями.

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

Как MySQL оптимизирует ORDER BY, LIMIT и DISTINCT

Время на прочтение16 мин
Количество просмотров15K
Есть задачи, которые в рамках реляционных СУБД не имеют универсальных решений и для того чтобы получить хоть какой-то приемлемый результат, приходится придумывать целый набор костылей, который ты потом гордо называешь “Архитектура”. Не так давно мне как раз встретилась именно такая.

Предположим, имеется некоторые сущности А и Б, связанные между собой по принципу One-to-Many. Количество экземпляров данных сущностей достаточно велико. При отображении сущностей для пользователя необходимо применить ряд независимых критериев, как для сущности А так и для сущности Б. Причем результатом применения критериев являются множества достаточно большой мощности — порядка нескольких миллионов записей. Критерии фильтрации и принцип сортировки задается пользователем. Как (я бы ещё спросил: Зачем им миллионы записей на одном экране? — но говорят надо) показать все это пользователю за время 0 секунд?
Решать такие задачи всегда интересно, но их решение сильно зависит от СУБД, под управлением которой крутится твоя база данных. Если у тебя в рукаве козырной туз в виде Oracle, то есть шанс, что эти костыли он подставит сам. Но спустимся на землю — у нас есть только MySQL, так что придется почитать теорию.
Далее ...

Где взять капитал начинающим предпринимателям

Время на прочтение3 мин
Количество просмотров2.1K
Многие IT специалисты рано или поздно приходят к выводу, что работать на себя эффективнее и выгоднее, чем быть наёмным работником. Набравшись опыта в какой-то области, хочется применить свои знания для улучшения благосостояния, но встаёт вопрос: «с чего начать?» и «где взять деньги для старта?» Как показывает практика, мало кто обращается за помощью к государству, но для начала своего дела все средства хороши и необходимо пользоваться любой возможностью!
Читать дальше →

Создание одностраничного ajax-приложения с поддержкой History API (и без нее)

Время на прочтение4 мин
Количество просмотров52K
Судя по комментариям в этой статье, создание веб-приложений с возможностью аякс-навигации является интересной для сообщества темой и пока еще немногие сталкивались с подобной задачей. Я расскажу о ее решении с помощью небольшой библиотеки под названием jQuery-Pjax (либо моего форка ее).

Моя мотивация: в проекте нужно было реализовать mp3-плеер, играющий независимо от навигации на сайте. Далее потребовалось добавить поддержку браузеров без pushState — и я сделал форк библиотеки.

Основные особенности

  • навигация по сайту и обработка форм без полной перезагрузки страниц
  • чистые url, доступные для прямого доступа
  • поддержка #!/hash для устаревших браузеров (добавлено в моей версии)
  • работа с кнопками «назад» и вперед» для современных браузеров
  • а теперь и для старых — благодаря benalman.com/projects/jquery-hashchange-plugin
  • похоже, есть проблемы с ИЕ7 (спасибо Nc_Soft) (тем более, большое спасибо за участие Nc_Soft) и, возможно, opera 11.5 (пока не могу подтвердить, но нахожу крайне удивительным из-за dev.opera.com/articles/view/introducing-the-html5-history-api) — сообщение artishok — проверено и работает на сборке 1074 (not_ice)
  • imsamurai (https://github.com/imsamurai) предложил улучшения библиотеки (и я радостью слил изменения): встроенная функция для отправки форм, улучшения работы с хешами и более развитая система триггеров. (у imsamurai, к сожалению, нет аккаунта на хабре — будем рады помощи)

Ссылки


Принцип работы Pjax

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

Использование событий MySQL на практике

Время на прочтение3 мин
Количество просмотров68K
how does events workДля тех, кто активно пользуется MySQL, не секрет, что начиная с версии 5.1, MySQL поддерживает события (events). Если вам нужно выполнять запросы или отдельные процедуры по расписанию, а перейти с запуска консоли на встроенный функционал MySQL было лень не было времени,
добро пожаловать под кат

SEO: инвестируйте пару часов в удержание клиента

Время на прочтение7 мин
Количество просмотров4.7K
Почти у всех SEO-компаний, компаний занимающихся контекстной рекламой, медийной рекламой и другими подобными услугами по привлечению трафика на сайт, есть одна большая проблема. Эта проблема — заказчики, недовольные даже когда все обязательства по договору выполнены на 5+. Менеджерам приходится ежемесячно по сути заново продавать услугу, и с каждым разом это сложнее. Самое неприятное, что с аргументами заказчика не поспоришь — с сайта нет заказов. О решении этой проблемы и поговорим.

Для начала разберемся с причинами
(смотрим с точки зрения руководителя SEO-компании)



Проблема в работе оптимизатора-рекламщика (производство не тянет)? Напротив, он предоставит отчеты на стопицот страниц, подтверждающие, что он все сделал замечательно (а где в seo иначе?). Позиции сайта в поиске просто заоблачные. Объявления по минимальным ставкам на позициях спецразмещения. Даже целевой трафик на сайт идет обильно и стабильно (хотя по договору вы отчитываетесь только за позиции, а на объем и качество трафика можете забить).

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

Проблема в вашем менеджменте, который работает с заказчиком? Снова не верно. Дайте им премию, раз при таком положении дел они который месяц умудряются удержать его на абонентке. Раз пинают сеошников, чтобы не только сайт хорошо искался, но и трафик шел целевой.

Так в чем же? На самом деле выявить причины нулевой (или близкой к тому) конверсии можно за пару часов. Раз никто не виноват, еще раз взгляните на сайт, с которого все ждут заказов (по-умному это называется аудит-сайта, точнее — экспресс-аудит).
Читать дальше →

Главная, Каталог и Списки в интернет-магазине

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


Какими должны быть главная страница, каталог и списки товаров в интернет-магазине?
Требования к пользовательским интерфейсам интернет-магазинов от UsabilityLab.

Поговорим о margin, он же маргин( часть 1-я )

Время на прочтение4 мин
Количество просмотров59K
Видя, когда новички верстая страницу за страницей, допускают кучу ошибок, делая отступы маргин и до конца не понимая, как этот самый маргин на самом деле работает, я решил написать данную статью.

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

В этой части статьи я напишу о вертикальном маргине. О горизонтальном поговорим в следующей части.
Читать дальше →

Версионная миграция структуры базы данных: основные подходы

Время на прочтение15 мин
Количество просмотров139K
Проблемы контроля версий баз данных и миграций между версиями уже не раз поднимались как на Хабре (1, 2, 3 и др.), так и в Интернете (преимущественно, англоязычном).

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

Типовые ошибки на собственных сайтах веб-студий

Время на прочтение8 мин
Количество просмотров68K
Привет, Хабр! Я продолжаю цикл статей по теме маркетинга и продаж в веб-студиях / интерактивных агентствах. В этом материале я хочу поговорить о собственных сайтах студий и типовых ошибках, которые очень часто совершают их владельцы.

Этот дайджест основан на моем приличном опыте мониторинга и анализа сайтов на рынке веб-разработок (исследования конкурентов в ADV, мониторинг и анализ участников «Тэглайн», проведение заказных аудитов для студий и пр.).

Я попытался систематизировать основные «ляпы» и упущения по нескольким основным категориям, на которых и остановлюсь подробнее:
  • Ошибки позиционирования;
  • Ошибки расстановки приоритетов;
  • Неправильная презентация компании и услуг;
  • Неправильная презентация портфолио и кейсов;
  • Ошибки в коммуникации с заказчиком;
Читать дальше →

Компилятор .NET в JavaScript и пример XNA-демо в браузере

Время на прочтение1 мин
Количество просмотров2.3K
Разработчик Kevin Gaad, который судя по его профилю работает в компании Mozilla, представил свою разработку – компилятор .NET(C#) кода в JavaScript. Для демонстрации работоспособности библиотеки Кевин опубликовал портированный пример демонстрационного проекта игры на базе XNA 3.1.

image

Игра работает в браузерах IE9+, Firefox 4+, and Chrome 11. Разработчик пишет, что Opera не поддерживается из-за проблем браузера с ECMAScript5 и в Chrome 12 и 13 есть баги, которые мешают нормальной работе.

Проект компилятора с открытым кодом доступен на сайте GitHub. Разработчик сделал анонсы своей работы на Hacker News и Reddit, где можно ее прокомментировать. Кроме того, демонстрационный проект с игрой доступен здесь: Platformer.zip.

Выглядит впечатляюще.

Гигагерцы задешево — Win 2008R2 Core на Amazon

Время на прочтение5 мин
Количество просмотров4.7K
Занимаясь стартапами я, наконец-то, дошел до той точки, когда нужно быть готовым отмасштабировать приложение на N серверов для 1M просмотров в день и я начал думать, как же это сделать наиболее эффективно с использованием Amazon Ec2.

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

Из недорогих серверов у амазона особого выбора нет. Изначально я планировал использовать для этого Small Instance — именно этот вариант рекомендует amazon по умолчанию. В нем 1.7 GB RAM, что довольно комфортно для windows, но только 1 ECU. На практике в памяти можно разместить 5-8 рабочих процессов, однако, толком работать одновременно они не способны — ядро одно и очень слабое: 1 ECU это всего-то 1 Ghz одного ядра Xeon образца 2007 года. По моим оценкам, примерный эквивалент — процессор Celeron на частоте 1.5 Ghz. Стоит такой сервер $0.12 в час ~ $86 в месяц, десяток — $860 в месяц… Было очевидно, что эта конфигурация сервера не совсем отвечает моим задачам.

Поэтому я решил попробовать Micro instance — всего-навсего 613 MB памяти, но зато:
  • производительность достигает 2 ECU
  • он в 4 раза дешевле
  • можно использовать 64 битную платформу Windows Server 2008 R2 Core


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

Техники сжатия кода

Время на прочтение5 мин
Количество просмотров5.7K
Джед Шмидт, Томас Фухс и Дастин Диаз — достаточно известные в JavaScript-коммьюнити ребята в последнее время нашли себе новую развлекуху — писать полезные штуки размером не больше одного твита, то есть 140 байт. Даже домен зарегали — 140byt.es, куда приглашаются все желающие попробовать свои силы в написании супер-компактных функций.

Естественно, в ход идут все самые изощренные способы и техники уменьшения размера исходника. У них есть вики-страничка с советами, которую я и решил перевести.

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

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

Информация

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