Thursday, December 12, 2019

Arranjos Completos, Arranjos Simples e Combinações

Esta é uma dúvida muito comum sentida pela maior parte dos alunos quando iniciam o estudo das probabilidades. Vamos começar por distinguir, através de exemplos, os arranjos completos dos simples. Seguidamente explicaremos o que são combinações.

Arranjos Completos

O PIN de um telemóvel é constituído por 4 dígitos. Qual é o número total de possibilidades distintas?
Resposta: como os dígitos podem ser repetidos e a ordem interessa trata-se de um arranjo completo. Como para cada dígito existem 10 possibilidades diferentes, calcula-se 10A4=104=10000.

Arranjos Simples

Voltando ao PIN de um telemóvel, vamos agora supor que não queremos utilizar algarismos repetidos. Neste caso, quantas possibilidades existem?
Resposta: como os dígitos não podem ser repetidos e a ordem interessa trata-se de um arranjo simples. Calcula-se 10A4=10!(10-4)!=10×9×8×7=5040.

Combinações

Vou de férias e pretendo levar 3 dos 7 livros que acabei de comprar. Quantas escolhas tenho?
Resposta: como os livros não podem ser repetidos e a ordem não interessa, trata-se de uma combinação. Calcula-se 7C3=7!3!(7-3)!=35

Concluindo, na maior parte deste tipo de exercícios, para se poder decidir qual a melhor forma de chegar ao resultado correto, basta analisar se existe repetição e se a ordem interessa. Aqui fica uma tabela com o resumo:
Arranjos CompletosArranjos SimplesCombinações
A ordem influencia?SimSimNão
Pode haver repetição de elementos?SimNãoNão
CálculonAp=npnAp=n!(n-p)!nCp=n!p!(n-p)!
   Foi interessante? Então partilha!

Friday, December 6, 2019

/usr/bin/google-chrome-stable --headless

reset;curl 'https://demo.keepitsecure24.com/dashboard/' -H 'authority: demo.keepitsecure24.com' -H 'pragma: no-cache' -H 'cache-control: no-cache' -H 'dnt: 1' -H 'upgrade-insecure-requests: 1' -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36' -H 'sec-fetch-mode: navigate' -H 'sec-fetch-user: ?1' -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'sec-fetch-site: same-origin' -H 'referer: https://demo.keepitsecure24.com/login' -H 'accept-encoding: gzip, deflate' -H 'accept-language: en,pt;q=0.9,en-US;q=0.8' -H 'cookie: __cfduid=d879578d361f02ac1770c7a417bc34ebf1574162025; pendingTests=0; VULNMANSESSID=v0ese3o3r292blg683p7l97i45' --compressed > file.html

/usr/bin/google-chrome-stable --headless --disable-gpu --print-to-pdf  file.html

/usr/bin/google-chrome-stable output.pdf

Monday, December 2, 2019

apache_note

test_apache_note.php
    if(!function_exists('apache_note')){
        echo 'apache_note'."don't exists";
    }
    if(!function_exists ( 'apache_setenv' )){
        echo 'apache_setenv'."don't exists";
    }
    apache_note('username', 'pedro_ok1' );
    apache_setenv('username', 'pedro_ok2',true);
000-default.conf

    ServerName localhost
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    LogLevel debug
    #LogFormat "%{username}e" envuid_combined
    LogFormat "%{username}n" envuid_combined
    CustomLog ${APACHE_LOG_DIR}/access.log envuid_combined

and we get the log....
==> error.log <==
[Mon Dec 02 17:44:32.775175 2019] [authz_core:debug] [pid 6779] mod_authz_core.c(817): [client ::1:52962] AH01626: authorization result of Require all granted: granted
[Mon Dec 02 17:44:32.775196 2019] [authz_core:debug] [pid 6779] mod_authz_core.c(817): [client ::1:52962] AH01626: authorization result of : granted

==> access.log <==
pedro_ok1

Monday, November 25, 2019

Symfony WebTestCase

composer require symfony/phpunit-bridge
composer require phpunit/phpunit
reset;php bin/phpunit -c app tests/PostControllerTest.php

git:
    sharingFriday_4.13.1-api-php7.0_dev

More info in:
    https://symfonycasts.com/screencast/symfony2-ep2/testing