Как стать автором
Обновить
2
0
userID = '11855' @bvasya

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

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

Геоарт. Самые красивые уголки планеты

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

(карта Гугла)

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

Призываю хабрасообщество поползать по карте ;)
Всего голосов 36: ↑34 и ↓2+32
Комментарии36

Визуализация данных на CSS

Время на прочтение3 мин
Количество просмотров2.7K
Визуализация данных графиков, диаграмм в основном решается с помощью флэш и некоторых языков программирования. Являются ли эти способы единственными? Давайте попробуем реализовать эту задачу с помощью CSS.

Предисловие
В этом примере я не буду использовать ни JavaScript, ни любые другие языки. Все, что мне нужно это хорошая разметка и код CSS.
Таким образом, наша цель состоит в том, чтобы представить данные таблицы в виде диаграммы. Можно отметить, что данные диаграммы – это объект из 2х элементов, непосредственно зависимых друг от друга. Поэтому, лучшим решением в отношении структуры и семантики будет использование списков определений.
Почему? Ну, для начала, это список элементов. Несмотря на то, что список является линейным, мы можем обозначить заголовки определений (элементы dt) как пункты по оси X и описание определений (элементы dd) как значения по оси Y.
Читать дальше →
Всего голосов 65: ↑65 и ↓0+65
Комментарии20

Чёрточки: только ли тире, минус и дефис?

Время на прочтение4 мин
Количество просмотров179K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Всего голосов 311: ↑288 и ↓23+265
Комментарии208

Практический JS: избавляемся от утечек памяти в IE

Время на прочтение2 мин
Количество просмотров1.2K
Примечание: ниже находится перевод статьи Understanding and Solving Internet Explorer Leak Patterns", в которой автор рассматривает некоторые характерные случаи утечек памяти в IE и предлагает методы для их избежания и устранения. Рассмотренные проблемы не являются чем-то новым или революционным, однако, знать об их существовании должен любой уважающий себя программист клиентских интерфейсов. Мои комментарии далее курсивом.

Опубликована: июнь 2005

Развитие веб-разработок



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

Современные веб-приложения должны разрабатываться с учетом более высоких стандартов. Страница может выполняться в течение часов без дополнительных переходов по сайту, при этом она будет сама динамически запрашивать новую информацию через веб-сервисы. Языковой движок испытывают на прочность сложными схемами отработки событий, объектно-ориентированным JScript и замыканиями (closures), производя на свет все более мощными и продвинутые приложения. При все при этом, учитывая некоторые другие особенности, знание характерных шаблонов утечек памяти становится все более необходимым, даже если они были раньше спрятаны за механизмом навигации по сайту.

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

читать дальше на webo.in →
Всего голосов 34: ↑32 и ↓2+30
Комментарии13

Изучаем наличие layout

Время на прочтение1 мин
Количество просмотров6.2K
Примечание: ниже представлен официальный перевод статьи «On having Layout» на русский язык. Статья не является окончательной. Этот перевод отражает 9 версию от 23.10.2007.

UPD текст статьи полностью убран в связи с его неконтролируемыми изменениями с момента публикации. Перепечатка доступна здесь
Всего голосов 45: ↑44 и ↓1+43
Комментарии49

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

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

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

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии107

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

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

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

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

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

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

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

читать дальше на webo.in →
Всего голосов 51: ↑49 и ↓2+47
Комментарии27

Про резиновую верстку

Время на прочтение1 мин
Количество просмотров29K
Навеяно этим.

Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 1500 и 980 пикселей соответственно.

Как сделать? min-width и min-height.

#site {
  margin: 0 auto; /*это чтоб центрировать контент при превышении max-width*/
  min-width: 980px;
  max-width: 1500px;
}


Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.



А в ie.js помещаем

window.attachEvent('onload', mkwidth);
window.attachEvent('onresize', mkwidth);

var minwidth = document.getElementById("site").currentStyle['min-width'].replace('px', '');
var maxwidth = document.getElementById("site").currentStyle['max-width'].replace('px', '');
function mkwidth(){
    document.getElementById("site").style.width = document.documentElement.clientWidth < minwidth ? minwidth+"px" : (document.documentElement.clientWidth > maxwidth ? maxwidth+"px" : "100%");
};


В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.

Пользуйтесь, короче, на здоровье!
Всего голосов 130: ↑123 и ↓7+116
Комментарии139

Начинаем. Все правильно?

Время на прочтение1 мин
Количество просмотров686
Добрый день. Мы готовим первый проект к запуску. Заканчиваем писать код, прикручиваем дизайн, провели исследование ресурсов-конкурентов, выбрали позиционирование в тематической нише и подошли к важному рубежу — меньше, чем через месяц движок будет готов.
Но по ночам не спится, все ли мы правильно делаем? Меня как руководителя проекта, волнует несколько вопросов.

1. Не слишком ли наш движок медленный?
На локальной машине p4 2.8GHz/1 Gb DDR-400 dual/ATA-100 с последними apache, php и mysql с практически дефолтными настройками время генерации страницы от 0.05 до 0.5 секунды при отсутствующей посторонней нагрузке. При этом время сборки кода без выполнения команд — 0.03 секунды. Какой хостинг нам понадобится для обслуживания нескольких тысяч посетителей в сутки?

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

3. Какие непредвиденные денежные затраты повлечет запуск проекта?
На данный момент у нас решен вопрос с оплатой труда, но на сам проект остается не так уж и много — всего меньше тысячи долларов. Нужно ли привлекать дополнительные деньги? Чем грозит попытка стартовать, опираясь на такую сумму?

4. О чем мы не подумали, и какие ходы необходимо предпринять еще?

Спасибо, если расскажете про свой опыт, дадите совет, либо ссылку на раскрытую тему.
Всего голосов 48: ↑38 и ↓10+28
Комментарии154

jQuery для JavaScript-программистов

Время на прочтение12 мин
Количество просмотров70K
Примечание: ниже расположен перевод статьи «jQuery for JavaScript programmers», в которой автор высказывает свое мнение об этой библиотеке, ориентируясь, в первую очередь, на продвинутых программистов, и приводит несколько десятков примеров ее использования.

Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.

Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.

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

Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии121

Практический AJAX: что делать с закладками

Время на прочтение4 мин
Количество просмотров2.9K
Примечание: ниже перевод статьи «Ajax Best Practices: Don't Break Bookmarks», посвященной решениям, позволяющим пользователям корректно добавлять в закладки страницы сайта, сделанного при помощи AJAX-методов. Я постарался дополнить ее по мере сил, опираясь на обсуждение предыдущей статьи из серии.

Статья является второй из серии (здесь первая), посвященной устранению критики, которую сейчас так много адресуют использованию AJAX, и обзорам методов, которые помогут сделать ваш сайт чуточку лучше.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии16

Практический AJAX: что делать с кнопкой «назад» в браузерах

Время на прочтение7 мин
Количество просмотров17K
Примечание: статья посвящена обзору проблемы неработающей кнопки «назад» в браузере при использовании AJAX-методов для передачи содержания страниц от сервера к клиенту. В статье рассматриваются основные принципы работы AJAX и возможные пути решения заявленной проблемы. Курсивом даны мои комментарии.

Эта статья является первой из ряда материалов (вторая статья посвящена работе с закладками), направленных на устранение части критики, которую адресуют сейчас AJAX, и предоставляющих обзор полезных методов, которые помогут сделать ваши приложения и веб-страницы, использующие технику AJAX, немного лучше.
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии27

Основы безопасности PHP

Время на прочтение5 мин
Количество просмотров28K
Данный материал для начинающих программистов.

Содержание



Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Комментарии185

Кропотливая оптимизация PHP-приложений (рассматриваю PHP5, но большинство справедливо и для 4-й ветки)

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

Когда во сне снится «ой а если сервера не хватит...»


Для начала, Доброй Ночи. Пишу что-то полезное вроде впервые (если не считать разного рода полу-тестов в моём блоге). Человек я допытливый до жути, неожиданно в голову пришло, что могу помочь сэкономить кому-то много времени ;).


танцуем с бубном
Всего голосов 99: ↑95 и ↓4+91
Комментарии147

Пример использования микроформатов на «живом» проекте

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

Микроформат. Что же это такое? В принципе, на этот вопрос было дано уже много ответов, причем звучали как абсолютно противоположные, так и дополняющие друг друга. Например, как правильно ответить на вопрос: для кого больше предназначены микроформаты, для людей или для машин? И ответ на этот вопрос будет ключом к пониманию сущности микроформатов.

Мне кажется, что ответ на поставленный выше вопрос напрямую зависит от текущей ситуации в области web-технологий. Уверен, в будущем чтение и анализ микроформатов будет полностью прерогативой машин. Пользователю же будет полезен лишь конечный результат, продукт их деятельности. К сожалению, сейчас основная масса рядовых пользователей пока даже не знает о существовании микроформатов, не говоря о получении от них пользы.

Детали смотрите далее...
Всего голосов 30: ↑27 и ↓3+24
Комментарии27

Уменьшение времени загрузки js и css файлов

Время на прочтение2 мин
Количество просмотров8.9K
Каждый разработчик javascript приложений рано или поздно сталкивается с проблемой большого (относительно конечно) времени загрузки подключаемых js и css файлов. Эта проблема, как известно, происходит из двух причин: большого количества подключаемых файлов (браузер имеет ограничение на количество одновременно скачиваемых файлов, поэтому пока не скачается один, браузер не приступит к скачиванию другого) и большого размера используемых библиотек (prototype, extjs и т.д.)
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии58

Рекламный стартап OpenAds получил $5 млн

Время на прочтение2 мин
Количество просмотров2.1K
Рекламная система OpenAds, которая объединяет все сайты, установившие одноимённый бесплатный PHP-скрипт, привлекла внимание серьёзных венчурных инвесторов. Пять миллионов долларов — вот минимально необходимый запас, чтобы вступить в серьёзную схватку с Google Adsense.

Стартап использует ту же самую модель, которая многократно доказала свою эффективность: раздай миллионы копий бесплатного ПО и делай бизнес на обслуживании огромной клиентской базы. Именно так поступили в своё время Red Hat, JBoss и MySQL.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии38
12 ...
9

Информация

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