Pull to refresh
0
0
sdmaster @sdmaster

User

Send message

Полнотекстовый поиск по сайту — бич современного интернета

Reading time4 min
Views28K
Реализация хорошего поиска по сайту — часто сильно недооцененная по сложности задача. Поиск является слабым местом сайтов настолько часто, что когда я вижу строку поиска, у меня сразу же возникает предвзятое ощущение предстоящего фиаско. И чтобы лишний раз не расстраиваться, я сразу переадресую свой вопрос гуглу или яндексу и быстро нахожу то, что требовалось. Что же делать, чтобы как-то улучшить эту ситуацию?
ответы
Total votes 76: ↑64 and ↓12+52
Comments57

Как сделать favicon в png

Reading time1 min
Views119K
Знаете, фавикончики в ico это как-то прошлый век =) Давайте будем модными, современными и все такое. Короче, берем иконку в png (да-да, с прозрачностью и всеми делами), сохраняем в размере 16×16, на сайте (в блоке <head>, ага) подключаем так:

<link rel="icon" type="image/png" href="favicon.png" />

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

<link rel="apple-touch-icon" href="apple-touch-favicon.png"/>

Над записью витает дух уже почти сгнившего трупа IE6, который вообще не знает о чем это все, ну да и фиг с ним =) Все, изыди.

UPD: Спасибо хабраюзеру NickyX3 за интересное уточнение:
Автор забыл указать, что иконда для springboard тачей и яблофонов будет в таком варианте закруглена по углам и на нее будет наложен блик автоматически самоим девайсом. Для избежания этого (совсем красивая кастом иконка) вместо apple-touch-icon следует написать apple-touch-icon-precomposed.
Total votes 182: ↑145 and ↓37+108
Comments53

Linux в организации…

Reading time2 min
Views4.8K
Нередко, при обсуждении возможности установки линукса в малом бизнесе, все упирается в проблемы запуска под ним программ 1C и тому подобных. Однако, существует простой, элегантный, хотя и не бесплатный, способ эту проблему обойти — терминальный доступ. На все рабочие места ставится линукс с возможностью терминального доступа. На один компьютер — виндовый сервер терминалов. Нужна 1С — лезем в терминал и работаем, при этом еще и быстро работаем, не гоняя DBF-ы по сети. Все остальное, почта, документы, интернет — уже бесплатно под линуксом…
Разумеется, стоимость Microsoft Windows Terminal Server достаточно высока и может перекрыть всю выгоду от внедрения Линукса, но — есть варианты…
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments80

RightSignature или правильные подписи документов он-лайн

Reading time4 min
Views1.5K
logo1Об электронном документообороте и прочих радостях электронной жизни речь идет уже не первое десятилетие, начиная с изобретения компьютера вообще. Но «воз и ныне там», так как несмотря на легкость и доступность пересылки документов по почте, редактирование и просмотр онлайн в браузере, финальный акт жизни многих документов заключается в банальной распечатке и потом хождению по отделах за подписями и печатями. Но постойте, есть же электронно-цифровые подписи, даже законодательные документы, регламентирующие их оборот. Есть то есть, но сравните — документ с размашистой подписью Самого и обычный набор цифр и букв… как то не то, верно?

Решений для документооборота, включая системы, интегрированные с цифровыми подписями, есть на рынке также достаточно много, как самостоятельных, так и компонентов других систем, CRM, бухгалтерских и т.п. Но онлайн этот бум как то оминул, хотя все больше и больше компаний используют виртуальные офисы или даже вообще полностью онлайновое общение всех сотрудников. Так что спрос на онлайновые системы работы с документами должен быть. И должен быть удовлетворен. Этим и занялся стартап RightSignature.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments28

Создание сайта из готовых компонентов на примере сайта заказа еды в офис

Reading time14 min
Views8.6K
В окрестностях нашего офиса нет приличного общепита, поэтому обеды нам привозят на заказ из одного кафэ. Заказ осуществляется за день (на понедельник заказ делается с пятницы), по телефону, с перечислением всех блюд и их количества (в случае если заказ не изменился относительно вчерашнего достаточно просто сказать это). Как компания, занимающаяся разработкой ПО, преимущественно веб, мы до недавнего времени жили по принципу «Сапожник без сапог», и весь учет заказов велся ответсвенным за заказ еды человеком на листочке, в случае изменения заказа нужно было писать письмо этому ответственному человеку, а он уже пересчитывал общий заказ.

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

Цели данного топика:
  • Показать новичкам на довольно простом примере, как создается сайт невысокой сложности на CMS Drupal
  • Кратко расказать про несколько основных модулей — как правило они применяются в 90% проектов на друпале
  • Показать как можно собрать сайт на друпале из готовых компонентов, не написав при этом ни одной строчки кода (на самом деле будет пара строк кода, но немного не в том виде, как он обычно пишется =))


Итак, что должно быть реализовано в проекте:
  • Меню — список блюд, разделенных на категории, с возможностью описания блюд
  • Индивидуальные заказы — пользователь может сделать и заказ, просмотреть его содержимое и изменить
  • Сводный заказ — список всех заказаных пользователями блюд с указанием их количества
  • Возможность делиться впечатлениями о блюдах — тут просто возможность комментирования и рейтингования

Поехали
Total votes 100: ↑94 and ↓6+88
Comments117

Запуск торрентов с мобильника по фотографии DVD

Reading time1 min
Views724
Вы пришли в магазин DVD-дисков и выбрали хороший фильм. Но вместо того, чтобы покупать, просто фотографируете его камерой своего смартфона на платформе Android. Когда приходите домой — фильм лежит на диске вашего ПК. Именно так работает программа Torrent Droid.



Torrent Droid победил на конкурсе, который проводил сайт Androidandme по созданию программы по сканированию штрих-кодов смартфоном G1 и автоматической загрузке торрентов. Видимо, идея витала в воздухе, а запускать торренты с мобильника — весьма востребованная задача. Главное, чтобы всё работало автоматически и к моменту прихода пользователя домой фильм уже был скачан.

Окончательная версия Torrent Droid появится примерно через месяц на сайте Zerofate. Хотя уже сейчас в ней работает основной функционал, что и запечатлено на видео.

via TorrentFreak
Total votes 93: ↑88 and ↓5+83
Comments116

JS Charts — генератор графиков и схем.

Reading time1 min
Views16K
image
JS Charts является бесплатным JavaScript-генератором графиков и схем, который требует минимум знаний программирования. С JS Charts рисование диаграмм становится простой и легкой задачей. Он не требует никаких дополнительных плагинов и серверных модулей. Просто подключите скрипты, подготовьте данные для схемы в XML или массиве JavaScript и ваша таблица готова.
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments33

Восстановление базы MySQL из бинарных логов

Reading time2 min
Views43K
Базы данных иногда пропадают. Человеческий фактор и всё-такое… Если вы не делали бекапов (а надо бы) или они уже устарели, не отчаивайтесь, — есть ещё возможность восстановить утерянную информацию.

Подробнее
Total votes 65: ↑60 and ↓5+55
Comments28

Быстрая перекраска вещей на сайте

Reading time2 min
Views2K
image
Существуют моменты когда необходимо предоставить пользователям выбор цвета какой либо вещи. Есть несколько способов выхода из этой ситуации.

Здесь я покажу очень простой и незамысловатый способ быстрой перекраски, на примере iPod Shuffle.
Читать дальше →
Total votes 164: ↑153 and ↓11+142
Comments65

Контрол-навигация

Reading time2 min
Views1.7K
Нельзя не заметить, что в рунете всё бóльшую популярность набирает т. н. контрол-навигация: перемещение по страницам одного уровня с помощью сочетаний Ctrl + ← и Ctrl + →. Некоторые товарищи даже неуютно себя чувствуют, когда попадают на сайт, не поддерживающий листание страниц с клавиатуры.

Почему эта функциональность до сих пор не реализована в самих браузерах?
Читать дальше →
Total votes 44: ↑36 and ↓8+28
Comments48

Разметка. Transitional vs Strict

Reading time4 min
Views7.2K
Речь в статье пойдет о такой, казалось бы изжеваной и изъезженой теме, как валидация веб-документа по одной из DTD-схем, которые в свою очередь определяются с помощью DOCTYPE.

Тема эта нетривиальна; преимущества и недостатки того или иного способа валидации на первый взгляд не всегда являются явными. Поэтому я решил что упомянуть о них еще раз будет не лишним.

В последнее время, многие редакторы и CMS'ки автоматически проставляют DOCTYPE для документа, что само по себе является прорывом, но к сожалению этого недостаточно, так как зачастую это именно Transitional схема. Начинающие разработчики не уделяют этому должного внимания, а зачастую вобще не подозревают что у них есть выбор.
Читать дальше →
Total votes 150: ↑142 and ↓8+134
Comments119

Хранение файлов в MySQL и их быстрая раздача

Reading time3 min
Views97K
Думаю у многих возникала необходимость хранить файлы, связанные с записью в таблице. Это может быть картинка к новости, аватар, загруженный пользователем файл — да все, что угодно. Обычно в этому случае поступают просто — файл ложится в файловую систему, а ссылка на него — в запись БД.
Но у такого классического похода множество недостатков:
  • файлы не удаляются при удалении соответствующей записи БД
  • проблемы при одновременной попытке обновления файла
  • нарушение синхронизации между БД и файловой системой при откате транзакции
  • при резервном копировании и восстановлении информации в БД может возникнуть рассинхронизация с файловой системой
  • файлы не подчиняются ограничениям доступа, наложенным с помощью БД

Больше о проблемах, возникающих при хранении файлов отдельно от БД можно почитать в презентации SQL Antipatterns, раздел Phantom Files, страница 60. Кстати, автор презентации предлагает решение — хранить файлы прямо в БД, в поле типа BLOB. Правда следует замечание, что это должно быть взвешенное решение в каждом конкретном случае. Ведь при таком способе хранения файлов вебсервер должен при каждом запросе вызывать некий скрипт, который будет извлекать файл из БД и отдавать пользователю, что неминуемо отрицательно скажется на производительности.
Для поиска решения данной проблемы был проведен мозговой штурм и придумано несколько вариантов решения проблемы:
Читать дальше →
Total votes 71: ↑59 and ↓12+47
Comments99

Верстка скругленных границ и острых углов

Reading time4 min
Views21K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

Читать дальше →
Total votes 190: ↑183 and ↓7+176
Comments96

Концепт механизма исправления опечаток

Reading time2 min
Views1.3K
Участвуя в каких-либо обсуждениях в интернет, очень часто сталкиваешься с тем, что на ресурсе запрещается редактировать собственные комментарии. Очевидно, что это связано с тем, чтобы никто не мог отказаться от сказанных слов. Но порой, редактирование комментария требуется не для скрытия разной степени позорного текста, а просто для исправления глупых опечаток, которые совершает каждый человек.

Иногда при быстром наборе можно спутать пару клавиш, перепутать порядок, забыть букву ну и плюс существуют еще прочие мелкие опечатки, всем знакомые. Есть ошибки и грубее, но часто они объясняются не неграмотностью автора, а многими другими факторами. Тут то и пригодился бы механизм исправления опечаток. Ниже под катом, я хотел бы представить свой простой концепт, который, по-моему, применим на любом ресурсе.
Читать дальше →
Total votes 99: ↑86 and ↓13+73
Comments130

Предпроектная документация: что это и почему она так важна?

Reading time4 min
Views18K
Среди моих знакомых нет ни одного, кто любил бы писать технические задания или что-то вроде этого. Чертить на салфетках планы захвата вселенной, собирать лэйауты из разноцветных стикеров, шлифовать концепцию в голове и на словах – это все любят и умеют делать, а вот сесть и как следует записать…
Меня, например, любой шаблон серьезного документа погружает в глубочайшую тупку.

У моих знакомых очень много хороших идей, но с таким подходом, слава богу, что дело редко доходит до производства. Почему? Плохо продуманные проекты редко бывают успешными. Либо команда по уши вязнет в тех работах, которые не были видны в начале, либо получается кривоватый, плохо приспособленный к жизни гоблин. Плохо масштабируемый к тому же.

Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments52

Свободные векторные карты для GPS

Reading time1 min
Views5.8K
Не так давно став «администратором» usb-шного gps-приемника и Asus eeePC 901, я задался вопросом поиска подходящего софта для организации GPS-навигатора на базе eeePC.

На данный момент мною было найдено две программы, более-менее обладающих нужным функционалом: gpsdrive и navit. Первая мне как-то не очень понравилась и ковыряния с нею были отложены на потом, а вот со второй софтинкой я поковырялся более основательно.

Благодаря наботу скриптов, navit поддерживает множество различных форматов векторных карт (в том числе карты от garmin). Но меня больше интересовали открытые и свободные источники.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments31

Безопасная загрузка изображений на сервер. Часть вторая

Reading time7 min
Views28K
Это вторая часть перевода. Начинать прочтение лучше с первой.

Итак, после применения описанных в первой части методов, мы можем прекратить волноваться? К сожалению, нет. То, какие расширения файла будут переданы транслятору PHP, будет зависеть от конфигурации сервера. Разработчик часто не знает и не контролирует конфигурацию веб-сервера. Мы видели веб-серверы, с такой конфигурацией, что файлы .html и .js выполнялись как php. Некоторые веб-приложения могут потребовать, чтобы файлы .gif или .jpeg интерпретировались PHP (это часто случается, когда изображения, например графы и диаграммы, динамически строятся на сервере самим PHP).

Даже если мы знаем точно, какие расширения файла интерпретируются PHP, у нас нет никакой гарантии, что это не изменится в будущем, когда другие приложения будут установлены на сервер. К тому времени можно забыть, что безопасность нашего сервера зависит от этих изменений.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments31

Безопасная загрузка изображений на сервер. Часть первая

Reading time10 min
Views137K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

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

Проводимые тесты показали, что многие веб-приложения имеют множество проблем с безопасностью. Эти «дыры» предоставляют злоумышленникам обширные возможности совершать несанкционированные действия, начиная с просмотра любого файла на сервере и закачивания выполнением произвольного кода. Эта статья рассказывает об основных «дырах» безопасности и способах их избежать.
Читать дальше →
Total votes 77: ↑69 and ↓8+61
Comments57

1000 замечательных иконок для веб страниц

Reading time1 min
Views6.6K

Fugue Icons


image
Отличный пак из 1000 иконок в размере 16x16

Эти иконки распространяются по лицензии Creative Commons Attribution 3.0 license.

Ссылка на сайт
Скачать пак | Посмотреть иконки (1199.25 КБ)
Total votes 127: ↑98 and ↓29+69
Comments43

Специальные HTML-символы в TinyMCE и в других WYSIWYG-редакторах

Reading time1 min
Views2.8K
Сегодня один клиент пожаловался, что никак не может на своем сайте, разработанном на Joomla, вставить самый обычный специальный символ Δ, который прописывается с помощью HTML-entity:
&Delta;

И действительно, оказалось, что этот символ не сохраняется в тексте, не зависимо от того, добавляете ли вы его с помощью кнопки «Insert Custom Character», или просто вставляете, переключившись в режим HTML. В итоге, символ просто заменяется на вопросик (кодировка сайта, при этом, UTF8).

Подозреваю, что аналогичная проблема и со многими другими специальными HTML-символами.

Для Joomla я нашел только один выход (этот совет приведен здесь: www.compassdesigns.net/joomla-blog/Editing-HTML-in-a-Joomla-Module-or-Article.html): при необходимости пользоваться такими символами, нужно создать отдельного пользователя и в качестве редактора прописать ему «No Editor». В этом случае все спец. символы сохраняются нормально. Очевидно, что это не очень «красивый» выход, все-таки нужно перелогиниваться и обладать некоторыми навыками HTML-кодирования, к тому же необходимо все время помнить, какие материалы можно редактировать в WYSIWYG-редакторе, а какие нельзя.

Может быть, кто-нибудь знает альтернативные решения? Или посоветует более надежный/удобный визуальный редактор для Joomla (и, возможно, других CMS)?

UPDATE: Проблема была в версии Joomla (у клиента стоит еще Joomla 1.5.2). По крайней мере, на последней (1.5.7) все работает правильно.
Total votes 6: ↑2 and ↓4-2
Comments9

Information

Rating
Does not participate
Registered
Activity