Local blog for Spanish speaking developers in LATAM
Acceso a los servicios de Google Cloud, directamente desde IntelliJ IDEA
martes, 14 de agosto de 2018
Por Etan Shaul, ingeniero de Software
Una excelente noticia para los usuarios de
IntelliJ
: Ahora se pueden usar los servicios y las API de Google Cloud directamente desde el entorno de desarrollo integrado (IDE) de JetBrains. Con el
complemento de Cloud Tools for IntelliJ
, ahora puedes descubrir API, consumirlas y probarlas localmente; todo ello sin dejar tu IDE.
El complemento de Cloud Tools para IntelliJ simplifica el proceso de desarrollo al integrar tareas al IDE, como la habilitación de las API de Google Cloud, la creación de cuentas de servicio para desarrollo local y la incorporación de las correspondientes bibliotecas de clientes de Java a tu compilación.
Ejemplo: Uso de la API de Cloud Translation con el complemento de Cloud Tools for IntelliJ
Supongamos que te interesa usar la
API de Cloud Translation
en nuestro proyecto basado en Java Maven. Si el complemento de Cloud Tools for IntelliJ no está configurado aún, primero instálalo como se describe en esta
guía de inicio rápido
.
Clona el
ejemplo de proyecto de Cloud Translation
, que te permite traducir el texto de entrada de inglés a francés.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Abre el proyecto; se encuentra en “java-docs-samples/translate”:
En este punto, podrías simplemente intentar ejecutar la aplicación navegando hacia el método principal, haciendo clic en el botón de reproducción
y configurando los argumentos de entrada para traducir texto de inglés a francés mediante la edición de la configuración de ejecución recientemente creada:
Vuelve a ejecutarlo. Esta vez verás el siguiente error:
Como tal vez ya lo hayas deducido, te faltan los derechos de autenticación para acceder a la API de Cloud Translation desde tu máquina local. Para resolver esto, normalmente deberías seguir estos pasos:
Habilitar el servicio en tu proyecto de
Google Cloud Platform
(GCP)
Crear una cuenta de servicio nueva con las funciones correspondientes para el acceso al servicio
Actualizar tu configuración de ejecución local con las variables de entorno necesarias para acceder al servicio
Afortunadamente, el complemento de Cloud Tools for IntelliJ puede servir. En IntelliJ, dirígete al elemento de menú de Cloud Tools en “Tools > Google Cloud Tools > Add Cloud libraries…”:
Selecciona la API de Cloud Translation y tu proyecto de GCP, y haz clic en “Add Cloud Libraries”:
En la ventana de confirmación que aparece, puedes ver que Cloud Tools for IntelliJ se encarga de habilitar la API y de crear la cuenta de servicio:
Por último, selecciona la configuración de ejecución que creaste anteriormente a fin de que el complemento pueda insertar las variables de entorno necesarias para acceder al servicio de Cloud Translation desde tu máquina local:
Vuelve a ejecutar el programa. Tu texto se traducirá con éxito de inglés a francés a través del servicio de Cloud Translation:
El complemento de Cloud Tools for IntelliJ también brinda asistencia para lo siguiente:
Incorporar bibliotecas clientes de Java en tu pom.xml de Maven si ya no están presentes
Escribir una
lista de materiales (BOM)
en tu pom.xml para evitar conflictos con la versión de dependencias
Detectar potenciales configuraciones incorrectas y tomar medidas, incluso un BOM faltante, a través de inspecciones del archivo pom.xml con correcciones rápidas
El complemento de Cloud Tools for IntelliJ proporciona muchas características más para optimizar el flujo de trabajo de tu desarrollo, incluida la asistencia para Google App Engine, Stackdriver Debugger, Cloud Repositories y Cloud Storage. Para obtener más información y dejar comentarios, consulta la documentación oficial y las páginas de GitHub:
Cloud Tools for IntelliJ:
cloud.google.com/intellij
github.com/GoogleCloudPlatform/google-cloud-intellij
Devoxx: despedida y cierre
domingo, 17 de noviembre de 2013
Llegamos con esta tercera entrega al final de la serie dedicada a la edición 2013 de la
Devoxx
. La conferencia para desarrolladores de Java tuvo lugar durante la semana pasada en
Amberes
y durante estos días he ido reportando mis experiencias durante el evento (
primera entrega
y
segunda entrega
). En esta última entrega, recojo los dos primeros días de conferencia propiamente dicho, ya que si recordáis los dos anteriores han sido denominados
university days.
El tercer y último día de conferencia, no pude asistir pero no olvidad que también podéis consultar el
timeline
de Twitter y el
evento
creado en Google+. Además, ya están disponibles algunas de las grabaciones de las conferencias; podéis encontrarlas en la sección correspondiente de la
agenda
.
Todas ellas son muy recomendables.
El primer día de conferencias se inició con el
keynote de Java 8
a cargo de Mark Reinhold y Brian Goetz, que si bien fue muy interesante, ya habíamos ido conociendo algunas de las características de Java 8 en otras conferencias y los mismos
speakers
protagonizarían algunas otras charlas muy
interesantes también
durante ese día.
Durante ese mismo día, tuvimos la oportunidad de ver dos excelentes charlas a cargo de compañeros de Google. La primera fue la
charla de Sam Duton
sobre media APIs, y como permiten el desarrollo de aplicaciones multi dispositivo. La segunda fue la
charla de Nick Butcher
sobre diseño de aplicaciones en Android, que por cierto tenéis ya disponible en video en el enlace de arriba.
El segundo día de conferencia resultó el más completo para mi. Arrancamos la jornada con la
keynote
sobre el futuro de la web a cargo de Lars Bak, donde se anunció la versión
1.0 de Dart
. Pero eso fue solo el principio. De hecho, el equipo de Dart estuvo durante todo el día con una ritmo frenético de actividad
[1]
[2]
[3]
. La mañana finalizaba con un interesante
caso de estudio
desarrollado con
Go
, presentado por Francesc Campoy.
Ya durante la tarde, asistí a una de las charlas mas interesantes que vi durante toda la conferencia, a cargo de Mike West, sobre
seguridad en navegadores
. Esta también esta disponible ya para ver en video. Muy recomendable. Tras esta puede asistir a la
presentación
de Tom White sobre Hadoop, aunque me pareció muy plana, hasta el punto que me gusto más la parte de las preguntas que la presentación en si misma. También esta disponible en video ya.
La parte correspondiente a conferencias la finalizaría con la
presentación de Devoxx4Kids
, a cargo de Daniel de Luca y un grupo de voluntarios que han participado en el programa dirigido a niños. La presentación me pareció de lo mejorcito, ya que refleja un trabajo discreto, anónimo si queréis, pero de una importancia esencial para promover STEM y de resultados tangibles día a día. La iniciativas dirigidas a niños deberían de generalizarse ampliamente.
Mis últimos momento en la Devoxx 2013 fueron para el meetup de los GDGs. Fue estupendo compartir un rato con algunos de los organizadores que habían asistido a la conferencia. Y después de esto acabaron para mi las sesiones. Ni que decir tiene, que han sido unos días muy interesantes y espero que con esta breve serie de posts hayáis tenido la oportunidad de compartir de alguna manera mi experiencia. Si tenéis alguna consulta o sugerencia que hacerme, me podéis encontrar en Twitter o en Google+.
Nos vemos en la próxima.
Andres L. Martínez a.k.a
almo
+almo
|
@davilagrau
Andrés a.k.a
almo
es responsable en Google de relaciones con desarrolladores en España. Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.
Devoxx: Android performance y Funcional programming
miércoles, 13 de noviembre de 2013
Hoy de nuevo, un poco mas acatarrado, y exhausto de las numerosas actividades, os hago llegar noticias y experiencias personales del segundo día de
Devoxx 2013.
Si llegáis a este post por primera vez, recordaos que se trata de una secuencia sobre el Devoxx 2013.
Aquí
podéis consultar la primera entrega.
No olvidad que como siempre, al margen de estas notas, podéis seguir nuestra actividad en el
evento
de Google+ y en el
timeline
de Twitter.
Esta jornada, denominada
University 2nd day,
resulto maratoniana como siempre, estando repleta de charlas, workshop y meetups.
De las actividades a las que asistí durante el día yo destacaría los workshops:
Thinking functional programming
, a cargo de Venkat Subramaniam.
Android Performance Workshop
, a cargo de Romain Guy y Chet Haase.
El primero de los ponentes, Venkat, resulto ser un excelente comunicador. Durante tres horas, mantuvo el entusiasmo de la sala, realizando una excelente exposición sobre programación funcional comparativamente entre
Java 8
,
Groovy
y
Scala
.
Enfatizando en las facilidades que la programación funcional ofrece a la programación en multiprocesadores y el beneficio de la inmutabilidad de las variables, realizó numerosos ejemplos que ilustraron de este paradigma de programación. Algunas
perlas
que quedarán para la posteridad podrían ser:
"
var
is a word of shame in Scala".
Sin comentarios.
Una excelente presentación.
Respecto a la a la segunda de ellas, sobre rendimiento en Android, constituyó una densa exposición de los aspectos relacionados con gestión de memoria y prestaciones generales del sistema operativo Android. Durante la misma se ilustraron la importancia de una revisión de estos detalles durante los procesos de desarrollo. Sin afán de resumir toda su exposición, los ponentes dejaron algunos links útiles.
[1]
[2]
[3]
.
Ahí tenéis material suficiente para las próximas vacaciones.
Además de estas charlas, asistí a algunas otras sobre análisis de datos, cloud computing o programación de sistemas embebidos. Estas resultaron muy interesantes, aunque más ligeritas, permitiéndome un respiro. Así pude dar una vuelta por la sección de expositores y ¡ay! encontré el puesto de los libros técnicos. Y sin poder evitarlo, acaparé unos pocos que comparto con vosotros.
Finalmente, antes de dejar la conferencia, estuve echando un vistazo a algunos paneles de demostración de
Arduino
,
Raspberry Pi
y otros cacharros...
Espero que os guste la foto.
El día no puedo acabar mejor: organizamos una cena, a base de hamburguesas, con algunos desarrolladores de Europa.
Allí tuve la oportunidad de charlar sobre interesantes temas con
Stephen Hoth
y
Hasan Hosgel
.
Así pues, me despido por hoy.
Andres L. Martínez a.k.a
almo
+almo
|
@davilagrau
Andrés a.k.a
almo
es responsable en Google de relaciones con desarrolladores en España. Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.
Devoxx: Java Conference (día 1)
lunes, 11 de noviembre de 2013
Devoxx es la conferencia anual de la comunidad europea de desarrolladores Java. Durante los próximos cinco días, desarrolladores de toda Europa y el resto de mundo se reúnen en
Amberes
para compartir las última tecnologías. La conferencia, que inició su andadura en 2001 de la mano de Stephen Janssen y el Grupos Belga de usuario de Java,
BeJUG
, cuenta en esta edición con mas de 3500 asistentes.
La
agenda
la componen tracks sobre Arquitectura y Seguridad, Metodologías, Java SE, Java EE, Web y HTML 5, Lenguajes JVM, Cloud y BigData, Mobile y Future <Devoxx>. Con esta planificación es casi imposible no perderse algo interesante, pero como corresponsal improvisado, prometo reflejar en esta serie de posts las charlas que me han parecido más interesantes, aquellos hechos destacados e incluso, alguna que otra entrevista con Googlers, speakers o desarrolladores.
Además, si no queréis perder ningún detalle, también podéis seguir el
evento
creado en Google+ y el
timeline
en twitter. Así pues, comenzamos la serie hablando sobre lo sucedido en el día de hoy.
Durante el día de hoy, denominado
University Day 1
, ha tenido lugar la primera edición de sesiones,
Hand-On Labs
y
Birds of a Feather
(BoF).
Los primeros vistazos a las salas mostraban laboratorios repletos de desarrolladores, sentados incluso por los suelos. Según he podido constatar, el workshop de Advanced AngularJS a cargo de Igor Minar, Vojta Jina y Misko Hevery ha tenido un éxito abrumador. E igual suerte han tenido el resto de BoFs que han tratado sobre metodologías de desarrollo de aplicaciones Android, Raspberry Pi y el proyecto LeapMotion, Scala, Cassandra o Groovy, entre otros.
Respecto a las conferencias, no pretendo nombrarlas todas, pero de nuevo, Scala, Java EE o Spring han tenido especial protagonismo.
Por mi parte, asistí a dos interesantes conferencias. La primera presentaba
Genymotion
, una nueva propuesta para la emulación de Android. Presentada durante la edición parisina de
Droidcon
, cuenta ya con más de 350.000 usuarios y tal y como las demos han mostrado, el rendimiento promete ser espectacular.
En la segunda, Cyril Mottier,
GDE en Android
, fue el responsable de una excelente presentación acerca de
Google Map v2 para Android
, destacando las mejoras que la nueva edición del API presenta como Polylines, Flat Markers o Ground Overlays.
Y esto ha sido todo por hoy. Una reunión con algunos de los GDG españoles me obligo a dejar la conferencia sobre las 18:30, pero mañana empezamos de nuevo con mas fuerza.
Andres L. Martinez a.k.a
almo
+almo
|
@davilagrau
Andrés a.k.a
almo
es responsable en Google de relaciones con desarrolladores en España. Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.
Labels
.app
.dev
.txt
#AMP
#CPU
#DeveloperStudentClubs
#DevFest
#DragonBall
#DSC
#Forsety
#ForsetySecurity
#freeandopen
#GCP
#Google
#GoogleCloud
#GoogleCloudPlatform
#GoogleLaunchpad
#iio2009
#Kubernetes
#MaterialDesign
#OneCommunity
#Security
#TensorFlow
#UPGlobal
#UpLatam
#WithGoogle
+page
10 YEARS
2013
2019
64 bits
A/B Testing
AA
Accelerator
Action on Goolge
actionbar
Actions
Actions Console
AdMob
Ads
adwords
adwords api
AI
AIY
ajax
alarmmanager
ALFA
almacenamiento
alojamiento de proyectos en google code
AMP
AMP Conf
AMP Project
amp-date-picker
amphtml
Analytics
Andorid
android
Android (operating System)
Android 3.1
android 3.3
android 4.2
android 9
Android 9 Pie
Android App Bundle
android design
Android Dev Summit
Android Developers
android Jetpack
Android P
Android SDK
Android Studio
Android Things
Android Wear
AndroidDevStory
androititlan
angelina jolie
Annotation
Announcements
anuncios
API
API Analytics YouTube
Apigee
APIs
Aplicaciones
aplicaciones chrome
app
app engine
App Indexing
app invites
App Server
applications
AppQuality
apps
Apps Script
AR
ARCore
arte
ATLAS
AWP
backend
Base64
batch
Bava
Betatesting
Better Ads Standars
bigdata
BigQuery
Biometrics
blink
bootcamp
BOT
BQ
Business
búsqueda ajax
by Google
byCases
byCommunity
byDevelopers
byGoogle
C++
CALENDAR
Cardboard
case
caso de éxito
Casos de éxito
casos destacados
CCOSS
Century Fox
chat
chrome
chrome web store
chromebook
chromecast
chromium
Cinéfilos
cloud
Cloud Anchors
CLOUD endpoints
Cloud Firestore
Cloud Functions
Cloud IoT Core
Cloud Next
Cloud Scheduler
Cloud services
cloud test lab
Cloud Text-to-Speech
Cloud Translation
CMD en vivo
coconut
code
code-in
code.org
CodeLabs
código
código abierto
Colab
colombia
Communities
Comunidades
concurso google
conference
contenedores
convocatoria
Coordinate
crashlytics
CRE
crear aplicaciones ajax
creatividad
Crowdsource
CSS
cws
daniela robles
dart
dart sdk
dartium
dartlang
Dataset
DCL
denis labelle
desarrolladores
Desarrolladores Google
desarrolladores LatAm
Desarrollar
Design
Design Sprint
Destacados
dev
Dev.f
DevArt
DevBus
DevBusLatAm
Developer Bus
Developer Summit
DeveloperConsole
developers
DevFest
devoxx
dialogflow
diseño UX
Distribuir
DNS
DOM
domain
DonkeyCar
doubleclick
Drive SDK
Drivers
ecommerce
ecosistema
elections
elizalde
Emoticons
emprendedores
empresas
engagement
english
Enhanced Campaigns
enterprise
eventos
Events
evolución de aplicaciones
Excel
ExpertosDicen
Faas
Family
FanBridge
FCM
FCP
Featured
fido
find people
Fintech
firebase
Firebase Cloud Messaging
firebase summit
flu trends
Flutter
Flutter 1.0
flutter 1.7
flutter developers
Flutter Live
FlutterLive
FoundersLab
Freebase
Fuction
Fuctions
Full-Stack
functional programming
G Suite Dev Show
G+
g+ goto gal
G+GotoGal
GAE
game
games
GCloud
gcm
GCP
GCS
GDA
GDE
GDG
GDH
GDL
GDLevent
GDS
Get Inspired
get.app
GitHub
GLP
gmail
golang
GOMO
Google
Google Accelerator
Google AdMob SDK
Google AdWords
Google Analytics
Google APIS
Google App Engine
Google Apps
Google Apps Script
Google Art Project
Google Assistant
google calendar
google cast
Google Charts
Google Chrome
Google Cloud
Google Cloud Console
Google Cloud Messaging
Google Cloud Next
Google Cloud Platform
Google Cloud Platform Newsletter
google cloud platforn
Google Cloud Storage
google code-in
Google Compute Engine
Google Dataset
Google Developer Groups
google developers
Google Developers Academy
google developers expert
Google Developers Hackademy
google dns
Google Drawings
Google Drive
Google Earth
Google for games
Google Forms
google geo
Google Home
google i/o
google i/o extended
google io
Google Keep
Google Kubernetes Engine
Google Launchapad
Google Launchpad
Google Maps
google maps coordinate
Google Maps Platform
Google Mexico
Google Nose
google now
Google Person Finder
google places api
Google Play
Google Play Books
Google Play Developer API
google play games
Google Play Movies
Google Play Protect
Google Play Services
Google Plus
Google Science Fair
google search
Google Sheets
google sign in
Google Top Geek
Google+
Google+ Communities
Google+ Hangouts
google+ sign-in
GoogleAPI
googlecloud storage
GoogleCloudPlatform
googledevs
GooglePlay
Googleplex
Goolge Lunchpad
GTG
Hackademy
hackers
Haiko
Haití
hangouts
Hangouts Remote Desktop
hardcode
Heello
honeycomb
HTML
HTML5
HTTPS
I/O
IA
IAM
IETF
IFAI
in app purchases
in-app
ingles
Ingress
instagram
integración de soluciones
interactive post
Interesante
International
International Women’s Day
IO
io15
io18
io19
iOS
IoT
istio
IU
IVR
J2EE
java
JavaScript
jelly bean
JS
JSON
Juegos
juegos html5
Kit ML
Knative
kotlin
kUBERNATES
Kubernetes
LATAM
latamRegionSur
Launchpad
Launchpad Studio
Lenovo Mirage Solo
lightbox
linux
lucero galindo
machine learning
Made with Code
Mapdata
Mapeo
maps
Maps Ad Unit
Maps API
Maps Engine
Market
Marketing
Marshmallow
MATERIAL DESIG
Material Design
mejores apps 2013
México
michelle marie
MIT
MIT Global Start-up Labs
MIT-AITI
ML
ML Kit
mobile
monetizar
mongoDB
MOOC
Motorola
Mountain View
móvil
MQTT
mr.white
mTLS
natalie villalobos
Navigation
NBA JAM
NES
Next Big Sound
Next Level
nfc
Niantic
Nik
NINTENDO
node.js
NoSQL
nube
OAuth2
Objective-C
OClock
open source
OPenApi
OS
OSS
Paas
PageSpeed
PagesSpeed
parallel18
patrones
patters
performance
permisos
Pipeline API
Pixability
pixel
Píxel
play
Play Console
Playtime
Podcast
pollito pio
Polymer
por lote
Posse
Prediction API
primer
Producto
programación
Propositos
Protocol Buffers
proyecto 20%
Push API
PYMES
python
Q
Q4
quickoffice
Rasberry Pi Zero WH
Raspberry Pi
Realtime
Reflectly
register
Release
Resources
robots.txt
Safe
SDK
Search
Security
seedbank
seguridad
SEO
servidores
Showyou
sign-in
SNES
SO
social media
Spain
SpLATAM
SQL
SQLite
Start
startup grind
Startup Launch
startup weekend
startup weekend for the planet
startupbus
startups
StayAtHome
story
Street View
subtitles
success
sw
SyScan
tablet
Tablet Optimization Tips
tabletas
takeaction
Tango
tendencias 2013
TensorFlow Developer Summit
testing
TextView
TF JAM
The Garage
The Venture City
tips G+
tips gmail
TLD
TLS
Top Experts
Top Geek
top level domain
TopExpert
topics
traducciones
Transparency Report
triggers
Tubular Labs
twilio
Tyka
TypeScript
UAC
udacity
ui
Umbrales
UNAM
unity
Unity3D
universal search
UX
Vector
VectorDrawable
video juegos
vidIQ
ViewPager
Visual Progress
Voicekit
VPC
VR
VSCode
web
Web hosting
Web móvil
WebAssembly
with google
Wizdeo
WizTracker
Women at Google
Women Techmakers
workmanager
WTM
XKCD
XML
Yifat Cohen
youtube
YouTube Analytics API
YouTube API
YouTube Data API
YouTube One Channel
YouTube Player API
Archive
2023
nov
oct
sept
ago
jun
may
abr
mar
ene
2022
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2021
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
2020
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2019
dic
nov
oct
sept
ago
jun
may
abr
mar
feb
ene
2018
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
2017
nov
sept
ago
jul
jun
may
abr
ene
2016
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2015
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2014
dic
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2013
dic
nov
oct
ago
jul
jun
may
abr
mar
feb
ene
2012
dic
nov
oct
sept
ago
jul
2011
nov
oct
may
mar
2010
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2009
dic
nov
sept
ago
jul
jun
may
abr
mar
feb
ene
2008
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2007
dic
Feed
Desarrolladores
Eventos y Comunidad
Casos Destacados
Dicen los Expertos
Google Accelerator