Visual Studio 2015 includes several new features like Roslyn, which exposes the C# and VB.NET compilers as APIs. It allows building code analyzers and refactors directly into tools like the IDE. VS2015 also includes new C# language features enabled by Roslyn like null-propagating operators, auto-property initializers, and primary constructors. Refactoring tools have also been improved with light bulbs for quick actions and code previews. Code Lens allows seeing references and implementations directly in code.
A modern architecturereview–usingcodereviewtools-ver-3.5SSW
For any project that is critical to the business, it’s important to do ‘Modern Architecture Reviews’. Being an architect is fun, you get to design the system, do ongoing code reviews, and play the bad ass. It is even more fun when using modern cool tools.
Team Foundation Server - Tracking & ReportingSteve Lange
Comprehensive presentation detailing reporting and tracking capabilities of Team Foundation Server. Focuses on Excel workbooks and Reporting Services, but touches on other technologies as well.
A modern architecturereview–usingcodereviewtools-ver-3.5SSW
For any project that is critical to the business, it’s important to do ‘Modern Architecture Reviews’. Being an architect is fun, you get to design the system, do ongoing code reviews, and play the bad ass. It is even more fun when using modern cool tools.
Team Foundation Server - Tracking & ReportingSteve Lange
Comprehensive presentation detailing reporting and tracking capabilities of Team Foundation Server. Focuses on Excel workbooks and Reporting Services, but touches on other technologies as well.
An overview of the reporting capabilities in Team Foundation Server 2012. Includes explanation of Data warehouse architecture, included reports (SSRS and Excel), and customization.
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
In this whitepaper, we will deep dive into the concept of continuous integration, continuous delivery and continuous deployment and explain how businesses can benefit from this. We will also elucidate on how to build an effective CI/CD pipeline and some of the best practices for your enterprise DevOps journey.
There in an obsessions to jump to implementation of CI, CD tools when we talk about DevOps. In this talk, I focus on the many aspects that one needs to focus on when going on a DevOps journey
Join us for an overview of behavior-driven development and test automation, which aided in the production of a Visualforce/JavaScript application for an enterprise client. Using Cucumber JVM, Selenium, Jenkins, and Git - the team was able to catch regression errors during development. We'll provide an overview of the solution used and how it worked in a real-world environment.
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share best practices (including ones followed internally at Amazon) and how you can bring them to your company by using open source and AWS services.
Speaker: Raghuraman Balachandran, Solutions Architect, Amazon India
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOpsKMS Technology
DevOps is a spectacular mish-mash of development and operations processes and practices that has been growing increasingly popular in recent years. With the upward trending rate in adoption comes the need for organizations to fully understand the key practices as well as thoroughly integrating team members, especially testers, throughout the delivery pipeline. Getting started with DevOps practices can be a little tricky when choosing the right tools, people, and processes. In this webinar, we’ll focus on helping you make the switch without diminishing the team’s delivered product quality, so that the transition meets the enterprise objectives of speed and reliability.
Tune in to learn:
The biggest concern when moving to DevOps - and how to handle it
Why you need ‘Coding Testers’
The best tools for the job
The process of failing fast, and its significance to testers
Measuring the transition - recommended metrics
The value of DevOps long-term - efficiency, repeatability & reliability
Don’t worry about failing - it’s a part of the process!
Serhii Nezdolii about Mobile apps development (Android, iOS) best practices: Test Driven Development (unit/UI tests), Continuous Integration (Jenkins), Continuous Delivery (TestFlightApp)
Сергій Нездолій про кращі практики розробки мобільних додатків
Сергей Нездолий о лучших практиках разработки мобильных приложений
Introduction to Team Foundation Server (TFS) OnlineDenis Voituron
TFS est la plateforme de collaboration qui se trouve au coeur de la solution de gestion du cycle de vie des applications (ALM) de Microsoft. Pour de petites équipes de développement (5 users), TFS est disponible online et gratuitement.
Lors de cette session, principalement à base d'exemples pratiques, nous aborderons les modules Source Controle, Collaborate (gestion des tâches et des bugs) et Automatic Builds (compilations et déploiements automatisés).
The practical implementation of Continuous Delivery at Etsy, and how it enables the engineering team to build features quickly, refactor and change architecture, and respond to problems in production.
Presented at GOTO Aarhus 2012.
Like what you've read? We're frequently hiring for a variety of engineering roles at Etsy. If you're interested, drop me a line or send me your resume: mike@etsy.com.
http://www.etsy.com/careers
Using Clojure, NoSQL Databases and Functional-Style JavaScript to Write Gext-...Stefan Richter
There are almost no good books about JavaScript. But you can be sure: This is the language of the future. We build a large HTML5 client. On the server-side we are using Clojure (a lisp on the JVM). On the client-side we are using JavaScript with Google Closure Library. Here we show some of our insights.
This is a presentation I gave at the last HackFwd Build Event. HackFwd is a european pre-seed Investment company focusing on programmers only. A video of the talk will follow in November 2010.
Testing for Logic App Solutions | Integration MondayBizTalk360
In this Integration Monday session, Mike discussed the challenges and approaches for some of the common testing scenarios when delivering integration solutions with Microsoft Azure.
An introduction to the concepts behind Continuous Delivery as well as an introduction to some of the tools available for implementing continuous delivery practices on a new project. This presentation is geared towards Java developers, but is applicable to all.
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesCentric Consulting
Brian Paulsmeyer, a Sr. Architect at Centric St. Louis, spoke about DevOps on September 29th at Agile Gravy Conference in St. Louis. Here's his presentation, which starts with Agile development pitfalls that plague teams, moves into the actual capabilities that a team requires to be successful, and finally describes concrete implementations to achieve “Done Means Done” development.
Testing lightning components feb 15th 2018Richard Clark
Using Provar how can you keep your tests robust when migrating from the Classic UI, and how can you use Provar to test Aura custom lightning components and flexipages?
Matt Callanan takes the 15 chapters of the famous "Continuous Delivery" book by Jez Humble & Dave Farey and distills it down into 1 hour of convincing arguments, walking through the pieces involved to make it happen including cultural challenges, automated testing, automated deployment & deployment pipelines. Not sure how to get started with DevOps? Finding it hard to convince colleagues & managers that CD is the way forward? Matt has used this presentation to help facilitate enterprise-wide adoption of Continuous Delivery. Slides from a presentation given at DevOps Brisbane March 2014.
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Pablo Ariel Di Loreto
Esta presentación fue la utilizada el 11/03/2017 en las oficinas de Microsoft Argentina, en marco del evento “Lanzamiento de Visual Studio 2017 para la Comunidad Técnica”.
Este evento fue organizado sin ánimos de lucro por Net-Baires (www.net-baires.com.ar) y contó con el apoyo de Microsoft Argentina y otros sponsors.
Los organizadores, que son colaboradores de la comunidad técnica, fueron (por órden alfabético): Germán Küber (@germankuber), Guillermo Bellamann (@gjbellmann), Nicolás Bello (@nbellocam), y Pablo Ariel Di Loreto (@pablodiloreto).
An overview of the reporting capabilities in Team Foundation Server 2012. Includes explanation of Data warehouse architecture, included reports (SSRS and Excel), and customization.
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
In this whitepaper, we will deep dive into the concept of continuous integration, continuous delivery and continuous deployment and explain how businesses can benefit from this. We will also elucidate on how to build an effective CI/CD pipeline and some of the best practices for your enterprise DevOps journey.
There in an obsessions to jump to implementation of CI, CD tools when we talk about DevOps. In this talk, I focus on the many aspects that one needs to focus on when going on a DevOps journey
Join us for an overview of behavior-driven development and test automation, which aided in the production of a Visualforce/JavaScript application for an enterprise client. Using Cucumber JVM, Selenium, Jenkins, and Git - the team was able to catch regression errors during development. We'll provide an overview of the solution used and how it worked in a real-world environment.
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share best practices (including ones followed internally at Amazon) and how you can bring them to your company by using open source and AWS services.
Speaker: Raghuraman Balachandran, Solutions Architect, Amazon India
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOpsKMS Technology
DevOps is a spectacular mish-mash of development and operations processes and practices that has been growing increasingly popular in recent years. With the upward trending rate in adoption comes the need for organizations to fully understand the key practices as well as thoroughly integrating team members, especially testers, throughout the delivery pipeline. Getting started with DevOps practices can be a little tricky when choosing the right tools, people, and processes. In this webinar, we’ll focus on helping you make the switch without diminishing the team’s delivered product quality, so that the transition meets the enterprise objectives of speed and reliability.
Tune in to learn:
The biggest concern when moving to DevOps - and how to handle it
Why you need ‘Coding Testers’
The best tools for the job
The process of failing fast, and its significance to testers
Measuring the transition - recommended metrics
The value of DevOps long-term - efficiency, repeatability & reliability
Don’t worry about failing - it’s a part of the process!
Serhii Nezdolii about Mobile apps development (Android, iOS) best practices: Test Driven Development (unit/UI tests), Continuous Integration (Jenkins), Continuous Delivery (TestFlightApp)
Сергій Нездолій про кращі практики розробки мобільних додатків
Сергей Нездолий о лучших практиках разработки мобильных приложений
Introduction to Team Foundation Server (TFS) OnlineDenis Voituron
TFS est la plateforme de collaboration qui se trouve au coeur de la solution de gestion du cycle de vie des applications (ALM) de Microsoft. Pour de petites équipes de développement (5 users), TFS est disponible online et gratuitement.
Lors de cette session, principalement à base d'exemples pratiques, nous aborderons les modules Source Controle, Collaborate (gestion des tâches et des bugs) et Automatic Builds (compilations et déploiements automatisés).
The practical implementation of Continuous Delivery at Etsy, and how it enables the engineering team to build features quickly, refactor and change architecture, and respond to problems in production.
Presented at GOTO Aarhus 2012.
Like what you've read? We're frequently hiring for a variety of engineering roles at Etsy. If you're interested, drop me a line or send me your resume: mike@etsy.com.
http://www.etsy.com/careers
Using Clojure, NoSQL Databases and Functional-Style JavaScript to Write Gext-...Stefan Richter
There are almost no good books about JavaScript. But you can be sure: This is the language of the future. We build a large HTML5 client. On the server-side we are using Clojure (a lisp on the JVM). On the client-side we are using JavaScript with Google Closure Library. Here we show some of our insights.
This is a presentation I gave at the last HackFwd Build Event. HackFwd is a european pre-seed Investment company focusing on programmers only. A video of the talk will follow in November 2010.
Testing for Logic App Solutions | Integration MondayBizTalk360
In this Integration Monday session, Mike discussed the challenges and approaches for some of the common testing scenarios when delivering integration solutions with Microsoft Azure.
An introduction to the concepts behind Continuous Delivery as well as an introduction to some of the tools available for implementing continuous delivery practices on a new project. This presentation is geared towards Java developers, but is applicable to all.
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesCentric Consulting
Brian Paulsmeyer, a Sr. Architect at Centric St. Louis, spoke about DevOps on September 29th at Agile Gravy Conference in St. Louis. Here's his presentation, which starts with Agile development pitfalls that plague teams, moves into the actual capabilities that a team requires to be successful, and finally describes concrete implementations to achieve “Done Means Done” development.
Testing lightning components feb 15th 2018Richard Clark
Using Provar how can you keep your tests robust when migrating from the Classic UI, and how can you use Provar to test Aura custom lightning components and flexipages?
Matt Callanan takes the 15 chapters of the famous "Continuous Delivery" book by Jez Humble & Dave Farey and distills it down into 1 hour of convincing arguments, walking through the pieces involved to make it happen including cultural challenges, automated testing, automated deployment & deployment pipelines. Not sure how to get started with DevOps? Finding it hard to convince colleagues & managers that CD is the way forward? Matt has used this presentation to help facilitate enterprise-wide adoption of Continuous Delivery. Slides from a presentation given at DevOps Brisbane March 2014.
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Pablo Ariel Di Loreto
Esta presentación fue la utilizada el 11/03/2017 en las oficinas de Microsoft Argentina, en marco del evento “Lanzamiento de Visual Studio 2017 para la Comunidad Técnica”.
Este evento fue organizado sin ánimos de lucro por Net-Baires (www.net-baires.com.ar) y contó con el apoyo de Microsoft Argentina y otros sponsors.
Los organizadores, que son colaboradores de la comunidad técnica, fueron (por órden alfabético): Germán Küber (@germankuber), Guillermo Bellamann (@gjbellmann), Nicolás Bello (@nbellocam), y Pablo Ariel Di Loreto (@pablodiloreto).
Udvid din test portefølje med coded ui test og cloud load testPeter Lindberg
Slides fra min session på Campus Days 2014 i København.
Vi tager et kig på at automatisere tests med Coded UI tests, og blandt andet udnytte de tests som testerne allerede har lavet og optaget i Microsoft Test Manager, og sætte strøm til dem så de f.eks. kan afvikles automatisk i dine builds.
Vi kigger også nærmere på Load Test, der med introduktionen af Visual Studio Online er blevet lidt mere tilgængeligt, med test tid tilgængelig som en del af dit MSDN abonnement, som man kan benytte sig af til at få trykprøvet sine applikationer uden at skulle bekymre sig om infrastruktur.
Planning for Windows 10 and Internet Explorer 11 Flexera
Enterprises are preparing for the release of Windows 10 this year and the end of support for all but the latest version of Internet Explorer, scheduled for 2016. How do you transition these services quickly, efficiently, cost effectively and with minimal impact to the businesses?
This Webinar with Fred Pullen, Senior Product Marketing Manager at Microsoft and Tim Davis, Product Marketing Manager of Flexera Software, discusses the challenges and strategies needed to plan the capacity and resources required to package, test and predictably deploy a steady stream of new services including:
- Preparation for the upcoming release of Windows 10
- Migration considerations when moving to Internet Explorer 11
- Planning for next generation browsing experiences in Microsoft’s Edge
Transform software delivery with tasktop integration hubTasktop
We won’t build your software for you, but we will transform *how* you build it, making your software delivery process better and faster.
Join us to learn how Tasktop allows your disconnected tools to act harmoniously by automating collaboration, traceability, and visibility from ideation to production, enabling your organization to accelerate its business value delivery.
Product Managers Cynthia Mancha and Trevor Bruner do a live demo to show you how Tasktop lets you:
* connect your Lifecycle, DevOps and Database tools into a unified software delivery toolchain
* scale to hundreds of projects in a matter of minutes
* collaborate in context with attachment and comment synchronization
Thirty years ago, we were developing in Oracle Forms on top of an Oracle database, and whilst the Oracle database and PL/SQL remain today, over the last three decades we have needed to adopt many new UI technologies; ADF, APEX, MAF and JET and with the current JavaScript dominance more organisations have now moved outside of Oracle to React and Angular.
The volatility of the front-end shouldn’t mean having to replace the entire application. We need an approach that enables new UI advances to co-exist with previous technology generations whilst offering a seamless user experience, one that fully leverages the stable database layer. We can migrate in smaller, well-planned stages that don’t have the complexities of ‘micro frontends’, have a great developer experience and leave the lower layers of the technology stack undisturbed.
In this session we will look at some examples of products that we are currently building that consider the modernisation process for now and for the future. We will focus on UI technologies such as Oracle JET, React and SolidJS, whilst considering concepts such as Headless UI, UI Component Libraries, and Integration layers that decouple UI development from the database layer.
Measure and increase developer productivity with help of Severless by Kazulki...Vadym Kazulkin
The goal of Serverless is to focus on writing the code that delivers business value and offload everything else to your trusted partners (like Cloud providers or SaaS vendors). You want to iterate quickly and today’s code quickly becomes tomorrow’s technical debt. In this talk we will show why Serverless adoption increases the developer productivity and how to measure it. We will also go through AWS Serverless architectures where you only glue together different Serverless managed services relying solely on configuration, minimizing the amount of the code written.
Test Design for Fully Automated Build ArchitecturesMelissa Benua
Imagine: as soon as any developed functionality is submitted into the code repository, it is automatically subjected to the appropriate battery of tests and then released straight into the wild. Setting up the pipeline to do just that is very common, but most organizations hit the same stumbling block: just what IS the appropriate battery of tests? And how do we configure our test framework to support the many places our tests might want to run? Automated build pipelines don't always lend themselves well to the traditional stages of testing. In this hands-on workshop, Melissa will introduce automated test writers to the key principles of automated test design that apply to organizations big and small to allow them to take full advantage of their pipeline's capabilities without introducing unnecessary bottlenecks. Participants will learn the fundamentals of highly reliable tests that run fast and atomically in order to reproduce a failure - every time. They will also explore how to reduce overlap while still maintaining adequate test coverage, about what test areas might be most beneficial to combine into a single suite, and what areas might benefit most from being broken out altogether.
Real World SharePoint Framework and Azure ServicesBrian Culver
Building Solution in Office 365 requires leveraging other cloud services, such as Azure Services. For those new to SharePoint and all SharePoint veterans, building cloud ready “Full Trust” solutions for Office 365 introduces a huge paradigm shift over the traditional on-premise full-trust development model.
In this session, we will look at a couple common full trust solutions and move them to Office365 and Azure. We will leverage various Azure services such as Azure Functions, Event Grids and WebJobs. See demonstrations on how event receivers become Azure Function and Event Grids, and timer jobs become Azure WebJobs. Learn about other useful Azure services for replacing full trust functionality. Don’t pass up this opportunity to learn skills and knowledge you need to build Office 365 Solutions leveraging Cloud Services
Attendee Takeaways:
1. Understand how to take Full Trust solutions from On-premise to the Office365.
2. Learn how to use Azure Functions, Event Grids, WebJobs and several other Azure Services.
3. See demonstrations of a couple common Full Trust Solutions converted to cloud solutions on Office365 and Azure.
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Vadym Kazulkin
The goal of Serverless is to focus on writing the code that delivers business value and offload everything else to your trusted partners (like Cloud providers or SaaS vendors). You want to iterate quickly and today’s code quickly becomes tomorrow’s technical debt. In this talk we will show why Serverless adoption increases the developer productivity and how to measure it. We will also go through AWS Serverless architectures where you only glue together different Serverless managed services relying solely on configuration, minimizing the amount of the code written.
The whole point of a good GUI (Graphical User Interface) is being able to understand what is going on without reading every single detail. That is why we prefer big red crosses to say "Don't do that you oaf!" instead of a line of text that says "I think you may want to reconsider your options."
Interface design is not something that belongs solely in the world of Apple. Your website and applications can all benefit greatly from an understanding of how your users might navigate your product.
Presented At the Sydney NETUG on August 18th by Adam Cogan
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaYara Milbes
Discover the transformative power of the WhatsApp API in our latest SlideShare presentation, "Top 7 Unique WhatsApp API Benefits." In today's fast-paced digital era, effective communication is crucial for both personal and professional success. Whether you're a small business looking to enhance customer interactions or an individual seeking seamless communication with loved ones, the WhatsApp API offers robust capabilities that can significantly elevate your experience.
In this presentation, we delve into the top 7 distinctive benefits of the WhatsApp API, provided by the leading WhatsApp API service provider in Saudi Arabia. Learn how to streamline customer support, automate notifications, leverage rich media messaging, run scalable marketing campaigns, integrate secure payments, synchronize with CRM systems, and ensure enhanced security and privacy.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
2. @AdamCogan | Chief Architect @ SSW | Microsoft Regional Director
What’s new in Visual
Studio 2015
Join the Conversation #VS2015 @AdamCogan
3. A trip down memory lane (Taylor Square – Oxford St Sydney)
4. • Web Forms
• XML Web Services
• Windows Forms
VS 2002
5. • .NET 1.1
• Mobile Devices
(ASP.NET)
• Compact Framework
• Enterprise Templates
VS 2003
6. • .NET 2.0
• Generics
• Click Once
• Web
ASP.NET 2.0
Local web server (Cassini)
• Testers
Web Tests
VS 2005
7. • .NET 3.5
• LINQ, LINQ to SQL
• WPF/HTML Designers
• Web
MVC 1.0
JavaScript IntelliSense
• Testing
Web/Load Testing
VS 2008
8. • .NET 4.0
• F#
• Parallel Extensions
• Quick Search (Navigate to)*
• IntelliTrace
• Web
MVC 2 & 3
• Testers
Test Manager
Coded UI Tests
VS 2010
Join the Conversation #VS2015 @AdamCogan
9. • Metro Modern UI!
• Search + Quick Launch
• Faster Add References
• NuGet
• New Team Explorer
• Storyboarding with PPT*
• IntelliTrace in Production
• Web
MVC 3 & 4
Page Inspector
CSS & HTML5
Debug in Chrome
• Testers
Exploratory Testing
Feedback Tool
VS 2012
15. Browser Link + Web Essentials
• Make changes in the browsers dev tools, save back to
VS
• Find unused CSS
• http://vswebessentials.com/features/browserlink
Join the Conversation #VS2015 @AdamCogan
16. A trip down memory lane
ASP.NET 5 (was vNext)
Mobile Development
Azure
Summary
What’s New (2014 + 2015)
Agenda
17. The Coganator
Adam Cogan
@AdamCogan
Chief Architect at SSW
Developing custom solutions
Perform Software Audits
Microsoft Gold Partner
Microsoft Regional Director
ASP Insider
ALM MVP
Join the Conversation #VS2015 @AdamCogan
20. • Better support for IE <
10
• Bug fixes
VS 2013.1
http://support.microsoft.com/kb/2911573
Join the Conversation #VS2015 @AdamCogan
21. Visual Studio
• SQL 2014 support
• Testing
Cloud load testing + App Insights
integration
Coded UI + Unit Tests for WinPhone 8.1
• Git improvements (blame)
TFS
• Add charts to project portal
• Work Item Tagging
• Import from VSO
• Web
• Improved JSON/Sass/Less
editors
• TypeScript 1.0
• Backlog management
improvements
Non-working days
Performance
VS 2013.2
http://support.microsoft.com/kb/2927432/en-us
22. Visual Studio
• CodeLens for Git
• App Insights bundled in
• Azure Mobile Service
project
• Cordova tooling
TFS
• Configurable display on
‘in progress’ items on the
backlog
VS 2013.3
http://support.microsoft.com/kb/2933779
25. • 1. Monaco
Live editing of
Azure Sites
• 2. Pull Requests
for Git
• 3. App Insights
Monitoring of availability
+ Make bug tracking
+ Performance issues
+ usage tracking part of your
ALM process
2015 VSO / ALM…
26. • ? LinqPad
• Git Client
• Code Editor
• Almost as good as VS (desktop)
Intellisense
Highlight references/usage
1. Monaco Editor for VS Online
Join the Conversation #VS2015 @AdamCogan
42. • Monitoring availability, bugs, performance, usage
• Adds reporting to all your apps
• Telemetry - See how users are using your applications
• Logs data to VS Online
• Helps you inspect and adapt – ALM lifecycle
• http://rules.ssw.com.au/WebSites/RulesToBetterApplicationInsights/P
ages/Do-you-know-the-process-to-improve-the-health-of-your-web-
application.aspx
Application Insights
Join the Conversation #VS2015 @AdamCogan
54. What is Roslyn?
• New C# and VB.NET compiler
• Exposes modules for syntactic (lexical) analysis of code
• Letting you write plugins for Code Analysis and Refactoring
• Dynamic Compilation
• Fast!
• E.g. Code Lens, SSW Code Auditor…
Join the Conversation #VS2015 @AdamCogan
61. It’s still beta
It doesn’t support other
languages e.g. HTML, JavaScript,
etc.
Scripting API was removed
Lack of documentation
Out of the box Parser & Lexer
Allows code fixes
Accurate
It can be used in Standalone
product
Used throughout VS 2015
Reporting Services
The Pros and Cons of Roslyn
Join the Conversation #VS2015 @AdamCogan
65. VS 2013
if (a != null)
{
a.Dispose();
}
VS 2015
a?.Dispose();
event EventHandler OnDoStuff;
void DoStuff()
{
if (OnDoStuff != null)
{
OnDoStuff.Invoke(this, new EventArgs());
}
}
event EventHandler OnDoStuff;
void DoStuff()
{
OnDoStuff?.Invoke(this, new EventArgs());
}
? = if it’s not null
Join the Conversation #VS2015 @AdamCogan
66. Other Language features from Roslyn
a. Auto Property Initializers
b. Declaration Expressions
c. Primary constructors
Join the Conversation #VS2015 @AdamCogan
67. Auto Property Initializers
VS 2013
public class Foo
{
public int Bar { get; set; }
public Foo()
{
Bar = 5;
}
}
VS 2015
public class Foo
{
public int Bar { get; set; } = 5;
}
Note: Don’t have to declare a constructor just to set defaults
Join the Conversation #VS2015 @AdamCogan
68. Declaration Expressions
VS 2013
public void Stuff()
{
var a = "123";
int b;
int.TryParse(a, out b);
}
VS 2015
public void Stuff()
{
var a = "123";
int.TryParse(a, out var b);
}
Join the Conversation #VS2015 @AdamCogan
69. c. Primary Constructors
VS 2013
public class FooBar
{
public int X { get; set; }
public int Y { get; set; }
public FooBar (int x, int y)
{
X = x;
Y = y;
}
}
VS 2015
public class FooBar(int x, int y)
{
public int X { get; set; } = x;
public int Y { get; set; } = y;
}
Auto Property Initializers
Join the Conversation #VS2015 @AdamCogan
70. One of the best language features in .NET…
• In 2008 we got LINQ
• In 2014 the java guys got LINQ in Java 8
• But…
Join the Conversation #VS2015 @AdamCogan
73. Other Language features from Roslyn
• For a full list see
• https://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&r
eferringTitle=Home
String interpolation
"{0} {1} is {2} years old.“, p.First, p.Last, p.Age
"{p.First} {p.Last} is {p.Age} years old."
• You can write the same thing with 50% less code
• Now developers are now 50% more efficient.
• Bosses will now ask us to ship 50% faster ;)
Join the Conversation #VS2015 @AdamCogan
74. Warning: You need to modify the project file to enable
these new language features (in 2013)
<OutputPath>binDebug</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<LangVersion>experimental</LangVersion>
Join the Conversation #VS2015 @AdamCogan
75. More Refactoring… Light bulbs
Join the Conversation #VS2015 @AdamCogan
Light bulbs are the new home for all quick
actions you take in the Visual Studio editor
(very similar to ReSharper)
81. Impediments with Unit Tests…
• The code might not lend itself to being unit testable
• Tight dependencies
• External environments…
• Difficult to measuring test quality
• Code coverage
• Number of assertions
• The happy path vs edge cases
• What assertions should we put in?
Join the Conversation #VS2015 @AdamCogan
82. Smart Unit Tests…
• Address these impediments.
• Goes through the code, finding all of the possible
code paths
• Generates unit tests for each scenario it finds
Join the Conversation #VS2015 @AdamCogan
91. Windows 10 will be HUGE
It will be a FREE upgrade for anyone on Win 7/8/8.1 for the first 12 months
It can be run on small devices, such as Raspberry Pi 2 (Headless)
It will be easy to develop solutions targeting more stuff, such as Xbox One and
new Augmented Reality headset (Holo Lens -
https://www.youtube.com/watch?v=aThCr0PsyuA)
Cortana (i.e. Siri or Google Voice) is coming pre-installed in Windows 10
Spartan web browser are coming to Windows 10. It is exciting.
Join the Conversation #VS2015 @AdamCogan
92. NET has gone Open Source on GitHub
Microsoft is providing the full .NET server stack in open source, including
- ASP.NET,
- the .NET compiler,
- the .NET Core Runtime,
- Framework and Libraries
Will enable developers to build with .NET across Windows, Mac or Linux.
Join the Conversation #VS2015 @AdamCogan
93. Shared Projects vs PCL
For 10 years we copied and pasted code and compiled against each platform
(Windows Mobile 6 vs Windows Form)
In VS2010 SP1 – PCLs were introduced, share the DLL, but we couldn't make use
of platform specific hardware
In VS2013 – PCLs for Windows 8.1
In VS2013.2 –Shared Projects for Windows 8.1 and Windows Phone 8.1 Projects.
Shared Projects could only be used for Universal XAML apps,
PCLs could be used for all other project types
Join the Conversation #VS2015 @AdamCogan
94. Shared Projects
Think of code existing in a Shared Project as actually
belonging to the project that references it
It produces no DLLs so you can’t Unit Test shared
projects directly
Join the Conversation #VS2015 @AdamCogan
95. Join the Conversation #VS2015 @AdamCogan
public class NavigationHelper
{
public NavigationHelper()
{
#if WINDOWS_PHONE_APP
Windows.Phone.UI.Input.HardwareButtons.BackPressed
+= HardwareButtons_BackPressed;
#elif WINDOWS_APP
// Ignore. Windows Store doesn't have support for this.
#else
#error Unknown platform
#endif
}
// ...
}
96. VS 2015
Can used Shared Projects for all projects
(MVC, WinForms)
Join the Conversation #VS2015 @AdamCogan
97. Portable Class Libraries
Is the minimum .NET Framework that runs across different
platforms
Good cross platform development
Produces a DLL that can be referenced by other projects
Unit Testable
Join the Conversation #VS2015 @AdamCogan
99. Harder to share actual code to
projects outside the solution
Can quickly become
unmaintainable
Allow using platform specific
APIs by using #if
Can handle cases where the
source is compatible but the
binary wouldn’t be
Can include non-code resources
Join the Conversation #VS2015 @AdamCogan
Shared Projects
100. You get the minimum set of
classes/features across the different
platforms
Harder to make use of platform
specific functionality within the logic of
the PCL
E.g. PCL handles grabbing information
from the device’s sensors, can’t get
something new like developer’s coffee
intake, but just what’s common (GPS,
direction)
Can share code via NuGet
packages
Can specify which platforms the
PCL will target
Join the Conversation #VS2015 @AdamCogan
Portable Class Libraries
101. Recommendation
Use Portable Class Libraries where you don’t need
platform specific features
Join the Conversation #VS2015 @AdamCogan
123. Ripple?
Apache Ripple is
a web based
mobile
environment
simulator
Join the Conversation #VS2015 @AdamCogan
124. • ?
• When it’s sucky and clunky
• See if they are using native UI elements
E.g. Gmail when you swipe to delete it’s a different style button
• Show me a Hybrid app as good as Runkeeper and I’ll
switch
How do you tell when you are in a Hybrid
App?
Join the Conversation #VS2015 @AdamCogan
125. Spot the hybrid app
Join the Conversation #VS2015 @AdamCogan
129. • Mono…. “Microsoft support Miguel”
• .NET Foundation – Open sourcing .NET
• http://www.dotnetfoundation.org
• Microsoft contributed Roslyn
• Roslyn makes it easier for .NET apps to run on Mac and Linux
• Microsoft and Xamarin are closely working together
Microsoft + Xamarin
Join the Conversation #VS2015 @AdamCogan
130. • ? Write C#
• Build native mobile apps
• 3 apps - Learn the Xamarin API, deploy to many devices
• Less learning - Provides an abstraction over the native APIs
• Goal is to use the lowest common denominator
• Not limited - Still lets you directly call the native APIs
• Still need to code the UI natively for each platform
Xamarin is cool because…
Join the Conversation #VS2015 @AdamCogan
131. • Abstraction over the UI
• Compiler will convert the UI
elements into their native
counterparts
• Can still do native customizations
E.g. For WinPhone – adding the carousel
• Sexy UI Designer…
Xamarin.Forms
Join the Conversation #VS2015 @AdamCogan
132. Sexy UI designer…
var profilePage = new ContentPage {
Title = "Profile",
Icon = "Profile.png",
Content = new StackLayout {
Spacing = 20, Padding = 50,
VerticalOptions = LayoutOptions.Center,
Children = {
new Entry { Placeholder = "Username" },
new Entry { Placeholder = "Password", IsPassword = true },
new Button {
Text = "Login",
TextColor = Color.White,
BackgroundColor = Color.FromHex("77D065") }}}
};
var settingsPage = new ContentPage {
Title = "Settings",
Icon = "Settings.png",
(...)
};
var mainPage = new TabbedPage { Children = { profilePage, settingsPage } };
Join the Conversation #VS2015 @AdamCogan
139. #exploring demo
1. File | New Project
2. F5
3. Add 2 content page (stack layout + grid layout)
4. Add a menu - Group the pages into a tabbed page
Join the Conversation #VS2015 @AdamCogan
148. Use the emulator
Bad Android devs think they have 1
option
Join the Conversation #VS2015 @AdamCogan
149. • Use a device
• Use genymotion.com (but you have to give up Hyper-V
and the Windows Phone emulator)
• Or Hyper-V haxm (open GL drivers and x86 optimization
for the android emulator)
• VS2015 bundles a emulator for Android (Lollipop API
Level 21)
The good Android devs know
Join the Conversation #VS2015 @AdamCogan
150. And the 2nd major
mobile platform…
Join the Conversation #VS2015 @AdamCogan
163. public static Page GetMainPage()
{
return new TabbedPage
{
Children =
{
new StackLayoutPage { Title = "Stack" },
new GridLayoutPage { Title = "Grid"}
}
};
}
Tabbed Page showing our Stack and Grid
Join the Conversation #VS2015 @AdamCogan
167. Category Page
• Add Nuget package (REST rules.ssw.com.au)
• Load the list of top level categories
Bind
• When we ‘click’, go to sub categories
Now the serious stuff…
Building the SSW Rule App
Join the Conversation #VS2015 @AdamCogan
168. public RuleCategoryPage(string url)
{
Title = "SSW Rules";
BaseUrl = url;
ListView = new ListView();
// Create a template for out list view
var cell = new DataTemplate(typeof(TextCell));
cell.SetBinding(TextCell.TextProperty, "Title");
ListView.ItemTemplate = cell;
Content = new StackLayout()
{
VerticalOptions = LayoutOptions.FillAndExpand,
Children = { ListView }
};
Create a template for the list view
Create a DataTemplate
for the ListView,
bind the Text property to
“Title” in our data
Join the Conversation #VS2015 @AdamCogan
169. protected override async void OnAppearing()
{
base.OnAppearing();
// Create our sharepoint rules client
var client = new SswSharePointRulesClient();
// Get a list of toplevel categories
var categoryResult = client.GetRuleCategories(BaseUrl);
var categories = await categoryResult;
ViewModel = new RuleCategoryViewModel()
{
Categories = new ObservableCollection<RuleCategoryModel>(categories)
};
// Bind out results to the list view
ListView.ItemsSource = ViewModel.Categories;
}
Load categories, bind on load
Call SharePoint REST API
to grab our categories
Bind results to our list
view
Join the Conversation #VS2015 @AdamCogan
170. public RuleCategoryPage(string url)
{
Title = "SSW Rules";
BaseUrl = url;
ListView = new ListView();
// Create a template for out list view
var cell = new DataTemplate(typeof(TextCell));
cell.SetBinding(TextCell.TextProperty, "Title");
ListView.ItemTemplate = cell;
Content = new StackLayout()
{
VerticalOptions = LayoutOptions.FillAndExpand,
Children = { ListView }
};
ListView.ItemSelected += OnListViewOnItemSelected;
}
protected virtual void OnListViewOnItemSelected(object sender, SelectedItemChangedEventArgs args)
{
var category = (RuleCategoryModel)args.SelectedItem;
var subCategoryPage = new RuleSubCategoryPage(category.Url);
Navigation.PushAsync(subCategoryPage);
}
Add event handlers – Item Selected
Attach an event handler to
the ItemSelected event
Instantiate the
RuleSubCategory page with
the Url of the category
Change the current page
Join the Conversation #VS2015 @AdamCogan
172. <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="SSW.Rules.Mobile.RuleContentXamlPage" >
<WebView VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
Source="{Binding Url}" />
</ContentPage>
#shortcut
View the Rule with a WebView (XAML)
WebView is basically an
iframe
Set the Source as the URL
of our rule
Join the Conversation #VS2015 @AdamCogan
178. • SharePoint - http://msdn.microsoft.com/en-us/library/office/jj860569(v=office.15).aspx
• Office 365 - http://msdn.microsoft.com/en-us/library/office/dn605892(v=office.15).aspx
• Azure - http://msdn.microsoft.com/en-us/library/azure/ee460799.aspx
Even better would be to use the .NET libraries
http://www.bradygaster.com/post/getting-started-with-the-windows-azure-
management-libraries
• Yours?
• Note: RestSharp is a great .NET library for calling REST apis
REST APIs
Join the Conversation #VS2015 @AdamCogan
180. A trip down memory lane
ASP.NET 5 (was vNext)
Mobile Development
Azure
Summary
What’s New
Agenda
181.
182. Express
• October 2005 - Microsoft releases a free IDE
• Limited version Professional edition
• No licensing restrictions for applications
• No Extensions (No ReSharper / Web Essentials…)
Join the Conversation #VS2015 @AdamCogan
183. Express was not good enough…
• Visual Studio Express was crippled - no extensions
• Needlessly segmented into separate installers (Web, Windows, Desktop)
• Paid version too expensive for students and individuals
• Cheaper options for developers and languages
• Jetbrains (Java, Php, Ruby, Phyton, Frontent Dev (Javascript, Node.js, CSS, etc)
• Sublime
• Atom.io
• Notepad++
• …
184. “Visual Studio is universally praised, but if you talk to a developer in
college or straight out of college, they don’t want to pay,”
“We want to eliminate that friction and enable more developers to
use it on a day-to-day basis.”
Scott Guthrie, Microsoft
Join the Conversation #VS2015 @AdamCogan
185. Goodbye Express, welcome Visual Studio
2013 Community...
• November 2014 - Microsoft finally releases a *decent* free IDE
• *All* the great functionality of Visual Studio Professional 2013
• Any individual developer can use it to create their own free or
paid apps.
• Unlimited number of users within an organization for learning,
academic research, or for contributing to open source projects
• Choose from thousands of extensions for Visual Studio
Join the Conversation #VS2015 @AdamCogan
186. What will change?
• Today for VS 2013 there are 2020 extensions
• Web Essentials
• Package Intellisense (NPM)
• Grunt Launcher
• PHP Tools for Visual Studio
• NTVS (Node.js Tools for Visual Studio) this is a plugin
• Python Tools for Visual Studio
• But…
Join the Conversation #VS2015 @AdamCogan
187. What will change?
6 kinds of developers
1. HTML and JS devs
2. Node.js devs
3. PHP devs
4. Python devs
5. Non windows devs
6. VS devs (Express and Professional)
7. Administrators
Join the Conversation #VS2015 @AdamCogan
188. 1. HTML and JS devs
• will jump on the bandwagon
• will love Bower support
Join the Conversation #VS2015 @AdamCogan
189. 2. Node.js devs
• will grow slowly, stay niche... but will jump
• will love NPM package support (non .NET server side)
• will love the new grunt support (especially the task
runner)
Join the Conversation #VS2015 @AdamCogan
190. 3. PHP devs
• will not move because
• they require a better PC than a 486
• find copy and paste too slow
• they would hate the 3 hour download and install
Join the Conversation #VS2015 @AdamCogan
191. 4. Python devs
• are the unknown - the beginner devs will switch
• will love the support VS has for git
• will love the command line driven approach they can continue
to use in the new environment
• will be happy that they get PiP for packing (because they won’t
switch to Nuget)
• progressive universities will be happy to teach it
Join the Conversation #VS2015 @AdamCogan
192. 5. Non windows devs
We can only hope they find http://www.omnisharp.net
(it is a cross platform plugin for a number of editors –
Sublime, Atom, Emacs, Brackets, Vim - that allow you to
develop .net)
Join the Conversation #VS2015 @AdamCogan
193. 6. VS devs (Express and Professional)
(not specifically related to the community edition but)
• The majority of Microsoft devs will be shocked at the
amount of change in 2015.
• Most wont like that VS is even more complex.
• They will have to deal with it and grow.
Join the Conversation #VS2015 @AdamCogan
194. 7. Administrators
- Want to run ASP.NET on Linux
- Today ASP.NET runs on Mono on Linux and Mac
- Tomorrow ASP.NET will run on the new .NET Core on
Linux and Mac (and be supported)
Join the Conversation #VS2015 @AdamCogan
195. Conclusion
new open source .Net Core
+
free VS Community
=
A lot of potential unlocked…
E.g. Develop self contained website for free, Docker deploy to an IoT device
(Win10 or Linux embedded e.g RaspberryPi).
Join the Conversation #VS2015 @AdamCogan
196. State of the Web
ASP.NET 5 (was vNext)
Join the Conversation #VS2015 @AdamCogan
197. MVC4 + WebAPI + TypeScript + KnockoutJS
MVC5 ?
Last Year I recommended…
Join the Conversation #VS2015 @AdamCogan
198.
199.
200. Restoring packages for c:usersericphandocumentsvisual studio 14ProjectsWebApplication3WebApplication3project.json
Attempting to resolve dependency WebApplication3 >= 1.0.0
Attempting to resolve dependency EntityFramework.SqlServer >= 7.0.0-alpha2
OPEN EntityFramework.SqlServer.7.0.0-alpha2.nupkg
OPEN EntityFramework.SqlServer.7.0.0-alpha2EntityFramework.SqlServer.7.0.0-alpha2.nuspec
Attempting to resolve dependency Microsoft.AspNet.Mvc >= 6.0.0-alpha2
OPEN Microsoft.AspNet.Mvc.6.0.0-alpha2.nupkg
OPEN Microsoft.AspNet.Mvc.Common.6.0.0-alpha2.nupkg
:
:
OPEN Microsoft.AspNet.Mvc.Razor.Host.6.0.0-alpha2Microsoft.AspNet.Mvc.Razor.Host.6.0.0-alpha2.nuspec
Attempting to resolve dependency EntityFramework.Migrations >= 7.0.0-alpha2
OPEN EntityFramework.Migrations.7.0.0-alpha2.nupkg
OPEN EntityFramework.Migrations.Design.7.0.0-alpha2.nupkg
OPEN EntityFramework.Migrations.7.0.0-alpha2EntityFramework.Migrations.7.0.0-alpha2.nuspec
OPEN EntityFramework.Migrations.Design.7.0.0-alpha2EntityFramework.Migrations.Design.7.0.0-alpha2.nuspec
Everything is a NuGet package
201. Change of attitude?
NUnit released in 2002 – Becomes the standard for .Net
With Visual Studio 2005 Microsoft releases MSTest
MSTest almost identical to NUnit
Why not support NUnit instead?
Join the Conversation #VS2015 @AdamCogan
202. New terms for the .NET Developer
• Bower
• Grunt
• NPM
• OWIN
Join the Conversation #VS2015 @AdamCogan
<Next PBI – create a cool logo>
211. Stores connection strings and other app settings
config.json
{
"Data": {
"DefaultConnection": {
"ConnectionString":
"Server=(localdb)mssqllocaldb;Database=aspnetvnext-WebApplication3-15606acb-81ef-
4c1e-97c1-ac0b2d4e4a33;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
}
Join the Conversation #VS2015 @AdamCogan
212. • List if NPM (Node Package Manager) packages
• NPM is a javascript package manager for
development tasks (e.g. minification, bundling, image
optimization)
package.json
package.json
{
"version": "0.0.0",
"name": "",
"devDependencies": {
"grunt": "0.4.5",
"grunt-bower-task": "0.4.0"
}
}
213. Bower is a front end javascript package manager
(created by Twitter)
bower.json
bower.json
{
"name": "WebApplication",
"private": true,
"dependencies": {
"bootstrap": "3.0.0",
"jquery": "1.10.2",
"jquery-validation": "1.11.1",
"jquery-validation-unobtrusive": "3.2.2",
"hammer.js": "2.0.4",
"bootstrap-touch-carousel": "0.8.0"
},
"exportsOverride": {
"bootstrap": {
"js": "dist/js/*.*",
"css": "dist/css/*.*",
"fonts": "dist/fonts/*.*"
},
:
}
214. • A javascript task runner (also an npm package)
• Use it to process your js and css files
gruntfile.js
gruntfile.js
module.exports = function (grunt) {
grunt.initConfig({
bower: {
install: {
options: {
targetDir: "wwwroot/lib",
layout: "byComponent",
cleanTargetDir: false
}
}
}
});
grunt.registerTask("default", ["bower:install"]);
grunt.loadNpmTasks("grunt-bower-task");
};
215. What about NuGet?
• NuGet - .NET Dependencies (SignalR, Owin)
• Bower – Frontend Javascript Dependencies (jQuery,
Angular)
• NPM – Backend Javascript Dev Tools (lodash, browserify,
watchify, grunt, JSHint)
• Grunt/Gulp – MSBuild for client side files
Join the Conversation #VS2015 @AdamCogan
216. wwwroot?
• Static files go here (*.js, *.png, *.jpg)
• Maps to http://hostname/
• Cleaner separation between code
files and static files
• TypeScript, LESS should not be put in
here, only the output of these files
should be placed in here
Join the Conversation #VS2015 @AdamCogan
217. • Built in
• Startup.cs uses it
• StructureMap, AutoFac, Ninject, Windsor, and Unity
Dependency Injection
using Microsoft.Framework.DependencyInjection;
public class Startup
{
public void Configure(IBuilder app)
Join the Conversation #VS2015 @AdamCogan
219. Dependency Inject
• Can use it in Razor page too
Join the Conversation #VS2015 @AdamCogan
@using WebApplication23
@inject TimeService TimeSvc
<h3>@ViewBag.Message</h3>
<h3>
@TimeSvc.Ticks From Razor
</h3>
220. WebAPI and Controllers in one
public class ValuesController : Controller
{
// GET /values
public string Get() { return "Values"; }
// GET /values/1
public string Get(int id) { return "Value " + id.ToString(); }
// POST /values
public ActionResult Post() { return new HttpStatusCodeResult(201); }
}
http://rules.ssw.com.au/SoftwareDevelopment/RulesToBetterWebAPI/Pages/Default.aspx
Join the Conversation #VS2015 @AdamCogan
221. New - View Components
• Similar to partial views, but more powerful.
• Include the same separation-of-concerns and testability benefits found between a controller
and view.
• Like a mini-controller—responsible for rendering a chunk rather than a whole response.
• Can solve any problem that is too complex with a partial, such as:
• Dynamic navigation menus
• Tag cloud (where it queries the database)
• Login panel
• Shopping cart
• …
Join the Conversation #VS2015 @AdamCogan
222.
223. • Define what services and features this app will be using via Owin
• Services
EF
MVC
• Routes
• Features
BrowserLink
Static Files
• Authentication
Startup.cs
Join the Conversation #VS2015 @AdamCogan
224. Tip - What can
you do to make
IIS Faster?
Disable Modules
225. OWIN
• Owin is a standardised interface between web
servers and web applications.
• This means web servers that support Owin can run
any apps that implement Owin
• e.g. ASP.NET MVC running on Linux or OSX
Join the Conversation #VS2015 @AdamCogan
226. OWIN
• Owin.dll contains a single interface IAppBuilder
• Use this to register any middleware components that can handle the
web request
• SignalR
• ASP.NET Identity
• WebAPI
• This means your HTTP pipeline is optimized for just what you need,
instead of the old IIS default http modules that get loaded by default.
Join the Conversation #VS2015 @AdamCogan
228. Old
@Html.ActionLink(“Click me”, “View”, “Controller”)
New
<a asp-controller=“Controller” asp-view=“Index”>Click me</a>
Join the Conversation #VS2015 @AdamCogan
Razor Tag Helpers
229. Join the Conversation #VS2015 @AdamCogan
Razor Tag Helpers
Old
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.UserName, "", new { @class = "text-danger" })
</div>
</div>
New
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="UserName" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="UserName" class="form-control" />
<span asp-validation-for="UserName" class="text-danger"></span>
</div>
</div>
230. Harder to tell server side code
from client side code
More HTML like
More readable
More control over how the
HTML outputs
Join the Conversation #VS2015 @AdamCogan
Razor Tag Helpers
231. No need to hit build, just save and refresh
(powered by Roslyn)
Join the Conversation #VS2015 @AdamCogan
239. AngularJS + VS2015 - Suggestion
Make these create TypeScript files instead of JavaScript
files
News – Angular 2.0 is to be written using TypeScript
Join the Conversation #VS2015 @AdamCogan
240. SignalR
• Add via the NuGet package
• Real time communication between clients
• Good for:
• Showing progress on long running tasks
• Interactive apps
• Team collaboration
Join the Conversation #VS2015 @AdamCogan
242. ASP.NET 5 - KRE, KVM, KPM
• KRE – K Runtime Environment
• Code required to bootstrap and run an ASP.NET 5 application.
• KVM – K Version Manager
• Updating and installing different versions of KRE. KVM is also used to set
default KRE version.
• KPM – K Package Manager
• Manages packages needed by applications to run (NuGet)
Join the Conversation #VS2015 @AdamCogan
244. Example – Download K, grab source from
Git, run app!
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object
net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.
ps1'))"
kvm upgrade
git clone https://github.com/aspnet/Home.git
cd HomesamplesHelloWeb
kpm restore
k web
Join the Conversation #VS2015 @AdamCogan
245. • WCF
• Highly customizable
• Hard to configure
• Can work with multiple protocols
TCP, UDP, MSMQ
• Can use multiple encodings: Text,
XML, MTOM, Binary
• Duplex binding (two way
communication)
• Reliable messaging
• WebAPI
• Works with the HTTP protocol
• More interoperable with other
platforms
• Can only encode to a few
formats
• Can do two way
communication using SignalR
Join the Conversation #VS2015 @AdamCogan
WCF or WebAPI?
246. ECMA Script 6
• LINQ in javascript!
• But… Browser compatibility
• http://kangax.github.io/compat-table/es6/
Join the Conversation #VS2015 @AdamCogan
// Old Way
[1,2,3].map(function (x) {
return x * x;
});
// New Way
[1,2,3].map(x => x * x);
247. Still use Typescript
• Supports LINQ already
• Can set it to compile to different ECMA Script
versions
• Better intellisense support in VS
Join the Conversation #VS2015 @AdamCogan
248. Say goodbye…
- ASP.NET 4
- ASP.NET 5
- No Web Forms
- No VB.NET
- Faster
- Cheaper hosting (Linux, Mac)
Join the Conversation #VS2015 @AdamCogan
250. • project.json (was dependencies)
• config.json (was web.config)
• Javascript package managers and builders (NPM, Bower, Grunt)
• Dependency Injection included
• ApiController is Controller
• Startup class using OWIN (was App_Start + global.asax)
• Razor Tag Helpers
• Compile ahead of time, no need to compile to see changes
• More love for Angular
• No
• + …
Summary - What’s changed in ASP.NET 5?
Join the Conversation #VS2015 @AdamCogan
251. A trip down memory lane
ASP.NET 5 (was vNext)
Mobile Development
Azure + Continuous Deployment + Testing
Summary
What’s New
Agenda
252. What are Azure Deployment Slots?
Auto Swap
Swapping
Testing in Production
Continuous Deploy to Deployment Slots
Azure +
Continuous
Deployment +
Testing
253. Boss says “Azure is slow”
• We are a large cinema chain
• We have a 100 MB Deployment and an IIS startup time of 1 minute
• We have a large customer base
• We use Sitefinity
• We deploy multiple times a day
• The boss checks his site coincidentally right after we deploy! (He
thinks Azure is slow)
Join the Conversation #VS2015 @AdamCogan
254. A:
Deploy less often
Or
Learn about Azure Deployment Slots
(they can make your downtime 0)
Join the Conversation #VS2015 @AdamCogan
259. Deploy to
pre-prod
• Deploy a version of your website to the
pre-production slot
• Use Azure Continuous Deployment or
any of your favourite deployment tools
Join the Conversation #VS2015 @AdamCogan
260. The beauty of “Swap”
• No cold start
• The swap will simply switch pointers
• Changes can be rolled back by reversing the swap
Join the Conversation #VS2015 @AdamCogan
261. Deployment Slots
• Available on Standard Plan
• Up to 4 deployment slots for 1 production slot
• Scaling is not available for non-production slots.
• Shares the same resources as your production slots (sites)
and runs on the same VMs
Join the Conversation #VS2015 @AdamCogan
263. Settings that are not swapped:
Publishing endpoints (URL,
ConnectionString)
Custom Domain Names
SSL certificates and bindings
Scale settings
Continuous Deployment
Settings
Settings that are swapped:
General settings - such as
framework version, 32/64-bit, Web
sockets
App settings (can be configured to
stick to a slot)
Connection strings (can be
configured to stick to a slot)
Handler mappings
Monitoring and diagnostic settings
Join the Conversation #VS2015 @AdamCogan
Configure Settings
264. Configure
Sticky Slot
Settings
• App settings and connection strings are
swapped by default
• App settings and connection strings
can be set to “Slot Sticky”
Join the Conversation #VS2015 @AdamCogan
265. Testing in
production
• A/B/N Testing
• Similar to Google Content Experiments
• Use App Insights to measure results
• ? 50/50 vs 33/33/33
• Using Production users as Testers
• Route traffic between your deployment
slots based on percentage of the traffic
• Use App Insights to check for problems
Join the Conversation #VS2015 @AdamCogan
267. Why should I use Testing in Production
• Measure effectiveness of different implementations of a
feature
• Test which site leads to a decrease in bounce rate, or to
the greatest increase in revenue or session duration
• Testing new features without affecting all users
(Making your disaster less of a disaster)
Join the Conversation #VS2015 @AdamCogan
268. Auto Swap
• Addresses the “cold start” issue
• When you deploy your code changes, a
swap will automatically take place once
the deployment is complete
Join the Conversation #VS2015 @AdamCogan
270. Join the Conversation #VS2015 @AdamCogan
Do you know how to find bad smells in code?
271. The state of testing
• Code
• VS Unit Tests (recommended)
• Nunit Tests
• UI
• Coded UI Tests with MTM
• Selenium + Chutzpah (recommended)
• Javascript
• JSUnit
• Qunit (made by the jQuery team)
• Mocha (new comer)
• Jasmine + Chutzpah (recommended)
272. Chutzpah
Lets you run Javascript unit tests in Visual Studio
1. Write your unit tests in your favourite framework
(Jasmine, Mocha)
2. Get the Chutzpah VS extension
3. Right click run tests!
Join the Conversation #VS2015 @AdamCogan
277. xUnit.net First Class Citizen in 2015
Join the Conversation #VS2015 @AdamCogan
Old way using MSTest
New way using xUnit.net
278. MVC + WebAPI + TypeScript + KnockoutJS + AngularJS
This Year I recommend…
• SPA app front end + WebAPI backend
• Use App Insights for usage tracking + DevOps
• Xamarin.Forms for native cross platform mobile development
• Continuous deployment to Azure using Testing in Production and Deployment Slots
• Testing
• .NET VS Tests
• Selenium
• Javascript (Jasmine + Chutzpah)
Join the Conversation #VS2015 @AdamCogan
279. A trip down memory lane
ASP.NET 5 (was vNext)
Mobile Development
Azure + Continuous Deployment
Summary
What’s New
Agenda