Notícias do mundo web, novidades na área de desenvolvimento, consultoria e web-marketing.
quinta-feira, 2 de setembro de 2021
terça-feira, 31 de agosto de 2021
Erro Composer: “Allowed memory size”
Para resolver o problema gerado ao tentar executar o comando composer update.
Primeiramente achar o caminho do arquivo composer.phar.
Então digira no prompt de comando no caso do windows "dir composer.phar /s".
Encontrado o caminho do mesmo basta executar o comando abaixo dentro do diretorio onde se encontra o arquivo de configuração JSON do projeto em questão.
php -dmemory_limit=-1 c:\ProgramData\ComposerSetup\bin\composer.phar update
Também pode tentar mudar a cláusula das configurações do PHP.INI, mudar para"memory_limit=-1", onde se encontra, memory_limit=128M.
Outra opção ainda seria definir a variável de memoria.
"COMPOSER_MEMORY_LIMIT=-1 composer <comando a ser executado>"
Pronto.. problema resolvido
sexta-feira, 13 de agosto de 2021
terça-feira, 10 de agosto de 2021
quarta-feira, 4 de agosto de 2021
quarta-feira, 28 de julho de 2021
Problemas com Protocolo TLS 1.2 e incompatibilidadesdes na NF-e 4.00
O Protocolo TLS 1.2 passa a ser obrigatório para emissão de NF-e e NFC-e a partir da NF-e 4.00. Conforme descrito na NT 2016.002, o Protocolo SSL foi substituído pelo TLS 1.2 por questões de segurança.
Os Webservices dos documentos fiscais NF-e, NFC-e, CT-e, CT-e OS e MDF-e não aceitarão mais documentos fiscais emitidos através do Protocolo de Comunicação SSL.
Como ativar o Protocolo TLS 1.2 no Windows:
- Vá até o Painel de Controle do Windows.
- Escolha a Opção "Opções da Internet";
- Vá até a aba “Avançadas”,
- No bloco “Configurações”, vá até as últimas opções;
- Marque: Não salvar páginas criptografadas em disco;
- Marque: Usar SSL 3.0;
- Desmarque: Usar SSL 2.0;
- Marque: Usar TLS 1.0;
- Desmarque: Usar TLS 1.1;
- Marque: Usar TLS 1.2;
- Clique em OK.
Além dessas configurações de TLS/SSL, algumas versões Windows não dão suporte ao protocolo TLS 1.2.
Veja a lista de Windows que NÃO FUNCIONAM:
- Windows Server 2003
- Windows Server 2008
- Windows Server 2008 - SP2
- Windows Server 2008 - R2 SP1
- Windows 7 - Sem SP1
- Windows 8
- Windows Vista
- Windows XP
Para esses casos, a solução é instalar uma outra versão do sistema operacional.
Você ainda pode ter problemas com outras versões do Windows, pois nem todos vem nativamente habilitados para o uso desse protocolo, portanto, será necessário executar o Windows Update para que as atualizações necessárias sejam instalados, e o protocolo seja habilitado.
Obs.: Após instalar algumas das atualizações será necessário reiniciar o Windows, lembre-se de sempre que iniciar novamente, abrir o Windows Update novamente e conferir se não apareceram novas atualizações, se houverem, inicie novamente o processo de instalação.
Para sistemas construídos em linguagem Java, o TLS 1.2 é suportado apenas pela versão 1.7 ou superior do Java, portanto, caso utilize uma versão anterior a 1.7, o Java deve ser atualizado também.
Lembramos ainda que no ambiente de homologação é exigido que o sistema emissor envie a cadeia completa do certificado, conforme descrito nesta nota: http://www.nfe.go.gov.br/post/ver/182650/obrigatoriedade-de-apresentacao-de-cadeia-de-certificacao-completa
terça-feira, 27 de julho de 2021
Emitindo um certificado, configurando um servidor SSL Apache 2.4 Windows
1. Primeiramente devemos fazer a instalação do software para emissão do Certificado.
Para isto iremos usar o Openssl. No link abaixo poderá ser encontrado o download da versão do windows, ou seja 32 ou 64.
http://slproweb.com/products/Win32OpenSSL.html
1.1. Faça a instalação da maneira recomendada, bastando clicar em NEXT até o final da instalação.
2. Gerando o Certificado SSL.
entre com o comando do windows CMD para abrir o prompt de comando no modo administrador.
openssl req -x509 -nodes -days 10000 -newkey rsa:2048 -keyout server.key -out server.crt
Então será pedido informações para o certificado, caso não deseje informar basta deixar todos os campos em branco.
Então será gerado na pasta do apache/conf os arquivos server.key e server.crt.
3. Instalando o Certificado
Então será necessário instalar o certificado gerador "server.crt",
no repositório do Windows.
Então basta clicar em cima do arquivo e instalar ele como arquivos
de certificado confiáveis.
4. Configurando o Apache
4.1 Entre na pasta apache/config e procure pelo arquivo "http.conf",
neste arquivo será necessário, habilitar o módulo ssl e o cache.
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so (aproximadamente linha 174) LoadModule ssl_module modules/mod_ssl.so (aproximadamente linha 176)
4.2 Também no mesmo arquivo tirar o comentário na 527, para ter acesso ao arquivo httpd-ssl.conf.
Include conf/extra/httpd-ssl.conf (aproximadamente linha 527)
4.3 Vá até o arquivo httpd-ssl.conf que se encontra na pasta apache/conf/extra e altere o caminho do certificado gerado conforme abaixo.
SSLCertificateFile "c:/apache/ssl/server.crt" (aproximadamente linha 144) SSLCertificateKeyFile "c:/Apache/ssl/server.key" (aproximadamente linha 154)
Lembrando que os arquivos server.crt e server.key, devem estar na pasta indicada apache/ssl.
5. Criando o virtual host para a porta ssl.
5.1 vá até o arquivo httpd-vhosts.conf que se encontra na mesma pasta do httpd-ssl.conf, e inclua mais um virtual host para a porta desejada ssl.
Como exemplo:
<VirtualHost *:443> ServerName seudominio.com.br ServerAlias www.seudominio.com.br DocumentRoot "C:/xampp/htdocs/seudominio" <Directory "C:/xampp/htdocs/seudominio"> Options +Indexes +Includes +FollowSymLinks +MultiViews Require all granted </Directory> SSLEngine on SSLCertificateFile "c:/apache/ssl/server.crt" SSLCertificateKeyFile "c:/apache/ssl/server.key" SSLCertificateChainFile "c:/apache/ssl/server.crt" </VirtualHost>Indicando também o caminho do certificado.
Basta agora reinciar o servidor apache e fazer o teste. :D
sexta-feira, 19 de março de 2021
sexta-feira, 12 de abril de 2019
sexta-feira, 7 de dezembro de 2018
Exemplo de como ler um arquivo modelo alterar informações dele e salvar em um novo arquivo.
private function mergeModeloToDocumento(string $nomeDoTemplate){
$novo_arquivo = 'data/contrato.phtml';
if (!file_exists($nomeDoTemplate)) {
throw new \Exception('Template não encontrado!');
}
$novo_buffer = '';
$le_arquivo = fopen($nomeDoTemplate, "r");
if ($le_arquivo){
try{
while (!feof($le_arquivo)) {
$buffer = fgets($le_arquivo, filesize($nomeDoTemplate));
$novo_buffer .= str_replace('<@numeroContrato>', '00002', $buffer);
}
} finally {
fclose($le_arquivo);
}
}
try{
$escreve_arquivo = fopen($novo_arquivo, "w");
if($escreve_arquivo) {
fwrite($escreve_arquivo, $novo_buffer);
}
} finally {
fclose($escreve_arquivo);
}
return $novo_arquivo;
}
Exemplo:
$nomeDoNovoArquivo = $this->mergeModeloToDocumento('data/modelo.phtml');
echo 'Arquivo salvo em '.$nomeDoNovoArquivo.'.';
Conteúdo do Arquivo Modelo:
Contrato Nr. <@numeroContrato>
Conteúdo do Arquivo Final:
Contrato Nr. 00002
Abaixo exemplos de como extrair o Dia, Mês e Ano, de uma data.
class UtilData {
public static function getDia(\DateTime $data){
return $data->format('d');
}
public static function getMes(\DateTime $data){
return $data->format('m');
}
public static function getAno(\DateTime $data){
return $data->format('Y');
}
terça-feira, 22 de julho de 2014
Ambiente:
Facelets
JSF Mojarra 2.0.6
PrimeFaces 3.5.4
Bootstrap v2.3.2
Para inclusão de mascaras de campos faça da seguinte forma:
Primeiramente devemos fazer o download da biblioteca maskedinput.js.
Depois do download salve na pasta dentro do projeto onde desejar.
Para o exemplo abaixo foi saldo em "Webcontext\js".
Incluir a linha abaixo em seu html.
<script src="${request.contextPath}/js/jquery.maskedinput.js"></script>
Em cada página deve ser usada a linha:
<script type="text/javascript">
jQuery(function($){
$("#ddd1").mask("99");
$("#telefone1").mask("9999-9999");
$("#cep").mask("99999-999");
$("#cpfAssina").mask("999.999.999-99");
});
</script>
Acentuação com JSF + Facelets
Bem comecemos;
Ambiente:
Facelets
JSF Mojarra 2.0.6
PrimeFaces 3.5.4
Sendo assim teremos um template:
Neste template é importante conter as linhas:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
Também incluir a linha abaixo no meta do template:
<meta charset="utf-8"></meta>
Já as páginas que compõem o layout devem conter a linha:
<ui:fragment xmlns="http://www.w3.org/1999/xhtml">
já para a composição:
<ui:composition template="/faces/templates/template.xhtml" xmlns="http://www.w3.org/1999/xhtml">
Observação:
Caso o interesse seja por iso-8859-1, basta mudar de UTF-8 para ISO-8859-1.
Simples assim:
Abraços...
quinta-feira, 9 de janeiro de 2014
Client WebService em Java - JAX WS
Dê um nome sugestivo para seu projeto.
Sempre clicando no next.



Sendo assim terá um projeto criado.
Segundo passo:
Agora iremos criar nossa estrutura webService Client para acesso ao serviço ExemploService.
Nesta tela temos que escolher o serviço. Clicar em BROWSE.
Também em BROWSE.
Achamos o arquivo WSDL, ou seja o arquivo de serviços.
Finalizando a criação, teremos um toda a estrutura criada do WebService Client.
Para o teste do serviço iremos implementar um servlet que fará uso do recurso de WebService Client.
Porém este não seria o recomendável, apenas será criado para fins didáticos e aproveitando o projeto web dinâmico já criado.
Exemplo da classe servlet criada para receber os parâmetros da tela.
Continuação da classe.
Criação do JSP.
Exemplo do Código de JSP.
Pronto.
Basta iniciar os projetos, o Servidor de WebService e o Client de WebService.
Abra a página jsp do exemplo e basta fazer o teste.
Ainda lembramos que como o Servidor de WebService foi criado no ambiente local, a classe que implementa a chamada do serviço ficou como "http://localhost...".
Para que possa fazer uso dela em produção deve ser feita algumas alterações nestas classes, como por exemplo a URL de produção.
Abraços e fico por aqui...
WebService em Java - JAX WS
Dê um nome sugestivo para seu projeto.

Sempre clicando no next.

Sendo assim terá um projeto criado como abaixo.

Segundo passo:
Crie sua classe de Serviços.
Lembro que esta classe é apenas uma classe java, nada de especial nela.


Primeira seta é o parâmetro é seu pacote, aconselho criá-lo também.
Segundo seta é o nome da sua classe.

Então desenvolvi 3 métodos dentro de minha classe de serviços.
Servico1, Servico2 e ServicoLista.

Terceiro passo:
Iremos agora transformar a classe de serviço criada em um WebService.
Para que não tenhamos nenhuma surpresa aconselho antes de clicar em New, selecionar a classe que irá se transformar em um WebService.

A seta indica qual a classe que irá ser transformada em um WebService.
Se você clicou em cima da classe antes de clicar em new, irá mostrar como abaixo.
Caso não apareça já aconselho fechar a tela e voltar ao terceiro passo novamente.
Seta abaixo indica os serviços que serão disponibilizados, caso não seja necessário todos, basta tirar a seleção de algum.

A tela abaixo citada irá aparecer apenas se o servidor estiver parado, caso o servidor esteja rodando esta tela não irá aparecer.
Aparecendo a tela abaixo deve ser selecionada a opção SERVER.


terça-feira, 13 de março de 2012
Migrando um projeto do delphi 7 para o Delphi 2010 tive alguns problemas, com relação a componentes. Estes foram todos sanados. Por último após compilar o projeto sem problemas, ao tentar programar no mesmo não abria o "code completition". Então a tecla de atalho Ctrl + espaço não respondia.
Após várias pesquisas encontrei no blog do Diego Garcia a saída:
Project Options -> Delphi Compiler -> Unit aliases contém as seguintes definições: "WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE"
Caso não tenha, em alguns lugares do código do seu programa pode ser que o code completition do delphi não funcione !
Abaixo link original:
http://unitonedev.blogspot.com/2009/10/dica-para-migrar-para-o-delphi-2010.html

























