В чем разница между isset, empty, is_null и ??

Методы isset, empty и is_null, в общем, интуитивно понятны. isset проверяет на существование, empty на «пустое» значение, а is_null, как это понятно из названия, проверяет значение на null, но во-первых, эти функции отчасти пересекаются в функционале, а во-вторых, их результата не всегда интуитивно понятен. В PHP 7.0 появился еще и оператор ??, который проверяет на существование и null одновременно. Здесь я составил шпаргалку по их использованию (наиболее неочевидные вещи выделены жирным):Продолжить чтение →

Как читать быстрее

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

Рецензия на JavaScript für Enterprise-Entwickler (Oliver Ochs)

Книга Оливера Окса полезна уже состоявшимся разработчикам. Стиль автора отличает лаконизм, поэтому «воды» в книге почти нет. Главы, посвященные основам синтаксиса, которые обычно присутствуют в книгах по языкам программирования, также отсутствуют, так что то, что в книгу все же попало, практически без исключения представляет интерес для подготовленного программиста.Продолжить чтение →

Рецензия на книгу «Берлин» Сумленного

Книга Сергея Сумленного может быть интересна не только людям, собирающимся переехать в Берлин, или туристам, но и всем любителям истории и географии — настолько тщательно автор подошел к своему труду. Берлин после прочтения становится понятен так, будто прожил там год.

После прочтения многие стереотипы о Германии и немцах остаются развенчанными, а копилка любопытных фактов в голове наполняется несколькими изумрудами.Продолжить чтение →

Как выбрать функцию PHP для итерации по массиву

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

Передача большого числа аргументов в функцию PHP

Постановка задачи

Часто функции требуют большого числа аргументов. Иногда это нужно сразу при её написании, а иногда количество аргументов разрастается при рефакторинге или появлении нового функционала. Помимо того, что иметь, скажем, десять аргументов в функции или методе — просто не эстетично, это создаёт и дополнительные сложности.Продолжить чтение →

Челябинский (+уральский) диалект русского языка

Мне кажется несправедливым, что в государствах Европы, США и других странах люди бережно относятся к своему историческому наследию, к своей местной культуре, тогда как в России по большей части что-то местное в лучшем случае игнорируется, а в худшем — высмеивается как провинциализм. Я же считаю, что в такой большой стране, как Россия, и у такого большого этноса, как русские, обязательно должны быть свои местные культуры, обогащающие объединяющую общерусскую. Поскольку автор этих строк происходит из Челябинска, и все челябинские регионализмы для него не абстракция, а живая речь, то данная статья и посвящена челябинскому «диалекту», ну а также «прицепом» и уральскому, так как большая часть слов и выражений характерна для всего Уральского региона, а многое — и для Сибири.Продолжить чтение →

Рецензия на «Колымские рассказы» Шаламова

Вообще, я не любитель «тюремной» прозы. Однако, «Колымские рассказы» Варлама Шаламова вовсе и не кажутся таковой. Во-первых, рассказы написаны талантливым литератором, а во-вторых — центральные их персонажи вовсе не воры и убийцы, а вполне себе интеллигентные люди: инженеры, художники, рабочие, врачи… В общем, что-то вроде советского «среднего класса». Да и люди эти не «оступились», а просто стали случайными жертвами репрессивной машины. В общем, их судьбой проникаешься, сопереживаешь им. В отличие от Солженицына, писатель создал скорее не памятник невинным жертвам советских репрессий, а живое полотно, персонажи которого не только страдают, борются или сдаются, но и радуются мелочам, подстраиваются, привыкают. Да и тема репрессий — лишь внешняя обертка. Это не самоцель, как у Солженицына. Можно относиться к связующей теме, как к исследованию поведения обывателя в чрезвычайных обстоятельствах. Вот только здесь не про шпионов, жертв гипотетического зомби-апокалипсиса или голодающих членов полярной экспедиции, но ведь ужас пережитого и его отличие от прежней жизни настолько же интенсивны. Психологические портреты реалистичны, ситуации, в которые попадают герои, жизненны, хоть и экстремальны. Тем разворачиваюшаяся картина и драматичнее.Продолжить чтение →

Функции в сравнениях (WHERE) в SELECT-запросах

При наисании SELECT-запросов к базе часто бывает соблазн выбрать что-то за конкретную дату или месяц, либо, например, сравнить две строки без учета регистра — это те случаи, когда часто неоправданно используются Postgresql-функции в условиях запроса.Продолжить чтение →

Рецензия на The Fall of The Ottomans

Книга Юджина Рогана «Падение Османов» (The Fall of the Ottomans) интересна тем, что описывает события, практически не освещенные не только в российских книгах, но и в англоязычных. До недавнего времени даже российское участие в Первой мировой войне было слабо описано, уж что говорить про Османскую империю. Тем книга и зацепила, тем более, что Роган — признанный эксперт по Первой мировой.

Несмотря на то, что Роган сделал попытку описать события с Османской стороны, в его книге, однако, больше внимания уделено британской армии, хотя видно, что он старался. Намного меньше деталей в описаниях действий российской и французской армий, но, тем не менее, это в книге тоже есть.Продолжить чтение →

Яндекс.Метрика