Skip to content

Instantly share code, notes, and snippets.

💭
GitHub is not Orkut.

João Batista Neto netojoaobatista

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

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
View Number.prototype.toFixed.js
Number.prototype.$toFixed = Number.prototype.toFixed;
Number.prototype.toFixed = function(x) {
return (Math.floor(this * Math.pow(10, x)) / Math.pow(10, x)).$toFixed(x);
};
print((22.315).toFixed(2)); //22.31
print((49.995).toFixed(2)); //49.99
View discurso-presidente-dilma-onu-2016.md

Senhor secretário-geral das Nações Unidas, Ban Ki-moon, Senhor presidente da França e presidente da COP21, presidente François Hollande, Senhoras e senhores chefes de Estado e de governo participantes dessa cerimônia de assinatura do Acordo de Paris, Senhoras e senhores integrantes de delegações, Senhoras e senhores,

Com imensa honra e emoção, venho a Nova Iorque, hoje, no Dia da Terra, assinar o Acordo de Paris sobre a Convenção-Quadro das Nações Unidas sobre a Mudança do Clima, um acordo universal.

Sua conclusão exitosa, em dezembro de 2015, representou um marco histórico na construção do mundo que queremos: um mundo de desenvolvimento sustentável para todos, com o cumprimento das metas estabelecidas na Agenda 2030. O êxito deve muito à atuação do governo francês, à judiciosa e paciente construção do acordo pelo presidente François Hollande e também ao secretário-geral da ONU, Ban Ki-moon.

Tenho orgulho do trabalho desenvolvido pelo meu governo e pelo meu país para que, coletivamente, chegássemos a esse

@netojoaobatista
netojoaobatista / location.html
Last active Aug 29, 2015
Localização com Javascript + GeoLocation + Google Maps
View location.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Localização</title>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script type="text/javascript">
function init() {
var map = new google.maps.Map(document.getElementById('map'),{zoom:10});
View index.sql
ALTER TABLE `cliente_11`
ADD INDEX `total` (`exibe` ASC, `identificador_id_identificador` ASC, `respondido` ASC, `planilhas_id_planilhas` ASC);
@netojoaobatista
netojoaobatista / gitcowsay.sh
Last active Apr 9, 2020
Random commit messages
View gitcowsay.sh
git config --global alias.cowsay '!git commit -m "`fortune | cowsay -f tux`"'
@netojoaobatista
netojoaobatista / Fibonacci.php
Last active Aug 29, 2015
$n primeiros elementos da sequência de Fibonacci utilizando a fórmula de Binet
View Fibonacci.php
<?php
foreach (call_user_func(function($n) {
for ($x = 1; $x <= $n; ++$x)
yield call_user_func(function($x) {return (1/sqrt(5)) *
(pow((1+sqrt(5))/2,$x) - pow((1-sqrt(5))/2,$x));},
$x);
}, 10) as $n) {
var_dump($n);
}
@netojoaobatista
netojoaobatista / cielo.sh
Last active Aug 6, 2019
Instalação dos certificados Cielo em servidores Linux
View cielo.sh
#!/bin/bash
if [ $EUID != 0 ]; then
echo 'Você precisa ser root para instalar certificados.'
exit $?
fi
# Diretório onde os certificados serão instalados
cert_path=`openssl version -d|sed 's/.*\"\(.*\)\"/\1/g'`/certs
# Path para o certificado da Cielo
View Sample.vala
// A interface Sample exige que todas as classes que a implementem
// também derivem a classe GLib.Object
public interface Sample : GLib.Object {
// Método doSomething da interface Sample deve ser implementado
// nas classes que implementem a interface Sample.
public abstract void doSomething();
// Método doSomeOtherthing da interface Sample pode ser implementado
// pelas classes que implementam a interface Sample, mas também
// oferece uma implementação padrão.
View validate.php
public function validate()
{
return $this->loginValidate();
}
private function loginValidate($attempt = 0)
{
try {
if ($this->user->validarDadosLogin()) {
//Autenticaçõa na base de dados
You can’t perform that action at this time.