Как устроены индексы в MySql, чем отличается индексирование в двух наиболее популярных движках MyISAM и InnoDb, чем первичные ключи отличаются от простого индекса, что такое кластерные индексы и покрывающие индексы, как с помощью них можно ускорить запросы. Вот как мне кажется наиболее интересные темы которые раскрою в этой статье. Тут же постараюсь подробно раскрыть тему с позиции того как работает этот механизм внутри. Буквально на пальцах и с позиции абстракций а не конкретики. В общем чтоб было минимум текста и максимум понятно.
Developer
В поисках пропавшего программиста. Новогодний квест
Всем здравствуйте.
Вот в преддверии нового года решил написать, такой экспериментально развлекательный пост-квест. Сил на серьезную статью уже нет, и мысленно находясь уже на каникулах, решил немного развлечь «хабронаселение» сим творением. Тем кто решиться разгадать эту тайну придется немного выбраться за пределы «хабра» и расследовать таинственное исчезновение одного незадачливого программиста.
А если серьезно, то это несколько занимательных, несложных задачек связанных незатейливым сюжетом. Ценителям жанра думаю «зайдет», да и просто тем кто любит задачки на логику. Для разгадки достаточно будет элементарных знаний в программировании.
Всем приятного чтения, надеюсь квест вам понравится.
Как работают кодировки текста. Откуда появляются «кракозябры». Принципы кодирования. Обобщение и детальный разбор
Чтобы получить детальное понимание этого вопроса придется прочитать и свести воедино не одну статью и потратить довольно значительное время на это. В данном материале же это все собрано воедино и по идее должно сэкономить время и разбор на мой взгляд получился довольно подробный.
О чем будет под катом: принцип работы одно байтовых кодировок (ASCII, Windows-1251 и т.д.), предпосылки появления Unicode, что такое Unicode, Unicode-кодировки UTF-8, UTF-16, их отличия, принципиальные особенности, совместимость и несовместимость разных кодировок, принципы кодирования символов, практический разбор кодирования и декодирования.
Вопрос с кодировками сейчас конечно уже потерял актуальность, но все же знать как они работают сейчас и как работали раньше и при этом не потратить много времени на это думаю лишним не будет.
Запускаем PHP-скриптики через php-fpm без web-сервера. Или свой FastCGI-клиент (под капотом)
Приветствую всех читателей "Хабра".
Дисклеймер
Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение".
Вступление
В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с которой пришлось столкнуться во время рабочего процесса. А именно, нам понадобилось запускать в цикле кучу php скриптов. О причинах и о спорности подобного архитектурного решения в данной статье распространяться не буду, т.к. собственно она и не про это вовсе, просто была задача, ее нужно было решить и решение показалось мне достаточно интересным чтобы им поделиться с Вами, тем более манов по данному вопросу в интернете я не нашел совсем (ну разумеется кроме официальных спецификаций). Спеки конечно это хорошо и в них конечно все есть, но думаю вы согласитесь, что если вы не особо знакомы с темой, да и еще и ограничены по времени то разбираться в них то еще удовольствие.
Странные они, статические переменные в PHP
Дисклеймер: данная статья не явит вам какого то откровения и не откроет третий глаз, но позволит разобраться в не очень очевидном вопросе более детально. Мне по крайней мере при ее написании она в этом помогла. Если вы матерый волк в php то можете не читать, опытным человекам думаю не повредит пробежать глазами, освежить так сказать в памяти, остальным будет норм.
Итак...
Статические переменные, в php это особый вид переменных, которые объявляются при помощи ключевого слова static.
static $foo = 3;
От обычных переменных они отличаются тем что (далее в статье эти пункты будут рассмотрены более подробно):
- могут быть присвоены только константы и константные выражения
- время жизни статической переменной не ограничено временем жизни области видимости в которой она была объявлена
- могут быть определены в скрипте лишь однажды
- не уничтожаются до конца выполнения скрипта
Теперь по порядку.
1. Могут быть присвоены только константы и константные выражения
Это значит что в статическую переменную не может быть присвоен результат работы какой-либо функции или метода, или вообще что-либо что еще не известно на этапе компиляции. То есть вот такое объявление не сработает
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность