В этой статье некоторые люди усомнились, что на Qt можно написать что-то стоящее и популярное. Я бы хотел с этим поспорить. Поэтому была написана эта тема, в которой вы можете увидеть небольшой перечень популярных программ и обзор ещё не так популярных, но интересных проектов, написанных на Qt4.
Байбара Егор Романович @gorinich
Пользователь
Полнотекстовый поиск и его возможности
6 min
196KМногие СУБД поддерживают методы полнотекстового поиска (Fulltext search), которые позволяют очень быстро находить нужную информацию в больших объемах текста.
В отличие от оператора LIKE, такой тип поиска предусматривает создание соответствующего полнотекстового индекса, который представляет собой своеобразный словарь упоминаний слов в полях. Под словом обычно понимается совокупность из не менее 3-х не пробельных символов (но это может быть изменено). В зависимости от данных словаря может быть вычислена релевантность – сравнительная мера соответствия запроса найденной информации.
В статье рассказывается как работать с полнотекстовым поиском на примере БД MySQL, а так же приведу примеры «нестандартного» использования данного механизма.
В отличие от оператора LIKE, такой тип поиска предусматривает создание соответствующего полнотекстового индекса, который представляет собой своеобразный словарь упоминаний слов в полях. Под словом обычно понимается совокупность из не менее 3-х не пробельных символов (но это может быть изменено). В зависимости от данных словаря может быть вычислена релевантность – сравнительная мера соответствия запроса найденной информации.
В статье рассказывается как работать с полнотекстовым поиском на примере БД MySQL, а так же приведу примеры «нестандартного» использования данного механизма.
+73
Реабилитация XML/XSLT технологий
7 min
10KЗдравствуй, Хабр. Некоторое время назад мы внедрили у себя в CMS наряду с уже имевшимся к тому моменту собственным шаблонизатором, еще и XSLT. Поскольку есть в XSLT большие и реальные преимущества и для разработчиков, и для хозяев студий, и даже для владельцев сайтов. Но реакция наших партнеров разделилась на противоположные мнения: одни давно ожидали этого и были рады появлению такой возможности, другие поставили под сомнение востребованность XSLT, приводя в качестве аргумента низкую производительность, которую якобы влечет за собой использование XSLT.
Понятно, что у всего нового всегда есть сторонники и противники, и рассудит их время. Поэтому не было особого смысла развязывать религиозную войну XSLT vs tpl или Smarty на тот момент. Но мы обнаружили, что оказывается, один из лидеров российского рынка CMS с завидным упорством все пишет и пишет о якобы несостоятельности XSLT как массовой технологии и готов рассматривать ее только в контексте специфичных задач. А это негативно влияет на умы некоторых непосвященных разработчиков об XSLT.
Понятно, что у всего нового всегда есть сторонники и противники, и рассудит их время. Поэтому не было особого смысла развязывать религиозную войну XSLT vs tpl или Smarty на тот момент. Но мы обнаружили, что оказывается, один из лидеров российского рынка CMS с завидным упорством все пишет и пишет о якобы несостоятельности XSLT как массовой технологии и готов рассматривать ее только в контексте специфичных задач. А это негативно влияет на умы некоторых непосвященных разработчиков об XSLT.
+50
Использование Nginx и php для проверки прав доступа перед отдачей файлов
2 min
13KИногда на сайте возникает необходимость ограничить доступ к некоторым файлам по разным причинам(раздавать файлы только авторизованным пользователям, антилич и так далее). Для решения данной задачи можно использовать разные подходы:
- Раздавать файлы с помощью скрипта на php(заменить php на то, что нравится больше). При данном подходе мы передаем в качестве параметра скрипту имя файла. Код проверяет все условия, при которых возможно получения доступа к данному файлу и принимает решение, выдать 404 или запрошенный файл. Данный подход подходит для мелких файлов, однако при возрастании размера отдаваемого файла он будет потреблять много системных ресурсов, т.к. файл будет вычитываться в память и затем отдаваться.
- Использовать некоторые неочевидные возможности веб-серверов.
+20
Закругленные уголки с помощью VML и CSS3
1 min
2.7KНаткнулся на очень интересный вариант решения очень популярной проблемы многих веб-мастеров — закругление блоков.
Для этого варианта закругления используются VML и CSS3.
Решение без картинок, работает во всех Internet Explorer’ах включая 5ый, в Firefox, в Safari, но к сожалению в старых версиях Opera не работает.
+41
Супер-юзабильные формы
2 min
54KКак-то на хабре разгорелся спор, как заставить пользователя вводить дату в правильном формате, было множество интересных решений, но заставлять пользователя совершенно не надо — пусть за пользователя основную работу делают машины :-).
На помощь приходит замечательный скрипт «Masked Input Plugin», который позволяет назначить для каждой формы маску, по которой данные будут заполнятся.
Возможно Вы не совсем поняли, но лучше один раз увидеть, чем сто раз услышать.
+120
Вредная верстка
9 min
74KКак определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.
Из этой статьи вы узнаете:
- О плохих приемах современной верстки;
- О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.
+147
DojoCampus — примеры использования компонент из Dojo Toolkit
3 min
2.7KПриветствую наших читателей. Наряду с библиотекой для построения мощный, функциональных и красивых интерфейсов для веб-приложений ExtJS, я в последнее время снова (по второму кругу) заинтересовался другим фреймворком, а именно, Dojo Toolkit. В чем-то мощнее, в чем-то проигрывая Ext-у, он может быть быть незаменимым при построении действительно мощный и функциональных веб-приложений, предлагая развитые библиотеки для создания всего, что угодно на javascript просто в браузере (а теперь еще и в среде Adobe AIR).
+19
Делаем красивые кнопки
2 min
11KTranslation
Эта инструкция научит Вас, как создавать очень красивые и удобные текстовые кнопки (с эффектом нажатия), используя CSS.
+44
Пять наиболее распространенных заблуждений в отношении Linux
6 min
14KTranslation
Пользуясь исключительно Linux на протяжении почти четырёх лет, я могу уверенно судить о том, что Linux может, а чего — не может. Ни в коем случае не претендуя на решение всех проблем, несколько самых распространённых заблуждений я все-таки постараюсь рассеять.
+50
jQuery для JavaScript-программистов
12 min
70KTranslation
Примечание: ниже расположен перевод статьи «jQuery for JavaScript programmers», в которой автор высказывает свое мнение об этой библиотеке, ориентируясь, в первую очередь, на продвинутых программистов, и приводит несколько десятков примеров ее использования.
Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.
Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.
Большинство современных обзоров jQuery делают упор на дизайнеров и неопытных разработчиков. Я попытаюсь объяснить, почему она также нужна и опытным программистам.
Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.
Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.
Большинство современных обзоров jQuery делают упор на дизайнеров и неопытных разработчиков. Я попытаюсь объяснить, почему она также нужна и опытным программистам.
+45
Изучаем наличие layout
1 min
6.1KTranslation
Примечание: ниже представлен официальный перевод статьи «On having Layout» на русский язык. Статья не является окончательной. Этот перевод отражает 9 версию от 23.10.2007.
UPD текст статьи полностью убран в связи с его неконтролируемыми изменениями с момента публикации. Перепечатка доступна здесь
UPD текст статьи полностью убран в связи с его неконтролируемыми изменениями с момента публикации. Перепечатка доступна здесь
+43
Экономим на окошке поиска.
1 min
861Зачем нам два окошка для ввода текста в Лисе? Разве не удобно было бы пользоваться одним, в котором вводить и адрес и поиск?
+10
На чём работает digg
2 min
1.6KМы уже рассказывали, на чём работает MySpace и как устроены дата-центры Google, а теперь посмотрим на более мелкие проекты, такие как digg. Здесь нет ничего особо уникального и сделанного «по спецзаказу», как в первых двух случаях, но всё равно интересно.
В момент запуска проект размещался на единственном Linux-сервере с Apache 1.3 и PHP 4.x. Для управления базами данных использовались MySQL 4.0, таблицы MyISAM и встроенный поиск MySQL. Разработчики специально старались использовать как можно больше продуктов open source, чтобы гарантировать быстрое развитие проекта без финансовых затруднений. Кроме вышеперечисленных, нашли применение свободные пакеты ImageMagick, Ispell, prototype/scriptaculous и другие. Вскоре к одному серверу добавился другой и начался бурный рост проекта.
В момент запуска проект размещался на единственном Linux-сервере с Apache 1.3 и PHP 4.x. Для управления базами данных использовались MySQL 4.0, таблицы MyISAM и встроенный поиск MySQL. Разработчики специально старались использовать как можно больше продуктов open source, чтобы гарантировать быстрое развитие проекта без финансовых затруднений. Кроме вышеперечисленных, нашли применение свободные пакеты ImageMagick, Ispell, prototype/scriptaculous и другие. Вскоре к одному серверу добавился другой и начался бурный рост проекта.
+62
Подумайте о слушателях
3 min
692Летом прошлого года прошло замечательное событие — EPAM Software Engineering Conference'2006.
Из официального пресс-релиза:
Конференция прошла «на ура».
Но речь пойдет не о самом мероприятии, а о презентационных материалах и о том, как подготовить и провести полезную и запоминающуюся презентацию.
Из официального пресс-релиза:
В мероприятии приняло участие более 300 сотрудников компании из пяти стран, в которых находятся центры разработки EPAM Systems. В течение двух дней прозвучало более 40 докладов, охвативших широкий спектр тем: управление проектами, управление качеством, вопросы интеграции приложений, бизнес-анализ, управление требованиями заказчика, вертикальные решения, применение многократно используемых компонентов и т.д.
Конференция прошла «на ура».
Но речь пойдет не о самом мероприятии, а о презентационных материалах и о том, как подготовить и провести полезную и запоминающуюся презентацию.
+16
Как выявить медленные SQL запросы?
2 min
91KTranslation
Это случалось с каждым из нас при разработке веб-сайтов или приложений, использующих MySQL в качестве базы данных. Производительность внезапно сильно падала, и вы не имели понятия, почему это случилось. Этому могут быть причиной многие факторы (сильная загрузка CPU, нехватка дискового пространства, или слабая пропускная способность канала), но также это может быть и неоптимизированный запрос, выполняемый намного дольше, чем должен.
Как узнать, какие из запросов выполняются дольше всего?
В MySQL есть встроенный функционал для ведения логов медленных запросов.
Как узнать, какие из запросов выполняются дольше всего?
В MySQL есть встроенный функционал для ведения логов медленных запросов.
+28
Фиксируя полноценный fixed
1 min
1.5KВ статье Шитова (студия Лебедева) описан полноценно работающий fixed.
Дошли у меня руки до создания такого fixed и решил попользоваться предложенным решением.
Но оно не заработало. Начал изучать исходный код статьи (ну там то работает) и в итоге выяснил, что дело в DOCTYPE. Как известно Лебедеву на него положить, а я вот написал его. Именно он выключал fixed в IE.
Дошли у меня руки до создания такого fixed и решил попользоваться предложенным решением.
Но оно не заработало. Начал изучать исходный код статьи (ну там то работает) и в итоге выяснил, что дело в DOCTYPE. Как известно Лебедеву на него положить, а я вот написал его. Именно он выключал fixed в IE.
+9
Разделяй и властвуй — float, position и display
2 min
35KПоговорим о всем известном свойстве float, не менее известном position и их соседе — display.
Как известно, в css есть понятие «схема позиционирования». Этих схем позиционирования есть три вида — нормальный поток, поплавки и абсолютное позиционирование.
Теперь необходимо ввести некоторые термины, прежде чем написать то, что я хочу донести.
Как известно, в css есть понятие «схема позиционирования». Этих схем позиционирования есть три вида — нормальный поток, поплавки и абсолютное позиционирование.
Теперь необходимо ввести некоторые термины, прежде чем написать то, что я хочу донести.
+10
Как превратить Firefox в Widefox?
4 min
2.2KTranslation
Чего мы хотим добиться — 1680x1050 98 кб
от автора:
Не скажу чтобы широкоформатники имели огромное распространение, но у некоторых на работе, а у некоторых счастливцев и дома есть такие мониторы. У меня например начальство расщедрилось на Apple Cinema 20"
Конечно же разница была прочувствована немедленно, однако в современном web-дизайне очень многие сайты рассчитаны под 1280 точек максимум. Эта статья призвана помочь оптимизировать рабочее пространство популярного браузера и
+15
Firefox, сброс оперативной памяти в свёрнутом режиме
1 min
2.3KВ последнее время довольно часто приходится слышать о неимоверной прожорливости Огненной Лисы. Появляется множество расширений (полезных и не очень) и вместе с этим растут запросы к ресурсам вашей машины. За удобство приходится платить кровными мегами.
+27
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity