The document describes a data-driven game object system used in Dungeon Siege that allows content to be easily modified without requiring code changes. It uses a component-based approach where game objects are assembled from independent, reusable logic components. Data specifies which components are used to construct each object and configure their properties. This permits flexible, schema-driven definition and instantiation of game objects through data alone.
Strategies for refactoring and migrating a big old project to be multilingual...benjaoming
The document discusses strategies for refactoring a large project to support multiple databases and languages. It describes migrating the project to use PostgreSQL schemas to separate data for different games into different schemas. It also explains refactoring the code base to split it into separate applications and using django-parler to add multilingual support.
This document discusses best practices for developing a chess game app called ChessMate. It covers topics like architecture patterns, design principles, testing practices, code quality, and project organization. Examples are provided to illustrate concepts like separation of concerns, dependency injection, protocol-oriented programming and value types vs reference types. The goal is to build a well-designed, extensible and maintainable chess app following industry standards.
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?SegFaultConf
Wyobraź sobie, że w twojej aplikacji zachodzą jakieś zmiany (domain eventy). Chcielibyśmy te zmiany wystawić na zewnątrz, żebyśmy mogli na ich podstawie robić sobie raporty, read modele, sagi, synchronizować dane. Czy to zadanie okaże się być trudne czy proste, jeśli użyjemy bazy danych SQL. Co zyskaliśmy dzięki temu, że używam RDBMS/SQL a co utraciliśmy, być może, bezpowrotnie. W tej prezentacji opowiem wam jak chciałem zbudować pewną funkcjonalność dla biblioteki Rails Event Store, dlaczego okazało być się to trudniejsze niż myślałem, o modelu MVCC w PostgreSQL, czy jest sposób, żeby go obejść i uzyskać emulację trybu READ UNCOMMITTED. A może możnaby do całego problemu podejśc zupełnie inaczej i podłączyć się pod Write-Ahead-Log (WAL) i wygrać świat w ten sposób? Pokażę też jak moim zdaniem, korzystając z dokładnie tych samych konceptów, które stoją za Event Sourcingiem i bazami danych moglibyśmy budować API, tak bym za każdym razem pisząc integrację z serwisem X nie musiał się zastanawiać czy jego autorzy rozumieją pojęcie idempotent czy nie. Albo jak moglibyśmy osiągnąć prostotę dzięki używaniu Convergent Replicated Data Types (CRDT). Być może jako community stać nas na więcej niż REST nad CRUDem. Zastanowimy się, czy sprzedawcy SQLa zlasowali nam mózgi, sprawili, że zapomnieliśmy o najprostszym sposobie, który może działać i wprowadzili nas w maliny, w których aktualnie się znajdujemy. A może sami jesteśmy sobie winni? TLDR: Czy nasze aplikacje nie mogłyby działać tak jak pod spodem działają bazy danych? Czy to wszystko musi być takie ciężkie i skomplikowane jeśli chcemy mieć mikro-serwisy, zwłaszcza w małym zespole, który niekoniecznie lubi dostawiać 5 bazę danych do stacku technologicznego.
The document provides an overview of the features available in the Chrome DevTools interface, including panels like Elements, Console, Sources, and others. It lists the main capabilities of each panel, such as inspecting and modifying the DOM, debugging with breakpoints and the console, profiling performance, and emulating device settings. Additional tools are also mentioned like the drawer, device mode, and shortcuts for common tasks.
Ember.js Tokyo event 2014/09/22 (English)Yuki Shimada
This is the slide shown at Ember.js Tokyo event.
http://emberjs.doorkeeper.jp/events/14856
(Japanese Version: http://www.slideshare.net/yukishimada1/emberjs-event-tokyo-ja-20140922 )
This article contains information about performance optimization of Unity3D games for android. Different solutions provided both for CPU and GPU. Also here you can find methodology which will help you to detect performance problems, analyze them and perform appropriate optimization.
Cocos2d is a well known open source software framework on game industry. It is is a 2D game framework built upon the OpenGL ES API’s.
In this session, I will talk about a hierarchical structures of an Cocos2d node and scenes. Also Cocos2d Graphic User Interface, Physical System, Audio, Particle System and Scene Transition technique will be shown. Finally this session will show various branches of Cocos2d open source projects including Cocos2d-x, Cocos2d-Swift, Cocos2d-html5, and Cocos2d-xna.
Game engines have long been in the forefront of taking advantage of the ever increasing parallel compute power of both CPUs and GPUs. This talk is about how the parallel compute is utilized in practice on multiple platforms today in the Frostbite game engine and how we think the parallel programming models, hardware and software in the industry should look like in the next 5 years to help us make the best games possible
Strategies for refactoring and migrating a big old project to be multilingual...benjaoming
The document discusses strategies for refactoring a large project to support multiple databases and languages. It describes migrating the project to use PostgreSQL schemas to separate data for different games into different schemas. It also explains refactoring the code base to split it into separate applications and using django-parler to add multilingual support.
This document discusses best practices for developing a chess game app called ChessMate. It covers topics like architecture patterns, design principles, testing practices, code quality, and project organization. Examples are provided to illustrate concepts like separation of concerns, dependency injection, protocol-oriented programming and value types vs reference types. The goal is to build a well-designed, extensible and maintainable chess app following industry standards.
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?SegFaultConf
Wyobraź sobie, że w twojej aplikacji zachodzą jakieś zmiany (domain eventy). Chcielibyśmy te zmiany wystawić na zewnątrz, żebyśmy mogli na ich podstawie robić sobie raporty, read modele, sagi, synchronizować dane. Czy to zadanie okaże się być trudne czy proste, jeśli użyjemy bazy danych SQL. Co zyskaliśmy dzięki temu, że używam RDBMS/SQL a co utraciliśmy, być może, bezpowrotnie. W tej prezentacji opowiem wam jak chciałem zbudować pewną funkcjonalność dla biblioteki Rails Event Store, dlaczego okazało być się to trudniejsze niż myślałem, o modelu MVCC w PostgreSQL, czy jest sposób, żeby go obejść i uzyskać emulację trybu READ UNCOMMITTED. A może możnaby do całego problemu podejśc zupełnie inaczej i podłączyć się pod Write-Ahead-Log (WAL) i wygrać świat w ten sposób? Pokażę też jak moim zdaniem, korzystając z dokładnie tych samych konceptów, które stoją za Event Sourcingiem i bazami danych moglibyśmy budować API, tak bym za każdym razem pisząc integrację z serwisem X nie musiał się zastanawiać czy jego autorzy rozumieją pojęcie idempotent czy nie. Albo jak moglibyśmy osiągnąć prostotę dzięki używaniu Convergent Replicated Data Types (CRDT). Być może jako community stać nas na więcej niż REST nad CRUDem. Zastanowimy się, czy sprzedawcy SQLa zlasowali nam mózgi, sprawili, że zapomnieliśmy o najprostszym sposobie, który może działać i wprowadzili nas w maliny, w których aktualnie się znajdujemy. A może sami jesteśmy sobie winni? TLDR: Czy nasze aplikacje nie mogłyby działać tak jak pod spodem działają bazy danych? Czy to wszystko musi być takie ciężkie i skomplikowane jeśli chcemy mieć mikro-serwisy, zwłaszcza w małym zespole, który niekoniecznie lubi dostawiać 5 bazę danych do stacku technologicznego.
The document provides an overview of the features available in the Chrome DevTools interface, including panels like Elements, Console, Sources, and others. It lists the main capabilities of each panel, such as inspecting and modifying the DOM, debugging with breakpoints and the console, profiling performance, and emulating device settings. Additional tools are also mentioned like the drawer, device mode, and shortcuts for common tasks.
Ember.js Tokyo event 2014/09/22 (English)Yuki Shimada
This is the slide shown at Ember.js Tokyo event.
http://emberjs.doorkeeper.jp/events/14856
(Japanese Version: http://www.slideshare.net/yukishimada1/emberjs-event-tokyo-ja-20140922 )
This article contains information about performance optimization of Unity3D games for android. Different solutions provided both for CPU and GPU. Also here you can find methodology which will help you to detect performance problems, analyze them and perform appropriate optimization.
Cocos2d is a well known open source software framework on game industry. It is is a 2D game framework built upon the OpenGL ES API’s.
In this session, I will talk about a hierarchical structures of an Cocos2d node and scenes. Also Cocos2d Graphic User Interface, Physical System, Audio, Particle System and Scene Transition technique will be shown. Finally this session will show various branches of Cocos2d open source projects including Cocos2d-x, Cocos2d-Swift, Cocos2d-html5, and Cocos2d-xna.
Game engines have long been in the forefront of taking advantage of the ever increasing parallel compute power of both CPUs and GPUs. This talk is about how the parallel compute is utilized in practice on multiple platforms today in the Frostbite game engine and how we think the parallel programming models, hardware and software in the industry should look like in the next 5 years to help us make the best games possible
We all make mistakes while programming and spend a lot of time fixing them.
One of the methods which allows for quick detection of defects is source code static analysis.
We all make mistakes while programming and spend a lot of time fixing them.
One of the methods which allows for quick detection of defects is source code static analysis.
1. Scalding is a library that provides a concise domain-specific language (DSL) for writing MapReduce jobs in Scala. It allows defining source and sink connectors, as well as data transformation operations like map, filter, groupBy, and join in a more readable way than raw MapReduce APIs.
2. Some use cases for Scalding include splitting or reusing data streams, handling exotic data sources like JDBC or HBase, performing joins, distributed caching, and building connected user profiles by bridging data from different sources.
3. For connecting user profiles, Scalding can be used to model the data as a graph with vertices for user interests and edges for bridging rules.
The document provides an introduction to 2D game development with Unity. It discusses key Unity concepts such as scenes, game objects, components and scripts. It then demonstrates how to build a basic 2D platformer game in Unity, including creating a player character, allowing movement with scripts, adding animations, developing platforms, and enabling jumping. The document recommends resources for further learning Unity and 2D game development.
This document provides an overview of a real-time strategy (RTS) game project built using the Sephy Engine. It includes summaries of the map tool, unit balancing tool, and battle system, as well as descriptions of the engine architecture and frameworks. The project utilizes an isometric tile-based map tool, unit attributes for ship balancing, and systems for camera, units, fleets, and fog of war in battles. Recent work focuses on additional features like fleet systems, aircraft carriers, and random weather events.
Python tools to deploy your machine learning models fasterJeff Hale
Comparing Gradio, Streamlit, and FastAPI (with a little discussion of flask)
Jeff Hale's presentation for Data Science DC March 8, 2022
Repository with code at https://github.com/discdiver/dsdc-deploy-models
JavaScript Advanced - Useful methods to power up your codeLaurence Svekis ✔
Get this Course
https://www.udemy.com/javascript-course-plus/?couponCode=SLIDESHARE
Useful methods and JavaScript code snippets power up your code and make even more happen with it.
This course is perfect for anyone who has fundamental JavaScript experience and wants to move to the next level. Use and apply more advanced code, and do more with JavaScript.
Everything you need to learn more about JavaScript
Source code is included
60+ page Downloadable PDF guide with resources and code snippets
3 Challenges to get you coding try the code
demonstrating useful JavaScript methods that can power up your code and make even more happen with it.
Course lessons will cover
JavaScript Number Methods
JavaScript String Methods
JavaScript Math - including math random
DOMContentLoaded - DOM ready when the document has loaded.
JavaScript Date - Date methods and how to get set and use date.
JavaScript parse and stringify - strings to objects back to strings
JavaScript LocalStorage - store variables in the user browser
JavaScript getBoundingClientRect() - get the dimensions of an element
JavaScript Timers setTimeout() setInterval() requestAnimationFrame() - Run code when you want too
encodeURIComponent - encoding made easy
Regex - so powerful use it to get values from your string
prototype - extend JavaScript objects with customized powers
Try and catch - perfect for error and testing
Fetch xHR requests - bring content in from servers
and more
No libraries, no shortcuts just learning JavaScript making it DYNAMIC and INTERACTIVE web application.
Step by step learning with all steps included.
OGDC 2014_Entity system in mobile game development_Mr. Cody nguyenogdc
The document discusses using a component-based entity system architecture for developing a large mobile tower defense game with over 500 playable characters, complex item systems, and multiple game modes. A component-based entity system separates game objects into reusable components and uses independent processing systems, which makes the architecture easy to understand, maintain, and adapt to changing requirements. This fits well with a data-driven development approach using a database like MongoDB. The document recommends using an open-source entity system framework like Artemis and processing components in parallel threads to take advantage of the architecture.
The slides begins with introduction to the character drivers and then mentions the various APIs for registering the character driver. Dynamically creating the device file and IOCTL
Object Oriented Code RE with HexraysCodeXplorerAlex Matrosov
The document discusses challenges in reversing object-oriented C++ code and malware. It presents approaches used by the HexRaysCodeXplorer plugin for IDA to assist with reconstructing object types and navigating virtual methods in decompiled code. The plugin allows partially reconstructing object types from initialization routines and traversing related virtual methods. It has features for position independent code and supports IDA x64.
Cristiano Betta (Betta Works) - Lightweight Libraries with Rollup, Riot and R...Techsylvania
This document discusses using lightweight JavaScript with Rollup, Riot, and Redux. It begins by introducing the speaker and their background. It then covers bundling with Rollup, using the Riot library for UI components, and managing state with Redux. Rollup is highlighted as a next generation bundler that supports ES6 and tree shaking to create smaller bundles. Riot is a small React-like library for building tags. Redux is included to manage state in a predictable way. The document concludes with comparisons of file sizes for different bundler configurations and opinions that ES6, Riot, and Redux make for understandable lightweight apps when bundled with Rollup and NPM scripts.
This document summarizes the steps to build a simple iOS game called KillTime using the Cocos2D game framework. It discusses setting up the project, adding a background, player character and enemy targets, detecting touches to shoot bullets, checking for collisions, animating sprites, and tracking the body count with labels and sound effects. The document provides code snippets to implement the game's core functionality and gameplay using Cocos2D concepts like scenes, layers, sprites, actions and the touch handling API.
This document provides a programmers guide for Cocos2d-x version 3.3. It includes chapters on basic Cocos2d-x concepts such as scenes, nodes, sprites, actions, and the scene graph. The guide explains how to create and manipulate sprites, run actions and sequences of actions, and handle parent-child relationships between nodes. It aims to teach programmers how to use Cocos2d-x to develop cross-platform 2D games.
The Challenge of Bringing FEZ to PlayStation PlatformsMiguel Angel Horna
This presentation explores the process of bringing FEZ to the Sony PlayStation platforms. Beginning with the conversion from the existing C# codebase to C++ native code, the talk will then cover memory management without a garbage collector, tuned optimization techniques for each platform, and will finish with special features added to PlayStation builds
Web components allow developers to create reusable custom elements with encapsulated styles and markup. They include APIs for custom elements, shadow DOM, and HTML templates. Web components solve challenges like maintaining a consistent and unified UI across frameworks. Common problems are addressed through standards like custom elements, shadow DOM, and templates. Web components are supported across major browsers and offer benefits like portability, isolated styles, and execution speed.
The document discusses an Entity Component System (ECS) for game development. It describes the core components of an ECS including entities, components, a entity manager, and systems. Entities contain unique IDs and can have multiple components attached, like render, collision, health, etc. Systems operate on entities based on their components, handling things like collision detection, movement, rendering. The ECS aims to provide a more organized and data-driven approach to game object management compared to traditional game object hierarchies.
Scaling Up: How Switching to Apache Spark Improved Performance, Realizability...Databricks
This document summarizes how switching from Hadoop to Spark for data science applications improved performance, reliability, and reduced costs at Salesforce. Some key issues addressed were handling large datasets across many S3 prefixes, efficiently computing segment overlap on skewed user data, and performing joins on highly skewed datasets. These changes resulted in applications that were 100x faster, used 10x less data, had fewer failures, and reduced infrastructure costs.
This document summarizes how switching from Hadoop to Spark for data science applications improved performance, reliability, and reduced costs at Salesforce. Some key issues addressed were handling large datasets across many S3 prefixes, efficiently computing segment overlap on skewed user data, and performing joins on highly skewed datasets. These changes resulted in applications that were 100x faster, used 10x less data, had fewer failures, and reduced infrastructure costs.
This document provides information about NHS numbers in the UK healthcare system. It explains that an NHS number is a unique identifier for each patient that helps healthcare staff locate medical records. It encourages patients to keep their NHS number in a safe place so they can provide it when seeking medical care. The document also clarifies that an NHS number is different from a National Insurance number and provides instructions for patients to find their NHS number if they do not already have it.
This document discusses Clean Architecture principles and provides an overview of how to structure an application according to Clean Architecture. It describes how to organize the application into layers including the Domain layer containing business logic, the Application layer containing use cases, the Infrastructure layer containing external interfaces, and the Presentation layer containing user interfaces. Code samples and demos are provided to illustrate how to implement these layers and principles in an ASP.NET Core application. Key points emphasize making each layer independent and loosely coupled to external influences.
We all make mistakes while programming and spend a lot of time fixing them.
One of the methods which allows for quick detection of defects is source code static analysis.
We all make mistakes while programming and spend a lot of time fixing them.
One of the methods which allows for quick detection of defects is source code static analysis.
1. Scalding is a library that provides a concise domain-specific language (DSL) for writing MapReduce jobs in Scala. It allows defining source and sink connectors, as well as data transformation operations like map, filter, groupBy, and join in a more readable way than raw MapReduce APIs.
2. Some use cases for Scalding include splitting or reusing data streams, handling exotic data sources like JDBC or HBase, performing joins, distributed caching, and building connected user profiles by bridging data from different sources.
3. For connecting user profiles, Scalding can be used to model the data as a graph with vertices for user interests and edges for bridging rules.
The document provides an introduction to 2D game development with Unity. It discusses key Unity concepts such as scenes, game objects, components and scripts. It then demonstrates how to build a basic 2D platformer game in Unity, including creating a player character, allowing movement with scripts, adding animations, developing platforms, and enabling jumping. The document recommends resources for further learning Unity and 2D game development.
This document provides an overview of a real-time strategy (RTS) game project built using the Sephy Engine. It includes summaries of the map tool, unit balancing tool, and battle system, as well as descriptions of the engine architecture and frameworks. The project utilizes an isometric tile-based map tool, unit attributes for ship balancing, and systems for camera, units, fleets, and fog of war in battles. Recent work focuses on additional features like fleet systems, aircraft carriers, and random weather events.
Python tools to deploy your machine learning models fasterJeff Hale
Comparing Gradio, Streamlit, and FastAPI (with a little discussion of flask)
Jeff Hale's presentation for Data Science DC March 8, 2022
Repository with code at https://github.com/discdiver/dsdc-deploy-models
JavaScript Advanced - Useful methods to power up your codeLaurence Svekis ✔
Get this Course
https://www.udemy.com/javascript-course-plus/?couponCode=SLIDESHARE
Useful methods and JavaScript code snippets power up your code and make even more happen with it.
This course is perfect for anyone who has fundamental JavaScript experience and wants to move to the next level. Use and apply more advanced code, and do more with JavaScript.
Everything you need to learn more about JavaScript
Source code is included
60+ page Downloadable PDF guide with resources and code snippets
3 Challenges to get you coding try the code
demonstrating useful JavaScript methods that can power up your code and make even more happen with it.
Course lessons will cover
JavaScript Number Methods
JavaScript String Methods
JavaScript Math - including math random
DOMContentLoaded - DOM ready when the document has loaded.
JavaScript Date - Date methods and how to get set and use date.
JavaScript parse and stringify - strings to objects back to strings
JavaScript LocalStorage - store variables in the user browser
JavaScript getBoundingClientRect() - get the dimensions of an element
JavaScript Timers setTimeout() setInterval() requestAnimationFrame() - Run code when you want too
encodeURIComponent - encoding made easy
Regex - so powerful use it to get values from your string
prototype - extend JavaScript objects with customized powers
Try and catch - perfect for error and testing
Fetch xHR requests - bring content in from servers
and more
No libraries, no shortcuts just learning JavaScript making it DYNAMIC and INTERACTIVE web application.
Step by step learning with all steps included.
OGDC 2014_Entity system in mobile game development_Mr. Cody nguyenogdc
The document discusses using a component-based entity system architecture for developing a large mobile tower defense game with over 500 playable characters, complex item systems, and multiple game modes. A component-based entity system separates game objects into reusable components and uses independent processing systems, which makes the architecture easy to understand, maintain, and adapt to changing requirements. This fits well with a data-driven development approach using a database like MongoDB. The document recommends using an open-source entity system framework like Artemis and processing components in parallel threads to take advantage of the architecture.
The slides begins with introduction to the character drivers and then mentions the various APIs for registering the character driver. Dynamically creating the device file and IOCTL
Object Oriented Code RE with HexraysCodeXplorerAlex Matrosov
The document discusses challenges in reversing object-oriented C++ code and malware. It presents approaches used by the HexRaysCodeXplorer plugin for IDA to assist with reconstructing object types and navigating virtual methods in decompiled code. The plugin allows partially reconstructing object types from initialization routines and traversing related virtual methods. It has features for position independent code and supports IDA x64.
Cristiano Betta (Betta Works) - Lightweight Libraries with Rollup, Riot and R...Techsylvania
This document discusses using lightweight JavaScript with Rollup, Riot, and Redux. It begins by introducing the speaker and their background. It then covers bundling with Rollup, using the Riot library for UI components, and managing state with Redux. Rollup is highlighted as a next generation bundler that supports ES6 and tree shaking to create smaller bundles. Riot is a small React-like library for building tags. Redux is included to manage state in a predictable way. The document concludes with comparisons of file sizes for different bundler configurations and opinions that ES6, Riot, and Redux make for understandable lightweight apps when bundled with Rollup and NPM scripts.
This document summarizes the steps to build a simple iOS game called KillTime using the Cocos2D game framework. It discusses setting up the project, adding a background, player character and enemy targets, detecting touches to shoot bullets, checking for collisions, animating sprites, and tracking the body count with labels and sound effects. The document provides code snippets to implement the game's core functionality and gameplay using Cocos2D concepts like scenes, layers, sprites, actions and the touch handling API.
This document provides a programmers guide for Cocos2d-x version 3.3. It includes chapters on basic Cocos2d-x concepts such as scenes, nodes, sprites, actions, and the scene graph. The guide explains how to create and manipulate sprites, run actions and sequences of actions, and handle parent-child relationships between nodes. It aims to teach programmers how to use Cocos2d-x to develop cross-platform 2D games.
The Challenge of Bringing FEZ to PlayStation PlatformsMiguel Angel Horna
This presentation explores the process of bringing FEZ to the Sony PlayStation platforms. Beginning with the conversion from the existing C# codebase to C++ native code, the talk will then cover memory management without a garbage collector, tuned optimization techniques for each platform, and will finish with special features added to PlayStation builds
Web components allow developers to create reusable custom elements with encapsulated styles and markup. They include APIs for custom elements, shadow DOM, and HTML templates. Web components solve challenges like maintaining a consistent and unified UI across frameworks. Common problems are addressed through standards like custom elements, shadow DOM, and templates. Web components are supported across major browsers and offer benefits like portability, isolated styles, and execution speed.
The document discusses an Entity Component System (ECS) for game development. It describes the core components of an ECS including entities, components, a entity manager, and systems. Entities contain unique IDs and can have multiple components attached, like render, collision, health, etc. Systems operate on entities based on their components, handling things like collision detection, movement, rendering. The ECS aims to provide a more organized and data-driven approach to game object management compared to traditional game object hierarchies.
Scaling Up: How Switching to Apache Spark Improved Performance, Realizability...Databricks
This document summarizes how switching from Hadoop to Spark for data science applications improved performance, reliability, and reduced costs at Salesforce. Some key issues addressed were handling large datasets across many S3 prefixes, efficiently computing segment overlap on skewed user data, and performing joins on highly skewed datasets. These changes resulted in applications that were 100x faster, used 10x less data, had fewer failures, and reduced infrastructure costs.
This document summarizes how switching from Hadoop to Spark for data science applications improved performance, reliability, and reduced costs at Salesforce. Some key issues addressed were handling large datasets across many S3 prefixes, efficiently computing segment overlap on skewed user data, and performing joins on highly skewed datasets. These changes resulted in applications that were 100x faster, used 10x less data, had fewer failures, and reduced infrastructure costs.
This document provides information about NHS numbers in the UK healthcare system. It explains that an NHS number is a unique identifier for each patient that helps healthcare staff locate medical records. It encourages patients to keep their NHS number in a safe place so they can provide it when seeking medical care. The document also clarifies that an NHS number is different from a National Insurance number and provides instructions for patients to find their NHS number if they do not already have it.
This document discusses Clean Architecture principles and provides an overview of how to structure an application according to Clean Architecture. It describes how to organize the application into layers including the Domain layer containing business logic, the Application layer containing use cases, the Infrastructure layer containing external interfaces, and the Presentation layer containing user interfaces. Code samples and demos are provided to illustrate how to implement these layers and principles in an ASP.NET Core application. Key points emphasize making each layer independent and loosely coupled to external influences.
The document discusses Cisco's perspective on Wi-Fi 6 and 5G technologies. It notes that Wi-Fi 6 and 5G are complementary technologies that will extend wireless reach and use. Cisco is invested in both technologies and offers solutions that integrate them. For enterprise deployments, Wi-Fi 6 will remain favored as it provides essential security and control for mission critical connectivity.
WiFi 6 is the next generation WiFi standard that provides significantly faster speeds, increased capacity, and lower latency compared to WiFi 5. It utilizes new technologies like 1024-QAM, OFDMA, and MU-MIMO to allow for throughput of up to 9.6Gbps and support for 1024 concurrent users per access point. This represents a 4x increase in bandwidth and concurrent capacity over WiFi 5. WiFi 6 also reduces latency by using OFDMA to schedule transmissions and lowers power consumption for devices by up to 30% using the target wakeup time mechanism. Huawei has played a leading role in developing and promoting WiFi 6 as the chairman of several IEEE 802.11 working groups and was
This document outlines an agenda for a session on running, improving, and maintaining a website in the real world. The agenda includes discussions on scaling a site to adapt to varying load levels, adapting a site to changes by managing database schemas and deployments, and running a site across multiple environments including development, test, and global deployments. Specific solutions proposed include serving static files from blob storage, caching page output, auto-scaling servers, using deployment rollbacks, leveraging Azure services, and implementing continuous integration and delivery practices.
2nd Report - Major Diagnostic Categories, 2014.pdfmaa77
The document provides an overview and comparison of major diagnostic categories (MDCs) for Dubai health insurance in 2014. It finds that the top 10 MDCs accounted for 83% of total expenditure. Diseases of the respiratory system accounted for the highest spending at 14.4% of the total. Overall, 71% of expenditures were for outpatient services versus 27.6% for inpatient. Pregnancy and childbirth had the highest average cost per claim due to most services being delivered inpatient. The report analyzes MDCs across beneficiaries, payers, and providers to provide a holistic view of health insurance spending in Dubai.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
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.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
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
2. Introduction
Me
– Scott Bilas
– Background
You
– System architect types
– Tired of fighting with statically typed systems for game code
The Test Subject
– Dungeon Siege
– >7300 unique object types (i.e. can be placed in the editor)
– >100000 objects placed in our two maps
– Continuous world means anything can load at any time
4. Definitions
Data-Driven
– Meaning: “No engineer required”
– Engineers are slow
– Causes designers to hack around missing
functionality
– Goal: remove C/C++ from game
– Line between engine and content is always moving
5. Definitions (Cont.)
Game Object (Go)
– Piece of logical interactive content
– Perform tasks like rendering, path finding, path
following, speaking, animating, persisting
– Examples are trees, bushes, monsters, levers,
waypoint markers, doors, heroes, inventory items
– Many are “pure logic”, never see them (triggers,
elevator movers, camera sequences)
– Every game has these in some form
6. Definitions (Cont.)
Game Object System
– Constructs and manages Go‟s
– Maps ID‟s to object pointers
– Routes messages
– Build from many things, but for this talk
GoDb: Go database
ContentDb: Static content database
– Every game has this in some form
9. It Won’t Work
There are hundreds of ways to decompose the
Go system problem into classes
– They are all wrong
– They don‟t start out wrong, of course…
Games constantly change
– Designer makes decisions independently of
engineering type structures
– They will ask for things that cut right across
engineering concerns
10. Just Give In To Change
Requirements get fuzzier the closer your code
gets to the content
Will end up regularly refactoring
Do not resist, will cause worse problems!
However: C++ does not support this very well!!
11. C++: Not Flexible Enough
Code has a tendency to “harden”
– Resists change over time
– Rearranging class tree requires lots of work
Needing to change it causes engineering
frustration, which leads to…
– Class merging/hoisting (fights clean OOP)
– Virtual override madness
– Increased complexity increasing resistance
– Doc rot, editor out of sync
12. Reexamine The Problem
This is a database
– (a very well understood problem)
– “The data is important, nothing else matters”
…and we‟re hard coding it every time
To meet changing design needs, can‟t just
data-drive the object properties, must data-
drive structure (schema) of the objects
13. Solution: Component System
Each component is a self-contained piece of
game logic
Assemble components into Go‟s to build
complete objects
Specification for assembly driven by data
Lay out data in a C++-style specialization tree
to promote reuse and reduce memory usage
Include and enforce an external schema
16. Extension: Skrit
(DS Scripting Language)
Obvious requirement:
build components out of skrit
Leave high performance components in C++
Permits extremely fast prototyping
– No rebuilds required
– Don‟t even have to restart game (reload on the fly)
Schema is internal
17. Extension: Skrit (Cont.)
Simple implementation (assuming you already
have event-driven scripting language ready)
– GoSkritComponent derivative owns a skrit
– Override all virtuals and pass as events to skrit
Game and editor don‟t know/care difference
between C++ and skrit components
– (Neither do the designers)
20. Alert! Before Moving On
Generic datastore required to continue
– INI file, config file, XML store, RIFF, all the same
– Permits generic data retrieval/storage
– DS has “gas”, think “INI with nesting + goodies^2”
Not difficult to roll your own
– Many books/articles on this
– Probably need one for other parts of the game
anyway (i.e. you‟ll find uses for it no problem)
23. Compile ContentDb
Part 1: Build Schema
1. Process components.gas (C++ table specs)
a. Build table specs directly from .gas spec
2. Recursively scan components base directory
for all skrit components
a. Compile each skrit
b. Build table specs from metadata in
…now we‟ve got the schema constructed.
24. C++ Component Schema (Data)
[t:component,n:gui]
{
doc = "Objects with GUI may be placed in inventory";
required_component* = aspect;
[inventory_icon]
{
type = string; default = b_gui_ig_i_it_def;
doc = "Bitmap displayed when dragging or in inventory";
}
[active_icon]
{
type = string; default = b_gui_ig_i_ic_def;
doc = "Bitmap displayed in quick-select window";
}
...
}
25. Skrit Component Schema (Data)
(Concept adapted from UnrealScript)
property string effect_script$ = ""
doc = "Name of the SiegeFx script that will be providing the visual.";
property string end_script$ = ""
doc = "Name of the SiegeFx script that will be providing the visual “
"when un_summoning.";
property string script_params$ = ""
doc = "Parameters to send to SiegeFx script";
property string template_name$ = ""
doc = "Template name of actor to summon";
property string state_name$ = "summoned"
doc = "Name of effect to use as a generic state and as a screen name.";
property string description$ = ""
doc = "Description of enchantment being applied";
property string caster_description$ = ""
doc = "Description of enchantment being applied to the caster";
property bool guard_caster$ = true
doc = "Make the summoned creature follow the caster.";
property bool change_align$ = true
doc = "set summon alignment to be that of the caster.";
property bool delete_inv$ = true
doc = "delete summons inventory when removed.";
26. Compile ContentDb
Part 2: Build Templates
(This is just prep work)
1. Recursively scan .gas template tree
a. Note: doesn‟t need to be a physical tree
2. Open data handles to each template
3. Keep track of root nodes, build specialization
tree
29. Compile ContentDb
Part 3: Compile Templates
1. Recursively compile templates root-down
2. Add data components on demand
3. Read in values, override base template fields
This is all similar to C++ base-first member
initialization in ctors.
30. Compile ContentDb
Special notes
• We want a flat tree for performance reasons
• Depends on how frequently you construct objects and how fast
your data override system is
• Also permits special const-read optimization that can eliminate
memory usage and CPU for variables that are never changed
• Copy data components on write to avoid unnecessary
memory usage
• If have many templates, will need to JIT compile leaf
templates to save memory
31. Editor Integration
This is almost trivial
Editor should have a property sheet type thing
– This is a one-entry view into the db
– Map types and names onto fields using schema
– Can un-override easily by querying template
– Be sure to add a column or tooltip for docs!
32. Editor Integration (Cont.)
For DS all editing support done through a
special “GoEdit” component
– Transforms data between game object and editor
– Supports cheap rollback (undo) by double buffering
– Does not exist in game, only needed in editor
– Automates saving all game object instances – just
compare vs. the const data and write out if different
Not recommended: permitting forced overrides
of duplicate data
34. Loading Objects
In DS, objects are referenced by content ID
Look up instance block to get template to use
Instantiate Go by that template
– For each block in instance, create a new data
component
– Specialize that data component from base in
template
– Finally iterate through GoComponents and xfer in
data to set initial values
35. New C++ Components
Can be done with little regard for other components
(just add it)
Derive from GoComponent only
– Specializing an existing class just asking for trouble
Add new block to C++ components schema (DOC IT)
Use a factory method
– Simple LUT mapping name „new GoJooky‟
Wait a second, wouldn‟t it be better to write using the
scripting language? (Probably…)
36. New Skrit Components
Same as C++, just stick it in there
Everything should be autodetect here
Extend the scripting language with metadata
– Pass it straight through to schema query
– Can implement flags, docs, and custom game
features like “server only” components etc.
37. Managing the Template Tree
Can be maintained by nearly anyone once it‟s set up
Should have multiple roots for broad types
Try to avoid data duplication
Reserve one branch for test templates
– Mark it dev-only (so is excluded for retail build)
– Prefix with test_ or dev_ to avoid namespace pollution
– DS ended up with 150 or so
38. Advantages I Forgot To Mention
Direct and automatic editor support
Designers can construct their own types to place in the
editor (careful, monitor this!)
By only saving out modified data in instances, can
make global changes easily by modifying templates
Reorganizing the template tree is easy
If embed a sub-tree for designers to build custom views
into the database
39. Some Pitfalls
C++ components prone to becoming intertwined
– Operations can end up being order-dependent, though this is
more easily controlled
– Nothing here is unique to components
It‟s a little too easy to add templates, perhaps
– DS has >7300 of them, many auto-generated
– System was designed for <100
– Need to keep close eye on template complexity to avoid
memory/CPU hog (i.e. unnecessary components or wacky
specialization)
“With power comes responsibility”
40. Future
Schema extensible
Add flags and constraints that editor can use
– Auto-detect when can use color chooser or slider or
listbox or whatever
Add defaults computed from script