Pull to refresh
0
0
Ден @MARDEN

User

Send message

Средства создания горячих BackUp`ов MySQL

Reading time3 min
Views33K
Доброго времени суток. Недавно я задался вопросом о том, как делать горячие BackUp`ы MySQL-серверов — ниже компиляция из прочитанного. Заранее хочу сказать, что данный пост является скорее большой заметкой, чем полноценной статьёй. Я намеренно уклоняюсь от описания синтаксиса — на эту тему уже немало написано — я же ставил перед собой другую цель — составить краткий обзор основных методов с характерными особенностями:
далее
Total votes 57: ↑53 and ↓4+49
Comments49

jQuery Tools v1.0.1

Reading time1 min
Views3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.
Total votes 158: ↑152 and ↓6+146
Comments85

Превентивная защита ваших и не ваших скриптов

Reading time1 min
Views30K
Наверное не ошибусь если скажу, что очень большая часть мегахакерских_взломов основаны на закачке PHP-скрипта в каталог, доступный для записи в него файлов скриптами (0777, например). Это каталоги для заливки фотографий товаров, аватарок и т.п.

Я еще несколько лет назад «допер» до способа предотвратить на корню подобные вещи. Закачать — может и закачают, а воспользоваться не смогут. Это казалось очевидным все это время, но мало кто это реализовывает. К примеру, только в последнем патче популярного форума SMF была добавлена подобная штука.
Поэтому, для тех, кто не задумывался…

Всё просто. Во все каталоги, доступные для записи, закачиваем (или добавляем строчки к существующему) .htaccess с содержимым:

php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

Этим самым мы отключаем PHP в данном каталоге и заставляем все скрипты отображаться как HTML.
Это можно сделать просто на всякий случай. Лишним уж точно не будет.
Разумеется, только для Apache. Если кто-то знает как подобное реализовать в IIS — напишите. :)
Total votes 132: ↑100 and ↓32+68
Comments90

Определяем порядок столбцов в составном индексе

Reading time5 min
Views22K
Хочу поделиться простым эмпирическим методом, который я использую для определения того, в каком порядке должны идти столбцы в составном индексе. Этот способ подходит не только для MySQL, он также применим к любым СУБД, в которых используются b-tree индексы.

Давайте начнем с запроса, который возвращает пустой результат, но при этом делает полный скан таблицы. EXPLAIN покажет на нем, что нет доступных индексов (т.е. possible_keys = NULL)

SELECT * FROM tbl
WHERE
  status='waiting' AND
  source='twitter' AND
  no_send_before <= '2009-05-28 03:17:50' AND
  tries <= 20
ORDER BY date ASC LIMIT 1;
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments17

Хелперы. Полезные манипуляции со строками

Reading time3 min
Views6.2K
CakePHP поставляется с кучей полезных хелперов и компонентов, которые обеспечивают удобные инструменты для обработки и манипулирования данными. Эти хелперы значимы не только для пользователя фреймворка, но и могут оказать большую помощь кому-нибудь кто пишет PHP приложения не используя CakePHP.
далее...
Total votes 19: ↑14 and ↓5+9
Comments22

Настройка отладчика в Nusphere PhpEd для удаленной отладки веб-сервисов

Reading time3 min
Views12K
В Nusphere PhpEd есть отладчик для php-скриптов, который позволяет отлаживать и профилировать веб-сервисы любой сложности и с любой структурой на удаленном сервере. Единственный требования для его нормальной работы — это открытый порт на компьютере, с которого происходит отладка, и подключение модуля отладчика, который идет в поставке с PhpEd, к php.

How it's made?
Total votes 24: ↑17 and ↓7+10
Comments7

Как правильно использовать исключения

Reading time3 min
Views15K
Жаль, если ваше изучение концепции исключений закончится чтением соответствующего раздела официальной документации по вашему языку.

Изучив синтаксис конструкции try{...}catch(Exception $e){...}, узнав о возможности создавать собственные классы исключений, наследуя их от класса Exception и поверхностно осознав мощь оказавшегося в ваших руках механизма, дальше вы можете пойти по одному из двух путей:
  • Начать тут же использовать исключения. Скажем, прикручивать их к системе, в которой они никогда не использовались. Или приколачивать их к проекту, в котором ООП и не пахнет. Или, что самое ужасное, пытаться использовать их повсеместно, особенно там, где это не нужно.
  • Попытаться понять, где их применять, как делать это правильно, и зачем они нужны.

Читать дальше →
Total votes 122: ↑109 and ↓13+96
Comments98

Использование SQLite в .NET приложениях

Reading time7 min
Views159K


В некоторых проектах достаточно часто возникает необходимость в хранении данных, объем которых уже нельзя назвать маленьким, но в тоже время использовать какую-либо СУБД слишком накладно из-за сложности развертывания приложения. И тут на помощь приходит такая прекрасная вещь как SQLite – компактная встраиваемая база данных.

Для тех, кто пишет с использованием платформы .NET приятным моментом станет наличие
Читать далее...
Total votes 61: ↑52 and ↓9+43
Comments48

Определение размеров текста

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

После небольшого исследования выяснилось, что не всегда данный размер возможно получить обычными способами. Будь то методы jQuery, prototype или обычное обращение к параметрам DOM.

Хотелось бы поделится небольшой функцией, которая может сотворить чудо, и выяснить беспрекословно требуемые размеры с помощью клонирования.

Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments35

ООО «Снежинка» — Часть 2. Рассматриваем различные аспекты регистрации и начинаем работать

Reading time10 min
Views1.6K
Этот хабратопик навеян топиком ООО «Снежинка» — Часть 1. Пошаговое руководство по регистрации..
Так как после моих слов в комментариях о потенциальной возможности написать продолжение моя карма вышла в плюс, эту возможность было решено не упускать.

Здесь речь пойдет о небольшой фирме работающей в сфере услуг.

Мы кратко рассмотрим следующие вопросы:
  1. Регистрация через фирму или собственными силами?
  2. Юридический адрес: покупать или нет?
  3. Уставной капитал: какой и в какой форме?
  4. Открытие расчетного счета в банке (потенциальные сложности)
  5. Работа с наличными средствами, зарплата, интернет-банкинг

Читать дальше →
Total votes 109: ↑101 and ↓8+93
Comments51

Юнит-тестирование в PHP

Reading time13 min
Views187K
Язык PHP очень легок для изучения. Это, а так же обилие литературы «Освой _что_угодно_ за 24 часа» породило большое количество, мягко говоря, некачественного кода. Как следствие, рано или поздно любой программист, который выходит за рамки создания гостевой книги или сайта-визитки сталкивается с вопросом: «а если я здесь немножко добавлю, все остальное не ляжет?» Дать ответ на этот вопрос и на многие другие может юнит-тестирование.

В самом начале хочется оговориться — здесь речь не будет идти о TDD и методологиях разработки ПО. В данной статье я попробую показать начинающему PHP-разработчику основы использования модульного тестирования на базе фреймворка PHPUnit
Начнем?..
Total votes 97: ↑90 and ↓7+83
Comments90

Range, TextRange и Selection

Reading time13 min
Views78K
Многим JavaScript-разработчикам приходилось сталкиваться с объектами, перечисленными в заголовке, например, при решении следующих задач:
— создание визуальных редакторов (wysiwyg),
— поиск в окне браузера,
— выставление BB-кода,
и т.д.

В этой статье автором предпринята попытка собрать перевод документации об этих объектах в одном месте + написать небольшие сопроводительные примеры. Перевод вольный, не дословный, так что если встретите неточность или корявую формулировку — пишите в комментариях.

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

Читать дальше →
Total votes 96: ↑96 and ↓0+96
Comments28

Ускоряем выборку произвольных записей MySQL

Reading time3 min
Views33K
Последнее время оживилась публика с вопросом случайной выборки из таблицы. Решений по оптимизации полно, и нового сейчас я вам наверное ничего не покажу, просто напомню про основные методы оптимизации — упрощение запроса и индексацию. Без предисловий про фриленсеров, сразу к делу ;)

Читать дальше →
Total votes 59: ↑50 and ↓9+41
Comments22

10 отличных приемов с .htaccess для WordPress

Reading time4 min
Views32K
Внимание!
Перед изменением файла .htaccess не забудьте сделать его резервную копию.


1 — Перенаправляем WordPress RSS поток на feedburner с использованием .htaccess
Почему некоторые вебмастера не используют feedburner? Ведь это такой замечательный инструмент для контроля за подписками на RSS. Проблема в том, что приходится руками исправлять файлы шаблонов. Этот прием поможет сохранить Ваше время.
И не забудьте исправить в строке 6 на Ваш код

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ httр://feeds2.feedburner.com/wordpress[R=302,NC,L]
</IfModule>


Читать дальше →
Total votes 72: ↑62 and ↓10+52
Comments29

Расчет периодов стажа в MySQL

Reading time3 min
Views7.2K
На одном форуме задали вопрос о том, как правильно посчитать разность дат в MySQL для учета стажа сотрудника. На первый взгляд вопрос оказался простым, но при детальном рассмотрении все оказалось куда интереснее.
Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments10

8 отличных хитростей jQuery

Reading time4 min
Views28K
imageКому не нравится jQuery? Это быстрая и простая javascript-библиотека стала очень популярной в 2008 году. В этой статье я собрал список восьми очень полезных jQuery-техник, советов и хитростей.
Читать дальше →
Total votes 122: ↑95 and ↓27+68
Comments85

Выборка произвольных записей в MySQL

Reading time4 min
Views108K
Есть вроде бы обычные задачи, которые можно решить сразу и не задумываясь, но при интенсивном использовании таких решений возникают проблемы, причем не маленькие. Об одной из таких задач я и хочу рассказать.
Почитать интересную статью
Total votes 44: ↑28 and ↓16+12
Comments142

Audiotag.info — новый сервис распознавания музыки

Reading time2 min
Views38K


Александр Радзишевский, владелец небезызвестого ресурса www.websound.ru, на днях открыл сервис AudioTag, позволяющий узнать имя исполнителя и название композиции по небольшому фрагменту композиции — достаточно загрузить лишь 15-30 секундный отрывок (или композицию целиком).

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

— алгоритм скорее не распознАет трек, чем распознает его неверно
— алгоритм распознаёт треки с некоторой вероятностью
— в случае нахождения нескольких вариантов, результат сортируется по этой вероятности
— распознаются ускоренные и зашумлённые треки
— музыкальная база содержит более миллиона треков, в том числе немало русских
— интеграции с плеерами (пока?) нет, только онлайн
— денег не берут

Секреты алгоритма создания слепков и источника музыкальной базы автор не раскрывает. Однако, что касается первого — они уже существуют (хоть я и не понимаю как это чудо работает, но по форме это что-то вроде MD5), а по второму вопросу, возможно, были задействованы ресурсы какого-нибудь «знакомого» онлайн-магазина — всё-таки миллион треков это очень много, да и вряд ли Алекс держит в личном архиве столько попсы :)

Читать дальше →
Total votes 51: ↑45 and ↓6+39
Comments49

Решение проблем с заказчиком, или всегда ли клиент прав?

Reading time3 min
Views4.7K
Навеяно статьей из личного опыта руководителя проектов. Действительно, бывают ситуации, когда заказчики попадаются «сложные», то есть несговорчивые, всем недовольные, лезущие во все аспекты создания сайтов, и имеющие свое, зачастую, неверное мнение, которое они отстаивают так, будто от этого зависит их жизнь. Таких в народе нежно зовут «требовательными». Итак, попробуем разобраться как с такими заказчиками вести дела, стоит ли к ним прислушиваться, и самое главное, как вообще избежать этих проблем. Пусть ситуация будет следующая: студия сделала хороший дизайн (важно что бы дизайн был действительно хорош, а иначе заказчик не требовательный, а просто разумный), а заказчик его не принимает, потому что «эти буквы должны быть больше, фон должен быть желтым, а тут должна быть телка с мобилой». Ситуация тоже взята с вышеназванной статьи.
Читать дальше →
Total votes 5: ↑3 and ↓2+1
Comments35

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity