Pull to refresh
11
0

User

Send message

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

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

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

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

Pixilang

Reading time2 min
Views13K

Забавная мушка, не правда ли? С другой стороны что тут забавного? Обычная пиксельная мушка. Но не было бы здесь этого поста если бы всё было так просто. Этот представитель отряда двукрылых создан с помощью блокнота и языка программирования созданного специально для целей пиксельной анимации и её же озвучивания. И так встречайте:
Pixilang

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

Reading time1 min
Views29K
Навеяно этим.

Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 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%");
};


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

Пользуйтесь, короче, на здоровье!

Конструктор для создания контент-зависимых приложений в стиле Веб 2.0

Reading time5 min
Views3K
SAPID CMF
Речь пойдет о недавно открытом Open Source проекте SAPID CMF. Само по себе название SAPID кому-то может показаться чем-то смутно знакомым. Да, жила-была такая простенькая CMS SAPID, которая позволяла администрировать сайты inline, требовала лишь 1МБ дискового пространства и умудрялась обходиться без СУБД. Однако мало кто помнит, что создавалась эта система с целью продемонстрировать возможности парадигмы XML Sapiens. CMS SAPID благополучно и помпезно встретила свою первую годовщину, а затем 2 года никаких существенных ее новых релизов, как это ни прискорбно, не наблюдалось. Впрочем, последний год на сайте сообщества SAPID время от времени проскакивала информация о работах над новой ветвью проекта SAPID CMF. Вуаля! Вот она — ветка, доступна для загрузки
Читать дальше →

Векторизация растровых логотипов

Reading time1 min
Views45K
На самом деле, не только логотипов, но и других рисунков/фото и прочих растровых изображений. Возможно у многих возникала такая потребность, увеличить логотип изображения, либо вручную было необходимо обрисовывать в фотошопе векторными линиями, что бы добиться более лучшего результата, чем исходное (как правило маленькое) изображение.

В любом случае, для всех, кому было необходимо векторизовать изображение (отсканированное, сфотографированное).

VectorMagic — онлайн векторайзер. По качеству результата, превосходящий оффлайновые standalone приложения такие как Adobe Streamline и Corel.

Этот сайт был разработан двумя энтузиастами из Лаборатории Искусственного Интеллекта Стэндфордского Университета (James Diebel & Jacob Norda).

Они разработали воистину хороший стартап(?), который имеет отличное качество векторизации. В общем, судите сами.

UPD: так как такая тема оказывается уже была, я хотел бы узнать, существую ли программы, по качеству лучше чем Adobe Streamline и Corel, для оффлайновой векторизации изображений? А то я таких не находил.

Флажки

Reading time1 min
Views3.6K
По-моему иконки с флагами двухсот сорока семи государств мега-полезный комплект. И, даже, если вы будете регулярно использовать только одну-две, полезно будет знать где их взять, на всякий случай.
иконки-флаги
Все иконки проименованы в соответствии с международным стандартом ISO:3166-1, хранятся в двух форматах: png и gif, и могут использоваться в любых целях.
Спасибо Марку Джеймсу (Mark James, famfamfam.com).
Читать дальше →

Bigthink.com — стартап для интеллектуалов и мыслителей, то чем мог стать top4top

Reading time2 min
Views1.1K
Недавно открылся новый американский стартап Bigthink.com, которой позиционируется как сайт для интеллектуалов и мыслителей. Основатель Питер Хопкинс смог найти инвесторов для своей идеи «сделать Youtube для интелектуаллов». Хотя и многие венчурные инвесторы ему говорили: «Все говорят, что американцы тупые». На сайте размещены видеоинтервью с известными интеллектулами с разных областей политики, экономики, бизнеса. Каждый пользователь может включиться в дебаты и добавить свое мнение по любому вопросу. У основателей есть планы по добавлению социальных возможностей на манер Facebook в сайт в будущем.Оригинал новости на techcrunch и статья в Nytimes
Мои впечатления о сайте.
Читать дальше →

Как грамотно отправлять почту из скриптов (в частности — на PHP)

Reading time5 min
Views40K
Первая часть текста взята из инструкции хостинг-провайдера Netangels. Вторая — авторская.

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

Для того, чтобы быть уверенным, что ваше сообщение отправляется действительно верно, необходимо иметь по меньшей мере базовые представления о формате почтового сообщения. Формат почтового сообщения описан в нескольких стандартизирующих документах, основными из которых являются RFC 822 (описывает формат передачи простого текста на английском языке) и RFC 2045 и далее (описывает расширения этого формата для передачи произвольных данных).
Читать дальше →

Памятка дизайнеру сайтов

Reading time6 min
Views46K
Эта статья писалась мною как памятка для внутреннего пользования дизайнерам нашего бюро.К сожелению огромная армия даже опытных, модных и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не «супер-скриншот» для портфолио, годный лишь в роли эффектного плаката.Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе разработки дизайна сайта.
Читать дальше →

JavaScript: создание DOM фрагментов

Reading time2 min
Views20K
Если приходилось когда-нибудь писать JavaScript и приходилось в JavaScript’е писать что-то вроде:
var p = document.createElement( «p» );
p.appendChild( document.createTextNode( «Настоящий рыба фиш.» ) );
var div = document.createElement( «div» );
div.setAttribute( 'id', 'new' );
div.appendChild( p );

то это может быть вам полезно.
узнай, как сделать себе жизнь проще

Немного об ответственности и обязанностях

Reading time5 min
Views3.9K
Когда я разговариваю с потенциальным менеджером проекта, я всегда задаю вопрос по процессу прохождения проекта. Все хорошие менеджеры рисуют его примерно одинаково, примерно так как написано в хороших умных книжках. Вот примерно как этот процесс должен проходить:
Проект инициирован и идет полным ходом.
Некая проектная документация для него уже составлена и подходит время для отрисовки дизайна. Менеджер ставит дизайнеру задачу, а через неделю забирает 10 прекрасно нарисованных макетов страниц. Дизайнер старался как мог и потому каждый пиксель в данном дизайне продуман и поставлен на нужное место.
Дизайн передается к верстальщику, который погружаясь в код старается заверстать великолепный дизайн дизайнера с точностью до пикселя. На выходе он по документации выдает 20 заверстанных страниц.
После чего дизайн поступает программистам. Которые собирают проект и теперь это уже не просто статичный дизайн — это работающий интернет-сайт.

Казалось бы просто, но.
Когда через несколько недель после начала сборки проекта до проекта добираются тестировщики, они хватаются за голову. В верстке обнаруживается десятки несоответствий дизайну. Баги сыплются на головы программистов и верстальщика. Следя за сборкой, дизайнер погружается в грусть все глубже и глубже, его состояние на границе отчаяния, а дизайн в забвении (как можно положить “это” в портфолио?!). Верстальщик не прекращает попыток фиксить баги, но они появляются быстрее, чем он успевает их читать.
Читать дальше →

Как постоянно совершенствовать свои навыки

Reading time3 min
Views8K
Возможно, вы думаете, что вы гений своего дела, и, возможно, вы правы.
Но наверняка вы можете достичь большего, никто не совершенен и даже вам есть к чему стремиться. Для вашего развития как профессионала своего дела, важно знать свои сильные стороны и постоянно развивать их, при этом, не забывая получать новые навыки.
Читать дальше →

Как удачно расчитать цену и время проектов во фрилансе

Reading time2 min
Views8.4K
Одна из самых больших проблем начинающих фрилансеров — оценка стоимости задания.

На самом деле — оценка стоимости проектов — очень не простой момент и очень важно научится правильно оценивать стоимость проекта, что предлагается.

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

Так как же правильно оценить проект?

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

Маленькие хитрости работы со слоями в Photoshop

Reading time5 min
Views130K
Есть множество секретов при работе с Photoshop, зная которые можно заметно повысить свою производительность. При создании дизайна сайта гармоничное размещение объектов на странице, правильные отступы и наличие пустого пространства играют важную роль для восприятия оформления, а достигается это перемещением элементов дизайна. При этом на переключение между слоями и операции по их перемещению уходит порой до 80% времени, и лишь только оставшееся часть идет на рисование и ввод информации. Поэтому в данном мини-ликбезе, я хочу коснуться только хитростей работы с вкладкой Layers как наиболее востребованной.
Я так и думал, господа, пройдемте

Firefox и Safari — Разница в отображении изображений

Reading time1 min
Views2.6K
Пользователь Flickr darknesis столкнулся с интересной проблемой: он взял изображение в формате RAW и экспортировал его в JPG, средствами iPhoto. И получил следующий картинку на разных браузерах под OS X (слева FireFox, справа Safari)
FireFox и Safari
Если вы загружаете фото с приложенным цветовым профилем, Safari его обработает, а другие браузеры проигнорируют этот профиль. Если вы сохраняете фото через опцию “Сохранить для Web” в Photoshop, то Photoshop уберет цветовой профиль и фото будет одинаково отображаться во всех браузерах.
Вероятнее всего, что у изображения профиль adobeRGB с более широкой цветовой гаммой.

via Safari

В нем есть душа

Reading time1 min
Views716
Фрагмент из книги Тома Питерса «Дизайн».
Мне понравилось, вот решил сюда запостить...
Эй, на моей стороне Стив Джобс. «В речи большинства людей «дизайн» означает облицовку, — говорит Джобс, гений, стоящий за Apple, Next, Pixar… и снова Apple. — Но это совершенно не так. Дизайн — это основа и душа любого человеческого творения».

Очень немногие «догоняют» это. Большинство людей считает дизайн поверхностной, «приукрашивающей» вещью, финальной косметической обработкой. Но в стране Apple… и в стране Sony… и в стране Nokia… дизайн — антитезис этому мнению.

Дизайн связан с «душой».

С дизайна все начинается.

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

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

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

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

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

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

Спасибо, если расскажете про свой опыт, дадите совет, либо ссылку на раскрытую тему.

Иконки, смайлики и т.п. зло: методы борьбы

Reading time2 min
Views3K

Преамбула


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

Практический CSS/JS: уменьшаем время загрузки страницы

Reading time1 min
Views4K
Примечание: ниже находится перевод двух близких статей («Delay loading your print CSS» и «JS includes — the saga continues…») по оптимизации загрузки страницы при наличии нескольких файлов стилей или скриптов.

У вас есть два вызова CSS-файлов на странице, например:

<link type="text/css" rel="stylesheet" href="screen.css"
      media="screen" />
<link type="text/css" rel="stylesheet" href="print.css"
      media="print" />


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

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

Как JavaScript тормозит Веб (и что с этим делать)?

Reading time1 min
Views3.2K
Примечание: ниже перевод статьи «How JavaScript is Slowing Down the Web (And What To Do About It)», посвященной, в основном, работе с виджетами: характерные проблемы и методы их решения.

Одна строка JavаScript является основой большинства текущих технологий, которые используют авторы блогов. Виджеты, средства (фото-/видео-)обмена, отслеживание посетителей, рекламные объявления. Во многих случаях единственная строка JavaScript — это все, что нужно автору, чтобы добавить в своей блог что-то новенькое. Проблемы начинаются тогда, когда много-много этих самых строчек собирается вместе...

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

Information

Rating
Does not participate
Registered
Activity