CodeFest 2010. Иноземцев И. — Fantom. Cross-VM LanguageCodeFest
This document introduces Fantom, a statically typed programming language that runs on the JVM. It highlights Fantom's features that improve developer productivity over Java such as type inference, literals, closures, and mixins. It also discusses Fantom's safety features like nullable types and const classes/fields. The document provides examples of Fantom's support for object-oriented, functional, declarative, and dynamic programming paradigms. It lists companies and projects using Fantom including X5, F4 IDE, Terminals, and Kloudo.com. The document encourages readers to get involved with the Fantom community and language.
CodeFest 2010. Иноземцев И. — Fantom. Cross-VM LanguageCodeFest
This document introduces Fantom, a statically typed programming language that runs on the JVM. It highlights Fantom's features that improve developer productivity over Java such as type inference, literals, closures, and mixins. It also discusses Fantom's safety features like nullable types and const classes/fields. The document provides examples of Fantom's support for object-oriented, functional, declarative, and dynamic programming paradigms. It lists companies and projects using Fantom including X5, F4 IDE, Terminals, and Kloudo.com. The document encourages readers to get involved with the Fantom community and language.
Keynote: Challenges, Pains and Points of Software Development TodayCodeFest
The document discusses challenges in modern software development. It notes that typically only 70% of work is spent on analysis before starting coding. It advocates for design driven by the business domain using domain-driven design (DDD) to better understand customer needs. The document also discusses defining a ubiquitous language based on business semantics and building user experience-driven design from user workflows and existing business logic. Finally, it argues the primary purpose for writing software is to focus on user experience rather than interfaces or completing projects.
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подходCodeFest
Code coverage metrics provide a measure of how much source code is covered during testing. While achieving high code coverage percentages, like 100%, may require significant testing effort, the primary goal of code coverage should be effectiveness over completeness. Code coverage should be used to guide test improvement and identify areas for additional testing, not as an absolute target. Automated test generation has limitations and cannot replace manual functional testing.
The document discusses Uber's APIs and how they can be used to build experiences that enhance transportation. It notes that Uber has facilitated over 2 billion trips across more than 470 cities. Developers can integrate their apps with Uber's APIs to authenticate users, request rides, access ride details and context through the trip to improve users' experiences. The document provides examples of how ride context could be used to suggest local guides, play media based on trip duration, and control smart home devices like heating when approaching home.
Keynote: Challenges, Pains and Points of Software Development TodayCodeFest
The document discusses challenges in modern software development. It notes that typically only 70% of work is spent on analysis before starting coding. It advocates for design driven by the business domain using domain-driven design (DDD) to better understand customer needs. The document also discusses defining a ubiquitous language based on business semantics and building user experience-driven design from user workflows and existing business logic. Finally, it argues the primary purpose for writing software is to focus on user experience rather than interfaces or completing projects.
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подходCodeFest
Code coverage metrics provide a measure of how much source code is covered during testing. While achieving high code coverage percentages, like 100%, may require significant testing effort, the primary goal of code coverage should be effectiveness over completeness. Code coverage should be used to guide test improvement and identify areas for additional testing, not as an absolute target. Automated test generation has limitations and cannot replace manual functional testing.
The document discusses Uber's APIs and how they can be used to build experiences that enhance transportation. It notes that Uber has facilitated over 2 billion trips across more than 470 cities. Developers can integrate their apps with Uber's APIs to authenticate users, request rides, access ride details and context through the trip to improve users' experiences. The document provides examples of how ride context could be used to suggest local guides, play media based on trip duration, and control smart home devices like heating when approaching home.
This document discusses building and shipping software using GitHub. It provides key facts about GitHub such as being founded in 2008, having over 15 million registered users and 36 million repositories. It also shares principles from "The Zen of GitHub" including that responsive is better than fast, practicality beats purity, and favor focus over features. The document advocates for empowering businesses to build great software through culture, tools, process and a DevOps approach.
This document introduces .NET Core and its advantages over the .NET Framework. It discusses how .NET Core is cross-platform, uses the .NET Standard library, and can create self-contained applications. It also highlights how .NET Core applications are smaller, faster, and container-friendly. The document demonstrates how to use the dotnet CLI and publish .NET Core applications to reduce their deployment size. Overall, it promotes adopting .NET Core for its performance, portability, and familiar .NET APIs.
René Gröschke gave a talk on the latest features and future direction of Gradle. Some of the key points included:
- Gradle is moving to a Kotlin-based DSL for improved performance, tooling support, and bringing application patterns to builds.
- Performance improvements include a dedicated performance team that has improved Android Gradle Plugin build times significantly.
- Composite builds allow including external projects to debug dependencies or test plugins against real projects.
- Build cache and distributed build cache are incubating features to cache and share build results for faster rebuilds.
- Gradle build scans provide insights into builds to debug issues, optimize performance, and compare builds
The document discusses containerizing ASP.NET Core applications with Kubernetes. It begins with an overview of .NET Core and containers, and how they have converged. It then discusses Kubernetes and how it can help manage containers at scale. It covers Kubernetes building blocks like deployments, pods, labels, services, and replica sets. It provides examples of deploying containers with Kubernetes, including demonstrations of creating deployments, services, scaling applications, and rolling updates.