Pull to refresh
1
0
Георгий Мамедалиев @gerchik

User

Send message

Поиск: FULLTEXT или LIKE?

Reading time2 min
Views40K
Наверное каждый разработчик подходил к моменту выбора между двумя решениями одной задачи и естесвенно решающим фактором выбора является наиболее быстрый способ (по времени процесса). Так и я в ходе разработки поиска для своей CMS задался вопросом: что лучше, делать поиск по базе используя полнотекстовой индекс или с помощью оператора сравнения LIKE, имея небольшое количество информации.

Для того, чтобы ответить на свой вопрос я провел небольшой опыт: создал таблицу с четырмя полями (два из которых использовались для поиска и были проиндексированы FULLTEXT'ом) содержащую 5 000 строк. Поля по которым производился поиск содержали по 255 символов, случайно выбранных из одного большого текста. Поиск производился так же по случайным словам не короче 4-х символов.
Читать дальше →
Total votes 52: ↑46 and ↓6+40
Comments67

IP География

Reading time2 min
Views14K
Недавно мне пришлось иметь дело с программой для ведения статистики кликов некой системы обмена объявлений. При щелчке как обычно собиралась информация о клике (на какой странице произошло, во сколько, браузер, ИН объявления и IP). В представлении статистики состояла задача — узнать город из которого произошел переход. Раньше я этим не интересовался особо поэтому только сечас у меня началось более глубокое знакомство с GeoIP системами.

Кроме того как это удалось
Я расскажу еще о некоторых интересных сервисах
Total votes 22: ↑19 and ↓3+16
Comments32

Подсветка синтаксиса в статьях с использованием GeSHi

Reading time3 min
Views4.8K
На Хабре, GeSHi упоминался в комментариях, но статей по его использованию не было. Мы рассмотрим использование GeSHi для автоматической подсветки синтаксиса в тексте статей или сообщений на сайте.

GeSHi (Generic Syntax Highlighter) позволяет подсвечивать синтаксис кода, написанного на любом из более 80 языков. GeSHi использует подключаемые файлы с описанием синтаксиса языков, что обеспечивает простоту добавления новых описаний. GeSHi написан на PHP.

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments13

Сохранение по Ctrl+S в браузере

Reading time2 min
Views11K
Могу ошибаться, но решения данной проблемы на Хабре еще не приводилось, так что позвольте поделиться с вами полезным куском кода. Задача: по нажатию Ctrl+S заблокировать браузерный диалог о сохранении страницы и запустить пользовательскую функцию.

Читать дальше →
Total votes 54: ↑44 and ↓10+34
Comments91

Западные биржи фрилансеров — вывод заработанных средств

Reading time1 min
Views12K
Ни для кого не секрет, что многие фрилансеры с постсоветского пространства успешно работают на Запад через посредников, крупные западные биржи фрилансеров, такие как oDesk, RentACoder, GetAFreelancer и eLance. До недавнего времени получение заработанных своим трудом средств было проблематично, все биржи как одна предлагали выслать чек (с которым потом не совсем понятно что делать), либо выплаты в системе PayPal (которая для стран СНГ неприемлема из-за своих ограничений). Но в течение последнего года произошли разительные перемены: все перечисленные выше биржи одна за другой предложили новый метод выплаты — дебетовые карты от компании Payoneer
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments66

«Типографские» раскладки клавиатуры

Reading time6 min
Views29K
По просьбам трудящихся коснёмся темы «типографских» раскладок клавиатуры. То есть, как системных средств Windows, так и сторонних программ, позволяющих вводить различные специальные символы с помощью клавиатуры (обычно, правой клавиши Alt, она же AltGr).

Большинство вспомнят раскладку Ильи Бирмана, но она не идеальна для нужд контент-менеджера или дизайнера. Заслуга её в том, что Рунету был продемонстрирован путь создания таких раскладок.

Также в самом начале скажу, что по моему мнению и мнению некоторых моих коллег использование «типографской» раскладки клавиатуры при определённом навыке (который нарабатывается за неделю-две) гораздо эффективнее в смысле соотношения затрат сил и качества набранного текста, чем использование «автоматизированных типографов» вроде лебедевского и других. Проблема в том, что автотипографы всё равно не справляются с типографированием текстов идеально. А как показывает наша практика, искать ошибки в типографированном тексте тяжелее, чем типографировать текст «с нуля». Конечно же, это в меньшей мере относится к случаям, когда необходимо типографировать длинные литературные тексты, где автотипографы справляются относительно хорошо, а затраты на ручное типографирование весьма велики.

В статье я перечислю известные решения для создания и использования «типографских» раскладок, а в конце расскажу о том, чем мы с коллегами пользуемся сами.

Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments84

Как правильно уволить айтишника

Reading time5 min
Views14K
Джозеф Пауэлл начал подозревать неладное, когда его админ отказался уступить права администратора к бухгалтерскому софту. Пауэлл, который работал управляющим в частной школе, стал замечать и другие странности. Когда школьное руководство всё-таки заставило админа сообщить логин и пароль, Джозеф обнаружил то тут, то там намеренные ошибки в школьной базе данных. «Мы также заметили, что наша сеть работает гораздо хуже, когда он был недоволен тем или иным решением руководства по отношению к нему», — говорит Пауэлл.

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

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

Кошмар Пауэлла является наглядным примером, почему увольнение айтишника может превратиться в мудрёную задачу. Это сотрудники, у которых хранятся ключи от самого ценного, они могут слить конфиденциальную информацию в несколько нажатий клавиш или отключить кого угодно от сети. Так что же делать, когда нужно уволить кого-то из них в таких сложных условиях?
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments126

Верстка: реализация «резиновых» кнопок

Reading time2 min
Views6.7K
Практически на каждом сайте нужно реализовывать меню. Обычно в этом нет никакой проблемы — заворачиваем все в ненумерованный список — ul, прописываем все наобходимые стили и готово.
Но очень часто дизайнеры, пытаясь создать очередной мегаопупительный макет, делают какие-либо 3D кнопки, либо кнопки с закругленными краями и кучей градиентов, либо еще что либо ужасное :)

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

Читать дальше →
Total votes 56: ↑49 and ↓7+42
Comments56

Работаем с массивами в JavaScript без велосипедов

Reading time2 min
Views42K
Эту статью я хочу посвятить тонкостям работы с массивами в JavaScript.

Наверное, у каждого JavaScript-разработчика есть фунции (самописные или библиотечные) $ (выбор элемента по id) и $$ (выбор элементов по CSS-классу). Если мы выбираем несколько элементов по CSS-классу, то мы хотим произвести с ними определенные действия. Напрашивается цикл. А если нужна выборка среди них? Преобразования? Действия над нужными элементами? Непростой получается код.

JavaScript не стоит на месте, Mozilla неустанно улучшает JavaSript в своем движке Gecko и грех не пользоваться этими нововведениями. В JavaScript 1.6 добавлены новые полезные методы для упрощения кода, необходимого в вышеописанных ситуациях.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments57

Разница между разметкой и представлением

Reading time4 min
Views1.4K
Прочитав комментарии к заметке Firefox 3: * {display: block } bug, понял что заметная часть читателей Хабра, в том числе серьёзно занимающиеся веб-разработкой, не совсем верно представляют себе что-то же такое HTML, и почему теги отображаются так, а не иначе.

Читать дальше →
Total votes 143: ↑139 and ↓4+135
Comments120

Самая большая база данных в мире — в Yahoo! И работает она на PostgreSQL!

Reading time2 min
Views20K
Яху!Компания Yahoo утверждает, что ей удалось побить мировой рекорд, создав самую большую и нагруженную базу данных в мире!

Объём запущенной год назад базы данных достиг 2 петабайт. Система создана для аналитических целей, в ней хранится история поведения веб-пользователей (утверждается, что в месяц сохраняются данные о полумиллиарде пользователей). Помимо прочего, интернет-гигант заявляет, что это не только самая большая БД в мире, но ещё и самая нагруженная — в сутки в ней регистрируются данные о 24 млрд событиях.
Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments53

И ещё раз о договорах

Reading time1 min
Views1K
Добрый день, уважаемые! После прочтения топиков о договорах, захотелось поделиться с Вами своими наработкаи в этой области.
agreement.pdf
Пользуюсь этим договором последние пол года, проблем не возникало. Договор рассчитан на програмную составляющую сайта.
Если кому-то поможет, буду только рад!
Total votes 18: ↑13 and ↓5+8
Comments14

Рабочая библиотека веб-типографа и контент-менеджера

Reading time4 min
Views7.6K
Несмотря на то, что основной инструмент работы веб-типографа и контент-менеджера — это Интернет, пока ещё не весь корпус полезных для нас материалов переведён в электронную форму. Поэтому я решил перечислить те бумажные книги, которые стоят у меня на отдельной полке, и на которые не успевает оседать пыль из-за постоянного их использования.

Список книг будет разбит на группы по темам, и каждая из них — на группы «обязательно прочесть и иметь» и «можно прочесть и иметь» (это выделение безусловно субъективно, так что спорить насчёт него не буду точно). В принципе, большинство книг есть в широкой продаже, в том числе и в крупнейших российских интернет-магазинах. Некоторые есть в отсканированном виде и их можно найти в Интернете.

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


Читать дальше →
Total votes 86: ↑82 and ↓4+78
Comments47

Обновление IETester

Reading time1 min
Views24K
Была приятна удивлена, прочитав свежие заголовки RSS одного из моих избранных сайтов.
Вышла новая версия веб-браузера IETester, позволяющая просматривать и тестировать сайты в IE8 beta 1, IE7 IE 6 и IE5.5 под Vista и XP.
Ссылка на домашнюю страницу разработчика www.my-debugbar.com
Скачать можно здесь
Total votes 46: ↑45 and ↓1+44
Comments36

О математике

Reading time4 min
Views11K
Несколько лет назад одна моя знакомая с гуманитарным образованием сказала: «Да что у вас в математике, все строго, все открыто, 2+2 всегда равно 4, скукота». К сожалению я еще был школьником и достойно ответить не смог.


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

Людям, использующим математику на практике, понятно, что это не так. Они представляют, зачем может понадобиться то или иное. Но что делать другим? Вот, например, урок в обычной школе:

«Сегодня мы узнаем, что такое синус угла. Синус — это отношение длины противоположного катета к длине гипотенузы… Что, Иванов, у тебя вопрос?… Зачем это нужно? Понимаешь, это основа тригонометрии, которая используется в частности в аналитической геометрии… Иванов! Да ты спишь что ли?»

В это время Иванову снился сон, в котором он был великим математиком давних времен:
Читать дальше →
Total votes 114: ↑96 and ↓18+78
Comments218

Проектирование баз данных. Паттерн Компоновщик (Composite)

Reading time4 min
Views17K
Web 2.0 победоносно шагает по виртуальному миру. Социальные сети растут как грибы после дождя. Теперь в одном месте вы можете хранить свои фото, видеозаписи, писать блоги и слушать музыку. Все это можно комментировать, класть в избранное, копировать… Возможностей много, контент социальных сетей разнородный и разнообразный, и в этом их преимущество.

А теперь представьте себе структуру БД какого нибудь «Вконтакте». Представили? И что вы видите? Множество таблиц с данными? А что еще? Множество таблиц для связей много-ко-многим! Необходимых, с точки зрения реляционной БД, но лишних с точки зрения логики. Но это еще не все. Среди полей таблиц мы видим огромное количество «лишних» полей, являющихся всего лишь внешними ключами, служащими для связей один-ко-много, так же необходимых с точки зрения реляционной теории, но абсолютно бесполезных с точки зрения логики.
Читать дальше →
Total votes 51: ↑47 and ↓4+43
Comments98

Новый движок JavaScript от Apple

Reading time1 min
Views2.2K
Несколько дней назад разработчики Safari анонсировали новый движок JavaScript — SquirrelFish (БелкоРыба, или для большей русско–звучности Рыба–Белка).

SquirrelFish значительно опережает по производительности JS машины, которые используется в WebKit 3.0 и 3.1 (порядка 60% быстрее). Более того, он на 46% быстрее, чем SpiderMonkey, движок используемый Mozilla в текущих версиях FireFox, и на 52% быстрее Tamarin, который используется в Adobe Flash 9 и портируется для использования в FireFox.

David Mandelin написал очень интересный пост, анализирующий то, за счет чего SquirrelFish добился таких результатов. Коротко — используя технологии не очень стандартные для «классического» интерпретатора (в особенности, построив интерпретатор с использованием регистров, а не стэка и прямую адресацию потоков).

По следам этого анализа появились даже предположения, что Apple расстанется с AppleScript как средой скриптования в Mac OS и полностью перейдет на JavaScript.
Total votes 45: ↑40 and ↓5+35
Comments49

Что такое «хорошее» ТЗ на сайт?

Reading time11 min
Views67K
caricat.gifЯ могу припомнить на удивление мало материалов, посвященных проектированию сайтов и программ на русском языке, написанных русскоязычными авторами. Этому способствует и преимущественно экспортно-ориентированная разработка (оффшор) и отсутствие массового опыта создания информационных продуктов в нашей стране.
Надеюсь, что эта статья пригодится тем разработчикам и IT-менеджерам, кто ощутил перед собой проблему составления качественных документов на разработку сайта. Документов, которые кроме испорченной бумаги были бы хоть чем-то полезны.
Читать дальше →
Total votes 117: ↑113 and ↓4+109
Comments88

Страны, регионы, города

Reading time1 min
Views120K
Карта мира
Хочу поделиться базой стран, регионов и городов на русском языке. Возможно, кому-то пригодиться в своих проектах. В базе 106 стран, 922 региона и 10969 городов!

Если кто не понял о чем речь, то вспомните, например, как на ВКонтакте указывается город: выбирается страна -> подгружается список регионов -> выбирается регион -> подгружается список городов

Читать дальше →
Total votes 124: ↑122 and ↓2+120
Comments128

Information

Rating
Does not participate
Location
Dallas, Texas, США
Date of birth
Registered
Activity