Как пользоваться PHP библиотекой Omnipay от The League

Omnipay — простая в использовании, согласованная библиотека обработки платежей для PHP. Она была разработан на основе идей Active Merchant, плюс опыт внедрения десятков шлюзов для CI Merchant. Omnipay имеет ясный и последовательный API, полностью покрыт модульными тестами и даже поставляется с примером приложения. Зачем использовать Omnipay? Итак, зачем использовать Omnipay […]

Анализ показателя ИКС Яндекса (индекс качества сайта) 100 000 сайтов

В конце августа Яндекс официально заменил тематический индекс цитирования (ТИЦ) на индекс качества сайта (ИКС). Обновление параметра носит важный характер для оптимизаторов и владельцев сайтов. Если ТИЦ — это только качество входящих ссылок, то ИКС, в большей степени, отражает качество трафика сайта.

MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk

Вот такую хуйню может выдать Redis при попытке записать в него данные: (error) MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes […]

Как в PHP сделать pack() из массива

Есть в PHP хорошая функция для запаковки каких-либо данных в бинарный формат. И с помощью неё можно паковать любые данные, в том числе массивы, с некоторыми ограничениями. Рассмотрим простой пример: php > $a = [1,2,3,4,5,6]; php > $packed = pack(‘c*’, …$a); php > echo strlen($packed); 6

Как в Go lang сделать HTTP-запрос через прокси

Существует несколько способов. Первый — через переменную окружения. Он будет хорош для простых задач и может работать без правки Go-кода. Выполните в bash перед запуском своего приложения: export HTTP_PROXY=»http://proxyIp:proxyPort»

Как в Go lang определить является ли строка числом

Является ли строка числом? Достаточно частая задача для тех, кому приходят данные от пользователя в виде строк, но для последующей обработки их нужно провалидировать и конвертировать. Использовать для этого можно функцию Atoi из пакета strconv: if _, err := strconv.Atoi(v); err == nil { fmt.Printf(«%q looks like a number.\n», v) }

Как в Go lang работать с регулярными выражениями

Работа с регулярками в Go lang выглядит весьма любопытно. Для начала нужно скомпилировать регулярное выражение: regexp, err = regexp.Compile(`expression`) if err != nil { panic(err) } Обратите внимание каким символом обёрнуто правило вместо кавычек или апострофа. Теперь можно работать со скомпилированным выражением: match := randomRegexp.FindStringSubmatch(mysting) В переменной math будет массив […]

Как в Go lang разделить строку на части

Довольно частая задача — получить от пользователя некое значение в виде строки и распарсить его несколько составных частей других типов. Например, нужно получить отдельно хост и порт некоего эндпоинта: package main import ( «fmt» «strings» ) func main() { s := strings.Split(«myhost.com:5432», «:») ip, port := s[0], s[1] fmt.Println(ip, port) […]