scala

Recursos de programación de scala
An overview of the Lambda World 2017 in Cádiz, Spain. The event featured over 450 attendees, 31 speakers, 18 talks, 7 workshops, 2 unconferences, a Scala Center Spree, and networking events. Visit: https://www.47deg/events for more information and follow us at https://www.twitter.com/lambda_world and https://www.twitter.com/47deg Special thanks to Gold Sponsors: Signify Technology Accenture Technology Microsoft Intelygenz RavenPack Everis
"Estamos acostumbrados a hablar de la calidad del código "de producción", pero ¿qué hay de la calidad de los test? ¿Cómo medimos si son buenos o malos? En esta sesión veremos problemas comunes que nos encontramos al empezar a testear, cómo evitar malas prácticas, y daremos nuestra opinión acerca de los tipos de test que más valor aportan. Por último, también hablaremos del encaje del testing en una aplicaciones CQRS y DDD (Arquitectura Hexagonal). Para demostrar que son principios agnósticos del lenguaje, los ejemplos de código serán tanto en Scala como en PHP." Todos los videos de Barcelona Software Craftsmanship https://www.youtube.com/playlist?list=PLKxa4AIfm4pXfHIuhB89H6TdUO8syJMui&playnext=1 Descarga gratis la versión digital del libro de Roberto Canales “Conversaciones con CEOs y CIOs sobre Transformación Digital y Metodologías Ágiles ” https://goo.gl/i2zZtJ Suscríbete a nuestra newsletter; https://goo.gl/5jc6uP Facebook; https://goo.gl/o8HrWX Twitter; https://goo.gl/MU5pUQ LinkedIn https://goo.gl/2On7Fj/
Por fin! Después de *mucho* trabajo, hoy presentamos CodelyTV Pro. Oferta lanzamiento ???? http://bit.ly/lanzamiento-yt CodelyTV Pro es la plataforma de cursos de CodelyTV. Ya tenéis disponibles cursos sobre Agile (retrospectivas), AWS (deploy en EC2), Testing en iOS y Android, CQRS (arquitectura de Software), y por último, introducción a Scala. Cada día publicaremos un nuevo vídeo de alguno de los cursos. Por 30€ al mes podrás acceder a todo el catálogo de cursos y los que se vayan publicando. ¡Pero ojo! Ahora tenemos una oferta al 50% durante el primer mes de lanzamiento: http://bit.ly/lanzamiento-yt Le hemos puesto mucho cariño. Esperamos que lo disfrutéis, os sea útil en vuestro día a día, y aprendáis nuevas cosas para desarrollar mejor ???? Mil gracias a todos los colaboradores que apoyan este proyecto para que salga adelante. Cualquier cosa, aquí estamos.
???? Oferta pre-lanzamiento 3 meses por 30€: http://bit.ly/codelytvpro-yb Vídeo presentación de la nueva plataforma de formación continua CodelyTV Pro. Cursos avanzados de programación para mantenerte al día y aprender nuevos conceptos. CQRS, Testing iOS y Android, AWS, Agile, Scala, y mucho más! Oferta lanzamiento: http://bit.ly/codelytvpro-yb
Gracias a los avances en el ecosistema Scala, a día de hoy montar un proyecto es tan fácil como ejecutar un comando. En este vídeo veremos cómo empezar a programar en Scala en menos de 1 minuto. Más información: http://codely.tv/screencasts/scala-sbt-new/
"Una de los conceptos que DDD nos ofrece para desacoplar nuestro código son los eventos de dominio. En letgo hay picos diarios de +10.000.000 eventos por hora (3.000/s). Esto supone un reto y cualquier optimización tiene un impacto notable. La charla consta de cómo estaban hecho los consumers antes (spoiler: alguna que otra vez se llegó a levantar 100 máquinas) y cómo lo están ahora. La charla es agnóstica del lenguaje de programación, aunque se explicarán truquillos de cómo hacerlos en php, y sobre todo, de cómo molar mucho utilizando Akka desde Scala o Java." Todos los videos de Pamplona Software Craftsmanship https://www.youtube.com/playlist?list=PLKxa4AIfm4pWzA2ILUMUDwD_0QGIIJetn Descarga gratis la versión digital del libro de Roberto Canales “Conversaciones con CEOs y CIOs sobre Transformación Digital y Metodologías Ágiles ” https://goo.gl/i2zZtJ Suscríbete a nuestra newsletter; https://goo.gl/5jc6uP Facebook; https://goo.gl/o8HrWX Twitter; https://goo.gl/MU5pUQ LinkedIn https://goo.gl/2On7Fj/
A popular pattern today is the injection of declarative (or functional) mini-languages into general purpose host languages. Years ago, this is what LINQ for C# was all about. Now there are many more examples such as the Spark or Beam APIs for Java and Scala. The opposite embedding is also possible: start with a declarative (or functional) language as the outer host and then embed a general purpose language. This is the path we took for Scope years ago (Scope is a Microsoft-internal big data analytics language) and have recently shipped as U-SQL. In this case, the host language is close to T-SQL (Transact SQL is Microsoft’s SQL language for SQL Server and Azure SQL DB) and the embedded language is C#. By embedding the general purpose language in a declarative language, we enable all-of-program (not just all-of stage) optimization, parallelization, and scheduling. The resulting jobs can flexibly scale to leverage thousands of machines.
Galder Zamarreño is a core R&D engineer at JBoss, a division of Red Hat. He is one of the founding engineers of Infinispan, Red Hat’s distributed, in-memory key-value store and he currently spends most of his time developing Infinispan’s Functional Map API as well as other data grid and caching functionality. He is very keen on functional programming and has been developing Scala since 2009. Galder has previously worked with JBoss customers helping them build highly distributed and massively scalable Application Server clusters based on technologies such as JGroups and JBoss Cache. Prior to joining Red Hat, Galder worked in the Retail industry where he was a software developer involved in the development of an EFT software switch solution based on JBoss technologies. The love for distributed systems and open source software comes from his days at ESIDE faculty at University of Deusto (Bilbao, Spain) where he studied a master’s degree in Computer Science.
Juanma actualmente tiene un estudio de arquitectura en programación funcional, Habla Computing. Anteriormente intentaron comercializar su propio lenguaje de programación, y también estuvo trabajando como investigador y docente en la universidad. Minuto a minuto: http://codely.tv/entrevistas/juanma-cto-habla-computing/ 2:40 Educación en la informática * La educación en la informática: El veredicto es culpable. * La docencia al final es un trabajo a tiempo completo y actualizar el plan de estudios cuesta mucho. * Tiene que haber una relación con la industria más cercana. * ¿Qué hace una persona que no ha puesto una aplicación en producción enseñando Arquitectura de Software? * La gente que va a la universidad tiene que exigir y demandar que los contenidos estén cercanos al mundo real. * Sí o sí te vas a tener que formar al acabar. La carrera te da una serie de técnicas y lenguajes que no van a ser un punto y final en tu formación. 9:05 CTO en Habla Computing * La empresa surge para llevar a la práctica un nuevo lenguaje de programación. * En resumidas cuentas, nos metimos una leche. * Comercialmente es muy difícil vender un lenguaje de programación. Eso se debe hacer a través de su ecosistema. * Se acaba esa primera fase de la empresa. Habíamos aprendido mucha programación funcional. La reconvertimos en un estudio de formación en programación funcional. 14:30 Type Classes en Scala * Las interfaces abstractas tradicionales se plantean como un muro para separar la infraestructura de tu lógica de negocio. * Cuando utilizamos implementaciones asíncronas (futuros), las interfaces ya no nos permiten hacer esta separación. * La solución que plantea la programación funcional que no podríamos conseguir con Java, son las interfaces abstractas parametrizadas (Type Classes). * La programación funcional se puede hacer con 2 aproximaciones: Type Classes, y Tipos Algebraicos de Datos (ADT). Hay material al respecto de ADTs, no tanto de Type Classes. * Functional Programming in Scala: Un libro muy bueno pero sólo enfocan la aproximación de Type Classes para el desarrollo de librerías. * Con "El Programador Orientado a Objetos™" no quiero dar a entender que "El Programador Funcional™" no lo sea también. Cuando programamos funcionalmente en Scala con Type Classes, lo que estamos haciendo esencialmente es programar orientado a objetos. * Cuando implementamos nuestros métodos con Type Classes y monads, estamos haciendo programación imperativa. Las mónadas son APIs para implementar programas imperativos. Utilizamos técnicas distintas para expresar esos programas, pero no estamos cambiando de paradigma. 32:50 Conclusión * Cuando ese alumno acabe la carrera y vaya a una empresa, debe seguir siendo crítico. Que haga avanzar el estado del arte en la informática. * Las técnicas de programación funcional están para solucionar problemas y no para fliparse con las mónadas y los aplicativos. * Deberíamos ser menos conformistas. La informática es una cosa que está por hacer. * Dentro de unos años la programación funcional será un debate que no tendrá sentido. Será todo programación funcional. La partida ya está ganada. * La correspondencia de Curry–Howard establece que la programación funcional y la lógica son lo mismo. Cuando programas estás probando una proposición. ¿Quién quiere programar ilógicamente?
Transient: full algebraic and monadic composability in the presence of multithreading, events, and distributed computing A careful selection of monadic effects and primitives, using some new techniques for expressing continuations and moving closures among nodes could achieve full composability and scalability for heterogeneous, distributed Haskell programs, as well as events, parallelism, streaming and concurrency (And Web programming too). About Alberto: Alberto Gomez is an experienced programmer who was abducted by Haskell ten years ago. He is committed to his success in the Industry and worked as programmer and consultant in IT in Spanish and European companies, as well as in software R&D. Follow https://www.twitter.com/AGoCorona for more on his work. About Lambda World: The 2016 Lambda World brought together Functional Programming enthusiasts from around the world for two days of presentations, hacking, networking, and a healthy dose of partying in Cadiz, Spain. Hosted by 47 Degrees, the event also featured a Typelevel Community Conference and a Scala Center Hackathon. Join in on the conversation at http://www.twitter.com/lambda_world and http://www.twitter.com/47deg using #LambdaWorld. Stay tuned to http://www.lambda.world and http://www.47deg.com for more on the conference and announcements for the 2017 event.