Search
Write a publication
Pull to refresh
99
0
Дима Семьюшкин @Devgru

Веб-разработчик

Send message

На дизайне от Google построили открытый сервер БД

Reading time2 min
Views3.1K
Маленькая поисковая фирма Zvents выпустила под свободной лицензией уникальную разработку — систему управления базами данных, которая легко распараллеливается на сотни машин. В роли серверов может использоваться стандартное дешёвое железо, оно в случае необходимости заменяется «на лету» без потери данных. Новая программа Hypertable теоретически рассчитана работать на кластере из 1000 узлов, хотя текущая альфа-версия 0.9 испытывалась только на десяти. Но тесты прошло отлично, а интерес к разработке уже проявила компания Yahoo. Дело в том, что в настоящее время в Hypertable используется файловая система Hadoop, ведущий разработчик которой работает как раз в Yahoo.

Руководители компании Zvents говорят, что они были вынуждены открыть свою программу в виде open source, потому что у них маленькая софтверная фирма и совершенно нет денег на инфраструктуру. Подобные СУБД коммерческого масштаба нужно испытывать на громадных кластерах.

Программа Hypertable создана по образцу известной базы данных Bigtable, которая используется в Google. Эта распределённая система, когда она была представлена на суд научной общественности в 2006 году, произвела настоящий фурор как одно из лучших изобретений в компьютерной области. Правда, там в качестве файловой системы используется запатентованная Google File System.
Читать дальше →

Задачи на собеседовании — от простого к сложному.

Reading time2 min
Views27K
Да, это крик души. Потому что в среднем за неделю я собеседую несколько, которые претендуют на должность php-программиста.

Крик души, собственно в следующем:
из, предположим, 10 человек простейшие тесты сдают максимум двое (один — наполовину или на две трети). Вот такая простая статистика.

Может быть, я задаю слишком сложные вопросы ( несколько видоизмененные вопросы под катом )?

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

Может быть, кто-то поделится своими задачами, или в комментариях каким-то образом родится что-то удивительно-простое, но позволяющее понять уровень человека?

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

text-overflow в Firefox и все, все, все

Reading time9 min
Views15K
Многие наверняка сталкивались с проблемой, когда какой-нибудь текст нужно выводить в одну строку. При этом текст может быть весьма длинным, а ширина блока, в котором этот текст находится, обычно ограничена, хотя бы тем же размером окна браузера. На эти случаи придумано свойство text-overflow, которое внесено в рекомендацию CSS3, а впервые было реализовано в IE6, очень давно. В случае использования этого свойства для блока, если его текст больше по ширине чем сам блок, то текст обрезается и в конце ставится многоточие. Хотя тут не все так просто, но вернемся к этому чуть позже.
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?

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

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

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

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

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

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

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

Работа с временными зонами в PHP

Reading time8 min
Views87K
Как только проект перестает быть завязан на ограниченное количество потребителей и растет география его применения, встает вопрос о применении временных зон. Когда я работал в одной известной интернет компании внедрение в работу временных зон (как в интерфейс отображения статистики, так и в программу анализа) было достаточно серьезным шагом.

Далее перевод :-)
Читать дальше →

Прошу помощи ссылками по ООП в PHP

Reading time1 min
Views7.3K
Господа PHP-разработчики и «претендующие», прошу — поделитесь ссылками на ресурсы, где можно подчерпнуть знания, помогающие добиться хорошего понимания ООП в PHP. А именно, на те сайты где много рассказывается о паттернах (маперы, фасады, фабрики и т.д.) и уровнях абстракции (не скажу точнее, т.к. сам сомневаюсь в собственной интерпретации термина).
Так же, возможно, на скрипты (движки) чего-либо, разработанные с применением описанных подходов.

10 принципов эффективного веб-дизайна

Reading time11 min
Views54K
Юзабилити и практичность, а не визуальный дизайн, определяют успех или провал любого веб-сайта. Так как именно пользователь — единственный, кто кликает мышкой и, таким образом, принимает все решения, то одним из стандартных подходов для создания успешных и прибыльных веб-дизайнов стал «дизайн, ориентированный на пользователя» (user-centric design). В конце концов, если пользователь не умеет пользоваться той или иной функцией, ею можно легко пренебречь.

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

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

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

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

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

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

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

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

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

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

Blitz Templates

Reading time2 min
Views3.9K


Blitz Templates — быстрый и удобный шаблонизатор для крупных интернет-проектов, разрабатываемых на php. На первых порах может быть не совсем очевидно, зачем нужен Blitz для php, в то время, когда этот язык, по сути дела, и есть шаблонизатор, только весьма навороченный.

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

О чем не стоит забывать, когда верстаешь HTML

Reading time2 min
Views2.2K
Когда верстаешь (X)HTML, порой не знаешь или забываешь о многих фичах, которые стоит использовать. Перечислю те, о которых вечно забываю сам, а зря :)
Читать дальше →

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

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%");
};


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

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

Эффективный цветовой контраст. Дизайн для людей с частичными проблемами зрения и восприятия цвета

Reading time2 min
Views6.6K
Здесь упоминаются три основных правила эффективного выбора цветов, которые хорошо воспринимаются практически всеми. Далее приводятся объяснения трех свойств цвета в человеческом восприятии — тона, яркости и насыщенности — в контексте науки о зрении.

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

Почти таргетинг

Reading time5 min
Views723
Позвольте рассказать вам одну историю, случившуюся в 2002 году. (Точная дата подзабыта, но год именно этот.) Как и множество других историй — она длинновата, но, в отличие от некоторых историй — правдива.

Пока разработчики Нетскейпа готовили новый релиз Мозиллы, браузера, от которого мы «отбранчили» Навигатор, мы в группе Technology Evangelism/Developer Support (TEDS) проверяли его на популярных и партнерских сайтах. На некоторых из них верстка расползалась. В одном случае — очень серьезно.

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

Шаг 2. Настройка интернета

Reading time3 min
Views26K
В первом шаге я рассмотрел установку Ubuntu и детали, которые очень важны при этом.
Пойдем дальше и посмотрим на вещи, которые следует настраивать сразу после установки Ubuntu.

Настройка интернета


Несмотря на пакет network-manager, с настройкой интернета на Ubuntu могут возникнуть проблемы.
Если ваша сеть настраивается без статических IP, то, возможно, вам повезло и вся настройка пройдет в GUI.

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

jQuery обновилась до версии 1.2.2

Reading time1 min
Views705

14 Января, 2008г. вышел очередной релиз популярной javascript библиотеки, которой я пользуюсь уже почти год. Хабр насчитал 45 хабратопиков по слову jQuery, поэтому, тем кто не знает что это за магия — рекомендую ознакомиться.

Этот релиз не привносит ничего революционного (вспомните релиз версии 1.2), а лишь насчитывает около 100 багфиксов, несколько улучшений и парочку feature requests. Подробнее можно посмотреть на баг-трекере

p.s. Видимо не только я один воспринимал новогодние праздники как способ эффективно заняться своими проектами…

Как делались иконки машинок для Автокадабры

Reading time1 min
Views4.8K


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

Читать дальше как делать иконки машинок-хамелеонов

Практический CSS/JS: архивируем все!

Reading time1 min
Views2.8K
Примечание: ниже частичный перевод статьи «Compress JavaScript and CSS without touching your application code», в которой описывается статичное сжатие CSS- и JS-файлов на сервере и корректная выдача их затем клиенту. Далее даны мои комментарии с более комплексным решением. Приношу извинения, если для кого-то тема будет слишком знакома или неинтересна: в Рунете нормальной статьи на данную конкретную тематику обнаружить не удалось.

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

  • Проверить, умеет ли клиент принимать файлы в формате gzip-encoded.
  • Обеспечить соответствующий вывод на стороне сервера через gzip-функции, либо уповать на то, что всем этим займется непосредственно Apache.
  • Поиграться с .htaccess, чтобы обеспечить корректный content type.


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

Делаем did you mean, часть вторая

Reading time3 min
Views2.5K

Здравствуйте



Не так давно я писал про правильный did you mean.
Несмотря на все мои улучшения, guess-инг всё равно часто ошибался, и выдавал странные результаты.

Однако недавно, мне удалось значительно улучшить качество guess-инга, и я решил, что было бы неплохо написать «патч» к моей предыдущей статье :)


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

Information

Rating
9,024-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity