Skip to content

Instantly share code, notes, and snippets.

View Majkl578's full-sized avatar
💥
breaking builds

Michael Moravec Majkl578

💥
breaking builds
View GitHub Profile
@beberlei
beberlei / User.php
Created July 9, 2012 09:29
Customize Trait Doctrine Mappings with AttributeOverride
<?php
namespace MyBundle\Entity;
use Doctrine\ORM\Mapping AS ORM;
/**
* @ORM\Entity
* @ORM\AttributeOverrides({
* @ORM\AttributeOverride(name="id", column=@ORM\Column(name="table_id"))
@juzna
juzna / backup-with-git.md
Created August 5, 2012 16:23
Simple backups with Git

Simple backups with Git

Git calls itself "stupid content tracker", which means that the core just stores any data you put in and allows you to get it back. On top of that, there's all the fancy stuff like branching, diffs, remote repos etc, but that's not important for us today. We just want to track content, and the more stupidier (i.e. simple) way, the better - it'll be simpler to do any crazy stuff we imagine later on.

Motivation

I wanted to do backups of couple of terabytes of data, consisting of quite small files (< 10MB) which usually don't change. I wanted to have incremental backups (not to transfer all data) and I wanted to see history and be able to get into any version.

So why not to use git for it?

@beberlei
beberlei / proxies.php
Created August 6, 2012 18:25
Proxies with public properties
<?php
class Foo
{
public $foo;
}
class FooProxy extends Foo
{
public function __construct()
@juzna
juzna / intro.md
Created August 20, 2012 19:19
Nette\Object performance tests

Nette\Object performance tests

I guess you already saw a short note Latency Numbers Every Programmer Should Know. I wanted to check how well Nette performs with its magic properties on Nette\Object.

You can see the testing code below together with raw output on my machine.

It show how much time in seconds it took to execute one million iterations of a particular action, thus it is also time in microseconds of one such call. You should compare it to null test, which execute empty iterations.

Results

@vojtech-dobes
vojtech-dobes / MultiAuthenticator.php
Created August 31, 2012 12:40
Multiple ways of authentication in Nette
<?php
namespace VojtechDobes\NetteSecurity;
use Nette\InvalidArgumentException;
use Nette\Security\IAuthenticator;
use Nette\Security\IIdentity;
/**
@rgreenjr
rgreenjr / postgres_queries_and_commands.sql
Last active August 4, 2025 14:48
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(clock_timestamp(), query_start), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(clock_timestamp(), query_start), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
@beberlei
beberlei / DoctrineTestCase.php
Created September 14, 2012 21:14
Doctrine Test Setup
<?php
// tests/MyProject/Tests/DoctrineTestCase.php
namespace MyProject\Tests;
use Doctrine\ORM\Tools\SchemaTool;
use Doctrine\ORM\EntityManager;
class DoctrineTestCase extends \PHPUnit_Framework_TestCase
{
protected $em;
@juzna
juzna / 2012-11-17-intellij-plugins-lexer-tests.md
Created November 17, 2012 19:51
IntelliJ plugins - Lexer + Tests

IntelliJ plugins - Lexer + Tests

We're writing support for Neon language into PhpStorm and we want to have it heavily tested with automated unit tests. First step when processing any programming language is a lexical analyzer or shortly lexer, which takes source code and splits into individual words of the programming language, which are called tokens (actually, also symbols, punctuation and whitespace count as tokens).

JFlex

Because parsing strings manually is tedious and boring, clever people made tools to help us a little bit. Flex is de facto standard language for writing lexers, but we'll use its port to Java called JFlex. In flex files you describe patterns for several types of tokens and associate a piece of code with each. Have a look at flex file for very simple [properties](https://github.com/JetBrains/intellij-community/blob/master/plugins/properties/src/com/intellij/lang/properties/pa

@bartku
bartku / gist:4271798
Last active November 25, 2024 15:08
Unofficial description of unofficial World of Tanks API

World of Tanks unofficial API

World of Tanks, popular MMO game about tanks from time around WWII, has some nice mobile application called Wot Assistant (available also at AppStore and MS Marketplace). With simple packet sniffing you can guess how it retrieves players' statistics.

Surprisingly, mobile application uses quite simple API over HTTP which serves data in JSON, which is great help for people interested in creating own applications handling statistical data in game.

At this moment here is list of API features that has been discovered:

  • searching players by names
  • searching clans by names
@ChrisLundquist
ChrisLundquist / splitter.rb
Created December 19, 2012 22:12
split apart a monolithic repo into several smaller ones while preserving commit history.
#!/usr/bin/env ruby
BASE_REMOTE_URL = "[email protected]:chef"
folders = ARGV
pwd = Dir.pwd
folders.each do |folder|
name = folder.split("/").last
name = name.gsub("-","_")
clone_command = "git clone chef/ #{name}"
system clone_command
Dir.chdir name