Search
Write a publication
Pull to refresh
63
0
Rafael Sepeda @Fade

User

Send message

Оптимизация работы с MySQL

Reading time3 min
Views79K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

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

10 ошибок в дизайне иконок

Reading time1 min
Views2.8K


Вот есть Якоб Нильсен, который пишет ежегодные обзоры ошибок в юзабилити. С ним спорят или наоборот: все что он скажет, принимают за правило. Я решил провести такой же анализ в деле рисования иконок. Предлагаю вашему вниманию популярный обзор: 10 ошибок в дизайне иконок

Практическое применение Google AJAX Language API — встраиваем переводчик в свой проект.

Reading time7 min
Views4.7K

Приветствую вас, уважаемые читатели! Возможно, несколько нескромно, но позволю себе обьявить, что далее будет самый первый в Рунете обзор и описание практического применения недавно открытого Google AJAX Language API для доступа с приложений на JavaScript к сервису переводов. Везде я видел пока только анонсы и попытки проанализировать, чем же это может обернутся для разработчиков и пользователей, но именно руководства по встраиванию в свой сайт или проект еще не читал, поэтому решил самостоятельно разобраться и написать.

И так, сначала общая информация. Как известно, у компании Google есть сервис переводов, который умеет переводить тексты на более чем десятке языков. Всего пар переводов есть намного больше, но для некоторых языков доступны только переводы на один-два языка, для других, например, английского — на множество. Раньше вы могли использовать этот сервис для переводов веб-страниц на лету, или перевода отдельных слов и предложений в браузере, но вот дистанционный доступ к сервису при помощи AJAX-а — это стало возможно только на днях с открытием соответствующего API и размещения примеров кода.

API включает в себя функции автоматического определения языка исходного текста, и, собственно сам перевод. Поддерживается пока тринадцать разных языков и двадцать девять вариантов перевода. К сожалению, русский поддерживается только в виде пары Russian <> English, то есть, перевод с русского на английский и обратно, а самое большое число переводов конечно же, для английского. Впрочем, обещают в дальнейшем пополнять возможности переводов, так что не отчаивайтесь.
Читать дальше →

О чём рассказали Хабрасоздатели

Reading time4 min
Views644
В аудитории было около 150 человек, в основном, естественно, студенты, а также разработчики, менеджеры и пользователи интернет-продуктов. Авторам лучших вопросов из зала дарили книгу Антона Попова «Блоги. Новая сфера влияния».
Видеозапись встречи (500 Мб AVI), альтернатива
Презентация от Мио

Начало проекта

О продукте, похожем на сегодняшний Хабр Денис Крючков задумался ещё во время работы в Вебпланете. После того, как он был оттуда уволен, то занялся идеей более плотно — а именно — 2 месяца гулял по городу, размышлял, наблюдал. Так родилась концепция ресурса, где бы комментирующие имели равные права со штатными редакторами и журналистами — сам были бы такими же авторами. Далее в течение ещё 2-х месяцев он сам отрисовал дизайн, договорился со знакомым программистом о разработке первой версии сайта. То, как быстро вносились исправления в систему, не устраивало Дениса и он решил подойти к проекту более фундаментально — взял кредит в банке, занял у родителей и принялся за создание полноценной версии системы.

Хабрареволюция

Первичная концепция сайта была такова, что посты редакции публиковались в разделе «тексты», а посты остальных участников — в разделе «блоги» (?). Однако с течением времени начало нарастать недовольство пользователей неравенство в правах и была совершена «хабрареволюция», при которой каждый пользователь получил право быть полноценным автором.
Читать дальше →

Пасхальные яйца в мультиках Pixar

Reading time7 min
Views11K
Джим Хилл снова отвечает на вопросы о Диснее. На этот раз Джим попытается составить полный список всех «пасхальных яиц» и ссылок на другие работы студии в анимационных фильмах Пиксара.

Пишет Берни В:
Джим, не могли бы вы помочь мне выиграть спор? Мой коллега сказал мне, что робот WALL-E появляется в небольшом камео в мультфильме «Рататуй». А самое главное, он поспорил со мной на 100 долларов, заявив, что я никогда не смогу найти робота в этом мультике.

walle

Я взял DVD «Рататуй» у своего ребенка и пересмотрел его три раза, но не заметил даже намека на WALL-E. Если я предложу вам процент с моего выигрыша, вы подскажете мне, где можно найти этого робота в фильме?

Заранее спасибо за помощь, Берни В.

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

Практический JS: проблемы innerHTML

Reading time3 min
Views42K
Примечание: ниже перевод статьи Julien Lecomte «The Problem With innerHTML», в которой автор рассматривает проблемы при использовании метода innerHTML в современных браузерах и предлагает ряд советов, как ее можно избежать. Мои комментарии далее курсивом

Свойство innerHTML крайне популярно среди веб-разработчиков в силу своей простоты и удобства, поскольку оно совершено элементарно позволяет заменить HTML-содержание у конкретного тега. Можно также воспользоваться DOM Level 2 API (removeChild, createElement, appendChild), но использование innerHTML гораздо более простой и эффективный способ для модификации DOM-дерева. Однако, есть ряд проблем при использовании innerHTML, которых следует избегать:

  • Неправильная обработка свойства innerHTML может привести к атакам, связанным со script-инъекциями (XSS) в Internet Explorer, когда HTML-строка содержит вызов <script>, помеченного как отложенный: <script defer>...</script>
  • Выставление свойства innerHTML уничтожит все текущие вложенные HTML-элементы со всеми обработчиками событий, что потенциально может вызвать утечки памяти в некоторых браузерах.


Есть и еще несколько более мелких недостатков, которые тоже стоит упомянуть:

  • Нельзя получить ссылку на только что созданные элементы, вам приходится добавлять код для получения ссылки на них вручную (используя DOM API).
  • Вы не можете выставить innerHTML для всех HTML-элементов во всех браузерах (к примеру, Internet Explorer не позволяет выставить innerHTML для строки таблицы (tr)).


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

Разгони свой сайт: gamma-версия

Reading time4 min
Views989
Примерно три недели назад стартовал проект, посвященный методам оптимизации времени загрузки веб-страницы на клиенте.

Почему оптимизация?



На мой взгляд, на текущий момент веб-разработчики очень мало уделяют внимания доступности (accessibility) и удобству пользования (usability) проектов, над которыми работают. Для них сайт — это килобайты кода и пара картинок, которые нужно как-то показать клиенту. О пользователе никто при этом не думает, в лучшем случае, прикрываясь такими выражениями, как: «у меня отсюда и так все быстро грузится» или «каналы сейчас не те, что 10 лет назад».

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

Почему клиентской части?



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


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

WEBoptimizator

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

Туристический WEB 2.0

Reading time3 min
Views693
Уже довольно долгое время наблюдаю за западным туристическим Веб 2.0 и сегодня постараюсь рассказать, что происходит в нише, каковы тенденции и что впечатляет, а что не очень.

Туристические блоги
Во-первых, туристические блог площадки продолжают плодиться как грибы. Ключевые слова “share” и “with friends”. Шарить нужно experience, foto и video. Видимо доживем до времен, когда на каждого туриста будет свой блог стратап с офисом, инвесторскими 3 миллионами и разработкой в Индии. На лицо застой идей. Зацепится особо не за что, поэтому пройдемся по деталям.
Читать дальше →

Часть 2.0 Сделаем это по-быстрому – Habrahabr за пару часов

Reading time5 min
Views1.2K
Лого хабрадвижка
Обе упомянутые в первой части тенденции лишь усугубились: индекс Доу-Джонса и NASDAQ ежедневно сдают свои позиции, а количество хабрастартапов на территории 1/6 части суши растет в геометрической прогрессии. Свидетельством прихода на этот рынок серьезных игроков служит хотя бы это предложение. Сначала я подумал, что это очередная попытка легализации средств уведенных из SG, но по имеющейся на сей час инсайдерской информации заказчик имеет отношение к медиахолдингу компании… нет, не буду называть имя компании, намекну лишь, что председателя совета директоров этого энергетического монстра часто можно встретить на аватарках хабрапользователей.

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

О выборе инсталлятора

Reading time3 min
Views47K
Вопрос выбора инсталлятора, как мне кажется, стоит чуть ниже вопроса выбора языка программирования. Кривой инсталлятор действительно может испортить все впечатление от продукта, поэтому подойти надо со всей ответственностью.

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

CSS: все о сжатии

Reading time1 min
Views1.7K
После статей «Практический CSS/JS: архивируем все!» и «JavaScript: жать или не жать» стало ясно, что проблема уменьшения CSS-файлов в размере действительно актуальна, и общественности хотелось бы аналогичного исследования уже конкретно для такой оптимизации. Которое, собственно, и приведено ниже.

В интернете было найдено 6 различных инструментов для минимизации CSS-кода (однако, с одним из них, перловым модулем, разобраться не удалось, поэтому приведены результаты только для 5), далее ими обрабатывались несколько примеров, которые затем подвергались еще и архивированию. Результаты, опять-таки, представлены в виде графиков, ибо таблицы я нахожу менее информативными.

График сжатия CSS-файлов

читать дальше на webo.in →

И снова о speed performance вашего сайта

Reading time3 min
Views2K
Уф… наконец-то я решился написать свой первый пост.

В этом посте я хочу рассказать вам о некоторых простых, и в тоже время эффективных способах ускорения загрузки вашего сайта.
Все методы основаны на LAMP + nginx + drupal, но я уверен что всё это верно и для остального тоже.
Разговор пойдёт о первой загрузке сайта, то есть когда у клиента нет ещё кеша в браузере.
Читать дальше →

Практический JS: разгоняем все, что движется

Reading time1 min
Views890
Примечание: ниже находится перевод статьи «Speed Up Your Javascript Load Time», в ней автор рассматривает некоторые наиболее эффективные техники и методы действия по уменьшению времени отработки JavaScript'а на клиенте. Большая часть из них общеизвестна, но в статье важно не просто их перечисление, а общий подход для решения задачи оптимизации времени загрузки. Далее мои комментарии курсивом.

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

Пользователи так ненавидят ждать: им подавай все и сразу. Давайте тогда рассмотрим несколько методов, которые помогут вам «причесать» ваш сайт. Здесь находятся все рабочие примеры, которые будут приведены далее.

читать дальше на webo.in →

(X)HTML — структура и семантика кода

Reading time4 min
Views5.8K
Структура правильного HTML-документа базируется на логике, порядке и использовании семантически корректной верстки. Если у вас есть заголовок — используйте для него елементы Heading(h1-h6), если абзац/параграф — paragraph(p). Если у вас есть список — используйте элементы списков (ul/ol), если вы цитируете — используте blockquote или cite. Эти элементы придают смысловое значение разметке, делая ее семантически корректной, в дополнение к правильной структуре.

После составления корректного HTML-макета, используйте CSS для визуального оформления. (Тут уже дело вкуса, некоторые верстают CSS «с лету», а некоторые только после создания HTML-макета)

Стандарт XHTML более строг к синтаксису чем HTML, он не допускает наличия незакрытых тегов, одинарные теги тоже должны быть закрыты (self-closing). Элементы в XHTML прописываются строчными, а не заглавными буквами. Значения атрибутов элементов должны быть указаны в кавычках. Есть и другие отличия, но более подробно я описывать их здесь не буду.
Читать дальше →

KDE портируют на Windows и Mac OS X

Reading time1 min
Views3.1K

Около двух с половиной недель назад вышла в свет финальная версия KDE 4.0, получившая новый пользовательский интерфейс и улучшенную внутреннюю архитектуру. В KDE 4.0 входят браузер Konqueror, текстовый редактор Kate, карта-глобус Marble, оконный менеджер KWin, офисный пакет KOffice, новый файловый менеджер Dolphin и другие различные приложения. о оказывается только самом Линуксе разработчики решили не останавливаться и ожидается портирование KDE 4.0 на Windows и Mac OS X.
Читать дальше →

События на хабре, vote_up_down и многое другое

Reading time1 min
Views715
После событий на хабре потестировал локальный drupal-сайт, потом повторил эксперимент на drupal.ru
А ведь замечательный модуль vote_up_down можно крутить для любого топика в любую сторону с помощью банального добавления нужной урлы в src картинки и это практически самое безобидное что можно делать.
Хотелось бы выслушать мнения по этому поводу.

P.S. А вы говорите: "ноутбук за 100 доларов каждому африканскому ребенку социальная сеть за 300 доларов и 7 дней на drupal".

Оформление цитат на сайтах

Reading time8 min
Views96K
Обычно при вёрстке текстов для веба на оформление цитат не обращают достаточного внимания. Стараясь исправить это досадное недоразумение, мы коснёмся двух вопросов: типографического оформления цитат (в той части, где чаще всего допускаются ошибки при вёрстке) и реализации этого оформления в HTML-коде.

Мы также не будем касаться вопросов проверки смысловой точности цитирования, правильного использования купюр, сокращений и дополнений — всех интересующихся ждёт «Справочник издателя и автора» А. Э. Мильчина и Л. К. Чельцовой.

Надеемся, что эту запись будет удобно использовать как справочник по часто встречающимся вопросам оформления цитат.

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

Ленивым линуксоидам-(к)убунтоводам посвящается

Reading time5 min
Views2.4K
Итак, дамы и господа, представляю вам небольшой обзор программ, нужных для свежеустановленной Kubuntu.
Я очень ленив, поэтому я использую GNU/Linux, а не Windows.
Предупреждаю, что методы установки софта могут быть неэкономны с точки зрения расхода траффика.
Все, предлагаемое вашему вниманию, мной проверено, но я не несу никакой ответственности за проблемы, которые могут возникнуть после вызова сатаны выполнения команд.
И добавлю, что это — возможно — даже не unix-way!
Ну что же —
поехали

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity