Search
Write a publication
Pull to refresh
27
0
Антон @cramen

User

Send message

Целебное зелье для IE5+ или IE7.js

Reading time2 min
Views7.1K
Разбирая код очередного проекта внутри тега head наткнулся на интересный код:

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"></script>
<![endif]-->

Только одно слово «IE9» меня пустило в замешательство. Первое что пришло мне в голову — это то, что при помощи этого .js кода браузеры под печальным клеймом Internet Explorer можно заставить работать используя свойства многообещающего IE9. Больше всего я ожидал что будут доступны свойства CSS3.0, но не тут-то было!
Читать дальше →

Убунту с яблочным вкусом: Ubuntu на Apple iMac

Reading time8 min
Views53K

1. Предыстория



Мне понадобилось купить компьютер. Так случается порой.

В моём случае ситуация была такова: я менял работу, а единственный компьютер, который у меня был — рабочий ноутбук, который, конечно же, пришлось отдавать.

Пару лет назад я (в очередной раз) пересел на Убунту, да так уже и не смог больше с неё слезть: чем дальше, тем больше к ней привязывался и тем сильнее раздражала и не нравилась Windows. Жене на нетбук, разумеется, — Ubuntu Netbook Edition. Я также поставил Убунту тёще (живущей за тысячи километров от меня), и, хоть прошло уже более года, никаких серьёзных проблем ни с компьютером, ни с тёщей не возникло. На рабочем ноутбуке основной системой является также Убунту, а для программ, которые необходимо запускать в Windows, используется бесплатный VMware Player (и Windows, шедшая с ноутом в комплекте).

Короче говоря, альтернатив этой системе я не рассматривал и ни разу не собирался.
Много-премного картинок, гигабайты трафика...

Bubble Engine — плагин для jQuery. Машина по созданию мыльных пузырей

Reading time1 min
Views3.7K
Хочу представить читателям интересный jQuery плагин, который будет интересен тем, кто хочет использовать на сайте какую-то интересную анимацию без использования Adobe Flash.

image

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

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Reading time2 min
Views257K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности

Ресайзинг изображений со скоростью 180 штук в секунду

Reading time3 min
Views4K
Программисты с Etsy.com поделились опытом, как им удалось эффективно решить задачу по пакетному ресайзингу фотографий с 1,5 МБ до 3 КБ (после смены дизайна оказалось, что старые превью-окошки не вписываются в новые шаблоны страниц). Задача не такая банальная, как кажется. Дело в том, что Etsy.com — крупный интернет-аукцион, и количество изображений различных товаров превышает 135 млн штук.

Ради шутки они прикинули, сколько займёт эта работа вручную в «Фотошопе». Если на каждую фотографию отдать по 40 секунд, то выходит 170 лет непрерывного труда. Затем они начали считать, можно ли отдать пакет в облако EC2 и во сколько это встанет. Посмотрев на получившуюся сумму, программисты решили поискать другой способ.

В итоге им удалось завершить обработку 135 млн фотографий всего за 9 дней, задействуя четыре 16-ядерных сервера. Средняя скорость обработки составила 180 изображений в секунду.
Читать дальше →

Microsoft открыла российским спецслужбам все исходные коды

Reading time1 min
Views14K
Microsoft подписала дополнение к соглашению с ФГУП «Научно-технический центр «Атлас», которое даёт доступ к исходникам всех основных программ Microsoft, в том числе операционных систем Windows 7 и Microsoft Windows Server 2008 R2, пакета офисных программ Microsoft Office 2010 и системы управления базами данных Microsoft SQL Server. Об этом сообщил в интервью газете «Ведомости» источник в Microsoft.

Само соглашение между Microsoft и НТЦ «Атлас» было заключено в 2002 году и давало доступ к исходникам Windows XP, Windows 2000 и Windows Server 2000.
Читать дальше →

Делаем красивый input[type=file] с помощью jQuery

Reading time6 min
Views29K

Присказка или зачем нужен еще один плагин?


Давным-давно в тридесятом царстве в тридевятом государстве когда web был совсем не 2.0 никому и в голову не приходила мысль о стилизации форм. Сейчас же перед нами очень много решений на чистом CSS, которые кардинально меняют внешний вид элементов. К сожалению, для некоторых элементов это не работает. Особую сложность в этом плане представляет собой input[type=file].

С этим элементом, средствами CSS, мы можем разве что изменить размер шрифта. Все мы любим власть. Ты ведь хочешь полностью контролировать этот неподатливый file? Тут нам на помощь приходит волшебная связка современного интернета — JavaScript + CSS.

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

Полнотекстовый поиск в веб-проектах: Sphinx, Apache Lucene, Xapian

Reading time15 min
Views55K
Полная авторская верcия из моего блога. Оригинал материала написан специально для Developers.org.ua

Наверное любой современный веб-проект сложно себе представить без… без контента! Да, именно контент в разных его проявлениях сегодня «правит бал» в различных веб-проектах. Не так важно — создаваемый пользователями или получаемый из других источников автоматически — информация является основной любого (ну, или почти любого) проекта. А раз так — то вопрос поиска необходимой информации стоит очень остро. И острее с каждым днем, ввиду стремительного расширения количества этого самого контента, в основном за счёт создаваемого пользователями (это и форумы, и блоги и модные нынче сообщества, вроде Habrahabr.ru). Таким образом, любой разработчик, реализующий сегодня какой-либо проект, сталкивается с потребностью реализовать поиск в своём веб-приложении. При этом требования к такому поиску уже намного сложнее и шире, чем даже год-два назад. Конечно, для каких-то проектов вполне подойдёт и простое решение, к примеру, вполне можно использовать Custom Google Search. Но чем более сложное приложение, и чем сложнее структура контента, если требуются особые виды поиска и обработки результата, или же просто количество или формат данных в вашем проекте особый, вам потребуется собственная поисковая система. Именно своя система, собственный поисковый сервер или сервис, а не сторонний, пусть даже гибкий и настраиваемый. Но что же выбрать, и вообще — какие сейчас на рынке есть поисковые проекты, которые готовы для использования в реальных проектах, не исследовательских или научных, а реальных бизнес-приложениях? Далее мы кратко рассмотрим различные варианты поисковых решений, пригодных для встраивания в ваше веб-приложение или развёртывания на собственном сервере.
Читать дальше →

Постраничная навигация с MySQL при большом количестве записей

Reading time7 min
Views41K
Рано или поздно многие крупные проекты сталкиваются с проблемами производительности при постраничной навигации по записям. Некоторые из них решают эту проблему ограничением количества доступных для просмотра записей (скажем, не больше 1000). Вполне приемлемое решение. Но в этом случаем могут возникнуть проблемы с индексированием сайта сторонними поисковиками, которые и представляют наибольшую угрозу. В этой статье я хотел бы отказаться от привычной для всех панели навигации вида «1..2..3..4..» в пользу простой «вперед… назад» (будет проще объяснить), но это не проблема реализовать подобное и с первым вариантом.
Более точно определить тему, назвав, какое количество записей считать достаточно большим для появления тормозов, не получится, так как эта цифра для всех разная и сильно зависит от того, насколько быстрые у Вас жесткие диски, сколько памяти, и какая часть Ваших данных уже закеширована в ней и тд. Но если Вы и Ваши сервера ощущают, что n-ная страница при выводе даётся тяжелее первой, и при этом не знаете, что с этим делать – статья для Вас. Но для начала, я хотел бы на пальцах объяснить, почему ОНО работает медленно.

Кстати, тест происходит на виртуальной машинке, работаю я с СУБД под рутом, версия MySQL – 5.0.32.
Читать дальше →

Google представил API для кроссбраузерного подключения шрифтов

Reading time1 min
Views11K
Google Font API — API для подключеня нестандартных шрифтов.
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="_http://fonts.googleapis.com/css?family=Tangerine">
    <style>
      body {
        font-family: 'Tangerine', serif;
        font-size: 48px;
      }
    </style>
  </head>
  <body>
    <h1>Making the Web Beautiful!</h1>
  </body>
</html>
Читать дальше →

Листалка страниц на HTML5 canvas

Reading time1 min
Views12K
Думаю, листалкой на Flash или Silverlight никого не удивишь — но что насчет листалки на HTML5 ? Вооружившись статьей Rick Barraza о листании страниц на Silverlight, я сделал вполне себе приятную листалку в виде jQuery плагина.

image

Проект доступен под лицензией MIT по адресу jpageflipper.codeplex.com Текущая версия — 0.9, пока не хватает теней и мелких плюшек, а также возможности ставить несколько листалок на страницу.

Демка доступна на dl.dropbox.com/u/7235888/index.html

Ну и, соотстветственно, раз уж это HTML5, в некоторых браузерах возможна некорректная работа (ну или ее полное отсутствие). Работает в Chrome 4+, Firefox 3.5+, Opera 9.6+, Safari 4+

UPD: выложил демку на dropbox.com по наводке otaqsun

Перевод: Шаблонизаторы в PHP

Reading time8 min
Views49K
Первод статьи, автором которой является Fabien Potencier, ведущий разработчик и идеолог Symfony. Статья поднимает обсуждение о шаблонизаторах PHP в целом и представляет Twig — быстрый и функциональный шаблонизатор.
Читать дальше →

Безопасная настройка виртуального хостинга Debian + Apache2 + vsftpd

Reading time7 min
Views33K

1. Постановка задачи


Дано
Debian-сервер «из коробки» (установлен из дистрибутива)

Задача
Организовать работу нескольких проектов на сервере, чтобы люди, которые ими занимаются, не имели доступа к соседним проектам:
  • Ограничить возможность обзора файловой системы определенной папкой для пользователя проекта.
  • Ограничить возможность запуска бинарников пользователями
  • Ограничить возможность открытия портов на сервере (нужно как-то по другому сформулировать)
  • Автоматизировать добавление пользователя в систему: создание папки, конфига apache, пользователей mysql или postgres
Читать дальше →

Zend_Search_Lucene + PHPMorphy — это просто

Reading time2 min
Views2.8K
Когда-то смотрел документацию по Zend_Search_Lucene. Все хорошо, все понятно. Бери и встраивай в свой сайт. Только вот ни слова там нету про то, каким образом прикрутить стеммер или морфологический анализатор к этой штуке. На деле оказалось, что подружить его, например, с PHPMorphy, очень просто.
Собственно, как это сделать — под катом.
Заметка в первую очередь будет полезна разработчикам, перед которыми проблема полнотекстового поиска на сайте еще не стояла.
Тут вы не найдете мануала по настройке Lucene или PHPMorphy — этой информации и так предостаточно в интернете.

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

4 ответа, которые принесут вам деньги

Reading time1 min
Views757
Эпиграф:
«Инвестор – умный человек, у которого есть деньги. Дураков-инвесторов не бывает. Это аксиома» А.Морейнис

Сегодня на Startup Weekend Аркадий Морейнис рассказывал, как правильно готовиться к презентации своего проекта инвестору. Его советы были настолько конкретны и просты, что грех было их не законспектировать и передать эти полезные знания всем. Пожалуй, выступление Морейниса было самым полезным и интересным за сегодня (пруфлинк)

image

Итак, Аркадий Морейнис призывает на встрече с инвестором ответить всего лишь на 4 ключевых вопроса.

1. Что? В чем суть вашего продукта? Что будет делать ваш продукт? Какие у него есть уникальные свойства?

2. Почему? Почему ваш проект должен сыграть на рынке? Это может быть уникальный маркетинг, уникальный способ привлечения аудитории и др. И главное – почему другие конкуренты не смогут это повторить.

3. Зачем? Какова будет стратегия вашего выхода из проекта, причем об этом надо думать с самого начала, инвестору необходимо знать ваши намерения.

4. Сколько? Что у вас есть сейчас? На что пойдут инвестиции? Сколько планируете заработать?

Как откровенно сказал Аркадий Морейнис: «Главная причина провала стартапа перед инвестором – то, что люди приходят с полной туфтой». Да, правда такова. Поэтому для начала четко ответьте для себя на эти четыре вопроса, а если у вас это получилось – то смело обращайтесь к Аркадию Морейнису инвестору.

Версионирование структуры БД в MySQL: MySQL Migration with PHP

Reading time3 min
Views13K
Когда БД проекта вырастает за пределы трех-пяти таблиц, продолжая при этом постоянно изменяться, на свет рождаются неудобства обмена изменениями между разработчиками. Проблема стара как мир, но инструмента удовлетворяющего мои требования я в ноябре 2009го найти не сумел.

Мои требования к инструменту очень просты:
  • Как бы я не издевался над структурой данных в приложении, инструмент должен уметь изменить структуру в другой инсталляции приложения так, чтобы она была идентична моей.
  • System requirements: PHP и MySQL — не более того.
  • Бесплатность.
  • Открытость.


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

Google выпускает skipfish — сканер безопасности сетевых приложений

Reading time1 min
Views436
imageПолностью автоматизированный инструмент проверки безопасности ваших веб приложений от Google. Основные возможности:

высочайшая скорость: написан на C, оптимизированные HTTP запросы, минимальные требования к CPU — скорость запросов легко достигает 2000 в секунду.

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

отличная логика безопасности: высокое качество работы, различные способы проверки безопасности.

Поддерживаются операционные системы — Linux, FreeBSD, MacOS X и Windows (требуется Cygwin).

Google skipfish

Решение проблемы с ajax-загрузкой файлов в плагине jQuery Form в Opera 10

Reading time2 min
Views2.2K
Есть такой всем известный плагин Form под jQuery. Я считаю его одним из лучших для асинхронной отправки форм.

Но в свое время пришлось отказаться от его использования ввиду неработоспособности при асинхронной отправке файлов в Opera 10. У меня в девятой Опере все было нормально.

Проблема необычна: файлы определенного размера (у меня до 80-90кб) загружаются нормально. Но если файл больше, то не срабатывает ни одна из callback-функций (success, error). При этом файл корректно загружается на сервер, но этот момент теперь нельзя поймать из браузера. В IE, FireFox и Chrome такая проблема отсутствует.
Убираем ее и в Опере

#1 Организация активных продаж в веб-студии

Reading time10 min
Views66K
Привет, хабр. Я собираюсь опубликовать небольшой цикл материалов, посвященный бизнесу веб-студий (интерактивных агентств) и его развитию. Начну с нескольких материалов о продажах.

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

Итак, продажи в веб-студии делятся на три типа:
  • Новые продажи со входящего потока (заказчик обращается с запросом сам). Расширение данного канала – основная задача внешнего маркетинга и PR компании.
  • Повторные продажи по текущим клиентам. Увеличение продаж по данному направлению – одна из важных задач службы клиентского сервиса.
  • Холодные/активные продажи (инициируется контакт с заказчиком, который не проявлял до этого интереса к компании).

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

Сразу оговорюсь – ни про какой спам и прочие массовые безадресные акции речь не пойдет.
Читать дальше →
12 ...
11

Information

Rating
Does not participate
Date of birth
Registered
Activity