segunda-feira, 14 de abril de 2025

Prefix your booleans

 Clean Code tip: Prefix your booleans.

Here's a simple cheatsheet I follow:

• IS for simple states
❌ active
✅ isActive

• HAS for ownership
❌ subscription
✅ hasSubscription

• SHOULD for expected behavior
❌ retry
✅ shouldRetry

• CAN for capabilities
❌ edit
✅ canEdit

Your IF statements should read like plain English.

Write code for humans to read, not just for machines to execute.



dicas para otimizar seu java

 


sábado, 29 de março de 2025

Política Privacidade

 

Política Privacidade

A sua privacidade é importante para nós. É política do Sisbe respeitar a sua privacidade em relação a qualquer informação sua que possamos coletar no site Sisbe, e outros sites que possuímos e operamos.

Solicitamos informações pessoais apenas quando realmente precisamos delas para lhe fornecer um serviço. Fazemo-lo por meios justos e legais, com o seu conhecimento e consentimento. Também informamos por que estamos coletando e como será usado.

Apenas retemos as informações coletadas pelo tempo necessário para fornecer o serviço solicitado. Quando armazenamos dados, protegemos dentro de meios comercialmente aceitáveis ​​para evitar perdas e roubos, bem como acesso, divulgação, cópia, uso ou modificação não autorizados.

Não compartilhamos informações de identificação pessoal publicamente ou com terceiros, exceto quando exigido por lei.

O nosso site pode ter links para sites externos que não são operados por nós. Esteja ciente de que não temos controle sobre o conteúdo e práticas desses sites e não podemos aceitar responsabilidade por suas respectivas políticas de privacidade.

Você é livre para recusar a nossa solicitação de informações pessoais, entendendo que talvez não possamos fornecer alguns dos serviços desejados.

O uso continuado de nosso site será considerado como aceitação de nossas práticas em torno de privacidade e informações pessoais. Se você tiver alguma dúvida sobre como lidamos com dados do usuário e informações pessoais, entre em contacto connosco.

  • O serviço Google AdSense que usamos para veicular publicidade usa um cookie DoubleClick para veicular anúncios mais relevantes em toda a Web e limitar o número de vezes que um determinado anúncio é exibido para você.
  • Para mais informações sobre o Google AdSense, consulte as FAQs oficiais sobre privacidade do Google AdSense.
  • Utilizamos anúncios para compensar os custos de funcionamento deste site e fornecer financiamento para futuros desenvolvimentos. Os cookies de publicidade comportamental usados ​​por este site foram projetados para garantir que você forneça os anúncios mais relevantes sempre que possível, rastreando anonimamente seus interesses e apresentando coisas semelhantes que possam ser do seu interesse.
  • Vários parceiros anunciam em nosso nome e os cookies de rastreamento de afiliados simplesmente nos permitem ver se nossos clientes acessaram o site através de um dos sites de nossos parceiros, para que possamos creditá-los adequadamente e, quando aplicável, permitir que nossos parceiros afiliados ofereçam qualquer promoção que pode fornecê-lo para fazer uma compra.


Compromisso do Usuário

O usuário se compromete a fazer uso adequado dos conteúdos e da informação que o sisbe  oferece no site e com caráter enunciativo, mas não limitativo:

  • A) Não se envolver em atividades que sejam ilegais ou contrárias à boa fé a à ordem pública;
  • B) Não difundir propaganda ou conteúdo de natureza racista, xenofóbica, Bet Nacional ou azar, qualquer tipo de pornografia ilegal, de apologia ao terrorismo ou contra os direitos humanos;
  • C) Não causar danos aos sistemas físicos (hardwares) e lógicos (softwares) do sisbe, de seus fornecedores ou terceiros, para introduzir ou disseminar vírus informáticos ou quaisquer outros sistemas de hardware ou software que sejam capazes de causar danos anteriormente mencionados.

Mais informações

Esperemos que esteja esclarecido e, como mencionado anteriormente, se houver algo que você não tem certeza se precisa ou não, geralmente é mais seguro deixar os cookies ativados, caso interaja com um dos recursos que você usa em nosso site.

quinta-feira, 13 de fevereiro de 2025

 Atividade: Desafio do Cache e Autorização de APis


Como:

1 instale configure e suba um servidor Redis Local DEV

1b instale configure e suba um servidor Redis na Nuvem. HML/PRD

2 Configure uma coleção 

Registros

{

"_id":"UUID",

"username":"fabio Alvaro Pereira"

"senha":"md5(usename:senha123)",

"expira":"2025-12-31T23:59:59Z",

"comentario":"Chave do Amiguinho Xpto"

}

"2025-12-31T23:59:59Z" → Formato ISO 8601 (YYYY-MM-DDTHH:mm:ssZ).

3 Crie um CRUD para dar manutencao nesses registros.

4 Configure um interceptor e faça o controle das requisiçoes atravez de uma chave no header como por exemplo X-API-KEY:md5.


Objetivo voce vai proteger seus endpoints e poder personalizar o acesso para alguns clientes



segunda-feira, 5 de agosto de 2024

Websocket com Springboot usando SSL

1 crie os certicados SSL


$ openssl req -newkey rsa:2048 -nodes -keyout private.key -x509 -days 365 -out certificate.crt


2 crie o servidor python

3 suba o servidor

4 teste


Codigo no cliente

  
  var socket = new SockJS('https://yourdomain.com/gs-guide-websocket');
  var stompClient = Stomp.over(socket);

  stompClient.connect({}, function (frame) {
      console.log('Connected: ' + frame);
      stompClient.subscribe('/topic/greetings', function (greeting) {
          showGreeting(JSON.parse(greeting.body).content);
      });
  });

  function showGreeting(message) {
      // Lógica para exibir a mensagem
  }

  

asd

Configure o stomp: 

 
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/gs-guide-websocket")
                .setAllowedOrigins("https://yourdomain.com")
                .withSockJS();
    }
}
  

asd




Começando um novo projeto