Ruby is a dynamic, open source programming language that was created in 1993 by Yukihiro Matsumoto who wanted to ensure that programming is simple, practical and enjoyable. It combines object-oriented and imperative programming and provides automatic memory management. Some key aspects of Ruby include being dynamically typed, following the principle of least surprise, and being multi-paradigm supporting object-oriented, functional and imperative programming.
1. The document discusses the history and features of the Ruby programming language. It was created in the mid-1990s by Yukihiro Matsumoto in Japan and was influenced by other languages like Perl, Smalltalk, Eiffel, Ada, and LISP. Ruby supports object-oriented, functional, and imperative programming paradigms.
2. The document provides an introduction to some basic concepts in Ruby including variables, data types, methods, blocks, and control structures. It explains how to define variables, write methods with parameters and returns values, pass blocks to methods, and use conditional and looping statements.
3. The document covers various Ruby string functions and regular expressions. It demonstrates
Groovy is a dynamic language for the Java Virtual Machine that aims to bring dynamic capabilities like Python and Ruby to Java developers. It has many features inspired by dynamic languages like closures, duck typing and metaprogramming, but also maintains compatibility with Java by having a Java-like syntax and the ability to interoperate with Java code. Groovy code can either be run directly from scripts or compiled into Java bytecode to be used within Java applications.
This document summarizes a talk given by Ian Dees on writing your own JVM compiler. The talk discusses three main reasons why someone may want to write their own compiler: a hardware background, a computer science background, or following a self-made path of learning computer science topics. It then previews the fictional Thnad programming language that will be used to demonstrate creating a compiler. The talk outlines the main stages of creating a compiler: parsing, transforming, and emitting bytecode. Various Ruby tools like Parslet and BiteScript that will be used are also introduced.
One of the advantages of learning a new language is being exposed to new idioms and new approaches to solving old problems. In this talk, we will introduce the Ruby language with particular focus on the idioms and concepts that are different from what is found in Java.
We will introduce concepts such as closures, continuations and meta programming. We will also examine powerful techniques that are practically impossible in Java due to its compile time binding of types.
No experience with Ruby is assumed although an understanding of Java would be helpful.
This talk was given at the Toronto Java Users Group in April 2008
The document provides an overview of the Rust programming language. It describes how Rust grew out of a personal project at Mozilla in 2009. Rust aims to be a safe, concurrent, and practical language supporting multiple paradigms. It uses concepts like ownership and borrowing to prevent data races at compile time. Rust also features traits, generics, pattern matching, and lifetimes to manage memory in a flexible yet deterministic manner.
The document compares and contrasts VARCHAR and NVARCHAR data types in SQL Server. It discusses how NVARCHAR stores Unicode data using 2 bytes per character compared to 1 byte for VARCHAR, the maximum character limits of 4000 for NVARCHAR and 8000 for VARCHAR, and how the data types handle optional size parameters and functions like CAST.
The document also compares SQL Server to MySQL. It highlights differences in functions like NOW() vs GETDATE(), LIMIT vs TOP for pagination, auto-increment fields, character replacement functions, and more.
Finally, the document discusses the difference between SET QUOTED_IDENTIFIER ON and OFF in SQL Server. It explains that with it ON, characters in double quotes are treated as identifiers while with it OFF
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports features like classes, modules, blocks/iterators, exceptions, regular expressions and threads. Everything in Ruby is an object.
- Compared to Perl, Ruby is more object-oriented, dynamic, and has built-in support for threads. Syntax also differs in some key ways.
- The document provides examples of basic Ruby syntax like variables, loops, conditions, classes and modules to illustrate how the language works.
1. The document discusses the history and features of the Ruby programming language. It was created in the mid-1990s by Yukihiro Matsumoto in Japan and was influenced by other languages like Perl, Smalltalk, Eiffel, Ada, and LISP. Ruby supports object-oriented, functional, and imperative programming paradigms.
2. The document provides an introduction to some basic concepts in Ruby including variables, data types, methods, blocks, and control structures. It explains how to define variables, write methods with parameters and returns values, pass blocks to methods, and use conditional and looping statements.
3. The document covers various Ruby string functions and regular expressions. It demonstrates
Groovy is a dynamic language for the Java Virtual Machine that aims to bring dynamic capabilities like Python and Ruby to Java developers. It has many features inspired by dynamic languages like closures, duck typing and metaprogramming, but also maintains compatibility with Java by having a Java-like syntax and the ability to interoperate with Java code. Groovy code can either be run directly from scripts or compiled into Java bytecode to be used within Java applications.
This document summarizes a talk given by Ian Dees on writing your own JVM compiler. The talk discusses three main reasons why someone may want to write their own compiler: a hardware background, a computer science background, or following a self-made path of learning computer science topics. It then previews the fictional Thnad programming language that will be used to demonstrate creating a compiler. The talk outlines the main stages of creating a compiler: parsing, transforming, and emitting bytecode. Various Ruby tools like Parslet and BiteScript that will be used are also introduced.
One of the advantages of learning a new language is being exposed to new idioms and new approaches to solving old problems. In this talk, we will introduce the Ruby language with particular focus on the idioms and concepts that are different from what is found in Java.
We will introduce concepts such as closures, continuations and meta programming. We will also examine powerful techniques that are practically impossible in Java due to its compile time binding of types.
No experience with Ruby is assumed although an understanding of Java would be helpful.
This talk was given at the Toronto Java Users Group in April 2008
The document provides an overview of the Rust programming language. It describes how Rust grew out of a personal project at Mozilla in 2009. Rust aims to be a safe, concurrent, and practical language supporting multiple paradigms. It uses concepts like ownership and borrowing to prevent data races at compile time. Rust also features traits, generics, pattern matching, and lifetimes to manage memory in a flexible yet deterministic manner.
The document compares and contrasts VARCHAR and NVARCHAR data types in SQL Server. It discusses how NVARCHAR stores Unicode data using 2 bytes per character compared to 1 byte for VARCHAR, the maximum character limits of 4000 for NVARCHAR and 8000 for VARCHAR, and how the data types handle optional size parameters and functions like CAST.
The document also compares SQL Server to MySQL. It highlights differences in functions like NOW() vs GETDATE(), LIMIT vs TOP for pagination, auto-increment fields, character replacement functions, and more.
Finally, the document discusses the difference between SET QUOTED_IDENTIFIER ON and OFF in SQL Server. It explains that with it ON, characters in double quotes are treated as identifiers while with it OFF
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports features like classes, modules, blocks/iterators, exceptions, regular expressions and threads. Everything in Ruby is an object.
- Compared to Perl, Ruby is more object-oriented, dynamic, and has built-in support for threads. Syntax also differs in some key ways.
- The document provides examples of basic Ruby syntax like variables, loops, conditions, classes and modules to illustrate how the language works.
This document discusses playfulness in the workplace and how it relates to the Ruby programming language. It begins by thanking the organizers and hosts for the event. It then highlights some Ruby libraries created by the host city's Ruby community. The document goes on to discuss reasons for using Ruby at work, including dealing with data formats, scripting other software, sharing code with coworkers, and deploying software to customers. It provides examples using Ruby libraries and tools like Parslet, FFI, ChunkyPNG, and WinGui to parse data formats, control the mouse through its API, read PNG files, and click on points on the screen. The overall message is that Ruby can be used playfully to get tasks done at
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is an interpreted, object-oriented scripting language that is very similar to Perl but also introduces significant differences. Both languages are suitable for tasks like text processing and system administration scripts. Ruby places a stronger emphasis on object-oriented principles and is more dynamic than Perl.
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is an interpreted, object-oriented scripting language that is very similar to Perl in many ways, such as its syntax for regular expressions and control structures like loops and conditionals. However, Ruby differs from Perl in that it was designed from the start to be object-oriented and highly dynamic. The document discusses Ruby's core concepts like classes, modules, blocks and iterators in detail and provides many code examples to illustrate Ruby's syntax and features.
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
“What should I work on next?” Code metrics can help you answer that question. They can single out sections of your code that are likely to contain bugs. They can help you get a toehold on a legacy system that’s poorly covered by tests.
Rule 1: Follow a consistent coding standard
Rule 2: Name things properly, long variable and function names are allowed
Rule 3: Be expressive, write code as you speak and be optimally verbose
Rule 4: Max indent per method should be 2, in case of exceptions 3
Rule 5: Avoid creating god object and long methods
Rule 6: Keep the method in one place, inject the class and call it, DRY
Rule 7: Avoid in-line comments (comment with code), put comments in the method doc
At a previous JRubyConf, we talked about Thnad, a fictional programming language. Thnad served as a vehicle to explore the joy of building a compiler using JRuby, BiteScript, Parslet, and other tools. Now, Thnad is back with a second runtime: Rubinius. Come see the Rubinius environment through JRuby eyes. Together, we'll see how to grapple with multiple instruction sets and juggle contexts without going cross-eyed.
Learn Ruby 2011 - Session 5 - Looking for a RescueJames Thompson
In this final language-focussed session we covered the three kinds of blocks used in Ruby: blocks, Procs and lambdas. We also covered error/exception handling in Ruby and reviewed iteration mechanisms.
ESOFT Metro Campus - Diploma in Software Engineering - (Module VI) Windows Based Application Development in Java
(Template - Virtusa Corporate)
Contents:
Introduction to Java
Features of Java
What you can create by Java?
Start Java Programming
Creating First Java Program
Java Virtual Machine
Basic Rules to Remember
Keywords in Java
Comments in Java Programs
Printing Statements
Primitive Data Types in Java
Arithmetic Operators
Assignment Operators
Comparison Operators
Logical Operators
If Statement
If… Else Statement
If… Else if… Else Statement
Nested If Statement
While Loop
Do While Loop
For Loop
Reading User Input
Arrays
Two Dimensional Arrays
Strings
Objects and Classes
Java Classes
Java Objects
Methods with Return Value
Methods without Return Value
Constructors
Method Overloading
Variable Types
Inheritance
Method Overriding
Abstract Classes
Interfaces
Polymorphism
Packages
Access Modifiers
Encapsulation
Exceptions
JDBC
GUI Applications with Swing
NetBeans IDE
JRuby, Not Just For Hard-Headed Pragmatists AnymoreErin Dees
JRuby bills itself as the pragmatic Ruby, the go-to implementation when you need to fit into the Java universe or support a ton of platforms.
Who knew it was also a tool for having fun exploring the realms of computer science?
Problems of Well-Being - Technology disadvantages and advantages in our societyKole Turpin
The document discusses some of the negative effects of technology on society. It notes that people now communicate more through electronics than in person, and spend too much time on electronics. This can make people more anti-social. Technology is also enabling cyberbullying. Additionally, overuse of technology is negatively impacting people's communication skills, writing skills, and patience.
This document discusses the past, present, and future of industrial robots and how robots are integrating more into human workspaces and daily life. It notes that industrial robots first appeared over 60 years ago and were mainly used in the automotive sector, but there is now a trend of robots working alongside humans as co-workers in production. Advances in areas like artificial intelligence, sensors, machine vision and speech recognition are enabling consumer robots to become smarter companions and take on more tasks in homes, warehouses, hospitals and more. While robots replacing some jobs is a concern, others believe new opportunities will be created as tasks are automated. The future of robotics and AI looks promising as technologies continue to progress.
advantage and disadvantage of technology Ziyad Siso
This document discusses the advantages and disadvantages of technology. It begins by defining technology as the electronic machines and systems people use daily, like cell phones and computers. It then explores how technology has greatly impacted society by changing how people communicate, work, and spend their time. While technology allows for easier communication and entertainment, overreliance on devices can reduce real-world social interaction. The document also examines specific technologies like the cell phone, internet, hardware and software. It outlines both benefits of technology, such as improved communication and education, and drawbacks such as health risks from radiation and less time spent outdoors.
Technology ( The Advantage and Disadvantage)Alyanna Marie
The document outlines several advantages and disadvantages of technology. The advantages include providing vast knowledge and information quickly, enabling faster communication, easily saving data, and promoting interactive learning. The disadvantages are that technology can make people lazy, dependent, distracted, and lacking in traditional communication skills as they over-rely on networking sites instead of real social interaction.
Technological advances have provided many benefits but also disadvantages. Communication, job creation, and cost effectiveness have improved with technology, but some become addicted to devices and machines replace some jobs. While life was simpler before widespread technology, advances will open new worlds through communication and discovery, though pollution needs addressing. Both advantages and issues with dependence on technology exist, so balance is important.
This document provides an overview of the state of robotics in 2015. It discusses major trends seen that year, including faster/cheaper components, more startups and funding, and the growing robot-as-a-service model. Specific areas covered include drones becoming more advanced and popular, progress in autonomous vehicles, the expansion of service robots into new industries, lifestyle robots entering homes, and continued development of social robots.
Advantages and disadvantages of technologyHuseyin87
This document discusses both the advantages and disadvantages of technology. The advantages include that technology makes life easier, leads to fewer mistakes, and saves time by reducing distance and providing information and communication. However, the disadvantages are that technology can cause job losses, make people lazy, and reduce face-to-face communication. Overall, the document cautions that while technology is important, we should be aware of its potential dangers.
The document outlines several advantages and disadvantages of using technology. It lists advantages such as helping people communicate, aim for better living, gather information, access government services, download content, improve education, provide entertainment, online shopping, and stay updated on social media. Disadvantages mentioned include technology addiction, wasting money and time, eye strain, plagiarism, neglecting chores, lack of privacy, increased cybercrime, ruined lives, and virus spreading. Overall, the document presents a list of pros and cons of technology use.
This document discusses how technology has changed in the past 15 years and predictions for the next 2 years. It notes that 15 years ago, technologies like cellphones, laptops, the internet, digital cameras and MP3 players did not exist. Nowadays, technologies allow us to be constantly connected everywhere through cellphones and computers connected to the internet. Predictions for the next 2 years include increased use of augmented reality, social networks combining with geolocation data, growth of ebooks, use of robots in homes, and increased biometrics like face and fingerprint detection for authentication.
Through the document, the author discusses how technology has evolved and impacted human interaction with nature and each other. Originally, people lived closely with nature and communicated through writing letters. Over time, technology emerged in industries, communication, and households. People began spending less time in nature and more with newly available technologies like mobile phones. While technology has benefits like easier communication, overuse of devices like smartphones can negatively impact lifestyles, social interaction, health, and disconnect people from the real world. The author advocates for using technology with control and limits rather than becoming addicted to or letting it control our lives.
This document discusses playfulness in the workplace and how it relates to the Ruby programming language. It begins by thanking the organizers and hosts for the event. It then highlights some Ruby libraries created by the host city's Ruby community. The document goes on to discuss reasons for using Ruby at work, including dealing with data formats, scripting other software, sharing code with coworkers, and deploying software to customers. It provides examples using Ruby libraries and tools like Parslet, FFI, ChunkyPNG, and WinGui to parse data formats, control the mouse through its API, read PNG files, and click on points on the screen. The overall message is that Ruby can be used playfully to get tasks done at
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is an interpreted, object-oriented scripting language that is very similar to Perl but also introduces significant differences. Both languages are suitable for tasks like text processing and system administration scripts. Ruby places a stronger emphasis on object-oriented principles and is more dynamic than Perl.
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is an interpreted, object-oriented scripting language that is very similar to Perl in many ways, such as its syntax for regular expressions and control structures like loops and conditionals. However, Ruby differs from Perl in that it was designed from the start to be object-oriented and highly dynamic. The document discusses Ruby's core concepts like classes, modules, blocks and iterators in detail and provides many code examples to illustrate Ruby's syntax and features.
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
“What should I work on next?” Code metrics can help you answer that question. They can single out sections of your code that are likely to contain bugs. They can help you get a toehold on a legacy system that’s poorly covered by tests.
Rule 1: Follow a consistent coding standard
Rule 2: Name things properly, long variable and function names are allowed
Rule 3: Be expressive, write code as you speak and be optimally verbose
Rule 4: Max indent per method should be 2, in case of exceptions 3
Rule 5: Avoid creating god object and long methods
Rule 6: Keep the method in one place, inject the class and call it, DRY
Rule 7: Avoid in-line comments (comment with code), put comments in the method doc
At a previous JRubyConf, we talked about Thnad, a fictional programming language. Thnad served as a vehicle to explore the joy of building a compiler using JRuby, BiteScript, Parslet, and other tools. Now, Thnad is back with a second runtime: Rubinius. Come see the Rubinius environment through JRuby eyes. Together, we'll see how to grapple with multiple instruction sets and juggle contexts without going cross-eyed.
Learn Ruby 2011 - Session 5 - Looking for a RescueJames Thompson
In this final language-focussed session we covered the three kinds of blocks used in Ruby: blocks, Procs and lambdas. We also covered error/exception handling in Ruby and reviewed iteration mechanisms.
ESOFT Metro Campus - Diploma in Software Engineering - (Module VI) Windows Based Application Development in Java
(Template - Virtusa Corporate)
Contents:
Introduction to Java
Features of Java
What you can create by Java?
Start Java Programming
Creating First Java Program
Java Virtual Machine
Basic Rules to Remember
Keywords in Java
Comments in Java Programs
Printing Statements
Primitive Data Types in Java
Arithmetic Operators
Assignment Operators
Comparison Operators
Logical Operators
If Statement
If… Else Statement
If… Else if… Else Statement
Nested If Statement
While Loop
Do While Loop
For Loop
Reading User Input
Arrays
Two Dimensional Arrays
Strings
Objects and Classes
Java Classes
Java Objects
Methods with Return Value
Methods without Return Value
Constructors
Method Overloading
Variable Types
Inheritance
Method Overriding
Abstract Classes
Interfaces
Polymorphism
Packages
Access Modifiers
Encapsulation
Exceptions
JDBC
GUI Applications with Swing
NetBeans IDE
JRuby, Not Just For Hard-Headed Pragmatists AnymoreErin Dees
JRuby bills itself as the pragmatic Ruby, the go-to implementation when you need to fit into the Java universe or support a ton of platforms.
Who knew it was also a tool for having fun exploring the realms of computer science?
Problems of Well-Being - Technology disadvantages and advantages in our societyKole Turpin
The document discusses some of the negative effects of technology on society. It notes that people now communicate more through electronics than in person, and spend too much time on electronics. This can make people more anti-social. Technology is also enabling cyberbullying. Additionally, overuse of technology is negatively impacting people's communication skills, writing skills, and patience.
This document discusses the past, present, and future of industrial robots and how robots are integrating more into human workspaces and daily life. It notes that industrial robots first appeared over 60 years ago and were mainly used in the automotive sector, but there is now a trend of robots working alongside humans as co-workers in production. Advances in areas like artificial intelligence, sensors, machine vision and speech recognition are enabling consumer robots to become smarter companions and take on more tasks in homes, warehouses, hospitals and more. While robots replacing some jobs is a concern, others believe new opportunities will be created as tasks are automated. The future of robotics and AI looks promising as technologies continue to progress.
advantage and disadvantage of technology Ziyad Siso
This document discusses the advantages and disadvantages of technology. It begins by defining technology as the electronic machines and systems people use daily, like cell phones and computers. It then explores how technology has greatly impacted society by changing how people communicate, work, and spend their time. While technology allows for easier communication and entertainment, overreliance on devices can reduce real-world social interaction. The document also examines specific technologies like the cell phone, internet, hardware and software. It outlines both benefits of technology, such as improved communication and education, and drawbacks such as health risks from radiation and less time spent outdoors.
Technology ( The Advantage and Disadvantage)Alyanna Marie
The document outlines several advantages and disadvantages of technology. The advantages include providing vast knowledge and information quickly, enabling faster communication, easily saving data, and promoting interactive learning. The disadvantages are that technology can make people lazy, dependent, distracted, and lacking in traditional communication skills as they over-rely on networking sites instead of real social interaction.
Technological advances have provided many benefits but also disadvantages. Communication, job creation, and cost effectiveness have improved with technology, but some become addicted to devices and machines replace some jobs. While life was simpler before widespread technology, advances will open new worlds through communication and discovery, though pollution needs addressing. Both advantages and issues with dependence on technology exist, so balance is important.
This document provides an overview of the state of robotics in 2015. It discusses major trends seen that year, including faster/cheaper components, more startups and funding, and the growing robot-as-a-service model. Specific areas covered include drones becoming more advanced and popular, progress in autonomous vehicles, the expansion of service robots into new industries, lifestyle robots entering homes, and continued development of social robots.
Advantages and disadvantages of technologyHuseyin87
This document discusses both the advantages and disadvantages of technology. The advantages include that technology makes life easier, leads to fewer mistakes, and saves time by reducing distance and providing information and communication. However, the disadvantages are that technology can cause job losses, make people lazy, and reduce face-to-face communication. Overall, the document cautions that while technology is important, we should be aware of its potential dangers.
The document outlines several advantages and disadvantages of using technology. It lists advantages such as helping people communicate, aim for better living, gather information, access government services, download content, improve education, provide entertainment, online shopping, and stay updated on social media. Disadvantages mentioned include technology addiction, wasting money and time, eye strain, plagiarism, neglecting chores, lack of privacy, increased cybercrime, ruined lives, and virus spreading. Overall, the document presents a list of pros and cons of technology use.
This document discusses how technology has changed in the past 15 years and predictions for the next 2 years. It notes that 15 years ago, technologies like cellphones, laptops, the internet, digital cameras and MP3 players did not exist. Nowadays, technologies allow us to be constantly connected everywhere through cellphones and computers connected to the internet. Predictions for the next 2 years include increased use of augmented reality, social networks combining with geolocation data, growth of ebooks, use of robots in homes, and increased biometrics like face and fingerprint detection for authentication.
Through the document, the author discusses how technology has evolved and impacted human interaction with nature and each other. Originally, people lived closely with nature and communicated through writing letters. Over time, technology emerged in industries, communication, and households. People began spending less time in nature and more with newly available technologies like mobile phones. While technology has benefits like easier communication, overuse of devices like smartphones can negatively impact lifestyles, social interaction, health, and disconnect people from the real world. The author advocates for using technology with control and limits rather than becoming addicted to or letting it control our lives.
This document provides an overview of teaching technology to children. It discusses the three strands of technology: Strand A focuses on practical skills, Strand B covers terminology and methods, and Strand C examines the history and impact of technology. Various learning intentions and activities are presented to help teachers develop lessons on the nature of technology, including defining technology, understanding how it has shaped our lives, and creating teaching strategies. The document emphasizes developing students' broad understanding of technology beyond just the tools or activities they are engaged with.
Ruby is a dynamic, open source object-oriented scripting language that is interpreted, not compiled. It supports features like garbage collection, exception handling, operator overloading, and just-in-time compilation. Ruby can be used for web development, system scripting, database programming, and GUI development. It uses classes and modules to support object-oriented programming concepts like inheritance, polymorphism, and mixins.
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is a dynamic, reflective, object-oriented scripting language that is similar to Perl in many ways but also differs in its stronger object-oriented focus. The document discusses Ruby's syntax, core classes, object model, modules, blocks and iterators, and other features.
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It borrows concepts from Perl, Smalltalk, Lisp, and C but has a stronger object orientation than Perl.
- Ruby places an emphasis on flexibility, dynamism, and a "human-oriented" design with principles like "least surprise." It aims to provide multiple ways to accomplish tasks.
- The document discusses Ruby's syntax, basic programming concepts like classes and modules, and core library classes like Array, IO, and String. It also notes Ruby's support for paradigms like functional programming.
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is an interpreted, object-oriented scripting language that is very similar to Perl in many ways, such as its syntax for regular expressions and special variables, but differs in its stronger emphasis on object-oriented principles and more dynamic features. The document discusses Ruby's history and influences, basic syntax, core classes and modules, functional programming capabilities, and ease of extension.
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is an interpreted, object-oriented scripting language that is very similar to Perl in many ways, such as its syntax for regular expressions and special variables, but differs in its stronger emphasis on object-oriented principles and more dynamic features. The document discusses Ruby's history and influences, basic syntax, core programming concepts like classes and modules, and ways that Ruby code can be easily extended.
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports features like classes, modules, blocks/iterators, exceptions, regular expressions and threads. Everything in Ruby is an object.
- Compared to Perl, Ruby is more object-oriented, dynamic, and has built-in support for threads. Syntax also differs in some areas like conditionals.
- The document provides examples of common Ruby constructs like classes, modules, loops, conditions and built-in core classes like Array, IO
This document provides an overview of the Ruby programming language for Perl programmers. Ruby is a dynamic, reflective, object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and other languages. Some key points covered include Ruby's object-oriented design, syntax similarities and differences compared to Perl, core classes and features like blocks/iterators, modules and mixins, exceptions, and Ruby's open and flexible nature.
The document provides an overview of the Ruby programming language for Perl programmers. Some key points:
- Ruby is an object-oriented scripting language that is interpreted, not compiled. It draws influences from Perl, Smalltalk, Lisp, and C.
- Ruby supports functional, aspect-oriented, and design-by-contract programming paradigms. It is well-suited for practices like extreme programming.
- Core concepts include classes, modules, blocks/iterators, exceptions, regular expressions and strings. Common data structures include arrays, hashes, ranges and more.
- Examples demonstrate basic syntax like variables, loops, conditions, classes and modules. Ruby emphasizes flexibility, dynamism and "
The document provides an overview of the Ruby programming language, including its goals, contents, key features like object oriented programming and metaprogramming. It covers Ruby statements, data types, classes, modules, inheritance, exceptions handling, and how to dynamically modify classes and objects through metaprogramming.
This document provides an overview introduction to the Ruby programming language. It discusses what Ruby is, basic syntax, key features like being dynamically typed and object-oriented, implementations, applications, and the ecosystem. It also covers topics like variables, data types, control flow, methods, classes, and encapsulation. Code examples are provided to demonstrate various language constructs.
This document provides an overview of the Ruby programming language. It discusses that Ruby is an object-oriented scripting language created in 1993. It describes some key features of Ruby including being open-source, having a clean syntax, and being able to connect to databases. The document then covers various Ruby programming concepts such as classes, objects, variables, containers, blocks, iterators, and standard data types like numbers, strings, and ranges. It provides examples to illustrate how to use these Ruby features.
This document provides an introduction to the Ruby programming language. It discusses that Ruby is a dynamic, object-oriented scripting language with features like duck typing, open classes, literal syntax for arrays and hashes, mixins, closures, and operator overloading. It also covers Ruby concepts like dynamic and static typing, using Ruby in scripting, Ruby's terse syntax, and how the interactive REPL environment works.
The slides for a lecture about the Ruby programming language. This language was given at FEUP, on a course called "Laboratories of Object-Oriented Programming".
Code for Startup MVP (Ruby on Rails) Session 2Henry S
This document provides an overview and agenda for a workshop on learning to code for startup MVPs using Ruby on Rails. It covers setting up the development environment, a review of concepts from the previous session, and a focus on Ruby basics, Rails models, and using Devise for user authentication.
Python functions allow breaking down code into reusable blocks to perform tasks. There are several types of functions including built-in, user-defined, and anonymous functions. User-defined functions are defined using the def keyword and can take in parameters. Functions can return values using the return statement. Functions are called by their name along with any arguments. Arguments are passed into parameters and can be positional, keyword, or have default values. Functions increase code reuse and readability.
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.
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.
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!
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.
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.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
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.
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.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
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.
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.
“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.
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.
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
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.
2. HISTORY
Ruby was conceived on February 24, 1993
by Yukihiro Matsumoto (a.k.a “Matz”)who wished to
create a new language that balanced function
programming with imperative programming.
Matsumoto has stated, "I wanted a scripting language
that was more powerful than Perl, and more object-
oriented than Python.
At a Google Tech Talk in 2008 Matsumoto further
stated, "I hope to see Ruby help every programmer in
the world to be productive, and to enjoy
programming, and to be happy. That is the primary
purpose of Ruby language."
3. PRINCIPLE
Ruby is said to follow the principle of least
astonishment (POLA), meaning that the language
should behave in such a way as to minimize
confusion for experienced users.
Matsumoto has said his primary design goal was to
make a language which he himself enjoyed
using, by minimizing programmer work and
possible confusion.
4. COMPARISON
Dynamic vs. Static typing
Scripting vs. Complied Language
-use interpreter -use compiler
Object oriented vs. Procedure oriented
5. WHAT IS RUBY ?
Paradigm : Multi-paradigm
1.object-oriented
2. functional,
3.dynamic
4. imperative
Typing- : : 1.Dynamic
discipline 2.Duck
3.strong
Non commercial : Open Source
Influenced by : Ada, C++, Perl, Smalltalk,
Python , Eiffel
6. CONT..
Os : cross platform(windows , mac os , linux etc.)
Stable release : 1.9.2 (February ,18 2011)
Major implementations : RubyMRI , YARV , Jruby
, Rubinius, IronRuby , MacRuby , HotRuby
License : Ruby license or General public license
Usual file extension : .rb , .rbw
Automatic memory management(Garbage collection)
7. WHY RUBY?
Easy to learn
Open source (very liberal license)
Rich libraries
Very easy to extend
Truly Object-Oriented
-Everything is an object.
Single inheritance
- Mixins give you the power of multiple inheritance
with the problems .
8. SIMPLE “ HELLO, WORLD ” PROGRAM
# simply give hello world Comment in ruby
puts “hello , world..”
Output:
hello , world..
9. WHERE TO WRITE RUBY CODE?
IDE or Editors:
1. Net beans
2. Eclipse(mostly used today)
3. Text Mate (mac os)
4. Ultra editor
5. E
6. Heroku( completely online solution for application )
10. RUBY SYNTAX
Ruby syntax is similar with Perl and Python .
1.Adding comment
- All text in ruby using # symbol consider as
comment.so that ruby interpreter ignored it.
1.a For large block
=begin
This is a multi-line block of comments in a Ruby
source file.
Added: January 1, 2011
=end
Puts “This is Ruby code
11. CONT..
2.Using parentheses :
- parentheses are optional in ruby
Ex.
In below ,you could call it like this..
movie.set_title(“Star Wars”)
Or you could call it without parentheses
movie.set_title “Star Wars”
Require, when chaining methods are used,
Ex.
puts movie.set_title(“Star Wars”)
12. CONT..
3.Using semicolons
Semicolons are a common indicator of a line or
statement ending. In Ruby, the use of semicolons
to end your lines is not required.
def add_super_power(power)
@powers.add(power)
end
The only time using semicolons is required is if you
want to use more than one statement on a single
line
def add_super_power(power)
@powers.add(power); puts “added new power”
end Indicate more than one
statement on single line
13. KEYWORDS & IDENTIFIERS
BEGIN END alias and Begin
break case def class defined?
do else elsif end ensure
false for if in module
next nil not or redo
rescue retry undef self super
then true return unless until
when while yield
14. VARIABLES
Local variables:begin with lowercase or underscore
Ex : alpha , _ident
Pseudovariables : self ,nil
Global variables: begin with $ (dollar sign)
Ex: $beta, $NOT_CONST
Instance variables: begin with @ sign
Ex:@foobar
Class variables: begin with @@sign
Ex:@@my_var
Constants : begin with capital
Ex:Length
16. LOOPING AND BRANCHING
“ If ” Form “ Unless ” Form
if x<5 then unless x>=5 then
state1 state1
end end
if x<5 then unless x>=5 then
state1 state1
else else
state2 state2
end end
x = if a>0 then b else c end x = unless a<=0 then b else
c end
17. LOOPING (FOR, WHILE, LOOP )
1. # loop1 (while)
i=0
while i < 10 do
print “ # {i} ” output: 0 to 9
i+=1
end
2. # loop2(loop)
i=0
output: 0 to 9
loop do
print “ # {i} ”
i+=1
break if i>10
end
19. STANDARD TYPE
- Integer within a certain range .
(normally -230 to 230-1 or -262 to 262-1)
Interger
Bignum Fixnum
-Also support Float numbers
- Complex numbers
21. CONT..
Some of operation on numbers:
a= 64**2 # ans.4096
b=64**0.5 # ans. 8.0
c=64**0 # ans.1
Complex number
a=3.im #3i
b= 5-2im #5-2i
c=Complex(3,2) # 3+2i
Base conversion
237.to_s(2) #”11101101”
237.to_s(8) #”355 ”
237.to_s(16) #”0xed ”
22. OOP IN RUBY
In ruby , every thing is an object . like, string, array,
regular expression etc.
Ex.
- “abc”. upcase # “ABC”
- 123.class #Fixnum
- “abc”.class #String
- “abc”.class .class #Class
- 1.size # 4
- 2.even? # true
- 1.next # 2
23. STRINGS
Ruby strings are simply sequences of 8-bit bytes.
They normally hold printable characters, but that is
not a requirement; a string can also hold binary data.
Strings are objects of class String.
Working with String:
1.Searching
str =“Albert Einstein ”
p1= str.index(?E) #7
p2= str.index(“bert”) #2
p3=str.index(?w) #nil
25. CONT..
3. Counting character in string
s1=“abracadabra”
a=s1.count(“c”) #1
b=s1.count(“ bdr ”) #5
4. Reversing a String
s1=“Star World”
s2=s1.reverse # “dlroW ratS”
s3=s1.split(“ ” ) # [“Star” ”World”]
s4=s3.join(“ ”) # “Star World ”
26. CONT..
5. Removing Duplicate characters
s1=“bookkeeper”
s2=s1.squeeze # “ bokeper ”
s3=“Hello..” # specific character only
s4=s3.squeeze(“.”) # “hello.”
27. ARRAY & HASHES
The array is the most common collection class and
is also one of the most often used classes in Ruby.
An array stores an ordered list of indexed values
with the index starting at 0.
Ruby implements arrays using the Array class.
Creating and initializing an array
Ex. a=Array[1,2,3,4] or
a=[1,2,3,4] or
a=Array.new(3) #[nil,nil,nil]
29. HASHES
Hashes are known as in some circle as associative
arrays , dictionaries.
Major difference between array & hashes
- An Array is an ordered data structure.
- Whereas a Hash is disordered data structure.
30. CONT..
Hashes are used as “key->value” pairs
Both key & value are objects.
Ex.
h=Hash{ “dog”=> “animal” , “parrot”=> „”bird” }
puts h.length #2
h[„dog‟] #animal
h.has_value? “bird” # true
h.key? “ cat” #false
a=h.sort #[[“dog”, “animal”],[“parrot”, “bird”]]
# It convet into array
31. REFERENCE
Books :
1. programming ruby language
-Yukihiro Matsumoto
2.programming ruby language
-David black
3.The Pragmatic Programmer's Guide
- Yukihiro Matsumoto
4. The Ruby Way
-Hal Fulton
5. The ruby -In Nutshell
- Yukihiro Matsumoto
Sites:
http://www.ruby-lan.org
35. CONT..
Ruby On Rails -Web Development
What is Rails?
Rails Strength
Rails & MVC Pattern
Rails Directory Structure
Creating Simple Web application
36. METHOD IN RUBY
How to define method in class?
module pqr
class xyz
def a
end
….
end
end
Example:
class Raser
def initialize(name,vehicle) # constructor of class
@name=name
@vehicle=vehicle
end
end
37. CONT..
racer=Racer.new(“abc”, “ferrari ”)
creating object racer of class
Racer
puts racer.name # give abc
puts racer.vehicle # give ferrari
puts racer.inspect #give abc & ferrari both
38. INHERITANCE
Inheritance is represented in ruby
subclass<superclass
(extends keyword in java replace by < in ruby)
Example:
class Racercomp<Racer
def initialize (name,vehicle,rank)
super(name,vehicle)
@rank=rank
end
end
x=Racercomp.new(“xyz”, “ferrari”, “10”)
puts x.inspect
39. METHOD OVERRIDING
class xyz
def name
puts “hi ,i am in xyz…”
end
end
class abc<xyz
def name
puts “hi, i am in abc…”
end
end
a=xyz.new
b=abc.new
puts a.name # hi, i am in xyz
puts b.name # hi, i am in abc
40. METHOD OVERLOADING
class xyz
def hello(name1)
puts “hello ,#{name1}”
end
def hello(name1,name2)
puts “hello ,#{name1} #{name2}”
end
a=xyz.new
puts a.hello(i am) # hello , i am
b=xyz.new
puts b.hello(i am,fine) # hello , i am fine
41. ATTR_READER
Ruby provide methods using attr_reader
class Song
attr_reader :name, :artist, :duration
end
a=Song.new( “p” , “q”, “r”)
puts a.inspect
43. WHAT IS RAILS?
An Extremely Productive web application
framework that is written in Ruby by David Hansson.
Fully stack Framework
- Includes everything needed to create database
drive Web application using MVC pattern.
- Being a full stack Framework means that all
layer are built to work seamlessly together.
44. RAILS & MVC PATTERN
M - Model(Active Record)
V – View(Active View)
C – Controller(Active Controller)
46. MODEL- ACTIVE RECORD
Provide access to Database table
- Record CRUD(Create, Read, Update , Delete)
It define also Validation & Association
47. VIEW – ACTIVE VIEW
The user screen or Web page of your application.
It should not contain any logic.
It should not know about model.
View are similar to PHP or ASP page.
It contain little presentation logic whenever possible.
denoted with .rhtml extension.
48. CONTROLLER –ACTIVE CONTROLLER
The purpose of controller
- Only flow control.
- Handle user request.
- Retrieve Data from model.
- Invoke method on model.
- Send to view and respond to users.
54. REFERENCE
Books :
1. Head first rails
- David Griffiths
2. Begging of rails
- Steven Holzner
3.The Pragmatic Programmer's Guide
- Yukihiro Matsumoto
4. The Ruby Way
- Hal Fulton
5. Agile web development –Ruby on Rails
- David Heine Meier Hansson
Sites:
http://www.ruby-lan.org