Skip to content

Instantly share code, notes, and snippets.

@maximal
maximal / idea.md
Last active February 28, 2019 13:46
Быстрая установка и обновление PhpStorm и других IDE на основе IDEA

Быстрая установка и обновление PhpStorm и других IDE на основе IDEA

Быстрее всего эти операции проделывать в терминале, заглядывая в браузер за ссылкой на новый файл.

Установка

Переходим в каталог /opt — он специально для всякого говна не из репозиториев:

@maximal
maximal / frontender-test.md
Last active August 29, 2015 14:17
Тестовое задание для фронтендера/CMS-мастера в Sijeko

Тестовое задание для фронтендера/CMS-мастера в Sijeko

Разбираемся с системой управления контентом MODx.

Берём любой HTML-шаблон (не специально для модекса, а именно чистый HTML): http://www.templatemonster.com/ru/website-templates-type/

Обязательные элементы:

  • основное меню для верхнего уровня страниц;
  • подменю для вложенных страниц;
@maximal
maximal / update-eap.sh
Last active April 24, 2019 11:49
Обновление тестовых версий (EAP) сред разработки компании JetBrains для Linux
#!/bin/bash
##
# Обновление тестовых версий (EAP) сред разработки компании JetBrains для Linux.
# В данном случае скачивается PhpStorm и GoLand, но скрипт подойдёт для любой среды разработки,
# выкладываемой компанией JetBrains в EAP.
#
#
# @author MaximAL
# @since 2019-04-24 Добавил опцию командной строки `no-eap` для получения стабильных версий вместо EAP.
# @since 2019-03-18 Сделал получение релизов через официальное JSON API.
@maximal
maximal / text-fx.js
Last active August 29, 2015 14:21
Эффект перекрашивания текста для любого текстового блока
/**
* Эффект для любого текстового блока.
* При наведении мышки на текст перекрашиваем его посимвольно.
* При отведении перекрашиваем обратно.
* В стилях блока необходимо настроить вид текста в теге <em>,
* он используется для разметки среднего участка.
*
* @author MaximAL
* @since 2015-05-15
* @copyright © MaximAL, Sijeko 2015
@maximal
maximal / gearman-rest-client.md
Created May 25, 2015 12:52
Параллельная работа с длительными задачами и REST API

Параллельная работа с длительными задачами и REST API

Честно говоря, с Инстаграммом не работал никогда (и не зарегистрирован даже), не хочется врать. Но не думаю, что там что-то сильно отличается.

Для примера взял Twitter и всё-таки Gearman.

Процесс-задачник берёт твиттер-аккаунты из базы, ставит задачи на скачку их твитов. Процесс-работник берёт задачи на скачку и скачивает твиты в формате JSON. Просто задача мне близка: я собираю базу твитов белгородских пользователей твиттера, и делаю всякую разную статистику:

@maximal
maximal / hashtags.php
Last active October 14, 2017 22:34
RegEx for hashtags
<?php
/**
* Регвыр для хештегов:
* /(?<=\p{Z}|\s|^)#([\p{L}\p{M}\p{N}_]+)/ui
*
* Сначала небуквенный символ (отсекаем решётку в середине слов/ссылок).
* Потом решётка,
* потом непустая последовательность из букв, цифр и модификаторов (ударения, умляуты, прочая хуета).
*
* При этом первый символ (разделитель или начало строки) не включаем в вывод — (?<=
@maximal
maximal / clock-icon.md
Last active March 23, 2017 10:33
Крутая иконка времени

Крутая иконка времени

Челендж в Сиджеке.

В ФонтОсоме и Бутстрапе говно — http://fontawesome.io/icon/clock-o/

Нужно не говно: стрелки показывают то время, которое они изображают. Статично, не двигаются, ничего. Стоят на нужном времени. Ещё раз: двигаться ничего не должно.

@maximal
maximal / long-links.md
Last active August 29, 2015 14:26
Решение Максимала для подсветки длинных ссылок в тексте
@maximal
maximal / getHeadersObject.js
Last active September 23, 2015 06:58
Сделать из строки HTTP-заголовков объект
/**
* Сделать из строки HTTP-заголовков объект.
*
* Такой текст:
* ```
* Date: Tue, 22 Sep 2015 17:26:15 GMT
* Content-Encoding: gzip
* Content-Type: text/plain; charset=utf-8
* Access-Control-Allow-Origin: *
* Connection: Keep-Alive
@maximal
maximal / comparing-clone.js
Last active June 7, 2018 18:25
Объяснение сравнения и клонирования объектов в Яваскрипте
// Создадим два объекта
var a = {a: 1, b: 2};
var b = {a: 1, b: 2};
// Сравнение объектов происходит не по значениям, а по ссылкам.
// a и b — разные переменные, поэтому они будут не равны, даже если все их поля равны.
console.log(a == b, a === b); // false false