Palestra feita no Fórum Tchelinux Porto Alegre 2016 (19/11/2016) sob descrição "Chega um momento que dá vontade de mandar um foda-se né? Mas uns como eu, não conseguem, pois querem que pessoinhas com midi-chlorians evoluam. Assim esta palestra é o resumo de andanças deste ano que culminam na sugestão de projetos para o empoderamento do Hacker/ Maker/ Educador e Nerds afins!"
Palestra feita no Fórum Tchelinux Porto Alegre 2016 (19/11/2016) sob descrição "Era uma vez uma piá nerd tímido desconhecido e sem graduação que conheceu o grupo Tchelinux.org e sua vida mudou, e fim. Mas o que tem no meio da história? Vou contar algumas coisas que vão certamente ajudar padawans numa palestra mais pra stand-up comedy do que motivacional ;)"
Palestra a pedido feita no IFSUL (Insituto Federal Sul Rio Grandense) Câmpus de Venâncio Aires.
De Hackerspaces a Comunidades, e como participo disto?
por Luiz Henrique Rauber Rodrigues (aka rauber)
luiz.rauber {gmail, facebook, linkedin)
IFSUL, Venâncio Aires/RS - 27/10/2015
Palestra feita no Fórum Tchelinux Porto Alegre 2016 (19/11/2016) sob descrição "Chega um momento que dá vontade de mandar um foda-se né? Mas uns como eu, não conseguem, pois querem que pessoinhas com midi-chlorians evoluam. Assim esta palestra é o resumo de andanças deste ano que culminam na sugestão de projetos para o empoderamento do Hacker/ Maker/ Educador e Nerds afins!"
Palestra feita no Fórum Tchelinux Porto Alegre 2016 (19/11/2016) sob descrição "Era uma vez uma piá nerd tímido desconhecido e sem graduação que conheceu o grupo Tchelinux.org e sua vida mudou, e fim. Mas o que tem no meio da história? Vou contar algumas coisas que vão certamente ajudar padawans numa palestra mais pra stand-up comedy do que motivacional ;)"
Palestra a pedido feita no IFSUL (Insituto Federal Sul Rio Grandense) Câmpus de Venâncio Aires.
De Hackerspaces a Comunidades, e como participo disto?
por Luiz Henrique Rauber Rodrigues (aka rauber)
luiz.rauber {gmail, facebook, linkedin)
IFSUL, Venâncio Aires/RS - 27/10/2015
Top Ten Proactive Web Security Controls v5Jim Manico
It is not easy to build a secure, low-risk or risk-managed web application. Firewalls, “policy” and other traditional information security measures serve as either an incomplete or useless measure in the pursuit of web application security.
As software developers author the code that makes up a web application, they need to do so in a secure manner. All tiers of a web application, the user interface, the business logic, the controller, the database code and more – all need to be developed with security in mind. This can be a very difficult task and developers are often set up for failure. Most developers did not learn about secure coding or crypto in school. The languages and frameworks that developers use to build web applications are often lacking critical core controls or are insecure by default in some way. There may be inherent flaws in requirements and designs. It is also very rare when organizations provide developers with prescriptive requirements that guide them down the path of secure software. When it comes to web security, developers are often set up to lose the security game.
This document was written by developers for developers, to assist those new to secure development. It aims to guide developers and other software development professionals down the path of secure web application software development.
This document is neither scientific nor complete. In fact it is a bit misguided. There are more than 10 issues that developers need to be aware of. Some of these “top ten” controls will be very specific, others will be general categories. Some of these items are technical, others are process based. Some may argue that this document includes items that are not even controls at all. All of these concerns are fair. Again, this is an awareness document meant for those new to secure software development. It is a start, not an end.
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Matt Raible
"Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!"
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2020/01/09/java-rest-api-showdown
GitHub repo: https://github.com/oktadeveloper/okta-java-rest-api-comparison-example
OWASP WTE, or OWASP Web Testing Environment, is a collection of application security tools and documentation available in multiple formats such as VMs, Linux distribution packages, Cloud-based installations and ISO images.
This presentation provides an overview and history of OWASP WTE. Additionally, it shows new OWASP WTE developments including the the ability to use WTE remotely by installing it on a cloud-based server.
Apresentação do meetup "[JOI] TOTVS Developers Joinville - Java #1" que ocorreu dia 07/08/2019.
** Novidades Java, GraalVM e Quarkus
** Do zero à nuvem com Java e Kubernetes
Java REST API Framework Comparison - PWX 2021Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Quarkus offers a great development experience. In this session, I’ll introduce you to the power of Quarkus Live Coding and tools that are useful to developers for debugging, deploying, and testing Quarkus applications.
The relationship between developers and documentation is best described as “It’s complicated”. Developers complain a lot about the lack of documentation but fail to write it themselves. How can you make writing documentation more enjoyable and use software engineering principles and tools for writing and maintaining documentation?
Join Martijn Dashorst in this session to discover how to use Git, Docker, Maven, Selenium, Asciidoctor, Markdown, Jenkins and Arquillian to make documentation more comfortable like coding. Learn how you can get a user manual with always up-to-date screenshots, and keep your code examples always compiling and tested.
Introduction to Java: History, Versioning, The Java Virtual Machine, Byte code, Writing simple
java program, Language Components: Primitive Data Types, Comments, Keywords, literals, The
break Statement, The continue Statement, Operators – Casts and Conversions, Arrays. Introduction
to classes and methods, constructors, Passing Objects to Methods, Method Overloading, Static and
final, The this Reference, finalize, inner and nested classes. Inheriting class, extends, member
access and inheritance, super keyword, Object class. Dynamic method dispatch, method overriding,
abstract class, interface, packages, import statement
An introduction to developing with Node.js and some useful tools to help the development and deployment processes. This talk was given at Asyncjs in Brighton
http://asyncjs.com/intro-nodejs
Slides of my presentation at TransferSummit 2010, "Open innovation in software means Open Source", http://transfersummit.com/programme/60 . See accompanying article on the H online, http://x42.ch/03.10.01
This apresentation part of course Utah Networxs Hardening Web Servers.
The target is show any options to configure security apache web server and protect to possible hackers attacks.
The package debian_hardening-0.1_beta.deb is available in http://www.utah.com.br/deb/debian_hardening-0.1_beta.deb and source code to change or generate a new debian available in http://www.utah.com.br/src/debian_hardening-0.1_beta.tar.gz
Thanks...
Utah Networxs
Walking to Giants
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...Fedir RYKHTIK
Slides from "Web Applications Automated Security Testing in a Continuous Delivery Pipeline" workshop, made during Drupal Developers Days 2017 at Seville, Spain
Java REST API Framework Comparison - UberConf 2021Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Palestra feita na Univates, Lajeado, em 22/10/2015
Resumo: Em uma palestra/ bate-papo irei ir da cultura hacker, passando pela ética, software e hardware livre, ao ambiente em que elas culminam, os hacker e makes spaces. Citando a teoria e a prática por trás deste ecossistema, e sobre algumas exemplificações de fundações, manutenções e projetos de hackerspaces existentes, espero deixar a semente para a criação do hackerspace de vocês! Como cortesia e complementação, irei expor ideias de soluções que podem lhes contribuir academicamente e profissionalmente. Busquem se infomar antes e tragam dúvidas ;)
Palestra sobre o Code Club implementado em Santiago/RS, aplicado com crianças de 10 anos da 5º série, para validar se o ensino de programação realmente melhora o rendimento escolar.
Na palestra é demonstrado os resultados deste Trabalho de Conclusão de Curso de Juliana Rigon sob orientação de Luiz Rauber, e informações sobre o Code Clube Brasil.
Top Ten Proactive Web Security Controls v5Jim Manico
It is not easy to build a secure, low-risk or risk-managed web application. Firewalls, “policy” and other traditional information security measures serve as either an incomplete or useless measure in the pursuit of web application security.
As software developers author the code that makes up a web application, they need to do so in a secure manner. All tiers of a web application, the user interface, the business logic, the controller, the database code and more – all need to be developed with security in mind. This can be a very difficult task and developers are often set up for failure. Most developers did not learn about secure coding or crypto in school. The languages and frameworks that developers use to build web applications are often lacking critical core controls or are insecure by default in some way. There may be inherent flaws in requirements and designs. It is also very rare when organizations provide developers with prescriptive requirements that guide them down the path of secure software. When it comes to web security, developers are often set up to lose the security game.
This document was written by developers for developers, to assist those new to secure development. It aims to guide developers and other software development professionals down the path of secure web application software development.
This document is neither scientific nor complete. In fact it is a bit misguided. There are more than 10 issues that developers need to be aware of. Some of these “top ten” controls will be very specific, others will be general categories. Some of these items are technical, others are process based. Some may argue that this document includes items that are not even controls at all. All of these concerns are fair. Again, this is an awareness document meant for those new to secure software development. It is a start, not an end.
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Matt Raible
"Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!"
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2020/01/09/java-rest-api-showdown
GitHub repo: https://github.com/oktadeveloper/okta-java-rest-api-comparison-example
OWASP WTE, or OWASP Web Testing Environment, is a collection of application security tools and documentation available in multiple formats such as VMs, Linux distribution packages, Cloud-based installations and ISO images.
This presentation provides an overview and history of OWASP WTE. Additionally, it shows new OWASP WTE developments including the the ability to use WTE remotely by installing it on a cloud-based server.
Apresentação do meetup "[JOI] TOTVS Developers Joinville - Java #1" que ocorreu dia 07/08/2019.
** Novidades Java, GraalVM e Quarkus
** Do zero à nuvem com Java e Kubernetes
Java REST API Framework Comparison - PWX 2021Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Quarkus offers a great development experience. In this session, I’ll introduce you to the power of Quarkus Live Coding and tools that are useful to developers for debugging, deploying, and testing Quarkus applications.
The relationship between developers and documentation is best described as “It’s complicated”. Developers complain a lot about the lack of documentation but fail to write it themselves. How can you make writing documentation more enjoyable and use software engineering principles and tools for writing and maintaining documentation?
Join Martijn Dashorst in this session to discover how to use Git, Docker, Maven, Selenium, Asciidoctor, Markdown, Jenkins and Arquillian to make documentation more comfortable like coding. Learn how you can get a user manual with always up-to-date screenshots, and keep your code examples always compiling and tested.
Introduction to Java: History, Versioning, The Java Virtual Machine, Byte code, Writing simple
java program, Language Components: Primitive Data Types, Comments, Keywords, literals, The
break Statement, The continue Statement, Operators – Casts and Conversions, Arrays. Introduction
to classes and methods, constructors, Passing Objects to Methods, Method Overloading, Static and
final, The this Reference, finalize, inner and nested classes. Inheriting class, extends, member
access and inheritance, super keyword, Object class. Dynamic method dispatch, method overriding,
abstract class, interface, packages, import statement
An introduction to developing with Node.js and some useful tools to help the development and deployment processes. This talk was given at Asyncjs in Brighton
http://asyncjs.com/intro-nodejs
Slides of my presentation at TransferSummit 2010, "Open innovation in software means Open Source", http://transfersummit.com/programme/60 . See accompanying article on the H online, http://x42.ch/03.10.01
This apresentation part of course Utah Networxs Hardening Web Servers.
The target is show any options to configure security apache web server and protect to possible hackers attacks.
The package debian_hardening-0.1_beta.deb is available in http://www.utah.com.br/deb/debian_hardening-0.1_beta.deb and source code to change or generate a new debian available in http://www.utah.com.br/src/debian_hardening-0.1_beta.tar.gz
Thanks...
Utah Networxs
Walking to Giants
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...Fedir RYKHTIK
Slides from "Web Applications Automated Security Testing in a Continuous Delivery Pipeline" workshop, made during Drupal Developers Days 2017 at Seville, Spain
Java REST API Framework Comparison - UberConf 2021Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Palestra feita na Univates, Lajeado, em 22/10/2015
Resumo: Em uma palestra/ bate-papo irei ir da cultura hacker, passando pela ética, software e hardware livre, ao ambiente em que elas culminam, os hacker e makes spaces. Citando a teoria e a prática por trás deste ecossistema, e sobre algumas exemplificações de fundações, manutenções e projetos de hackerspaces existentes, espero deixar a semente para a criação do hackerspace de vocês! Como cortesia e complementação, irei expor ideias de soluções que podem lhes contribuir academicamente e profissionalmente. Busquem se infomar antes e tragam dúvidas ;)
Palestra sobre o Code Club implementado em Santiago/RS, aplicado com crianças de 10 anos da 5º série, para validar se o ensino de programação realmente melhora o rendimento escolar.
Na palestra é demonstrado os resultados deste Trabalho de Conclusão de Curso de Juliana Rigon sob orientação de Luiz Rauber, e informações sobre o Code Clube Brasil.
Trabalho acadêmico da egressa (e minha orientanda) Juliana Rigon, onde criou um clube de programação da metodologia do Code Club Brasil e tivemos ótimos resultados :D
Monografia apresentada como requisito para conclusão
do curso de Ciência da Computação pela Universidade Regional Integrada do Alto Uruguai e das Missões.
Orientador Prof. Esp. Luiz Henrique Rauber Rodrigues
Co-orientadora Profa. Esp. Marlene Padilha Specht
Esta palestra foi feita na XIV Jornada de Estudos em Informática na URI Frederico Westphalen no dia 05/10/15.
Resumo: O maior exemplo de negócio rentável em relação a software é o modelo utilizado pela Microsoft, ao qual, faz e vende Windows e o pacote Office (Word...) por exemplo, ou a SAP e TOTVS que detém mais da metade do mercado de ERP brasileiro com soluções proprietárias... Com estas informações pensa-se que software livre não é um negócio lucrativo, mas a Red Hat (software livre) fechou 2015 com US$ 180 milhões de lucro, e ai? Nesta palestra vou expor alguns aprendizados sobre o assunto, potencializado pelas minhas palestras no fisl e meu networking.
Palestra apresentada no Fórum Goiano de Software Livre, em 21/11/2014.
Resumo proposto
"Uma explosão de conhecimentos, assuntos e informações é algo previsível com um título grande assim, mas sobre uma ótica de “menos é mais” nesta palestra/ bate-papo serão demostrados alguns conceitos e resultados de trabalhos recentes desta jornada Academia-Mercado de Trabalho e como Eventos de TI e ambientes como Hackerspaces podem dar uma impulsionada, seja o teu objetivo acadêmico ou profissional. Claro que também terá uma contextualização dos termos bases."
Palestra de 2 horas realizada na Semana Acadêmica do Curso de Tecnologia em Redes de Computadores da UFSM – Santa Maria – 02/10/2013
Objetivo: contextualizar software livre, comunidades e grupos, após relacionando as interações entre softwares livres para o mercado de trabalho assim como é o mercado de trabalho para software livre, o mesmo valendo para a academia, escolas e jogos.
O câncer é uma mutação genética, o Cytoscape um software livre para mapeamento de vias de expressão protéicas e eu um mestrando em Nanociências e docente em Ciência da Computação que nesta palestra falarei sobre tais tópicos, pertencentes ao amplo conhecimento da Bioinformática, tendo o assunto este por tema da dissertação em desenvolvimento “Expressão De Proteínas Na Evolução Do Câncer: Estudo Das Redes De Proteínas Utilizando O Software Cytoscape”. A Bioinformática é uma área de conhecimento nova, que une conhecimentos da área da Biológia, Informática e Matemática, na busca de soluções para mazelas biológicas, como doenças, e ainda pouco explorada no Brasil, tendo como um dos últimos recursos tecnológicos agregados, o software registrado sobre licença GPL, Cytoscape. Desenvolvido como software livre, inicialmente desenvolvido e mantido pelo U.S. National Institute of General Medical Sciences (NIGMS) sendo o suporte para usuários, educação e iniciativas suportadas pelo National Resource for Network Biology (NRNB), mas de direitos da Cytoscape Consortium, sendo apoiado também pela comunidade. Feito sobre a linguagem Java, assim sendo multiplataforma, com API livre e a oferta e uma App Store, apoiada pela Cytoscape Consortium. O Software até pesquisas atuais, é explorado mais acadêmicamente apenas, com o uso principal aplicado a oriundos da genética. Genética é o estudo da natureza do material hereditário, como ele é acondicionado no genoma e como é transmitido de uma célula para a outra durante a divisão celular e de geração para geração durante a reprodução, popularmente dita como genética sendo a ciência dos genes.
A palestra será uma contextualização destas áreas, abordando mais o software, a potencialidade acadêmica e profissional, de como explorar à contribuir.
O LibreOffice é uma das principais suites de escritório no mundo, utilizado desde a leigos à grande programadores que trabalham no seu desenvolvimento, mas e como explorar ainda mais, na escola e na universidade, e não sendo ao uso da suite? É inegável e de conhecimento de muitos o potencial e uso do LibreOffice como suite para escritório, onde pessoas leigas e sem interesse em aprender a fundo algo sobre tecnologia o usam muito bem, como exemplo editando textos e afins e muitas vezes sem nem notar que estão a usar algo construído colaborativamente, como um software livre. Os softwares que compõem o pacote melhoraram e melhoram muito a cada dia graças ao trabalho de muitos que entendem a fundo tecnologia, como os programadores, muitos que aprenderam de forma autodidata ou formados em instituições de ensino técnicas ou superiores. Dentro do potencial do LibreOffice, em um bate-papo no último fisl (Fórum Internacional de Software Livre) com o intuito para fossem revistas e voltasse com palestras antigas sobre a suite de escritório, sendo eu (Luiz Rauber) um usuário e entusiasta antigo, do tempo do Open/BrOffice, surgiu a ideia, potencialmente inédita, que apresento nesta palestra, sobre a resposta a pergunta “como explorar ainda mais, na escola e na universidade, e não sendo ao uso da suite?”. Como docente tenho dificuldade à estimular os alunos no aprendizado de algoritmos, linguagens de programação, práticas e processos de desenvolvimento, e neste papo surgiu um “eureka” de criar um time de bugfix para o LibreOffice na instituição de ensino superior onde leciono, alinhando à projetos que estão sendo planejados de incentivo a programação à escolares. Sendo hoje o desenvolvimento do LibreOffice centrado principalmente na linguagem C e Python, se reutilizará conhecimetos já adquiridos (aqui os alunos já vêem C) e poderei inserir uma nova linguagem (Python), mas o potencial maior não é o aprendizado delas, mas sim os alunos se sentirem e fazerem parte de algo maior, mundial, que é um grande projeto de software livre chamado LibreOffice.org. Nesta palestra demostrarei o planejamento e resultados até o momento colhidos, textualmente liberados em Creative Commons.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Plataforma e Lingaguem Java + Swing
1. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 1/90
Plataforma e Linguagem Java +Swing
16 horas de explanação, diálogo e prática
Julho 2016
por Luiz Henrique Rauber Rodrigues
luizrauber@gmail.com - fb.com/luizrauber
Exceto onde tiver outra referência, este é material é Creative Commons com Atribuição-CompartilhaIgual (CC
BY-SA). Pode copiar, alterar e redistribuir à vontade, mesmo para fins comerciais, mas desde que me cite e
licenciem as novas criações sob termos idênticos. Like Free Software :)
2. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 2/90
.NET e C#
16 horas de explanação, diálogo e prática
Junho 2016
por Luiz Henrique Rauber Rodrigues
luizrauber@gmail.com - fb.com/luizrauber
3. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 3/90
Mas primeiro….
Conselhos Richard Feynman (1918-1988), Nobel de Física em 1965
2 tipos de sabedoria: “Saber o nome de algo” e o “Saber algo”
1) Escolha um conceito; tema ou objetivo do que quer saber
2) Escreva-o como se estivesse ensinando uma criança; nada subentendido
3) Volte no tema e pesquise sobre ele; especifique o 1-2 da forma 2)
4) Revise e simplifique ainda mais; sem jargões e sabendo usar analogias
http://www.bbc.com/portuguese/geral-36750825
4. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 4/90
Manifesto para o desenvolvimento ágil de software
Estamos descobrindo maneiras melhores de desenvolver software fazendo-o
nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a
valorizar:
Indivíduos e interação entre eles mais que processos e ferramentas
Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à
esquerda.
http://www.manifestoagil.com.br/
6. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 6/90
Java é framework (ou plataform) que tem
outros frameworks, e também é linguagem!
7. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 7/90
Patrick Naughton, Mike Sheridan, e James
Gosling trabalhavam no The Green Project,
da Sun Microsystems, um projeto em 1991
pensando num pré-futuro de interligação de
coisas, algo que em 2016 chamamos de IoT
– Internet of Things.
8. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 8/90
Entre as criações, que era objetivo do
projeto, saiu o *7 (StarSeven), um controle
remoto touchscreem, e para tal funcionar a
equipe criou uma linguagem de
programação batizada de oak. (nome em
inglês para o que chamamos de carvalho (que alias, é
nativo de lá) só não se sabe de qual das mais de 600
espécies desta Quercus da Fagaceae.
11. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 11/90
*7 falhou, mas tinham os pequenos
aplicativos, que migraram pra web, e os
applets falharam, mas ficou o Java!
Sun Microsystems – James Gosling – 1995
12. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 12/90
Linguagem Java foi feita para a plataforma
Java “Write Once, Run Anywhere – WORA”
13. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 13/90
“Since 1995, Java has changed our
world . . . and our expectations..”
http://www.oracle.com/technetwork/java/jav
ase/overview/javahistory-index-
198355.html
14. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 14/90
Linguagem Java sobre GPL – 13/11/2006
JDK sobre GPL – 08/05/2007
15. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 15/90
OO – altamente tipada, tudo é baseado em
objetos (Object Model)
16. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 16/90
Interpretado – Fonte pra bytecode por
compilação e bytecode pra SO Just-In-Time
17. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 17/90
Multi-plataforma e Multi-arquitetura e
Portável – Bytecode compilado pra JVM ou
web
18. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 18/90
Segurança – encriptação por chave
pública (assimétrica), dificulta virus,
falsificação.
19. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 19/90
Robustez – verificação de erro e tempo de
execução em “tempo de compilação”
20. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 20/90
Multi-thread – feature para desenvolvedor
poder programar com recurso multi task
21. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 21/90
Local/ distribuído, dinâmico – roda aplicação
isolada ou na internet, ou sobre ela, run-
time
31. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 31/90
Java + Alice: Turning abstraction into
animation.
http://java.com/en/java_in_action/alice.jsp
32. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 32/90
Java Magazine
Java Community News and Events/ 'Java
in Action' (Java application stories)/ Java
Architecture/ New to Java/ Enterprise Java
Programming/ Polyglot Programming/ Rich
Client/Web Development/ Mobile and
Embedded Development
http://java.com/en/about/javamagazine.jsp
33. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 33/90
Oracle Java
http://www.oracle.com/technetwork/java/index.htm
l
36. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 36/90
Java 8 (1.8)
http://docs.oracle.com/javase/8/
Diagrama Interativo
http://docs.oracle.com/javase/8/docs/index.html
37. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 37/90
http://www.oracle.com/technetwork/java/javaee/documentation
/index.html
JSR 366 - Java EE 8
JSR 367 - The Java API for JSON Binding
JSR 368 - Java Message Service 2.1
JSR 369 - Java Servlet 4.0
JSR 370 - Java API for RESTful Web Services 2.1
JSR 371 - Model-View-Controller 1.0
JSR 372 - Java Server Faces 2.3
JSR 373 - Java EE Management API 1.0
JSR 374 - Java API for JSON Processing 1.1
JSR 375 - Java EE Security API 1.0
38. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 38/90
http://www.oracle.com/technetwork/java/embedded/javame/in
dex.html
Java ME Embedded
Java for Mobile
Java TV
http://www.oracle.com/technetwork/java/embedded/javacard/o
verview/index.html
39. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 39/90
Para programar
Lógica + OO (Objetos/
Atributos(Instâncias)/ Classes/ Métodos) +
JDK + IDE
40. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 40/90
Para programar
Linguagem Java é Case Sensitive
Nome da classe main será o nome do
programa
41. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 41/90
Para programar
Umas boas práticas
NomeDaClasse
nomeDoMetodo
Variavel, variavel, $variavel, _variavel
podem ser locais ou globais
/* comentários também assim // */
42. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 42/90
Para programar
.java → javac → .class → javap → .java
java nomedoprograma executa,
javap mostra detalhes do fonte
43. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 43/90
public class MyFirstJavaProgram{
/* This is my first java program.
* This will print 'Hello World' as the output
*/
public static void main(String[]args){
System.out.println("Hello World");// prints Hello World
}
}
Hello World!
C :> javac MyFirstJavaProgram.java
C :> java MyFirstJavaProgram
HelloWorld
Tutorialspoint, 2015
45. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 45/90
public class Dog{
String breed;
int age;
String color;
void barking(){
}
void hungry(){
}
void sleeping(){
}
}
Tutorialspoint, 2015
46. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 46/90
public class Puppy{
public Puppy(){
}
public Puppy(String name){
// This constructor has one parameter, name.
}
}
Tutorialspoint, 2015
47. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 47/90
public class Puppy{
public Puppy(String name){
System.out.println("Passed Name is :"+ name );
}
public static void main(String[] args){
Puppy myPuppy =new Puppy("tommy");
}
}
PassedNameis:tommy
48. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 48/90
public class Puppy{
int puppyAge;
public Puppy(String name){
System.out.println("Passed Name is
:"+ name );
}
public void setAge(int age ){
puppyAge = age;
}
public int getAge(){
System.out.println("Puppy's age
is :"+ puppyAge );
return puppyAge;
PassedName is:tommy
Puppy's age is :2
Variable Value :2
public static void main(String[]args){
Puppy myPuppy =new
Puppy("tommy");
myPuppy.setAge(2);
myPuppy.getAge();
System.out.println("Variable
Value :"+ myPuppy.puppyAge );
}
}
49. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 49/90
import java.util.Scanner;
public class Entrada {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
String printar;
System.out.print("Printa o escrito pelo usuario ");
printar = entrada.nextLine(); //nextFloat, nextInt
System.out.println("Digitado: " +printar+ " !");
}
}
50. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 50/90public class Employee{
String name;
int age;
String designation;
double salary;
public Employee(String name){
this.name = name;
}
public void empAge(int empAge){
age = empAge;
}
public void empDesignation(String empDesig){
designation = empDesig;
}
public void empSalary(double empSalary){
salary = empSalary;
}
public void printEmployee(){
System.out.println("Name:"+ name );
System.out.println("Age:"+ age );
System.out.println("Designation:"+ designation );
System.out.println("Salary:"+ salary);
}
}
Age: 26
Designation:SeniorSoftwareEngineer
Salary: 1000.0
Name:MaryAnne
Age: 21
Designation:SoftwareEngineer
Salary: 500.0
public static void main(String args[]){
Employee empOne =new Employee("James Smith");
Employee empTwo =new Employee("Mary Anne");
empOne.empAge( 26 );
empOne.empDesignation("Senior Software
Engineer");
empOne.empSalary( 1000 );
empOne.printEmployee();
empTwo.empAge( 21 );
empTwo.empDesignation("Software Engineer");
empTwo.empSalary( 500 );
empTwo.printEmployee();
}
}
51. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 51/90public class Employee{
String name;
int age;
String designation;
double salary;
public Employee(String name){
this.name = name;
}
public void empAge(int empAge){
age = empAge;
}
public void empDesignation(String empDesig){
designation = empDesig;
}
public void empSalary(double empSalary){
salary = empSalary;
}
public void printEmployee(){
System.out.println("Name:"+ name );
System.out.println("Age:"+ age );
System.out.println("Designation:"+ designation );
System.out.println("Salary:"+ salary);
}
}
Age: 26
Designation:SeniorSoftwareEngineer
Salary: 1000.0
Name:MaryAnne
Age: 21
Designation:SoftwareEngineer
Salary: 500.0
public class EmployeeTest{
}
public staticvoid main(String args[]){
Employee empOne =new Employee("James Smith");
Employee empTwo =new Employee("Mary Anne");
empOne.empAge( 26 );
empOne.empDesignation("Senior Software
Engineer");
empOne.empSalary( 1000 );
empOne.printEmployee();
empTwo.empAge( 21 );
empTwo.empDesignation("Software Engineer");
empTwo.empSalary( 500 );
empTwo.printEmployee();
}
}
52. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 52/90public class Employee{
String name;
int age;
String designation;
double salary;
public Employee(String name){
this.name = name;
}
public void empAge(int empAge){
age = empAge;
}
public void empDesignation(String empDesig){
designation = empDesig;
}
public void empSalary(double empSalary){
salary = empSalary;
}
public void printEmployee(){
System.out.println("Name:"+ name );
System.out.println("Age:"+ age );
System.out.println("Designation:"+ designation );
System.out.println("Salary:"+ salary);
}
}
Age: 26
Designation:SeniorSoftwareEngineer
Salary: 1000.0
Name:MaryAnne
Age: 21
Designation:SoftwareEngineer
Salary: 500.0
public class EmployeeTest{
public staticvoid main(String args[]){
Employee empOne =new Employee("James Smith");
Employee empTwo =new Employee("Mary Anne");
empOne.empAge( 26 );
empOne.empDesignation("Senior Software
Engineer");
empOne.empSalary( 1000 );
empOne.printEmployee();
empTwo.empAge( 21 );
empTwo.empDesignation("Software Engineer");
empTwo.empSalary( 500 );
empTwo.printEmployee();
}
}
53. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 53/90
Employee.java contendo main na mesma classe
Employee.java contendo uma classe EmployeeTest
Employee.java sem main então a EmployeeTest.java é principal
Atenção ao encapsulamento e aos modificadores :)
default, public, protected, private
Tutorialspoint, 2015
54. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 54/90
• Métodos declarados público em uma superclasse também devem
ser públicos em todas as subclasses.
• Métodos declarada protegida em uma superclasse ou deve ser
protegido ou público em subclasses; eles não podem ser
Privado.
• Métodos declarados, sem controlo de acesso (nenhum
modificador foi usado) pode ser declarado mais privado em
subclasses.
• Métodos declarados privado não são herdadas em tudo, então
não há nenhuma regra para eles.
Tutorialspoint, 2015
55. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 55/90
Resumo modificadores de acesso
• default - Visível para o pacote. Sem modificadores necessários.
• private - Visível só para a classe.
• public - Visível para o mundo.
• protected - Visível para o pacote e todas as subclasses.
Tutorialspoint, 2015
56. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 56/90
Resumo não modificadores de acesso
• O modificador static é para a criação de métodos e variáveis de
classe
● O modificador final é para finalizar as implementações de
classes, métodos e variáveis.
● O modificador abstract é para criar classes e métodos abstratos.
● Os synchronized e volatile são usados para threads.
Tutorialspoint Java, 2015
59. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 59/90
public class Test{
public static void main(String args[]){
int x =10;
if( x <20){
System.out.print("This is if statement");
}
}
}
This is if statement
Tutorialspoint Java, 2015
60. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 60/90
public class Test{
public static void main(String args[]){
int x =30;
int y =10;
if( x ==30){
if( y ==10){
System.out.print("X = 30 and Y = 10");
}
}
}
}
X = 30 and Y = 10
Tutorialspoint Java, 2015
61. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 61/90
public class Test{
public static void main(String args[]){
int x =30;
if(x <20){
System.out.print("This is if statement");
}else{
System.out.print("This is else statement");
}
}
}
Thisiselse statement
Tutorialspoint Java, 2015
62. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 62/90
public class Test{
public static void main(String args[]){
int x =30;
if( x ==10){
System.out.print("Value of X is 10");
}elseif( x ==20){
System.out.print("Value of X is 20");
}elseif( x ==30){
System.out.print("Value of X is 30");
}else{
System.out.print("This is else statement");
}
}
} Value of X is30
Tutorialspoint Java, 2015
63. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 63/90
public class Test{
public static void main(String args[]){
char grade = args[0].charAt(0);
switch(grade) {
case'A': System.out.println("Excellent!"); break;
case'B':
case'C': System.out.println("Well done"); break;
case'D': System.out.println("You passed"); break;
Case'F': System.out.println("Better try again"); break;
default: System.out.println("Invalid grade"); break
}
System.out.println("Your grade is "+ grade);
}
}
Your grade is A
Excellent!
Tutorialspoint Java, 2015
64. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 64/90
public class Test{
public static void main(String args[]){
int x =10;
while( x <20){
System.out.print("value of x : "+ x );
x++;
System.out.print("n");
}
}
}
value of x :10
…
value of x :19
Tutorialspoint Java, 2015
65. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 65/90
public class Test{
public static void main(String args[]){
int x =10;
do{
System.out.print("value of x : "+ x );
x++;
System.out.print("n");
}while( x <20);
}
} value of x :10
…
value of x :19
Tutorialspoint Java, 2015
66. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 66/90
public class Test{
public static void main(String args[]){
for(int x =10; x <20; x = x+1){
System.out.print("value of x : "+ x );
System.out.print("n");
}
}
}
value of x :10
…
value of x :19
Tutorialspoint Java, 2015
67. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 67/90
public class Test{
public static void main(String args[]){
int[] numbers ={10,20,30,40,50};
for(int x : numbers){
System.out.print( x );
}
}
}
1020304050
Tutorialspoint Java, 2015
70. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 70/90
public class Test{
public static void main(String args[]){
int[] numbers ={10,20,30,40,50};
for(int x : numbers){
if(x ==30){
break;
}
System.out.print( x );
System.out.print("n");
}
}
}
10
20
Tutorialspoint Java, 2015
71. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 71/90
public class Test{
public static void main(String args[]){
int[] numbers ={10,20,30,40,50};
for(int x : numbers){
if( x ==30){
continue;
}
System.out.print( x );
System.out.print("n");
}
}
}
10
20
40
50Tutorialspoint Java, 2015
72. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 72/90
public class TestArray{
public static void main(String[] args){
double[] myList ={1.9,2.9,3.4,3.5};
for(double element: myList){
System.out.println(element);
}
}
}
1.9
2.9
3.4
3.5Tutorialspoint Java, 2015
73. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 73/90
public class Test{
public static void main(String args[]){
int[] numbers ={10,20,30,40,50};
for(int x : numbers ){
System.out.print(x);
System.out.print(",");
}
System.out.print("n");
String[] names ={"James","Larry","Tom","Lacy"};
for(String name : names ){
System.out.print( name );
System.out.print(",");
}
}
}
10,20,30,40,50,
James,Larry,Tom,Lacy,
Tutorialspoint Java, 2015
74. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 74/90
public class TestArray{
public static void main(String[] args){
double[] myList ={1.9,2.9,3.4,3.5};
for(int i =0; i < myList.length; i++){
System.out.println(myList[i]+" ");
}
double total =0;
for(int i =0; i < myList.length; i++){
total += myList[i];
}
System.out.println("Total is "+ total);
double max = myList[0];
for(int i =1; i < myList.length; i++){
if(myList[i]> max) max = myList[i];
}
System.out.println("Max is "+ max);
}
}
1.9
2.9
3.4
3.5
Totalis11.7
Maxis3.5
Tutorialspoint Java, 2015
75. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 75/90
public static void printArray(int[] array){
for(int i =0; i < array.length; i++){
System.out.print(array[i]+" ");
}
}
objeto.printArray(newint[]{3,1,2,6,4,2});
public static int[] reverse(int[] list){
int[] result =new int[list.length];
for(int i =0, j = result.length -1; i < list.length; i++, j--){
result[j]= list[i];
}
return result;
}
Tutorialspoint Java, 2015
76. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 76/90
public class Test{
public static void main(String args[]){
Integer x =5;
System.out.println( x.byteValue());
System.out.println(x.doubleValue());
System.out.println( x.longValue());
}
}
5
5.0
5Tutorialspoint Java, 2015
78. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 78/90
public class StringDemo{
public static void main(String args[]){
String string1 ="saw I was ";
System.out.println("Dot "+ string1 +"Tod");
}
}
Dot saw I was Tod
Tutorialspoint Java, 2015
79. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 79/90
public class StringDemo{
public static void main(String args[]){
char[] helloArray ={'h','e','l','l','o','.'};
String helloString =new String(helloArray);
System.out.println(helloString);
}
}
hello.
Tutorialspoint Java, 2015
80. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 80/90
int compareTo(Object o)
int compareTo(String anotherString)
String concat(String str)
static String copyValueOf(char[] data)
int length()
String toUpperCase()
…
Pag 105-156
.
Tutorialspoint Java, 2015
81. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 81/90
Class FreshJuice{
enum FreshJuiceSize{ SMALL, MEDUIM, LARGE }
FreshJuiceSize size;
public static void main(String args[]){
FreshJuice juice =new FreshJuice();
juice.size =FreshJuice.FreshJuiceSize.MEDUIM;
System.out.println("Tamanho do Suco:" +juice.size);
}
}
Tamanho do Suco: MEDIUM
Tutorialspoint Java, 2015
82. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 82/90
public class Employee{
private static double salary;
public static final String DEPARTMENT = "Development ";
public static void main(String args[]){
salary = 1000;
System.out.println(DEPARTMENT+"average salary:"+salary);
}
}
Development average salary:1000
Tutorialspoint Java, 2015
83. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 83/90
public class Animal{
}
public class Mammal extends Animal{
}
public class Reptile extends Animal{
}
public class Dog extends Mammal{
}
Tutorialspoint Java, 2015
84. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 84/90
public class Dog extends Mammal{
public static void main(String args[]){
Animal a =new Animal();
Mammal m =new Mammal();
Dog d =new Dog();
System.out.println(m instanceof Animal);
System.out.println(d instanceof Mammal);
System.out.println(d instanceof Animal);
}
} true
true
trueTutorialspoint Java, 2015
85. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 85/90
public interface Animal{}
public class Mammal implements Animal{
}
public class Dog extends Mammal{
}
Tutorialspoint Java, 2015
86. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 86/90
Interface Animal{}
class Mammal implements Animal{}
public class Dog extends Mammal{
public static void main(String args[]){
Mammal m =new Mammal();
Dog d =new Dog();
System.out.println(m instanceof Animal);
System.out.println(d instanceof Mammal);
System.out.println(d instanceof Animal);
}
}
true
true
trueTutorialspoint Java, 2015
87. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 87/90
Abrir o Netbeans
Olhar pra ele, ignorar e abrir um “Word”
e criar um projeto pra premissas de
Gerenciamento de Projeto
(recomendo Plan. GP com TA e Riscos)
:)
88. CC BY-SA luizrauber@gmail.com || fb.com/luizrauber 88/90
Agora sim
Criar o Projeto
Desenvolver a aplicação
Discutirmos os resultados