Разгрузи свою голову! GTD с Ticktick и OneNote

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

Мягкое воспитание по Петрановской

Недавно я прочел две книги известного детского психолога Петрановской: «Что делать, если с ребенком трудно» и «Тайная опора. Привязанность в жизни ребенка».

Книги понравились и содержанием, и умеренной лаконичностью, и честностью (автор не претендует на безусловную научность), и юмором, и балансом между теорией и примерами из жизни.Продолжить чтение →

Deferred и promise в jQuery, или как избавиться от вложенных коллбэков.

Что плохого в коллбэках (callback)

В колбэках, в общем-то, ничего плохого нет. Проблема может возникнуть, однако, когда вы хотите, чтобы один колбэк вызывался строго после выполнения другого. Например, вы отправляете AJAX-запрос, и только когда будет получен ответ, вы хотите отправить еще один запрос с другой колбэк-функцией. Отлично. Но что если у вас три, четыре, десять таких пар запрос-колбэк? Что, если вы хотите отправить три запроса на сервер, а колбэк-функцию вызвать, только когда все три вернут что-то с сервера? Всё это может привести к печально выглядящему коду:Продолжить чтение →

Устанавливая границы

Вчера я прочитал очередную книгу о воспитании, Setting Limits Роберта Маккензи. Автор не противоречит другим ведущим специалистам по воспитанию детей, не добавляет чего-то радикально нового, но всё же книга достойна внимания. Это не комплексное пособие по воспитанию, а скорее инструкция по обращению с плохим поведением у непослушных детей.Продолжить чтение →

Сравнение с NULL в SQL

В SQL нельзя в условии запроса (ON, WHERE) сравнивать с NULL. То есть

SELECT * FROM SomeTable WHERE SomeColumn != NULL;

SELECT * FROM SomeTable WHERE SomeColumn <> NULL;

SELECT * FROM SomeTable WHERE SomeColumn = NULL;

Все эти запросы не приведут к ожидающимся результатам, а именно, те строки, которые все будут равны NULL (в последнем случае) или не будут ему равны (в первых двух) не попадут в результат.Продолжить чтение →

В чем разница между 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 для итерации по массиву

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