In todays booming php environemnt understanding namespace and implement it in our project is a vital task.I have created a presentation for my company & i am uploading it, guys read it, it's done with simplicity.
The document provides guidelines for Ruby coding conventions including file names, file organization, comments, definitions, statements, white space, naming conventions, and pragmatic programming practices. It recommends lower case class/module names with '.rb' suffixes for files, using require and include at the top of files, and organizing files with a beginning comment, classes/modules, main, and optional testing code. It provides examples of different types of comments and statements.
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
National library of India. Library and information scienceharshaec
The National Library of India is located in Kolkata and is under the Ministry of Tourism and Culture. It is the largest library in India with over 2.2 million books and other materials. The National Library began as the Calcutta Public Library in 1836 and merged with other libraries over time, such as the Imperial Library in 1903. It became the National Library in 1953. Today it serves as a repository for all published works in India and works to enrich the country's collection of books and heritage.
This document outlines the historical method of research which involves collecting and analyzing primary and secondary sources to study past events and understand how they influence the present. The method has 7 stages: identifying a problem, formulating a hypothesis, collecting data, evaluating data, interpreting findings, reaching a conclusion, and decision making. It discusses tips for effective data collection, source criticism to validate sources, and limitations such as availability of information and potential for bias.
Automation support to circulation provides several benefits. It allows libraries to record loan transaction data accurately and in a timely manner. It provides efficient control over dues, fines, and records. Users can easily access their accounts, place holds, and check the status of materials. Libraries see improved inventory control and can efficiently manage overdue items through automation. It also enables gathering statistics and reports. Overall it improves services for both users and libraries.
This document provides an overview of information sources and services. It defines reference work and the reference process. It describes the history and evolution of reference services. It also outlines different types of reference sources like encyclopedias, dictionaries, almanacs, directories, and bibliographies. It discusses other information sources such as serials, government publications, and non-print materials. Finally, it summarizes various information services provided by libraries.
The document discusses the Consortium for e-Resources in Agriculture (CeRA) portal, which provides access to 123 agricultural libraries in India. It summarizes the key features of CeRA, including quick search, advanced search, browsing journals by title or subject, requesting full-text articles, registering as a user, creating a personalized journal profile, viewing usage statistics, and frequently asked questions. The Indian Agricultural Statistics Research Institute is one of the 123 libraries that has access to the CeRA portal.
Centre for Women’s Development Studies (CWDS)VISHNUMAYA R S
The Centre for Women's Development Studies (CWDS) was established in 1980 in Delhi to undertake and promote research on women and development. It prepares reports on the status of women in India and organizes training programs. The CWDS library collects publications and materials related to Indian women to support research. It provides reference services and publishes books, journals, and other materials about gender issues.
The document provides guidelines for Ruby coding conventions including file names, file organization, comments, definitions, statements, white space, naming conventions, and pragmatic programming practices. It recommends lower case class/module names with '.rb' suffixes for files, using require and include at the top of files, and organizing files with a beginning comment, classes/modules, main, and optional testing code. It provides examples of different types of comments and statements.
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
National library of India. Library and information scienceharshaec
The National Library of India is located in Kolkata and is under the Ministry of Tourism and Culture. It is the largest library in India with over 2.2 million books and other materials. The National Library began as the Calcutta Public Library in 1836 and merged with other libraries over time, such as the Imperial Library in 1903. It became the National Library in 1953. Today it serves as a repository for all published works in India and works to enrich the country's collection of books and heritage.
This document outlines the historical method of research which involves collecting and analyzing primary and secondary sources to study past events and understand how they influence the present. The method has 7 stages: identifying a problem, formulating a hypothesis, collecting data, evaluating data, interpreting findings, reaching a conclusion, and decision making. It discusses tips for effective data collection, source criticism to validate sources, and limitations such as availability of information and potential for bias.
Automation support to circulation provides several benefits. It allows libraries to record loan transaction data accurately and in a timely manner. It provides efficient control over dues, fines, and records. Users can easily access their accounts, place holds, and check the status of materials. Libraries see improved inventory control and can efficiently manage overdue items through automation. It also enables gathering statistics and reports. Overall it improves services for both users and libraries.
This document provides an overview of information sources and services. It defines reference work and the reference process. It describes the history and evolution of reference services. It also outlines different types of reference sources like encyclopedias, dictionaries, almanacs, directories, and bibliographies. It discusses other information sources such as serials, government publications, and non-print materials. Finally, it summarizes various information services provided by libraries.
The document discusses the Consortium for e-Resources in Agriculture (CeRA) portal, which provides access to 123 agricultural libraries in India. It summarizes the key features of CeRA, including quick search, advanced search, browsing journals by title or subject, requesting full-text articles, registering as a user, creating a personalized journal profile, viewing usage statistics, and frequently asked questions. The Indian Agricultural Statistics Research Institute is one of the 123 libraries that has access to the CeRA portal.
Centre for Women’s Development Studies (CWDS)VISHNUMAYA R S
The Centre for Women's Development Studies (CWDS) was established in 1980 in Delhi to undertake and promote research on women and development. It prepares reports on the status of women in India and organizes training programs. The CWDS library collects publications and materials related to Indian women to support research. It provides reference services and publishes books, journals, and other materials about gender issues.
The Association for Computing Machinery (ACM) is a professional organization for computing professionals. It provides resources to advance computing as a science and profession. The ACM Digital Library is the most comprehensive collection of computing literature, containing over 340,000 full-text articles from journals, conferences, books and other publications. It is continually updated with over 20,000 new articles each year. The Digital Library can be accessed through the ACM website and provides searching and browsing functions to access its extensive literature.
Measures of dispersion.. Statistics& Library and information scienceharshaec
This document discusses various measures of dispersion, including range, quartile deviation, mean deviation, standard deviation, and the Lorenz curve. Range is the difference between the largest and smallest values. Quartile deviation is based on the first and third quartiles. Mean deviation is the average amount of deviation from the mean. Standard deviation is the most widely used measure, calculated as the square root of the average squared deviation from the mean. The Lorenz curve is a graphical measure that compares variability between distributions. Each measure has merits and limitations in understanding and calculating dispersion.
This document describes the Uniterm Indexing System, developed by Mortimer Taube in 1953. It is a simple post-coordinate indexing system where index entries are created for each unit term identified by the indexer. A card is prepared for each term with the term at the top and the document number written in one of the 10 columns based on the right-most digit. This allows for easy retrieval by a searcher picking up all relevant cards and identifying common document numbers across cards.
This document discusses the impact of information and communication technologies (ICT) on libraries and librarians. It notes that ICT has changed libraries by making information digital, enabling online access and resource sharing, and shifting users from physical to digital access. This has impacted librarian roles and required new skills in ICT. The document outlines how libraries must integrate ICT and train librarians in its use to remain relevant information centers in a digital society.
This document discusses standards and metadata. It defines a standard as a document that provides requirements to ensure materials are fit for their purpose. Metadata is defined as "data about data" that describes other data. The document outlines several important metadata standards like Dublin Core, MARC, EAD, MODS and RDF. It provides details on the purpose and specifications of these standards, noting they are used to enhance accessibility, discovery and preservation of information.
Open source software is computer software with source code that is made available with a license that allows users to study, change, and distribute the software for any purpose. Free software gives users freedom to share, study, and make political and ethical choices to learn and share knowledge with others. Popular open source software includes operating systems like Linux, web servers like Apache, web browsers like Firefox, office suites like OpenOffice, and content management systems like WordPress and Drupal. Common open source library management software includes Koha, Evergreen, NewGenLib, OpenBiblio, and SOPAC. Popular open source educational platforms are Moodle and ATutor.
Automation is the use of machines, control systems, and information technologies to optimize productivity and minimize human intervention. Library automation applies these principles to libraries by using technology to automate processes like collection, processing, storage, and retrieval of information. This frees up librarians and staff to focus on more meaningful tasks. The need for library automation stems from issues like information explosion, the rise of different formats and user needs, and limitations of libraries in terms of time, space, and human resources.
This document discusses the impact of information and communication technology (ICT) on libraries. It defines ICT as technologies used to communicate and disseminate information. The main ICT components in libraries are computer technology, communication technology, and reproduction technology. ICT allows libraries to automate functions like cataloging, circulation, and reference services. It also enables new user services like remote access to online catalogs and databases. Overall, ICT has transformed libraries by improving access, services, and operations.
The document provides details about an internship at the central library of Jawaharlal Nehru University (JNU) in New Delhi, India. It describes the library's collection of over 6 million printed books and 100,000 e-books, as well as facilities and services offered. The intern gained experience working in various sections of the library including periodicals, circulation, acquisitions, and technical services to learn about library operations and management.
DSpace is an open source repository software that universities and institutions use to create digital libraries and archives. It allows for customization of the user interface, metadata, browsing and searching features. To install DSpace, you need Java, Maven, PostgreSQL, Apache Tomcat, and need to configure environment variables. You generate the DSpace installation package, initialize the database, copy files to Tomcat, and can then access it through the browser.
The document discusses various internet technologies including the world wide web, electronic mail, video conferencing, mailing lists, newsgroups, telnet, and FTP. It provides details on each technology such as how the world wide web allows users to view and navigate between hyperlinked webpages, how electronic mail allows sending messages to multiple people simultaneously, and how FTP allows transferring files between computers. The document also covers differences between the three generations of the web (Web 1.0, 2.0 and 3.0 proposed as Web 3.0) and etiquette guidelines for using technologies like electronic mail and newsgroups.
Taylor & Francis Online is a digital platform that publishes over 1,000 journals and 1,800 new books each year across various subject areas. It aims to facilitate discovery of research, allow access from anywhere, maximize dissemination of authors' work, and support libraries in their mission. The platform provides access to peer-reviewed journals, reference works, databases, books and eBooks across fields like social sciences, sciences, technology, and more. Users can search and browse content by subject, journal, or other filters and download full-text PDFs to read and cite from anywhere.
MEDLINE is a literature database of biomedical information introduced in 1971 and maintained by the United States National Library of Medicine. It includes over 6,000 biomedical journals that are indexed and searchable via PubMed. MEDLINE began as MEDLARS, a computerized storage and retrieval system operated by the NLM since 1964 to index and provide access to medical literature. It has evolved to include additional databases and online services like PubMed and MedlinePlus.
Marketing of information services & productsVISHNUMAYA R S
This document provides an overview of marketing concepts for libraries and information services. It defines marketing, discusses the need for marketing in libraries, and outlines some of the key tools and concepts in marketing including the 4Ps (product, price, place, promotion), segmentation, positioning, SWOT analysis, and product lifecycle. The goal of marketing for libraries is to better understand user needs and satisfy users to maximize the use of information resources.
Current trends in library science researchVISHNUMAYA R S
1. Research in library and information science started in India in the 1930s led by Dr. S.R. Ranganathan who made contributions to areas like classification, cataloguing, and library administration.
2. Formal research is now conducted at the master's, MPhil, PhD, and D.Litt levels in India. Current trends in research include user studies, digital libraries, cross-language information retrieval, and developing open source software.
3. However, issues like a lack of funding and infrastructure as well as plagiarism impact the quality of research being conducted. Improving research productivity will rely on contributions from researchers and their guides.
Post coordinate indexing .. Library and information scienceharshaec
This document discusses post-coordinate indexing and uniterm indexing. Post-coordinate indexing allows searchers to freely combine terms at search time, which can increase recall but decrease precision. Uniterm indexing involves analyzing documents into individual concepts represented as single terms. These terms are recorded on cards divided into numbered columns, and searching involves finding common numbers across cards to retrieve documents. While flexible, post-coordinate and uniterm indexing can be time-consuming and lack context.
This document discusses information storage and retrieval. It covers basic concepts of information storage including common storage media like hard drives, floppy disks, CDs, DVDs, and USB flash drives. It also discusses basic concepts of information retrieval and the major components of IR systems including databases, search mechanisms, languages, and interfaces. Finally, it discusses retrieval techniques, IR systems, evaluating IR systems, and future trends in IR.
This document discusses different types of information sources and how to evaluate them. It defines reference sources as publications that provide authoritative information, including reference books, indexes, and databases. Reference books are designed to be looked up quickly rather than read cover to cover, and include dictionaries, encyclopedias, and other sources organized alphabetically or by topic. The document provides tips for evaluating information sources, such as checking the date, author credentials, intended audience, and bias. It distinguishes between primary sources, secondary sources, and tertiary sources, and discusses how to determine the authority and suitability of a source for research.
The presentation summarizes the OPUS library management system. It includes sections on the basic identity and objectives of a typical library system, an introduction to OPUS, and its future perspectives. It also presents the entity relationship diagram and data flow of OPUS, showing how users and administrators can interact with the system to search for books, issue books, register users, and more. The goal of OPUS is to provide easy, secure access to library books and services for both users and administrators.
A book for learning puppet by real example and by building code. Second chapters takes you through all basics of Puppet and enough ruby to work with Puppet.
With RIAs growing in complexity, JavaScript developers today have to make tough choices on how to organize their code and do so in a manner that both allows for growth and ease of management. Often the wrong choices are made, impacting the maintenance cycles of the applications. In this session, we'll discuss exactly how to organize your code from ground up by exploring popular patterns used by today's industry leaders.
The Association for Computing Machinery (ACM) is a professional organization for computing professionals. It provides resources to advance computing as a science and profession. The ACM Digital Library is the most comprehensive collection of computing literature, containing over 340,000 full-text articles from journals, conferences, books and other publications. It is continually updated with over 20,000 new articles each year. The Digital Library can be accessed through the ACM website and provides searching and browsing functions to access its extensive literature.
Measures of dispersion.. Statistics& Library and information scienceharshaec
This document discusses various measures of dispersion, including range, quartile deviation, mean deviation, standard deviation, and the Lorenz curve. Range is the difference between the largest and smallest values. Quartile deviation is based on the first and third quartiles. Mean deviation is the average amount of deviation from the mean. Standard deviation is the most widely used measure, calculated as the square root of the average squared deviation from the mean. The Lorenz curve is a graphical measure that compares variability between distributions. Each measure has merits and limitations in understanding and calculating dispersion.
This document describes the Uniterm Indexing System, developed by Mortimer Taube in 1953. It is a simple post-coordinate indexing system where index entries are created for each unit term identified by the indexer. A card is prepared for each term with the term at the top and the document number written in one of the 10 columns based on the right-most digit. This allows for easy retrieval by a searcher picking up all relevant cards and identifying common document numbers across cards.
This document discusses the impact of information and communication technologies (ICT) on libraries and librarians. It notes that ICT has changed libraries by making information digital, enabling online access and resource sharing, and shifting users from physical to digital access. This has impacted librarian roles and required new skills in ICT. The document outlines how libraries must integrate ICT and train librarians in its use to remain relevant information centers in a digital society.
This document discusses standards and metadata. It defines a standard as a document that provides requirements to ensure materials are fit for their purpose. Metadata is defined as "data about data" that describes other data. The document outlines several important metadata standards like Dublin Core, MARC, EAD, MODS and RDF. It provides details on the purpose and specifications of these standards, noting they are used to enhance accessibility, discovery and preservation of information.
Open source software is computer software with source code that is made available with a license that allows users to study, change, and distribute the software for any purpose. Free software gives users freedom to share, study, and make political and ethical choices to learn and share knowledge with others. Popular open source software includes operating systems like Linux, web servers like Apache, web browsers like Firefox, office suites like OpenOffice, and content management systems like WordPress and Drupal. Common open source library management software includes Koha, Evergreen, NewGenLib, OpenBiblio, and SOPAC. Popular open source educational platforms are Moodle and ATutor.
Automation is the use of machines, control systems, and information technologies to optimize productivity and minimize human intervention. Library automation applies these principles to libraries by using technology to automate processes like collection, processing, storage, and retrieval of information. This frees up librarians and staff to focus on more meaningful tasks. The need for library automation stems from issues like information explosion, the rise of different formats and user needs, and limitations of libraries in terms of time, space, and human resources.
This document discusses the impact of information and communication technology (ICT) on libraries. It defines ICT as technologies used to communicate and disseminate information. The main ICT components in libraries are computer technology, communication technology, and reproduction technology. ICT allows libraries to automate functions like cataloging, circulation, and reference services. It also enables new user services like remote access to online catalogs and databases. Overall, ICT has transformed libraries by improving access, services, and operations.
The document provides details about an internship at the central library of Jawaharlal Nehru University (JNU) in New Delhi, India. It describes the library's collection of over 6 million printed books and 100,000 e-books, as well as facilities and services offered. The intern gained experience working in various sections of the library including periodicals, circulation, acquisitions, and technical services to learn about library operations and management.
DSpace is an open source repository software that universities and institutions use to create digital libraries and archives. It allows for customization of the user interface, metadata, browsing and searching features. To install DSpace, you need Java, Maven, PostgreSQL, Apache Tomcat, and need to configure environment variables. You generate the DSpace installation package, initialize the database, copy files to Tomcat, and can then access it through the browser.
The document discusses various internet technologies including the world wide web, electronic mail, video conferencing, mailing lists, newsgroups, telnet, and FTP. It provides details on each technology such as how the world wide web allows users to view and navigate between hyperlinked webpages, how electronic mail allows sending messages to multiple people simultaneously, and how FTP allows transferring files between computers. The document also covers differences between the three generations of the web (Web 1.0, 2.0 and 3.0 proposed as Web 3.0) and etiquette guidelines for using technologies like electronic mail and newsgroups.
Taylor & Francis Online is a digital platform that publishes over 1,000 journals and 1,800 new books each year across various subject areas. It aims to facilitate discovery of research, allow access from anywhere, maximize dissemination of authors' work, and support libraries in their mission. The platform provides access to peer-reviewed journals, reference works, databases, books and eBooks across fields like social sciences, sciences, technology, and more. Users can search and browse content by subject, journal, or other filters and download full-text PDFs to read and cite from anywhere.
MEDLINE is a literature database of biomedical information introduced in 1971 and maintained by the United States National Library of Medicine. It includes over 6,000 biomedical journals that are indexed and searchable via PubMed. MEDLINE began as MEDLARS, a computerized storage and retrieval system operated by the NLM since 1964 to index and provide access to medical literature. It has evolved to include additional databases and online services like PubMed and MedlinePlus.
Marketing of information services & productsVISHNUMAYA R S
This document provides an overview of marketing concepts for libraries and information services. It defines marketing, discusses the need for marketing in libraries, and outlines some of the key tools and concepts in marketing including the 4Ps (product, price, place, promotion), segmentation, positioning, SWOT analysis, and product lifecycle. The goal of marketing for libraries is to better understand user needs and satisfy users to maximize the use of information resources.
Current trends in library science researchVISHNUMAYA R S
1. Research in library and information science started in India in the 1930s led by Dr. S.R. Ranganathan who made contributions to areas like classification, cataloguing, and library administration.
2. Formal research is now conducted at the master's, MPhil, PhD, and D.Litt levels in India. Current trends in research include user studies, digital libraries, cross-language information retrieval, and developing open source software.
3. However, issues like a lack of funding and infrastructure as well as plagiarism impact the quality of research being conducted. Improving research productivity will rely on contributions from researchers and their guides.
Post coordinate indexing .. Library and information scienceharshaec
This document discusses post-coordinate indexing and uniterm indexing. Post-coordinate indexing allows searchers to freely combine terms at search time, which can increase recall but decrease precision. Uniterm indexing involves analyzing documents into individual concepts represented as single terms. These terms are recorded on cards divided into numbered columns, and searching involves finding common numbers across cards to retrieve documents. While flexible, post-coordinate and uniterm indexing can be time-consuming and lack context.
This document discusses information storage and retrieval. It covers basic concepts of information storage including common storage media like hard drives, floppy disks, CDs, DVDs, and USB flash drives. It also discusses basic concepts of information retrieval and the major components of IR systems including databases, search mechanisms, languages, and interfaces. Finally, it discusses retrieval techniques, IR systems, evaluating IR systems, and future trends in IR.
This document discusses different types of information sources and how to evaluate them. It defines reference sources as publications that provide authoritative information, including reference books, indexes, and databases. Reference books are designed to be looked up quickly rather than read cover to cover, and include dictionaries, encyclopedias, and other sources organized alphabetically or by topic. The document provides tips for evaluating information sources, such as checking the date, author credentials, intended audience, and bias. It distinguishes between primary sources, secondary sources, and tertiary sources, and discusses how to determine the authority and suitability of a source for research.
The presentation summarizes the OPUS library management system. It includes sections on the basic identity and objectives of a typical library system, an introduction to OPUS, and its future perspectives. It also presents the entity relationship diagram and data flow of OPUS, showing how users and administrators can interact with the system to search for books, issue books, register users, and more. The goal of OPUS is to provide easy, secure access to library books and services for both users and administrators.
A book for learning puppet by real example and by building code. Second chapters takes you through all basics of Puppet and enough ruby to work with Puppet.
With RIAs growing in complexity, JavaScript developers today have to make tough choices on how to organize their code and do so in a manner that both allows for growth and ease of management. Often the wrong choices are made, impacting the maintenance cycles of the applications. In this session, we'll discuss exactly how to organize your code from ground up by exploring popular patterns used by today's industry leaders.
Object-oriented programming for self-taught programmers, from the perspective of a data scientist. The presentation covers a conceptual overview of what OOP actually is, some worked examples of how to use it and some good and bad reasons for using OOP in your work.
The document provides an introduction to the Bund programming language. Some key features of Bund include:
- It is a simple, stack-based functional language tightly integrated with Python
- Functions are first-class citizens
- Namespaces provide scoping instead of modules
- Support for delayed execution, reverse and direct stack coding, partial application, code as data, and dynamic code generation
- The author created Bund to experiment with PEG parsers and teach himself new tricks as an experienced programmer
Packages in Java are used to organize classes and provide namespace management to avoid naming conflicts. A package groups related types like classes, interfaces, enums and annotations. Programmers can define their own packages to organize related classes. Packages create a new namespace to avoid conflicts and make classes easier to locate and access. The package name is specified in a source file using the package keyword and files for a package must be stored in a subdirectory matching the package name. Classes in other packages can be accessed using their fully qualified names or by importing the package.
This document provides an overview of object-oriented programming concepts including objects, classes, inheritance, polymorphism, abstraction, encapsulation, and interfaces. It defines objects as instances that have state and behavior. Classes are blueprints used to create object instances. Inheritance allows classes to inherit properties from parent classes. Polymorphism enables one task to be performed in different ways. Abstraction hides internal details and shows functionality. Encapsulation binds code and data into a single unit. Interfaces define contracts between classes and achieve abstraction and multiple inheritance in Java. Packages organize related classes and interfaces.
With PHP5.3.3 recently released I really feel it is time that php developers are taking namespaces seriously. If you don’t I guarantee you will be out of a job within five years. Namespaces are a fundamental part of the future of PHP. The talk explains the usage on importing third party libraries, using it in your own code and aliasing. The full works.
This document provides an introduction and tutorial on object-oriented programming (OOP) in PHP. It begins with a preamble on the basics of OOP in PHP. It then outlines 23 steps to guide the reader through building and working with objects in PHP, including defining a class, adding properties and methods, instantiating objects from classes, setting and getting property values, and more. It includes links to supplemental video tutorials on related OOP concepts in PHP. The goal is for readers to understand and be able to apply basic OOP principles and functionality in their own PHP scripts.
This document provides an introduction and tutorial on object-oriented programming (OOP) in PHP. It begins with a preamble on how OOP can make building complex web applications easier. The tutorial then guides the reader through 23 steps to learn OOP principles like classes, objects, properties, methods, access modifiers, and more. It includes examples of creating a "Person" class with methods to set/get name properties and restrict access. Videos are also referenced that further explain the concepts covered in the written tutorial.
This document provides an introduction and tutorial on object-oriented programming (OOP) in PHP. It begins with a preamble on how OOP can make building complex web applications easier. The tutorial then guides the reader through 23 steps to learn OOP principles like classes, objects, properties, methods, access modifiers, and more. It includes examples of creating a "Person" class with methods to set/get name properties and restrict access. Videos are also provided to reinforce the written content. The goal is to help readers understand the basics of OOP in PHP.
This document provides an introduction and tutorial on object-oriented programming (OOP) in PHP. It begins with a preamble on how OOP can make building complex web applications easier. The tutorial then guides the reader through 23 steps to learn OOP principles like classes, objects, properties, methods, access modifiers, and more. It includes examples of creating a "Person" class with methods to set/get name properties and restrict access. Videos are also provided to reinforce the written content. The goal is to help readers understand the basics of OOP in PHP.
The document discusses object-oriented programming (OOP) principles and design patterns in PHP, explaining key OOP concepts like encapsulation, inheritance, and polymorphism. Several common design patterns are described, including singleton, factory, observer, and proxy patterns, and how they can help solve recurring problems by promoting code reuse. The document provides examples of applying these patterns in PHP code to handle issues like object aggregation, iteration, and dynamic method dispatching.
The document discusses JavaScript, describing it as a language of contrasts with both good and bad parts. It outlines some of the criticisms of JavaScript but argues there is an elegant language hidden underneath. It examines JavaScript's influences and features, identifying good parts like lambda functions, dynamic objects, and loose typing, as well as bad parts like global variables and confusing equality operators. The document also discusses prototypal inheritance, modules, closures, and style in JavaScript. It advocates following standards like JSLint to write more reliable code and avoiding future bad designs by using a safer JavaScript subset.
There are a lot of other tips and tricks that you should look at, and a few of them are covered below, a couple of which are transferrable between languages.
The document discusses object oriented concepts in PHP. Some key points:
- PHP 5 introduced a complete object oriented programming model, allowing PHP programmers to code like Java and C#.
- Object oriented programming in PHP revolves around classes, which act as templates to define objects. Classes contain properties (variables) and methods (functions).
- The document provides a step-by-step process for developing an object oriented PHP application, including creating classes, instantiating objects from classes, setting and getting object properties and methods, and restricting access using modifiers.
OCA Java SE 8 Exam Chapter 1 Java Building Blocksİbrahim Kürce
The document discusses key concepts in Java including classes, objects, fields, methods, variables, primitive types, reference types, and memory management. It explains that classes are the basic building blocks in Java programs and contain fields and methods. Objects are instances of classes that exist in memory. The document also covers variable scope, default initialization, and garbage collection in Java.
This document summarizes key concepts from a coding lesson including hashes, classes, variables scopes (global, instance, class), inheritance, and overriding methods. It discusses defining classes, creating objects, using methods, and accessing variables. Inheritance allows a class to inherit attributes and behaviors from a parent class. Derived classes can override methods from the parent class. The super keyword can call the parent method implementation.
The document discusses object oriented concepts in PHP. It covers:
1. The differences between PHP 4 and PHP 5, with PHP 5 introducing a complete object oriented model.
2. PHP 6 further expanding on object oriented features.
3. A 22 step process for developing an object oriented PHP application, covering classes, objects, properties, methods, inheritance and other core OOP principles.
Ruby is a dynamic, open source programming language that was created in the mid-1990s by Yukihiro Matsumoto. While it shares some similarities with .NET languages like C#, Ruby differs in that everything is an object, it is very flexible and forgiving, and it emphasizes programmer productivity. Ruby utilizes duck typing through modules and mixins rather than interfaces. Popular Ruby frameworks include Ruby on Rails for web development and libraries like Enumerable are implemented through mixins rather than interfaces. The Ruby ecosystem includes tools like RubyGems and testing frameworks like RSpec.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
Low power architecture of logic gates using adiabatic techniquesnooriasukmaningtyas
The growing significance of portable systems to limit power consumption in ultra-large-scale-integration chips of very high density, has recently led to rapid and inventive progresses in low-power design. The most effective technique is adiabatic logic circuit design in energy-efficient hardware. This paper presents two adiabatic approaches for the design of low power circuits, modified positive feedback adiabatic logic (modified PFAL) and the other is direct current diode based positive feedback adiabatic logic (DC-DB PFAL). Logic gates are the preliminary components in any digital circuit design. By improving the performance of basic gates, one can improvise the whole system performance. In this paper proposed circuit design of the low power architecture of OR/NOR, AND/NAND, and XOR/XNOR gates are presented using the said approaches and their results are analyzed for powerdissipation, delay, power-delay-product and rise time and compared with the other adiabatic techniques along with the conventional complementary metal oxide semiconductor (CMOS) designs reported in the literature. It has been found that the designs with DC-DB PFAL technique outperform with the percentage improvement of 65% for NOR gate and 7% for NAND gate and 34% for XNOR gate over the modified PFAL techniques at 10 MHz respectively.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
2. What is Namespace?
● A class of elements (e.g. addresses, file
locations, etc.) in which each element has a
name unique to that class, although it may be
shared with elements in other classes.
● In otherways, you could say a namespace
uniquely identifies a set of names so that there
is no ambiguity when objects having different
origins but the same class names are mixed
together.
3. Real Scenario – An use case
● For example, suppose the same XML document included the
element type of OWNER for owners of motorcycles as well as
for owners of automobiles.
● It might be necessary or desirable to know that an owner name
was one of those who owned a motorcyle rather than an
automobile. Having different motorcycle and automobile
namespaces would make this possible.
● Effectively, it would make it possible to label motorcycle
owners differently than automobile owners without having to
create a different element type for each.
4. What about Namespace in PHP ?
● In PHP version 5.x namespacing, a new feature known
was added to the language.
● Many modern languages like C#, Ruby on Rails already
had this feature for some time, but PHP was a little late to
this scene.
● None the less, every new feature has a purpose, let’s find
out why PHP namespaces can benefit our application.
● PHP namespaces allow us to circumvent this issue, in fact
we can have as many User classes as we like. Not only
that, but we can use namespaces to contain our similar
code into neat little packages, or even to show ownership.
5. Issues with same named Class
● In PHP you can’t have two classes that share
the same name. They have to be unique. The
issue with this restriction is that if you are using
a third party library which has a class named
UUsseerr, then you can’t create your own class also
called UUsseerr. This is a real shame, because that’s
a pretty convenient class name right?
6. Let's take a look ahead!!
● Global Namespace
Here’s a rreeaallllyy ssiimmppllee ccllaassss..
7. What sounds like guys?
● Yeah!!basically, we can think of this class as
being in the ‘global’ namespace. I don’t know
if that’s the right term for it, but it sounds
quite fitting to me. It essentially means that
the class exists without a namespace. It’s
just a normal class.
8. Okk lets play with simple namespace !!
Simple Namespacing
Let’s create another class alongside the original, global Eddard.
Here we have another Eddard class, w ith one
minor change. The addition of the namespace
directive.
The line namespace Stark; informs PHP that
everything we do is relative to the Stark
namespace.
It also means that any classes created within
this file w ill live inside the ‘Stark’ namespace.
9. NNooww lleett''ss ddoo aaggaaiinn wwiitthh ''ssttaarrkk''
●Now, when we try to use the ‘Stark’ class once again.
<?php
// app/routes.php
$eddard = new Eddard();
●Once again, we get an instance of the first class we created in the last
section. Not the one within the ‘Stark’ namespace. Let’s try to create
an instance of the ‘Eddard’ within the ‘Stark’ namespace. Finally it will
look like this..
<?php
// app/routes.php
$eddard = new Eddard();
$eddard = new StarkEddard();
10. Note it quickly!!
● I think you are getting me, yes! we can
instantiate a class within a namespace,
by prefixing it with the name of the
namespace, and separating the two with
a backward () slash. Now we have an
instance of the ‘Eddard’ class within the
‘Stark’ namespace. Aren’t we magical?!
11. What happened to multi-level
Namespace ?
You should know that namespaces can have as many
levels of hierarchy as they need to.
For example:
12. The Theory of Relativity
By adding the namespace directive to the instantiation example, we have moved
the execution of the PHP script into the ‘Stark’ namespace. Now because we are
inside the same namespace as the one we put ‘Eddard’ into, this time we receive
the namespaced ‘Eddard’ class. See how it’s all relative?
13. A little problem scenario
Now that we have changed namespace, we have created a little problem. Can
you guess what it is? How do we instantiate the original ‘Eddard’ class? The one
not in the namespace.
Fortunately, PHP has a trick for referring to classes that are located within the
global namespace, we simply prefix them with a backward () slash.
Take a note: With the leading backward () slash, PHP
knows that we are referring to the ‘Eddard’ in the global
namespace, and instantiates that one.
14. Imagine a little bit more!!
● Use your imagine a little. Imagine that we have
another namespaced class called TullyEdmure.
Now I want to use this class from within the ‘Stark’
framework. How do we do that?
Again please take a note..we need the prefixing backward slash to
bring us back to the global namespace, before instantiating a class
from the ‘Tully’ namespace.
15. Woww, 'use' saves us!!
● It could get tiring, referring to classes within other namespaces
by their full hierarchy each time. Luckily, there’s a nice little
shortcut we can use. Let’s see it in action.
Using the 'use' statement, we can bring one class from another namespace, into the current
namespace. Allowing us to instantiate it by name only. Now don’t ask me why it doesn’t need
the backward slash prefix, because I just don’t know. This is the only exception that I know
of. Sorry about that! You can prefix it with a slash if you want to though, you just don’t need
to.
16. A new trick, it's kidding me!!
To make up for that horrible inconsistency, let me show you another neat trick. We
can give our imported classes little nicknames, like we used to in the PHP playground.
Let me show you.
By using the ‘as` keyword, we have given our ‘Tully/Brynden’ class the ‘Blackfish’
nickname, allowing us to use the new nickname to identify it within the current
namespace. Neat trick right?
17. It's time to play within a namespace
By giving the ‘Daenerys’ within the
‘Dothraki’ namespace a nickname of
‘Khaleesi’.
we are able to use two ‘Daenerys’
classes by name only. Handy right?
The game is all about avoiding conflicts,
and grouping things by purpose or
faction.
You can use as many classes as you
need to.
18. Structure - Namespace
● Namespaces aren’t just about avoiding conflicts, we can also
use them for organisation, and for ownership. Let me explain
with another example.
● Let’s say I want to create an open source library. I’d love for
others to use my code, it would be great!
● The trouble is, I don’t want to cause any problematic class name
conflicts for the person using my code. That would be terribly
inconvenient.
● Here’s how I can avoid causing hassle for the wonderful, open
source embracing, individual.
TamaghnaBlogContentPost
TamaghnaBlogContentPage
TamaghnaBlogTag
Here I have used my name, to show that I created the
original code, and to separate my code from that of the
person using my library. Inside the base namespace, I
have created a number of sub-namespaces to organise
my application by its internal structure.
19. Namespace - Limitations
● In truth, I feel a little guilty for calling this sub-heading ‘Limitations’. What I’m
about to talk about isn’t really a bug.
● You see, in other languages, namespaces are implemented in a similar way,
and those other languages provide an additional feature when interacting
with namespaces.
● In Java for example, you are able to import a number of classes into the
current namespace by using the import statement with a wildcard. In Java,
‘import’ is equivelent to ‘use’, and it uses dots to separate the nested
namespaces (or packages). Here’s an example.
Use TamaghnaBlogContentPost
Use TamaghnaBlogContentPage
Use TamaghnaBlogTag
import Tamaghna.blog.*;
20. My Content Reference
Namespace - Reference
( Click the above link to start reading )
Thank you,
Enjoy new learning