Skypicker is a flight ticket search and booking engine that processes hundreds of terabytes of airline data monthly and sells thousands of tickets daily in Europe, Russia, and China. It uses PostgreSQL extensively to power its API and databases. The document discusses Skypicker's PostgreSQL infrastructure, which includes 5 database clusters with over 0.5TB of memory each that handle 20 million updates per hour. It also covers optimizations made to scale the databases, such as table partitioning, cascading replication, and query tuning. Skypicker is currently preparing for a large increase in data and is hiring database masters and developers.
The document discusses the technology stack used at skypicker.com, including their use of uWSGI to serve Python applications for features like booking flights. It describes how uWSGI provides benefits like high performance, flexibility to run on multiple web servers, and abilities like shared memory and managing worker processes. It also compares uWSGI's performance to alternatives like using the Python dictionary or Redis for shared memory.
Donner le goût du ReactiveCocoa. L’objectif de la présentation étant de nous expliquer comment migrer du code lié au KVO vers une implémentation ReactiveCocoa. Cette approche du KVO par ReactiveCocoa permet de comprendre très facilement les bases et l’intérêt de ce nouveau framework et de s’y mettre facilement et progressivement.
The document discusses using Python to write triggers and functions for PostgreSQL. It provides an example of using a Python trigger to pre-calculate recurring calendar events and store them in a separate table to speed up queries. The trigger expands a recurrence rule using a Python library and inserts the occurrences. Python code in the database can perform validation, logging, caching, and more. It allows leveraging Python libraries but requires care around debugging, performance, and transactions.
The document discusses MySQL configuration, table creation, and queries. It shows the innodb_buffer_pool_size being set to 10G in my.cnf but only showing as 2GB in MySQL variables. It creates a table with an index and explains queries using that index. The last part shows using GET_LOCK() and RELEASE_LOCK() calls.
This document summarizes the new features in version 2.6 of MongoDB, including:
1) Aggregation cursors that allow controlling batch size and iterating over aggregation results.
2) A maxTimeMS option that sets a timeout for queries and commands.
3) New and enhanced update operations like $mul, $bit, $min/$max, $currentDate, and $push enhancements.
4) A new security model with roles and rights to customize access control.
This document introduces Grails, a web framework based on Java, Groovy, Spring, and GORM. It discusses how Grails enables rapid development through scaffolding and plugins, supports modern browsers, and allows rendering objects to JSON and XML. The document also provides an overview of Groovy and its similarities to Java, and demonstrates Grails through examples of parallel computing with GPars and calling Clojure code from Grails services.
Skypicker is a flight ticket search and booking engine that processes hundreds of terabytes of airline data monthly and sells thousands of tickets daily in Europe, Russia, and China. It uses PostgreSQL extensively to power its API and databases. The document discusses Skypicker's PostgreSQL infrastructure, which includes 5 database clusters with over 0.5TB of memory each that handle 20 million updates per hour. It also covers optimizations made to scale the databases, such as table partitioning, cascading replication, and query tuning. Skypicker is currently preparing for a large increase in data and is hiring database masters and developers.
The document discusses the technology stack used at skypicker.com, including their use of uWSGI to serve Python applications for features like booking flights. It describes how uWSGI provides benefits like high performance, flexibility to run on multiple web servers, and abilities like shared memory and managing worker processes. It also compares uWSGI's performance to alternatives like using the Python dictionary or Redis for shared memory.
Donner le goût du ReactiveCocoa. L’objectif de la présentation étant de nous expliquer comment migrer du code lié au KVO vers une implémentation ReactiveCocoa. Cette approche du KVO par ReactiveCocoa permet de comprendre très facilement les bases et l’intérêt de ce nouveau framework et de s’y mettre facilement et progressivement.
The document discusses using Python to write triggers and functions for PostgreSQL. It provides an example of using a Python trigger to pre-calculate recurring calendar events and store them in a separate table to speed up queries. The trigger expands a recurrence rule using a Python library and inserts the occurrences. Python code in the database can perform validation, logging, caching, and more. It allows leveraging Python libraries but requires care around debugging, performance, and transactions.
The document discusses MySQL configuration, table creation, and queries. It shows the innodb_buffer_pool_size being set to 10G in my.cnf but only showing as 2GB in MySQL variables. It creates a table with an index and explains queries using that index. The last part shows using GET_LOCK() and RELEASE_LOCK() calls.
This document summarizes the new features in version 2.6 of MongoDB, including:
1) Aggregation cursors that allow controlling batch size and iterating over aggregation results.
2) A maxTimeMS option that sets a timeout for queries and commands.
3) New and enhanced update operations like $mul, $bit, $min/$max, $currentDate, and $push enhancements.
4) A new security model with roles and rights to customize access control.
This document introduces Grails, a web framework based on Java, Groovy, Spring, and GORM. It discusses how Grails enables rapid development through scaffolding and plugins, supports modern browsers, and allows rendering objects to JSON and XML. The document also provides an overview of Groovy and its similarities to Java, and demonstrates Grails through examples of parallel computing with GPars and calling Clojure code from Grails services.
This C++ program allows a user to perform basic arithmetic operations. The user inputs two numbers and selects an operator: addition, subtraction, division, or multiplication. The program then calculates the result and displays it, identifying the operation and the two input numbers. If an invalid operator is selected, the user is prompted to try again.
Accelerating Local Search with PostgreSQL (KNN-Search)Jonathan Katz
KNN-GiST indexes were added in PostgreSQL 9.1 and greatly accelerate some common queries in the geospatial and textual search realms. This presentation will demonstrate the power of KNN-GiST indexes on geospatial and text searching queries, but also their present limitations through some of my experimentations. I will also discuss some of the theory behind KNN (k-nearest neighbor) as well as some of the applications this feature can be applied too.
To see a version of the talk given at PostgresOpen 2011, please visit http://www.youtube.com/watch?v=N-MD08QqGEM
This document discusses using Python to connect to and interact with a PostgreSQL database. It covers:
- Popular Python database drivers for PostgreSQL, including Psycopg which is the most full-featured.
- The basics of connecting to a database, executing queries, and fetching results using the DB-API standard. This includes passing parameters, handling different data types, and error handling.
- Additional Psycopg features like server-side cursors, transaction handling, and custom connection factories to access columns by name rather than number.
In summary, it provides an overview of using Python with PostgreSQL for both basic and advanced database operations from the Python side.
This document discusses deploying applications using Docker in different environments like a single VM or Kubernetes. It provides steps to install Docker on a VM, pull a Docker image, configure ports and environment variables, and run the Docker container to deploy the application. The key steps are to install Docker on the VM, pull the Docker image, configure the container options like ports and environment variables, and run the Docker container to deploy the application inside the VM.
The document provides examples of scripts for performing various operations using VBScript including file system operations, accessing a database to retrieve test data, interacting with browsers and web pages, and manipulating Excel files. The scripts demonstrate how to create and check for files, retrieve data from an Access database to use for data-driven testing, count open browsers and links on a web page, create an Excel file and enter data, and read test data from an external Excel sheet.
Speech of Nihad Abbasov, Senior Software Engineer at Digital Classifieds, at Ruby Meditation 27, Dnipro, 19.05.2019
Slideshare -
Next conference - http://www.rubymeditation.com/
How fast is your code? Performance is crucial as your startup grows, and optimizing your application can make a huge impact on user experience. During this talk, you will learn hints, techniques and best practices for improving the overall speed of your Ruby application.
Announcements and conference materials https://www.fb.me/RubyMeditation
News https://twitter.com/RubyMeditation
Photos https://www.instagram.com/RubyMeditation
The stream of Ruby conferences (not just ours) https://t.me/RubyMeditation
This C++ program defines a class called waqar that contains an integer and string variable. It includes two methods, waqar1() that prompts the user to input their roll number and name, and waqar2() that outputs the roll number and name. The main function creates an instance of the waqar class and calls the two methods to get user input and display the roll number and name.
SBT is a build tool for Scala projects. It uses keys and scopes to configure projects and tasks. Files are located in the project directory and can configure settings, dependencies, and plugins. Operators like := and += are used to set and combine values. Plugins extend the functionality of SBT and can be defined by creating objects that provide settings. The document provides an overview of how SBT works and examples of configuring projects, tasks, and creating plugins.
No More Deadlocks; Asynchronous Programming in .NETFilip Ekberg
In this talk I go over what asynchronous programming is, and how to use it. We will discover how to avoid potential deadlocks and what the best practices are in asynchronous programming in .NET.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2a2Djbp.
Gerard Sans explains RxJS' data architecture based on reactive programming, exploring Observables API using RxJS koans and unit tests. RxJS 5 focuses on performance and usability. Filmed at qconlondon.com.
Gerard Sans is a multi-talented Computer Science Engineer specialised in Web. He has lived and worked for all sorts of companies in Germany, Brazil, UK and Spain. He enjoys running AngularJS Labs London, mentoring AngularJS students, participating in the community, giving talks and writing technical articles at Medium.
The document discusses asynchronous programming in C# using tasks and async/await. It provides examples of using Task.Run to execute work asynchronously and await to wait for asynchronous tasks to complete. It also examines how async/await methods are desugared by the compiler into state machines behind the scenes.
Asynchronous IO is one of the most important building blocks when designing high-performance systems. Over the years various patterns emerged on top of the selector based services provided by the operating system. In this talk I will give a quick overview of the most important asynchronous IO patterns from callbacks to iteratees. Finally I will show how these approaches map to the actor world, introducing the new IO model designed by the Akka and Spray team available in Akka 2.2.
Async Redux Actions With RxJS - React Rally 2016Ben Lesh
Redux-observable allows combining RxJS and Redux by introducing Epics. Epics are Observable streams that handle asynchronous logic in response to Redux actions. This avoids callback hell and enables features like cancellation. An Epic takes an action stream, performs asynchronous operations like AJAX calls using RxJS, and dispatches result actions. This keeps Redux synchronous while managing complex async flows in a declarative and reusable way.
En vieux bourlingueur du langage Swift, Grégoire Lhotellier viendra nous présenter les séquences et les collections du nouveau langage d’Apple. Il nous briefera sur l’essentiel de ce qu’il faut en savoir et ce qu’elles changent par rapport à leurs équivalent Objective-C.
This document discusses using MongoDB as an alternative to PostgreSQL. It provides examples of using MongoDB with PHP and Lithium frameworks. Key points include:
- MongoDB can be used instead of PostgreSQL for applications with dynamic schemas and large amounts of data.
- The document shows examples of basic CRUD operations in MongoDB using PHP drivers and comparisons to PostgreSQL queries.
- Importing and exporting data from MongoDB in JSON or extended JSON formats is covered, including date handling differences from traditional RDBMS.
- Server-side programming in MongoDB using JavaScript is mentioned as an advantage over traditional databases.
Realtime Analytics Using MongoDB, Python, Gevent, and ZeroMQRick Copeland
Zarkov is a real-time analytics platform that uses MongoDB, Python, Gevent, and ZeroMQ to aggregate and analyze event data. It handles high volumes of event ingestion and uses a lightweight map/reduce framework to incrementally calculate statistics. The system was developed at SourceForge.net to monitor user and project activity in real-time and has proven capable of replacing other analytics solutions.
The GPars (Groovy Parallel Systems) project provides multiple abstractions for concurrent, parallel programming in Groovy and Java. Rather than dealing directly with threads, synchronization, and locks, or even the java.util.concurrent classes added in Java 5, the project allows you to think in terms of actors, data flows, or composable asynchronous functions (to name a few).
In this talk, I covered the basics of GPars, including what it's like to learn to use it. Although I've done a fair amount of concurrent programming, I've just started using GPars. As such, this talk should be suitable for Groovy beginners.
The document provides code examples for performing common SQLite database operations using the FMDB library in Objective-C, including opening a database, executing queries to select and insert records, reading results from a query, and using transactions. It also discusses best practices like copying the database file to the documents directory and checking for errors.
This document provides an overview of QB (QueryBuilder), a fluent and chainable syntax for building SQL statements in a database-agnostic way. QB aims to abstract SQL statements from database grammar, help stop concatenating SQL strings, and enable new patterns for managing complex SQL. The document demonstrates how to configure QB, use its query builder syntax to construct queries, and perform CRUD operations in a cleaner way compared to manually writing SQL. Key methods covered include from, select, join, where, orderBy, get, insert, update, and delete.
This document provides an overview of some of the key differences between SQL Server and Oracle databases. It discusses differences in syntax for common SQL statements like joins, subqueries, deletes and data types. It also covers conceptual differences like the connect concept in Oracle and powerful new features in Oracle like regular expressions. The document is intended as a light introduction for SQL Server users moving to Oracle.
This document provides an overview of some of the key differences between SQL Server and Oracle databases. It discusses differences in syntax for common SQL statements like joins, subqueries, deletes and inserts. It also covers conceptual differences like the database/schema structure and data types. The document provides examples to illustrate equivalent syntax between the two database platforms.
This C++ program allows a user to perform basic arithmetic operations. The user inputs two numbers and selects an operator: addition, subtraction, division, or multiplication. The program then calculates the result and displays it, identifying the operation and the two input numbers. If an invalid operator is selected, the user is prompted to try again.
Accelerating Local Search with PostgreSQL (KNN-Search)Jonathan Katz
KNN-GiST indexes were added in PostgreSQL 9.1 and greatly accelerate some common queries in the geospatial and textual search realms. This presentation will demonstrate the power of KNN-GiST indexes on geospatial and text searching queries, but also their present limitations through some of my experimentations. I will also discuss some of the theory behind KNN (k-nearest neighbor) as well as some of the applications this feature can be applied too.
To see a version of the talk given at PostgresOpen 2011, please visit http://www.youtube.com/watch?v=N-MD08QqGEM
This document discusses using Python to connect to and interact with a PostgreSQL database. It covers:
- Popular Python database drivers for PostgreSQL, including Psycopg which is the most full-featured.
- The basics of connecting to a database, executing queries, and fetching results using the DB-API standard. This includes passing parameters, handling different data types, and error handling.
- Additional Psycopg features like server-side cursors, transaction handling, and custom connection factories to access columns by name rather than number.
In summary, it provides an overview of using Python with PostgreSQL for both basic and advanced database operations from the Python side.
This document discusses deploying applications using Docker in different environments like a single VM or Kubernetes. It provides steps to install Docker on a VM, pull a Docker image, configure ports and environment variables, and run the Docker container to deploy the application. The key steps are to install Docker on the VM, pull the Docker image, configure the container options like ports and environment variables, and run the Docker container to deploy the application inside the VM.
The document provides examples of scripts for performing various operations using VBScript including file system operations, accessing a database to retrieve test data, interacting with browsers and web pages, and manipulating Excel files. The scripts demonstrate how to create and check for files, retrieve data from an Access database to use for data-driven testing, count open browsers and links on a web page, create an Excel file and enter data, and read test data from an external Excel sheet.
Speech of Nihad Abbasov, Senior Software Engineer at Digital Classifieds, at Ruby Meditation 27, Dnipro, 19.05.2019
Slideshare -
Next conference - http://www.rubymeditation.com/
How fast is your code? Performance is crucial as your startup grows, and optimizing your application can make a huge impact on user experience. During this talk, you will learn hints, techniques and best practices for improving the overall speed of your Ruby application.
Announcements and conference materials https://www.fb.me/RubyMeditation
News https://twitter.com/RubyMeditation
Photos https://www.instagram.com/RubyMeditation
The stream of Ruby conferences (not just ours) https://t.me/RubyMeditation
This C++ program defines a class called waqar that contains an integer and string variable. It includes two methods, waqar1() that prompts the user to input their roll number and name, and waqar2() that outputs the roll number and name. The main function creates an instance of the waqar class and calls the two methods to get user input and display the roll number and name.
SBT is a build tool for Scala projects. It uses keys and scopes to configure projects and tasks. Files are located in the project directory and can configure settings, dependencies, and plugins. Operators like := and += are used to set and combine values. Plugins extend the functionality of SBT and can be defined by creating objects that provide settings. The document provides an overview of how SBT works and examples of configuring projects, tasks, and creating plugins.
No More Deadlocks; Asynchronous Programming in .NETFilip Ekberg
In this talk I go over what asynchronous programming is, and how to use it. We will discover how to avoid potential deadlocks and what the best practices are in asynchronous programming in .NET.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2a2Djbp.
Gerard Sans explains RxJS' data architecture based on reactive programming, exploring Observables API using RxJS koans and unit tests. RxJS 5 focuses on performance and usability. Filmed at qconlondon.com.
Gerard Sans is a multi-talented Computer Science Engineer specialised in Web. He has lived and worked for all sorts of companies in Germany, Brazil, UK and Spain. He enjoys running AngularJS Labs London, mentoring AngularJS students, participating in the community, giving talks and writing technical articles at Medium.
The document discusses asynchronous programming in C# using tasks and async/await. It provides examples of using Task.Run to execute work asynchronously and await to wait for asynchronous tasks to complete. It also examines how async/await methods are desugared by the compiler into state machines behind the scenes.
Asynchronous IO is one of the most important building blocks when designing high-performance systems. Over the years various patterns emerged on top of the selector based services provided by the operating system. In this talk I will give a quick overview of the most important asynchronous IO patterns from callbacks to iteratees. Finally I will show how these approaches map to the actor world, introducing the new IO model designed by the Akka and Spray team available in Akka 2.2.
Async Redux Actions With RxJS - React Rally 2016Ben Lesh
Redux-observable allows combining RxJS and Redux by introducing Epics. Epics are Observable streams that handle asynchronous logic in response to Redux actions. This avoids callback hell and enables features like cancellation. An Epic takes an action stream, performs asynchronous operations like AJAX calls using RxJS, and dispatches result actions. This keeps Redux synchronous while managing complex async flows in a declarative and reusable way.
En vieux bourlingueur du langage Swift, Grégoire Lhotellier viendra nous présenter les séquences et les collections du nouveau langage d’Apple. Il nous briefera sur l’essentiel de ce qu’il faut en savoir et ce qu’elles changent par rapport à leurs équivalent Objective-C.
This document discusses using MongoDB as an alternative to PostgreSQL. It provides examples of using MongoDB with PHP and Lithium frameworks. Key points include:
- MongoDB can be used instead of PostgreSQL for applications with dynamic schemas and large amounts of data.
- The document shows examples of basic CRUD operations in MongoDB using PHP drivers and comparisons to PostgreSQL queries.
- Importing and exporting data from MongoDB in JSON or extended JSON formats is covered, including date handling differences from traditional RDBMS.
- Server-side programming in MongoDB using JavaScript is mentioned as an advantage over traditional databases.
Realtime Analytics Using MongoDB, Python, Gevent, and ZeroMQRick Copeland
Zarkov is a real-time analytics platform that uses MongoDB, Python, Gevent, and ZeroMQ to aggregate and analyze event data. It handles high volumes of event ingestion and uses a lightweight map/reduce framework to incrementally calculate statistics. The system was developed at SourceForge.net to monitor user and project activity in real-time and has proven capable of replacing other analytics solutions.
The GPars (Groovy Parallel Systems) project provides multiple abstractions for concurrent, parallel programming in Groovy and Java. Rather than dealing directly with threads, synchronization, and locks, or even the java.util.concurrent classes added in Java 5, the project allows you to think in terms of actors, data flows, or composable asynchronous functions (to name a few).
In this talk, I covered the basics of GPars, including what it's like to learn to use it. Although I've done a fair amount of concurrent programming, I've just started using GPars. As such, this talk should be suitable for Groovy beginners.
The document provides code examples for performing common SQLite database operations using the FMDB library in Objective-C, including opening a database, executing queries to select and insert records, reading results from a query, and using transactions. It also discusses best practices like copying the database file to the documents directory and checking for errors.
This document provides an overview of QB (QueryBuilder), a fluent and chainable syntax for building SQL statements in a database-agnostic way. QB aims to abstract SQL statements from database grammar, help stop concatenating SQL strings, and enable new patterns for managing complex SQL. The document demonstrates how to configure QB, use its query builder syntax to construct queries, and perform CRUD operations in a cleaner way compared to manually writing SQL. Key methods covered include from, select, join, where, orderBy, get, insert, update, and delete.
This document provides an overview of some of the key differences between SQL Server and Oracle databases. It discusses differences in syntax for common SQL statements like joins, subqueries, deletes and data types. It also covers conceptual differences like the connect concept in Oracle and powerful new features in Oracle like regular expressions. The document is intended as a light introduction for SQL Server users moving to Oracle.
This document provides an overview of some of the key differences between SQL Server and Oracle databases. It discusses differences in syntax for common SQL statements like joins, subqueries, deletes and inserts. It also covers conceptual differences like the database/schema structure and data types. The document provides examples to illustrate equivalent syntax between the two database platforms.
This document provides an overview of performance tuning and diagnosing hard problems in SQL Server. It discusses tools like Xperf and PerfView that can be used to analyze performance bottlenecks. Specific techniques discussed include using indexes, avoiding unnecessary data conversions and padding, and understanding how query plans like merge and hash joins work at a low level. The document demonstrates how to optimize queries through better data modeling, indexing, and rewriting queries to avoid expensive operations.
This document provides C# code examples for connecting to and interacting with a SQL Server database using the Connect for .NET SQL Server data provider. It includes examples of retrieving data using a DataReader, executing local and distributed transactions, using a CommandBuilder to generate SQL statements, and more. Sample tables (emp and dept) are provided that can be created using SQL scripts or the data provider to support the code examples.
The document provides an overview of advanced SQL injection techniques, including blind SQL injection, data exfiltration, privilege escalation, command execution, uploading files, internal database server exploration, port scanning, and evasion techniques to bypass firewalls and web application firewalls. Specific examples are given for each technique using SQL Server, MySQL, Oracle, and other databases. Prevention methods are also discussed, such as input sanitization, prepared statements, stored procedures, principle of least privilege, and using a web application firewall.
The document provides information on how to connect Python to MySQL and perform various operations like creating databases and tables, inserting, updating, deleting and fetching data. It explains how to install the required Python MySQL connector library and connect to a MySQL server from Python. It then demonstrates commands to create databases and tables, insert, update and delete data, and fetch data using where, order by and limit clauses. It also shows how to drop tables and databases and alter table structures.
Fast Web Applications Development with Ruby on Rails on OracleRaimonds Simanovskis
This document provides an overview of Ruby on Rails and how it can be used to develop fast web applications with an Oracle database backend. It discusses key Rails concepts like MVC architecture and Active Record. It also demonstrates how to connect Rails to Oracle using gems like ruby-oci8, activerecord-oracle_enhanced-adapter, and ruby-plsql to access Oracle data types, stored procedures, and full-text search capabilities. The document concludes with deployment options and pointers to related sessions.
Ruby on Rails is a web application framework built using the Ruby programming language. It is designed to make web development simpler and more productive. Some key principles of Ruby on Rails include convention over configuration, don't repeat yourself (DRY), and opinionated software. Ruby on Rails integrates with Oracle databases using various Oracle adapters and gems that allow access to Oracle data from Ruby and Rails applications.
This document provides an agenda and overview for a presentation on bridging the ESRI platform with Python and other databases. It discusses connection files in ESRI, using ArcPy cursors to read, insert and update data, connecting to databases like Oracle and SQL Server with Python libraries, and using SQLite as an alternative spatial database. It provides code examples for inserting CSV data into a SQLite database table and then inserting that data into a feature class. The final example shows updating data in a SQL Server database table.
When to NoSQL and When to SQL
NoSQL databases are suited for applications that require rapid development, large data growth, and scale out capabilities. They provide flexible data models like documents and key-value stores. SQL remains effective for query-heavy workloads with complex queries over structured data. A hybrid approach using multiple database types can leverage their respective strengths. The right choice depends on factors like data access patterns, consistency needs, and the skills of those using the system.
The Python DB-API standard supports connecting to and interacting with many database servers like MySQL, PostgreSQL, and Oracle. To access a database, a Python module like MySQLdb must be installed. Code examples demonstrate how to connect to a MySQL database, create tables, insert/update/delete records, and handle errors according to the DB-API. Transactions ensure data integrity using atomicity, consistency, isolation, and durability properties.
Working with Databases and Groovy
This document discusses how to work with databases using Groovy. It covers:
- Connecting to databases and using groovy.sql.Sql to execute queries and statements
- Performing reads and writes like inserting, updating, deleting rows
- Calling stored procedures
- Advanced techniques like transactions, batching, pagination
- Using groovy.sql.DataSet to treat tables as collections
It also briefly introduces using MongoDB and Neo4j with Groovy.
This document summarizes Luca Mearelli's presentation on controlling cloud services with Python. It discusses how to connect to and interact with Amazon Web Services like S3, EC2, SQS, and SDB using the Boto Python library. Specific topics covered include creating and managing buckets, keys, and objects in S3; launching, controlling, and securing EC2 instances; sending and receiving messages with SQS queues; and storing and querying structured data in SDB domains with items and attributes.
This document provides an overview of Slick, a library for Scala that facilitates database access and querying. It discusses key Slick concepts like the lifted and direct query APIs, supported databases, and features like being easy, concise, safe, composable and explicit. It also covers topics like database schemas, queries for data definition, manipulation, filtering, sorting, joins and unions. Live code examples are provided throughout to demonstrate how to connect to a database, define schemas, and write various query types in Slick.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
2. Why are the inserts so slow?
10 DTU SQL Database – 10 000 rows
• ForEach loop 15 minutes
• Throw the whole insert – time out and about 4 000 rows written
100 DTU SQL Database – 100 000 rows
• ForEach loop 10 minutes
• Throw the whole insert – time out and about 7 000 rows written
4. Let’s have a look at some code!
Written by a SQL guy ;)
5. What about updates?
• Same patterns can be applied
• Use table value parameters in a stored procedure
• Use Bulk Insert
6. Merge
MERGE Employee AS target
USING
(SELECT [FirstName], [LastName], [SocialSecurityNumber] FROM @employees) AS source
([FirstName], [LastName], [SocialSecurityNumber])
ON
(target.[SocialSecurityNumber] = source.[SocialSecurityNumber])
WHEN MATCHED THEN UPDATE SET
target.FirstName = source.FirstName, target.LastName = source.LastName
WHEN NOT MATCHED THEN INSERT
([FirstName], [LastName], [SocialSecurityNumber]) VALUES (source.[FirstName],
source.[LastName], source.[SocialSecurityNumber]);
7. using (var command = new SqlCommand("", sqlConn))
{
command.CommandText =
"CREATE TABLE #TmpDiskPrice (" +
"[Name] [nvarchar] (400) NOT NULL," +
"[Type] [nvarchar] (400) NOT NULL," +
//Some More things go here
);";
command.ExecuteNonQuery();
using (var bc = new SqlBulkCopy(sqlConn))
{
bc.DestinationTableName = "#TmpDiskPrice";
bc.ColumnMappings.Add("Name", "Name");
bc.ColumnMappings.Add("Type", "Type");
//Some More things go here
bc.WriteToServer(dt2);
}
command.CommandTimeout = 300;
command.CommandText = "MERGE dbo.apiManagedDisks AS Target " +
"USING (SELECT [Name], [RegionName],[currency],[Transactions], " +
"[PremiumSnapshot], [StandardSnapshotLrs], [StandardSnapshotZrs], [Size], [Speed], " +
"[Iops], [Price], [Type] FROM dbo.#TmpDiskPrice) AS Source " +
"ON (Target.Name = Source.Name AND Target.regionName = Source.regionName " +
"AND Target.currency = Source.currency AND Target.Type = Source.Type) " +
"WHEN MATCHED THEN " +
"UPDATE SET Target.Transactions = Source.Transactions, " +
"Target.PremiumSnapshot = Source.PremiumSnapshot," +
"Target.StandardSnapshotLrs = Source.StandardSnapshotLrs, " +
"Target.StandardSnapshotZrs = Source.StandardSnapshotZrs, " +
"Target.Size = Source.Size, " +
"Target.Speed = Source.Speed, " +
"Target.Iops = Source.Iops, " +
"Target.Price = Source.Price " +
"WHEN NOT MATCHED BY TARGET THEN " +
"INSERT([Name], [Type], [regionName],[currency],[Transactions], [StandardSnapshotLrs], [StandardSnapshotZrs]" +
", [PremiumSnapshot], [Size], [Speed], [Iops], [Price]) " +
"VALUES(Source.Name, Source.Type, Source.regionName, Source.currency, " +
"Source.Transactions, Source.StandardSnapshotLrs, Source.StandardSnapshotZrs," +
"Source.PremiumSnapshot ,Source.Size,Source.Speed,Source.Iops, Source.Price); " +
"DROP TABLE #TmpDiskPrice; ";
command.ExecuteNonQuery();