20 December 2021

Sonar Java Injection

Rules not assigned by default, but very useful:

 - https://rules.sonarsource.com/java/RSPEC-3749
  Members of Spring components should be injected

- https://rules.sonarsource.com/java/RSPEC-4288
  Spring components should use constructor injection
 



13 November 2021

Algorithms and Data Structures for Massive Datasets

Technical Reviewer:

Dzejla Medjedovic, Emin Tahirovic, and Ines Dedovic
MEAP began July 2020 Publication in January 2022 (estimated)
ISBN 9781617298035 325 pages (estimated) printed in black & white

https://www.manning.com/books/algorithms-and-data-structures-for-massive-datasets



16 September 2021

netcat - nc

netcat
ncat
nc


-n : skip DNS lookups
-u : Use of UDP mode (instead of TCP)
-v : Extensive output
-w : timeout (seconds)
-z : Port scanner mode (zero I/O mode); only listening services are scanned (no data is sent)

Scan port 123 for NTP:
nc -z -v -u 0.us.pool.ntp.org 123


scan ports:
nc -w 2 -z 192.168.10.1 1-1024

nc -v -n 8.8.8.8 1-1000




30 July 2021

22 July 2021

AWS Serverless Data Lake Framework

SDLF is a peculiar framework developed by AWS as a Data Lake using their services.

It is interesting how it creates two pipelines where the data is parsed (reduced), process as a big ETL, where finally can be exploited by BI products.

  • AWS Glue
  • S3
  • Lambda


https://sdlf.readthedocs.io/en/latest/index.html

https://sdlf.workshop.aws/en/

https://github.com/awslabs/aws-serverless-data-lake-framework



04 July 2021

Spring in Action, Sixth Edition

Beta tester:

+ Technical Proofer. (September 2021)

Craig Walls
MEAP began May 2020 Publication in Early 2022 (estimated)
ISBN 9781617297571 520 pages (estimated)

https://www.manning.com/books/spring-in-action-sixth-edition

02 July 2021

1. EKS Diagrams

Cluster > Node > Pod > Container


There are two types of nodes:

  • A Control-plane-node type, which makes up the Control Plane, acts as the “brains” of the cluster.

  • A Worker-node type, which makes up the Data Plane, runs the actual container images (via pods).

Pod A thin wrapper around one or more containers

DaemonSet Implements a single instance of a pod on a worker node

Deployment Details how to roll out (or roll back) across versions of your application

ReplicaSet Ensures a defined number of pods are always running

Job Ensures a pod properly runs to completion

Service Maps a fixed IP address to a logical group of pods

Label Key/Value pairs used for association and filtering













Cluster > Node > Pod > Container

A container runs typically as a single Unix process


















30 June 2021

EKS simple way

The simplest way to generate an AWS EKS

- install: awscli, eksctl, kubectl

 1.
eksctl create cluster -f cluster.yml
(it takes several minutes, 20 mins?)

cluster.yml:



2.
eksctl delete cluster --region=us-west-1 --name=my-kube-config


3.
eksctl get cluster

4.
kubectl config view

5.
//mandatory? (yep!)
aws eks update-kubeconfig --name <cluster-name>
aws eks update-kubeconfig --name cobroqr-eks-RCXW8qM5



6.
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4

7.
kubectl get deployment

8.
kubectl get pods

9.
kubectl expose deployment hello-node --type=LoadBalancer --port=8080

10.
kubectl get services
(aca deberia aparecer el service nuevo agregado arriba en "expose" como LoadBalancer).
aca sale tb el EXTERNAL-IP para poder probar

11.
kubectl exec --stdin --tty hello-node-7567d9fdc9-6lbx4 -- /bin/bash
(del kubectl get pods)


12.
kubectl delete deployment --all
  deployment.apps "books-node" deleted
  deployment.apps "hello-node" deleted


13.
eksctl delete cluster --name <cluster-name>
eksctl delete cluster --name my-kube-config.us-west-1.eksctl.io




---------------------------

more examples:


6.
kubectl create deployment books-node --image=091501399925.dkr.ecr.us-west-1.amazonaws.com/ecr-eks-sandbox:latest

(al ver get deployment y get pods, veo que hay 1 pod por deploy...

9.
kubectl expose deployment books-node --type=LoadBalancer --port=8080


curl http://af760c2d8e8ff40608558465fa4a4a4e-710530633.us-west-1.elb.amazonaws.com:8080/books
(se demora en publicar)


12.
kubectl delete deployment --all



09 June 2021

07 May 2021

Solution to double partition Alphametics

Solution to double partition Alphametics, Knuth Donald, The Art of Computer Programming, Pre-Fascicle 2b, Generating All Permutations, Addison-Wesley, 12 June 2004, p. 42. http://www-cs-faculty.stanford.edu/~knuth/taocp.html#vol4

18 February 2021

Apócope

En gramática, una apócope (del griego apokopé < apokopto, "cortar") es un metaplasmo donde se produce la pérdida o desaparición de uno o varios fonemas o sílabas al final de algunas palabras. Cuando la pérdida se produce al principio de la palabra se denomina aféresis, y si la pérdida tiene lugar en medio de la palabra se llama síncopa. Es una figura de dicción según la preceptiva tradicional. 

 

https://es.wikipedia.org/wiki/Ap%C3%B3cope

09 February 2021

Swagger to PDF/HTML5

     Pasos swagger:


    We need to have installed the following tools: swagger2markup and asciidoctor

  • brew install asciidoctor
  • brew install swagger2markup-cli    
  1.     get swagger.json with springboot up&running:
        http://127.0.0.1:8080/v2/api-docs
  2.     copy swagger.json
  3.     mkdir adocs
  4.     swagger2markup convert -i swagger.json -d adocs
  5.     modify overview.adoc (title =)
  6.     asciidoctor index.adoc
  7.     asciidoctor-pdf index.adoc



    $  cat index.adoc
    :doctype: book
    :toc: left
    :toclevels: 3
    :numbered:
    :hardbreaks:
    :sectlinks:
    :sectanchors:

    include::./overview.adoc[]
    include::./paths.adoc[]
    include::./security.adoc[]
    include::./definitions.adoc[]


29 January 2021

ICMP - Internet Control Message Protocol

https://stackoverflow.com/questions/21981796/cannot-ping-aws-ec2-instance

Add a new EC2 security group inbound rule:

  • Type: Custom ICMP rule
  • Protocol: Echo Request
  • Port: N/A
  • Source: your choice (I would select Anywhere to be able to ping from any machine)
The related ping utility is implemented using the ICMP echo request and echo reply messages. 
 
https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

Function: Send ICMP ECHO_REQUEST to network hosts
Syntax: ping [-aAbBdDfhLnOqrRUvV6] [-c count] [-F...

 


14 January 2021

Java Copy Constructor

Sometimes we need to clone an object in Java, but not a reference (a junior developer may use). There are several ways to achieve this task; however, I recommend to use a copy-constructor (that comes from C++) and, in particular, using @Builder from Lombok (to avoid boilerplate code))

 



My Blog List

Blog Archive

Disclaimer

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.