Category Archives: Sistema de informação

Categoria relacionada a assuntos referentes aos sitemas de informações.

10 conselhos de um bom programador

Para se tornar um bom profissional (e isso vale para qualquer área eu acho) é preciso muita dedicação no estudo da teoria e muito mais ainda na aplicação da prática.

Dominar certa tecnologia, técnica ou ferramenta requer muita tentativa, erro e mais tentativa. Até que se chegue ao acerto.

Quando resolvi escrever isso aqui eu pensava em direcionar a lista pra quem ta começando. Mas se me permitem acho que posso ir além. A lista mais abaixo vai trazer 10 ações que considero essenciais para aprender e dominar certa tecnologia. Isso envolve aprender uma linguagem, utilizar um framework, aprender sobre IA, fazer uma faculdade, criar um app e por aí vai.

Embora nunca tenha trabalhado em uma multinacional, startup, ou empresa grande de tecnologia, minha experiência permite que eu possa de forma humilde compilar esta lista. Sem nenhuma arrogância, pois preciso e espero ainda aprender muito. E é muito mesmo.

Então vamos à lista.

1 – Comece. Você vai conseguir;

2 – Comece do início. Não pule etapas. Se você quer aprender um framework, conheça primeiro a linguagem.

3 – Estruture seu conhecimento. Tem um monte de conteúdo, site, canal, blog etc por aí. Mas se você puder comprar um curso e um livro você vai aprender melhor e mais rápido.

4 – Invista em você. Se sentir que está na hora de alcançar outro patamar em sua carreira e pra isso deve fazer um curso que custa um pouco mais, tome a decisão certa na hora certa e faça.

5 – Segure a ansiedade. Não dá pra aprender, fazer, comprar, acompanhar, ler, escrever, gravar, postar, estudar tudo ao mesmo tempo sobre tudo. Calma.

6 – Persista. Se não deu certo hoje, saia, descanse, vá à academia, distraia, beba, esqueça. Amanhã vai funcionar. E outra, se não conseguiu aquela vaga, amanhã aparece outra.

7 – Não acumule dúvidas. Se você leu uma palavra sequer que não entendeu procure seu significado imediatamente. Se aparecer algum assunto relacionado e que você não entenda, pare, pesquise e depois volte. Vai fazer uma diferença e tanto depois.

8 – Pratique. Crie, recrie, copie. Crie um repositório no git e tente recriar site, app, interface etc. Teste seus conhecimentos mas sem cobranças exagaredas.

9 – Compartilhe. É muito clichê e também muito verdade. Uma vez que aprendeu, ensinar ou ajudar alguém vai fazer com que você nunca mais esqueça. E é gratificante demais.

10 – Tenha um hobby. Faça alguma atividade em outra área. Isso ajuda em tudo, inclusive na ansiedade.

Acho que é isso. Espero que possa ajudar e se você quiser acrescentar mais alguma coisa comente aí.

Abçs.

Um extra: se estiver com medo ou inseguro, é assim mesmo. Vai com medo mesmo.

Credit Card Metadata and Validator

Hi!

There’s a service that validates the credit card number and returns the metadata.

The requisition is via http and returns a json. Just like this:

curl -H "Accept-Version: 3" "https://lookup.binlist.net/45717360"
 {
  "number": {
    "length": 16,
    "luhn": true
  },
  "scheme": "visa",
  "type": "debit",
  "brand": "Visa/Dankort",
  "prepaid": false,
  "country": {
    "numeric": "208",
    "alpha2": "DK",
    "name": "Denmark",
    "emoji": "🇩🇰",
    "currency": "DKK",
    "latitude": 56,
    "longitude": 10
  },
  "bank": {
    "name": "Jyske Bank",
    "url": "www.jyskebank.dk",
    "phone": "+4589893300",
    "city": "Hjørring"
  }
}

The link: https://binlist.net/

But if you want regex for the most common credit card brands, check below.

    const elo = /((((636368)|(438935)|(504175)|(451416)|(636297)))[0-9]{4}$)|(((5067)|(4576)|(4011))[0-9]{8}$)$/;
    const visa = /^4[0-9]{12}(?:[0-9]{3})$/;
    const master = /^5[1-5][0-9]{14}$/;
    const amex = /^3[47][0-9]{13}$/;
    const diners = /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/;
    const discover = /^6(?:011|5[0-9]{2})[0-9]{12}$/;
    const jcb = /^(?:2131|1800|35\d{3})\d{11}$/;
That’s it!

JSF and Bootstrap form modal

Na atualização de versão do software twarehouse além da migração do Tomcat para o Wildfly, a correção de alguns bugs, o refatoramento das classes e outras melhorias resolvi alterar o framework front-end do primefaces para o bootstrap (Twitter).

Tenho enfrentado muitos desafios neste processo já que é grande o trabalho para configurar templates htmls criados com bootstrap.

Somado a isso ainda há algumas incompatibilidades de design e comportamento entre o framework e o JSF, que consomem bastante tempo e neurônios.

Uma dessas dificuldades que enfrentei foi quando surgiu a necessidade de um mensagem de confirmação na exclusão de registros:

Controle na pesquisa dos registro.s

Controle na pesquisa dos registro.

Os “botões” do controle na verdade correspondem ao atributo <a> do html com o atributo jsfc que permite a utilização dos atributos do componente aninhado à tag html, no caso o <a>. Segue abaixo:

[code language=”html”]

<a class="btn btn-danger"
jsfc="h:commandLink"
type="button"
action="#{pesquisaSubgrupoBean.setSubgrupoSelecionado(subgrupo)}"
immediate="true">
<f:setPropertyActionListener
value="#{subgrupo}"
target="#{pesquisaSubgrupoBean.subgrupoSelecionado}"/>

<f:passThroughAttribute name="data-toggle" value="modal" />
<f:passThroughAttribute name="data-target" value="#myModal" />
<f:ajax/>

<i class="icon_close_alt2"></i>
</a>
[/code]

Até ai tudo bem. O problema mesmo era fazer com que o form modal fosse chamado ao clicar no botão. Segue o código do form:

[code language=”html”]

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModal" aria-hidden="true" data-keyboard="false" data-backdrop="static">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<h:form id="myForm">
<div class="modal-header">
<button aria-hidden="true" data-dismiss="modal" class="close" type="button">×</button>
<h4 class="modal-title">Confirmação de exclusão</h4>
</div>
<div class="modal-body">
<h:panelGroup
layout="block"
id="panelDescricao">

Deseja realmente excluir o registro selecionado?

<a type="submit"
class="btn btn-warning btn-sm"
jsfc="h:commandLink"
action="#{pesquisaSubgrupoBean.excluir()}">
Sim
<f:passThroughAttribute name="data-dismiss" value="modal" />
<f:ajax
execute="@this"
render="@form"/>
</a>

<button
id="close"
type="submit"
class="btn btn-info btn-sm">Não</button>
</h:panelGroup>
</div>

</h:form>
</div>
</div>
</div>

[/code]

Após muitas falhas, como Edson, só precisei acertar uma vez. Com a adição dos atributos no código do botão o form passou a ser chamado, mas instantaneamente era fechado:

[code language=”html”]

<f:passThroughAttribute name="data-toggle" value="modal" />
<f:passThroughAttribute name="data-target" value="#myModal" />

[/code]

Form modal chamado pelo botão excluir.

Form modal chamado pelo botão excluir.

Espero que tenha contribuído e ajudado alguém, já que vi algumas tantas dúvidas ainda não respondidas ou que a solução fosse diferente e ineficaz.

Em tempo: ainda tem um pequeno problema. Não consegui a descrição das instância selecionada na mensagem de exclusão. O componente seta a propriedade mas o valor não é exibido. Vou debugar utilizando alguns phaseListeners para identificar o momento de cada ação.

Até!

Site institucional tetra TI no ar.

tetrati-desenvolvimento

Voltando aos posts depois de algum muito tempo, aproveito para lançar o site institucional da empresa tetra TI.

A criação deste site representa dois marcos: a criação do nome, já que o domínio era sidroniolima.com.br, que passará a corresponder a este blog. E a tendência e consolidação do desenvolvimento Web, estático ou dinâmico.

Com isso surge então o tetrati.com.br com a apresentação de 3 principais projetos:

  • O software PCP que está em desenvolvimento;
  • O software Twarehouse (foto), já comercializado, para controle de almoxarifado e estoque;
  • Dashboard do Twarehouse.

    Dashboard do Twarehouse.

  • E o software ERP para micro e pequena empresas que será lançado em breve.
  • Para conhecer o Twarehouse basta acessar aqui.

    Em breve novas atualizações!

    Os números de 2012

    Os duendes de estatísticas do WordPress.com prepararam um relatório para o ano de 2012 deste blog.

    Aqui está um resumo:

    600 pessoas chegaram ao topo do Monte Everest em 2012. Este blog tem cerca de 2.100 visualizações em 2012. Se cada pessoa que chegou ao topo do Monte Everest visitasse este blog, levaria 4 anos para ter este tanto de visitação.

    Clique aqui para ver o relatório completo

    Backup Schedule no MySql – Resolvendo

    Saudações!

    Em uma aplicação que estou desenvolvendo me deparei com erro ao criar um backup agendado (Schedule backup) no MySql Administrator.

    Pesquisando eu observei a quantidade de desenvolvedores com o mesmo problema. Algumas soluções propostas não funcionaram e como eu consegui, resolvi postar a solução, que é simples.

    Ao criar um projeto de backup e defini-lo como agendado, o MySql cria um task no windows, mas o problema é que ele não executa e gera o seguinte erro no log de tarefas do windows, o arquivo SchedLgU.Txt:

    (MySQLAdministrator.exe) 12/1/2013 10:10:00 ** ERRO **
    A tentativa de recuperar informações da conta para a tarefa especificada falhou. A tarefa não foi executada. Ocorreu um erro ou não existiam informações de conta para a tarefa.
    O erro específico é:

    0x8004130f: Não foi possível encontrar informações de conta no banco de dados de segurança do agendador de tarefas para a tarefa indicada.

    Cheguei a solução que é necessário marcar a opção Executar somente se conectado nas opções da tarefa (task) criada pelo MySql. Só isso e funcionou.

    Espero ajudar aos muitos que passaram por esse problema.

    Até!

     

    Temas Windows 7

    Se vc procura diversificar sua área de trabalho com temas fantásticos, ta ai o link certo!

    http://windows.microsoft.com/pt-BR/windows/downloads/personalize/themes

    São dezenas de temas oficiais Microsoft para o Windows 7. Tem de tudo, desde temas relacionados a marcas até paisagens surreais.

    As categorias são:

    • Animais
    • Arte
    • Automóveis
    • Temas de marcas
    • Jogos
    • Feriados e estações
    • Filmes
    • Natureza
    • Lugares e paisagens
    E pra quem quer apenas papéis-de-parede confere a página do blog primeiro, é claro, e depois dá uma olhada nesse link:
    http://windows.microsoft.com/pt-BR/windows/downloads/personalize/wallpaper-desktop-background

    Estouro da bolha

    A desvalorização de algumas empresas e prejuízos enormes para seus investidores

    Recentemente, o portal Terra, do grupo espanhol Telefónica, fechou por meio bilhão de dólares a venda do siteLycos para a sul-coreana Daum.

    Com esse negócio, o Terra consumou uma perda de 96%, uma vez que havia pago 12.5 bilhões de dólares peloLycos há quatro anos atrás, pouco antes do estouro da bolha da internet.

    Não é um caso isolado do malogro num investimento na rede. Veja alguns casos de perdas com empresas que têm operações no Brasil…

    • a Telecom Itália investiu US$ 810 milhões na Globo.com, que hoje vale US$ 50 milhões;
    • o Banco Santander investiu US$ 585 milhões na Patagon.com que hoje vale US$ 10 milhões.
    • a Portugal Telecom investiu US$ 365 milhões na Zip.net que hoje vale US$ 50 milhões.

    Sistema de informação…

    Neste post iniciarei o debate sobre os princípios dos sistemas de informações, através da análise de alguns conceitos, fundamentos, propriedades e características.

    Sistema

    De modo sintético, um sistema é um conjunto de elementos organizados e inter-relacionados que fazem parte de um todo para atingir um objetivo geral.

    Os sistemas tem como elementos básicos os seguintes:

    • Entrada
    • Processamento
    • Saída
    • Feedback
    • Controle

    Sistema de informação

    Para termos uma definição do que são Sistemas de informações (SI) precisamos entender a relação Dado X Informação. O primeiro é o insumo de entrada e o segundo o produto ou resultado. Dessa forma, um SI pode ser definido como um sistema onde dados, entrada, são processados em informações, saída.

    Tipos de sistemas de informações

    Os SI podem ser manuais e automáticos e estão divididos em 3 categorias principais:

    1. Sistemas de Informação Operacional: tratam das operações rotineiras das empresas.
    2. Sistemas de Informação Gerencial: auxiliam a tomada de decisões pelos gestores através de dados operacionais.
    3. Sistemas de Informação Estratégico: processam dados externos e internos da organização, auxiliando na decisão estratégica de diretores.

    Características ou propriedades dos sistemas

    As principais propriedades dos sistemas em geral são:

    • Aberto: interagem com o ambiente exterior (equifinidade)
    • Fechado: não há interação (entropia)
    • Simples: poucos elementos
    • Complexos: os SI, por exemplo
    • Estável: não há resposta à alterações no ambiente em que está inserido
    • Dinâmico: está em constante adaptação
    • Adaptável: capaz de sofrer mudanças
    • Não-adaptável: incapaz de mudar
    • Permanente: tempo de vida considerável
    • Temporário: tempo de vida curto

    O profissional de SI

    É responsável pela análise, planejamento, organização, processamento e recuperação da informação e de disponibizá-la ao usuário.

    Para termos uma idéia da importância e responsabilidade desse profissional basta imaginarmos qualquer outra profissão não fazendo uso dos SIs. Inviável, não?

    Fazemos parte de um mundo competitivo, onde o sucesso se dá a quem detém a informação e faz bom uso dela.