The document provides an introduction to Ruby on Rails for beginners. It covers various Ruby and Rails concepts like objects, classes, MVC framework, Active Record, routing and controllers. It then demonstrates how to build a basic Rails application with models, views and controllers to manage products using CRUD actions and RESTful routing.
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.
Presented on 8/14/2012 at BostonRb. This talk provides a nice intro and overview of what RubyMotion is and whether or not it's worth incorporating into your development toolkit.
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...Codemotion
This talk will show how to use TensorFlow with serverless platforms to bring the benefits of serverless (elastic scalability, low pricing and no charge for idle) to real-time machine learning in the cloud. Attendees will learn why serverless platforms are great for machine learning in the cloud, understand the different approaches for deploying pre-trained TensorFlow models in serverless runtimes and how to architect scalable serverless functions for performance when using TensorFlow. Attendees do not need any prior experience with machine learning or serverless cloud platforms.
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.
Presented on 8/14/2012 at BostonRb. This talk provides a nice intro and overview of what RubyMotion is and whether or not it's worth incorporating into your development toolkit.
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...Codemotion
This talk will show how to use TensorFlow with serverless platforms to bring the benefits of serverless (elastic scalability, low pricing and no charge for idle) to real-time machine learning in the cloud. Attendees will learn why serverless platforms are great for machine learning in the cloud, understand the different approaches for deploying pre-trained TensorFlow models in serverless runtimes and how to architect scalable serverless functions for performance when using TensorFlow. Attendees do not need any prior experience with machine learning or serverless cloud platforms.
We'll look at how the HTML5 and related specifications allow us to develop applications that can survive outside of the web. Browsers now offer us simple storage and more complicated SQL based storage and also full offline support which means we can build our apps to be self sufficient when the user is disconnected. This talk will take you through the technology and walk you though some practical code.
Talk presented to Madrid.rb for April 2014. Finding Restfulness takes you on a journey to discover how the idea for the library started, and some of the key parts on how it is implemented.
Velocity EU 2014 — Offline-first web appsandrewsmatt
The upcoming HTML5 feature known as Service Worker is set to turn the web on its head, enabling websites to run without an internet connection and to load quickly even when the connection is bad.
But with that evolutionary step, web applications need to become more complex, and to handle the fact that their source code may remain on a device for much longer than a single session. Without the safety net of starting fresh every time the user hits a link, considerations such as memory management, data consistency, encapsulation and backwards compatibility now come into play. Front-end developers are suddenly fully-fledged software engineers! The web page is our app platform, and the browser our runtime.
The fastest byte is a byte not sent, so the fastest website is the website that doesn’t need to load anything. Step with me into a world of good hacks, unbeatable performance and smart, multivariate responsiveness, drawn from experience building web apps for the FT and The Economist.
Outline
- What Is Selenium
- Why Automates Web Browser
- Automation with Selenium IDE
- Automation with WebDriver
- Page Factory
- Page Object Pattern
- Automation with FluentAutomation
- Selenium Grid
- Selenium Tests in Continuous Integration
- The Reality
- Q & A
Code sample can be downloaded at http://goo.gl/KtyF6r
This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017Ryan Weaver
What is Symfony *really*? It's a collection of *35* independent libraries, and
Drupal uses less than *half* of them! That means that there's a *ton* of other
good stuff that you can bring into your project to solve common problems... as
long as you know how, and what those components do!
In this talk, we'll have some fun: taking a tour of the Symfony components, how
to install them (into Drupal, or anywhere) and how to use some of my *favorite*,
lesser-known components. By the end, you'll have a better appreciation of what
Symfony *really* is, and some new tools to use immediately.
OpenERP is a very flexible open-source ERP system, which handles accounting, CRM, sales, purchasing, manufacturing, and many other business functions.
It is written in Python but has an XML-RPC API so we can control all of its functions from Perl. However, despite OpenERP having an object-oriented architecture the API is quite 'low-level', and using it is a very different experience compared to having an ORM like DBIx::Class.
OpenERP::OOM (Object to Object Mapper) bridges this gap, letting us use Moose classes to represent the OpenERP schema. As with an ORM, the schema and object classes can be extended with our own methods and functions.
With this approach the underlying interface to OpenERP becomes transparent - everything is done with Perl - which means we can write Catalyst models, extend OpenERP with CPAN modules, and use all of OpenERP's functions from our Perl code.
Presented at the YAPC Europe 2012 conference in Frankfurt, Germany.
This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
This prototype works, but it’s not pretty, and now it’s in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it’s imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we’ll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
Dans cette session vous apprendrez tout sur Ruby. Le langage, les frameworks, la communauté, mais surtout un esprit. Passé le teaser, Nicolas Ledez vous présentera comment Ruby peut vous apporter tous les jours une méthodologie dans votre travail, et des outils pour réaliser un prototype rapidement. Quel que soit votre langage d'origine, Ruby complète parfaitement votre boite à outils de développeur/administrateur système.
We'll look at how the HTML5 and related specifications allow us to develop applications that can survive outside of the web. Browsers now offer us simple storage and more complicated SQL based storage and also full offline support which means we can build our apps to be self sufficient when the user is disconnected. This talk will take you through the technology and walk you though some practical code.
Talk presented to Madrid.rb for April 2014. Finding Restfulness takes you on a journey to discover how the idea for the library started, and some of the key parts on how it is implemented.
Velocity EU 2014 — Offline-first web appsandrewsmatt
The upcoming HTML5 feature known as Service Worker is set to turn the web on its head, enabling websites to run without an internet connection and to load quickly even when the connection is bad.
But with that evolutionary step, web applications need to become more complex, and to handle the fact that their source code may remain on a device for much longer than a single session. Without the safety net of starting fresh every time the user hits a link, considerations such as memory management, data consistency, encapsulation and backwards compatibility now come into play. Front-end developers are suddenly fully-fledged software engineers! The web page is our app platform, and the browser our runtime.
The fastest byte is a byte not sent, so the fastest website is the website that doesn’t need to load anything. Step with me into a world of good hacks, unbeatable performance and smart, multivariate responsiveness, drawn from experience building web apps for the FT and The Economist.
Outline
- What Is Selenium
- Why Automates Web Browser
- Automation with Selenium IDE
- Automation with WebDriver
- Page Factory
- Page Object Pattern
- Automation with FluentAutomation
- Selenium Grid
- Selenium Tests in Continuous Integration
- The Reality
- Q & A
Code sample can be downloaded at http://goo.gl/KtyF6r
This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017Ryan Weaver
What is Symfony *really*? It's a collection of *35* independent libraries, and
Drupal uses less than *half* of them! That means that there's a *ton* of other
good stuff that you can bring into your project to solve common problems... as
long as you know how, and what those components do!
In this talk, we'll have some fun: taking a tour of the Symfony components, how
to install them (into Drupal, or anywhere) and how to use some of my *favorite*,
lesser-known components. By the end, you'll have a better appreciation of what
Symfony *really* is, and some new tools to use immediately.
OpenERP is a very flexible open-source ERP system, which handles accounting, CRM, sales, purchasing, manufacturing, and many other business functions.
It is written in Python but has an XML-RPC API so we can control all of its functions from Perl. However, despite OpenERP having an object-oriented architecture the API is quite 'low-level', and using it is a very different experience compared to having an ORM like DBIx::Class.
OpenERP::OOM (Object to Object Mapper) bridges this gap, letting us use Moose classes to represent the OpenERP schema. As with an ORM, the schema and object classes can be extended with our own methods and functions.
With this approach the underlying interface to OpenERP becomes transparent - everything is done with Perl - which means we can write Catalyst models, extend OpenERP with CPAN modules, and use all of OpenERP's functions from our Perl code.
Presented at the YAPC Europe 2012 conference in Frankfurt, Germany.
This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
This prototype works, but it’s not pretty, and now it’s in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it’s imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we’ll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
Dans cette session vous apprendrez tout sur Ruby. Le langage, les frameworks, la communauté, mais surtout un esprit. Passé le teaser, Nicolas Ledez vous présentera comment Ruby peut vous apporter tous les jours une méthodologie dans votre travail, et des outils pour réaliser un prototype rapidement. Quel que soit votre langage d'origine, Ruby complète parfaitement votre boite à outils de développeur/administrateur système.
Rails Antipatterns (http://www.amazon.com/Rails-AntiPatterns-Refactoring-Addison-Wesley-Professional/dp/0321604814) 를 읽고 몇 가지 정도만 요약을 해보았습니다.
레일즈를 시작한지 얼마 되지 않은터라 맞지 않는 부분이 있더라도 양해 부탁드려요 :)
From Backbone to Ember and Back(bone) Againjonknapp
As a software consultant, I get to see a lot of interesting code. In this particular instance a client was in the process of transforming their web application to a rich, interactive interface with the help of another company.
The project kicked off using Backbone and things were great. Until they were not great. Pages starting getting more and more involved and blame started being thrown at the technology choice.
A move to Ember.js ensued and the app was rewritten. But architecturally bad decisions don't hide long, and soon the rewrite was preforming even worse. That's when I stepped in, with the help of another consultant, to solve the performance issues once and for all. Our solution used Backbone.js and it was fast. This is that journey.
Crossing the Bridge: Connecting Rails and your Front-end FrameworkDaniel Spector
Presented at Railsconf 2015 by Daniel Spector, @danielspecs.
Crossing the Bridge explores tools, patterns and best practices to connect your Javascript MVC framework to Rails in the most seamless way possible. The talk progresses from demonstrating the standard API request cycle to preloading data to your client-side framework to rendering your javascript on the server. It explores Isomorphic Javascript and ways of implementing it with Rails.
GDG Almaty Meetup: Reactive full-stack .NET web applications with WebSharpergranicz
Reactive programming has become an indispensable tool for solving many of the challenges in data-driven applications, desktop and web alike. A quick survey of the reactive landscape reveals a staggering variety of choices available to developers, and it is a smaller challenge nowadays to choose the right technology to build on. In this talk, you will learn about applying functional programming and F# (and C#) to develop full-stack, reactive web applications and microservices using WebSharper, a mature open source web framework/ecosystem for developing enterprise-grade .NET web applications.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
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.
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!
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
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.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
12. users
id username email
1 olivier olivier@kudoz.com
2 edward ed@lovelyhood.com
3 vincent vincent@uslide.io
13. users products
id username email
1 olivier olivier@kudoz.com
2 edward ed@lovelyhood.com
3 vincent vincent@uslide.io
id name url user_id
1 LovelyHood lovely-hood.com
14. users products
id username email
1 olivier olivier@kudoz.com
2 edward ed@lovelyhood.com
3 vincent vincent@uslide.io
id name url user_id
1 LovelyHood lovely-hood.com 2
15. users products
id username email
1 olivier olivier@kudoz.com
2 edward ed@lovelyhood.com
3 vincent vincent@uslide.io
id name url user_id
1 LovelyHood lovely-hood.com 2
2 Kudoz getkudoz.com 1
3 uSlide uslide.io 3
4 Freshest frshst.com 2
16. users products
id username email
1 olivier olivier@kudoz.com
2 edward ed@lovelyhood.com
3 vincent vincent@uslide.io
id name url user_id
1 LovelyHood lovely-hood.com 2
2 Kudoz getkudoz.com 1
3 uSlide uslide.io 3
4 Freshest frshst.com 2
a user has many products
a product belongs to one user
1..N relationship
17. users products
id username email
1 olivier olivier@kudoz.com
2 edward ed@lovelyhood.com
3 vincent vincent@uslide.io
id name url user_id
1 LovelyHood lovely-hood.com 2
2 Kudoz getkudoz.com 1
3 uSlide uslide.io 3
4 Freshest frshst.com 2
primary key primary key foreign key
20. History
Created in 2003 by David Heinemeier Hansson (DHH), while working on Basecamp.
Extracted and released it as open source code in July of 2004
38. HTTP request is 4 things
1 - HTTP verb (GET / POST / PATCH / DELETE)
2 - URL
3 - headers
4 - body (not always)
39. Rails routing
GET /products
get “home” => “pages#home”
get “about” => “pages#about”
get “products” => “products#index”
post “products” => “products#create”
PagesController
ProductsController
def index
…
end
def create
…
end
49. class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.string :name
t.timestamps null: false
end
end
end
ActiveRecord Migration
67. We always need same actions
As a user, I can CRUD a flat
As a user, I can CRUD a tweet
As a user, I can CRUD a post
As a user, I can CRUD a product
68. get “products” “products#index”=>
get “products/:id” “products#show”=>
get “products/new” “products#new”=>
post “products” “products#create”=>
get “products/:id/edit” “products#edit”=>
patch “products/:id” “products#update”=>
delete “products/:id” “products#destroy”=>
79. class ProductsController
def new
@product = Product.new
end
def create
safe_params = params.require(:product).permit(:name, :tagline)
product = Product.new(safe_params)
product.save
redirect_to products_path
end
end