Skip to content

Instantly share code, notes, and snippets.

View marcelsud's full-sized avatar

Marcelo Santos marcelsud

View GitHub Profile
@marcelsud
marcelsud / ballot_test.sol
Created October 13, 2018 19:12
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.4.25+commit.59dbf8f1.js&optimize=true&gist=
pragma solidity ^0.4.24;
contract SafeMath {
function safeAdd(uint a, uint b) public pure returns (uint c) {
c = a + b;
require(c >= a);
}
function safeSub(uint a, uint b) public pure returns (uint c) {
require(b <= a);
c = a - b;
@marcelsud
marcelsud / ballot.sol
Created October 13, 2018 19:10
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.4.25+commit.59dbf8f1.js&optimize=true&gist=
pragma solidity ^0.4.0;
contract Ballot {
struct Voter {
uint weight;
bool voted;
uint8 vote;
address delegate;
}
struct Proposal {
@marcelsud
marcelsud / check-tls-version.php
Last active February 15, 2017 00:09
A simple snippet to check the TLS version and ciphers for Realex (https://www.realexpayments.com/support/tls-faq/)
<?php
$recommendedCiphers = [
'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384',
];
$supportedCiphers = [
'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256',
$(cat 1.html)
$(cat 1.html)
String file contents

Tenha orgulho do seu (código) legado

Traduzido e adaptado de http://blog.8thlight.com/ginny-hendry/2014/07/11/take-pride-in-your-legacy-code.html

Um desenvolvedor se juntando a um projeto, a menos que o projeto esteja iniciando uma aplicação completamente nova, irá trabalhar com o temido "código legado". O processo de se tornar produtivo pode ser um pesadelo. Código legado ganhou sua reputação por geralmente ser mal estruturado, ter grande dificuldade de se trabalhar, não ser documentado, e ser obscuro. Você verá as evidências no código com diferentes estilos de programação dos diversos desenvolvedores que já trabalharam naquela codebase.

Agravando essa realidade está o fato de que o código legado está em produção. Qualquer melhoria que você queira fazer precisa ser incremental pois, por definição, código legado já possui usuários. Os usuários esperam zero downtime, baixo tempo de resposta, e um visual consiste

@marcelsud
marcelsud / json-definition.json
Last active August 29, 2015 14:14
workflow api draft
{
"start": "paymentTypeConditionalNode",
"paymentTypeConditionalNode": {
"credit_card": "creditcardSubWorkflow",
"debit_card": "debitSubWorkflow"
},
"creditcardSubWorkflow": "endMergeNode",
"debitSubWorkflow": "endMergeNode",
"endMergeNode": "end"
}
@marcelsud
marcelsud / object-calisthenics-applied-to-php.md
Created July 28, 2014 01:58
Object Calisthenics applied to PHP

Object Calisthenics applied to PHP

  • OC#1 - Only one indentation level per method

  • OC#2 - Do not use the 'else' keyword

  • OC#3 - Wrap primitive types and string, if it has behaviour

  • OC#4 - Only one -> per line, if not getter or fluent

title isChild
XDebug
true

XDebug {#xdebug_title}

Uma das ferramentas mais úteis no desenvolvimento de software é um depurador apropriado. Ele permite que você trace a execução do seu código e monitore os itens na pilha de execução. XDebug, um depurador de PHP, pode ser utilizado por várias IDEs para prover breakpoints e inspecionar a pilha. Ele também lhe permite que ferramentas como PHPUnit e