Publicidade

gabrieldarezzo

Members
  • Total de itens

    1.219
  • Registro em

  • Última visita

  • Dias vencidos

    33

gabrieldarezzo venceu o dia em Abril 27

Teve o conteúdo mais curtido

Reputação

205 Excelente

Sobre gabrieldarezzo

  • Classificação
    Gabriel Darezzo
  • Data de Nascimento 06-10-1992

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    São Paulo - SP
  • Interesses
    PHP, NodeJs, Design Pattern, JavaScript e Empreendedorismo

Contato

Últimos Visitantes

560 visualizações
  1. o O me chara disse no post ué: Chegou a abrir os links abaixo?
  2. Recomendo ouvir: https://jovemnerd.com.br/nerdcast/nerdtech/nerdtech-03-velocidade-performance-e-otimizacao/ Ocorre varios insights. Pesquisa tmb sobre HTTP2: https://tecnoblog.net/173920/http-2-como-funciona/ https://blog.apiki.com/2016/12/20/http2/ Importancia do CDN claro, isso é só o lado do 'front', tem uma porrada de coisas como por exemplo: Da uma lida: http://rberaldo.com.br/o-problema-do-n-mais-1/ Outro artigo legal: https://imasters.com.br/design-ux/performance-e-ux/
  3. Não sei pq o forum apagou minha explicação... Enfim... Segue novamente: Não é necessario usar Ajax/jQuery para uma simples troca de atributo de imagem (src) <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .lampada{ width: 125px; } </style> </head> <body> <img src="https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada.jpg?raw=true" alt="Foto Lampada" id="foto-lampada" class="lampada"/> <hr /> <button id="btn-interruptor">Interruptor</button> <script type="text/javascript"> var estado = 0; document.getElementById("btn-interruptor").addEventListener("click", function() { if(estado == 0){ document.getElementById("foto-lampada").src = 'https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada-on.jpg?raw=true'; estado = 1; } else { document.getElementById("foto-lampada").src = 'https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada.jpg?raw=true'; estado = 0; } }); </script> </body> </html> Live demo: https://fiddle.jshell.net/29cprykm/ Explicação, basicamente estou monitorando o evento 'onclick' do JavaScript uma função anonima document.getElementById("btn-interruptor").addEventListener("click", function() { //Função aqui }); Ao iniciar o JS é atribuído um valor: var estado = 0; Durante o CLICK ocorre uma verificação: E caso esteja 0: Altera o SRC e muda a var estado para 1 (acessa) se não: Altera o SRC e muda a var estado para 0 (apagada) ------ Caso queira ver como ficaria com jQuery abaixo tem um exemplo utilizando a verificação de classe ao invés de usar uma variável 'estado'. $( "#btn-interruptor" ).bind( "click", function() { var lampada = $( "#foto-lampada" ); if (lampada.hasClass('acessa')) { lampada.attr('src', 'https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada.jpg?raw=true'); lampada.removeClass('acessa'); } else { lampada.addClass('acessa'); lampada.attr('src', 'https://github.com/gabrieldarezzo/helpjs-ravi/blob/master/images/lampada-on.jpg?raw=true'); } }); Demo live do jQuery: https://fiddle.jshell.net/29cprykm/2/
  4. Não faz mais sentido usar algo assim? http://php.net/manual/pt_BR/function.error-log.php
  5. Essa técnica pode se enquadrar como 'early return' o @EdCesar esqueceu de lançar a exceção... Não faz sentido ter blocos de try sem uso de throw new Exception('Oppss.. isso não deveria acontecer.'); Tem alguns artigos para exemplificar o uso do early return independente de usar blocos de try/catch http://blog.alura.com.br/quanto-mais-simples-melhor/ https://softwareengineering.stackexchange.com/a/18473
  6. Recomendo a Leitura: https://github.com/gabrieldarezzo/helpjs-ravi Principalmente dos exercícios 6 e 7 Tem a resolução deles: https://github.com/gabrieldarezzo/helpjs-ravi#exemplos-de-códigos-para-resolução-dos-exercícios Talvez pode te ajudar. Recomendo tmb fazer esse curso interativo: http://try.jquery.com/
  7. Você pode gerar exceções... Ex dentro do seu contexto: <?php public function insert() { if(empty($this->usuario) OR empty($this->nomesobrenome) OR empty($this->email) OR empty($this->senha)) { throw new Exception('Existe campos vazios.'); } .... Ai na hora de executar algo +/- assim: <?php try { $usuario = $_POST['usuario']; $nomesobrenome = $_POST['nomesobrenome']; $email = $_POST['email']; $senha = $_POST['senha']; $usuarios->setUsuario($usuario); $usuarios->setNomesobrenome($nomesobrenome); $usuarios->setEmail($email); $usuarios->setSenha($senha); if($usuarios->insert()){ echo '<div class="success">Conta registrada com sucesso! Você deverá confirmar a conta em seu endereço de e-mail.</div>'; } } catch (Exception $e) { echo '<div class="error">'. $e->getMessage() .'</div>'; } Ps: foi um exemplo simples, aprofundar é preciso. Leia mais: http://php.net/manual/pt_BR/language.exceptions.php
  8. Eu tentaria pegar dinamicamente a largura pelo JS... Algo +/- assim: http://www.html5gamedevs.com/topic/1638-changing-game-size-to-fit-page/ Já q trabalhar (pelo menos no inicio) apenas com % pode ser problemático. Faz mas sentido você fazer os cálculos necessários pensando em pixel e esticar essa imagem. Da uma lida sobre box-model, grid-system, tabless. Entender esses conceitos de CSS/HTML que podem ser úteis mesmo em dev de games (em web) Da uma olhada como os grandes FW-Css fazem...pPode ser de grande ajuda. https://v4-alpha.getbootstrap.com/layout/grid/ http://materializecss.com/grid.html
  9. Vamos por partes. Você já domina o conceito de Tabs do Bootstrap? http://getbootstrap.com/components/#nav-tabs Basicamente você precisa de um elemento cujo a 'data-toggle' seja tab: data-toggle="tab" E o 'href' desse cara é quem você aponta (usando um # antes) Exemplo completo: <ul class="nav nav-tabs"> <li class="nav active"><a href="#A" data-toggle="tab">A</a></li> <li class="nav"><a href="#B" data-toggle="tab">B</a></li> <li class="nav"><a href="#C" data-toggle="tab">C</a></li> </ul> Agora só criar os 'tab-content' que possuem um id: <!-- Tab panes --> <div class="tab-content"> <div class="tab-pane fade in active" id="A">Content inside tab A</div> <div class="tab-pane fade" id="B">Content inside tab B</div> <div class="tab-pane fade" id="C">Content inside tab C</div> </div> Obviamente não podemos esquecer de de importar o CSS (de preferencia no HEAD), muito menos O JS (que faz tudo funcionar): <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> <!-- Optional theme --> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css"> </head> <body> ... <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> </body> </html> Exemplo completo: https://jsfiddle.net/dajyc658/ Após criar isso 'estaticamente esquecendo do PHP' e funcionar você pensa em PHP. Obviamente pode ser um erro de JavaScript tambem. nesse caso você precisa abrir o Console do seu browser: Mozilla: Ctrl + Shift + K Google Chrome: Ctrl + Shif + J Veja se tem algum erro. .... Após isso você tenta gerar dinamicamente os campos que gera estaticamente.
  10. Recomendo ouvir: http://devnaestrada.com.br/2016/03/18/devnaestrada-entrevista-rodrigo-franco.html
  11. A sugestão do Bergs é muito valida. Assim como matemática programação você aprende fazendo.... Pratique oq estudou e estude para praticar. (refaça o loop) Fica uma citação do livro : 300 IDÉIAS PARA PROGRAMAR COMPUTADORES Link http://fredbf.com/disciplinas/ufc/fundamentos/300 ideias.pdf Os exercícios propostos vão desde exibir uma frase: Força você aprender operações básicas de matemática: Até fazer um CRUD completo: O mais interessante nesses exercícios ao meu ver é que ao invés dele passar a 'formula' de como resolver, ele expõe o problema e fica a seu critério como resolver... E obviamente se 'empacar' em algum exercício pode perguntar pra galera no fórum Pessoal fala bastante dos cursos do Guanabara: https://www.cursoemvideo.com/course/curso-php-iniciante/ Leitura tmb muito recomenda: https://secure.php.net/manual/pt_BR/tutorial.php https://secure.php.net/manual/pt_BR/intro-whatis.php https://secure.php.net/manual/pt_BR/intro-whatcando.php Boa leitura e bons estudos.
  12. A maioria dos projetos que já tive contato era sempre upload -> salvar na hospedagem (não no banco) De alguma forma usando essa função: http://php.net/manual/pt_BR/function.move-uploaded-file.php (Frameworks se encaixa aqui ok? Depende do que você considera seguro.... Para iniciar estamos falando de uma imagem? de um arquivo .txt? de um xlxs? de um .exe? Você pode começar validando o final da extensão do arquivo + seu mime type (acredito que é um otimo start) Achei um issue interessante no STACK: http://stackoverflow.com/questions/38509334/full-secure-image-upload-script Uma opção caso precise de muito espaço: https://aws.amazon.com/pt/efs/ Bons estudos.
  13. Outra opção é usar um Third Party: Como: https://www.mailgun.com/ Assim fica 100% conversa de HTTP/API ao invés de uso de funções como mail() / PHPMailer
  14. Ué faça uma verificação anteriormente então... <?php if(!file_exists('arquivo.txt')){ die('Mensagem descente, o arquivo não existe.'); } Leia: http://php.net/manual/pt_BR/function.file-exists.php
  15. A estrutura do JSON é dinamica? Caso sim, boa leitura: http://aurelio.net/regex/guia/ https://tableless.com.br/o-basico-sobre-expressoes-regulares/