-
Posts
114 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que João Vitor Sacramento Rocha postou
-
Javascript Desenvolvimento web vale a pena investir nessa área?
João Vitor Sacramento Rocha respondeu ao tópico de DúvidasProgramação em Web e banco de dados
e como vale, Inclusive nativo! -
PHP Por onde começar PHP ou JS
João Vitor Sacramento Rocha respondeu ao tópico de Luiz Paulo Escobar em Web e banco de dados
recomendo começa com php e depois de php com orientação a objeto partir para js e ajax depois parti para node.js e react native não recomendo js de inicio pois e uma linguagem que quebra barreiras -
HTML Painel para editar partes do meu site html
João Vitor Sacramento Rocha respondeu ao tópico de parod em Web e banco de dados
Exato, recomendo que faça um sistema basico de crud com sistema de login e que torne ele em painel, tenho ums sistema de gestão comercial que o cliente muda. Daqui um tempo quero torna com a api de NF-E Recomendo cria um mine painel com php com crud e sistema de login, recomendo que use tambem uma api para cria um sistema de postagem que fica bem mais fácil e dinamico -
PHP problema ao mesclar imagem
João Vitor Sacramento Rocha respondeu ao tópico de João Vitor Sacramento Rocha em Web e banco de dados
tentei mais não fica do mesmo tamanho quero deixa as duas do mesmo tamanho e isso entendi -
PHP problema ao mesclar imagem
João Vitor Sacramento Rocha respondeu ao tópico de João Vitor Sacramento Rocha em Web e banco de dados
<?php $dest = imagecreatefromjpeg('src2.jpg'); //Pega a imagem principal $marcadagua = imagecreatefrompng('src1.png'); //Pega a imagem que vai ser centralizada //pega o tamanho da imagem principal $dwidth = imagesx($dest); $dheight = imagesy($dest); //pega o tamanho da imagem que vai ser centralizada $mwidth = imagesx($marcadagua); $mheight = imagesy($marcadagua); //Calcula a x e y posição pra colocar a imagem no centro da outra //A função round arredonda os valores $xPos = round(($dwidth - $mwidth) / 2); $yPos = round(($dheight - $mheight) / 2); imagecopymerge($dest, $marcadagua, $xPos, $yPos, 0, 0, $mwidth, $mheight, 100); header('Content-Type: image/jpeg'); imagejpeg($dest); //destrói resources imagedestroy($dest); imagedestroy($marcadagua); ?> agora tenho outro problema que me deixa chateado a png e fundo transparente e não fica serio ela fica branco o fundo pode da uma força -
PHP problema ao mesclar imagem
João Vitor Sacramento Rocha respondeu ao tópico de João Vitor Sacramento Rocha em Web e banco de dados
mesmo mudando para jpeg da o mesmo erro ou mudando para png <?php $dest = imagecreatefrompng('src1.png'); //Pega a imagem principal $marcadagua = imagecreatefromjpeg('https://thumbs.dreamstime.com/b/tela-e-o-plano-de-fundo-do-iphone-mockup-t%C3%AAm-png-isolado-em-segundo-para-v%C3%A1rios-aplicativos-158473491.jpg'); //Pega a imagem que vai ser centralizada //pega o tamanho da imagem principal $dwidth = imagesx($dest); $dheight = imagesy($dest); //pega o tamanho da imagem que vai ser centralizada $mwidth = imagesx($marcadagua); $mheight = imagesy($marcadagua); //Calcula a x e y posição pra colocar a imagem no centro da outra //A função round arredonda os valores $xPos = round(($dwidth + $mwidth)); $yPos = round(($dheight + $mheight)); imagecopymerge($dest, $marcadagua, $xPos, $yPos, 0, 0, $mwidth, $mheight, 100); header('Content-Type: image/jpeg'); imagepng($dest); //destrói resources imagedestroy($dest); imagedestroy($marcadagua); ?> Funcionou mais ou menos pois as imagem não estão ficando junto serio to tentando resolver se puder me ajuda -
Somente o site da twitch.tv não abre.
João Vitor Sacramento Rocha respondeu ao tópico de PedroAmLemos em Redes e Internet
baixa então o programa para desktop, pois o twitch e pelo asp.net -
Somente o site da twitch.tv não abre.
João Vitor Sacramento Rocha respondeu ao tópico de PedroAmLemos em Redes e Internet
O dns e o cash pode está sobrecarregado recomendo abrir o cmd e por "ipconfig / flushdns" passei por isso com um site que eu acessava muito -
problema ao mesclar imagem, quando faz a junção a imagem não aparece preciso de ajuda fica apenas um quadrado. ja tentei de varias formas fiquei um tempo sem pedir ajuda aqui <?php $dest = imagecreatefromjpeg('src1.png'); $marcadagua = imagecreatefromgif('src2.png'); $dwidth = imagesx($dest); $dheight = imagesy($dest); $mwidth = imagesx($marcadagua); $mheight = imagesy($marcadagua); $xPos = round(($dwidth - $mwidth) / 2); $yPos = round(($dheight - $mheight) / 2); imagecopymerge($dest, $marcadagua, $xPos, $yPos, 0, 0, $mwidth, $mheight, 100); header('Content-Type: image/jpeg'); imagejpeg($dest); imagedestroy($dest); imagedestroy($marcadagua); ?> se poderem da uma força
-
CSS Posicionamento de rodapé e menu (iniciante)
João Vitor Sacramento Rocha respondeu ao tópico de Rubyzinha em Web e banco de dados
lhe recomendo usa o bootstrap e ultilizar containers e row e depois ir modificando do bootstrap e depois estuda o css -
HTML Visualizar meu site no celular
João Vitor Sacramento Rocha respondeu ao tópico de edureoli em Web e banco de dados
existe alguns IFrames para web ou você pode passa para o celular e abri-lo pelo google chrome do cell -
MySQL seleciona sem repetir os dados
João Vitor Sacramento Rocha postou um tópico em Web e banco de dados
SELECT p.vendas WHERE NOT IN(SELECT p2.vendas FROM WHERE NOT(p.`cart`=p2.`cart`)) Tentando seleciona sem repetir o cart alguem pode da uma força ? -
PHP Enferrujado em php, deem uma olhda
João Vitor Sacramento Rocha respondeu ao tópico de BOREAL008 em Web e banco de dados
Sua nota é '.$nota.' e isso ? -
PHP Enferrujado em php, deem uma olhda
João Vitor Sacramento Rocha respondeu ao tópico de BOREAL008 em Web e banco de dados
9 você não colocou >5 -
PHP Enferrujado em php, deem uma olhda
João Vitor Sacramento Rocha respondeu ao tópico de BOREAL008 em Web e banco de dados
boa criou um switch para isso -
Javascript Utilizando dados da planilha Excel em página WEB.
João Vitor Sacramento Rocha respondeu ao tópico de Vinicius Oliveira em Web e banco de dados
Office Power BI -
document.addEventListener('DOMContentLoaded', function () { var calendarEl = document.getElementById('calendar'); var calendar = new FullCalendar.Calendar(calendarEl, { locale: 'pt-br', plugins: ['interaction', 'dayGrid'], //defaultDate: '2019-04-12', editable: true, eventLimit: true, events: 'list_eventos.php', extraParams: function () { return { cachebuster: new Date().valueOf() }; }, eventClick: function (info) { info.jsEvent.preventDefault(); // don't let the browser navigate console.log(info.event); $('#visualizar #id').text(info.event.id); $('#visualizar #id').val(info.event.id); $('#visualizar #title').text(info.event.title); $('#visualizar #title').val(info.event.title); $('#visualizar #tel').text(info.event.tel); $('#visualizar #tel').val(info.event.tel); $('#visualizar #local').text(info.event.local); $('#visualizar #local').val(info.event.local); $('#visualizar #start').text(info.event.start.toLocaleString()); $('#visualizar #start').val(info.event.start.toLocaleString()); $('#visualizar #end').text(info.event.end.toLocaleString()); $('#visualizar #end').val(info.event.end.toLocaleString()); $('#visualizar #color').val(info.event.backgroundColor); $('#visualizar').modal('show'); }, selectable: true, select: function (info) { //alert('Início do evento: ' + info.start.toLocaleString()); $('#cadastrar #start').val(info.start.toLocaleString()); $('#cadastrar #end').val(info.end.toLocaleString()); $('#cadastrar').modal('show'); } }); calendar.render(); }); //Mascara para o campo data e hora function DataHora(evento, objeto) { var keypress = (window.event) ? event.keyCode : evento.which; campo = eval(objeto); if (campo.value == '00/00/0000 00:00:00') { campo.value = ""; } caracteres = '0123456789'; separacao1 = '/'; separacao2 = ' '; separacao3 = ':'; conjunto1 = 2; conjunto2 = 5; conjunto3 = 10; conjunto4 = 13; conjunto5 = 16; if ((caracteres.search(String.fromCharCode(keypress)) != -1) && campo.value.length < (19)) { if (campo.value.length == conjunto1) campo.value = campo.value + separacao1; else if (campo.value.length == conjunto2) campo.value = campo.value + separacao1; else if (campo.value.length == conjunto3) campo.value = campo.value + separacao2; else if (campo.value.length == conjunto4) campo.value = campo.value + separacao3; else if (campo.value.length == conjunto5) campo.value = campo.value + separacao3; } else { event.returnValue = false; } } $(document).ready(function () { $("#addevent").on("submit", function (event) { event.preventDefault(); $.ajax({ method: "POST", url: "cad_event.php", data: new FormData(this), contentType: false, processData: false, success: function (retorna) { if (retorna['sit']) { //$("#msg-cad").html(retorna['msg']); location.reload(); } else { $("#msg-cad").html(retorna['msg']); } } }) }); $('.btn-canc-vis').on("click", function(){ $('.visevent').slideToggle(); $('.formedit').slideToggle(); }); $('.btn-canc-edit').on("click", function(){ $('.formedit').slideToggle(); $('.visevent').slideToggle(); }); $("#editevent").on("submit", function (event) { event.preventDefault(); $.ajax({ method: "POST", url: "edit_event.php", data: new FormData(this), contentType: false, processData: false, success: function (retorna) { if (retorna['sit']) { //$("#msg-cad").html(retorna['msg']); location.reload(); } else { $("#msg-edit").html(retorna['msg']); } } }) }); }); <?php session_start(); require_once "Clinica.class.php"; ?> <!--** * @author Cesar Szpak - Celke - [email protected] * @pagina desenvolvida usando FullCalendar e Bootstrap 4, * o código é aberto e o uso é free, * porém lembre-se de conceder os créditos ao desenvolvedor. *--> <!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <link href='css/core/main.min.css' rel='stylesheet' /> <link href='css/daygrid/main.min.css' rel='stylesheet' /> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <link rel="stylesheet" href="css/personalizado.css"> <script src='js/core/main.min.js'></script> <script src='js/interaction/main.min.js'></script> <script src='js/daygrid/main.min.js'></script> <script src='js/core/locales/pt-br.js'></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> <script src="js/personalizado.js"></script> </head> <body> <?php if (isset($_SESSION['msg'])) { echo $_SESSION['msg']; unset($_SESSION['msg']); } ?> <div id='calendar'></div> <div class="modal fade" id="visualizar" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Detalhes do Evento</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="visevent"> <dl class="row"> <dt class="col-sm-3">ID do evento</dt> <dd class="col-sm-9" id="id"></dd> <dt class="col-sm-3">Título do evento</dt> <dd class="col-sm-9" id="title"></dd> <dt class="col-sm-3">Nome do cliente</dt> <dd class="col-sm-9" id="cliete"></dd> <dt class="col-sm-3">tel</dt> <dd class="col-sm-9" id="tel"></dd> <dt class="col-sm-3">local</dt> <dd class="col-sm-9" id="local"></dd> <dt class="col-sm-3">Início do evento</dt> <dd class="col-sm-9" id="start"></dd> <dt class="col-sm-3">Fim do evento</dt> <dd class="col-sm-9" id="end"></dd> </dl> <button class="btn btn-warning btn-canc-vis">Editar</button> </div> <div class="formedit"> <span id="msg-edit"></span> <form id="editevent" method="POST" enctype="multipart/form-data"> <input type="hidden" name="id" id="id" > <div class="form-group row"> <label class="col-sm-2 col-form-label">Título</label> <div class="col-sm-10"> <input type="text" name="title" class="form-control" id="title" placeholder="Título do evento"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">tel</label> <div class="col-sm-10"> <input type="text" name="tel" class="form-control" id="tel" placeholder="telefone"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">empresa</label> <div class="col-sm-10"> <select type="text" name="local" class="form-control" id="local"> <?php $clinica= new Clinica; $clinica->listClinica(); ?> </select> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Color</label> <div class="col-sm-10"> <select name="color" class="form-control" id="color"> <option value="">Selecione</option> <option style="color:#FFD700;" value="#FFD700">Amarelo</option> <option style="color:#0071c5;" value="#0071c5">Azul Turquesa</option> <option style="color:#FF4500;" value="#FF4500">Laranja</option> <option style="color:#8B4513;" value="#8B4513">Marrom</option> <option style="color:#1C1C1C;" value="#1C1C1C">Preto</option> <option style="color:#436EEE;" value="#436EEE">Royal Blue</option> <option style="color:#A020F0;" value="#A020F0">Roxo</option> <option style="color:#40E0D0;" value="#40E0D0">Turquesa</option> <option style="color:#228B22;" value="#228B22">Verde</option> <option style="color:#8B0000;" value="#8B0000">Vermelho</option> </select> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Início do evento</label> <div class="col-sm-10"> <input type="text" name="start" class="form-control" id="start" onkeypress="DataHora(event, this)"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Final do evento</label> <div class="col-sm-10"> <input type="text" name="end" class="form-control" id="end" onkeypress="DataHora(event, this)"> </div> </div> <div class="form-group row"> <div class="col-sm-10"> <button type="button" class="btn btn-primary btn-canc-edit">Cancelar</button> <button type="submit" name="CadEvent" id="CadEvent" value="CadEvent" class="btn btn-success">Cadastrar</button> </div> </div> </form> </div> </div> </div> </div> </div> <div class="modal fade" id="cadastrar" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Cadastrar Evento</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <span id="msg-cad"></span> <form id="addevent" method="POST" enctype="multipart/form-data"> <div class="form-group row"> <label class="col-sm-2 col-form-label">Título</label> <div class="col-sm-10"> <input type="text" name="title" class="form-control" id="title" placeholder="Título do evento"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">tel</label> <div class="col-sm-10"> <input type="text" name="tel" class="form-control" id="tel" placeholder="telefone"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">empresa</label> <div class="col-sm-10"> <select> <?php $clinica= new Clinica; $clinica->listClinica(); ?> </select> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Color</label> <div class="col-sm-10"> <select name="color" class="form-control" id="color"> <option value="">Selecione</option> <option style="color:#FFD700;" value="#FFD700">Amarelo</option> <option style="color:#0071c5;" value="#0071c5">Azul Turquesa</option> <option style="color:#FF4500;" value="#FF4500">Laranja</option> <option style="color:#8B4513;" value="#8B4513">Marrom</option> <option style="color:#1C1C1C;" value="#1C1C1C">Preto</option> <option style="color:#436EEE;" value="#436EEE">Royal Blue</option> <option style="color:#A020F0;" value="#A020F0">Roxo</option> <option style="color:#40E0D0;" value="#40E0D0">Turquesa</option> <option style="color:#228B22;" value="#228B22">Verde</option> <option style="color:#8B0000;" value="#8B0000">Vermelho</option> </select> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Início do evento</label> <div class="col-sm-10"> <input type="text" name="start" class="form-control" id="start" onkeypress="DataHora(event, this)"> </div> </div> <div class="form-group row"> <label class="col-sm-2 col-form-label">Final do evento</label> <div class="col-sm-10"> <input type="text" name="end" class="form-control" id="end" onkeypress="DataHora(event, this)"> </div> </div> <div class="form-group row"> <div class="col-sm-10"> <button type="submit" name="CadEvent" id="CadEvent" value="CadEvent" class="btn btn-success">Cadastrar</button> </div> </div> </form> </div> </div> </div> </div> </body> </html> <?php session_start(); include_once 'conexao.php'; include_once 'Clinica.class.php'; $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); //Converter a data e hora do formato brasileiro para o formato do Banco de Dados $data_start = str_replace('/', '-', $dados['start']); $data_start_conv = date("Y-m-d H:i:s", strtotime($data_start)); $data_end = str_replace('/', '-', $dados['end']); $data_end_conv = date("Y-m-d H:i:s", strtotime($data_end)); $clinica = new Clinica; $id=$clinica->Cliente($dados['tel']); $query_event = "INSERT INTO events (title,tel,idecliente,idecnpj, color, start, end) VALUES (:title,:tel,:id:,:local,:color,:start,:end)"; $insert_event = $conn->prepare($query_event); $insert_event->bindParam(':title', $dados['title']); $insert_event->bindParam(':tel', $dados['tel']); $insert_event->bindParam(':local', $dados['local']); $insert_event->bindParam(':id', $id); $insert_event->bindParam(':color', $dados['color']); $insert_event->bindParam(':start', $data_start_conv); $insert_event->bindParam(':end', $data_end_conv); if ($insert_event->execute()) { $retorna = ['sit' => true, 'msg' => '<div class="alert alert-success" role="alert">Evento cadastrado com sucesso!</div>']; $_SESSION['msg'] = '<div class="alert alert-success" role="alert">Evento cadastrado com sucesso!</div>'; } else { $retorna = ['sit' => false, 'msg' => '<div class="alert alert-danger" role="alert">Erro: Evento não foi cadastrado com sucesso!</div>']; } header('Content-Type: application/json'); echo json_encode($retorna); <?php require_once '../App/Models/connect.php'; class Clinica extends Connect { public function listClinica(){ $this->query = "SELECT *FROM `cnpj` WHERE 1"; $this->result = mysqli_query($this->SQL, $this->query) or die ( mysqli_error($this->SQL)); if($this->result){ while ($row = mysqli_fetch_array($this->result)) { echo '<option value="'.$row['idcnpj'].'">'.$row['localTrabalho'].'</option>'; } } } public function Cliente($tel) { $this->query = "SELECT * FROM `cliente` WHERE `telefone`='$tel'"; $this->result = mysqli_query($this->SQL, $this->query) or die ( mysqli_error($this->SQL)); if($this->result){ while ($row = mysqli_fetch_array($this->result)) { return $row['idCliente']; } } } } ?> o Local não funciona da erro quando vem a aplicação
-
PHP problema de hosst como possso resolver paraa chama o cdnjs
João Vitor Sacramento Rocha respondeu ao tópico de João Vitor Sacramento Rocha em Web e banco de dados
foi isso mesmo tive que baixa -
PHP problema para pegar o id
João Vitor Sacramento Rocha respondeu ao tópico de João Vitor Sacramento Rocha em Web e banco de dados
ele aparece o resultado o problema e quando envio do formulario para o outro -
PHP problema para pegar o id
João Vitor Sacramento Rocha respondeu ao tópico de João Vitor Sacramento Rocha em Web e banco de dados
<?php require_once '../App/auth.php'; require_once '../layout/scriptfranqueado.php'; require_once 'Models/usuario.class.php'; if(isset($_GET['id'])){ $resp = $usuario->edituser($_GET['id']); echo $head; echo $header; echo $aside; if($perm==2 or $perm>=4) { echo'<div> <h3>você não tem pérmissão entre em contato com o suporte caso precise!</h3> </div>'; }else{ echo '<div class="content-wrapper" style="background: url(../dist/img/fundotela.jpeg);">'; echo '<!-- Content Header (Page header) --> <section class="content-header"> <h1 style="color:#fff;"> Adiciona <small>Franquia</small> </h1> <ol class="breadcrumb"> <li><a href="index.php"><i class="fa fa-dashboard"></i> Home</a></li> <li class="active">usuario</li> </ol> </section> <!-- Main content --> <section class="content"> <!-- Small boxes (Stat box) --> <div class="row">'; echo ' <div class="row"> <!-- left column --> <div class="col-md-6"> <!-- general form elements --> <div class="box box-primary"> <div class="box-header with-border"> <h3 class="box-title">usuario</h3> </div> <!-- /.box-header --> <!-- form start --> <form role="form" action="Models/insetcnpjuser.php" method="POST"> <div class="box-body"> <div class="form-group"> <label for="exampleInputEmail1">Nome do usuario</label> <p>'.$resp['usuario']['Username'].'</p> </div> <input type="hidden" name="iduser" readonly=“true” class="form-control" id="exampleInputEmail1" placeholder="iduser" method="get" value="'.$_GET['id'].'"> <div class="form-group"> <div> <label for="exampleInputEmail1">porcentage</label> <input type="text" name="porcentagem" class="form-control" id="exampleInputEmail1" placeholder="porcentagem"> </div> <div class="form-group"> <label for="exampleInputEmail1">Empresa</label> <select type="number" name="franquia" style="width:520px;height: 30px; background-color: #fff; border-color: black;" id="franquia" placeholder="franquia" method="GET"><b> <option value="1000">clinica</option> <option value="1">Clínica Baianão-Porto Seguro</option> <option value="2">Clínica Centro- Porto Seguro</option> <option value="3">Clínica Paraguai- Porto Seguro</option> <option value="4">Clínica Trancoso- Porto Seguro</option> <option value="5">Clínica canavieiras</option> <option value="6">Clínica coroa vermelha- Porto Seguro</option> <option value="7">Clínica Posto da Mata</option> <option value="8">Clínica Itabela</option> <option value="9">Clínica Belmonte</option> <option value="10">Clínica Camacan</option> <option value="11">Clínica Iguaí</option> <option value="12">Clínica Ubaitaba</option> <option value="13">Clínica Itororó</option> <option value="14">Clínica Itacaré</option> <option value="15">Clínica Boa Vista</option></b> </select> </div> <input type="hidden" name="id" value="'.$resp['usuario']['idUser'].'"> <!-- /.box-body --> <div class="box-footer"> <button type="submit" name="cadastrar" class="btn btn-primary" style="background:#08f045;">Cadastrar</button> <a class="btn btn-danger" href="../viewsfranqueado">Cancelar</a> </div> </form> </div> <!-- /.box --> </div> </div>'; } } echo '</div>'; echo '</div>'; echo '</section>'; echo '</div>'; echo $footer; echo $javascript; ?> <?php require_once 'usuario.class.php'; $franquia = $_POST['franquia']; $iduser = $_POST['id']; $porcentagem = $_POST['porcentagem']; $usuario->updateusuario($idUser, $franquia,$porcentagem); ('Location: ../../itens/index.php'); ?> dei uma atualizada
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais