Skip to content

Instantly share code, notes, and snippets.

@snnwolf
snnwolf / dataclass_sample.py
Created October 15, 2021 16:05 — forked from decatur/dataclass_sample.py
Use Python dataclass to autogenerate timestamp and sequence id on an object.
from dataclasses import dataclass, field
from itertools import count
from datetime import datetime
counter = count()
@dataclass
class Event:
message: str
@snnwolf
snnwolf / modx-snippets.php
Created February 13, 2018 21:13 — forked from fomigo/modx-snippets.php
Useful snippets for MODX Revo
Snippet: [[SnippetName]]
Chunk: [[$ChunkName]]
System Setting: [[++SettingName]]
TV: [[*fieldName/TvName]]
Link tag: [[~PageId? &paramName=`value`]]
Placeholder: [[+PlaceholderName]]
<?php
@snnwolf
snnwolf / Вывод количества товаров в категории.php Вывод количества товаров в категории minishop2Сниппет получает сумму всех товаров в категории, с учетом мультикатегорий MS2. Можно указать нужную категорию параметром $parent. #modx
<?php
if (empty($parent)) {$parent = $modx->resource->id;}
$pids = array_merge(array($parent), $modx->getChildIds($parent));
$ids = array();
$q = $modx->newQuery('msProduct');
$q->where(array('class_key' => 'msProduct','parent:IN' => $pids,'published' => 1,'deleted' => 0));
$q->select('`msProduct`.`id`');
if ($q->prepare() && $q->stmt->execute()) {
$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
@snnwolf
snnwolf / .babelrc
Created January 5, 2018 23:29 — forked from koddr/.babelrc
Webpack 3 config for simple Django/Flask project with Autoprefixer, PostCSS, SCSS style files, Vue.js and Babel
{
"presets": ["@babel/preset-env"]
}
@snnwolf
snnwolf / run-multiple-redis-instances.md
Created April 11, 2016 06:48 — forked from jarvys/run-multiple-redis-instances.md
run multiple redis instances on the same server for centos
  • create a new redis .conf file
$ cp /etc/redis.conf /etc/redis-xxx.conf
  • edit /etc/redis-xxx.conf, illustrated as below
...
@snnwolf
snnwolf / slack_notification.php
Created April 6, 2016 11:26 — forked from alexstone/slack_notification.php
Fire a Slack Notification via CURL
<?php
// (string) $message - message to be passed to Slack
// (string) $room - room in which to write the message, too
// (string) $icon - You can set up custom emoji icons to use with each message
public static function slack($message, $room = "engineering", $icon = ":longbox:") {
$room = ($room) ? $room : "engineering";
$data = "payload=" . json_encode(array(
"channel" => "#{$room}",
"text" => $message,
@snnwolf
snnwolf / post-checkout-composer.sh
Created March 27, 2016 08:24 — forked from yehosef/post-checkout
git hook to update composer dependencies only if changed
#!/bin/bash
OLD=`md5 -q composer.lock.old`
NEW=`md5 -q composer.lock`
if [ "$NEW" != "$OLD" ]
then
rm -rf vendor
php composer.phar install
fi
cat composer.lock > composer.lock.old
@snnwolf
snnwolf / new_gist_file.sh
Created November 25, 2015 09:04 — forked from un1ko85/new_gist_file.sh
Starting and stopping NginX / MySQL / PHP-FPM on Mac OS X
#! /bin/bash
MYSQL="/opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper"
NGINX="/opt/local/sbin/nginx"
PHPFPM="/opt/local/sbin/php-fpm"
PIDPATH="/opt/local/var/run"
MEMCACHED="/opt/local/bin/memcached -m 24 -P /opt/local/var/run/memcached.pid -u root"
if [ $1 = "start" ]; then
sudo $MYSQL start
echo "Starting php-fpm ..."
@snnwolf
snnwolf / hack.sh
Created November 20, 2015 09:34 — forked from tjstein/hack.sh
OSX For Hackers
#!/usr/bin/env sh
##
# This is script with usefull tips taken from:
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx
#
# install it:
# curl -sL https://raw.github.com/gist/2108403/hack.sh | sh
#
@snnwolf
snnwolf / gs-backup.sh
Created November 19, 2015 20:21 — forked from tjstein/gs-backup.sh
gs-backup.sh
#!/bin/bash
# Tar shit up:
today=$(date '+%d_%m_%y')
echo "* Performing domain backup..."
tar czf /var/backups/constantshift.com_"$today".tar.gz -C / var/www/constantshift.com
echo "* Backed up..."
# Remove shit older than 7 days:
MaxFileAge=7
find /var/backups/ -name '*.gz' -type f -mtime +$MaxFileAge -exec rm -f {} \;
# Rsync shit to the grid: