Konferencija Javantura Zagreb 2014 by HUJAK
Alfresco – Neo4j integracija – nova vrsta CMS aplikacija by Damir Murat
Graph baze imaju mnoge primjene, a jedna od njih je obogaćivanje i novi način pretraživanja i korištenja postojećih podataka. Ako prateći tu ideju povežemo CMS sustav Alfresco (www.alfresco.com) i graph bazu podataka Neo4j (www.neo4j.org), otvara se mogućnost kreiranja nove vrste CMS aplikacija. Dodamo li u mješavinu još i tehnologije kao što su Ext JS, D3.js i Grails, rezultat može biti vrlo atraktivan za krajnjeg korisnika.
Konferencija Javantura Zagreb 2014 by HUJAK
Java na klijentskoj strani – ima li budućnosti? by Ivan Vučak
U proteklih nekoliko godina Java se pozicionirala kao tehnologija izrade serverskih komponenti, ali kao da se zaboravlja da se Java koristila iza izradu Rich Internet aplikacija (RIA). Da li je Java konkurentna na području RIA te koliku ulogu u tome imaju razni sigurnosni standardi? Kako održavati postojeće RIA sustave uz općenito nepovjerenje ostalih sustava prema Java klijentskim aplikacijama? U ovom predavanju bavit ćemo se usporedbom Jave s ostalim tehnologijama te pokazati zašto strepimo kod svakog Java update-a.
Konferencija Javantura Zagreb 2014 by HUJAK
Alfresco – Neo4j integracija – nova vrsta CMS aplikacija by Damir Murat
Graph baze imaju mnoge primjene, a jedna od njih je obogaćivanje i novi način pretraživanja i korištenja postojećih podataka. Ako prateći tu ideju povežemo CMS sustav Alfresco (www.alfresco.com) i graph bazu podataka Neo4j (www.neo4j.org), otvara se mogućnost kreiranja nove vrste CMS aplikacija. Dodamo li u mješavinu još i tehnologije kao što su Ext JS, D3.js i Grails, rezultat može biti vrlo atraktivan za krajnjeg korisnika.
Konferencija Javantura Zagreb 2014 by HUJAK
Java na klijentskoj strani – ima li budućnosti? by Ivan Vučak
U proteklih nekoliko godina Java se pozicionirala kao tehnologija izrade serverskih komponenti, ali kao da se zaboravlja da se Java koristila iza izradu Rich Internet aplikacija (RIA). Da li je Java konkurentna na području RIA te koliku ulogu u tome imaju razni sigurnosni standardi? Kako održavati postojeće RIA sustave uz općenito nepovjerenje ostalih sustava prema Java klijentskim aplikacijama? U ovom predavanju bavit ćemo se usporedbom Jave s ostalim tehnologijama te pokazati zašto strepimo kod svakog Java update-a.
SonarQube is an open source platform for managing code quality that has been used by over 15,000 organizations since 2006. It provides basic features for analyzing code as well as more advanced capabilities through plugins. The document provides tips on integrating test coverage reporting into SonarQube using Jacoco and discusses how to associate a project with a SonarQube server from within Eclipse. Contact information is provided for the authors to ask additional questions.
1. The document discusses a single mail client solution for integrating Lotus Domino and Microsoft Exchange with Liferay that was developed by PRODYNA AG.
2. It describes NABUCCO Groupware, an integration layer developed by PRODYNA to provide Liferay with enterprise-level integration of groupware applications like mail, calendar, contacts and tasks from systems like Lotus Domino and Exchange.
3. The DEILA framework is explained which was used to build the user interface for NABUCCO Groupware and integrate it with Liferay.
The document discusses principles for architecting well-structured Java applications. It describes how applications often start out small and organized but can degrade over time into rigid, fragile systems with unnecessary complexity and repetition. It advocates treating packages as the primary design element and following principles like dependency inversion and single responsibility. Specific techniques are presented for improving structure, such as merging packages to reduce dependencies and using interfaces to decouple classes. The document emphasizes that software structure will emerge whether intentionally designed or not.
This document discusses service discovery for microservices using Docker and OSGi. It describes how Docker containers can be monitored to dynamically register their services in an OSGi environment. Consul is introduced as a distributed key-value store that can be used for service discovery across multiple hosts. The document concludes with demos of integrating Docker services with OSGi using Consul for service discovery.
This document discusses Docker, Kubernetes, and Jube. It provides an overview of Docker concepts like images, containers, and Dockerfiles. It then summarizes Kubernetes concepts such as pods, replication controllers, services, and deployments. It introduces OpenShift and Jube, a Java-based Kubernetes mock that does not require Docker. The document aims to help users learn about building, deploying, and orchestrating containers.
This document discusses using Docker and Java on a Raspberry Pi. It provides instructions for installing Docker on a Raspberry Pi and creating Dockerfiles to run a Tomcat application container from a Java WAR file. It also discusses using Docker for continuous delivery by building a Docker image registry to version and distribute application containers.
HUJAK Community keynote presentation
Branko Mihaljević
Stjepan Matijašević
Hrvoje Đurđević
Slavko Žnidarić
Marin Orlić
Aleksander Radovan
Jurica Križanić
1) HUJAK is a Java user group in Croatia that was formed in 2011 to expand the Java community.
2) Java was created in 1991 and first publicly announced in 1995. It has grown significantly in popularity and is now the most popular programming language.
3) Java 8 was released in 2014 with major new features like lambdas, and Java EE 7 specifications were approved in 2013, focusing on annotations and other modern features.
This document discusses using ELK (Elasticsearch, Logstash, Kibana) to gain insights from logs. It describes the components of ELK - Elasticsearch as the database, Kibana as the UI, and Logstash to parse logs. Logstash can use GROK patterns to parse logs into structured data for analysis in Kibana. The document provides examples of using ELK to track web traffic, user activity, and API responses for benefits like reducing costs and monitoring performance. While custom solutions can be built, ELK is beneficial as it requires no software costs and allows full control over collected log data.
RxJava allows building reactive applications by treating everything as a stream of messages. Observables represent message producers and observers consume messages. Observables provide asynchronous and parallel execution via operators like subscribeOn and observeOn. This makes applications resilient to failure, scalable under varying workloads, and responsive to clients. RxJava also promotes message-driven architectures, functional programming, and handling errors as regular messages to improve these characteristics. Developers must also unsubscribe to prevent leaking resources and ensure observables only run when needed.
EcmaScript 6 introduces many new features to JavaScript including let and const block-scoped variables, arrow functions, classes, promises, and modules. Tooling like transpilers are currently needed to use ES6 in older browsers. Future versions will continue to evolve the language with proposals for ES7 including concurrency, streams, and better support for classes and metaprogramming. Overall ES6 and future versions aim to modernize JavaScript and better support object-oriented and asynchronous programming patterns.
This document provides biographies and credentials for several Java experts: Branko Mihaljević, Tihomir Smuđ, and Aleksander Radovan. It also discusses Java certification pathways including Oracle Certified Associate (OCA), Oracle Certified Professional (OCP), Oracle Certified Expert (OCE), and Oracle Certified Master (OCM) certifications. Details are given on certification exams, objectives, prerequisites, and example questions. Overall the document serves as an introduction to Java certification for developers.
Chromecast is a thumb-sized media streaming device that plugs into the HDMI port on your TV. Set it up with a simple mobile app, then send your favorite online shows, movies, music and more to your TV using your smartphone, tablet or laptop. The presentation will first give a quick introduction to Chromecast and similar products, after which the main focus will be on adding Chromecast support for Android applications using ChromecastSDK. This includes going through every step of the process in code, from starting media discovery to find potential Chromecast devices all the way to disconnecting from an existing session. Experiences from integrating Chromecast on RealPlayer Cloud, first app in the world to support casting of local items, will be presented in the end.
U Srcu razvijamo, održavamo i dajemo podršku za veliki broj sustava, gdje se svaki sastoji od niza servisa i aplikacija, broj aktivnih korisnika ide i preko 150.000 (uglavnom iz akademske zajednice), a ti sustavi rade na raznim platformama (Java, .Net, PHP, ...). Potrebe i želje korisnika za doradama, nadogradnjama i proširenjima sustava konstantno rastu kako rastu i sami sustavi. Kako bi i dalje uspješno pratili potrebe korisnika smatramo da nam treba Platform as a service (PaaS) kao temelj za daljnji razvoj i održavanje naših sustava. U prezentaciji je prezentirano u kojim segmentima rada nam PaaS može pomoći.
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...Five
Uz Google Chromecast korisnici na jednostavan način mogu uživati u online glazbi i filmovima na svom TV-u. U predavanju će najprije biti objašnjeno što je Google Chromecast i kako funkcionira te biti navedene prednosti i nedostaci u usporedbi sa sličnim proizvodima. Nakon uvoda slijedi dio o samom razvoju aplikacija u kojem će se proći kroz postavljanje okoline za razvoj aplikacija, objasniti životni vijek aplikacije koja podržava Chromecast i ukratko proći kroz stvari bitne za razvoj Android i iOS mobilnih aplikacija.
Predavači: Branimir Conjar, Matija Kovačić, Krešimir Mišura
SonarQube is an open source platform for managing code quality that has been used by over 15,000 organizations since 2006. It provides basic features for analyzing code as well as more advanced capabilities through plugins. The document provides tips on integrating test coverage reporting into SonarQube using Jacoco and discusses how to associate a project with a SonarQube server from within Eclipse. Contact information is provided for the authors to ask additional questions.
1. The document discusses a single mail client solution for integrating Lotus Domino and Microsoft Exchange with Liferay that was developed by PRODYNA AG.
2. It describes NABUCCO Groupware, an integration layer developed by PRODYNA to provide Liferay with enterprise-level integration of groupware applications like mail, calendar, contacts and tasks from systems like Lotus Domino and Exchange.
3. The DEILA framework is explained which was used to build the user interface for NABUCCO Groupware and integrate it with Liferay.
The document discusses principles for architecting well-structured Java applications. It describes how applications often start out small and organized but can degrade over time into rigid, fragile systems with unnecessary complexity and repetition. It advocates treating packages as the primary design element and following principles like dependency inversion and single responsibility. Specific techniques are presented for improving structure, such as merging packages to reduce dependencies and using interfaces to decouple classes. The document emphasizes that software structure will emerge whether intentionally designed or not.
This document discusses service discovery for microservices using Docker and OSGi. It describes how Docker containers can be monitored to dynamically register their services in an OSGi environment. Consul is introduced as a distributed key-value store that can be used for service discovery across multiple hosts. The document concludes with demos of integrating Docker services with OSGi using Consul for service discovery.
This document discusses Docker, Kubernetes, and Jube. It provides an overview of Docker concepts like images, containers, and Dockerfiles. It then summarizes Kubernetes concepts such as pods, replication controllers, services, and deployments. It introduces OpenShift and Jube, a Java-based Kubernetes mock that does not require Docker. The document aims to help users learn about building, deploying, and orchestrating containers.
This document discusses using Docker and Java on a Raspberry Pi. It provides instructions for installing Docker on a Raspberry Pi and creating Dockerfiles to run a Tomcat application container from a Java WAR file. It also discusses using Docker for continuous delivery by building a Docker image registry to version and distribute application containers.
HUJAK Community keynote presentation
Branko Mihaljević
Stjepan Matijašević
Hrvoje Đurđević
Slavko Žnidarić
Marin Orlić
Aleksander Radovan
Jurica Križanić
1) HUJAK is a Java user group in Croatia that was formed in 2011 to expand the Java community.
2) Java was created in 1991 and first publicly announced in 1995. It has grown significantly in popularity and is now the most popular programming language.
3) Java 8 was released in 2014 with major new features like lambdas, and Java EE 7 specifications were approved in 2013, focusing on annotations and other modern features.
This document discusses using ELK (Elasticsearch, Logstash, Kibana) to gain insights from logs. It describes the components of ELK - Elasticsearch as the database, Kibana as the UI, and Logstash to parse logs. Logstash can use GROK patterns to parse logs into structured data for analysis in Kibana. The document provides examples of using ELK to track web traffic, user activity, and API responses for benefits like reducing costs and monitoring performance. While custom solutions can be built, ELK is beneficial as it requires no software costs and allows full control over collected log data.
RxJava allows building reactive applications by treating everything as a stream of messages. Observables represent message producers and observers consume messages. Observables provide asynchronous and parallel execution via operators like subscribeOn and observeOn. This makes applications resilient to failure, scalable under varying workloads, and responsive to clients. RxJava also promotes message-driven architectures, functional programming, and handling errors as regular messages to improve these characteristics. Developers must also unsubscribe to prevent leaking resources and ensure observables only run when needed.
EcmaScript 6 introduces many new features to JavaScript including let and const block-scoped variables, arrow functions, classes, promises, and modules. Tooling like transpilers are currently needed to use ES6 in older browsers. Future versions will continue to evolve the language with proposals for ES7 including concurrency, streams, and better support for classes and metaprogramming. Overall ES6 and future versions aim to modernize JavaScript and better support object-oriented and asynchronous programming patterns.
This document provides biographies and credentials for several Java experts: Branko Mihaljević, Tihomir Smuđ, and Aleksander Radovan. It also discusses Java certification pathways including Oracle Certified Associate (OCA), Oracle Certified Professional (OCP), Oracle Certified Expert (OCE), and Oracle Certified Master (OCM) certifications. Details are given on certification exams, objectives, prerequisites, and example questions. Overall the document serves as an introduction to Java certification for developers.
Chromecast is a thumb-sized media streaming device that plugs into the HDMI port on your TV. Set it up with a simple mobile app, then send your favorite online shows, movies, music and more to your TV using your smartphone, tablet or laptop. The presentation will first give a quick introduction to Chromecast and similar products, after which the main focus will be on adding Chromecast support for Android applications using ChromecastSDK. This includes going through every step of the process in code, from starting media discovery to find potential Chromecast devices all the way to disconnecting from an existing session. Experiences from integrating Chromecast on RealPlayer Cloud, first app in the world to support casting of local items, will be presented in the end.
U Srcu razvijamo, održavamo i dajemo podršku za veliki broj sustava, gdje se svaki sastoji od niza servisa i aplikacija, broj aktivnih korisnika ide i preko 150.000 (uglavnom iz akademske zajednice), a ti sustavi rade na raznim platformama (Java, .Net, PHP, ...). Potrebe i želje korisnika za doradama, nadogradnjama i proširenjima sustava konstantno rastu kako rastu i sami sustavi. Kako bi i dalje uspješno pratili potrebe korisnika smatramo da nam treba Platform as a service (PaaS) kao temelj za daljnji razvoj i održavanje naših sustava. U prezentaciji je prezentirano u kojim segmentima rada nam PaaS može pomoći.
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...Five
Uz Google Chromecast korisnici na jednostavan način mogu uživati u online glazbi i filmovima na svom TV-u. U predavanju će najprije biti objašnjeno što je Google Chromecast i kako funkcionira te biti navedene prednosti i nedostaci u usporedbi sa sličnim proizvodima. Nakon uvoda slijedi dio o samom razvoju aplikacija u kojem će se proći kroz postavljanje okoline za razvoj aplikacija, objasniti životni vijek aplikacije koja podržava Chromecast i ukratko proći kroz stvari bitne za razvoj Android i iOS mobilnih aplikacija.
Predavači: Branimir Conjar, Matija Kovačić, Krešimir Mišura
Materijali vezani uz predavanja o Springu za rad na preddiplomskom projektu na FER-u.
Video predavanja uz ove materijale su na https://www.youtube.com/playlist?list=PLy0T81VDh93YLJEEe5AxydDlXxUPrPs_B
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. Stipe Predanic
Predavanje iz Dinamičkih web aplikacija, 11. predavanje
Video: https://www.youtube.com/watch?v=0othfQg9AP8&list=PLYqeapOP_CtS0kbdbo_GXFgnS81JGAd8L&index=12
Tema: Izrada web aplikacija za mobilne uređaje
Datum snimanja: 19.5.2016
GraphQL & Laravel - Efikasni API servisiPedja Jevtic
Sa najnovijom generacijom pametnih tehnologija, sve više i više uredjaja ima potrebu za podacima neophodnim za njihovu osnovnu funkcionalnost. Pametni satovi, frižideri, garažna vrata su samo neki od njih.
Razvoj i održavanje API backend aplikacije za usluživanje nekoliko generacija uređaja i njihovih specifičnih potreba postalo je veoma teško i skupo.
GraphQL pruža alternativu i promenu u paradigmi izmeštanjem odgovornosti za strukturu podataka u API pozivima ka samom klijentu. Ovo obezbedjuje optimizaciju u prenosu podataka isključujući nepotrebne podatke i u isto vreme, smanjuje kompleksnost API poziva i metoda što ujedno ubrzava i olakšava održavanje istih.
WinDays 13 - Internet Explorer 10 - san koji je postao javaMatija Šmalcelj
Novi Internet Explorer 10 koji dolazi sa Windows 8 i Windows phone 8 predstavlja uistinu veliki korak naprijed u svakom pogledu. Osim značajnog povećanja performansi i sigurnosti, ono što zaista oduševljava je konačno potpuna podrška za zaslone osjetljive na dodir i implementacija svih naprednijih CSS3 funkcionalnosti. Mogućnosti novog preglednika se naslućuju i u tome što je jedan od načina izrade nativnih aplikacija za Windows 8 i pomoću HTML5, CSS3 i JavaScripta. Prvi, kraći dio predavanja sadržavati će pregled novosti bitnih za programere dok će ostatak predavanja biti posvećen problemu iz stvarnog života. Pokazat će se kako postojeću web aplikaciju optimiranu za WebKit preglednike jednostavno prilagoditi web standardima kako bi bila potpuno funkcionalna i na Internet Exploreru 10. Time se ostvaruje i dobra polazišna točka za njeno daljnje pakiranje u Windows 8 aplikaciju i objavu u Windows Storeu ukoliko se pokaže potreba.
This document discusses Java development tools and best practices. It provides survey results on topics like the most commonly used Java versions, IDEs, frameworks, testing tools, and more. The document also covers new Java features like switch expressions, which allow switch statements to be used as expressions and simplify control flow without needing breaks. Examples demonstrate using switch expressions to yield values from a switch block.
The document discusses Java's continued popularity and evolution. It provides statistics showing Java remains the #1 and #3 most popular programming language. It outlines the various JDK releases available and describes how Java continues to innovate through incremental 6-month releases while ensuring backwards compatibility. It also discusses proposals to shift to releasing long-term support versions every 2 years instead of every 3 years to better meet developer and enterprise needs.
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Behaviour-Driven Development (or TDD for that matter) is one of the pillars of Software Quality. While it is very important, not many of us do it or do not have the support from the management to invest time in it. Commonly, it has been described as a waste of time or an intangible effort conflicting with the deadlines. In this presentation, I would like to share my experiences with the Behaviour-Driven Development, the effects of not having it at all, as well as the outcomes of working on projects where a significant amount of behavior is automated with Cucumber tool.
By attending this session you will be able to learn what BDD and Cucumber are, how to build Cucumber tests and hear about first-hand experiences around automating specifications.
This document provides an overview of the current state and future of Java. It discusses the continued growth and popularity of Java over 24+ years as the #1 programming language. It summarizes the major Java Development Kit (JDK) releases from JDK 8 to the latest JDK 14 final release candidate, highlighting new features, preview features, and long-term support versions. The document also discusses the different open-source and commercial options for downloading the JDK, such as Oracle JDK, OpenJDK, Azul Zulu, and others.
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader - Daniel Strmečki
Your success depends on others, a 1-man army can only achieve so much. The only way to progress from coder to leader is to learn how to scale yourself. Nowadays, you can become a Senior Developer with just a few years of experience. After that, there are many roads and possibilities you can take. Whether you decide for a developer, architect, manager or a mixed career, at one point, you will need to become a leader. In the first chapter of the lecture we will start a discussion on how to get there. Since your time is limited, you need to mentor, coach, motivate and engage others. Start with making a stable foundation, like setting up a proper onboarding process. If you help people around you, they will for sure talk about it, and your manager will hear it. Also, demonstrate ability in everyday work: coding, project management, client-focus, communication and care about others. Always stick to your values and keep high standards. In the second chapter we will discuss the challenges that turn up once you get there. At that point you will deal with people more than technology. You will need to step away from coding for meetings very often. Interruptions will happen every day and it we be very hard to maintain “the flow”. You will need to learn how to delegate and drive topics without implementing them yourself. Visit the lecture to find out some techniques for dealing with interruptions, meetings, prioritization, people and their motivation.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
This document provides information about HUJAK, a Croatian organization that promotes Java and software development. It discusses HUJAK's role in organizing Java conferences in Croatia, supporting STEM education for children, and connecting Java developers. It also summarizes Java's continued popularity and growth, and outlines some of the upcoming projects that aim to further develop the Java programming language.
This is a story about our exploration of aspects of Polyglot Programming and Memory Management in a (J)VM. The first part is focused on our research of performance of GraalVM, an open-source, high-performance polyglot virtual machine written in Java, as well as an accompanying Graal compiler, supporting JIT and AOT compilation, with outstanding inlining and escape analysis algorithms. In the second part we are dealing with aspects of automatic memory management and garbage collection analysis in an existing JVM, thus comparing the most commonly used (older) garbage collectors such as Serial, Parallel (Old), CMS, and G1, with contemporary and default Parallel Full G1, and new experimental ZGC and Shenandoah, across several JDKs using a common benchmark suite.
We develop an application prototype with Java and Hyperledger Fabric to facilitate people in the company to sell domestic goods to each other using marketplace application. Java and SmartGWT were used to develop UI, part of data were stored in the relational DBMS, while orders and balances were stored on the blockchain, specifically Hyperledger Fabric.
Bugs happen! It is a developers life fact. Let'e explore one way we the developers can help customers to make batter bug reports.
During lifecycle of systems and applications that support complex and long running business processes it is often the challenge to get accurate bug report. In this talk we will present one custom developed solution that we used on several our projects as well as our experiences in using this approach.
With several years of remote work experience in an agile environment, working from beautiful Zagreb for clients abroad and trying out different distributed team setups, we will share the motivation and philosophy behind it. We will also cover best practices, challenges and general tips & tricks in different segments such as work organisation, technical requirements, social requirements, methodology etc.
This talk is recommended for all developers who want to start working remotely or improve the way they already do it, employers who consider establishing distributed teams inside of their companies and clients searching for partners who have distributed teams.
While Kotlin is designed to work well with Java by default, we'll still need to some work to get clean and idiomatic code in both languages.
In this talk we'll cover both how to make your Java code more Kotlin friendly and how to make your Kotlin code nicer to use from Java.
HATEOAS is without a doubt, the least understood pillar of REST. It seems difficult to implement and shows no immediate reward for it, so many developers don't even bother. The truth is, it just has some bad PR and a horrible acronym that sounds like a breakfast cereal. Join me to take a look at the theory and practice behind using hypermedia by examining both web services and web clients. Along the way we will look at some exciting upcoming Spring HATEOAS features, like the Affordances API, and talk about what the future holds for hypermedia in your web services.
This document discusses continuous delivery of microservices on Kubernetes. It notes that previously there were challenges like big bang releases, lack of automation, and complexity in delivering business value. However, tools like Jenkins X now allow for reimagined continuous integration and continuous delivery (CI/CD) workflows for cloud native applications on Kubernetes, providing faster feedback and delivery of value. The document encourages ongoing learning and communication to improve processes.
Individual microservices are relatively easy to develop, but managing a distributed system composed of microservices is never a simple task. Kubernetes helps, but it falls short of providing everything such a system needs. This is where the Istio Service Mesh comes in.
Running microservices in production, you'll soon realize you want things like traffic splitting, automatic connection retries, timeouts and failovers, secure communication and authentication between your services, distributed metrics, tracing and logging. By introducing Istio into your architecture, you get all of that and more. And you get most of it without changing your code at all.
In this talk, you'll see a demonstration of Istio in action and learn about the tricks that make its magic possible.
Do your customers keep complaining about bugs in your software application? Does it take you too much time to implement new features? If yes, then you probably have issues with the quality of your application. Join me to find out what practical steps you can follow to improve the quality of your application!
We are used to give commands to our computers with keyboard - by natural language recognition improvement, services around this technology stack become better and better each day. Using Google Home mini device, IFTTT service and java web socket netty server hosted on red hat Openshift platform, control your loving private computer terminal or any application from distance with your bare voice.
Quality control during apps development demands continuous testing. Selenium, Cucumber, Jenikns and Docker can help us in that process. Hrvoje will share his experience about that subject.
Bugs are a daily cause of stress in our work as Java developers. Those pesky things can hide behind core concepts in Java 9 and 10—there is no way out of this. If we don’t keep up to date with new Java versions, bugs will take over our projects. But can we have fun hunting them? You bet! How about solving a series of Java puzzles as a way to master concepts and save a lot of time finding those tricky bugs? In this session, attendees can help the bug hunters solve fun Java challenges, gain a clear understanding of what causes the most-stressful bugs—and have fun eliminating them from projects.
In H2020 EU project symbIoTe (symbiosis of smart objects across IoT environments) we have been building IoT middleware based on microservices programmed in Java with Spring Boot and Spring Cloud components. Here I will present our experiences in developing such services in distributed team across EU and employed by 15 organizations. I will present organizational and technical advantages and drawbacks as well as our choices in building such system.
More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)
2. • napraviti Facebook Developer Profile
• kreirati aplikaciju koristeći developer profile
• napraviti release key hash i dodati u app settings
• koristi se za autentifikaciju mobilne aplikacije prilikom
komunikacije sa Facebook aplikacijom
Registracija aplikacije
2 RealNetworks Croatia
3. Login
80% od 100 aplikacija sa najvećom
zaradom koristi Facebook login
–Info: Facebook F8 2015
3 RealNetworks Croatia
4. • SDK automatski bira između 2 načina logina
• webview
• native
• Omogućuje Single Sign On (SSO)
• korisnici ne moraju pamtiti još jednu lozinku
• potrebno ga je uključiti u postavkama aplikacije
Facebook Login
• potrebno ga je uključiti u postavkama aplikacije
4 RealNetworks Croatia
5. • javni profil (public profile)
• dopuštenja za čitanje (read permissons)
• dopuštenja za pisanje (write permissions)
• korisnik može odbiti pojedina dopuštenja
Dopuštenja (Permissions)
5 RealNetworks Croatia
6. • temelji se na HTTP-u, ali za Android je bolje koristiti
Facebook SDK
• vrhovi (nodes)
• rubovi (edges)
• polja (fields)
Graph API
6 RealNetworks Croatia
POST graph.facebook.com
/me/feed?
message="Hello, World."&
access_token={moj-token}
8. • logiranje događaja u aplikaciji pomoću
• Facebook SDK-a
• 14 unaprijed definiranih događaja, ali moguće dodati i
custom događaje
• kasnije je moguće pregledavati statistike okidanja
pojedinih događaja (npr. demografske karakteristike
App Events
pojedinih događaja (npr. demografske karakteristike
korisnika)
8 RealNetworks Croatia
@Override
protected void onResume() {
super.onResume();
AppEventsLogger.activateApp(this);
}
9.
10. • /me/friends sada vraća samo prijatelje koji koriste aplikaciju
• basic_info -> public_profile
• korisnici mogu odbiti pojedina dopuštenja
• aplikacije moraju proći facebook review
• sve aplikacije su se morale prebaciti na novi API do
30.04.2015.
Promjene u v2.x
30.04.2015.
10 RealNetworks Croatia
11. • napraviti posebnu facebook aplikaciju za razvoj i testiranje, a
posebnu za produkciju
• koristiti SDK
• SDK se brine da osvježi tokene prije nego isteknu
• batch queries, kratkoročni tokeni u dugoročne...
• koristiti batch queries
Hintovi
• koristiti batch queries
• tražiti dopuštenja u kontekstu
• napraviti testne korisnike
• 3176 metoda (paziti na dex ograničenja)
11 RealNetworks Croatia
12. • omogućava fleksibilnu arhitekturu bez potrebe za
vlastitom poslužiteljskom aplikacijom
• baza podataka u oblaku, push notifikacije i analitika
• SDK za Android, iOS, PHP, JavaScript, .NET, OS X,
Raspberry, Adruino Yun, REST api...
• besplatan za baze podataka do 20Gb, odnosno 2TB
Parse
• besplatan za baze podataka do 20Gb, odnosno 2TB
prijenosa podataka mjesečno uz 30 operacija po sekundi
12 RealNetworks Croatia