The document appears to be notes from a presentation on Ruby on Rails. It discusses various features and updates to Rails over time, including the introduction of Active Record, Action Pack, Action View and other core components in early versions of Rails. Later sections cover additions like Ajax functionality, exceptions handling, authentication, RESTful routing and more. Various dates are mentioned corresponding to different Rails releases.
AmpersandJS is the front-end "non-frameworky framework". Some might consider it as Backbone 2.0. Everything is a small CommonJS module published to npm, which follows strict semver. Perfect for nodeJS devs!
Considering all the discontent with AngularJS 2.0, Ampersand is a more than viable alternative for your MEAN stack.
Turn your spaghetti code into ravioli with JavaScript modulesjerryorr
JavaScript is the language that powers the interactive web of the future. But as our web applications become larger and more complex, we begin to strain the old paradigm of throwing a bunch of JavaScript functions into a few files. Complex dependencies, tight coupling, and global state can turn our code into a huge plate of spaghetti. Though browsers do not natively support JavaScript modules, there are many tools that can help us to write clean, modular JavaScript.
In this session, we will explore the benefits of writing modular JavaScript. We will also take a deep dive into specific JavaScript module systems, such as Browserify, RequireJS, and the module standards that are coming in ES6.
Outside-in Development with Cucumber and RspecJoseph Wilk
Talk given by Joseph Wilk at Scotland on Rails 2009. Examines how Cucumber and Rspec fit together in the testing workflow, how and why Cucumber is useful and how it works. Walks through a simple example based on renting DVDs showing how to use Cucumber and some of the best practices. Looks at how Webrat can drive Selenium to in-turn drive Cucumber features through the browser.
CoffeeScript is a programming language that compiles to JavaScript. It exposes the good parts of JavaScript in a simpler syntax that is influenced by Ruby and Python. CoffeeScript code is written with the .coffee extension and compiles to JavaScript that can run in browsers. The CoffeeScript syntax omits parentheses and curly braces where possible to make the code look cleaner. It supports features like destructuring assignment, fat arrow functions, splats, and array comprehensions that make code more concise.
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013GetSource
Image Manipulation in WordPress 3.5 talk from WordCamp Phoenix 2013
Image manipulation in WordPress was an alchemy of mixing GD functions and WordPress functions together to (hopefully) turn out the desired result. Now, as of WordPress 3.5, GD is abstracted out, and a new class, WP_Image_Editor, allows easy manipulation of image files. This lets you perform simple resizing, crops, flips, rotates, and real-time streaming of those results using Imagick or GD. But, that’s not all! You can also easily extend WordPress’ classes to add your own functions, or replace the entire engine with your own.
This session will walk through what’s changed for image manipulation in WordPress 3.5, and explain ways you can take advantage of the new APIs, both through using them directly and extending them for plugins of your own.
Presented by Mike Schroder (@GetSource/DH-Shredder)
jQuery Performance Tips and Tricks (2011)Addy Osmani
Today we’re going to take a look at best practices, tips and tricks for improving the performance of your jQuery code. Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bare in mind.
The document appears to be notes from a presentation on Ruby on Rails. It discusses various features and updates to Rails over time, including the introduction of Active Record, Action Pack, Action View and other core components in early versions of Rails. Later sections cover additions like Ajax functionality, exceptions handling, authentication, RESTful routing and more. Various dates are mentioned corresponding to different Rails releases.
AmpersandJS is the front-end "non-frameworky framework". Some might consider it as Backbone 2.0. Everything is a small CommonJS module published to npm, which follows strict semver. Perfect for nodeJS devs!
Considering all the discontent with AngularJS 2.0, Ampersand is a more than viable alternative for your MEAN stack.
Turn your spaghetti code into ravioli with JavaScript modulesjerryorr
JavaScript is the language that powers the interactive web of the future. But as our web applications become larger and more complex, we begin to strain the old paradigm of throwing a bunch of JavaScript functions into a few files. Complex dependencies, tight coupling, and global state can turn our code into a huge plate of spaghetti. Though browsers do not natively support JavaScript modules, there are many tools that can help us to write clean, modular JavaScript.
In this session, we will explore the benefits of writing modular JavaScript. We will also take a deep dive into specific JavaScript module systems, such as Browserify, RequireJS, and the module standards that are coming in ES6.
Outside-in Development with Cucumber and RspecJoseph Wilk
Talk given by Joseph Wilk at Scotland on Rails 2009. Examines how Cucumber and Rspec fit together in the testing workflow, how and why Cucumber is useful and how it works. Walks through a simple example based on renting DVDs showing how to use Cucumber and some of the best practices. Looks at how Webrat can drive Selenium to in-turn drive Cucumber features through the browser.
CoffeeScript is a programming language that compiles to JavaScript. It exposes the good parts of JavaScript in a simpler syntax that is influenced by Ruby and Python. CoffeeScript code is written with the .coffee extension and compiles to JavaScript that can run in browsers. The CoffeeScript syntax omits parentheses and curly braces where possible to make the code look cleaner. It supports features like destructuring assignment, fat arrow functions, splats, and array comprehensions that make code more concise.
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013GetSource
Image Manipulation in WordPress 3.5 talk from WordCamp Phoenix 2013
Image manipulation in WordPress was an alchemy of mixing GD functions and WordPress functions together to (hopefully) turn out the desired result. Now, as of WordPress 3.5, GD is abstracted out, and a new class, WP_Image_Editor, allows easy manipulation of image files. This lets you perform simple resizing, crops, flips, rotates, and real-time streaming of those results using Imagick or GD. But, that’s not all! You can also easily extend WordPress’ classes to add your own functions, or replace the entire engine with your own.
This session will walk through what’s changed for image manipulation in WordPress 3.5, and explain ways you can take advantage of the new APIs, both through using them directly and extending them for plugins of your own.
Presented by Mike Schroder (@GetSource/DH-Shredder)
jQuery Performance Tips and Tricks (2011)Addy Osmani
Today we’re going to take a look at best practices, tips and tricks for improving the performance of your jQuery code. Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bare in mind.
This document discusses Ruby on Rails from the perspective of a Java developer. It provides an overview of Rails' core components including the MVC framework, convention over configuration approach, routing, templating, ActiveRecord ORM, and testing tools. Rails aims to optimize for developer happiness and productivity by favoring conventions and providing a full-stack framework optimized for web development.
The document discusses Cucumber, a tool for writing acceptance tests in a business-readable domain-specific language called Gherkin. It touches on how Cucumber supports over 28 languages by compiling Gherkin grammars into the target language. It also provides examples of tagging scenarios and features in Cucumber to enable focused testing. Finally, it recommends further reading resources for learning more about Cucumber.
Using JavaBeans in JSP can allow accessing and modifying Java objects without explicit Java code. Beans must follow conventions like having a no-arg constructor and getter/setter methods. JSP tags like <jsp:useBean>, <jsp:setProperty>, and <jsp:getProperty> can instantiate, set properties of, and get properties from beans. <jsp:useBean> instantiates a bean, <jsp:setProperty> sets properties by calling setters, and <jsp:getProperty> gets properties by calling getters. The scope attribute shares beans across pages/servlets by storing them in scopes like page, request, session, or application.
The document provides examples of refactoring asynchronous code in JavaScript to use promises instead of callbacks. It starts with a nested callback example to test a blog API. It then refactors the code into two versions that use the async library and make the operations more parallel. The examples are intended to illustrate how promises can make asynchronous code look more like synchronous code by removing nested callbacks. Opening the linked files provides more detailed comments explaining each example.
Why speed is something developers should be in charge of? Product people rarely know what to ask “Can you make this faster?” Invest in speed, It’s one of the best things to spend your time on.
For a presentation given to the Angular DC Meetup on 3/19/14. (http://www.meetup.com/AngularJS-DC/events/169813802/) Part 2 of the "Angular from Scratch" series. Find part one at http://christianlilley.wordpress.com/2013/11/15/angular-from-scratch-slides-from-angularjs-meetup-dc/ . Find the accompanying demonstration files at https://github.com/xmlilley/ng-demos.
Ruby on Rails is a web application framework built on the Ruby programming language. It utilizes the MVC pattern with ActiveRecord as the ORM layer to simplify interactions with the database. Rails emphasizes conventions like implicit associations and validations to minimize configuration. Its goal is to maximize developer productivity through features like automatic SQL generation and an active community of developers.
Minha palestra sobre Ruby on Rails, Cultura e Ecossistema na Dev in Rio 2009. Vejam alguns dos meus vídeos dessa palestra em http://vimeo.com/akitaonrails
You Don't Know Query - WordCamp Portland 2011andrewnacin
Andrew Nacin gave a talk at WordCamp Portland 2011 about querying in WordPress. He explained that WordPress uses the WP_Query class to run queries and populate $wp_query. The "main query" is stored in $wp_the_query and copied to $wp_query. Developers can alter queries using the 'request' or 'pre_get_posts' hooks. The 'pre_get_posts' hook is more flexible but can impact any query, so developers should check that they are only modifying the main query. Proper use of wp_reset_query() and wp_reset_postdata() is also important when running additional queries.
The document provides 10 tips for using jQuery more effectively:
1. Use CSS instead of JavaScript when possible for effects.
2. Code JavaScript unobtrusively so basic functionality works without JavaScript.
3. Use pure JavaScript for simple tasks before learning jQuery.
4. Cache jQuery selections to improve performance.
5. Chain jQuery methods to reduce function calls.
6. Write readable code with comments and indentation.
7. Avoid unnecessary plugins to reduce page load.
8. Consider mobile devices with smaller screens and processing power.
9. Use IDs over other selectors for best performance.
10. Use find() instead of selectors from right to left for better performance.
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
This document discusses using CoffeeScript, Backbone.js, and Jasmine BDD to build single page web applications. It begins by explaining why CoffeeScript is useful for cleaning up JavaScript code and avoiding errors. It then discusses how Backbone.js provides structure for single page apps by defining models, collections, views and routers. It notes that Backbone works well with CoffeeScript. Finally, it mentions that Jasmine BDD can be used for writing professional tests.
- The document discusses best practices for using jQuery, including loading jQuery from Google's CDN, using CSS selectors with jQuery traversal functions, chaining methods, using context, avoiding class selection, checking for element existence, running code on page load, and combining/minifying scripts. It provides tips on performance, readability, and cross-browser compatibility when working with jQuery.
Ember.js is a JavaScript framework for building web applications. It provides conventions and architecture to make applications more organized and testable. Key aspects of Ember.js include Ember objects, computed properties, templates powered by Handlebars, routes for navigation, and a data modeling layer using Ember Data. Components are also used to build reusable isolated views. Ember follows a "data down, actions up" pattern where data flows from parent to child components and user actions bubble up through the components.
Fórum de Software Livre do Serpro RJ 2009Fabio Akita
Esta palestra é muito parecida com a que eu também ministrei no evento Dev in Rio 2009, portanto os slides são quase iguais caso você já tenha baixado.
A apresentação fala sobre filosofias, valores e idéias ágeis e como elas são a fundação da comunidade Ruby on Rails e do ecossistema que se formou ao seu redor.
Alguns dos vídeos mostrados estão disponíveis em http://vimeo.com/akitaonrails.com
This document provides an overview of jQuery, a JavaScript library for DOM manipulation. It discusses jQuery's CSS selector syntax, methods for manipulating DOM elements and collections, event handling, AJAX support through methods like load() and get(), and how jQuery is extensible through plugins. The document also provides examples of DOM traversal, value retrieval, event binding, and chaining methods.
The document discusses Sass, a CSS extension language that adds powerful features like variables, nested rules, mixins, functions and more. It outlines problems with traditional CSS like repetition, maintenance issues and lack of abstraction capabilities. Sass aims to solve these through its additional features that allow for more modular, reusable and maintainable stylesheets. It also introduces Compass, a Sass extension framework and library, and discusses best practices like organization, sprites and separation of concerns.
Your own (little) gem: building an online business with RubyLindsay Holmwood
The document provides instructions for building an online business using Ruby on Rails. It recommends starting with conservative financial estimates, limiting initial features to 1-2 core functions, and using specific Ruby gems like Merb and DataMapper for rapid web development. It then outlines steps for bootstrapping a sample Rails application, writing model and request specs to test it, and implementing additional features like sorting pub data and using Haml templates.
Front End Development - Beyond Javascript (Robin Cannon)Future Insights
Session slides from Future Insights Live, Vegas 2015:
https://futureinsightslive.com/las-vegas-2015/
Front-End Development is more than just a Javascript layer. Just because everything is single page apps and you’ve got Bootstrap to back up your Backbone, Ember or Angular, doesn’t mean you’re truly developing a presentation layer. Something that’s a truly great interface between the user and the back end requires the three pillars of front end web; javascript sure, but HTML and CSS are vital too. In this talk Robin redefines what it means to be a front-end developer, and explores frameworks that will help us to build things that users love. He'll cover the de-emphasis of HTML and CSS versus Javascript skills in front end web development, and the benefits of a broader approach that's only going to increase in importance as the Javascript MVC model matures.
Glen Smith discusses ways to reduce duplication in Grails user interfaces using Grails resources, Bootstrap, and Less CSS. Resources allow bundling and minimizing JavaScript and CSS, improving performance. Bootstrap provides pre-built HTML and CSS components. Less CSS extends CSS with features like variables, mixins, and nesting to reduce duplication. The talk demonstrates using these techniques and plugins to standardize fonts, layouts, forms, and navigation across a Grails application.
This document discusses behavior driven development (BDD) and Cucumber style testing. It provides examples of how to set up Cucumber testing for a Rails application, including installing Cucumber gems, configuring support files, and writing a sample feature file to test user sign up. Code snippets are provided for setting up Cucumber configuration files, installing necessary gems, and defining step definitions. The document aims to demonstrate how Cucumber can be used to write automated tests in a human-readable format.
This document discusses Ruby on Rails from the perspective of a Java developer. It provides an overview of Rails' core components including the MVC framework, convention over configuration approach, routing, templating, ActiveRecord ORM, and testing tools. Rails aims to optimize for developer happiness and productivity by favoring conventions and providing a full-stack framework optimized for web development.
The document discusses Cucumber, a tool for writing acceptance tests in a business-readable domain-specific language called Gherkin. It touches on how Cucumber supports over 28 languages by compiling Gherkin grammars into the target language. It also provides examples of tagging scenarios and features in Cucumber to enable focused testing. Finally, it recommends further reading resources for learning more about Cucumber.
Using JavaBeans in JSP can allow accessing and modifying Java objects without explicit Java code. Beans must follow conventions like having a no-arg constructor and getter/setter methods. JSP tags like <jsp:useBean>, <jsp:setProperty>, and <jsp:getProperty> can instantiate, set properties of, and get properties from beans. <jsp:useBean> instantiates a bean, <jsp:setProperty> sets properties by calling setters, and <jsp:getProperty> gets properties by calling getters. The scope attribute shares beans across pages/servlets by storing them in scopes like page, request, session, or application.
The document provides examples of refactoring asynchronous code in JavaScript to use promises instead of callbacks. It starts with a nested callback example to test a blog API. It then refactors the code into two versions that use the async library and make the operations more parallel. The examples are intended to illustrate how promises can make asynchronous code look more like synchronous code by removing nested callbacks. Opening the linked files provides more detailed comments explaining each example.
Why speed is something developers should be in charge of? Product people rarely know what to ask “Can you make this faster?” Invest in speed, It’s one of the best things to spend your time on.
For a presentation given to the Angular DC Meetup on 3/19/14. (http://www.meetup.com/AngularJS-DC/events/169813802/) Part 2 of the "Angular from Scratch" series. Find part one at http://christianlilley.wordpress.com/2013/11/15/angular-from-scratch-slides-from-angularjs-meetup-dc/ . Find the accompanying demonstration files at https://github.com/xmlilley/ng-demos.
Ruby on Rails is a web application framework built on the Ruby programming language. It utilizes the MVC pattern with ActiveRecord as the ORM layer to simplify interactions with the database. Rails emphasizes conventions like implicit associations and validations to minimize configuration. Its goal is to maximize developer productivity through features like automatic SQL generation and an active community of developers.
Minha palestra sobre Ruby on Rails, Cultura e Ecossistema na Dev in Rio 2009. Vejam alguns dos meus vídeos dessa palestra em http://vimeo.com/akitaonrails
You Don't Know Query - WordCamp Portland 2011andrewnacin
Andrew Nacin gave a talk at WordCamp Portland 2011 about querying in WordPress. He explained that WordPress uses the WP_Query class to run queries and populate $wp_query. The "main query" is stored in $wp_the_query and copied to $wp_query. Developers can alter queries using the 'request' or 'pre_get_posts' hooks. The 'pre_get_posts' hook is more flexible but can impact any query, so developers should check that they are only modifying the main query. Proper use of wp_reset_query() and wp_reset_postdata() is also important when running additional queries.
The document provides 10 tips for using jQuery more effectively:
1. Use CSS instead of JavaScript when possible for effects.
2. Code JavaScript unobtrusively so basic functionality works without JavaScript.
3. Use pure JavaScript for simple tasks before learning jQuery.
4. Cache jQuery selections to improve performance.
5. Chain jQuery methods to reduce function calls.
6. Write readable code with comments and indentation.
7. Avoid unnecessary plugins to reduce page load.
8. Consider mobile devices with smaller screens and processing power.
9. Use IDs over other selectors for best performance.
10. Use find() instead of selectors from right to left for better performance.
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
This document discusses using CoffeeScript, Backbone.js, and Jasmine BDD to build single page web applications. It begins by explaining why CoffeeScript is useful for cleaning up JavaScript code and avoiding errors. It then discusses how Backbone.js provides structure for single page apps by defining models, collections, views and routers. It notes that Backbone works well with CoffeeScript. Finally, it mentions that Jasmine BDD can be used for writing professional tests.
- The document discusses best practices for using jQuery, including loading jQuery from Google's CDN, using CSS selectors with jQuery traversal functions, chaining methods, using context, avoiding class selection, checking for element existence, running code on page load, and combining/minifying scripts. It provides tips on performance, readability, and cross-browser compatibility when working with jQuery.
Ember.js is a JavaScript framework for building web applications. It provides conventions and architecture to make applications more organized and testable. Key aspects of Ember.js include Ember objects, computed properties, templates powered by Handlebars, routes for navigation, and a data modeling layer using Ember Data. Components are also used to build reusable isolated views. Ember follows a "data down, actions up" pattern where data flows from parent to child components and user actions bubble up through the components.
Fórum de Software Livre do Serpro RJ 2009Fabio Akita
Esta palestra é muito parecida com a que eu também ministrei no evento Dev in Rio 2009, portanto os slides são quase iguais caso você já tenha baixado.
A apresentação fala sobre filosofias, valores e idéias ágeis e como elas são a fundação da comunidade Ruby on Rails e do ecossistema que se formou ao seu redor.
Alguns dos vídeos mostrados estão disponíveis em http://vimeo.com/akitaonrails.com
This document provides an overview of jQuery, a JavaScript library for DOM manipulation. It discusses jQuery's CSS selector syntax, methods for manipulating DOM elements and collections, event handling, AJAX support through methods like load() and get(), and how jQuery is extensible through plugins. The document also provides examples of DOM traversal, value retrieval, event binding, and chaining methods.
The document discusses Sass, a CSS extension language that adds powerful features like variables, nested rules, mixins, functions and more. It outlines problems with traditional CSS like repetition, maintenance issues and lack of abstraction capabilities. Sass aims to solve these through its additional features that allow for more modular, reusable and maintainable stylesheets. It also introduces Compass, a Sass extension framework and library, and discusses best practices like organization, sprites and separation of concerns.
Your own (little) gem: building an online business with RubyLindsay Holmwood
The document provides instructions for building an online business using Ruby on Rails. It recommends starting with conservative financial estimates, limiting initial features to 1-2 core functions, and using specific Ruby gems like Merb and DataMapper for rapid web development. It then outlines steps for bootstrapping a sample Rails application, writing model and request specs to test it, and implementing additional features like sorting pub data and using Haml templates.
Front End Development - Beyond Javascript (Robin Cannon)Future Insights
Session slides from Future Insights Live, Vegas 2015:
https://futureinsightslive.com/las-vegas-2015/
Front-End Development is more than just a Javascript layer. Just because everything is single page apps and you’ve got Bootstrap to back up your Backbone, Ember or Angular, doesn’t mean you’re truly developing a presentation layer. Something that’s a truly great interface between the user and the back end requires the three pillars of front end web; javascript sure, but HTML and CSS are vital too. In this talk Robin redefines what it means to be a front-end developer, and explores frameworks that will help us to build things that users love. He'll cover the de-emphasis of HTML and CSS versus Javascript skills in front end web development, and the benefits of a broader approach that's only going to increase in importance as the Javascript MVC model matures.
Glen Smith discusses ways to reduce duplication in Grails user interfaces using Grails resources, Bootstrap, and Less CSS. Resources allow bundling and minimizing JavaScript and CSS, improving performance. Bootstrap provides pre-built HTML and CSS components. Less CSS extends CSS with features like variables, mixins, and nesting to reduce duplication. The talk demonstrates using these techniques and plugins to standardize fonts, layouts, forms, and navigation across a Grails application.
This document discusses behavior driven development (BDD) and Cucumber style testing. It provides examples of how to set up Cucumber testing for a Rails application, including installing Cucumber gems, configuring support files, and writing a sample feature file to test user sign up. Code snippets are provided for setting up Cucumber configuration files, installing necessary gems, and defining step definitions. The document aims to demonstrate how Cucumber can be used to write automated tests in a human-readable format.
The document discusses using an image server to handle file uploads and image processing separately from the main application. Some key points:
- The image server would handle file uploads, storing files and metadata. The app would store a JSON object with file path and metadata instead of the file itself.
- The app would render <img> tags pointing to the image server, which would serve resized images on demand. This avoids processing images directly in the app.
- Uploading a file would submit the binary data to the image server, then store the JSON response in the model instead of the file.
- This allows images to be a normal attribute in models without the complexities of processing/resizing/de
Symfony & Javascript. Combining the best of two worldsIgnacio Martín
This document discusses combining Symfony and JavaScript. It provides a brief history of client-server interactions and explains how JavaScript is now commonly used on the client side. It acknowledges challenges with JavaScript like asynchronous behavior but notes the large community and low barrier to entry. It advocates using Symfony to build APIs and leveraging JavaScript frameworks like Backbone for the front end. It also discusses rendering views with Twig.js and using server-side JavaScript for tasks like streaming data.
This document provides an overview of CSS and JavaScript concepts. It discusses CSS transitions, transforms, grid properties, and using media queries with CSS grid. For JavaScript, it covers data types, operators, strings, arrays, objects, functions, and loops. It also provides examples of transform properties, grid column/row definitions, spanning, min-max properties, and template areas in CSS grid.
This document discusses technologies for creating and maintaining web applications. It covers Ruby and the Rails framework. Ruby is designed to be programmer-focused rather than machine-focused, helping create dynamic and self-explained code. Rails enables quickly building web servers through conventions, reuse, single responsibility principles, and features that provide quick setup, deployment, and built-in scalability. The document also discusses front-end architecture with client-side logic, and Rails features for development, deployment, databases, assets, and multi-environment configuration.
This document provides an overview of using PHP and MySQL together. It discusses connecting to a MySQL database, selecting a database, issuing SQL statements, and iterating through result sets. It also provides examples of PHP scripts that connect to a MySQL database on an i5 account, run SQL queries to create tables and insert data, and access the data. Reusable PHP components and accessing form data are also covered at a high level. Sample SQL scripts are included to create tables for recordings and composers data.
The potential problem with caching in update_homepage is that deleting the cache key after updating the page could lead to a race condition or stampede.
Since the homepage is being hit 1000/sec, between the time the cache key is deleted and a new value is set, many requests could hit the database simultaneously to refetch the page, overwhelming it.
It would be better to set a new value for the cache key instead of deleting it, to avoid this potential issue.
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010singingfish
The document discusses improving documentation for Perl modules like Moose and Catalyst by focusing on providing working code examples and minimizing extraneous information. It advocates for an incremental, "git-based" approach to introducing concepts one by one and advertising examples. Key points made include assuming readers have minimal knowledge, reducing cognitive load, and crowdsourcing documentation improvements through a standard Pod format. Contributors are tasked with improving specific documentation areas by these principles.
The document discusses best practices and anti-patterns for Django projects. It recommends keeping projects simple by avoiding over-engineering, using application-based modular design, and properly structuring settings files across multiple environments rather than relying on local_settings.py files. It also addresses common issues like import errors caused by PYTHONPATH configuration.
This document discusses various aspects of interface design including color, typography, iconography, microformats, and flexibility. It provides tips on choosing color palettes, using typography effectively, designing icons and favicons, implementing microformats, and making interfaces adaptable. Examples of microformats like hCard and hCalendar are shown to demonstrate how they can work together to provide structured data on the web. The document emphasizes starting simply, reusing elements, and testing designs for robustness by turning off images and CSS.
eact is a library for building HTML user interfaces. It is the "view" in a Model-View-Controller application. Created by the UI wizards at Facebook, top websites like Instagram, Netflix, Airbnb, Bleacher Report and Feedly use it. React is the 6th most starred project on GitHub and grows more popular every day.
In this two-day workshop, we will introduce you to React. On the first day, we will work through a series of increasingly more complicated tutorial exercises. Along the way, we will explain concepts like JSX, immutability, statefulness, one-way data flow, components, and virtual DOM.
With the basics out of the way, we will spend the second-day building a complex application which will put React through its paces and give us a chance to explore most of its features. Then we will learn how to think in React. We will show you how to go from design to components to working application. We will wrap the weekend with a quick preview of React Native, which allows you to use your React skills to create cross-platform mobile apps.
The document discusses socket applications and real-time communication. It describes common examples like chat, live feeds, and games. It then explains the typical solution of using AJAX requests and the problems with that approach. The proposed solution is to use a multi-threaded model with asynchronous I/O and the reactor pattern to process requests while waiting for network responses. Various tools for implementing this pattern in Ruby and JavaScript are also mentioned, including Pusher, Socket.IO, and SocketStream.
Awesome html with ujs, jQuery and coffeescriptAmir Barylko
The document provides an overview of HTML5, jQuery, and CoffeeScript. It discusses semantic HTML tags, unobtrusive JavaScript, jQuery features like DOM manipulation and events, and CoffeeScript features like string interpolation, functions, objects, and classes. Contact information is also included at the end.
The document discusses the challenges of scaling a monolithic Rails application over time as features and data grow. It begins by describing a Rails app with over 1000 controllers running on huge MySQL boxes across multiple datacenters. As the app and team grew, testing became spotty and developers became overwhelmed. The document then discusses actual scaling problems like scaling data, codebase, customers and features. It proposes separating the app into internal gems and services to allow independent scaling of components instead of the monolithic approach that becomes difficult to change.
The Enterprise Architecture you always wanted: A Billion Transactions Per Mon...Thoughtworks
The document describes an enterprise architecture for a telecoms service provider that was struggling with scalability and system resilience issues. A previous consultancy had proposed a complex and expensive solution, but ThoughtWorks was tasked with delivering the same capabilities more cheaply. They prioritized building a storage manager service to offload storage responsibilities from the integration database. This improved performance and allowed other parts of the system to be simplified, delivering business value by resolving customers' issues.
URUG Ruby on Rails Workshop - Sesssion 5jakemallory
This document provides an overview and instructions for a Ruby on Rails workshop. It introduces the presenter and discusses Rails frameworks. It then covers topics like data handling, using Git and the server log, named scopes, click-to-sort columns, and search functionality. Code examples and implementation hints are provided for tasks like adding sort order icons, search forms, and search result filtering.
The document discusses Merb slices, which are full-stack mini-Merb applications that can be shared between applications. Some key points:
1) Slices include full MVC components, assets, routes, and namespacing, and can be distributed as gems.
2) Developers can install slices with gems, configure them in their application, and access them at default URL paths.
3) Slices have rake tasks for common functions like copying assets, patching code, and running specs. They can also be customized through patching, configuration, and custom actions/views/routes.
4) The document provides instructions for creating a sample blog slice, including generating the structure, initializing settings,
Mock what? What Mock?Learn What is Mocking, and how to use Mocking with ColdFusion testing, development, and continuous integration. Look at Mocking and Stubbing with a touch of Theory and a lot of Examples, including what you could test, and what you should test… and what you shouldn't test (but might be fun).
- JavaScript has issues with variable scoping, implicit globals, and equality comparisons that can cause bugs.
- These issues can be overcome with techniques like always using var, immediately invoked functions, and strict equality checks.
- Static analysis tools like JSHint and JSLint help find problems by checking for common errors.
- Unit testing is also important to prevent bugs, and frameworks like QUnit make this straightforward in JavaScript.
- Despite its flaws, JavaScript has useful features like functional programming with list comprehensions, easy property-based extension, and powerful metaprogramming.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
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
“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.
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
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
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.
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.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
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.
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
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.
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.
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.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
2. Here’s
how
to
get
started
(it’s
surprisingly
easy)
• I’m
assuming
you’ve
got
Rails
3/RVM/all
that
jazz
working.
• If
you
don’t,
I
can’t
help
you…
…and,
someIme
when
you
least
expect
it,
MaK
will
hurt
you.
3. Here’s
how
to
get
started
(it’s
surprisingly
easy)
• Add
to
Gemfile:
group :test do
gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'rspec-rails'
gem 'spork'
gem 'launchy'
gem 'machinist', '>= 2.0.0.beta2'
gem 'faker'
end
• Bundle
install
4. Here’s
how
to
get
started
(it’s
surprisingly
easy)
• Now,
to
set
up
your
rails
app.
bundle exec rails g cucumber:install --capybara
bundle exec rails g machinist:install
touch features/support/blueprints.rb
• Add
this
line
to
blueprints.rb:
require 'machinist/active_record’
• Edit
this
line
in
env.rb
(in
features/support)
Cucumber::Rails::World.use_transactional_fixtures = false
5. Why
we’re
using
Machinist
• I
wanted
to
start
from
with
a
blank
slate,
installing
Cucumber
and
nothing
else.
• However,
I
quickly
found
that
Machinist
makes
things
a
lot
easier.
• Machinist
gives
you
blueprints,
greatly
simplifying
the
creaIon
of
mock
objects.
• More
later…
6. WriIng
features
@classifieds
Feature: Classified Ads
In order to buy and sell things
As a logged in user
I want to be able to view, add and manage classified ads
Background:
Given I am logged into cas as "Peter" "Portal" with an
username of "00700001"
And I have created another user
And I am on the classifieds index page
Scenario: Should be able to see the ads
Then I should see "Glamlife Marketplace"
Scenario: Should be able to add an ad
When I follow "Create a new ad"
And I fill in "classified_title" with "Testing title"
And I select "For Sale" from "classified_ad_type"
7. Baby
steps
• Each
of
those
lines,
aUer
the
feature
definiIon,
is
called
a
‘step’.
• There
are
a
bunch
of
simple
steps
that
Cucumber
knows
all
about,
but
someImes
you
will
want
to
do
something
more
complex
than
“click
this
link”.
• A
good
example
is
logging
in
using
CAS:
Given I am logged into cas as "Peter" "Portal" with an
username of "00700001"
• How
does
cucumber
know
what
to
do
with
this?
8. Defining
steps
• So
that
Cucumber
understands
our
steps,
we
have
to
define
them:
Given /^I am logged into cas as "(.*)" "(.*)" with an username of
"(.*)"$/ do | firstname, surname, username |
@user = User.make!(
:username => username,
:firstname => firstname,
:surname => surname,
:dob => "01/01/1990",
:home_address1 => "1 Street Street",
:home_email => "pedro@portal.po",
:home_phone => "1234567890",
:term_address1 => "5 Glam Street",
:term_phone => "0987654321",
:term_mobile => "5674839201",
:user_status => "Student",
:user_type => "UGStudent"
)
CASClient::Frameworks::Rails::Filter.fake(username)
visit("/cas_session?force_cas_user=#{@user.username}")
end
9. CAS
hates
green
salad
fruits
• CAS
and
Cucumber
don’t
get
on
at
all
well.
• Luckily
the
rubycas-‐client
gem
developer
has
put
in
a
way
for
Cucumber
to
get
around
CAS
without
taking
a
beaIng.
CASClient::Frameworks::Rails::Filter.fake(username)
• Adding
this
line
to
our
step
definiIon
lets
Cucumber
in
the
back
door.
• Green
peppers,
however,
can
get
bent.
10. Blueprints
and
‘make!’
• Blueprints
allow
you
to
pre-‐define
instances
of
your
models,
so
you
don’t
have
to
fill
in
all
the
details.
• Using
make!
instead
of
create
uses
these
blueprints.
• Let’s
have
a
look
at
a
blueprint.rb
file…
11. Blueprints
and
‘make’
Chunk.blueprint do
title { sentence }
content { sentence }
end
Classified.blueprint do
title { sentence }
ad_type { ad_type }
body { paragraphs }
reason { sentence }
image { File.new("#{Rails.root.to_s}/
features/support/upload-files/image.png") }
moderated { 0 }
completed { 0 }
end
12. Faking
data
• The
variables
in
the
last
slide
are
set
up
to
create
random
data,
oUen
using
Faker.
sentence
=
Faker::Lorem.sentence
paragraphs
=
Faker::Lorem.paragraphs.join("nn")
ad_type
=
"For
Sale"
name
=
Faker::Name.name
first_name
=
Faker::Name.first_name
last_name
=
Faker::Name.last_name
username
=
rand(99999999).to_s
13. Paths
• In
olden
Imes,
people
used
to
have
to
put
paths
to
pages
into
their
features.
• This
is
‘briKle’
because
if
a
path
changes,
your
test
will
break.
To
miIgate
this
problem,
paths
are
defined
in
paths.rb
in
features/support,
eg:
when /the homes?page/
'/'
• This
way,
you
only
have
to
update
one
file
when
something
changes.
• The
same
can
be
done
with
selectors…
14. Selectors
• Selectors
are
used
to
‘select’
a
specific
instance
of
something
on
a
page.
• For
example,
you
might
have
the
same
text
appear
in
more
than
one
place
and
want
to
restrict
it
to
checking
a
specific
div.
• For
example:
Then I should see "Ad was successfully created"
within ".flash.notice”
• This
checks
for
the
text
within
a
div
with
the
classes
“flash”
and
“noIce”.
15. Selectors
• But
this
doesn’t
look
very
nice,
and
it
is
briKle.
• So,
we
can
introduce
a
selectors.rb
file,
similar
to
paths.rb,
to
provide
natural
language
shortcuts:
when /the flash (notice|error|info)/
".flash.#{$1} "
• Now
we
can
say:
Then I should see "Ad was successfully created"
within the flash notice
• See
this
site
for
how
to
set
this
up:
http://bjeanes.com/2010/09/19/selector-free-cucumber-
scenarios
16. Running
the
tests
• Once
you
have
wriKen
your
features,
simply
run:
bundle exec cucumber
• to
run
a
single
feature,
use
tags:
Or,
bundle exec cucumber –t tagname
• You
should
see
loads
of
red
–
now
write
your
code
and
make
it
green!