На днях посмотрел фильм «Франц» Франсуа Озона. Он оставил отличное послевкусие. Давно я не видел фильма, который заставил бы меня достаточно долго размышлять уже после его просмотра.
Коварство NOT IN в SQL (следите за NULL!)
Некоторые вещи в SQL совсем не интуитивны. Я уже писал про пагубность сравнения с NULL в SQL, но недавно снова наступил на эти грабли. Иногда в сложных запросах не всегда очевидна природа данных. Скажем, есть у вас некая таблица customers:Продолжить чтение →
Как называть свои функции и методы
Опыт программирования для больших проектов на PHP и JavaScript подсказывает, что подбор названий функций и методов очень важен. Да, часто нехватка времени и/или лень и/или усталость приводят к таким названиям, как checkOtherThings() или handlingSomeArrayStuff() или даже cb(). Чем это плохо? Код работает, лень удовлетворена, заказчик/начальник довольны, о чем и говорить? Однако, все это чревато отложенными проблемами и часами, потраченными впустую. Если потом кто-то будет работать с вашим кодом, заниматься отладкой или расширением функционала, он вас точно не поблагодарит за doSomeStuff() и putArToOtherAr(). Этим «кем-то» всегда можете оказаться вы сами через месяц или год. Если сейчас вы чувствуете себя в своем коде, как рыба в воде, то через пару месяцев, вероятно, вы не вспомните даже, зачем вообще весь этот модуль был нужен.
Продолжить чтение →Моя система GTD
В наше время многие помешаны на личной эффективности, многие блоггеры делятся советами и рассказывают о своих системах управления временем. Внесу и я свои «пять копеек».Продолжить чтение →
Как проверить наличие значения в массиве PostgreSQL
Такая задача как проверка наличия определенного значения в массиве только кажется простой и однозначной. В PostgreSQL до версии 9.5 отсутствовала специальная функция для этих целей. Вы можете искать вхождение одного массива в другой, получать пересечение двух массивов и т.д., но не искать одиночное значение в массиве. Начиная с версии 9.5, такая функция присутствует.Продолжить чтение →
Идеальная программа для GTD. Или чем RememberTheMilk лучше TickTick и Todoist
Я долго шел к Remember The Milk. По пути я протестировал много программ для управления задачами/делами в стиле GTD (Getting Things Done). Двумя из лучших из них я пользовался существенное время: TickTick и Todoist. Они действительно лучшие, имеют красивый и удобный интерфейс, синхронизируемы между всеми вашими устройствами, могут похвастаться превосходным функционалом. Однако, мои требования к такого рода программному обеспечению очень многосторонни. В итоге, бесспорным лидером оказался первопроходец в этой сфере Remember The Milk.
Уютная Далмация
Куда можно поехать из России в сентябре с двухлетним ребенком, чтобы было море, солнце, культурные достопримечательности, спокойно, интересно, но и не очень дорого? Хорватия — чудесный вариант — решили мы и отправились в путь. Три города: Трогир, Макарска и Сплит в центральной Далмации — лежали на нашем пути.
Поиск простых чисел на PHP
Простые числа — это натуральные числа больше 1, которые делятся только сами на себя или на 1. Часто возникающая (например, при шифровании данных) задача — найти все простые числа от 2 до заданного N. Для этого придумано несколько алгоритмов разной эффективности. Давайте рассмотрим их реализацию на PHP.
Почему мы считаем десятками, а в году 12 месяцев, или о происхождении систем счисления
Почему мы считаем десятками (это называется десятичной системой счисления) — не сложный вопрос. На двух руках у нас десять пальцев, а все мы с детства привыкли считать, последовательно загибая пальцы. Видимо, наши предки так же осваивали премудрости арифметики, а когда десяти стало явно не хватать, то для новых систем счета и записи чисел число пальцев на руках стали использовать в качестве базовой единицы кратности. И тут я задумался, почему же тогда у нас в году 12 месяцев, почему в английской системе мер часто считают дюжинами, откуда вообще взялось число 12 в качестве такой основы. Не 11, не 13, а именно 12. А в некоторых культурах использовалась даже 60-ричная система. В чем природа этих явлений?Продолжить чтение →
Don’t be annoyed, о разнице между глаголами annoy, irritate и disturb
Смыслы
Глаголы annoy, irritate и disturb похожи и часто пересекаются в употреблении, однако, между ними есть и существенная разница.
Если что-то раздражает продолжительное время или постоянно, особенно, если на это нельзя повлиять, то оно irritate или frustrate. Например, This crowd on my way to the office irritates me every day.Продолжить чтение →