PHP и неизменяемость

Это перевод оригинальной статьи Саймона Холивелла PHP and Immutability. Продолжение — в другом посте.

Как у динамического языка со слабой типизацией, у PHP нет встроенной концепции неизменяемости (immutability). Конечно, все мы знаем заслуженные  define()  и КОНСТАНТЫ, но они ограничены в функционале. Хоть PHP и поставляется с как минимум одним неизменяемым классом в своей стандартной библиотеке, DateTimeImmutable , но не существует какого-то внятного способа создавать собственные неизменяемые объекты.Продолжить чтение →

Сочи в конце апреля

Иногда хочется сменить картинку перед глазами, но много ресурсов тратить на это не хочется. И тогда на выручку приходят курорты Краснодарского края. Иногда отдых на них превосходит ожидания, но для этого должно быть несколько условий: отсутствие толп, особенно пьяных; нежаркая погода; заснеженные горы; комфотрное размещение; траспортная доступность; наличие интересных занятий. Все эти качества присущи Имеретинской бухте вполне. Сейчас это место все больше называют Олимпийским парком.Продолжить чтение →

Коварство 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Я долго шел к Remember The Milk. По пути я протестировал много программ для управления задачами/делами в стиле GTD (Getting Things Done). Двумя из лучших из них я пользовался существенное время: TickTick и Todoist. Они действительно лучшие, имеют красивый и удобный интерфейс, синхронизируемы между всеми вашими устройствами, могут похвастаться превосходным функционалом. Однако, мои требования к такого рода программному обеспечению очень многосторонни. В итоге, бесспорным лидером оказался первопроходец в этой сфере Remember The Milk.

Продолжить чтение →

Уютная Далмация

Вид на Макарска из парка Осеява
Вид на Макарска из парка Осеява

Куда можно поехать из России в сентябре с двухлетним ребенком, чтобы было море, солнце, культурные достопримечательности, спокойно, интересно, но и не очень дорого? Хорватия — чудесный вариант — решили мы и отправились в путь. Три города: Трогир, Макарска и Сплит в центральной Далмации — лежали на нашем пути.

Продолжить чтение →

Поиск простых чисел на PHP

Простые числа — это натуральные числа больше 1, которые делятся только сами на себя или на 1. Часто возникающая (например, при шифровании данных) задача — найти все простые числа от 2 до заданного N. Для этого придумано несколько алгоритмов разной эффективности. Давайте рассмотрим их реализацию на PHP.

Продолжить чтение →

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