Как стать автором
Обновить
12
0
Павел @Pongo

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

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

MySQL Performance real life Tips and Tricks

Время на прочтение9 мин
Количество просмотров37K
Пообещал вчера написать статью о реальных случаях оптимизации БД MySQL.
Пришлось сегодня вставать утром пораньше чтобы воплотить обещанное в жизнь.
Централизованное управление мыслями поддерживать еще сложно, поэтому не судите строго за казусы и ляпсусы в моей статье.

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

В данной статье опишу несколько приемов, которые были использованы для приложения с 4млн+ пользователей и которое имея порядка 100млн+ хитов в сутки, а в конце опишу задачу, которая решалась недавно и может быть многоуважаемое сообщество предложит мне решения этой задачи более эффективное нежели то, к которому пришел я.

Читать дальше →
Всего голосов 143: ↑139 и ↓4+135
Комментарии93

Теория кэша

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

Введение


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

В данной статье я попытаюсь «разложить по полочкам» проблему кэширования, ориентированную прежде всего на сайты и системы управления контентом. Сразу предупреждаю, это мои личные соображения, которые не претендуют на истину в последней инстанции. Вся терминология так же моя, вы можете использовать её, если считаете нужным на своё усмотрение. Конструктивная критика приветствуется.
Читать дальше →
Всего голосов 129: ↑111 и ↓18+93
Комментарии65

Архитектура REST

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

Введение


В русскоязычной части Интернета присутствует большое количество статей, посвященных веб-службам на основе SOAP и XML-RPC, но почему-то почти ничего нет про вполне заслуживающую внимания (но менее распространенную) архитектуру RESТ.

В данной статье описываются основы этой архитектуры, возможности и примеры её использования.

Читать дальше →
Всего голосов 85: ↑78 и ↓7+71
Комментарии75

Замыкания в JavaScript

Время на прочтение5 мин
Количество просмотров272K
Если вы используете JavaScript, но при этом так до конца и не разобрались, что же это за чудная штука такая — замыкания, и зачем она нужна — эта статья для вас.

Читать дальше →
Всего голосов 141: ↑130 и ↓11+119
Комментарии86

Firefox плагин Ubiquity

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

Новый экспериментальный опенсорс плагин для Firefox от Азы Раскина предназначен для того, чтобы соединить человеческий язык и сеть.
Даже сложно обьяснить. Посмотрите лучше видео:

А здесь можете скачать ubiquity-0.1.xpi
Мануал по использованию

От себя хочу добавить. Так как я использую quicksilver на маке, этот плагин мне очень понравился. Горячей клавишей вызывается меню и просто набираешь текст, команду или поисковый запрос, и он сразу ищет в Гугле. На втором месте ищет в Википедии. Советую попробовать.
Всего голосов 88: ↑80 и ↓8+72
Комментарии78

Project Euler — решайте алгоритмические задачи и смотрите как это делали другие 30к участников на огромном количестве языков.

Время на прочтение1 мин
Количество просмотров35K
Пару-тройку месяцев назад наткнулся на замечательный ресурс Project Euler.

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

Для участия в проекте надо пройти быструю регистрацию, после чего можно смело штурмовать алгоритмы.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии48

Phusion Passenger 2.0 RC 1 and Ruby Enterprise Edition

Время на прочтение1 мин
Количество просмотров1.1K
Вот так вот тихо и незаметно зарелизились два(один точно =) замечательных продукта для рельсо-разработчиков.

Немного справки:
Phusion Passenger — модуль под апач, позволяющий пускать рельсовые приложения. Забудьте о Монгрелах =) Теперь выкатить рельсовое приложение не сложнее, чем пхпшное.

Ruby Enterprise Edition — редакция интерпретатора руби, которая понизит потребление памяти рельсовыми приложениями и увеличит скорость. Эту штуку я еще не успел сам попробовать, но постараюсь в ближайшее время.
Читаем и скачиваем
Всего голосов 5: ↑4 и ↓1+3
Комментарии11

Книжки для стартаперов

Время на прочтение2 мин
Количество просмотров874
Очень часто задают вопрос о том, где можно почитать по стартапам.

Могу порекомендовать три книжки:

High Tech Start Up, Revised and Updated: The Complete Handbook For Creating Successful New High Tech Companies, John L. Nesheim

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

Founders at Work: Stories of Startups' Early Days, Jessica Livingston

Книга содержит интервью с основателями известных стартапов, хорошо раскрывает проблемы, которые стояли перед ними, и как они достигли успеха, преодолев их. Кстати, первое интервью с создателем PayPal – Максом
Читать дальше →
Всего голосов 31: ↑26 и ↓5+21
Комментарии47

Делаем свой webfile

Время на прочтение4 мин
Количество просмотров13K
Отчего-то всегда хотел сделать свой сервис для загрузки файлов. Всевозможные slil/zalil не устраивали своей скоростью. ifolder — обилием рекламы. Пользовался не очень популярным (от этого он ни чуть хуже не становился) сервисом up.spbland.ru. Но это как-то не правильно. И тут я решил написать свой сервис. Не буду вдаваться в подробности и рутину, только концепция.
Читать дальше →
Всего голосов 129: ↑127 и ↓2+125
Комментарии142

Yahoo — мастера оптимизации?

Время на прочтение1 мин
Количество просмотров675
Лазил по сайту Google, хотел узнать что нить новенькое, кроме shortcuts experiment ничего не нашел, но ткнув на ссылку News, я увидел новость о новом проекте
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии7

Так ли важна форма?

Время на прочтение2 мин
Количество просмотров626
Прошло определенное время со старта проекта venividi.ru и я хотел бы поделиться появившимся опытом и мыслями. Нижеизложенное относится к тематическим социальным сетям.
Читать дальше →
Всего голосов 60: ↑56 и ↓4+52
Комментарии96

Анонс проекта LiveIdea.ru

Время на прочтение2 мин
Количество просмотров601
Всем добрый день.
Давно готовились к этому моменту и вот, наконец-то, он настал.
Мы анонсируем альфа версию проекта LiveIdea.ru.
LiveIdea.ru – это портал для людей, которым интересны интернет стартапы.
Мы тщательно продумывали концепцию проекта, стараясь понять, что нужно людям, которые создают или собираются создавать стартапы.

Во первых, это – интересная и «вкусная» информация.
• Мы публикуем переводы статей западных специалистов бизнеса и «гуру» стартапинга (Дейв Орегано, Сет Голдин, Джил Конрат и др.).
• Мы запустили на нашем портале цикл интервью. Опытные и успешные стартапщики (Александр Бадерко, Виктор Захарченко, Феликс Мучник), инвесторы и бизнес ангелы (Игорь Устинов, Олег Полянский) делятся своим опытом, рассказывают о типичных ошибках новичков, дают свои ответы на проблемные вопросы.

Информативной составляющей нам показалось недостаточно. Информацию, которую читатель почерпнул из статей, хочется прокомментировать, обсудить, согласиться или поспорить с автором. Так родилась идея LiveIdea.ru как площадки для общения стартаперов, инвесторов и просто всех интересующихся.

• Для того, чтобы сделать общение максимально удобным, мы сделали подробные профайлы пользователей, дали возможности разместить информацию о своем проекте и о своей команде, вести свой блог, обсуждать интересные вопросы и т.д.
• Для того, чтобы облегчить поиск интересных знакомств, мы ввели еще одну возможность. Пользователь может указать в профайле кто он: инвестор, стартапер или и инвестор, и стартапер.
• Понимая, что самое важное – это наши пользователи, мы начали рассказывать о нашем проекте людям. Многим сайт понравился. Приятно порадовало и то, что сотрудничеством с LiveIdea.ru заинтересовались инвесторы.

LiveIdea.ru также носит образовательную функцию. Проект будет выступать как партнер в организации различных мероприятий, посвященных стартапам. Это могут быть семинары, конференции, встречи для обмена опытом, общения и новых знакомств. Сейчас мы ищем партнеров для этого. Мы открыты для любых предложений о подобных проектах.
Говорить об окончательной версии проекта пока еще рано. Сейчас мы работаем над дизайном, новыми инструментами и сервисами.
Мы специально анонсируем альфа версию для того, чтобы узнать мнение пользователей о проекте. Это поможет нам внести необходимые изменения до релиза.
Окончательная версия и официальная презентация проекта намечены на конец октября.
Всего голосов 23: ↑19 и ↓4+15
Комментарии59

Когда деревья были большими или о том, с чего все начинали

Время на прочтение4 мин
Количество просмотров2K
Мне часто задают вопрос о том, с чего начать молодому frontend-разработчику? Дабы облегчить свою участь и не перечислять каждый раз множество ресурсов сети, печатных и зданий и общих тезисов, я и написал этот материал.

В первую очередь следует знать, что кроссбраузерная верстка сродни магии. Объясняется это все банальной вещью, которую я озвучу так: ”Все мы ненавидим Internet Explorer!” Таким образом, 90% всей магии сводится к тому, чтобы заставить правильно сверстанный макет корректно отображаться в браузере Internet Explorer всех актуальных версий.

Чтобы научиться сему мастерству потребуется практика, много практики. И сев сейчас серьезно изучать аспекты верстки, вы и через полгода будете удивляться, сколько вы до сих пор не знаете.

Крепкая теоретическая база поможет вам избежать множества неприятностей в практическом изучении верстки гипертекстовых документов. Очень важно получать знания порциями в правильном порядке.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии109

55 причин использовать XHTML-CSS при создании сайтов

Время на прочтение4 мин
Количество просмотров3K
Перевод статьи «55 Reasons to Design in XHTML-CSS».
В случайном порядке здесь представлены мои 55 причин создавать только бестабличные сайты, используя валидный XHTML для разметки, CSS для форматирования и Flash только в качестве уместной вставки. Под бестабличностью я понимаю избегание форматирования контента таблицами (или «супом» из заменяющих таблицы div-ов) и нацеленность на как можно более семантичную разметку. Некоторыe из перечисленных причин объясняют, «почему не использовать простой HTML», некоторые — «почему не сделать все на Flash», некоторые относятся как к первому, так и ко второму.
Я знаю, что эта тема обсуждалась множество раз, но все равно выскажусь :)

Итак, приступим
Всего голосов 32: ↑24 и ↓8+16
Комментарии53

deliGoo за неделю: «тормозящий» Lifehacker, злобные админы del.icio.us и Web product of the week

Время на прочтение3 мин
Количество просмотров658
Четыре дня назад, 12 сентября, я написал в Стартапы топик deliGoo — в помощь пользователям del.icio.us. Это был первый материал о нашем новом проекте – deliGoo, размещенный в открытых источниках. Я разместил его именно на Хабре не случайно, это была «разведка боем» – мы хотели еще раз протестировать deliGoo перед окончательным запуском. Разведка удалась, мы получили несколько полезных комментариев и убедились, что deliGoo работает не только на наших машинах :)

13 сентября мы начали активное продвижение через СМИ. В тот же день оно начало приносить свои плоды. В Рунете нас первой напечатала Вебпланета, затем были публикации в Интернетных штучках, SEOnews и Telnews.

За рубежом новость о старте deliGoo распространялась как лесной пожар
Читать дальше →
Всего голосов 82: ↑78 и ↓4+74
Комментарии67

XQuery, libferris и виртуальные файловые системы

Время на прочтение1 мин
Количество просмотров1.1K
С помощью libferris можно всё что угодно превратить в виртуальную файловую систему. А так как ФС является деревом, то получается, что совместное использование XQuery и libferris даёт универсальную систему запросов к данным. Как именно, показывает статья «XQuery, libferris и виртуальные файловые системы».

Кажется, это первая статья в .ru, рассказывающая про libferris. Если понравилось, поднимайте карму автору перевода, kate_kulikova.
Всего голосов 17: ↑15 и ↓2+13
Комментарии3

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

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

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

«Ашманов и партнёры» запустили анализатор поисковиков

Время на прочтение1 мин
Количество просмотров1.4K
Андрей Иванов из компании «Ашманов и партнёры» объявил о запуске нового аналитического проекта под названием Analyze This. Система автоматически анализирует самые важные параметры российских поисковых систем: частоту и силу апдейтов, качество навигационного поиска, качество тематического поиска, уровень SEO-прессинга, количество спама в поисковой выдаче. Доступен для просмотра весь архив измерений, поддерживаются комментарии.

Анализу подвергаются девять крупнейших поисковых систем: Yandex, Google, Rambler, Gogo, Live.com, Aport, Webalta, Liveinternet, Yahoo (по непонятным причинам отсутствуют Nigma.ru, Quintura.ru и прочие).

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

Всего голосов 29: ↑27 и ↓2+25
Комментарии26

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

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

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

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

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

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

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

Время на прочтение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

Информация

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