Nagios Conference 2011 - Tony Roman - Cacti WorkshopNagios
Tony Roman's workshop on Cacti. The workshop was given during the Nagios World Conference North America held Sept 27-29th, 2011 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/nwcna
A presentation I gave at NagiosKonferenz in Nuremberg in October, 2007. Here I discussed using Nagios as a framework for hardware-based monitoring and the necessary community interactions between proprietary hardware vendors and the open source Nagios community.
Ethan Galstad's keynote presentation during the Nagios World Conference North America held Sept 27-29th, 2011 in Saint Paul, MN. For more information on the conference (including photos and videos), visit http://go.nagios.com/nwcna
Nagios Conference 2011 - Ethan Galstad - Nagios XI OverviewNagios
Ethan Galstad's presentation on Nagios XI given during the Nagios World Conference North America held Sept 27-29th, 2011 in Saint Paul, MN. For more information on the conference (including photos and videos), visit http://go.nagios.com/nwcna
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Demi Ben-Ari
Once you start working with distributed Big Data systems, you start discovering a whole bunch of problems you won’t find in monolithic systems.
All of a sudden to monitor all of the components becomes a big data problem itself.
In the talk we’ll mention all of the aspects that you should take in consideration when monitoring a distributed system once you’re using tools like:
Web Services, Apache Spark, Cassandra, MongoDB, Amazon Web Services.
Not only the tools, what should you monitor about the actual data that flows in the system?
And we’ll cover the simplest solution with your day to day open source tools, the surprising thing, that it comes not from an Ops Guy.
Good observability is essential for modern software. It gives us confidence that our systems are working properly. And it also allows us to debug issues efficiently. In this talk, we’ll explore everything you need to know to start applying good observability to your projects. And we’ll see the most common pitfalls you need to be aware of. We will start with the tools and basic concepts in monitoring. And we’ll go over the 3 most common mistakes people make with it. Then we’ll see how to have automatic alerts to detect issues. And, we’ll touch on the principles for setting up good alerts. As a final step, we’ll see how to build our logging system and how to apply it in the most efficient way to debug issues easily.
Stateful, Stateless and Serverless - Running Apache Kafka® on Kubernetesconfluent
This document provides an overview of a webinar on Kubernetes operators presented by Joe Beda. It discusses:
- Kubernetes allows for developer and operator productivity through improved workflows and better resource efficiency.
- Operators are domain-specific controllers that manage both a software application and related Kubernetes objects, and help automate common operational tasks through code.
- The Kafka operator example shows how an operator can handle tasks like identity, discovery, storage and logging/metrics for Kafka deployments on Kubernetes through a custom resource definition.
Eric Loyd - Fractal Nagios - Learn how Nagios XI can be used to monitor Nagios Log Server (NLS) and Nagios Network Analyzer (NNA), how Nagios Log Server and Nagios Network Analyzer can leverage Nagios XI for alerting, and how to use Nagios Log Server and Nagios Network Analyzer to monitor each other and Nagios XI and Nagios Core, including remote execution environments.
Presentation by Lorenzo Mangani of QXIP at the October 26 SF Bay Area ClickHouse meetup
https://www.meetup.com/San-Francisco-Bay-Area-ClickHouse-Meetup
https://qxip.net/
Storage Spaces Direct - the new Microsoft SDS star - Carsten RachfahlITCamp
Storage Spaces Direct will provide new unseen possibilities for Microsoft Hypervisor Hyper-V. These are on one hand a high performant, high available Scale-Out Fileserver with the possibility to use internal not shared disks like SATA HDDs and SSDs and even NVMe Devices. On the other hand, you can build a Hyper-converged Hyper-V Cluster where the VMs and their Storage are running on the same Servers. And let’s not forget Azure Stack! The first version of Microsoft Private/Hosted Cloud solution will only be supported on the hyper-converged S2D infrastructure. Join this session to learn about this great new technology that will have its role in the future Private and Hosted Cloud infrastructure implementations.
Sumit Goel - Monitoring Cloud Applications Using Zabbix | ZabConf2016Zabbix
With global shift towards flexibility of cloud there are different demands on monitoring availability and performance of applications provided in the cloud. There are obvious limitations in accessing components of app hosted by third party run outside of internal environment. Same time there are opportunities of using vendor API and status page. In Salesforce, one of the most innovative company in the world by Forbes and one of the biggest cloud service provider, we understand the need of customer to be able to see in real time availability and performance of cloud application. In the following presentation we're going to list and describe multiple ways of monitoring cloud apps. Some of the methods are: building in web monitoring using Curl, web browser automation tools like Selenium, external scripts (reading vendor status dashboard) and API calls to the app.
Unreal Engine 4 Blueprints: Odio e amore Roberto De Ioris - Codemotion Rome 2017Codemotion
Blueprints in Unreal Engine 4 can be both loved and hated. To reduce hate for blueprints, the presenter recommends using events over ticks, components to generate events, enums and switches instead of branches, multiple graphs for organization, functions, macros, and following good programming practices. While blueprints may seem like programming, they are advantageous for certain tasks like interfacing with shaders. Following design best practices can make blueprints more readable and maintainable. Alternatives to blueprints include UnrealEnginePython, Unreal.js, and SkookumScript. An indie game called Downward successfully used blueprints.
Introduce to Apache Beam
Dive in to Beam's architecture and live demo running data pipeline on different runners such as Google Dataflow, Flink and Spark
CQRS and Event Sourcing: A DevOps perspectiveMaria Gomez
This document discusses challenges of deploying, monitoring, and debugging systems using CQRS and event sourcing from a DevOps perspective. It describes using a blue/green deployment approach, implementing consistent and usable logging, monitoring key metrics and data streams, and employing distributed tracing to identify the origin of requests in order to quickly debug problems. The overall goal is to build scalable, resilient, and automated systems while facilitating operational tasks through iterative improvements to tools and processes.
This document discusses integrating Spring Boot and JavaFX for an embedded and desktop application. It outlines the motivation for using these technologies, describes the implementation journey which faced limited integration materials, and demonstrates a simple "Hello World" example. While integration posed some challenges, combining Spring Boot and JavaFX provides benefits from both worlds. The conclusion is that yes, Spring Boot and JavaFX can work together, though JavaFX still lacks traction despite its benefits.
Let's talk about the future: state-of-the-art mobile web & hybrid appsRakuten Group, Inc.
Ever since Google and Apple became the major players in mobile phones, mobile browser and its capability have been drastically improved. However, the performance and development toolings were always a headache for developers. But they never are! This session will describe all the goodies from the latest practices to make mobile app development more enjoyable.
The document provides an overview of the Graal VM, which is a new just-in-time (JIT) compiler for the Java Virtual Machine (JVM) that brings high performance to scripting languages via the Truffle API. It discusses how Graal generates machine code from an optimized AST rather than bytecode, and how the Truffle API allows creation of language interpreters in Graal. Performance benchmarks show Graal improving performance for languages like JavaScript, Ruby, and R compared to other implementations. Future directions include supporting more languages and compiler optimizations in Graal's extensible framework.
Create The Internet of Your Things example of a real system - Laurent EllerbachITCamp
Introduction to an Internet of Things system. This session will go through a real system: my own sprinkler system including sensors, data manipulation, consumption, BI. This will give you an overview of a full projects, from the device side to the storage, consumption, analyze and insights. Boards like Raspberry Pi running Linux, Windows as well as Arduino and Netduino are used. The server side is based on Azure using services like Azure IoT Hub, Stream Analytics, Mobile Services, SQL Azure and more!
This document discusses using FreeMarker as a template engine with Spring MVC instead of JSP. It provides an overview of FreeMarker, how to configure Spring MVC to use it, and examples of FreeMarker syntax including variables, collections, includes, and macros. Commonly used FreeMarker components are demonstrated along with comparisons to JSP syntax.
Cosmos is a large-scale data processing system used by thousands at Microsoft to process exabytes of data across clusters of over 50,000 servers. It provides a SQL-like language and allows teams to easily share and join data. This drives huge scalability requirements. The Apollo scheduler was developed to maximize cluster utilization while minimizing latency for heterogeneous workloads at cloud scale. Later, JetScope was created to support lower latency interactive queries through intermediate result streaming and gang scheduling while maintaining fault tolerance.
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018iguazio
This document discusses serverless computing and introduces Nuclio, an open source serverless platform. Some key points:
- Serverless platforms provide easy deployment of functions but lack performance and number of event sources. Nuclio aims to improve on this with high concurrency and low latency.
- Nuclio's architecture allows extreme performance of up to 400,000 events/second per process with sub-second latency. It supports various event sources and data bindings.
- Nuclio works with Kubernetes, providing portability across clouds, on-premises, and hybrid environments while automating infrastructure management and scaling.
Lessons Learned from Building and Operating ScubaSingleStore
This document provides an overview of Scuba, Facebook's real-time analytics database. It summarizes Scuba's key features including real-time data ingestion and querying capabilities with simple rollup queries and flexible schemas. It also describes Scuba's architecture with distributed data storage and demand control. Finally, it discusses lessons learned from building and operating Scuba, including common issues and reasons for its success filling a specific niche for analytics.
This document provides an introduction and overview of Prometheus, an open-source monitoring system. It discusses what monitoring is, how Prometheus differs from traditional "blackbox" monitoring systems by taking a "whitebox" approach that understands the internals of applications. It describes how Prometheus scrapes metrics from targets, stores and queries the time series data, and generates alerts. Key aspects of Prometheus like PromQL, the alertmanager, and common usage are summarized.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containerized applications into logical units for easy management and discovery called pods. It can be used to deploy a containerized ASP.NET Core application. It provides basic mechanisms for self-healing, auto-scaling and updates through concepts like deployments, services, replica sets and labels.
Join us as we build a complete streaming application with KSQL. There will be plenty of hands-on action, plus a description of our thought process and design choices along the way. Look out for advice on best practices and handy tips and tricks as we go. This is part 2 out of 3 in the Empowering Streams through KSQL series.
Presentation given on the 15th July 2021 at the Airflow Summit 2021
Conference website: https://airflowsummit.org/sessions/2021/clearing-airflow-obstructions/
Recording: https://www.crowdcast.io/e/airflowsummit2021/40
The document discusses enterprise PHP development. It begins by noting how PHP usage has changed over time from personal projects in 1998 to powering large websites, banks, and insurance companies today. It then addresses whether PHP is "enterprise ready" and discusses improved metaphors for PHP beyond toys or LEGO bricks. The remainder of the document outlines 10 steps for enterprise PHP development, including establishing requirements, designing architecture and tools, using frameworks, implementing design patterns, and emphasizing testing.
The document provides an introduction to the World Wide Web and basics of PHP programming language. It discusses what the internet and WWW are, how HTTP works, basics of web application development. It then covers installing WAMP or XAMPP on Windows, history and features of PHP versions. Common PHP concepts like variables, data types, operators, control structures like loops and conditional statements are explained.
Eric Loyd - Fractal Nagios - Learn how Nagios XI can be used to monitor Nagios Log Server (NLS) and Nagios Network Analyzer (NNA), how Nagios Log Server and Nagios Network Analyzer can leverage Nagios XI for alerting, and how to use Nagios Log Server and Nagios Network Analyzer to monitor each other and Nagios XI and Nagios Core, including remote execution environments.
Presentation by Lorenzo Mangani of QXIP at the October 26 SF Bay Area ClickHouse meetup
https://www.meetup.com/San-Francisco-Bay-Area-ClickHouse-Meetup
https://qxip.net/
Storage Spaces Direct - the new Microsoft SDS star - Carsten RachfahlITCamp
Storage Spaces Direct will provide new unseen possibilities for Microsoft Hypervisor Hyper-V. These are on one hand a high performant, high available Scale-Out Fileserver with the possibility to use internal not shared disks like SATA HDDs and SSDs and even NVMe Devices. On the other hand, you can build a Hyper-converged Hyper-V Cluster where the VMs and their Storage are running on the same Servers. And let’s not forget Azure Stack! The first version of Microsoft Private/Hosted Cloud solution will only be supported on the hyper-converged S2D infrastructure. Join this session to learn about this great new technology that will have its role in the future Private and Hosted Cloud infrastructure implementations.
Sumit Goel - Monitoring Cloud Applications Using Zabbix | ZabConf2016Zabbix
With global shift towards flexibility of cloud there are different demands on monitoring availability and performance of applications provided in the cloud. There are obvious limitations in accessing components of app hosted by third party run outside of internal environment. Same time there are opportunities of using vendor API and status page. In Salesforce, one of the most innovative company in the world by Forbes and one of the biggest cloud service provider, we understand the need of customer to be able to see in real time availability and performance of cloud application. In the following presentation we're going to list and describe multiple ways of monitoring cloud apps. Some of the methods are: building in web monitoring using Curl, web browser automation tools like Selenium, external scripts (reading vendor status dashboard) and API calls to the app.
Unreal Engine 4 Blueprints: Odio e amore Roberto De Ioris - Codemotion Rome 2017Codemotion
Blueprints in Unreal Engine 4 can be both loved and hated. To reduce hate for blueprints, the presenter recommends using events over ticks, components to generate events, enums and switches instead of branches, multiple graphs for organization, functions, macros, and following good programming practices. While blueprints may seem like programming, they are advantageous for certain tasks like interfacing with shaders. Following design best practices can make blueprints more readable and maintainable. Alternatives to blueprints include UnrealEnginePython, Unreal.js, and SkookumScript. An indie game called Downward successfully used blueprints.
Introduce to Apache Beam
Dive in to Beam's architecture and live demo running data pipeline on different runners such as Google Dataflow, Flink and Spark
CQRS and Event Sourcing: A DevOps perspectiveMaria Gomez
This document discusses challenges of deploying, monitoring, and debugging systems using CQRS and event sourcing from a DevOps perspective. It describes using a blue/green deployment approach, implementing consistent and usable logging, monitoring key metrics and data streams, and employing distributed tracing to identify the origin of requests in order to quickly debug problems. The overall goal is to build scalable, resilient, and automated systems while facilitating operational tasks through iterative improvements to tools and processes.
This document discusses integrating Spring Boot and JavaFX for an embedded and desktop application. It outlines the motivation for using these technologies, describes the implementation journey which faced limited integration materials, and demonstrates a simple "Hello World" example. While integration posed some challenges, combining Spring Boot and JavaFX provides benefits from both worlds. The conclusion is that yes, Spring Boot and JavaFX can work together, though JavaFX still lacks traction despite its benefits.
Let's talk about the future: state-of-the-art mobile web & hybrid appsRakuten Group, Inc.
Ever since Google and Apple became the major players in mobile phones, mobile browser and its capability have been drastically improved. However, the performance and development toolings were always a headache for developers. But they never are! This session will describe all the goodies from the latest practices to make mobile app development more enjoyable.
The document provides an overview of the Graal VM, which is a new just-in-time (JIT) compiler for the Java Virtual Machine (JVM) that brings high performance to scripting languages via the Truffle API. It discusses how Graal generates machine code from an optimized AST rather than bytecode, and how the Truffle API allows creation of language interpreters in Graal. Performance benchmarks show Graal improving performance for languages like JavaScript, Ruby, and R compared to other implementations. Future directions include supporting more languages and compiler optimizations in Graal's extensible framework.
Create The Internet of Your Things example of a real system - Laurent EllerbachITCamp
Introduction to an Internet of Things system. This session will go through a real system: my own sprinkler system including sensors, data manipulation, consumption, BI. This will give you an overview of a full projects, from the device side to the storage, consumption, analyze and insights. Boards like Raspberry Pi running Linux, Windows as well as Arduino and Netduino are used. The server side is based on Azure using services like Azure IoT Hub, Stream Analytics, Mobile Services, SQL Azure and more!
This document discusses using FreeMarker as a template engine with Spring MVC instead of JSP. It provides an overview of FreeMarker, how to configure Spring MVC to use it, and examples of FreeMarker syntax including variables, collections, includes, and macros. Commonly used FreeMarker components are demonstrated along with comparisons to JSP syntax.
Cosmos is a large-scale data processing system used by thousands at Microsoft to process exabytes of data across clusters of over 50,000 servers. It provides a SQL-like language and allows teams to easily share and join data. This drives huge scalability requirements. The Apollo scheduler was developed to maximize cluster utilization while minimizing latency for heterogeneous workloads at cloud scale. Later, JetScope was created to support lower latency interactive queries through intermediate result streaming and gang scheduling while maintaining fault tolerance.
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018iguazio
This document discusses serverless computing and introduces Nuclio, an open source serverless platform. Some key points:
- Serverless platforms provide easy deployment of functions but lack performance and number of event sources. Nuclio aims to improve on this with high concurrency and low latency.
- Nuclio's architecture allows extreme performance of up to 400,000 events/second per process with sub-second latency. It supports various event sources and data bindings.
- Nuclio works with Kubernetes, providing portability across clouds, on-premises, and hybrid environments while automating infrastructure management and scaling.
Lessons Learned from Building and Operating ScubaSingleStore
This document provides an overview of Scuba, Facebook's real-time analytics database. It summarizes Scuba's key features including real-time data ingestion and querying capabilities with simple rollup queries and flexible schemas. It also describes Scuba's architecture with distributed data storage and demand control. Finally, it discusses lessons learned from building and operating Scuba, including common issues and reasons for its success filling a specific niche for analytics.
This document provides an introduction and overview of Prometheus, an open-source monitoring system. It discusses what monitoring is, how Prometheus differs from traditional "blackbox" monitoring systems by taking a "whitebox" approach that understands the internals of applications. It describes how Prometheus scrapes metrics from targets, stores and queries the time series data, and generates alerts. Key aspects of Prometheus like PromQL, the alertmanager, and common usage are summarized.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containerized applications into logical units for easy management and discovery called pods. It can be used to deploy a containerized ASP.NET Core application. It provides basic mechanisms for self-healing, auto-scaling and updates through concepts like deployments, services, replica sets and labels.
Join us as we build a complete streaming application with KSQL. There will be plenty of hands-on action, plus a description of our thought process and design choices along the way. Look out for advice on best practices and handy tips and tricks as we go. This is part 2 out of 3 in the Empowering Streams through KSQL series.
Presentation given on the 15th July 2021 at the Airflow Summit 2021
Conference website: https://airflowsummit.org/sessions/2021/clearing-airflow-obstructions/
Recording: https://www.crowdcast.io/e/airflowsummit2021/40
The document discusses enterprise PHP development. It begins by noting how PHP usage has changed over time from personal projects in 1998 to powering large websites, banks, and insurance companies today. It then addresses whether PHP is "enterprise ready" and discusses improved metaphors for PHP beyond toys or LEGO bricks. The remainder of the document outlines 10 steps for enterprise PHP development, including establishing requirements, designing architecture and tools, using frameworks, implementing design patterns, and emphasizing testing.
The document provides an introduction to the World Wide Web and basics of PHP programming language. It discusses what the internet and WWW are, how HTTP works, basics of web application development. It then covers installing WAMP or XAMPP on Windows, history and features of PHP versions. Common PHP concepts like variables, data types, operators, control structures like loops and conditional statements are explained.
The PHP code checks the QUERY_STRING server variable. If it equals "SoD", it prints "owns you!", otherwise it prints "don't front!". It then shows an example of parsing multiple strings from the QUERY_STRING with explode() and switches. The document describes an affiliate network called Advertgoal that pays on a CPA basis with a $50 minimum payment via PayPal or check every 30 days and offers a 5% referral commission.
A little presentation about how we squeezed Symfony to implement some sort of SOA
better see here
https://docs.google.com/presentation/d/1TnDjbERj8F6UgqbZ7fJQsAL6yfg5G56G1iTqSzeTUE8/pub?start=false&loop=false&delayms=3000
Telephony with OpenShift Twilio and MongoDBMark Atwood
This document discusses building telephony applications using MongoDB, OpenShift, and Twilio. It provides an overview of each technology and how they can be combined. Specifically, it describes a simple SMS group chat application hosted on OpenShift that uses Twilio for SMS capabilities and MongoDB for data storage. The document recommends best practices like using queuing to smooth load and storing data in a database rather than in the application instance.
Php my sql - functions - arrays - tutorial - programmerblog.netProgrammer Blog
In this ppt you will learn about functions and array in php. What are functions, how to declare and use. built in functions. include and required keywords. how are arguments used. how to create functions inside functions.
What are php arrays, how to create an array and use them. Built in array functions. What are super globals?
Talk given at the PHP user group Frankfurt regarding asynchronous events in Symfony 2 and the RabbitMQ library. We demonstrate some ups and downs as well as best practices and lessons learned.
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Aaron Saray
Object Oriented Programming in enterprise level PHP is incredibly important. In this presentation, concepts like MVC architecture, data mappers, services, and domain and data models will be discussed. Simple demonstrations will be used to show patterns and best practices. In addition, using tools like Doctrine or integration with Salesforce or the AS/400 will also be discussed. There will be an emphasis on the practical application of these techniques as well - this isn't just a theoretical talk! This presentation is great for those just beginning to create enterprise applications as well as those who have had years of experience.
This document provides information on various community resources and programs available to Fort Drum service members and their families in May 2013. It lists 27 organizations and programs including the American Red Cross, Army Career & Alumni Program, Army Community Service, Better Opportunities for Single Soldiers, Chapel services, Child and Youth Services programs, Commissary, and more. For each, it provides contact information and highlights upcoming events and activities in May such as seminars, training sessions, celebrations, and youth sports registration deadlines.
The National Young Women's Christian Association of Romania (NYWCAR) document outlines several of its educational programs aimed at improving women's lives and empowering youth. The programs address topics like leadership development, women's rights, preventing discrimination and intolerance, English language courses, health education, and preventing child trafficking. The NYWCAR is a non-profit organization that runs seminars, workshops and educational activities in several Romanian cities to achieve its goals of promoting women's empowerment, community values, and public health.
Research of usability of Mashup Tools done for Kent County Council as part of the Pic and Mix Pilot (2009), opening up Kent related datasets for all to use and exploit.
This document provides an overview of real estate and investment opportunities in the Czech Republic. It discusses how the Czech real estate market has matured in recent decades and stabilized during the economic recession. The Czech Republic remains an attractive investment destination due to advantages like its location in Europe, infrastructure, skilled workforce, and price stability. The document also lists CzechInvest offices around the world that can help connect investors with opportunities in the Czech real estate sector and other industries in the Czech Republic.
The document provides information on the global locations of eNetwork centres. It lists over 100 locations across 6 continents including cities in Australia, Austria, Bahamas, Bahrain, Belgium, Brazil, Bulgaria, Canada, China, Colombia, Croatia, Cyprus, Czech Republic, Denmark, Ecuador, Egypt, Estonia, Finland, France, Germany, Ghana, Greece, Hong Kong, Hungary, India, Indonesia, Ireland, Italy, Japan, Kuwait, Lebanon, Luxembourg, Macau, Malaysia, Malta, Mexico, Mozambique, Netherlands, Nigeria, Norway, Philippines, Poland, Portugal, Saudi Arabia, Serbia, Singapore, Slovenia, South Korea, Spain, Sweden, Switzerland, Taiwan, Thailand, Turkey,
This document discusses Tom Peters' Manifestos 2002 series, which focuses on important but neglected topics that present opportunities for organizations. Each booklet in the series takes a radical point of view on its topic. The excerpt provided focuses on the topic of design mindfulness, arguing that design is underrated as a strategic tool. It can be worth hundreds of billions to a firm, as design is the essence of emotional attachment to products/services and the source of a brand's culture and proposition. While quality and new products are common now, everything risks becoming similar. Focusing on unique, attention-grabbing design is crucial to standing out in today's marketplace.
Enterprise PHP (Zend UK Business Conference)Ivo Jansch
The document discusses best practices for enterprise PHP development. It uses building a skyscraper as a metaphor for developing large PHP projects. It recommends hiring experienced engineers, creating an architecture and technical design before development, using frameworks and tools to provide stability and productivity, implementing design patterns and testing, and optimizing performance through caching and accelerators. The key steps are recruitment, architecture, tools, foundation, design patterns, testing, and optimization.
Enterprise PHP Development - ZendCon 2008Ivo Jansch
The document discusses best practices for enterprise PHP development. It outlines 10 steps for building PHP applications in an enterprise setting: 1) assemble a skilled team, 2) define requirements, 3) design architecture, 4) select tools, 5) use a framework as a foundation, 6) employ design patterns, 7) implement thorough testing, 8) optimize performance through acceleration and caching, 9) properly deploy code to production environments, and 10) monitor and debug applications after deployment. The document uses metaphors of building construction with bricks to illustrate PHP development concepts.
The e-commerce is one of the main points of modern software. The e-commerce sector is growing about 15% annually, which is why it deserves special attention from software engineers. Speaking of e-commerce and open source at once is not easy. For many years we have identified the concept with pain and despair, so we must work urgently to change the way we understand it should be. What are the important points to consider? Where do we find the line between architecture and pragmatism? Are we walking in the right direction? How can Symfony help in this?
This document discusses using continuous integration and testing for Drupal 7 projects. It introduces tools like Jenkins, Phing, Drush, PHPUnit and Behat that can be used to set up an automated testing workflow. Key aspects covered include continuous integration, testing history and strategies, and setting up different environments for local development, continuous integration, staging and production. Examples of configuration files and a build process using these tools are also provided.
Phpworks enterprise-php-1227605806710884-9PrinceGuru MS
The document discusses enterprise PHP development and provides a 10 step process for developing enterprise PHP applications. The steps include forming a team, defining requirements, designing architecture and tools, using frameworks, implementing design patterns, testing, optimizing, deploying, and operating applications. Key aspects of enterprise development emphasized are using structured methodologies, no "cowboy coding", and following a software development life cycle.
This document provides tips and tools for developing an iPhone app from concept to product release. It covers conceptualizing the app idea, designing interfaces with tools like Balsamiq and Photoshop, developing with considerations for APIs, push notifications, and testing, distributing beta versions through services like TestFlight, monitoring performance on the App Store, and responding to user reviews. The overall process progresses from Concept to Design to Develop to Beta testing to Release.
Behavior & Specification Driven Development in PHP - #OpenWestJoshua Warren
This document summarizes a presentation about using Behavior Driven Development (BDD) and Specification Driven Development (SDD) with PHP using the tools Behat and PHPSpec. It introduces BDD as focusing on complete features by writing user stories, while SDD focuses on writing specifications for how code should work before writing the code. The presentation demonstrates setting up a sample project using these tools, writing feature files and specifications, generating code stubs, implementing the code, and running the automated tests to verify everything works as specified.
The document discusses Joel Spolsky's "Joel Test" which evaluates software development teams. It applies the test's 12 questions to PHP teams and provides recommendations. Key points include using source control, continuous integration, bug tracking, specifications, estimating tasks, and providing developers with resources to do their jobs.
Dev Ops for systems of record - Talk at Agile Australia 2015Mirco Hering
Mirco Hering is a DevOps and Agile lead with over 10 years of experience improving IT delivery through automation, methodology, and innovation. The document discusses applying DevOps principles to systems of record like packaged software, non-custom code, and older custom code. It outlines challenges in automating builds, deployments, testing and integrating these systems. It provides examples of automating merges and traceability for a Siebel system to help systems of record adopt DevOps practices and continuous delivery.
Another day, another buzzword in the world of software development! ‘Microservices’ is a new approach to structuring server-side software. But is it really new? In this talk I’ll walk you through the birth and ‘raison d’etre’ of microservices and tell about pro’s and con’s of the approach.
Having laid the foundation, we will take a look at best-practices and patterns for building micro service architectures and combine this with a tour of current technologies and development tools.
Finally, I will take a quick look at the future and discuss some of the remaining challenges. All parts of the presentation will be accompanied by structural examples based on a real ecommerse system.
The document outlines four pains experienced by developers when using traditional .NET development approaches: 1) Reliance on "magic" frameworks that can cause unexpected errors, 2) Builds that fail due to unpredictable dependencies, 3) Long edit-compile-test cycles, and 4) Rapid obsolescence of skills as technologies change. It proposes four guiding principles to address these pains: 1) Using direct queries over ORM "magic", 2) Ensuring predictable, reproducible builds and environments, 3) Shortening feedback loops through techniques like hot reloading, and 4) Focusing on reusable skills rather than specific technologies. The overall message is that prioritizing business needs over technical wizardry and automation can help developers work more efficiently
This document summarizes a presentation about PHP development best practices including deployment strategies, unit testing, and techniques for building scalable applications. The presentation discusses using PEAR, OS packages, source control, or rsync for deployment. It also covers writing unit tests, characteristics of queueing and scalable computing, and considerations for building applications that can scale. The presenter encourages attending ZendCon to learn more about these topics.
The document discusses reasons for pursuing a career in web development, predicting its continued growth. It outlines the skills needed, including front-end technologies like HTML, CSS, and JavaScript, as well as back-end options like PHP, Ruby, Python, and Node.js. Testing, frameworks, and devops skills are also important. Overall, the document argues that web development offers an in-demand and exciting career path.
Tony Bibbs presented on frameworks for PHP development. He discussed when frameworks should and should not be used, common risks of frameworks, and typical framework components like MVC, ORM, templates. His key recommendation was to only change one component of a framework at a time through incremental improvements.
Productive Programmer - Using IDE effectively and various small practices to ...Bhavin Javia
The presentation from my talk on Programmer Productivity at XP Days Indore 2010. The target audience was MCA students, faculty and members of IT industry in and around Indore.
- Universal apps allow code to run on both the server and client for benefits like SEO and perceived performance
- They render HTML on the server and initialize the single page application with the same server-rendered data
- Frameworks like React support universal patterns, requiring code to run in both Node.js and browser environments
- Challenges include ensuring environments match, handling performance of rendering large amounts of content, and testing both initial page load and subsequent single page application interactions
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
My slide deck from my session, AD113: Speed Up Your Applications with Nginx + PageSpeed, at MWLUG 2015 in Atlanta, GA at the Ritz-Carlton.
For more, see:
- https://edm00se.io/self-promotion/mwlug-ad113-success
- https://github.com/edm00se/AD113-Speed-Up-Your-Apps-with-Nginx-and-PageSpeed
Max Voloshin - "Organization of frontend development for products with micros...IT Event
While our product was growing our team came to need to implement microservices. Later it became obvious that our approaches on organization of frontend development should be rethought and significantly improved.
The report contains our team's solutions for simple and comfortable frontend product development with microservices. Also, this talk is about how we along with the way updated frontend framework, separated frontend and backend, solved internalization problem and started using Docker for front end tasks.
This document discusses using XHProf to perform performance tuning of PHP applications. It begins with an introduction of the speaker and their company Pardot. It then provides an overview of XHProf including how to install, configure, and use it to profile PHP applications. The document outlines various performance tips for PHP such as optimizing array operations, managing memory efficiently, and improving database queries. It also walks through some examples of profiling a sample Symfony application that involves getting click data from a database. The examples demonstrate how to optimize queries and object hydration to improve performance.
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Svetlin Nakov
This document provides guidelines for becoming a software engineer or starting an IT business. It recommends defining your goals such as what technology or position to pursue. It also suggests finding resources like courses, tutorials, videos and books to learn skills. Additionally, it emphasizes the importance of practicing through real-world projects to gain experience. The document advises joining a developer community and participating in events. Finally, it notes that the best way to learn is by starting a job in the software industry.
PHP Development In The Cloud (php|tek edition)Ivo Jansch
This talk is the companion talk to the 'PHP Development in the Cloud' book I wrote with Vito Chin. It's an introduction into cloud computing for PHP developers. Delivered on may 25 at php|tek in Chicago.
These are the slides for a three hour primer for PHP developers. It covers the whole spectrum from the mobile web to apis for native apps, as well as topics such as generating QR codes and sending push notifications from PHP to android and apple devices.
Building an SSO platform in PHP (Zend Webinar Edition)Ivo Jansch
I did a Webinar for Zend on March 31st, 2011 about Single Sign On. In this presentation I covered openid, oauth and saml as suitable implementations for single sign on to web applications.
This talk was presented at the Daycamp 4 Developers 2 on March 5th, 2011. In this talk I talked about my experiences with telecommuting, and why it makes sense for businesses to allow developers to work remotely.
An overview of cloud computing for PHP developers.
This is a slightly updated version of my earlier 'PHP and the Cloud' slides, mostly to reflect my new company's layout.
Updated version of my PHP in a mobile ecosystem talk. Looks at how PHP plays a role in the mobile world, and explains what php developers need to know about mobile development.
Presentation delivered at the PHPBenelux 2011 conference and the PHP UK conference 2011.
Building an SSO platform in php (Zendcon 2010)Ivo Jansch
A presentation explaining how to build Single Sign On functionality in PHP using standards such as OpenID, OAuth and SAML. Delivered on November 4, 2010 at Zendcon in Santa Clara
PHP in a Mobile Ecosystem (Zendcon 2010)Ivo Jansch
A look at PHP's role in mobile web and app development. Delivered at Zendcon 2010 on November 3, 2010.
If you like the content or want to give feedback or if you need help with any of the concepts mentioned here, contact me at egeniq.com.
PHP and the Cloud (phpbenelux conference)Ivo Jansch
The document discusses PHP and cloud computing. It defines cloud computing according to NIST as having five essential characteristics, three service models (Software as a Service, Platform as a Service, Infrastructure as a Service), and four deployment models. Infrastructure as a Service involves offering hardware, storage, networking and computing resources as a service and allows for elastic scalability. The document provides examples of using Rackspace Cloud and Terremark's InfiniCloud for IaaS and discusses designing applications to take advantage of cloud capabilities like horizontal scalability and abstraction.
Content Management Selection and StrategyIvo Jansch
A presentation I did at the IMS 2009 event in London, helping organizations define a content management system strategy and helping them with the selection of CMS systems.
Slides of the talk I did at Zendcon 09. It tells PHP developers what they need to know about the cloud and gives exampes of how to interact with cloud services and applications.
PHP is a widely used programming language that powers many large, real-world websites and applications. The document discusses PHP's history and growth, provides examples of major websites that use PHP, and outlines best practices for PHP development including using an iterative development process, frameworks, testing, and teamwork. It also discusses using PHP alongside other technologies and open source software.
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
Slightly more generic version of my 'Enterprise PHP' talk, adjusted for the 4developers conference's 'dedicated languages' track that features developers with different backgrounds.
Enterprise PHP Development (Dutch PHP Conference 2008)Ivo Jansch
This document discusses enterprise PHP development in 10 steps: 1) assemble a skilled team, 2) define requirements, 3) design architecture, 4) select tools, 5) use a framework for foundation, 6) implement design patterns, 7) thoroughly test all aspects of development, 8) optimize performance through acceleration and caching, 9) plan deployment across environments, and 10) monitor operations through logging and issue tracking. The document uses building a skyscraper as an analogy for developing large enterprise applications in PHP.
Avoiding the China Tariffs: Save Costs & Stay CompetitiveNovaLink
As a result of the ongoing trade war between the United States and China, many manufacturers have been forced to pay higher tariffs on their products imported from China. Therefore, many companies are now exploring alternative options, such as reshoring their manufacturing operations to Mexico. This presentation explores why Mexico is an attractive option for manufacturers avoiding China tariffs, and how they can make the move successfully.
Read the Blog Post: https://novalinkmx.com/2018/10/18/chi...
Visit NovaLink: https://novalinkmx.com/
LinkedIn: / novalink
#ManufacturingInMexico #Nearshoring #TariffRelief #ChinaTariffs #USChinaTradeWar #SupplyChainStrategy #ManufacturingStrategy #Reshoring #GlobalTrade #TradeWarImpact #MadeInMexico #MexicoManufacturing #NearshoreMexico #MexicoSupplyChain #SmartManufacturingMoves #ReduceTariffs #BusinessStrategy #OperationalExcellence #CostReduction #NovaLink
Explore the growing trend of payroll outsourcing in the UK with key 2025 statistics, market insights, and benefits for accounting firms. This infographic highlights why more firms are turning to outsourced payroll services for UK businesses to boost compliance, cut costs, and streamline operations. Discover how QXAS can help your firm stay ahead.
for more details visit:- https://qxaccounting.com/uk/service/payroll-outsourcing/
India Advertising Market Size & Growth | Industry TrendsAman Bansal
The advertising market in India is rapidly growing, driven by the increasing consumption of digital media, mobile usage, and evolving consumer behaviors. Traditional media like TV and print continue to hold a significant share, while digital platforms, including social media and online video, are expanding swiftly. As brands focus on reaching diverse audiences, the market sees innovation in formats like influencer marketing, targeted ads, and regional content. This dynamic landscape offers vast opportunities for both domestic and global players in the advertising sector.
Brandon Flatley masterfully blends creativity and community impact. As a mixologist and small business owner, he delivers unforgettable cocktail experiences. A musician at heart, he excels in composition and recording.
Smart Home Market Size, Growth and Report (2025-2034)GeorgeButtler
The global smart home market was valued at approximately USD 52.01 billion in 2024. Driven by rising consumer demand for automation, energy efficiency, and enhanced security, the market is expected to expand at a CAGR of 15.00% from 2025 to 2034. By the end of the forecast period, it is projected to reach around USD 210.41 billion, reflecting significant growth opportunities across emerging and developed regions as smart technologies continue to transform residential living environments.
Harnessing Hyper-Localisation: A New Era in Retail StrategyRUPAL AGARWAL
Discover how hyper-localisation is transforming the retail landscape by allowing businesses to tailor products, services, and marketing strategies to meet the unique needs of specific communities. This presentation explores the concept, benefits, and real-world examples of hyper-localisation in action, helping retailers boost customer satisfaction and drive growth.
Alaska Silver: Developing Critical Minerals & High-Grade Silver Resources
Alaska Silver is advancing a prolific 8-km mineral corridor hosting two significant deposits. Our flagship high-grade silver deposit at Waterpump Creek, which contains gallium (the U.S. #1 critical mineral), and the historic Illinois Creek mine anchor our 100% owned carbonate replacement system across an expansive, underexplored landscape.
Waterpump Creek: 75 Moz @ 980 g/t AgEq (Inferred), open for expansion north and south
Illinois Creek: 525 Koz AuEq - 373 Koz @ 1.3 g/t AuEq (Indicated), 152 Koz @ 1.44 g/t AuEq (Inferred)
2024 "Warm Springs" Discovery: First copper, gold, and Waterpump Creek-grade silver intercepts 0.8 miles from Illinois Creek
2025 Focus: Targeting additional high-grade silver discoveries at Waterpump Creek South and initiating studies on gallium recovery potential.
The Fascinating World of Hats: A Brief History of Hatsnimrabilal030
Hats have been integral to human culture for centuries, serving various purposes from protection against the elements to fashion statements. This article delves into hats' history, types, and cultural significance, exploring how they have evolved and their role in contemporary society.
NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi_compressed.pdfKhaled Al Awadi
Greetings,
Hawk Energy is pleased to share with you its latest energy news from NewBase Energy
as per attached file NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi
Regards.
Founder & Senior Editor NewBase Energy
Khaled M Al Awadi, Energy ConsultantGreetings,
Hawk Energy is pleased to share with you its latest energy news from NewBase Energy
as per attached file NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi
Regards.
Founder & Senior Editor NewBase Energy
Khaled M Al Awadi, Energy ConsultantGreetings,
Hawk Energy is pleased to share with you its latest energy news from NewBase Energy
as per attached file NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi
Regards.
Founder & Senior Editor NewBase Energy
Khaled M Al Awadi, Energy ConsultantGreetings,
Hawk Energy is pleased to share with you its latest energy news from NewBase Energy
as per attached file NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi
Regards.
Founder & Senior Editor NewBase Energy
Khaled M Al Awadi, Energy Consultant
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...Lviv Startup Club
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Security (UA)
UA Online PMDay 2025 Spring
Website – https://pmday.org/online
Youtube – https://www.youtube.com/startuplviv
FB – https://www.facebook.com/pmdayconference
Diagrams are key to architectural work, aligning teams and guiding business decisions. This session covers best practices for transforming text into clear flowcharts using standard components and professional styling. Learn to create, customize, and reuse high-quality diagrams with tools like Miro, Lucidchart, ... Join us for hands-on learning and elevate your diagramming skills!
Comments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdfBrij Consulting, LLC
The Mobile Hub Part II provides an extensive overview of the integration of glass technologies, cloud systems, and remote building frameworks across industries such as construction, automotive, and urban development.
The document emphasizes innovation in glass technologies, remote building systems, and cloud-based designs, with a focus on sustainability, scalability, and long-term vision.
V1 The European Portal Hub, centered in Oviedo, Spain, is significant as it serves as the central point for 11 European cities' glass industries. It is described as the first of its kind, marking a major milestone in the development and integration of glass technologies across Europe. This hub is expected to streamline communication, foster innovation, and enhance collaboration among cities, making it a pivotal element in advancing glass construction and remote building projects. BAKO INDUSTRIES supported by Magi & Marcus Eng will debut its European counterpart by 2038.
Kiran Flemish is a dynamic musician, composer, and student leader pursuing a degree in music with a minor in film and media studies. As a talented tenor saxophonist and DJ, he blends jazz with modern digital production, creating original compositions using platforms like Logic Pro and Ableton Live. With nearly a decade of experience as a private instructor and youth music coach, Kiran is passionate about mentoring the next generation of musicians. He has hosted workshops, raised funds for causes like the Save the Music Foundation and Type I Diabetes research, and is eager to expand his career in music licensing and production.
The Peter Cowley Entrepreneurship Event Master 30th.pdfRichard Lucas
About this event
The event is dedicated to remember the contribution Peter Cowley made to the entrepreneurship eco-system in Cambridge and beyond, and includes a special lecture about his impact..
We aim to make the event useful and enjoyable for all those who are committed to entrepreneurship.
Programme
Registration and Networking
Introduction & Welcome
The Invested Investor Peter Cowley Entrepreneurship Talk, by Katy Tuncer Linkedin
Introductions from key actors in the entrepreneurship support eco-system
Cambridge Angels Emmi Nicholl Managing Director Linkedin
Cambridge University Entrepreneurs , Emre Isik President Elect Linkedin
CUTEC Annur Ababil VP Outreach Linkedin
King's Entrepreneurship Lab (E-Lab) Sophie Harbour Linkedin
Cambridgeshire Chambers of Commerce Charlotte Horobin CEO Linkedin
St John's Innovation Centre Ltd Barnaby Perks CEO Linkedin
Presentations by entrepreneurs from Cambridge and Anglia Ruskin Universities
Jeremy Leong Founder Rainbow Rocket Climbing Wall Linkedin
Mark Kotter Founder - bit.bio https://www.bit.bio Linkedin
Talha Mehmood Founder CEO Medily Linkedin
Alison Howie Cambridge Adaptive Testing Linkedin
Mohammad Najilah, Director of the Medical Technology Research Centre, Anglia Ruskin University Linkedin
Q&A
Guided Networking
Light refreshments will be served. Many thanks to Penningtons Manches Cooper and Anglia Ruskin University for covering the cost of catering, and to Anglia Ruskin University for providing the venue
The event is hosted by
Prof. Gary Packham Linkedin Pro Vice Chancellor Anglia Ruskin University
Richard Lucas Linkedin Founder CAMentrepreneurs
About Peter Cowley
Peter Cowley ARU Doctor of Business Administration, honoris causa.
Author of Public Success Private Grief
Co-Founder CAMentrepreneurs & Honorary Doctorate from Anglia Ruskin.
Chair of Cambridge Angels, UK Angel Investor of the Year, President of European Business Angels Network Wikipedia. Peter died in November 2024.
About Anglia Ruskin University - ARU
ARU was the recipient of the Times Higher Education University of the Year 2023 and is a global university with students from 185 countries coming to study at the institution. Anglia Ruskin prides itself on being enterprising, and innovative, and nurtures those qualities in students and graduates through mentorship, support and start-up funding on offer through the Anglia Ruskin Enterprise Academy. ARU was the first in the UK to receive the prestigious Entrepreneurial University Award from the National Centre for Entrepreneurship in Education (NCEE), and students, businesses, and partners all benefit from the outstanding facilities available.
About CAMentrepreneurs
CAMentrepreneurs supports business and social entrepreneurship among Cambridge University Alumni, students and others. Since its launch in 2016 CAMentrepreneurs has held more than 67 events in Boston, Cambridge, Dallas, Dubai, Edinburgh, Glasgow, Helsinki, Hong Kong, Houston, Lisbon, London, Oxford, Paris, New
2. About me CTO at Ibuildings Development using PHP (websites, applications) Big projects (high traffic, multi-tier, clusters, high availability, large teams) Consultancy (training, audits) Partner of Zend Technologies 9 years in NL, 3 months in UK Geek! Author of several Open Source projects Interested in PHP, Web 2.0, Science Nervous in front of audiences bigger than 5 ;-)
3. What's an enterprise? Wikipedia: “ Any of several ships by that name in the Star Trek fictional universe” “ A business, company, or comparable organization”
4. Is PHP Enterprise ready? CIO Magazine: “ PHP works well for prototyping because it is easy to get a site up and running. Use PHP to design the site [...] but when it comes time for development, tell the team you want the result to look and act like this PHP site...but in Java” (Or: “great, this is exactly what I need! now do it again, at twice the cost!”) http://www.cio.com/article/176250 (skip the article, read the comments)
5. Is PHP Enterprise ready? Small Lightweight Cheap Easy to learn Big Enterprise friendly enterpriCe CS required
6. A word from my girlfriend It's not the SIZE of the tool... It's how you USE it.
7. PHP is changing... 1998 Personal stuff 2003 Simple websites Content management Blogs 2008 Big websites Banks Insurance Companies ...
8. PHP is changing... Traditional metaphor PHP is like Lego bricks Bricks allowing you to build anything
9. PHP is changing... PHP is no longer a toy Let’s use the metaphor of actual bricks Because we’re building actual buildings now
10. About Bricks Extreme simplicity Easy to learn Versatile Cheap ... so building a skyscraper must be peanuts, right?
12. Step 1 – The Team “Dear Mr. Businessman, I have read about your plans to build a new skyscraper and I am applying for a job. I have a lot of experience with Bricks. I taught myself how to use them and have been maintaining our family shed for a few years now.”
13. Step 1 – The Team Be a software engineer Train your skills Study OO principles Consider Zend Certification
14. Step 2 - Requirements What does the customer need? What do visitors want?
22. Step 5 - Foundation Start stacking bricks? How many bricks does it take.. What about stability? Start with a foundation
23. Step 5 - Foundation Use a framework Provides guidelines (frame) Off the shelf components Examples Zend Framework http://framework.zend.com CakePHP http://http://www.cakephp.org ezComponents http://ez.no/ezcomponents Symfony http://www.symfony-project.org ATK http://www.achievo.org/atk
24. Step 5 - Foundation The “Not Invented Here” Syndrome “The existing frameworks are no good. I can do this better.” “This framework is no good. It can do A through Y but I need Z.” “This framework is too big. It provides A-Z but we only need A and B.” “I know there's a good framework. But I would like to learn.”
25. Step 6 – Design Patterns Requirement 1056.4: We need to be able to look outside, but we can't make holes in the wall (rain should be kept outside). When it's sunny, a hole is ok.
26. Step 6 – Design Patterns A ‘window’ is a concept Best practice way of solving a particular problem In IT, we call this a ‘design pattern’ Popular patterns in PHP: MVC, Factory, Singleton, Registry, Decorator Good read: php|architect's Guide to PHP Design Patterns - Jason E. Sweat
27. Step 7 - Testing Is your software tested after it has gone live?
28. Step 7 - Testing Various types of testing Developer testing Functional testing Environment testing Performance testing Usability testing
33. Step 7 - Testing Solution: Unit Tests Automated testing after each change Prevents regressions Testing for PHP applications: PHPUnit http://www.phpunit.de/ SimpleTest http://www.lastcraft.com/simple_test.php Continuous Integration: Xinc http://code.google.com/p/xinc/
34. Step 7 - Testing Test Driven Development 1. Define functionality 2. Create testcase 3. Run test -> test fails 4. Implement functionality Test succeeds? Done Test fails? Refactor Repeat step 4 until finished
35. Step 8 - Optimization Users are reporting: "I work on the 197th floor. Every day I have to walk the stairs for 2 hours, then I have only 4 hours left to do my job."
37. Step 8 - Optimization In PHP, this ‘elevator’ is called an ‘accelerator’ This is how PHP works (pseudo-ish code): read index.php; // enter the building compile index.php; // go to floor 197 echo “Hello World”; // get the job done An accelerator improves the first 2 steps Accelerators for PHP: eAccelerator http://eaccelerator.net/ APC http://pecl.php.net/package/APC Zend Platform http://www.zend.com/products/zend_platform
38. Step 8 - Optimization Users complain: “Every time I need coffee I have to go to the top floor to get some.”
39. Step 8 - Optimization Solution: Create small coffee corners on every floor so people don’t have to go to the main restaurant every time. In PHP we call this caching Don’t query the database everytime you need data Use locally stored copy (file or memory) PHP Caching solutions: Zend_Cache http://framework.zend.com Smarty http://smarty.php.net Zend Platform http://www.zend.com/products/zend_platform Memcached http://danga.com/memcached/
40. Step 9 - Deployment Lifecycle: Develop Test Deploy to acceptance test environment Deploy to live Use SVN Code is just a part, don't forget the database Create a 'Deployment & Release Profile'
41. Step 9 - Deployment System Architecture PHP Apache Linux MySQL From a simple LAMP stack on a single machine...
42. Step 9 - Deployment System Architecture ... to a High Availability, Horizontally Scalable architecture
43. Step 10 - Operations Monitoring Logfiles Monitor infrastructure (tools such as Nagios) Monitor application (tools such as Zend Platform) Monitor business (is the money still pouring in?)
44. Step 10 - Operations Debugging Ideal: “I had error x when I selected y after I clicked z” Reality: “It doesn't work!” “What exactly doesn't work, and what did you do?” “It just ******** didn't work, FIX IT.”
45. Step 10 - Operations Solution A 'root cause analysis' tool
46. Step 10 - Operations Change management Ticket system Stick to your deployment - use the DRP DON'T TOUCH THE LIVE ENVIRONMENT. But I absolutely have to... DON'T! but... NO! I MEAN IT! :-)
47. The Big Picture No ‘cowboy coding’, but structured steps Higher quality Software will be easier to maintain (and cheaper) Development methodology Waterfall Agile (DSDM, XP, Scrum) Software Development Life Cycle (SDLC) Adapt from existing methods, learn from experts Document it properly Make it the cornerstone of your development efforts
48. More things to think about? Development Implementation Documentation Security
49. Before I finish Dutch PHP Conference 2008 http://www.phpconference.nl Call for Ideas see your favorite guru hear your favorite topic Buy my book “php|architect's Enterprise PHP Development” Should be available in a few months Talk to us Visit our booth We are still hiring We have stuff to sell you ;-)