Skip to content

Instantly share code, notes, and snippets.

View drgomesp's full-sized avatar
🏠
Working from home

Daniel Ribeiro drgomesp

🏠
Working from home
View GitHub Profile
@drgomesp
drgomesp / SRP.md
Last active August 29, 2015 14:02
SRP – Responsabilidade, culpa e consequência

SRP – Responsabilidade, culpa e consequência

Do que se trata responsabilidade, senão do dever de arcar com o próprio comportamento? Assim sendo, por que alguém deveria arcar com as ações de terceiros? Seria isso algo positivo ou negativo? Depende. Do ponto de vista da orientação a objetos, normalmente, é negativo. Negativo porque orientação a objetos tem a ver com interface. Os objetos se propõem a realizar ações a partir da definição de suas interfaces, seus contratos, que delimitam não só as próprias ações, como também o seu escopo de atuação. Nesse sentido, quando os objetos se relacionam, utilizam as interfaces como meio de comunicação; um objeto não conhece nada além da sua própria interface e a interface do objeto com o qual está se propondo a interagir. Se uma ação desconhecida acontece por debaixo dos panos, a conversação fica incoerente, sem sentido. E a interação de objetos, quando não faz sentido, normalmente cria problemas para o ecossistema em que se encontra: a aplicação.

Os diferentes i

@drgomesp
drgomesp / logger-proposal.php
Last active August 29, 2015 14:03
Logger Interface Proposal for PHP
<?php
interface LogLevel
{
const INFO = 0;
const NOTICE = 1;
const ALERT = 2;
const ERROR = 4;
}
@drgomesp
drgomesp / learn-sf-3_doctrine-entidades-e-embed-controllers.md
Last active August 29, 2015 14:03
LEARN Symfony! #3 Doctrine, Entidades e Embed Controllers

LEARN Symfony! #3 Doctrine, Entidades e Embed Controllers

Symfony é um dos principais frameworks para PHP existentes hoje. Além de sua versão full-stack, que permite a criação de aplicações de forma simplificada e com soluções comuns para problemas recorrentes, é também um conjunto de componentes isolados e reutilizáveis que se propõe a cumprir tarefas pequenas e específicas.

Terceiro episódio do curso online sobre Symfony. Neste episódio, veremos um pouco sobre entidades do Doctrine, listaremos registros usando um repositório e de quebra, ainda veremos como utilizar Embed Controllers.

<img src="http://img.youtube.com/vi/YuNZegOBzN4/0.jpg" alt="IMAGE ALT TEXT HERE" width="480" border="10" />

@drgomesp
drgomesp / instanceof.php
Created November 6, 2014 07:31
instanceof.php
<?php
$obj instanceof 'stdClass';
$obj instanceof stdClass;
<?php
$func = function () { return 'stdClass'; };
$obj = (object)[];
var_dump($obj instanceof ($func()));
@drgomesp
drgomesp / 0_reuse_code.js
Last active August 29, 2015 14:11
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@drgomesp
drgomesp / ego.md
Last active January 14, 2022 20:02
O maior inimigo do programador: o Ego

O maior inimigo do programador: o Ego

Era uma vez

Imagine que você trabalha em uma empresa pequena, onde a equipe de desenvolvedores não passa de cinco pessoas. Nessa equipe, você é um dos desenvolvedores com mais conhecimento técnico, mas não necessariamente com mais experiência.

Entre seus colegas, há diversos tipos de programadores: o acomodado — que já não se interessa mais em elevar seu conhecimento, pela razão que seja; o enrolador — que passa grande parte do tempo buscando não trabalhar; o esforçado — mas que está aquém das expectativas da empresa; entre outros.

Nesse meio de trabalho, independente do perfil de cada um, há pessoas com mais experiência — leia-se tempo de trabalho - ou menos que você. Há também aqueles que já estavam na empresa quando você chegou e, evidentemente, os que chegaram após a sua contratação.

@drgomesp
drgomesp / orders.feature
Last active August 29, 2015 14:19
backend/pf-super-admin/orders.feature
Feature: Orders management
In order to manage orders
As a "Super Admin"
I want to be able to list, view, edit and create orders in general or by clients
Scenario: Seeing all orders
Given I am on the Dashboard page
When I click on Orders on the navigation menu
Then I should be on the Orders page
And I should see "X" orders on the list
<?php
class Item
{
public $name;
public $parent;
public function __construct($name, Item $parent = null)
{
$this->name = $name;
$this->parent = $parent;
@drgomesp
drgomesp / snippets.php
Created March 30, 2016 17:19
PHP 7 Snippets
<?php
function sum(int $a, int $b) {
return $a + $b;
}
function sum(int $a, int $b): int {
return $a + $b;
}