There has always been a problem of duplication with regards to database and client code. These are the slides I use to demonstrate how that problem can be solved using DataClass.
DataClass's official website: http://dataclass.hexsw.com/
PHP for Adults: Clean Code and Object CalisthenicsGuilherme Blanco
The document discusses principles and techniques for writing clean code in PHP, including:
- The S.O.L.I.D. principles for object-oriented design (single responsibility, open/closed, Liskov substitution, etc.)
- Object calisthenics rules for PHP functions/methods like using single indentation levels and early returns.
- Refactoring code examples to follow these principles and rules to improve readability, maintainability and testability of PHP code.
Introduction to the new official C# Driver developed by 10genMongoDB
The document provides an introduction and overview of the MongoDB C# driver:
- It highlights that the driver is fully featured, high performance, and rapidly tracks new releases of MongoDB.
- It outlines the driver's release timeline and how to download, add references to, and use namespaces in the driver.
- It describes some key classes in the driver like BsonDocument, MongoServer, MongoDatabase, and MongoCollection.
Presentation made at GTA meetup in 2012-02-07.
Object Calisthenics is a set of exercise rules to reach better code, maintainable, testable and readable.
The document discusses various features of CoffeeScript including:
- Pattern matching for variable swaps, declarations, and object matching
- OOP styles using classes, inheritance, and mixins
- Building CoffeeScript projects and integrating with asset managers
- References for further CoffeeScript learning
Browser extensions allow additional features to be added to browsers through code added via extension APIs, as extensions have evolved from plugins and addons used in early browsers like Firefox and now provide powerful yet easy-to-use ways to customize Chrome, Firefox, and other modern browsers while leveraging web technologies like HTML, CSS, and JavaScript. Extensions are commonly used to integrate services, implement new specs, and add customized features to browsers, though developers must take care not to overuse extensions in ways that abuse their capabilities.
The documents show examples of setting click listeners on buttons and views in Android, making HTTP requests with asynchronous code, parsing JSON data, handling exceptions, and using LINQ queries and parallel processing of data. Various C# and Android code snippets are presented, including defining activities, attributes, delegates, and extension methods.
Selenide - популярная библиотека для написания лаконичных и стабильных UI-тестов на Java. Многие используют её для тестирования веб-приложения, но не все знают, что её также можно использовать и для мобилок.
Рассказ о том, как использовать Selenide для тестирования веба и мобилок и даже переиспользовать код между ними.
PHP for Adults: Clean Code and Object CalisthenicsGuilherme Blanco
The document discusses principles and techniques for writing clean code in PHP, including:
- The S.O.L.I.D. principles for object-oriented design (single responsibility, open/closed, Liskov substitution, etc.)
- Object calisthenics rules for PHP functions/methods like using single indentation levels and early returns.
- Refactoring code examples to follow these principles and rules to improve readability, maintainability and testability of PHP code.
Introduction to the new official C# Driver developed by 10genMongoDB
The document provides an introduction and overview of the MongoDB C# driver:
- It highlights that the driver is fully featured, high performance, and rapidly tracks new releases of MongoDB.
- It outlines the driver's release timeline and how to download, add references to, and use namespaces in the driver.
- It describes some key classes in the driver like BsonDocument, MongoServer, MongoDatabase, and MongoCollection.
Presentation made at GTA meetup in 2012-02-07.
Object Calisthenics is a set of exercise rules to reach better code, maintainable, testable and readable.
The document discusses various features of CoffeeScript including:
- Pattern matching for variable swaps, declarations, and object matching
- OOP styles using classes, inheritance, and mixins
- Building CoffeeScript projects and integrating with asset managers
- References for further CoffeeScript learning
Browser extensions allow additional features to be added to browsers through code added via extension APIs, as extensions have evolved from plugins and addons used in early browsers like Firefox and now provide powerful yet easy-to-use ways to customize Chrome, Firefox, and other modern browsers while leveraging web technologies like HTML, CSS, and JavaScript. Extensions are commonly used to integrate services, implement new specs, and add customized features to browsers, though developers must take care not to overuse extensions in ways that abuse their capabilities.
The documents show examples of setting click listeners on buttons and views in Android, making HTTP requests with asynchronous code, parsing JSON data, handling exceptions, and using LINQ queries and parallel processing of data. Various C# and Android code snippets are presented, including defining activities, attributes, delegates, and extension methods.
Selenide - популярная библиотека для написания лаконичных и стабильных UI-тестов на Java. Многие используют её для тестирования веб-приложения, но не все знают, что её также можно использовать и для мобилок.
Рассказ о том, как использовать Selenide для тестирования веба и мобилок и даже переиспользовать код между ними.
This document provides an introduction to using MongoDB with C# developers. It discusses how to connect to a MongoDB database from a C# application, perform basic CRUD operations on documents using the C# driver, and more advanced features like aggregation, geospatial queries, and gridFS for large files. The document includes code examples for connecting to a database, inserting, finding, updating, and deleting documents, as well as using LINQ queries and the aggregation framework. Resources for learning more about the MongoDB C# driver are also provided.
How do you measure the quality of your code? Performance and testing are just one aspect of code, in order to meet deadlines and make maintenance quicker you also need your code to be readable, decoupled and generally easier to comprehend and work with. This talk will go over tips and exercises to help you identify trouble areas, refactor them and train you to write better code in future projects. Come make your code look and function better.
Cycle.js is a functional and reactive JavaScript framework for building user interfaces based on Observables and declarative code. It uses RxJS Observables to model asynchronous behavior and data flow in applications. This allows the unidirectional data flow of views updating models via intents to be modeled as Observables. The document includes code examples of using Cycle.js with RxJS to build reactive UIs, including handling events, updating state, and generating HTML. It also summarizes how the Cycle.run function coordinates driving the application by connecting sources to sinks.
The document contains Python code to create and manage a chatbot on the LINE Works messaging platform. It includes functions to register a bot, add it to a chat room, send messages, and remove the bot. The code obtains an API token, registers a bot with a title and description, creates a chat room with the bot and some user accounts, sends a test message to the room, and then removes the bot.
This document discusses and provides examples of 3 jQuery libraries: Chosen, Masonry, and FlexSlider. Chosen is a jQuery plugin that simplifies selecting options. Masonry is a jQuery plugin that lays out elements in optimal positional order. FlexSlider is a responsive jQuery slider plugin for images, video, and slideshows. Examples and links to more information are provided for each library.
This document provides an overview of PHP (Hypertext Preprocessor), a popular server-side scripting language used for web development. It discusses key PHP concepts like server-side scripting, inclusion of files, syntax, variables, arrays, operators, functions, branching, looping, forms, MySQL integration, sessions, and cookies. The document is intended to help beginners get started with PHP.
The document introduces the Python programming language. It discusses Python's interpretor, data types like integers and strings, control structures like if/else statements and for loops, functions, classes, libraries, and input/output. It provides examples of key Python concepts like boolean logic, lists, dictionaries, regular expressions, and socket programming.
Debugging: Rules And Tools - PHPTek 11 VersionIan Barber
The document provides rules and tools for debugging. It discusses understanding the system, making failures reproducible, quitting thinking and closely observing behaviors, dividing problems into smaller pieces, changing one thing at a time, and maintaining an audit trail of changes. Tools mentioned include Xdebug, Selenium, PHPUnit, strace, and source control systems. Logging, instrumentation, and testing techniques are also covered.
PhoneGap: Local Storage
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
Teaching Your Machine To Find FraudstersIan Barber
The slides from my talk at PHP Tek 11.
When dealing with money online, fraud is an ongoing problem for both
consumers and sellers. Researchers have been developing statistical
and machine learning techniques to detect shady sellers on auction
sites, spot fraudulent payments on e-commerce systems and catch click
fraud on adverts. While there is no silver bullet, you will learn to
flag suspicious activity and help protect your site from scammers
using PHP and a little help from some other technologies.
The document discusses the concept of Object Calisthenics, which are programming guidelines aimed at writing better object-oriented code. It specifically outlines 9 guidelines/rules adapted for PHP programming:
1. Only one level of indentation per method.
2. Do not use the 'else' keyword.
3. Wrap all primitive data types and strings in objects.
4. Collections of objects should be first-class objects.
5. Only call one method on an object per line.
6. Do not abbreviate names.
7. Keep classes small with under 200 lines of code and 10 methods.
8. Limit the number of instance variables in a class to 2-5.
9
Rediscovering JavaScript: The Language Behind The LibrariesSimon Willison
This document provides a summary of the evolution of JavaScript libraries from 2004 to 2005. It discusses how in 2004, JavaScript was not taken seriously by most developers. A few libraries like Prototype.js emerged in 2005, helping popularize JavaScript for dynamic effects like drag and drop. This led to a flurry of library development in 2005, including early versions of jQuery, MochiKit and YUI. These libraries had different philosophies but helped unlock JavaScript's potential and make it a first-class language for web development.
Node.js - Demnächst auf einem Server in Ihrer NäheRalph Winzinger
This talk is an intro to Node.js
What's the history of Node.js (and JavaScript) and what can it be used for today. There's also a little bit of JavaScript basics - as much as you need to know to understand how Node.js works.
Intruduction to sessionStorage, localStorage &localDatabase.
Example
http://dev.augentier.info/InterfaceEntwicklung/smashing_offline/
more information
http://developer.apple.com/library/safari/#documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Introduction/Introduction.html
An Elephant of a Different Colour: HackVic Metcalfe
Slides from my GTA-PHP Meetup talk about Hack which is the Facebook version of the PHP programming language which runs under their HHVM runtime environment for PHP. The focus of my talk was the language improvements that the Facebook team has added to PHP.
There's a lot of information in the presenter's notes, so if you're interested in Hack scroll down to see the extras.
The document discusses RxSwift, which is a library for reactive programming with Swift. It combines ReactiveX with Swift by providing Observables and Observers. Observables allow data streams to be observed and manipulated through operators like map, filter, etc. The document provides examples of using RxSwift to validate a password field by observing text changes and mapping valid/invalid states to display feedback. It also shows an example of observing a nickname field to call an API on valid input. Overall, the document introduces the key concepts of RxSwift like Observables, Observers, operators, and provides examples of validating user input fields reactively.
The document provides an overview of using MongoDB with C# developers. It discusses key MongoDB concepts like document databases and BSON, and how to connect and perform CRUD operations with the C# driver. It also covers more advanced topics like geospatial queries, MapReduce, and GridFS for large files. Resources are provided for further learning about MongoDB and the C# driver.
PHP is a server-side scripting language that is embedded into HTML files. The goal is to generate client-side code like HTML, CSS, and JavaScript. PHP files are executed on the web server and must be saved in a subdirectory that is accessible to the server, like /var/www. PHP allows variables, operators, conditional statements, loops, functions, and arrays. Sessions and cookies can be used to store and retrieve information across multiple requests.
Crowdsourcing involves building a website to allow users to review and annotate MP expense documents. The site was built quickly using Django within a week. It uses models to represent MPs, expenses documents, pages, and user annotations. Unreviewed pages were cached to improve performance when getting a random next page. As usage increased, the database was migrated and caching was added. Over 70,000 pages were reviewed, showing how crowdsourcing can be used for document review at scale.
This document discusses irregular verbs in Spanish. It begins by introducing some example sentences describing physical characteristics of people named Pam, Jim, Dwight and Andy. It then states that the purpose is to talk about irregular verbs. It provides an overview of irregular verbs, noting there are many kinds that vary by tense. It highlights stem-changing verbs as ones where the stem changes during conjugation. Examples of stem-changing verbs are provided, such as tener, querer, recordar, dormir, poder, pensar, and entender. A side note explains the nosotros form always keeps the original stem.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against developing mental illness and improve symptoms for those who already have a condition.
This document provides an introduction to using MongoDB with C# developers. It discusses how to connect to a MongoDB database from a C# application, perform basic CRUD operations on documents using the C# driver, and more advanced features like aggregation, geospatial queries, and gridFS for large files. The document includes code examples for connecting to a database, inserting, finding, updating, and deleting documents, as well as using LINQ queries and the aggregation framework. Resources for learning more about the MongoDB C# driver are also provided.
How do you measure the quality of your code? Performance and testing are just one aspect of code, in order to meet deadlines and make maintenance quicker you also need your code to be readable, decoupled and generally easier to comprehend and work with. This talk will go over tips and exercises to help you identify trouble areas, refactor them and train you to write better code in future projects. Come make your code look and function better.
Cycle.js is a functional and reactive JavaScript framework for building user interfaces based on Observables and declarative code. It uses RxJS Observables to model asynchronous behavior and data flow in applications. This allows the unidirectional data flow of views updating models via intents to be modeled as Observables. The document includes code examples of using Cycle.js with RxJS to build reactive UIs, including handling events, updating state, and generating HTML. It also summarizes how the Cycle.run function coordinates driving the application by connecting sources to sinks.
The document contains Python code to create and manage a chatbot on the LINE Works messaging platform. It includes functions to register a bot, add it to a chat room, send messages, and remove the bot. The code obtains an API token, registers a bot with a title and description, creates a chat room with the bot and some user accounts, sends a test message to the room, and then removes the bot.
This document discusses and provides examples of 3 jQuery libraries: Chosen, Masonry, and FlexSlider. Chosen is a jQuery plugin that simplifies selecting options. Masonry is a jQuery plugin that lays out elements in optimal positional order. FlexSlider is a responsive jQuery slider plugin for images, video, and slideshows. Examples and links to more information are provided for each library.
This document provides an overview of PHP (Hypertext Preprocessor), a popular server-side scripting language used for web development. It discusses key PHP concepts like server-side scripting, inclusion of files, syntax, variables, arrays, operators, functions, branching, looping, forms, MySQL integration, sessions, and cookies. The document is intended to help beginners get started with PHP.
The document introduces the Python programming language. It discusses Python's interpretor, data types like integers and strings, control structures like if/else statements and for loops, functions, classes, libraries, and input/output. It provides examples of key Python concepts like boolean logic, lists, dictionaries, regular expressions, and socket programming.
Debugging: Rules And Tools - PHPTek 11 VersionIan Barber
The document provides rules and tools for debugging. It discusses understanding the system, making failures reproducible, quitting thinking and closely observing behaviors, dividing problems into smaller pieces, changing one thing at a time, and maintaining an audit trail of changes. Tools mentioned include Xdebug, Selenium, PHPUnit, strace, and source control systems. Logging, instrumentation, and testing techniques are also covered.
PhoneGap: Local Storage
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
Teaching Your Machine To Find FraudstersIan Barber
The slides from my talk at PHP Tek 11.
When dealing with money online, fraud is an ongoing problem for both
consumers and sellers. Researchers have been developing statistical
and machine learning techniques to detect shady sellers on auction
sites, spot fraudulent payments on e-commerce systems and catch click
fraud on adverts. While there is no silver bullet, you will learn to
flag suspicious activity and help protect your site from scammers
using PHP and a little help from some other technologies.
The document discusses the concept of Object Calisthenics, which are programming guidelines aimed at writing better object-oriented code. It specifically outlines 9 guidelines/rules adapted for PHP programming:
1. Only one level of indentation per method.
2. Do not use the 'else' keyword.
3. Wrap all primitive data types and strings in objects.
4. Collections of objects should be first-class objects.
5. Only call one method on an object per line.
6. Do not abbreviate names.
7. Keep classes small with under 200 lines of code and 10 methods.
8. Limit the number of instance variables in a class to 2-5.
9
Rediscovering JavaScript: The Language Behind The LibrariesSimon Willison
This document provides a summary of the evolution of JavaScript libraries from 2004 to 2005. It discusses how in 2004, JavaScript was not taken seriously by most developers. A few libraries like Prototype.js emerged in 2005, helping popularize JavaScript for dynamic effects like drag and drop. This led to a flurry of library development in 2005, including early versions of jQuery, MochiKit and YUI. These libraries had different philosophies but helped unlock JavaScript's potential and make it a first-class language for web development.
Node.js - Demnächst auf einem Server in Ihrer NäheRalph Winzinger
This talk is an intro to Node.js
What's the history of Node.js (and JavaScript) and what can it be used for today. There's also a little bit of JavaScript basics - as much as you need to know to understand how Node.js works.
Intruduction to sessionStorage, localStorage &localDatabase.
Example
http://dev.augentier.info/InterfaceEntwicklung/smashing_offline/
more information
http://developer.apple.com/library/safari/#documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Introduction/Introduction.html
An Elephant of a Different Colour: HackVic Metcalfe
Slides from my GTA-PHP Meetup talk about Hack which is the Facebook version of the PHP programming language which runs under their HHVM runtime environment for PHP. The focus of my talk was the language improvements that the Facebook team has added to PHP.
There's a lot of information in the presenter's notes, so if you're interested in Hack scroll down to see the extras.
The document discusses RxSwift, which is a library for reactive programming with Swift. It combines ReactiveX with Swift by providing Observables and Observers. Observables allow data streams to be observed and manipulated through operators like map, filter, etc. The document provides examples of using RxSwift to validate a password field by observing text changes and mapping valid/invalid states to display feedback. It also shows an example of observing a nickname field to call an API on valid input. Overall, the document introduces the key concepts of RxSwift like Observables, Observers, operators, and provides examples of validating user input fields reactively.
The document provides an overview of using MongoDB with C# developers. It discusses key MongoDB concepts like document databases and BSON, and how to connect and perform CRUD operations with the C# driver. It also covers more advanced topics like geospatial queries, MapReduce, and GridFS for large files. Resources are provided for further learning about MongoDB and the C# driver.
PHP is a server-side scripting language that is embedded into HTML files. The goal is to generate client-side code like HTML, CSS, and JavaScript. PHP files are executed on the web server and must be saved in a subdirectory that is accessible to the server, like /var/www. PHP allows variables, operators, conditional statements, loops, functions, and arrays. Sessions and cookies can be used to store and retrieve information across multiple requests.
Crowdsourcing involves building a website to allow users to review and annotate MP expense documents. The site was built quickly using Django within a week. It uses models to represent MPs, expenses documents, pages, and user annotations. Unreviewed pages were cached to improve performance when getting a random next page. As usage increased, the database was migrated and caching was added. Over 70,000 pages were reviewed, showing how crowdsourcing can be used for document review at scale.
This document discusses irregular verbs in Spanish. It begins by introducing some example sentences describing physical characteristics of people named Pam, Jim, Dwight and Andy. It then states that the purpose is to talk about irregular verbs. It provides an overview of irregular verbs, noting there are many kinds that vary by tense. It highlights stem-changing verbs as ones where the stem changes during conjugation. Examples of stem-changing verbs are provided, such as tener, querer, recordar, dormir, poder, pensar, and entender. A side note explains the nosotros form always keeps the original stem.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against developing mental illness and improve symptoms for those who already have a condition.
The document compares two murals - Michelangelo's "Just back: all eyes to heaven" in the Sistine Chapel ceiling and Fernando Castro Pacheco's "mural of Salvador Alvarado" in the Government Palace in Merida, Mexico. It notes the murals have different techniques, colors, and use of shapes, with the traditional mural by Michelangelo lacking proper shapes seen in the nontraditional mural, demonstrating the differences between traditional and nontraditional mural styles.
Presentation given by Himanshu and Imran at AgileNCR 2010 on "Practicing Agile in Offshore Environment". Presentation also covers the best practices/tools/processes that has worked for IntelliGrape for successful Agile implementation.
The tutorial includes the challenges of a distributed Agile, tools and processes to overcome these challenges. The tutorial begins with the challenges faced while working on a distributed Agile like client availability, time zone difference, cultural differences, client feedback, integration issues and more. The next and last section of the tutorial is about tools and processes to overcome these challenges. It includes the tools and processes used to overcome challenges faced by a user while working on a distributed Agile.
It includes step to an iteration and the tools that help such as planning, develop, test, feedback. Planning can be done by using communication tools like skype, yuuguu, wiki, screencasts etc. Developing step can take place in a continuous integration environment, frameworks that facilitate RAD. Testing can be done with a test driven deployment, tools that integrate with CI. The Client/End user feedback can take place in an integrated server, or a QA server. It also includes a mindset to seek feedback, open and direct communication.
Gastcollege Universiteit Utrecht 'Games in het onderwijs'Thijs de Vries
Voor de Universiteit Utrecht, docentenopleiding Maatschappijleer, heb ik een presentatie verzorgd over de toepassing van games in en gamification van het onderwijs.
Behavioural Marketing…or how to get your customers to love youJohn Watton
The document discusses behavioral marketing and how tracking customer behaviors across channels can provide insights to personalize marketing interactions. It notes that traditional audience segmentation is limited and advocates expanding segmentation based on behaviors, preferences and real-time signals. Tracking behaviors from many sources can reveal which most influence customer actions. Automated rules and machine learning can then tailor communications and offers to individual customers across email, web, mobile and other channels at scale. The goal is to optimize interactions like a skilled human salesperson ("Bob") based on a unified understanding of each customer.
Diese Präsentation gibt eine kurze Beschreibung des Leitthemas Collaboration in der ICT-Welt. Sie gibt einen Überblick welche Referenzen T-Systems im Collaboration Bereich vorzuweisen hat und welche Offerings T-Systems dazu im Portfolio bietet.
This document discusses gamification, which is using game elements and techniques in non-game contexts to drive participation, increase engagement, and create loyalty. Successful gamification provides meaning, a path to mastery through an engagement loop of challenges, actions, rewards and progress, and voluntary participation. It notes that everyone plays as kids, and playing is how we learn. Gamification uses play to help people learn and progress.
1) The document introduces numbers from 1 to 10 in Spanish and notes how the teens follow a similar root as "diez".
2) It explains that numbers from 20 onwards are spoken by saying the tens place followed by "y" and the ones place, except for multiples of 10.
3) Larger numbers like hundreds are discussed, pointing out that Spanish uses periods instead of commas for numbers over 1,000 and that "ciento" adds "-to" for numbers over 100 unlike "cien" which is only 100.
Presentation to WUG on promoting social media in state government (updated)Rob Quigley
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms for those who already suffer from conditions like depression and anxiety.
Room 13 of Willowbank School celebrates cultural diversity. The students come from many countries and cultures. Over the course of the year, they studied different cultures and roles in society. They held cultural art activities and visited sites like a Buddhist temple. For their big idea project, the students created cultural tiles to display around the school, sewing them together into a quilt to showcase their learning about different cultures.
Lo Scambio sul Posto, è un meccanismo che consente di immettere in rete l\'energia elettrica prodotta ma non immediatamente autoconsumata, per poi prelevarla in un momento successivo per soddisfare i propri consumi.
This document discusses finding information about national parks, specifically Yosemite National Park, from several online resources. It describes how to navigate the National Park Service website to find maps, activities, and history for Yosemite. It also explains how to use Google Earth to view virtual tours of Yosemite and see pictures. Additional websites like Get Outdoors and the National Park Service Kids Zone are provided for more park information.
This document discusses ways to integrate technology into the classroom by expanding one's toolkit of technological tools and resources. It begins with a sample schedule of a teacher's day that does not incorporate much technology use, then discusses the difference between simply using technology versus truly integrating it to enhance learning. It presents the NETS standards for student technology use and provides examples of specific technological tools that can be used for creativity, communication, research, critical thinking, digital citizenship, and developing technology skills. These include tools for collaboration, online poster creation, virtual science fairs, online notice boards, graphic organizing, document sharing, audio recording, and more.
The document discusses test integration and provides examples of how to use the jIntegrity library to simplify database integration testing. It shows how jIntegrity can load test data from XML files, execute SQL statements to insert, update, delete and clean data, and be configured through properties files. jIntegrity aims to provide flexibility, organization and reuse through its API and helper classes to help automate common database operations for integration testing.
Symfony2 - extending the console componentHugo Hamon
The goal of this session is to explain how to take benefit from the Symfony2 command line interface tool. First, I have a closer look at the most interesting commands to generate code and help you reduce your development time. Then, I will show you how to create your own commands to extend the Symfony CLI tool and automate your tedious and redundant tasks. This part of the talk will also explain how to create interactive tasks, interact with the database, generating links or send emails from the command line. Of course, there will be a focus on how to design your commands the best way to make them as much testable as possible.
This document provides an overview of the Griffon framework for building desktop applications in Groovy and Java. It discusses key Griffon concepts like conventions over configuration, MVC patterns, built-in testing support, and automation of repetitive tasks. The document also covers Griffon features such as lifecycle scripts, binding, threading, and popular plugins. Resources for learning more about Griffon and its community are provided at the end.
Bernhard Schussek gave a presentation on leveraging Symfony2 forms at the Symfony Live conference in March 2011. He discussed the evolution of the Symfony form component, its service-oriented architecture, and how forms are decoupled from business logic. He provided an example of an online sausage shop order form to demonstrate how form data is bound to objects and submitted. The presentation covered the form configuration class, form processing, field types, validation, embedding forms, and form themes.
Building a friendly .NET SDK to connect to SpaceMaarten Balliauw
Space is a team tool that integrates chats, meetings, git hosting, automation, and more. It has an HTTP API to integrate third party apps and workflows, but it's massive! And slightly opinionated.
In this session, we will see how we built the .NET SDK for Space, and how we make that massive API more digestible. We will see how we used code generation, and incrementally made the API feel more like a real .NET SDK.
Building Persona: federated and privacy-sensitive identity for the Web (Open ...Francois Marier
This talk explores the challenges of the existing Web identity solutions and introduce the choices that were made during the development of Persona (formerly BrowserID), a new Open Source federated identity solution from Mozilla, designed and built to respect user privacy.
This document discusses the principles of "Object Calisthenics", which are nine rules of thumb for writing better object-oriented code. The rules focus on ideas like reducing indentation levels, avoiding else keywords, wrapping primitive types, keeping collections as first-class objects, limiting dots/arrows per line, avoiding abbreviations, keeping entities small, limiting instance variables per class, and avoiding getters/setters. Following these rules aims to improve code qualities like cohesion, loose coupling, readability and testability. The document provides examples of refactoring code according to these principles.
What should you test with your unit tests? Some people will say that unit behaviour is best tested through it's outcomes. But what if communication between units itself is more important than the results of it? This session will introduce you to two different ways of unit-testing and show you a way to assert your object behaviours through their communications.
Building Persona: federated and privacy-sensitive identity for the Web (LCA 2...Francois Marier
This talk explores the challenges of the existing Web identity solutions and introduce the choices that were made during the development of Persona (formerly BrowserID), a new Open Source federated identity solution from Mozilla, designed and built to respect user privacy.
This document describes the implementation of a remote method invocation (RMI) based arithmetic calculator application. It defines an interface for arithmetic operations (add, subtract, multiply, divide) and classes to implement the interface, start an RMI server, and run a client. The client allows selecting an operation, entering numbers, and displays the result, demonstrating the use of RMI to remotely execute arithmetic functions.
Groovy is a dynamic language for the Java platform that provides features inspired by languages like Python, Ruby and Smalltalk. It allows Java developers to use these features with a syntax that is very similar to Java. Groovy code can be compiled to Java bytecode and integrated with Java applications and libraries. It supports features like closures, metaprogramming, builders and templates to improve developer productivity.
This document provides an overview of Hibernate Envers, a Hibernate module that enables easy auditing of persistent classes. It discusses how to activate Envers for an entity class, the different annotations used to configure the audit process, and how to query the audit information stored in revision tables. Envers allows tracking changes to entities and retrieving past versions through an AuditReader interface, with support for filtering, ordering and paging results. It provides an out-of-the-box solution for auditing entity data with Hibernate.
Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."sjabs
The document discusses Hadoop and its applications. It provides examples of companies like Facebook and their use of Hadoop. It also discusses Hadoop components like HDFS, MapReduce, Pig and HBase. It provides examples of using Hadoop with databases like MongoDB and search engines like Solr. It notes that not every problem requires large-scale solutions and discusses potential use cases for Hadoop including log analysis, indexing documents and building recommendation systems.
People using your web app also use many other online services. You'll often want to pull data from those other services into your app, or publish data from your app out to other services. In this talk, Randy will explain the terminology you need to know, share best practices and techniques for integrating, and walk through two real-world examples. You'll leave with code snippets to help you get started integrating.
This document provides an overview of Metro style apps and the C++ language features for building them. It compares the architecture and frameworks of Metro style apps to desktop apps. It then summarizes key C++ language features for Metro style development including reference types, memory management, pointers, events, generics and libraries. The document promotes C++ for building high performance Metro style apps and provides examples of key language concepts.
The document discusses the basics of JavaScript including:
1. JavaScript allows adding programming to webpages and is not a standalone language like Java.
2. Common uses of JavaScript include browser detection, storing cookies, controlling browser windows, and validating forms.
3. Scripts can be placed internally between HTML tags or externally via link tags.
4. JavaScript includes objects, properties, methods, variables, operators, statements, and event handlers.
5. Common output methods are alert, write, and print while input methods include confirm and prompt.
6. Other basics covered are variables, conditional statements like if/else, switch, and iterations like for and while loops.
Postman is a tool for designing, sharing and testing APIs between a group of collaborators that range from the API developers down to the final clients, be them mobile apps or web apps.
This presentation focuses on using Postman's advanced free features, with a special focus on testing.
I have linked an example collection which I refer to several times during the presentation.
Section 1 - Fundamentals
Environments, variables, collections, and workspaces
Roles, VCS
Section 2 - Scripts & Testing
Pre request scripts and tests
Scopes
Pass data between requests
Section 3 - Integrated testing
Collection runners: read data from files, workflows
Monitors
CD/CI integration with Newman
Section 4 - More!
Documentation
Mock server
Integrations
Similar to DataClass Case Study #1: Solving the Duplication Problem (20)
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.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
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.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
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.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
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
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
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
16. Example Database Class (Part I) namespace HexagonSoftware.DataClass.Examples { database WineProductionDataStore { stereotypes table, column, values, value; version 1.0 : initialized { design { public table Grapes { public column Identity ("ID"); public column Tons; public column InfectionIdentity ("InfectionID"); } public table Fungi { public column Identity ("ID"); public column Name; public values KnownFungi { public value NobleRot with Name = 'botrytis cinerea'; } } } } } }
17. Example Database Class (Part II) // in version 1.0 construction { in context Fungi { step sql { CREATE TABLE [$[Fungi]]([$[Identity]] UNIQUEIDENTIFIER, [$[Name]] NVARCHAR(50)) } step sql { INSERT INTO [$[Fungi]]([$[Identity]], [$[Name]]) VALUES(newid(), '$[KnownFungi.NobleRot.Name]') } } in context Grapes { step sql { CREATE TABLE [$[Grapes]]( [$[Identity]] UniqueIdentifier, [$[Tons]] INT, [$[InfectionIdentity]] UniqueIdentifier) } } }
18. Example Database Class Usage using DBDesign = WineProductionDataStore.Design._1_0; public class MyQueryRunner { public int RunMyQuery(IDbConnection conn) { using (var cmd = conn.CreateCommand()) { cmd.CommandText = string.Format( @"SELECT MAX([{0}]) FROM [{1}] INNER JOIN [{2}] ON [{3}].[{4}] = [{2}].[{5}] WHERE [{2}].[{6}] = '{7}'", DBDesign.Grapes.Tons.GetPhysicalName(), DBDesign.Grapes.GetPhysicalName(), DBDesign.Fungi.GetPhysicalName(), DBDesign.Grapes.InfectionIdentity.GetPhysicalName(), DBDesign.Fungi.Identity.GetPhysicalName(), DBDesign.Fungi.Name.GetPhysicalName(), DBDesign.Fungi.KnownFungi.NobleRot.Name ); return (int)cmd.ExecuteScalar(); } } }