Skip to content

Instantly share code, notes, and snippets.

@Sketches-su
Sketches-su / gist:33ff9704556b6c90ae35
Created July 9, 2015 07:45
Shell script for mounting remote dir by sshfs and obtaining SSH console
#!/bin/bash
if [ -z "$1" ]; then
echo No user@host specified!
exit 1
fi
if [[ ! "$1" =~ ^[^@:]+@[^@:]+:[^@:]+$ ]]; then
echo Invalid user@host!
exit 2
@Sketches-su
Sketches-su / psr-0
Created April 13, 2015 10:23
Quick&dirty PSR-0 implementation (tested)
spl_autoload_register(function ($class)
{
$file = __DIR__.DIRECTORY_SEPARATOR.'classes'.DIRECTORY_SEPARATOR;
if ($class[0] == '\\') {
$class = ltrim($class, '\\');
}
if (false !== ($pos = strrpos($class, '\\'))) {
$file .= str_replace(
@Sketches-su
Sketches-su / plz
Last active August 29, 2015 14:14
A set of small console shortcuts in one script
#!/bin/bash
# A set of console shortcuts. Save it to ~/bin/plz and chmod a+x ~/bin/plz
case "$1" in
"gi") # Add empty .gitignore to current dir
[ -f .gitignore ] || touch .gitignore
;;
"ht") # Add restricting .htaccess to current dir
[ -f .htaccess ] || echo -e "Order Allow,Deny\nDeny From All" > .htaccess
@Sketches-su
Sketches-su / copypaste.md
Last active August 29, 2015 14:14
Some copypaste

12-character password (67 bits entropy) generation bookmarklet

javascript:(function(m){var c="ABCDEFGHKMNPRSTVWXYZabcdefghkmnprstvwxyz23456789",o="";for(i=0;i<10;i++){for(j=0;j<12;j++){o+=c.substr(m.floor(m.random()*(j?48:40)),1)}o+="\n"}alert(o)})(Math);

@Sketches-su
Sketches-su / gist:5c4620a0e6a7717e6354
Created January 26, 2015 07:04
Выдаёт HTTP-заголовки, запрещающие кэширование
function noCaching()
{
if ((PHP_SAPI == 'cli') || headers_sent()) {
return;
}
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
@Sketches-su
Sketches-su / gist:85e15e6ed3edb9e8c01e
Created January 26, 2015 07:00
Создание экземпляра класса PDO для подключения к MySQL
$db = new PDO(
'mysql:host=HOSTNAME;dbname=DBNAME;charset=utf-8', // хост и имя БД
'', // пользователь
'', // пароль
array(
PDO::ATTR_PERSISTENT => true, // постоянные соединения?
PDO::ATTR_EMULATE_PREPARES => false, // эмулировать подготовленные выражения?
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
)
@Sketches-su
Sketches-su / gist:44df801b768e69841a0e
Created January 26, 2015 06:46
Сборка PHP из исходников

Сборка PHP (CLI, FPM) и XCache из исходников. Скрипт использовался для сборки под непривилегированным пользователем в свой домашний каталог, поэтому sudo не расставлены где надо.

Вначале нужно поставить зависимости. Для Debian примерно так (более-менее катит, доустановить что нужно по мере надобности):

$ sudo apt-get update
$ sudo apt-get install libbz2-dev libc6-dev libcomerr2 libdb5.1-dev libfreetype6-dev \
  libgd2-xpm-dev libgssapi-krb5-2 libjpeg8-dev libk5crypto3 libkrb5-dev libmagic-dev \
  libonig2 libpcre3-dev libpng12-dev libqdbm-dev libssl-dev libx11-dev libxml2-dev \
 libxpm-dev mime-support tzdata ucf zlib1g-dev libcurl4-gnutls-dev libmcrypt-dev \