The document provides an introduction to RxJava, a library for composing asynchronous and event-based programs using observable sequences for the Java VM. It discusses how RxJava allows for declaratively composing sequences of data and/or events in a way that is similar to functional programming concepts like map, filter, and reduce. This enables concise yet powerful representations of asynchronous data streams and event processing.
Jako opiekun praktyk, stażów, mentor młodszych kolegów i koleżanek z zespołu, osoba odpowiedzialna za rekrutację techniczną, a także programista, który każdego dnia pracuje z oprogramowaniem dane mi było widzieć wiele błędów, złych zachowań i pomyłek w podejściu do tworzenia czystego kodu. Chciałbym się z Wami podzielić tymi najczęstszymi wpadkami w pracy z językiem Java. To nie będzie zwyczajna pogawędka! Zobaczycie kod źródłowy i ostry refaktoring. Zobaczycie, jak proste zmiany i lepsze zrozumienie samego języka mogą poprawić wydajność i czytelność Waszych aplikacji. Na podstawie całkiem prostych fragmentów kodu pokażę, na co zwrócić uwagę, żeby - to zabrzmi banalnie - być lepszym. Prezentacja dla wszystkich, którzy są na początku (i nie tylko) wspaniałej przygody z programowaniem (i zawrotnej kariery!).
This code is merging employee data from two files into matched and unmatched tables based on social security number. It loads configuration settings from an XML file to get the file paths. It then reads the CSV and fixed width files, compares the records to find matches, and writes the results to two output files - one for matched records and one for unmatched records. Logging statements are added to a list to be written to a log file.
This document provides an overview of basic usage of the Apache Spark framework for data analysis. It describes what Spark is, how to install it, and how to use it from Scala, Python, and R. It also explains the key concepts of RDDs (Resilient Distributed Datasets), transformations, and actions. Transformations like filter, map, join, and reduce return new RDDs, while actions like collect, count, and first return results to the driver program. The document provides examples of common transformations and actions in Spark.
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018Codemotion
Kotlin is a programming language developed by JetBrains that targets multiple platforms including the JVM, JavaScript, and native binaries. A year ago it has been adopted as an officially supported language for Android development. Kotlin offers clean and concise syntax, interoperability, both object-oriented and functional code constructs, and a lot of other cool features with little or no overhead. Let's find out together why developers love this language and how it helps them to be productive and have fun!
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)MongoSF
The document appears to be notes from a MongoDB training session that discusses various MongoDB features like MapReduce, geospatial indexes, and GridFS. It also covers topics like database commands, indexing, and querying documents with embedded documents and arrays. Examples are provided for how to implement many of these MongoDB features and functions.
The document contains code snippets in Java for getting different types of information. This includes code to get the hostname, month from a date, IP address, memory size and usage, and more. The code uses various Java classes and methods like InetAddress, DateFormat, Runtime etc. to retrieve the desired information and print/return the output.
The document provides details of SQL projects and stored procedures developed by Chris McGlothen including:
1. Projects for a bank, library, and online movie rental company including ER diagrams and stored procedures for transactions, reports, and security.
2. Stored procedures use try/catch blocks and handle errors, dynamic SQL, and pass back data to callers.
3. Projects include backup and recovery plans with log shipping and security roles, stored procedures instead of dynamic SQL, and principle of least privilege.
Jako opiekun praktyk, stażów, mentor młodszych kolegów i koleżanek z zespołu, osoba odpowiedzialna za rekrutację techniczną, a także programista, który każdego dnia pracuje z oprogramowaniem dane mi było widzieć wiele błędów, złych zachowań i pomyłek w podejściu do tworzenia czystego kodu. Chciałbym się z Wami podzielić tymi najczęstszymi wpadkami w pracy z językiem Java. To nie będzie zwyczajna pogawędka! Zobaczycie kod źródłowy i ostry refaktoring. Zobaczycie, jak proste zmiany i lepsze zrozumienie samego języka mogą poprawić wydajność i czytelność Waszych aplikacji. Na podstawie całkiem prostych fragmentów kodu pokażę, na co zwrócić uwagę, żeby - to zabrzmi banalnie - być lepszym. Prezentacja dla wszystkich, którzy są na początku (i nie tylko) wspaniałej przygody z programowaniem (i zawrotnej kariery!).
This code is merging employee data from two files into matched and unmatched tables based on social security number. It loads configuration settings from an XML file to get the file paths. It then reads the CSV and fixed width files, compares the records to find matches, and writes the results to two output files - one for matched records and one for unmatched records. Logging statements are added to a list to be written to a log file.
This document provides an overview of basic usage of the Apache Spark framework for data analysis. It describes what Spark is, how to install it, and how to use it from Scala, Python, and R. It also explains the key concepts of RDDs (Resilient Distributed Datasets), transformations, and actions. Transformations like filter, map, join, and reduce return new RDDs, while actions like collect, count, and first return results to the driver program. The document provides examples of common transformations and actions in Spark.
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018Codemotion
Kotlin is a programming language developed by JetBrains that targets multiple platforms including the JVM, JavaScript, and native binaries. A year ago it has been adopted as an officially supported language for Android development. Kotlin offers clean and concise syntax, interoperability, both object-oriented and functional code constructs, and a lot of other cool features with little or no overhead. Let's find out together why developers love this language and how it helps them to be productive and have fun!
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)MongoSF
The document appears to be notes from a MongoDB training session that discusses various MongoDB features like MapReduce, geospatial indexes, and GridFS. It also covers topics like database commands, indexing, and querying documents with embedded documents and arrays. Examples are provided for how to implement many of these MongoDB features and functions.
The document contains code snippets in Java for getting different types of information. This includes code to get the hostname, month from a date, IP address, memory size and usage, and more. The code uses various Java classes and methods like InetAddress, DateFormat, Runtime etc. to retrieve the desired information and print/return the output.
The document provides details of SQL projects and stored procedures developed by Chris McGlothen including:
1. Projects for a bank, library, and online movie rental company including ER diagrams and stored procedures for transactions, reports, and security.
2. Stored procedures use try/catch blocks and handle errors, dynamic SQL, and pass back data to callers.
3. Projects include backup and recovery plans with log shipping and security roles, stored procedures instead of dynamic SQL, and principle of least privilege.
Time Series Analysis by JavaScript LL matsuri 2013 Daichi Morifuji
This document discusses time series analysis and visualization using JavaScript. It introduces Series.js, a utility library for time series data that provides methods for aggregation, statistics, and visualization. Sample time series CPU and memory usage data is provided, and it is summarized using Series.js methods to aggregate the data by minute. Future work includes improving performance, documentation, and client-side capabilities of Series.js.
Modern Algorithms and Data Structures - 1. Bloom Filters, Merkle TreesLorenzo Alberton
The first part of a series of talks about modern algorithms and data structures, used by nosql databases like HBase and Cassandra. An explanation of Bloom Filters and several derivates, and Merkle Trees.
The Ring programming language version 1.5.4 book - Part 68 of 185Mahmoud Samir Fayed
The document describes a simple notepad application developed using the RingQt GUI library. It includes details on setting up the main window, menu bar, toolbars, status bar, text editor dock widgets, and basic find/replace functionality. The application uses common GUI elements like buttons, menus and actions to provide basic text editing and file operations.
This document discusses Google Collections and its utility classes for collections like lists, maps, sets, multimaps and multisets. It provides examples of how to initialize and use these collection types before and after using Google Collections. Some key collection types covered include lists, maps, sets, multimaps and multisets. Google Collections aims to simplify collection usage through utility methods that initialize and manipulate common collection types.
This document discusses environments and scoping in R. It provides examples of how parent environments and parent frames work when calling functions. The key points are:
- The parent environment of a function is the environment in which the function is defined.
- The parent frame of a function is the environment from which the function was called.
- Variables in the parent environments and frames may be accessible depending on the context.
This document discusses big data and Hadoop. It provides an overview of Hadoop MapReduce and how it allows for distributed computing on large datasets using commodity hardware. It also discusses the Java API for MapReduce and using other languages like Python via Hadoop Streaming. Finally, it covers higher-level frameworks that can be used with Hadoop like Hive, Pig, and Cascading as well as data storage and management options for Hadoop.
This program simulates rolling dice and counting the results. When the user clicks button1, it randomly generates values for two dice and displays them. It then calls a subroutine to count the total value in arrays tracking the frequency of each possible sum. Clicking button2 displays the results in a list box with the value and its count.
This document discusses the R debugger. It provides examples of using the browser(), debug(), and debugonce() functions to debug R code. The browser allows stepping through code line-by-line and examining variable values. debug() and debugonce() activate debugging for a function. Other debugging topics covered include traceback(), browserText(), and examining the coefficients of linear models.
The Ring programming language version 1.10 book - Part 80 of 212Mahmoud Samir Fayed
The document describes a Ring code sample for a notepad application. It includes definitions for window elements like buttons, menus, toolbars and dock widgets. Functions are defined to handle events like opening/saving files, searching/replacing text, and changing the active file in the text editor. The application window and user interface elements are initialized and the application is executed.
This document contains the code for a Java application with a graphical user interface (GUI) that calculates employee payroll. It defines classes and methods to:
1. Create panels to input employee data like name, ID, salary and select deduction options.
2. Calculate deductions for judicial, loans, alimony based on selected checkboxes and salary amount.
3. Calculate total deductions, net salary and update text fields on button click.
4. Clear all fields and reset selections on "New" button click and exit application on "Exit" button click.
The document discusses various "hacks, internals, and sneaky tricks" for MongoDB including:
1. Nearly ordered keys have nice properties for indexing and querying data in order.
2. Using the embedded timestamp in Object IDs and sorting by ID to retrieve data in time order.
3. Storing UUIDs as binary data (BinData) for more efficient storage than strings.
4. Tips for using covered compound indexes to create materialized views of data without having to retrieve large fields.
Just a few simple slides for a presentation at Kraków's Scala User Group. The rest of the session is live coding where we reimplement a tiny subset of Rogue, Foursquares MongoDB DSL.
This document discusses MySQL 5.7's JSON datatype. It introduces JSON and why it is useful for integrating relational and schemaless data. It covers creating JSON columns, inserting and selecting JSON data using functions like JSON_EXTRACT. It discusses indexing JSON columns using generated columns. Performance is addressed, showing JSON tables can be 40% larger with slower inserts and selects compared to equivalent relational tables without indexes. Options for stored vs virtual generated columns are presented.
The document discusses sample code for creating a Chat class with message, dateCreated, and lastUpdated properties in Groovy. It also defines a ChatController that uses scaffolding to automatically generate CRUD operations for the Chat class.
This document discusses machine learning and deep learning concepts like neural networks, computer vision, reinforcement learning, and memory networks. It provides code examples for building neural networks in JavaScript using the Synaptic library and training models for tasks like predicting values, detecting objects in images, and playing games. Key concepts covered include linear regression, activation functions, convolutional neural networks, recurrent networks, and optimization algorithms.
The Ring programming language version 1.5.2 book - Part 76 of 181Mahmoud Samir Fayed
The document describes the Trace Library in Ring which provides functions for tracing code execution and debugging. It shows examples of using the Trace Library to:
1. Trace all events like function calls and returns across multiple functions and methods.
2. Trace the control flow between functions by logging function entries and exits.
3. Handle errors by passing them to the trace function instead of crashing.
4. Provide an interactive debugger that allows setting breakpoints and inspecting variables when a breakpoint is hit.
This document summarizes a keynote presentation about developing mobile applications using domain-specific languages. It discusses current mobile platforms and their programming languages, challenges with cross-platform development and arbitrary app rejections. It then presents an approach using a high-level modeling language that compiles to HTML5/JavaScript to enable cross-platform mobile app development. Key elements of the language include data models, user interfaces, scripting, data binding, web services access, and compilation to optimized JavaScript code.
The document describes various tree rotation operations used to rebalance binary search trees, including single and double rotations. Single rotations include single right rotation and single left rotation, which rotate the tree around a single node. Double rotations first perform a single rotation on one child then a single rotation on the original node, such as double right-left rotation and double left-right rotation.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/254wkpw.
Aaron Bedra focuses on describing a system as a series of models that can be used to systematically and automatically generate input data and ensure that a code is behaving as expected. Bedra discusses property based testing and how it can help one build more resilient systems and even reduce the time needed to maintain a test suite. Filmed at qconlondon.com.
Aaron Bedra is Chief Security Officer at eligible.com. He is the creator of Repsheet, an open source threat intelligence framework. Bedra is the co-author of Programming Clojure, 2nd Edition and a frequent contributor to open source software.
The document discusses programming with futures in Java and Scala. It introduces futures in Java 8 using CompletableFuture and shows how they allow composing asynchronous operations without blocking threads. It then discusses how streams and futures in Java 8 share similar composition concepts using thenApply and thenCompose. The talk moves on to introduce more abstract concepts from category theory - monads, foldables and monoids. It shows how these concepts can be implemented for futures and lists to provide generic sequencing and folding of asynchronous and synchronous operations in a precise way.
The document provides examples of new Java 8 features including lambda expressions, streams, date/time API improvements, and parallel arrays. Key examples include using forEach() to iterate through a list, sorting arrays in parallel, and peeking into a stream to print file names without interrupting the stream processing. The date/time API changes are also summarized, including parsing date strings and getting the current time in a specific time zone.
Time Series Analysis by JavaScript LL matsuri 2013 Daichi Morifuji
This document discusses time series analysis and visualization using JavaScript. It introduces Series.js, a utility library for time series data that provides methods for aggregation, statistics, and visualization. Sample time series CPU and memory usage data is provided, and it is summarized using Series.js methods to aggregate the data by minute. Future work includes improving performance, documentation, and client-side capabilities of Series.js.
Modern Algorithms and Data Structures - 1. Bloom Filters, Merkle TreesLorenzo Alberton
The first part of a series of talks about modern algorithms and data structures, used by nosql databases like HBase and Cassandra. An explanation of Bloom Filters and several derivates, and Merkle Trees.
The Ring programming language version 1.5.4 book - Part 68 of 185Mahmoud Samir Fayed
The document describes a simple notepad application developed using the RingQt GUI library. It includes details on setting up the main window, menu bar, toolbars, status bar, text editor dock widgets, and basic find/replace functionality. The application uses common GUI elements like buttons, menus and actions to provide basic text editing and file operations.
This document discusses Google Collections and its utility classes for collections like lists, maps, sets, multimaps and multisets. It provides examples of how to initialize and use these collection types before and after using Google Collections. Some key collection types covered include lists, maps, sets, multimaps and multisets. Google Collections aims to simplify collection usage through utility methods that initialize and manipulate common collection types.
This document discusses environments and scoping in R. It provides examples of how parent environments and parent frames work when calling functions. The key points are:
- The parent environment of a function is the environment in which the function is defined.
- The parent frame of a function is the environment from which the function was called.
- Variables in the parent environments and frames may be accessible depending on the context.
This document discusses big data and Hadoop. It provides an overview of Hadoop MapReduce and how it allows for distributed computing on large datasets using commodity hardware. It also discusses the Java API for MapReduce and using other languages like Python via Hadoop Streaming. Finally, it covers higher-level frameworks that can be used with Hadoop like Hive, Pig, and Cascading as well as data storage and management options for Hadoop.
This program simulates rolling dice and counting the results. When the user clicks button1, it randomly generates values for two dice and displays them. It then calls a subroutine to count the total value in arrays tracking the frequency of each possible sum. Clicking button2 displays the results in a list box with the value and its count.
This document discusses the R debugger. It provides examples of using the browser(), debug(), and debugonce() functions to debug R code. The browser allows stepping through code line-by-line and examining variable values. debug() and debugonce() activate debugging for a function. Other debugging topics covered include traceback(), browserText(), and examining the coefficients of linear models.
The Ring programming language version 1.10 book - Part 80 of 212Mahmoud Samir Fayed
The document describes a Ring code sample for a notepad application. It includes definitions for window elements like buttons, menus, toolbars and dock widgets. Functions are defined to handle events like opening/saving files, searching/replacing text, and changing the active file in the text editor. The application window and user interface elements are initialized and the application is executed.
This document contains the code for a Java application with a graphical user interface (GUI) that calculates employee payroll. It defines classes and methods to:
1. Create panels to input employee data like name, ID, salary and select deduction options.
2. Calculate deductions for judicial, loans, alimony based on selected checkboxes and salary amount.
3. Calculate total deductions, net salary and update text fields on button click.
4. Clear all fields and reset selections on "New" button click and exit application on "Exit" button click.
The document discusses various "hacks, internals, and sneaky tricks" for MongoDB including:
1. Nearly ordered keys have nice properties for indexing and querying data in order.
2. Using the embedded timestamp in Object IDs and sorting by ID to retrieve data in time order.
3. Storing UUIDs as binary data (BinData) for more efficient storage than strings.
4. Tips for using covered compound indexes to create materialized views of data without having to retrieve large fields.
Just a few simple slides for a presentation at Kraków's Scala User Group. The rest of the session is live coding where we reimplement a tiny subset of Rogue, Foursquares MongoDB DSL.
This document discusses MySQL 5.7's JSON datatype. It introduces JSON and why it is useful for integrating relational and schemaless data. It covers creating JSON columns, inserting and selecting JSON data using functions like JSON_EXTRACT. It discusses indexing JSON columns using generated columns. Performance is addressed, showing JSON tables can be 40% larger with slower inserts and selects compared to equivalent relational tables without indexes. Options for stored vs virtual generated columns are presented.
The document discusses sample code for creating a Chat class with message, dateCreated, and lastUpdated properties in Groovy. It also defines a ChatController that uses scaffolding to automatically generate CRUD operations for the Chat class.
This document discusses machine learning and deep learning concepts like neural networks, computer vision, reinforcement learning, and memory networks. It provides code examples for building neural networks in JavaScript using the Synaptic library and training models for tasks like predicting values, detecting objects in images, and playing games. Key concepts covered include linear regression, activation functions, convolutional neural networks, recurrent networks, and optimization algorithms.
The Ring programming language version 1.5.2 book - Part 76 of 181Mahmoud Samir Fayed
The document describes the Trace Library in Ring which provides functions for tracing code execution and debugging. It shows examples of using the Trace Library to:
1. Trace all events like function calls and returns across multiple functions and methods.
2. Trace the control flow between functions by logging function entries and exits.
3. Handle errors by passing them to the trace function instead of crashing.
4. Provide an interactive debugger that allows setting breakpoints and inspecting variables when a breakpoint is hit.
This document summarizes a keynote presentation about developing mobile applications using domain-specific languages. It discusses current mobile platforms and their programming languages, challenges with cross-platform development and arbitrary app rejections. It then presents an approach using a high-level modeling language that compiles to HTML5/JavaScript to enable cross-platform mobile app development. Key elements of the language include data models, user interfaces, scripting, data binding, web services access, and compilation to optimized JavaScript code.
The document describes various tree rotation operations used to rebalance binary search trees, including single and double rotations. Single rotations include single right rotation and single left rotation, which rotate the tree around a single node. Double rotations first perform a single rotation on one child then a single rotation on the original node, such as double right-left rotation and double left-right rotation.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/254wkpw.
Aaron Bedra focuses on describing a system as a series of models that can be used to systematically and automatically generate input data and ensure that a code is behaving as expected. Bedra discusses property based testing and how it can help one build more resilient systems and even reduce the time needed to maintain a test suite. Filmed at qconlondon.com.
Aaron Bedra is Chief Security Officer at eligible.com. He is the creator of Repsheet, an open source threat intelligence framework. Bedra is the co-author of Programming Clojure, 2nd Edition and a frequent contributor to open source software.
The document discusses programming with futures in Java and Scala. It introduces futures in Java 8 using CompletableFuture and shows how they allow composing asynchronous operations without blocking threads. It then discusses how streams and futures in Java 8 share similar composition concepts using thenApply and thenCompose. The talk moves on to introduce more abstract concepts from category theory - monads, foldables and monoids. It shows how these concepts can be implemented for futures and lists to provide generic sequencing and folding of asynchronous and synchronous operations in a precise way.
The document provides examples of new Java 8 features including lambda expressions, streams, date/time API improvements, and parallel arrays. Key examples include using forEach() to iterate through a list, sorting arrays in parallel, and peeking into a stream to print file names without interrupting the stream processing. The date/time API changes are also summarized, including parsing date strings and getting the current time in a specific time zone.
Basic java, java collection Framework and Date Time APIjagriti srivastava
This document provides an overview of basic Java concepts including classes, objects, methods, inheritance, and polymorphism. It also discusses Java tools, OOP concepts, and how to create classes, objects, and methods. Additionally, it covers Java control structures like if/else and for loops, arrays, and different collection classes like ArrayList, LinkedList, and HashMap. Finally, it presents Java date/time API classes and examples of parsing, comparing, and performing calculations on dates.
JAVA 8 : Migration et enjeux stratégiques en entrepriseSOAT
La sortie de Java 8 est une véritable révolution dont l’enjeu dépasse de loin la simple évolution d’un langage et de ses APIs. Rdv sur notre chaîne Youtube pour revoir la conférence :
Après une version 7 peu convaincante, la version 8 replace Java au premier rang des langages objets actuels.
En parfaite adéquation avec les besoins des projets et les possibilités offertes par les environnements matériels actuels, cette nouvelle version apporte une modernisation du langage et de ses API, un suivi des performances des processeurs et des améliorations de la JVM.
Quels sont les nouveaux concepts introduits par Java 8 ? En quoi les expressions lambdas et l’API Stream représentent une avancée majeure de la plateforme ? Quelle stratégie adopter pour migrer vers Java 8 en toute sécurité et en diminuant au maximum sa dette technique ?
The document discusses various testing techniques including parameterized tests. It provides an example of using parameterized tests with JUnit 4.8.1 to test a tax calculator with sample income and expected tax data. The test class is annotated with @RunWith(Parameterized.class) and has fields for the income and expected tax. It constructs test instances with the data and includes a test that verifies the calculated tax matches the expected value.
This document discusses Java collections frameworks. It covers core collection interfaces like List, Set, Queue and Map. It also discusses concrete collection classes that implement these interfaces like ArrayList, LinkedList, HashSet, TreeSet, HashMap and TreeMap. The document further explains concepts like iterators, generics in collections and differences between collections before and after generics.
This document summarizes a presentation on Scala given by Jonas Boner. It shows how to build a simple chat application in 30 lines of code using Lift framework. It then discusses Scala as a scalable, pragmatic language that blends object-oriented and functional programming. Traits allow for rich and extensible abstractions. Pattern matching, immutable data structures, and functions as first-class values enable a functional style. Tools like SBT and frameworks like Lift make Scala productive for real-world use.
Short (45 min) version of my 'Pragmatic Real-World Scala' talk. Discussing patterns and idioms discovered during 1.5 years of building a production system for finance; portfolio management and simulation.
The Java Collections framework provides a unified approach to store, retrieve, and manipulate groups of data. It includes interfaces and classes to implement commonly used data structures like lists, sets, maps, queues, and more. The framework is generic, provides standard algorithms and operations, and improves performance and quality of Java applications. It also supports thread safety through utility methods.
This document provides an overview of new features in Java 8, including lambda expressions, default methods on interfaces, bulk data operations on collections, and other library enhancements. It discusses how lambda expressions allow for closures in Java and interface evolution with default methods. It also provides code examples of using lambda expressions for event handling and animation in a JavaFX application that makes circles vanish when clicked.
This document provides information about Java collections framework. It discusses various collection interfaces like Collection, List, Set, Queue, Map and their implementations like ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap. It also covers topics like sorting collections using Comparable and Comparator interfaces, overriding equals() and hashCode() methods.
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
The document discusses Scala and functional programming concepts. It provides examples of building a chat application in 30 lines of code using Lift, defining messages as case classes, and implementing a chat server and comet component. It then summarizes that Scala is a pragmatically-oriented, statically typed language that runs on the JVM and provides a unique blend of object-oriented and functional programming. Traits allow for code reuse and multiple class inheritances. Functional programming concepts like immutable data structures, higher-order functions, and for-comprehensions are discussed.
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
The document discusses Scala and functional programming concepts. It provides examples of building a chat application in 30 lines of code using Lift, defining case classes and actors for messages. It summarizes that Scala is a pragmatically oriented, statically typed language that runs on the JVM and has a unique blend of object-oriented and functional programming. Functional programming concepts like immutable data structures, functions as first-class values, and for-comprehensions are demonstrated with examples in Scala.
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
This document discusses Scala and its features. It provides an example of building a chat application in 30 lines of code using Lift framework. It also demonstrates pattern matching, functional data structures like lists and tuples, for comprehensions, and common Scala tools and frameworks. The document promotes Scala as a pragmatic and scalable language that blends object-oriented and functional programming. It encourages learning more about Scala.
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
The document discusses Scala and functional programming concepts. It provides examples of building a chat application in 30 lines of code using Lift, defining messages as case classes, and implementing a chat server and comet component. It then summarizes that Scala is a pragmatically-oriented, statically typed language that runs on the JVM and provides a unique blend of object-oriented and functional programming. Traits allow for static and dynamic mixin-based composition. Functional programming concepts like immutable data structures, higher-order functions, and for-comprehensions are discussed.
The document discusses multidimensional arrays and provides examples of declaring and using two-dimensional arrays in Java. It describes how to represent tables of data using two-dimensional arrays, initialize arrays, access elements, and perform common operations like summing elements. The document also introduces the concept of ragged arrays and declares a three-dimensional array could be used to store student exam scores with multiple parts.
When you write unit tests for your projects, there’s a fair chance that you do so by following the classical « Given-When-Then » paradigm, in which you set some input data, execute the code you’re testing, and finally assert that its outcome is indeed the one you expected.
While this approach is perfectly sound, it does suffer one downside: your program will only be tested on the static input data defined in your tests, and there is no real guarantee that this data does cover all edge cases. This can be especially problematic for SDK developers, who, by definition, have a very hard time anticipating all the different situations in which their code will be used.
To improve on this issue, another approach exists, and it is called property-based testing. The idea behind it is very simple: you write your tests by defining properties that must always be true for your program. For example, « an array reversed twice is always equal to itself ». The testing framework will then generate random input values and test wether the property holds or not. And, as you can imagine, this approach is extremely good at narrowing down on overlooked edge cases.
In Swift, we are lucky enough to already have a full-fledged implementation called SwiftCheck, that enables property-based testing (https://github.com/typelift/SwiftCheck). The goal of this talk is thus to explain how property-based testing can be a powerful addition to a testing suite, and give actual and actionable examples of how it can be added to a project using SwiftCheck.
What's new in C# 6 - NetPonto Porto 20160116Paulo Morgado
The document summarizes the new features introduced in C# 6. Key highlights include:
- Improvements to auto-properties allowing initializers and read-only properties.
- Expression-bodied function members allowing shorter syntax for methods and properties.
- The 'using static' directive for importing static members without instances.
- The null-conditional operator ?. for null-checking property and method calls.
- String interpolation $ for easier string formatting.
- 'nameof' expressions for getting string names at compile-time.
- Collection initializers support for initializing objects with extension methods.
- Index initializers for initializing indexes in dictionaries and arrays.
- Exception filters for catching specific exception
Gradient descent is the algorithm at the heart of many machine learning problems. In this talk, I’ll introduce the algorithm and code it up from scratch to apply it to a toy linear regression problem on the relationship between videogame metacritic scores and sales.
The document discusses the complexity of setting up dependency injection with Dagger and presents a hypothetical scenario where a developer needs to inject an AnalyticsHelper class. It raises numerous questions that the developer would need to consider such as what module the class belongs to, how to scope it, whether qualifiers or late binding are needed, and ensures related dependencies are provided. It emphasizes that dependency injection with Dagger can quickly become complicated and problematic to set up correctly.
This document discusses improving testability of Android applications by reducing coupling between components. It presents an example of an Android MapActivity that is tightly coupled to MapFragment and Toast, making it difficult to test. The document then introduces an OnPermissionResultListener class that receives permission results and calls methods on a PermittedView interface, decoupling the logic from specific views and allowing it to be more easily tested. This improves testability by removing direct dependencies between classes.
The document discusses how to write testable code through the use of seams. It explains that seams allow code to be altered without changing the code itself, improving testability. Dependency injection creates object seams by decoupling classes, and model-view-presenter architecture leverages this. Build variants introduce link seams. Without seams, it can be difficult to arrange objects and assert outcomes in tests. Examples show refactoring code to introduce seams, like using interfaces, which allows dependencies to be mocked and behavior verified.
The document discusses dependency injection (DI) and how Dagger can be used to implement DI. It begins with an example Android application that manages a lock dashboard. The code to create dependencies is complex and error-prone. Dagger addresses this by generating code to manage object creation and injection. It works by analyzing how objects relate via a directed acyclic graph (DAG) of their dependencies. Modules provide object instances to the graph, and components inject them where needed. This allows clean, testable separation of concerns and simplifies object creation.
Slides from a talk I gave at a recent react orlando meetup. We talked about Wix's "greybox" testing library for react native called "detox."
We'll also be covering testing practices like mocking, stubbing, and the page object pattern. Even if you're not working with react native, these patterns and practices are good to know!
Tested android apps are better apps, but building them is tough. This talk is about how to write testable Android applications. Testable apps have seams, which you can get using DI and Build Variants.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
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
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
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
16. I was pretty much dragged into RxJava by my coworkers...[RxJava]
was a lot like git...when I first learned git, I didn’t really learn it. I just
spent three weeks being mad at it...and then something clicked
and I was like ‘Oh! I get it! And this is amazing and I love it!' The
same thing happened with RxJava.
—Dan Lew, Google Developer Expert