Excelente explicación, deberían existir más cursos con este tutor
Introducción a la programación Funcional
¿Qué es la Programación Funcional?
Entendiendo las partes de la programación funcional
¿Qué es una función en Java?
Funciones como ciudadanos de primera clase
Funciones puras
Entendiendo los efectos secundarios
Funciones de orden mayor
Funciones lambda
Inmutabilidad
Functional Programming en Java
Repositorio del curso
Configuración del entorno de trabajo
Revisando el paquete java.util.function: Function
Revisando el paquete java.util.function: Predicate
Revisando el paquete java.util.function: Consumer y Supplier
Revisando el paquete java.util.function: Operators y BiFunction
Entendiendo dos jugadores clave: SAM y FunctionalInterface
Operador de Referencia
Analizando la inferencia de tipos
Comprendiendo la sintaxis de las funciones lambda
Usando metodos default en nuestras interfaces
Dándole nombre a un viejo amigo: Chaining
Entendiendo la composición de funciones
Optional y Streams: Datos mas interesantes
La clase Optional
Entendiendo los Streams
¿Qué son los Stream listeners?
Operaciones y Collectors
Streams de tipo específico y Paralelismo
Operaciones Terminales
Operaciones Intermedias
Collectors
Todo junto: Proyecto Job-search
job-search: Un proyecto para encontrar trabajo
Vista rápida a un proyecto de Gradle
Revisando las opciones para nuestro CLI
Librerías adicionales para nuestro proyecto
Entendiendo la API de jobs
Diseñando las Funciones Constructoras de nuestro Proyecto
Agregando validaciones de datos
Diseñando las funciones de transformacion de datos
Creando flujos extras de transformación de Datos
Conclusiones
Un repaso a lo aprendido
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Sinuhé Jaime Valencia
Aportes 16
Preguntas 3
Excelente explicación, deberían existir más cursos con este tutor
Librerias año 2022:
// https://mvnrepository.com/artifact/com.beust/jcommander
implementation group: ‘com.beust’, name: ‘jcommander’, version: ‘1.82’
// https://mvnrepository.com/artifact/io.github.openfeign/feign-core
implementation group: ‘io.github.openfeign’, name: ‘feign-core’, version: ‘11.9.1’
// https://mvnrepository.com/artifact/io.github.openfeign/feign-gson
implementation group: ‘io.github.openfeign’, name: ‘feign-gson’, version: ‘11.9.1’
jcommander: Toma los argumentos y genera objetos de java
feign-core: Es el responsable de hacer peticiones web.
feign-gson: Convierte de json a objetos de java.
Lor aqui dejo las dependencias actualizadas al 2021 😃!
dependencies {
// https://mvnrepository.com/artifact/com.beust/jcommander
implementation group: 'com.beust', name: 'jcommander', version: '1.81'
// https://mvnrepository.com/artifact/io.github.openfeign/feign-core
implementation group: 'io.github.openfeign', name: 'feign-core', version: '11.2'
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.7'
}
En nuestro archivo de [gradle] agregamos 3 dependencias.
Estas tres dependencias (librerias) nos van a facilitar crear nuetro proyecto.
Las tres dependencia son librerias que vamos a estar utilizando a lo largo del proyecto.
jcommander: tomara los argumentos que pasamos al programa por terminal y nos genera objetos de java que podremos manipular o revisar lo que aya pasado por terminal.
feign-core: se encargara de hacer peticiones web, hara llamadas a la API de GitHub y nos devolvera un resultado como #response que viene en formato de Json. asi que tenemos que convertir de Json a objeto de Java.
feign-Gson: tomara el resultado en Json, lo procesara y nos dara clases y objetos de Java que podremos manipular y utilizar en el proyecto.
“Because life is too short to parse command line parameters” (Jcommander)
Para applicaciones de consola recomiendo usar para java picocli y jline tiene muchas funcionalidades necesarias para app de consola
Es importante aclarar que no se llaman Librerías, la palabra en Inglés Library significa Biblioteca, asi que esa es la palabra adecuada en español.
Currently, I’m working with java 17, if it’s your situation as well, you need to change this to avoid issues when building the project with Gradle:
File: gradle-wrapper.properties -->
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
File: build.gradle -->
plugins {
id 'java'
id 'application'
}
group 'com.platzi'
version '0.1.0'
sourceCompatibility = 1.17
application {
mainClassName = "com.platzi.jobsearch.JobSearch"
}
repositories {
mavenCentral()
}
dependencies {
// https://mvnrepository.com/artifact/com.beust/jcommander
implementation group: 'com.beust', name: 'jcommander', version: '1.82'
// https://mvnrepository.com/artifact/io.github.openfeign/feign-core
implementation group: 'io.github.openfeign', name: 'feign-core', version: '12.0'
// https://mvnrepository.com/artifact/io.github.openfeign/feign-gson
implementation group: 'io.github.openfeign', name: 'feign-gson', version: '12.0'
}
(I want to practice English, feel free to correct me if I’m mistaken)
Maven Repository, el npm de Java? 👀 📦
El repositorio que tienes en github no tiene ninguna de las clases src, el repo que tienes acá en platzi, repite dos archivos buid.gradle y no puede encontrar la clase main
En nuestro archivo de [gradle] agregamos 3 dependencias. Estas tres dependencias (librerias) nos van a facilitar crear nuetro proyecto. Las tres dependencia son librerias que vamos a estar utilizando a lo largo del proyecto. * jcommander: tomara los argumentos que pasamos al programa por terminal y nos genera objetos de java que podremos manipular o revisar lo que aya pasado por terminal. * feign-core: se encargara de hacer peticiones web, hara llamadas a la API de GitHub y nos devolvera un resultado como #response que viene en formato de Json. asi que tenemos que convertir de Json a objeto de Java. * feign-Gson: tomara el resultado en Json, lo procesara y nos dara clases y objetos de Java que podremos manipular y utilizar en el proyecto.
Gracias 😃
Muchas gracias por explicar las dependencias y compartir el enlace al sitio web Maven Repository nos vendrá bien al momento de buscar paquetes de clases para futuros proyectos.
Genial, asi quedarian las dependencias:
dependencies{
// https://mvnrepository.com/artifact/com.beust/jcommander
compile group: 'com.beust', name: 'jcommander', version: '1.78'
// https://mvnrepository.com/artifact/io.github.openfeign/feign-core
compile group: 'io.github.openfeign', name: 'feign-core', version: '11.0'
// https://mvnrepository.com/artifact/io.github.openfeign/feign-gson
compile group: 'io.github.openfeign', name: 'feign-gson', version: '11.0'
}```
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?