Пару дней назад наткнулся на статью про 38 способов скругления блоков. Очень понравилось. Однако там я не встретил способа, которым пользуюсь уже около года. Он не требует лишних тэгов и требует загрузки только одной картинки (спрайт). Работает во всех современных баузерах и IE6+
Александр @cyberface
User
+63
Памятка дизайнеру сайтов
6 min
46KЭта статья писалась мною как памятка для внутреннего пользования дизайнерам нашего бюро.К сожелению огромная армия даже опытных, модных и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не «супер-скриншот» для портфолио, годный лишь в роли эффектного плаката.Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе разработки дизайна сайта.
+80
Про резиновую верстку
1 min
29KНавеяно этим.
Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 1500 и 980 пикселей соответственно.
Как сделать? min-width и min-height.
Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.
А в ie.js помещаем
В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.
Пользуйтесь, короче, на здоровье!
Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 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%");
};
В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.
Пользуйтесь, короче, на здоровье!
+116
Устранение мигания фоновых картинок в IE6
1 min
1.4KЧасто, на этапе тестирования сайта в разных браузерах, приходилось сталкиваться с неприятным эффектом «мигания» фоновых изображений в IE6, которое проявляется при наведении курсора на ссылку, являющуюся блочным элементом. Мигание происходит из-за того, что браузер производит перезагрузку всех фоновых картинок с сервера.
Для устранения мигания нужно подключить к веб-странице небольшой код на JavaScript:
Для устранения мигания нужно подключить к веб-странице небольшой код на JavaScript:
var m = document.uniqueID
&& document.compatMode
&& !window.XMLHttpRequest
&& document.execCommand;
try{
if(!!m)
{
m("BackgroundImageCache", false, true)
}
}
catch(oh){};
+31
Пассивная защита от дурака
4 min
3.8KВ связи с тем, что моя довольно простая, но удобная идея с защитой от удаления ненароком собрала множество положительных отзывов, я решил серьезно обдумать проблему «защиты от дурака». В принципе, тема довольно интересная, и не избита множеством блоггеров, поэтому должна быть полезной большинству моих читателей.

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

Что я понимаю под защитой от дурака? Это некоторые детали интерфейса, которые препятствуют случайному удалению информации, которое, естественно, приведет к потере данных, и нервных клеток пользователя.
Из предложения выше следует, что каждый из нас хоть раз оказывался в ситуации такого «дурака», случайно нажимал кнопки «Очистить», которые благодарные юзабилисты поместили рядом с кнопкой «Отправить», информация естественно после этого терялась, и вводить её заново было лень. Я уверен, были такие случаи в жизни каждого человека. Итак, приступим.
+31
18 сайтов, которые хотят увидеть ваш дизайн
1 min
14K
Вы сделали (ре-)дизайн сайта и хотите похвастаться своим достижением? Не надо спамить социалки — редкий юзер оценит Ваши труды. Для этих целей есть множество подходящих сайтов, и о них далее...
+19
Мегаплан: система управления бизнесом с веб-интерфейсом
3 min
2.8K
Мы обнаружили это, столкнувшись, как и многие, с проблемой быстрого роста бизнеса. Наша компания росла — рост бизнеса привел к увеличению объемов и масштабов задач, а рост штата сделал управление неочевидным (при этом мы еще далеки от того, чтобы стать корпорацией с тысячами сотрудников). Не найдя адекватного программного решения под свои нужды, мы собрали джедайскую команду разработчиков и сделали Мегаплан.
+19
Мир во всем мире…
2 min
564Недавно произошло важное на мой взгляд событие: я удивился. Удивился тому что многим людям, читающим хабрахабр, интересно читать про дорожное движение, про спид, смотреть рекламные ролики. Хотя я всегда думал, что хабрахабр это некое сообщество людей связанных общим увлечением — IT. И сайт не должен превращаться в подобие какого-нибудь развлекательного ресурса «обо-всём-на-свете». Но, было проведено вот такое голосование, после чего я понял, что мои ожидания не совпадают с реальностью. Теперь у меня есть несколько инновационных предложений к людям которые «делают» хабрахабр:
Благодаря этим двум нововведениям все будут довольны — каждый получит лишь то, что ему нужно. И даже Futurico будет в выигрыше — исходя из предпочтений пользователей в выборе новостных топиков можно показывать более клиент-ориентированную рекламу…
Не ругайте меня, если вам не нравиться то, как я пишу. Чукча не писатель, чукча — читатель. Оценивайте пожалуйста идею.
1. Добавить в личный профиль графу «Враги». Чтобы каждый мог занести туда любого пользователя. Принцип работы: записываешь «врага» — и больше никогда не видишь и не читаешь его топики и комментарии (тут, да, нужна персонализация хабрахабра, фильтрация контента). Почему именно «враги»? Потому что это противоположность графе «друзья». Что это даст? Всем будет хорошо: люди не будут минусовать своих идейных врагов, потому что не будут видеть их комментарии и топики. Система оценок возможно будет более адекватно работать — не будет «хабра-расправ» (это когда за мнение, не совпадающие с большинством, минусуют). Я думаю это также будет способствовать созданию тёплых и дружеских отношений между участниками дискуссий. Будет работать принцип: хочешь обсуждения — аргументируй свою позицию, хочешь оскорбить — не трать время, а добавь во «враги». В конце концов это будет просто революционно! Будет хоть один честный сайт без излишней «плюшевости» — кругом одни друзья-френды. Ведь это слишком искусственно: не могут быть у человека лишь друзья, должны быть и враги.
2. Сделайте, пожалуйста, персональные rss ленты! Работать должно примерно так: отмечаем из списка групп предпочтительные и за вычетом топиков «врагов» на выходе получаем подборку самого интересного.
Благодаря этим двум нововведениям все будут довольны — каждый получит лишь то, что ему нужно. И даже Futurico будет в выигрыше — исходя из предпочтений пользователей в выборе новостных топиков можно показывать более клиент-ориентированную рекламу…
Не ругайте меня, если вам не нравиться то, как я пишу. Чукча не писатель, чукча — читатель. Оценивайте пожалуйста идею.
+55
Множественные числа
1 min
2.9KДовольно часто на сайтах встречаются нелепые словесные конструкции, которыми программист обезличено хотел показать какой либо количественный параметр, например:
на сайте 22 человек ( а должно быть 22 человека )
1 комментариев ( понятно, что расчёт шёл на 10+ комментариев, но это не выход )
на сайте 22 человек ( а должно быть 22 человека )
1 комментариев ( понятно, что расчёт шёл на 10+ комментариев, но это не выход )
+34
Основы масштабирования
10 min
64KПрочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.
Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru
Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.
Основы масштабирования
Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru
Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.
+66
Работа с фрилансерами. Из опыта сотрудничества с отечественными удаленщиками, часть 1. Проблемы
3 min
9.5KФрилансеры — один из самых доступных и частых способов закрыть фронт работ, который в компании выполняются нерегулярно. Либо в случае, если свои люди беспросветно заняты на других проектах, а нанимать новых нет смысла или времени. Я работаю с фрилансерами по обоим причинам. Хотя за последнее время потерянные сроки и нервы убедили, что время и смысл для поиска постоянных сотрудников лучше все-таки найти. А субподрядчиков использовать только для совсем уж нетипичных работ.
+48
+33
deliGoo за неделю: «тормозящий» Lifehacker, злобные админы del.icio.us и Web product of the week
3 min
674Четыре дня назад, 12 сентября, я написал в Стартапы топик deliGoo — в помощь пользователям del.icio.us. Это был первый материал о нашем новом проекте – deliGoo, размещенный в открытых источниках. Я разместил его именно на Хабре не случайно, это была «разведка боем» – мы хотели еще раз протестировать deliGoo перед окончательным запуском. Разведка удалась, мы получили несколько полезных комментариев и убедились, что deliGoo работает не только на наших машинах :)
13 сентября мы начали активное продвижение через СМИ. В тот же день оно начало приносить свои плоды. В Рунете нас первой напечатала Вебпланета, затем были публикации в Интернетных штучках, SEOnews и Telnews.
За рубежом новость о старте deliGoo распространялась как лесной пожар
13 сентября мы начали активное продвижение через СМИ. В тот же день оно начало приносить свои плоды. В Рунете нас первой напечатала Вебпланета, затем были публикации в Интернетных штучках, SEOnews и Telnews.
За рубежом новость о старте deliGoo распространялась как лесной пожар
+74
Javascript Object Layout
2 min
2.5KДалее пойдет речь об иерархии объектов в JavaScript.
+1
Практический AJAX: что делать с кнопкой «назад» в браузерах
7 min
17KTranslation
Примечание: статья посвящена обзору проблемы неработающей кнопки «назад» в браузере при использовании AJAX-методов для передачи содержания страниц от сервера к клиенту. В статье рассматриваются основные принципы работы AJAX и возможные пути решения заявленной проблемы. Курсивом даны мои комментарии.
Эта статья является первой из ряда материалов (вторая статья посвящена работе с закладками), направленных на устранение части критики, которую адресуют сейчас AJAX, и предоставляющих обзор полезных методов, которые помогут сделать ваши приложения и веб-страницы, использующие технику AJAX, немного лучше.
Эта статья является первой из ряда материалов (вторая статья посвящена работе с закладками), направленных на устранение части критики, которую адресуют сейчас AJAX, и предоставляющих обзор полезных методов, которые помогут сделать ваши приложения и веб-страницы, использующие технику AJAX, немного лучше.
+22
Как проверить фрилансера на “вшивость”?
2 min
7.1KПри общении со своими знакомыми последнее время сталкиваюсь с таким фактом, что очень часто, когда они выступают в роли заказчиков и ищут исполнителей среди фрилансеров, то натыкаются на проблему:
Как заплатить предоплату фрилансеру(почти все фрилансеры работают по предоплате) и не попасть на мошенника?
Как заплатить предоплату фрилансеру(почти все фрилансеры работают по предоплате) и не попасть на мошенника?
+15
Как сделать из социальной сети бизнес
6 min
1.1KМаленькая теоретическая часть. Аксиомы.
Ни одно мероприятие и ни один бизнес не возможны без соблюдения определенного порядка и правил.
Никто не соблюдает правил, если не чувствует ответственности.
Ответственность – риск быть наказанным.
Наказание – потеря чего-то ценного или дорогого – ценности.
Чем большими ценностями обладают участники, тем выше может быть уровень порядка и успех мероприятия или бизнеса.
Чтобы социальная сеть зарабатывала деньги, она должна стать бизнесом.
Чтобы социальная сеть стала бизнесом, создай условия для создания ценности и правила ее отбора.
Ни одно мероприятие и ни один бизнес не возможны без соблюдения определенного порядка и правил.
Никто не соблюдает правил, если не чувствует ответственности.
Ответственность – риск быть наказанным.
Наказание – потеря чего-то ценного или дорогого – ценности.
Чем большими ценностями обладают участники, тем выше может быть уровень порядка и успех мероприятия или бизнеса.
Чтобы социальная сеть зарабатывала деньги, она должна стать бизнесом.
Чтобы социальная сеть стала бизнесом, создай условия для создания ценности и правила ее отбора.
+2
Программируем стартап Веб 2.0 на PHP
18 min
4.4K
Итак, вы воодушевлены идеей стартапа Веб 2.0. Вы полагаете, что придумали что-то оригинальное и свежее. Вам видится эффектная реализация вашей идеи. Вы верите, что ваш проект произведет революцию на рынке. Если именно такие мысли занимают вас, самое время заняться бизнес-планом. Планирование бизнеса – это отдельная дисциплина и об этом можно найти множество литературы. Впрочем, если вы не имеете опыта составления бизнес-планов, лучше прибегнуть к помощи профессионалов. Чем хуже спрогнозирован бизнес, тем выше риски его краха.
Однако допустим, что вы располагаете привлекательным бизнес-планом, вы ожидаете самоокупаемость проекта уже через 2 года от момента его старта, и предвкушаете ежегодный 50% рост его рекламного потенциала. В MS-Visio подготовлены многообещающие схемы пользовательского интерфейса проекта. И даже более того, ваш дизайнер, вооружившись модным руководством, в рекордные сроки обозначил графический вид проекта. Так, что сверстанные в лучших традициях безтабличной верстки типовые страницы пользовательского интерфейса дожидаются своего звездного часа в вашей локальной папке проекта.
+81
10 уловок заказчиков, чтобы платить Вам меньше
3 min
14KЗа время моей работы, как фрилансера, я слышал много уговоров и вот решил их записать в одном месте, чтобы Вы не попадались на эти «удочки».
Итак:
Итак:
+23
Information
- Rating
- Does not participate
- Location
- Саратовская обл., Россия
- Date of birth
- Registered
- Activity