Skip to content

Instantly share code, notes, and snippets.

View netojoaobatista's full-sized avatar
💭
GitHub is not Orkut.

João Batista Neto netojoaobatista

💭
GitHub is not Orkut.
View GitHub Profile
@netojoaobatista
netojoaobatista / post-mortem.md
Created July 17, 2018 14:12 — forked from joewiz/post-mortem.md
Recovery from nginx "Too many open files" error on Amazon AWS Linux

On Tue Oct 27, 2015, history.state.gov began buckling under load, intermittently issuing 500 errors. Nginx's error log was sprinkled with the following errors:

2015/10/27 21:48:36 [crit] 2475#0: accept4() failed (24: Too many open files) 2015/10/27 21:48:36 [alert] 2475#0: *7163915 socket() failed (24: Too many open files) while connecting to upstream...

An article at http://www.cyberciti.biz/faq/linux-unix-nginx-too-many-open-files/ provided directions that mostly worked. Below are the steps we followed. The steps that diverged from the article's directions are marked with an *.

    • Instead of using su to run ulimit on the nginx account, use ps aux | grep nginx to locate nginx's process IDs. Then query each process's file handle limits using cat /proc/pid/limits (where pid is the process id retrieved from ps). (Note: sudo may be necessary on your system for the cat command here, depending on your system.)
  1. Added fs.file-max = 70000 to /etc/sysctl.conf
  2. Added `nginx soft nofile 1
<?php
/**
* Eu já disse que o nome Entidades é muito ruim para um namespace?
*/
namespace Entidades;
class Company
{
private $contacts = array();
private $contactIterator;
@netojoaobatista
netojoaobatista / regras.md
Created October 29, 2013 13:47
Estas são as regras do grupo PHP Brasil. Elas são simples, mas diretas e objetivas. Ao participar do grupo você declara que está ciente e concorda integralmente com cada item exposto abaixo. A não leitura das regras não o libera do cumprimento integral das mesmas.

Regras do grupo PHP Brasil

Estas são as regras do grupo PHP Brasil. Elas são simples, mas diretas e objetivas. Ao participar do grupo você declara que está ciente e concorda integralmente com cada item exposto abaixo. A não leitura das regras não o libera do cumprimento integral das mesmas.

O descumprimento das regras pode ser punido com banimento definitivo do membro, ou apenas remoção do conteúdo. A análise é feita caso a caso por um dos moderadores do grupo. Abaixo, de forma sintética, alguns itens que não são aceitos no grupo:

  1. Publicação de promoções de empresas.
  2. Publicação de promoções de produtos.
  3. Publicação de auto promoção (ex: posts de conteúdo com o único objetivo de se auto promover).
<?php
// dir classe/Usuario
namespace classe;
class Usuario
{
private $email;
private $senha;
<?php
$string = '04/09/2013 VANESSA RAFFLER 5199060 28/08/2013 13:40 EMISSAO CO IBITINGA 01 28/08/2013 18:58 TRANSFERENCIA TECA JAD SAO 29/08/2013 00:23 ENTRADA TECA JAD SAO 29/08/2013 02:50 TRANSFERENCIA CO CURITIBA 01 29/08/2013 10:23 TRANSFERENCIA CO UNIAO DA VITORIA 01 29/08/2013 20:20 TRANSFERENCIA CO CURITIBA 01 29/08/2013 23:52 TRANSFERENCIA CO CURITIBA 01 30/08/2013 06:50 TRANSFERENCIA CO UNIAO DA VITORIA 01 30/08/2013 12:44 TRANSFERENCIA CO CHAPECO 01 02/09/2013 08:01 ENTRADA CO CHAPECO 01 02/09/2013 09:50 EM ROTA CO CHAPECO 01 03/09/2013 09:22 ENTREGUE CO CHAPECO 01 03/09/2013 09:26 ENDERECO NAO LOCALIZADO CO CHAPECO 01 04/09/2013 09:40 EM ROTA CO CHAPECO 01 05/09/2013 09:06 ENTREGUE CO CHAPECO 01';
$matches = array();
if (preg_match_all('/[^\s].*?(?=\s\d{2}\/\d{2}\/\d{4})/', $string, $matches)) {
print_r($matches[0]);
}
<?php
//na parte de interface de usuário, faça com que o value
//contenha apenas o valor numérico do mês
echo '<select name="parametro">';
foreach (range(1, 12) as $month) {
printf('<option value="%d">%02d</option>', $month, $month);
}
echo '</select>';
<?php
require 'php-captcha.inc.php';
# // define fonts
$fonts = '/home/guga/public_html/232classificados/captcha/fonts/';
$aFonts = array(
$fonts . 'VeraBd.ttf',
$fonts . 'VeraIt.ttf',
$fonts . 'Vera.ttf'
);
<?php
$postos = array(
'A' => 'atendimento.jpg',
'B' => 'banheiros.jpg',
'1' => 'borracharia.jpg',
'2' => 'brindes.jpg',
'C' => 'churrascaria.jpg',
'E' => 'estacionamento.jpg',
'G' => 'gasolina.jpg',
'L' => 'loja.jpg',
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.