This presentation is Part 25 of the EWD 3 Training Course. It explains the uniquely powerful Document Database capabilities of the EWD 3 abstraction of Global Storage
EWD 3 Training Course Part 24: Traversing a Document's Leaf NodesRob Tweed
This presentation is Part 24 of the EWD 3 Training Course. It examines another way to iterate through Global Storage, via its leaf nodes. In some situations this can be a faster and more efficient technique.
EWD 3 Training Course Part 21: Persistent JavaScript ObjectsRob Tweed
This presentation is Part 21 of the EWD 3 Training Course. It explains how Document Node objects and its $() function allow the abstraction of Persistent JavaScript Objects from Global Storage
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode ObjectsRob Tweed
This presentation is Part 23 of the EWD 3 Training Course. It looks at some of the more advanced techniques that you can use for traversing Global Storage using DocumentNode objects, in particular by NodeName prefixes and ranges
Webinar: Building Your First App in Node.jsMongoDB
Node.js is one of the fastest growing and most popular application frameworks today. It offers a set of features that is both useful and challenging to modern web and back-end developer. Most engineers think of it as a cool, simple, and fast application framework that makes iterative development easier.
In this webinar we will talk about how Node.js and MongoDB interact, discuss the best ways to get started, and walk through how to use MongoDB and Node.js in a set of use cases.
Inside MongoDB: the Internals of an Open-Source DatabaseMike Dirolf
The document discusses MongoDB, including how it stores and indexes data, handles queries and replication, and supports sharding and geospatial indexing. Key points covered include how MongoDB stores data in BSON format across data files that grow in size, uses memory-mapped files for data access, supports indexing with B-trees, and replicates operations through an oplog.
This document discusses using CouchDB on Android applications. It provides instructions on adding CouchDB functionality to an Android project using Couchbase Mobile for Android. It also describes how to access a CouchDB instance from an Android device using Futon and the Couchbase Service. The document contains code examples for creating, reading, updating and deleting CouchDB documents from an Android app.
Look Ma, “update DB to HTML5 using C++”, no hands! aleks-f
This document discusses using C++ and the POCO framework to generate HTML output from database queries without requiring any server-side code generation or browser plugins.
The POCO framework provides classes like RecordSet and RowFormatter that allow querying a database and outputting the results as HTML or other formats. Classes like Poco::Dynamic::Var allow strong typing while retaining flexibility. Together these enable generating HTML output directly from SQL queries in a performance-conscious way without extra processing on the server.
The document discusses the capabilities of HTML5 for building offline applications. It mentions several HTML5 features that enable offline functionality, including application cache, manifest files, and offline events. Application cache allows caching assets defined in a manifest file so the application can work offline. The offline event fires when the browser loses internet connectivity, informing the application it is now offline.
EWD 3 Training Course Part 24: Traversing a Document's Leaf NodesRob Tweed
This presentation is Part 24 of the EWD 3 Training Course. It examines another way to iterate through Global Storage, via its leaf nodes. In some situations this can be a faster and more efficient technique.
EWD 3 Training Course Part 21: Persistent JavaScript ObjectsRob Tweed
This presentation is Part 21 of the EWD 3 Training Course. It explains how Document Node objects and its $() function allow the abstraction of Persistent JavaScript Objects from Global Storage
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode ObjectsRob Tweed
This presentation is Part 23 of the EWD 3 Training Course. It looks at some of the more advanced techniques that you can use for traversing Global Storage using DocumentNode objects, in particular by NodeName prefixes and ranges
Webinar: Building Your First App in Node.jsMongoDB
Node.js is one of the fastest growing and most popular application frameworks today. It offers a set of features that is both useful and challenging to modern web and back-end developer. Most engineers think of it as a cool, simple, and fast application framework that makes iterative development easier.
In this webinar we will talk about how Node.js and MongoDB interact, discuss the best ways to get started, and walk through how to use MongoDB and Node.js in a set of use cases.
Inside MongoDB: the Internals of an Open-Source DatabaseMike Dirolf
The document discusses MongoDB, including how it stores and indexes data, handles queries and replication, and supports sharding and geospatial indexing. Key points covered include how MongoDB stores data in BSON format across data files that grow in size, uses memory-mapped files for data access, supports indexing with B-trees, and replicates operations through an oplog.
This document discusses using CouchDB on Android applications. It provides instructions on adding CouchDB functionality to an Android project using Couchbase Mobile for Android. It also describes how to access a CouchDB instance from an Android device using Futon and the Couchbase Service. The document contains code examples for creating, reading, updating and deleting CouchDB documents from an Android app.
Look Ma, “update DB to HTML5 using C++”, no hands! aleks-f
This document discusses using C++ and the POCO framework to generate HTML output from database queries without requiring any server-side code generation or browser plugins.
The POCO framework provides classes like RecordSet and RowFormatter that allow querying a database and outputting the results as HTML or other formats. Classes like Poco::Dynamic::Var allow strong typing while retaining flexibility. Together these enable generating HTML output directly from SQL queries in a performance-conscious way without extra processing on the server.
The document discusses the capabilities of HTML5 for building offline applications. It mentions several HTML5 features that enable offline functionality, including application cache, manifest files, and offline events. Application cache allows caching assets defined in a manifest file so the application can work offline. The offline event fires when the browser loses internet connectivity, informing the application it is now offline.
The document provides tips and explanations for various MongoDB commands and operations including explain, hint, setProfilingLevel, currentOp, and mongostat. It discusses using indexes to optimize queries, setting profiling levels to log slow queries, using currentOp to view currently running operations, and using mongostat to view MongoDB server statistics.
The document discusses dynamic C++ and the POCO library. It introduces the problem of accessing data in different formats and proposes POCO as a solution. POCO provides classes like RecordSet and Row that allow dynamically binding data and generating output in different formats like XML. It discusses the implementation details of how POCO achieves dynamic and type-safe behavior through templates and classes like Poco::Dynamic::Var.
The document provides an overview of using MongoDB with C# developers. It discusses key MongoDB concepts like document databases and BSON, and how to connect and perform CRUD operations with the C# driver. It also covers more advanced topics like geospatial queries, MapReduce, and GridFS for large files. Resources are provided for further learning about MongoDB and the C# driver.
This document discusses using a multi-model database like ArangoDB for microservices. It explains how ArangoDB can store different data models like key-value, documents, and graphs to support microservices that use different data structures. It provides examples of breaking up a monolithic application into microservices that use different parts of the database, and using Foxx to build REST APIs on top of ArangoDB to integrate microservices.
From mysql to MongoDB(MongoDB2011北京交流会)Night Sailer
The document summarizes differences between MySQL and MongoDB data types and operations. MongoDB uses BSON for data types rather than separate numeric, text and blob types. It supports embedded documents and arrays. Unlike MySQL, MongoDB does not have tables or rows, but collections and documents. Operations like insert, update, find, sort and index are discussed as alternatives to SQL equivalents.
Intravert Server side processing for CassandraEdward Capriolo
The document provides examples of using CQL (Cassandra Query Language) to create and query tables in Cassandra. It shows how to create tables to store user and video data, insert sample records, and perform queries. It then discusses using the IntraVert library to execute more complex queries directly against Cassandra, such as joins, filters, and multi-table operations, in order to reduce network traffic and processing compared to doing everything on the client side.
This document provides an overview of various programming concepts in Groovy including Eclipse IDE basics, assertions, closures, I/O, and functions. It discusses how to set up an Eclipse workspace and Groovy project. It explains that assertions can be used to check code validity and provides examples using assertions. It describes what closures are and provides examples of using closures on lists and maps. It discusses how to perform I/O operations like reading from standard input and files. Finally, it covers functions in Groovy including overloaded functions, default parameter values, and dynamic dispatch based on argument types.
The document discusses Elasticsearch concepts and operations including:
1. Field datatypes in Elasticsearch including simple, hierarchical, and specialized types.
2. Search operations using GET and POST, and query syntax including query_string, bool, date range, and nested queries.
3. Additional query parameters like size, from, sort, filter, and aggregations to customize search results.
4. The scan and scroll API for efficiently retrieving large result sets.
The document contains multiple examples of potential XSS vulnerabilities including JavaScript alerts embedded in tags, URLs, and encoded strings that could execute scripts or display alerts when loaded or clicked on certain web pages. It also includes examples of SQL injection and command injection payloads that could be used to exploit vulnerabilities on websites.
This document provides an introduction to using MongoDB with C# developers. It discusses how to connect to a MongoDB database from a C# application, perform basic CRUD operations on documents using the C# driver, and more advanced features like aggregation, geospatial queries, and gridFS for large files. The document includes code examples for connecting to a database, inserting, finding, updating, and deleting documents, as well as using LINQ queries and the aggregation framework. Resources for learning more about the MongoDB C# driver are also provided.
Just a few years ago all software systems were designed to be monoliths running on a single big and powerful machine. But nowadays most companies desire to scale out instead of scaling up, because it is much easier to buy or rent a large cluster of commodity hardware then to get a single machine that is powerful enough. In the database area scaling out is realized by utilizing a combination of polyglot persistence and sharding of data. On the application level scaling out is realized by microservices. In this talk I will briefly introduce the concepts and ideas of microservices and discuss their benefits and drawbacks. Afterwards I will focus on the point of intersection of a microservice based application talking to one or many NoSQL databases. We will try and find answers to these questions: Are the differences to a monolithic application? How to scale the whole system properly? What about polyglot persistence? Is there a data-centric way to split microservices?
This document discusses various ways to configure databases and populate data in Grails applications. It begins by explaining how to set environment-specific database configuration in DataSource.groovy, including setting the database URL and initialization strategy. It also covers using HSQLDB to store the database in a file. The document then discusses how to populate data at application startup using BootStrap.groovy, including conditionally adding a sample user. Finally, it briefly mentions uploading a file to populate messages from an RSS feed.
MongoDB World 2016: Deciphering .explain() OutputMongoDB
The document discusses different explain modes for MongoDB queries and aggregations. It begins with an overview of explain() and query plans, then covers the default "queryPlanner" mode which shows the winning and rejected plans. It also mentions the "executionStats" and "allPlansExecution" modes which provide more runtime statistics. The document aims to help understand how queries and aggregations are executed and troubleshoot performance issues.
As a result of an engine rewrite with focus on more efficient data structures, PHP 7 offers much improved performance and memory usage. This session describes important aspects of the new implementation and how it compares to PHP 5. A particular focus will be on the representation of values, arrays and objects.
The document provides code examples for common PHP tasks like validating emails, resizing images, parsing JSON/XML, sending mail, and zipping/unzipping files. It includes functions for checking email addresses, getting the real IP address, importing CSV files, detecting mobile devices, downloading images, and more. Each code snippet is accompanied by a brief description of its use.
Cascading provides a simpler way to write MapReduce programs through data flows. It uses a pipe and tap metaphor where data flows through pipes and is read from or written to taps. This allows assembling MapReduce jobs as data flow graphs in a more logical way compared to the traditional MapReduce API.
From banking details to glimpses of passwords, there are lots valuable data elements on your screen. Unfortunately, as far as Apple’s Mac is concerned this information is up for grabs to whoever gets there first. This is due to the lack of protections surrounding the pixel grabbing API’s of the operating system. With ease of access to computer vision libraries and services, attackers can track screens at scale to pick out only the useful information.
Apple ships a screen capture utility to make it easy for the user to take screenshots. In this presentation, we will lift the bonnet of this utility to learn about the API’s surrounding screen grabbing. Armed with the knowledge, we will explore discovered malware that takes screenshots. Then, we will build better, stealthier malware as an educational exercise. And finally, we will explore some options for improving security of the operating system so that the user can continue enjoying the convenience of taking screenshots but malware would have to work harder.
EWD 3 Training Course Part 20: The DocumentNode ObjectRob Tweed
This presentation is Part 20 of the EWD 3 Training Course. It begins an in-depth examination of EWD 3's JavaScript abstraction of Global Storage, starting with the underlying concept, and then examining the core part of the abstraction: the DocumentNode Object.
The document provides tips and explanations for various MongoDB commands and operations including explain, hint, setProfilingLevel, currentOp, and mongostat. It discusses using indexes to optimize queries, setting profiling levels to log slow queries, using currentOp to view currently running operations, and using mongostat to view MongoDB server statistics.
The document discusses dynamic C++ and the POCO library. It introduces the problem of accessing data in different formats and proposes POCO as a solution. POCO provides classes like RecordSet and Row that allow dynamically binding data and generating output in different formats like XML. It discusses the implementation details of how POCO achieves dynamic and type-safe behavior through templates and classes like Poco::Dynamic::Var.
The document provides an overview of using MongoDB with C# developers. It discusses key MongoDB concepts like document databases and BSON, and how to connect and perform CRUD operations with the C# driver. It also covers more advanced topics like geospatial queries, MapReduce, and GridFS for large files. Resources are provided for further learning about MongoDB and the C# driver.
This document discusses using a multi-model database like ArangoDB for microservices. It explains how ArangoDB can store different data models like key-value, documents, and graphs to support microservices that use different data structures. It provides examples of breaking up a monolithic application into microservices that use different parts of the database, and using Foxx to build REST APIs on top of ArangoDB to integrate microservices.
From mysql to MongoDB(MongoDB2011北京交流会)Night Sailer
The document summarizes differences between MySQL and MongoDB data types and operations. MongoDB uses BSON for data types rather than separate numeric, text and blob types. It supports embedded documents and arrays. Unlike MySQL, MongoDB does not have tables or rows, but collections and documents. Operations like insert, update, find, sort and index are discussed as alternatives to SQL equivalents.
Intravert Server side processing for CassandraEdward Capriolo
The document provides examples of using CQL (Cassandra Query Language) to create and query tables in Cassandra. It shows how to create tables to store user and video data, insert sample records, and perform queries. It then discusses using the IntraVert library to execute more complex queries directly against Cassandra, such as joins, filters, and multi-table operations, in order to reduce network traffic and processing compared to doing everything on the client side.
This document provides an overview of various programming concepts in Groovy including Eclipse IDE basics, assertions, closures, I/O, and functions. It discusses how to set up an Eclipse workspace and Groovy project. It explains that assertions can be used to check code validity and provides examples using assertions. It describes what closures are and provides examples of using closures on lists and maps. It discusses how to perform I/O operations like reading from standard input and files. Finally, it covers functions in Groovy including overloaded functions, default parameter values, and dynamic dispatch based on argument types.
The document discusses Elasticsearch concepts and operations including:
1. Field datatypes in Elasticsearch including simple, hierarchical, and specialized types.
2. Search operations using GET and POST, and query syntax including query_string, bool, date range, and nested queries.
3. Additional query parameters like size, from, sort, filter, and aggregations to customize search results.
4. The scan and scroll API for efficiently retrieving large result sets.
The document contains multiple examples of potential XSS vulnerabilities including JavaScript alerts embedded in tags, URLs, and encoded strings that could execute scripts or display alerts when loaded or clicked on certain web pages. It also includes examples of SQL injection and command injection payloads that could be used to exploit vulnerabilities on websites.
This document provides an introduction to using MongoDB with C# developers. It discusses how to connect to a MongoDB database from a C# application, perform basic CRUD operations on documents using the C# driver, and more advanced features like aggregation, geospatial queries, and gridFS for large files. The document includes code examples for connecting to a database, inserting, finding, updating, and deleting documents, as well as using LINQ queries and the aggregation framework. Resources for learning more about the MongoDB C# driver are also provided.
Just a few years ago all software systems were designed to be monoliths running on a single big and powerful machine. But nowadays most companies desire to scale out instead of scaling up, because it is much easier to buy or rent a large cluster of commodity hardware then to get a single machine that is powerful enough. In the database area scaling out is realized by utilizing a combination of polyglot persistence and sharding of data. On the application level scaling out is realized by microservices. In this talk I will briefly introduce the concepts and ideas of microservices and discuss their benefits and drawbacks. Afterwards I will focus on the point of intersection of a microservice based application talking to one or many NoSQL databases. We will try and find answers to these questions: Are the differences to a monolithic application? How to scale the whole system properly? What about polyglot persistence? Is there a data-centric way to split microservices?
This document discusses various ways to configure databases and populate data in Grails applications. It begins by explaining how to set environment-specific database configuration in DataSource.groovy, including setting the database URL and initialization strategy. It also covers using HSQLDB to store the database in a file. The document then discusses how to populate data at application startup using BootStrap.groovy, including conditionally adding a sample user. Finally, it briefly mentions uploading a file to populate messages from an RSS feed.
MongoDB World 2016: Deciphering .explain() OutputMongoDB
The document discusses different explain modes for MongoDB queries and aggregations. It begins with an overview of explain() and query plans, then covers the default "queryPlanner" mode which shows the winning and rejected plans. It also mentions the "executionStats" and "allPlansExecution" modes which provide more runtime statistics. The document aims to help understand how queries and aggregations are executed and troubleshoot performance issues.
As a result of an engine rewrite with focus on more efficient data structures, PHP 7 offers much improved performance and memory usage. This session describes important aspects of the new implementation and how it compares to PHP 5. A particular focus will be on the representation of values, arrays and objects.
The document provides code examples for common PHP tasks like validating emails, resizing images, parsing JSON/XML, sending mail, and zipping/unzipping files. It includes functions for checking email addresses, getting the real IP address, importing CSV files, detecting mobile devices, downloading images, and more. Each code snippet is accompanied by a brief description of its use.
Cascading provides a simpler way to write MapReduce programs through data flows. It uses a pipe and tap metaphor where data flows through pipes and is read from or written to taps. This allows assembling MapReduce jobs as data flow graphs in a more logical way compared to the traditional MapReduce API.
From banking details to glimpses of passwords, there are lots valuable data elements on your screen. Unfortunately, as far as Apple’s Mac is concerned this information is up for grabs to whoever gets there first. This is due to the lack of protections surrounding the pixel grabbing API’s of the operating system. With ease of access to computer vision libraries and services, attackers can track screens at scale to pick out only the useful information.
Apple ships a screen capture utility to make it easy for the user to take screenshots. In this presentation, we will lift the bonnet of this utility to learn about the API’s surrounding screen grabbing. Armed with the knowledge, we will explore discovered malware that takes screenshots. Then, we will build better, stealthier malware as an educational exercise. And finally, we will explore some options for improving security of the operating system so that the user can continue enjoying the convenience of taking screenshots but malware would have to work harder.
EWD 3 Training Course Part 20: The DocumentNode ObjectRob Tweed
This presentation is Part 20 of the EWD 3 Training Course. It begins an in-depth examination of EWD 3's JavaScript abstraction of Global Storage, starting with the underlying concept, and then examining the core part of the abstraction: the DocumentNode Object.
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWDRob Tweed
This presentation is Part 28 of the EWD 3 Training Course. It is included for people who wish to modernise legacy Mumps/Cache applications, and explains how to integrate existing legacy Mumps/Cache ObjectScript code with QEWD
EWD 3 Training Course Part 19: The cache.node APIsRob Tweed
This presentation is Part 19 of the EWD 3 Training Course. It examines how to access a Global Storage database from JavaScript, by making use of the cache.node APIs
EWD 3 Training Course Part 18: Modelling NoSQL Databases using Global StorageRob Tweed
This presentation is Part 18 of the EWD 3 Training Course. It examines how the 4 main NoSQL database types can be modelled using a Global Storage Database
EWD 3 Training Course Part 16: QEWD ServicesRob Tweed
This presentation is Part 16 of the EWD 3 Training Course. It describes and explains QEWD Services and shows you how to use them to create re-usable back-end message handlers.
EWD 3 Training Course Part 30: Modularising QEWD ApplicationsRob Tweed
This presentation is Part 30 of the EWD 3 Training Course. It explains the main techniques you can use for breaking a QEWD application into separate re-usable modules, allowing for easier maintenance and team development
EWD 3 Training Course Part 27: The QEWD SessionRob Tweed
This presentation is Part 27 of the EWD 3 Training Course. It explains how to access and manipulate a user's Session data using the DocumentNode APIs that have been described in previous Parts of this course
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...Rob Tweed
This is part 37 of the EWD 3 Training Course. This presentation introduces and and begins to explore how to develop a React.js application that integrates with QEWD
EWD 3 Training Course Part 15: Using a Framework other than jQuery with QEWDRob Tweed
This document discusses using QEWD, a framework for building real-time web applications, with frameworks other than jQuery. It states that QEWD is framework agnostic and can be used with any framework like Angular, React, Ember, and ExtJS. It provides an example of integrating QEWD with ExtJS by starting EWD after the DOM loads and handling the ewd-registered event to send messages to the backend. It also notes there are separate slide decks on using QEWD specifically with React.
EWD 3 Training Course Part 33: Configuring QEWD to use CORSRob Tweed
This presentation is Part 33 of the EWD 3 Training Course. It explains how to configure your QEWD system to enable Cross Origin Resource Sharing (CORS)
EWD 3 Training Course Part 35: QEWD Session LockingRob Tweed
This is part 35 of the EWD 3 Training Course. This presentation explains how QEWD supports Session locking, which prevents two simultaneously invoked requests from the same QEWD session from using the QEWD session simultaneously
EWD 3 Training Course Part 5b: First Steps in Building a QEWD ApplicationRob Tweed
This presentation is part 5 in the EWD 3 Training Course. It describes the first steps you should take when building a browser-based desktop QEWD application. This version of Part 5 is for anyone using QEWD on Linux or a Raspberry Pi.
EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...Rob Tweed
This presentation is Part 13 of the EWD 3 Training Course. It pulls together everything we've covered in the previous 12 lessons in a worked example QEWD application
EWD 3 Training Course Part 7: Applying the QEWD Messaging PatternRob Tweed
This presentation is Part 7 of the EWD 3 Training Course. It takes you through the QEWD messaging pattern which is applied to the demonstration application that you'd started in Part 6
EWD 3 Training Course Part 6: What Happens when a QEWD Application is StartedRob Tweed
When a QEWD application is started, it triggers the EWD.start() function which establishes a web socket connection to the QEWD backend. This connection registers the client application within QEWD. A session is created, assigned a token, and returned to the client. This allows the client and backend to communicate securely using the session token as a reference.
EWD 3 Training Course Part 34: QEWD Resilient ModeRob Tweed
This is part 34 of the EWD 3 Training Course. This presentation explains how you can add resilience to the message queue used by QEWD by making it save all incoming requests to your embedded Global Storage database. In Resilient Mode, QEWD also saves a copy of all responses sent to clients, so the stored activity information can be used as an audit trail.
The document discusses iterating through the leaf nodes of a nested document structure. It introduces the forEachLeafNode() method, which allows iterating through just the leaf nodes (those with no child nodes) in one pass, rather than requiring multiple nested loops. This is more efficient for traversing large, deeply nested documents than recursively iterating child nodes. Examples are given showing how to access the node values and path arrays using the leaf node objects.
The document discusses iterating through the leaf nodes of a nested document structure. It explains that using forEachLeafNode allows iterating through just the terminal nodes with values in one pass, rather than requiring multiple nested loops to traverse the entire structure. forEachLeafNode calls a callback function, passing the value and leaf node object for each terminal node. This avoids inefficiently traversing all nodes and allows early termination by returning true from the callback.
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode ObjectsRob Tweed
This presentation is Part 22 of the EWD 3 Training Course. It examines how to traverse Documents and navigate within them using DocumentNode methods and properties
The document shows examples of using switch statements in Groovy with different data types and cases. It demonstrates matching strings, regular expressions, ranges, collections, objects, null values, and using a closure as a case.
The document defines the ad slot configurations for various placements on a webpage, including top, right, middle, and bottom sections. It specifies the ad slot types, dimensions, and embedded JavaScript code to retrieve ads from third-party servers and render them on the page.
The document provides examples of using the TinkerGraph graph database and Gremlin traversal language. It shows how to:
1) Create a TinkerGraph, add vertices and edges, and get basic graph information and elements.
2) Perform common traversals in Gremlin such as getting vertex neighbors, paths, filtering, transforming properties, and looping through connections.
3) Demonstrate more complex multi-step traversals using pipes and filters, conditional branching, and other Gremlin steps and predicates.
Best Bugs from Games: Fellow Programmers' MistakesAndrey Karpov
George Gribkov will present on errors found in the code of popular games like System Shock, Doom 3, and osu!. He will discuss how his tool searches for code errors, provide examples of bugs detected, and conclude his presentation. The examples will showcase issues like unused variables, incorrect increment variables in for loops, null pointer dereferences, and misunderstandings of operators like ??. Corrections will be proposed to address the bugs.
We use tokens to identify resources and try to ensure data security in insecure environments, however the management of these tokens can get quite complex. When we have distributed environments things are harder to deal with. Come to the magical world of JSON Web Tokens and make your life simpler!
lldb kann mehr als nur einfache Breakpoints oder po. In dem Vortrag zeigt Oliver Bayer, wie sich mit Hilfe von lldb Programmcode zur Ausführungszeit manipulieren lässt, ohne das hierfür der Sourcecode anzupassen ist. Sei es, damit Test- oder Debugcode nicht in die produktiv App gelangt, oder weil der Sourcecode für einen Teil der App nicht vorliegt.
Event: macoun, 04.10.2019
Speaker: Oliver Bayer, inovex
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
The document discusses the Dojo JavaScript toolkit. It provides an overview of what Dojo is, including that it is a lightweight JavaScript toolkit with modular components for tasks like charts, calendars, file uploads and more. It also discusses Dojo's build system for concatenating and minifying files, its module loading system, and patterns used like ambiguous constructors, chaining and deferreds. The document promotes Dojo's large developer community and active development.
For developers new to MongoDB and Node.js, however, some the common design patterns are very different than those of a RDBMS and traditional synchronous languages. Developers learning these technologies together may find it a bit bewildering. In reality, however, these tools fit perfectly together and enable I high degree of developer productivity and application performance.
This webinar will walk developers through common MongoDB development patterns in Node.js, such as efficiently loading data into MongoDB using MongoDB's bulk API, iterating through query results, and managing simultaneous asynchronous MongoDB queries to provide the best possible application performance. Working Node.js and MongoDB examples will be used throughout the presentation.
Need help with questions 2-4. Write assembly code to find absolute v.pdffeelinggifts
Need help with questions 2-4. Write assembly code to find absolute values of a data word (2 byte
word) stored at address $0200 and write the absolute value at $0300. Two 16-bit signed values
are stored at $0A00 (they each take 2 bytes). Please write assembly code to sort them in
descending order (so that $0A02 has the smallest, and $0A00 has the largest). Could you sort the
same way for 50 such words? Write a piece of Assembly code to (a) allocate a string named
message to contain good day! (all the underlined characters) at location $0F00; (b) How many
bytes would it need?; (c) The rest of the code you write should compare the contents in register
A with each character in this message. If a match is found, put the NULL character in register A,
and get register B to contain the character G (ascii value). Write HCS12 assembly code to do the
following. Using ORG and DC.W directives declare and initialize a data array of 8 words (1
word = 1 integer in I ICS 12 - 2 bytes) starting at address S0200. Their initial values are to be
A367, F238,0012, 1972, 1132, AB88, 7399, and 1864. You can name the array EightInts (see
class notes or text examples). Now start your program code at $4000 (ORG directive).
Configure the direction of port A, port B, and port H to be inputs (i.e. set data directional
registers). We are going to consider port A as the high byte, and port B as low byte of data words
we want to read and compare against eighties using a loop. The idea is to see whether port A and
port B values taken as a 2 byte integer is equal to any of the values in eightins. Before starting to
compare values, the program waits until port H is all 1\'s then it reads port A, and port B before
comparing against eighties. if a match is found, your program branches to label found and stay at
that instruction. If no match, the program should branch to no luck label and stay there.
Solution
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.util.*;
//Primary class for the game
public class Asteroids extends Applet implements Runnable, KeyListener{
/**
*
*/
private static final long serialVersionUID = 1L;
//the main thread becomes the game loop
Thread gameloop;
//use this as a double buffer
BufferedImage backbuffer;
//the main drawing object for the back buffer
Graphics2D g2d;
//toggle for drawing bounding boxes
boolean showBounds = false;
//create the asteroid array
int ASTEROIDS = 20;
Asteroid[] ast = new Asteroid[ASTEROIDS];
//create the bullet array
int BULLETS = 10;
Bullet[] bullet = new Bullet[BULLETS];
int currentBullet = 0;
//the player\'s ship
Ship ship = new Ship();
//create the identity transform (0.0)
AffineTransform identity = new AffineTransform();
//create a random number generator
Random rand = new Random();
//applet init event
public void init(){
//create the back buffer for smooth graphics
backbuffer = new BufferedImage(640, 480,BufferedImage.TYPE_INT_RGB);
g2d = backbuff.
In this talk, we'll explore some of the tools available for measuring software quality. We'll dive into some of the theory behind the metrics that they analyze while looking at some real world applications of those metrics. We'll also explore how to use these tools to gain valuable insight into legacy codebases.
Bob Tiernay explores the fascinating world of jq, "the JSON Processor”. Starting with a motivation, he then covers the language, provides helpful tips, showcases a real world example, cautions some things to avoid and finishes with a discussion of the ecosystem.
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...DevGAMM Conference
Один из лучших способов снизить количество багов в играх – это показывать программистам, как не стоит писать код. В своём докладе я соберу самые вкусные и необычные ошибки, которые удалось найти в C++ и C# коде таких игр, как VVVVVV, Space Engineers, Command & Conquer, osu! и даже Doom. Я уверен, что каждый из слушателей обязательно узнает для себя что-то новое. В конце концов, это просто приятно – лично увидеть ошибки из кода знакомой и любимой игры!
This document provides examples and explanations of various JavaScript and TypeScript features including:
- Template literals and string interpolation
- let and const variable declarations
- Property shorthand syntax
- Object destructuring
- Spread operators
- Arrow functions
- Optional chaining
- Named exports and imports in ES modules
- Default exports in ES modules
- Fetching data with fetch API and promises
- Using the Axios library for HTTP requests
- Async/await syntax
- Mapping, filtering, and finding array elements
- Immutability with object and array methods
- Primitive and complex data types in TypeScript like interfaces, enums, and type aliases
js+ts fullstack typescript with react and express.pdfNuttavutThongjor1
The document provides an overview of various JavaScript and TypeScript features including:
1. Template strings, let/const, property shorthand, destructuring, spread operators, arrow functions, optional chaining, export/import syntax for ES modules, fetch API, Axios, async/await, and functional programming concepts like immutability, map, filter, find.
2. An introduction to TypeScript including setting up a project, primitive data types, interfaces, classes, functions, and union/intersection types.
3. Examples are provided to demonstrate many of these features like template strings, destructuring, spread operators, map/filter functions, and type aliases.
Similar to EWD 3 Training Course Part 25: Document Database Capabilities (20)
LNUG: Having Your Node.js Cake and Eating It TooRob Tweed
The document discusses using Node.js for server-side applications. It introduces QEWD, a Node.js platform that allows running code in isolated worker processes to avoid Node.js's concurrency issues. QEWD uses a master process to queue incoming requests and dispatch them to separate worker processes. This allows Node.js code to leverage synchronous logic and avoid CPU-intensive tasks blocking other requests. The document argues this allows developers to "have their Node.js cake and eat it" by using Node.js for all application needs.
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService FunctionalityRob Tweed
This document discusses advanced microservice functionality in QEWD, including templated routes, dynamic path-defined destinations, federated composite microservices, redirection of responses, and chained microservices. It provides an example of extending a previous login microservice example to demonstrate these features. Templated routes allow variable path components that are passed to handler functions. Security is improved by adding authentication against JSON web tokens in the beforeMicroserviceHandler function.
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.jsRob Tweed
This is part 44 of the EWD 3 Training Course. In this presentation we'll examine how multiple QEWD.js systems can be configured to break down your applications into highly scalable, high-performance MicroServices
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST ServicesRob Tweed
This is part 43 of the EWD 3 Training Course. In this presentation, you'll learn how to use JSON Web Tokens (JWTs) instead of server-side QEWD Sessions in your REST Services
This presentation explains the new functionality within QEWD that supports the use of JSON Web Tokens and which allows QEWD.js to provide a powerful yet simple-to-use MicroService architecture
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST ServicesRob Tweed
This presentation provides an introduction to the Node.js-based ewd-qoper8-vistarpc module, which is designed to integrate with VistA - the US Dept of Veterans' Affairs EHR - exposing its RPCs as REST Services
- qewd-ripple is a demonstration version of the Node.js-based middle tier for the Ripple OSI Application that integrates multiple OpenEHR servers and provides a unified interface through its REST API.
- It uses the QEWD framework and can be installed on Ubuntu 16.04 or a Raspberry Pi through scripts. Key components include Node.js, QEWD, Redis or GT.M for global storage, MySQL, and the Ripple UI.
- The QEWD architecture handles incoming REST requests through a master process and worker processes to provide asynchronous and isolated request processing.
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 4Rob Tweed
The document discusses building a React application with sub-components. It begins with a simple single component application and shows how to break it into a hierarchy with multiple sub-components. It demonstrates creating <Title> and <Content> sub-component modules and rendering them from the parent <MainPage> component. It also discusses passing a controller object between components and fixing errors that occur when returning multiple JSX elements from the render method.
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3Rob Tweed
This document discusses separating concerns in React components. It provides an example of extracting the dynamic logic from a React component into a separate controller module. This keeps the component focused only on the view logic and renders. The controller module is required by the component and handles any asynchronous behavior or state updates. Separating these concerns improves modularity and makes the code easier to understand and maintain. The example transforms an existing component to use this pattern by moving the dynamic code into a new controller file and augmenting the main component with the controller's methods.
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 2Rob Tweed
This is part 38 of the EWD 3 Training Course. This presentation begins to explore in detail how to develop a React.js application that integrates with QEWD
EWD 3 Training Course Part 36: Accessing REST and Web Services from a QEWD ap...Rob Tweed
This document describes how to create a REST proxy using QEWD. It involves:
1. Amending the backend restDemo.js module to extract the REST call logic into a separate function and define a 'proxy' handler function.
2. Setting the module to be a REST module.
3. Having the proxy handler function invoke the extracted REST call logic to proxy requests to the actual REST service.
4. Adding a route in the QEWD startup file to route the /api/proxy URL to the proxy handler function, exposing the REST service via the proxy.
This allows the module to act as a REST proxy to the external JSONPlaceholder service while still supporting normal interactive apps
EWD 3 Training Course Part 29: Running QEWD as a ServiceRob Tweed
This presentation is Part 29 of the EWD 3 Training Course. It explains how to run QEWD Node.js as a background service on Windows and Linux systems, instead of running it as a foreground process in a Command Prompt or Terminal window.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
When it is all about ERP solutions, companies typically meet their needs with common ERP solutions like SAP, Oracle, and Microsoft Dynamics. These big players have demonstrated that ERP systems can be either simple or highly comprehensive. This remains true today, but there are new factors to consider, including a promising new contender in the market that’s Odoo. This blog compares Odoo ERP with traditional ERP systems and explains why many companies now see Odoo ERP as the best choice.
What are ERP Systems?
An ERP, or Enterprise Resource Planning, system provides your company with valuable information to help you make better decisions and boost your ROI. You should choose an ERP system based on your company’s specific needs. For instance, if you run a manufacturing or retail business, you will need an ERP system that efficiently manages inventory. A consulting firm, on the other hand, would benefit from an ERP system that enhances daily operations. Similarly, eCommerce stores would select an ERP system tailored to their needs.
Because different businesses have different requirements, ERP system functionalities can vary. Among the various ERP systems available, Odoo ERP is considered one of the best in the ERp market with more than 12 million global users today.
Odoo is an open-source ERP system initially designed for small to medium-sized businesses but now suitable for a wide range of companies. Odoo offers a scalable and configurable point-of-sale management solution and allows you to create customised modules for specific industries. Odoo is gaining more popularity because it is built in a way that allows easy customisation, has a user-friendly interface, and is affordable. Here, you will cover the main differences and get to know why Odoo is gaining attention despite the many other ERP systems available in the market.
Mobile app Development Services | Drona InfotechDrona Infotech
Drona Infotech is one of the Best Mobile App Development Company In Noida Maintenance and ongoing support. mobile app development Services can help you maintain and support your app after it has been launched. This includes fixing bugs, adding new features, and keeping your app up-to-date with the latest
Visit Us For :
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
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
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.