Presentation showing these elements of plugin framework added in 2009 - 2011 which help us write easier much more sexier web 2.0 plugins. The talk then concentrates on Soy as the new templating mechanism which is getting very popular at Atlassian.
Better front-end development in Atlassian pluginsAtlassian
Traditionally the UI of Atlassian plugins have been based on a typical old-school MVC frameworks (webwork, Struts) with little dynamic behaviour. But no more! JIRA Team Lead Wociech Seliga will show you have to develop sexier and more user-friendly plugins based on a modern stack using AUI, Soy templates, Backbone.js and friends.
This presentation takes a pragmatic approach to comparing JavaFX and HTML5, using an application written in JavaFX versus the same functionality written in HTML5 to illustrate the pros and cons of each.
The current state of the Apache Wicket framework in 2014 as presented at the DEVdev meetup held in Deventer, the Netherlands.
- A critique of ThoughtWorks' Technology Review 2014 where they slam JSF (jay) as a concept (nay)
- A look back at 10 years of Wicket
- A review of the current Wicket versions
- An outlook and roadmap for Wicket 7 and Wicket 8
The DEVdev (Deventer Developers) is a new meetup for any developer in the eastern part of the Netherlands (the right side of the IJssel river). This presentation was delivered at the first meetup, and was kindly sponsored by Topicus B.V.
With the Tenth Anniversary of Wicket behind us, Wicket is still one of the thriving survivors of the Great Web Framework Wars of the mid 00's. Is there a future for server-side frameworks? In this presentation Martijn Dashorst provides a brief history of Wicket.
With a State of the Wicket, Martijn will look at who is currently using Wicket, the community and current release plans.
The majority of this session will be dedicated to the future of Wicket: does a component oriented, Java web framework have a future in the era of native clients and client side JavaScript frameworks? Martijn will layout the plans of making Wicket more productive for current users, on integrating better with JavaEE technologies and much more.
The Apache Wicket community is working hard to build the new major release of Wicket. One of the tentpole features is the move to Java 8 as a minimum requirement. Why did we do that, and how does this improve my Wicket code? Learn how to apply Java 8 features such as lambdas and the new DateTime API in your Wicket applications, and learn what else the community is creating for your benefit.
Better front-end development in Atlassian pluginsAtlassian
Traditionally the UI of Atlassian plugins have been based on a typical old-school MVC frameworks (webwork, Struts) with little dynamic behaviour. But no more! JIRA Team Lead Wociech Seliga will show you have to develop sexier and more user-friendly plugins based on a modern stack using AUI, Soy templates, Backbone.js and friends.
This presentation takes a pragmatic approach to comparing JavaFX and HTML5, using an application written in JavaFX versus the same functionality written in HTML5 to illustrate the pros and cons of each.
The current state of the Apache Wicket framework in 2014 as presented at the DEVdev meetup held in Deventer, the Netherlands.
- A critique of ThoughtWorks' Technology Review 2014 where they slam JSF (jay) as a concept (nay)
- A look back at 10 years of Wicket
- A review of the current Wicket versions
- An outlook and roadmap for Wicket 7 and Wicket 8
The DEVdev (Deventer Developers) is a new meetup for any developer in the eastern part of the Netherlands (the right side of the IJssel river). This presentation was delivered at the first meetup, and was kindly sponsored by Topicus B.V.
With the Tenth Anniversary of Wicket behind us, Wicket is still one of the thriving survivors of the Great Web Framework Wars of the mid 00's. Is there a future for server-side frameworks? In this presentation Martijn Dashorst provides a brief history of Wicket.
With a State of the Wicket, Martijn will look at who is currently using Wicket, the community and current release plans.
The majority of this session will be dedicated to the future of Wicket: does a component oriented, Java web framework have a future in the era of native clients and client side JavaScript frameworks? Martijn will layout the plans of making Wicket more productive for current users, on integrating better with JavaEE technologies and much more.
The Apache Wicket community is working hard to build the new major release of Wicket. One of the tentpole features is the move to Java 8 as a minimum requirement. Why did we do that, and how does this improve my Wicket code? Learn how to apply Java 8 features such as lambdas and the new DateTime API in your Wicket applications, and learn what else the community is creating for your benefit.
Learn about the breaking changes that went into Java since Java 8 and tools to help you find migration issues when migrating from Java 8 to Java 11/13.
Node.js Development with Apache NetBeansRyan Cuprak
This session covers the basics of developing Node.js applications with NetBeans. NetBeans includes fully integrated support for both JavaScript and Node.js. You’ll get a tour of the features and learn how NetBeans can accelerate your projects. The presentation looks at basic code editing capabilities provided by the IDE, tool integration (npm/Grunt/Bower/Webpack), frameworks such as Express, and debugging capabilities. You’ll see why NetBeans is the best free JavaScript/Node.js IDE.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
Game On! (@gameontext – http://game-on.org) is an awesome throwback text-based adventure built with microservices. Completely open source, it enables everyone to choose their own adventure to learn about microservices concepts while extending the game. One of the core services is the Map, which maintains a two-dimensional map containing all the registered rooms. The Map started with a document store as a back end, but as the Map changed over time, tombstones started to accrue. And then people started to ask how to manage three dimensions, and dragons appeared. Come to this session to find out why the decision was made to change the NoSQL back end, how it was done, and the result of the change with a new NoSQL API (http://jnosql.org/).
Top 50 java ee 7 best practices [con5669]Ryan Cuprak
JavaOne 2016
This session provides 50 best practices for Java EE 7, with examples. The best practices covered focus primarily on JPA, CDI, JAX-WS, and JAX-RS. In addition, topics involving testing and deployment are covered. This presentation points out where best practices have changed, common misconceptions, and antipatterns that should be avoided. This is a fast-paced presentation with many code samples.
JNoSQL is a framework and collection of tools that make integration between Java applications and NoSQL quick and easy—for developers as well as vendors. The API is easy to implement, so NoSQL vendors can quickly implement, test, and become compliant by themselves. And with its low learning curve and just a minimal set of artifacts, Java developers can start coding by worrying not about the complexity of specific NoSQL databases but only their core aspects (such as graph or document properties). Built with functional programming in mind, it leverages all the features of Java 8. This session covers how the API is structured, how it relates to the multiple NoSQL database types, and how you can get started and involved in this open source technology.
One of the key features of JavaFX 2.0 is having full-fledged embedded browser. This enables JavaFX apps to embed web contents, and also to work together with HTML5 apps.
This session focuses on JavaFX's web component, WebEngine, and show how JavaFX can work together with web technologies (HTML/CSS/JavaScript) by using demos and sample codes.
(Session JS1-13 / Apr 4th, JavaOne Tokyo 2012)
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.WO Community
This session will go over why I chose WO and WOnder as my application foundation, and how I applied the best practices from some of the best in our business to build my product. How I setup my applications and frameworks to maximize reuse and flexibility. And I will review other processes that allows me to run my business as a one plus (?) person shop.
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Matt Raible
This presentation shows you how to implement authentication in your Java web applications using Java EE 7 Security, Spring Security and Apache Shiro. It also touches on best practices for securing a REST API and using SSL.
Apache Wicket: 10 jaar en verder - Martijn DashorstNLJUG
Wicket is een van de levendigste overlevers van de Grote Web Framework Oorlogen uit het midden van de jaren 2000: dit jaar vieren we het 10 jarige jubileum. Toch komt de vraag "Is er een toekomst voor serverside web frameworks" naar boven. In deze presentatie geeft Martijn Dashorst een kort overzicht van de geschiedenis van Wicket. Met een blik op de huidige stand van zaken, geeft hij een overzicht van de huidige gebruikers van Wicket, de toestand van de community en toekomstige release plannen. Het grootste deel van deze sessie zal worden besteed aan de toekomst van Wicket: heeft een component georienteerd Java web framework een toekomst in het tijdperk van native clients en client side JavaScript frameworks? Martijn zal de plannen presenteren om Wicket productiever te maken voor huidige gebruikers, beter te integreren met JavaEE technologieën en veel meer.
Welcome to presentation on Spring boot which is really great and relatively a new project from Spring.io. Its aim is to simplify creating new spring framework based projects and unify their configurations by applying some conventions. This convention over configuration is already successfully applied in so called modern web based frameworks like Grails, Django, Play framework, Rails etc.
This talk covers the history of Spring, as well as what's new in Spring 3.1.
Specific areas discussed:
- Environments and Profiles
- Servlet 3.0 Support
- Hibernate 4 Support
- Cache Abstraction
- Java Configuration
- Test Context Support for Configuration Classes and Profiles
Read more about this presentation at:
http://raibledesigns.com/rd/entry/my_what_s_new_in
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard.
Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
Learn about the breaking changes that went into Java since Java 8 and tools to help you find migration issues when migrating from Java 8 to Java 11/13.
Node.js Development with Apache NetBeansRyan Cuprak
This session covers the basics of developing Node.js applications with NetBeans. NetBeans includes fully integrated support for both JavaScript and Node.js. You’ll get a tour of the features and learn how NetBeans can accelerate your projects. The presentation looks at basic code editing capabilities provided by the IDE, tool integration (npm/Grunt/Bower/Webpack), frameworks such as Express, and debugging capabilities. You’ll see why NetBeans is the best free JavaScript/Node.js IDE.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
Game On! (@gameontext – http://game-on.org) is an awesome throwback text-based adventure built with microservices. Completely open source, it enables everyone to choose their own adventure to learn about microservices concepts while extending the game. One of the core services is the Map, which maintains a two-dimensional map containing all the registered rooms. The Map started with a document store as a back end, but as the Map changed over time, tombstones started to accrue. And then people started to ask how to manage three dimensions, and dragons appeared. Come to this session to find out why the decision was made to change the NoSQL back end, how it was done, and the result of the change with a new NoSQL API (http://jnosql.org/).
Top 50 java ee 7 best practices [con5669]Ryan Cuprak
JavaOne 2016
This session provides 50 best practices for Java EE 7, with examples. The best practices covered focus primarily on JPA, CDI, JAX-WS, and JAX-RS. In addition, topics involving testing and deployment are covered. This presentation points out where best practices have changed, common misconceptions, and antipatterns that should be avoided. This is a fast-paced presentation with many code samples.
JNoSQL is a framework and collection of tools that make integration between Java applications and NoSQL quick and easy—for developers as well as vendors. The API is easy to implement, so NoSQL vendors can quickly implement, test, and become compliant by themselves. And with its low learning curve and just a minimal set of artifacts, Java developers can start coding by worrying not about the complexity of specific NoSQL databases but only their core aspects (such as graph or document properties). Built with functional programming in mind, it leverages all the features of Java 8. This session covers how the API is structured, how it relates to the multiple NoSQL database types, and how you can get started and involved in this open source technology.
One of the key features of JavaFX 2.0 is having full-fledged embedded browser. This enables JavaFX apps to embed web contents, and also to work together with HTML5 apps.
This session focuses on JavaFX's web component, WebEngine, and show how JavaFX can work together with web technologies (HTML/CSS/JavaScript) by using demos and sample codes.
(Session JS1-13 / Apr 4th, JavaOne Tokyo 2012)
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.WO Community
This session will go over why I chose WO and WOnder as my application foundation, and how I applied the best practices from some of the best in our business to build my product. How I setup my applications and frameworks to maximize reuse and flexibility. And I will review other processes that allows me to run my business as a one plus (?) person shop.
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Matt Raible
This presentation shows you how to implement authentication in your Java web applications using Java EE 7 Security, Spring Security and Apache Shiro. It also touches on best practices for securing a REST API and using SSL.
Apache Wicket: 10 jaar en verder - Martijn DashorstNLJUG
Wicket is een van de levendigste overlevers van de Grote Web Framework Oorlogen uit het midden van de jaren 2000: dit jaar vieren we het 10 jarige jubileum. Toch komt de vraag "Is er een toekomst voor serverside web frameworks" naar boven. In deze presentatie geeft Martijn Dashorst een kort overzicht van de geschiedenis van Wicket. Met een blik op de huidige stand van zaken, geeft hij een overzicht van de huidige gebruikers van Wicket, de toestand van de community en toekomstige release plannen. Het grootste deel van deze sessie zal worden besteed aan de toekomst van Wicket: heeft een component georienteerd Java web framework een toekomst in het tijdperk van native clients en client side JavaScript frameworks? Martijn zal de plannen presenteren om Wicket productiever te maken voor huidige gebruikers, beter te integreren met JavaEE technologieën en veel meer.
Welcome to presentation on Spring boot which is really great and relatively a new project from Spring.io. Its aim is to simplify creating new spring framework based projects and unify their configurations by applying some conventions. This convention over configuration is already successfully applied in so called modern web based frameworks like Grails, Django, Play framework, Rails etc.
This talk covers the history of Spring, as well as what's new in Spring 3.1.
Specific areas discussed:
- Environments and Profiles
- Servlet 3.0 Support
- Hibernate 4 Support
- Cache Abstraction
- Java Configuration
- Test Context Support for Configuration Classes and Profiles
Read more about this presentation at:
http://raibledesigns.com/rd/entry/my_what_s_new_in
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard.
Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
Making The Move To Java 17 (JConf 2022)Alex Motley
Are your applications still running on Java 8 or even older, unsupported versions? Or maybe you've already made the move to Java 11? Thinking about switching your application to run on Java 17 and not sure where to start? There is a lot to think about when it comes to planning a Java migration, but there are tools and strategies that can help! Come to this session to learn about the significant changes in Java that might impact your application. Topics include the removal of APIs (such as Java EE packages) and behavior changes resulting from moving an application running previous Java versions to Java 17. Learn about tools to use that help you identify potential issues within your application and how to resolve them! The discussion is informative to developers and system administrations who are interested in evaluating applications before they are migrated and while making the code changes.
What’s new in Java SE, EE, ME, Embedded world & new StrategyMohamed Taman
In this presentation, I have presented the history of Java EE from v1.0 to our latest Java EE 7.0, what is new and a brief introduction to each minor and major change to existing JSRs, and new JSRs with code to show simplifications and enhancements.
Also talked about our future Java EE 8 components alongside JDK 8 with major updates and JSRs, profiling concepts and more.
In addition, I have explained the IoT concepts with demo. Intro to the importance of Java Embedded systems world. With intro to Raspberry Pi and dukePad.
Agenda:
http://egjug.org/page/java_ee_7_8_and_beyond
The latest version of the Java EE plataform had three major goals. First, improve developer productivity by introducing more annotations and removing boilerplate code to simplify integration with the plataform. JMS 2 is the perfect example; Second, add first-class support for web standards, including a new API to build WebSockets, a new API to parse, process and generate JSON and a new Client API in JAX-RS 2 to invoke RESTful services; Third, meet the enterprise demands. The long awaited Batch Processing API is now available to build batch processing applications using all the capabilities of the platform itself. The Concurrency Utilities API provides you with asynchronous capabilities. This session will explore all the new features introduced in Java EE 7 and share information to learn, develop and contribute.
What's this jQuery? Where it came from, and how it will drive innovationMarakana Inc.
In this talk jQuery Project Team member, Johnathan Sharp, sets out to answer four main questions: Where'd jQuery Come from?, Why is it so popular? How has it changed development? How will it drive innovation?
**see the video at http://marakana.com/f/211 **
In the scope of his talk Johnathan also touches on:
- What jQuery is not
- Core concepts to understand before jumping into jQuery (CSS & Selectors, DOM, Events, JavaScript patterns, etc)
- jQuery core, and jQuery project plugins
- The larger jQuery Project including the jQuery core, jQuery UI, and jQuery mobile
- jQuery going forward (HTML5, mobile browser support, official Plugins, growing corporate support services)
Finally, Johnathan will dig deep into a few code demos to illustrate some of the core concepts of jQuery, like events, JavaScript patterns, and making Ajax requests.
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
Get frustrated by cross-browser incompatibility? Hate to develop application using JavaScript? jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. jQuery is fast, lean, simple and hugely expandable, enabling you to build compelling web applications quickly and easily. In this session, we will start with a quick introduction of jQuery, illustrate what’s so good about jQuery, and demonstrate step by step how to develop jQuery Ajax application efficiently with database, web services, OData, NetFlix and ASP.NET MVC. Microsoft is now shipping, supporting, and contributing to jQuery, with ASP.NET and Visual Studio. New features which will be available in the next release of jQuery such as globalization, templating and data-linking will be introduced in the session as well.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx France 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Jak być zarąbistym developerem w oczach szefa i ... klientaWojciech Seliga
(Polish language / język polski)
Slajdy z mojej prezentacji z konferencji Confitura 2018 w Warszawie.
Pamiętacie może wystąpenia z Confitury sprzed paru lat - "How to be awesome at a Java developer job interview" czy "Java Developer Career Unplugged", które budziły spore emocje i które po latach nadal są komentowane. Lata lecą nieubłaganie. Z developera stałem się w międzyczasie szefem 150-osobowej firmy. Nabrałem nowych doświadczeń, nowego spojrzenia, muszę polegać jeszcze bardziej na ludziach niż kiedyś. I coraz bardziej polegam nie tylko na ich umiejętnościach programistycznych, ale na czymś znacznie istotniejszym. Jeśli chcecie zmierzyć się ze szczerą opinią dotyczącą tego jakie cechy charakteru, umiejętności, zachowania software developerów pozwalają według osób zarządzających przetrwać i rozwijać się ich firmom na wyjątkowo konkurencyjnym rynku globalnym IT w XXI wieku, to jest to prezentacja dla Was. "People are our biggest assets". W praktyce różni ludzie przedstawiają różną wartość dla firm. Pewnie zależy Wam na jej maksymalizacji. Nam - też :)
How to impress your boss and your customer in a modern software development c...Wojciech Seliga
Slides from the talk I delivered at Devoxx Poland 2018.
Software is eating the world. Software is eating software developers’ world. Agile everywhere, constantly changing requirements, technologies, market demands, jobs, positions, structures, managers. The flood of data. Big data. It’s easy to sink. The word is shattering us. I confess: I used to be a software developer who often totally misunderstood the management, the business or the customers. For last several years, I’ve been on the other side - I represent the management, the business, and the customer. And I've started seeing and understanding what skills, behaviours and what mindset is the most valuable in a software developer from the perspective of the other side. And what drives them nuts. The thing is that this “other side” assesses your value and decides on your salary. I reckon you would like to maximise them. Here is how. Before I forget how to talk to developers (as one of them).
Developer plantations - colonialism of XXI century (GeeCON 2017)Wojciech Seliga
Slides from my presentation delivered at GeeCON 2017.
Have you ever wondered why great multi-billion dollar software products changing our lives are built in the US, Western Europe or Australia and not in Poland, Ukraine or Bulgaria? Uber, Facebook, Spotify, Tesla (sic!), JIRA - all of them built by software geeks. Are Polish (or other CEE) IT specialists less intelligent or worse than their colleagues from the West? Or maybe it’s about the huge capital those countries have and we don’t. Or maybe the problem is in our approach to IT and our mindset? Regardless of the true reasons, as the effect, tens and hundreds of thousands of relatively low-cost and controllable people in Poland and other CEE countries work on conserving and maintaining software systems envisioned and usually designed elsewhere. Together with other emerging countries, we have become a development plantation for the most modern countries. I’d like to analyse some reasons of this situation and present what mindset change must happen so that Poland and other CEE countries are not anymore colonies providing human resources, but instead have a creational impact on the advancement of the civilisation and modern economy.
(English slides - except for the title page)
Slides from my presentation delivered in Kraków at SFI 2017 conference.
My attempt to analyse why Software Development in Central Europe (including Poland) concentrates on outsourcing services, what it means in practice and what we can so as the profession of software engineers to become the partners for "the business" similarly to how IT industry evolves in the US or some other most advanced western economies.
Enter Product Engineering!
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
My presentation from Devoxx Poland 2016 conference - the newest, slightly revised version.
For many years I was a software developer. I would concentrate on the code, software projects and the interactions with my closes team and the users. I was sure that Agile solves all world’s problems. I would laugh over Scott Adam’s Dilbert comics with his Point Hair Boss. Life was simple, life was good. Now for 8+ years I have been running a software company, not a small one anymore. I became myself a full-time boss who only codes sometimes at home or during hackathons.
This session is about sharing with you those critical lessons which I painfully learnt when trying to grow into this new role - transitioning from being a software engineer into being an entrepreneur and top manager. Wheres not all of the lessons may or will (if you dream about your own startup) apply to your case, being aware of them may save you tons of time, energy, money or even help you to avoid the total disaster - burying your own company or dreams. And after all, sharing war stories from the past is fun … when these stories are the past.
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
My presentation from InfoShare 2016 conference.
For many years I was a software developer. I would concentrate on the code, software projects and the interactions with my closes team and the users. I was sure that Agile solves all world’s problems. I would laugh over Scott Adam’s Dilbert comics with his Point Hair Boss. Life was simple, life was good. Now for 8+ years I have been running a software company, not a small one anymore. I became myself a full-time boss who only codes sometimes at home or during hackathons.
This session is about sharing with you those critical lessons which I painfully learnt when trying to grow into this new role - transitioning from being a software engineer into being an entrepreneur and top manager. Wheres not all of the lessons may or will (if you dream about your own startup) apply to your case, being aware of them may save you tons of time, energy, money or even help you to avoid the total disaster - burying your own company or dreams. And after all, sharing war stories from the past is fun … when these stories are the past.
10 bezcennych lekcji dla software developera stającego się szefem firmyWojciech Seliga
[Originally Polish lecture with English slides - with a few exceptions]
Przez wiele lat byłem software developerem. Koncentrowałem się na kodzie, projektach software'owych oraz interakcjach w moim zespole i z klientami. Byłem pewny, że Agile rozwiązuje wszystkie problemy tego świata. Śmiałem się z komiksów Scotta Adamsa i stworzonej przez niego karykatury szefa (PHB). Życie było proste i piękne...
Teraz od ponad 8 lat prowadzę firmę software'ową, którą przy blisko 90 osobach trudno już nazwać maleństwem. Sam stałem się "szefem" na pełen etat.
Podczas prezentacji podzielę się z Wami różnymi doświadczeniami oraz naukami (nieraz bolesnymi) jakie wyniosłem w ostatnich latach podczas mojej stopniowej przemiany z developera/inżyniera w przedsiębiorcę i szefa firmy. O ile zapewne nie wszystkie sytuacje i wnioski mają lub mogą mieć (o ile marzysz o własnym startupie czy zespole) zastosowanie w Twoim życiu, same sobie ich uświadomienie może oszczędzić Ci w przyszłości straty mnóstwa czasu, energii i pieniędzy oraz uniknąć przykrych rozczarowań.
5-10-15 years of Java developer career - Warszawa JUG 2015Wojciech Seliga
English slides from my talk (delivered in Polish) on 1st of December 2015 at Warsaw Java User Group.
This is slightly changed and extended version of the talk I delivered at Devoxx Poland 2015
My presentation from Devoxx Poland 2015.
There is no doubt about it - we live in the times very comfortable for IT engineers. Most of all software developers. Especially Java developers. Job market is hot. Software developers have countless options - thousands of companies from Poland and abroad fight for employees in Poland. And they offer very reasonable money - especially when compared to other professions. It’s very natural and tempting to let employers adore yourself and rest on laurels. One can already see a lot o victims of this situation. Very friendly job market is de facto our biggest enemy. How do 5, 10 or 15 or more years of the experience in our industry change the perception of Java platform and most of all the perception of ourselves - our position and value as professional Java developers? What are the real caveats of our profession and our beloved platform? What is really important for us - devs? Does the knowledge of Java turns us into professional immortals? Wojtek tries to answer such questions or trigger the audience to rethink their approach to it. In a quite opinionated manner he will debunk some myths of Java developer ethos - basing on many observations and meetings with people from our industry.
Short history of Spartez and information whom we want to hire and why.
Extra bonus: my aspirational thinking about how juniors differ to senior and principal developers.
This slidedeck was presented by me during Spartez Open Day on March 13th 2015.
Software Development Innovation in Practice - 33rd Degree 2014Wojciech Seliga
Slides from my presentation at 33rd Degree conference.
Many companies from software industry deal with the problem of maintaining its innovative character over the course of time, especially after achieving bigger size and the maturity. Innovation is difficult (or impossible) to measure and calculate its ROI. However losing innovation means sooner or later the end of the business.
So some of the big bosses of big corporations even cry - “Innovation happens elsewhere” - or simply conclude that maintaining innovation is only possible via ongoing acquisitions of smaller, still innovative companies. We witness it very frequently.
Wojtek will share his insights about which values, rules and practices one can foster or apply in a software company (of any size) to let its employees implement their most ambitious and crazy dreams which is the key to the innovation.
Slajdy z mojej prezentacji z 22 maja 2014 na konferencji InfoSHARE w Gdańsku.
Liczę, że video z nagraniem mojej prezentacji będzie wkrótce dostępne - wtedy slajdy na pewno będą bardziej przydatne.
Uwaga: język polski.
My talk delivered on 10th of April 2014 in Bristol at ACCU Conference.
This is the combination of a few talks I delivered over 2012 and 2013 with some latest updates.
This is an experience report based on the work of many developers from Atlassian and Spartez working for years on Atlassian JIRA.
If you have (or going to have) thousands of automated tests and you are interested how it may impact you, this presentation is for you.
My updated slides about the journey to hell and back to normality wrt automated tests at scale. Based on real 10+ years experience of JIRA development teams.
I delivered this talk at XPDays in Kiev in October 2013.
Confitura 2013 Software Developer Career UnpluggedWojciech Seliga
My take of our challenging life of a software developer, typical misconceptions, myths and also great things, those which are important. I shared it (in Polish) in Warsaw at Confitura 2013.
Software Developer Career Unplugged - GeeCon 2013Wojciech Seliga
This is my quite subjective take on various less technical aspects of a software developer career. I delivered this presentation and GeeCon 2013 (video hopefully coming soon) and quite compressed/abridged version at InfoSHARE.
Escaping Automated Test Hell - One Year LaterWojciech Seliga
Slides from my talk at 33rd Degree 2013 Conference in Warsaw.
More than year ago we faced the fact that we are hitting the wall with our large scale automated testing in Atlassian JIRA. We analysed the problems and possible solutions and shared them with community at 33rd Degree in 2012. Since then we've implemented a lot of our ideas and come up with new, learnt new quite unexpected things and got rid of Selenium 1 completely.
This session shows the learnings from our journey – escaping from Test Hell – back to the normality.
If you are interested to hear what problems you can (and probably will) face if you have thousands of automated tests on on levels of abstractions (functional, integration, unit, UI, performance) and what solutions can be applied to remedy them – this presentation is for you.
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)Wojciech Seliga
Mój keynote z konferencji w Warszawie - Confitura 2012
Znajomość którego języka jest najważniejsza? Co każdy Java developer powinien wiedzieć o Javie i JVM a jakoś dziwnie często nie wie? Co jest Javowym abecadłem i dlaczego jest tak dużo javowych analfabetów? Dlaczego tropimy astronautów? Jaka jest różnica pomiędzy junior a senior developerem? Jakie cechy charakteru i doświadczenia developerów są najcenniejsze dla pracodawcy? Dlaczego boimy się rozmawiać o pieniądzach i jakie są inne trudne pytania kandydatów? Dlaczego wreszcie pracodawcy często niepoważnie traktują zatrudnianie? Na te pytania Wojtek przedstawi swój, mocno subiektywny, punkt widzenia.
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]Wojciech Seliga
Slajdy z mojej prezentacji (30min) podczas gdańskiego infoShare (konferencja w języku polskim).
Jeśli chcesz wiedzieć jak skutecznie wdrożyć przeglądy kodu (code review), które rzeczywiście coś pozytywnego wnoszą do zespołu (zamiast frustracji) oraz jakich niebezpieczeńst unikać - ta prezentacja może Ci się przydać.
W dużmy stopniu prezentacja pokrywa się z moim wcześniejszymi wystąpieniami na Agile 2009 w Chicago oraz JDD 2009, choć jest trochę nowych materiałów i przemyśleń. Ta prezentacja jest w odróżnieniu od poprzednich w języku polskim.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Better Front-end Development in Atlassian Plugins
1.
2. Better front-end development
in Atlassian plugins
The road from back-end to front-end programming
Wojciech Seliga
JIRA Development Team Lead, Atlassian
Co-founder, Spartez
2
3. About me
• 4+ years with Atlassian
• 6+ years doing Atlassian plugin development:
• JIRA Importers Plugin
• JIRA Drag & Drop Attachments Plugin
• JIRA Mail Plugin
• ScreenSnipe for JIRA, ScreenSnipe for Confluence ...
• Veteran of old-school web development (Java)
3
36. “
It's all too easy to create JavaScript applications
that end up as tangled piles of jQuery selectors and
callbacks, all trying frantically to keep data in sync
between the HTML UI, your JavaScript logic, and
the database on your server. For rich client-side
applications, a more structured approach is often
”
helpful..
Introduction to Backbone.js
16
57. Soy Features
• Simplicity
• Logic and display separation
• Client and server side (Javascript and Java)
• Client-side speed
21
58. Soy Features
• Simplicity
• Logic and display separation
• Client and server side (Javascript and Java)
• Client-side speed
• Security (auto-escaping)
21
59. Soy Features
• Simplicity
• Logic and display separation
• Client and server side (Javascript and Java)
• Client-side speed
• Security (auto-escaping)
• Battle-tested by Google
21
60. Soy - Example
{namespace examples.simple}
/**
* Greets a person using "Hello" by default.
* @param name The name of the person.
* @param? greetingWord Optional greeting word to use instead of
"Hello".
*/
{template .helloName}
{if not $greetingWord}
Hello {$name}!
{else}
{$greetingWord} {$name}!
{/if}
{/template}
22
80. // This file was automatically generated from demo.soy.
// Please don't edit this file by hand.
if (typeof JIRA == 'undefined') { var JIRA = {}; }
if (typeof JIRA.Templates == 'undefined') { JIRA.Templates = {}; }
if (typeof JIRA.Templates.Demo == 'undefined')
{ JIRA.Templates.Demo = {}; }
JIRA.Templates.Demo.helloWorld = function(opt_data, opt_sb) {
var output = opt_sb || new soy.StringBuilder();
output.append('<div>Hello World, ',
soy.$$escapeHtml(opt_data.name), '</div>');
return opt_sb ? '' : output.toString();
};
29
81. // This file was automatically generated from demo.soy.
// Please don't edit this file by hand.
if (typeof JIRA == 'undefined') { var JIRA = {}; }
if (typeof JIRA.Templates == 'undefined') { JIRA.Templates = {}; }
if (typeof JIRA.Templates.Demo == 'undefined')
{ JIRA.Templates.Demo = {}; }
JIRA.Templates.Demo.helloWorld = function(opt_data, opt_sb) {
var output = opt_sb || new soy.StringBuilder();
output.append('<div>Hello World, ',
soy.$$escapeHtml(opt_data.name), '</div>');
return opt_sb ? '' : output.toString();
};
29
82. Auto-escaping
• implicit by default to HTML escaping
• {namespace com.example autoescape="XXX"}
XXX may be true, false, contextual
• disable for a single case with
{$templateData|noAutoescape}
• sanitized data
30
133. REST API Backbone.js
Soy (client) AUI JQuery
Javascript
DOM / Markup
42
134. REST API Backbone.js
Soy (client) AUI JQuery
Javascript
DOM / Markup
42
135. REST API Backbone.js
Services
Managers Soy (client) AUI JQuery
Javascript
DOM / Markup
42
136. REST API Backbone.js
Services
Managers Soy (client) AUI JQuery
Javascript
DOM / Markup
42
137. Possible Future
• Easier, more powerful and efficient web resource
transformations
• Better support for Soy on the server side (like Velocity
or FreeMarker)
• (?) Dynamic injection of needed resources on-the-fly
(inline dialogs)
43
141. “ Don’t underestimate the power of the client-side
programming. Time to learn Javascript and
related frameworks, you old Java fellow
”
Master Joda, Javascript convert
45
142. TAKE-AWAYS
“ Atlassian is moving fast to client-side programming.
Technology is there. Are you ready?
”
#atlascamp
46
JIRA 1.x - 3. as a traditional Java web application (no AJAX, quite heavy MVC)\nWebWork\nNo REST support for plugins, now web-resource context\n3 min\n
JIRA 1.x - 3. as a traditional Java web application (no AJAX, quite heavy MVC)\nWebWork\nNo REST support for plugins, now web-resource context\n3 min\n
JIRA 1.x - 3. as a traditional Java web application (no AJAX, quite heavy MVC)\nWebWork\nNo REST support for plugins, now web-resource context\n3 min\n
JIRA 1.x - 3. as a traditional Java web application (no AJAX, quite heavy MVC)\nWebWork\nNo REST support for plugins, now web-resource context\n3 min\n
JIRA 1.x - 3. as a traditional Java web application (no AJAX, quite heavy MVC)\nWebWork\nNo REST support for plugins, now web-resource context\n3 min\n
4 min\n
4 min\n
4 min\n
\n
5\n
7\ntell about servlet filter\n
10\nJoke: who reads Plugin Framework Upgrade Guides or Release Notes\n
caching vs. locale or baseUrl = taken care of by plugin framework on application itself - class WebResourceIntegration and JiraWebResourceIntegration\n12\n
14\n
14\n
14\n
14\n
14\n
15\n
15\n
\n
17\n
17\n
17\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
18\n
\n
\n
20\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
mention that AJS.template is brain dead - just variable substitution, no loops, ifs\nscript type=&#x201D;text/x-template&#x201D;\n22\nask: who knows Soy\n
mention that AJS.template is brain dead - just variable substitution, no loops, ifs\nscript type=&#x201D;text/x-template&#x201D;\n22\nask: who knows Soy\n
mention that AJS.template is brain dead - just variable substitution, no loops, ifs\nscript type=&#x201D;text/x-template&#x201D;\n22\nask: who knows Soy\n
24\n
24\n
24\n
24\n
24\n
24\n
Tell what happens if @param name is missing (exception in runtime), tell about \n
Warning! In Java only simple types can be used like this\n26\n