This document discusses ChatOps, which is an approach to operations that uses chat platforms like Slack for communication around operational processes like infrastructure changes, code deploys, and monitoring. It describes how ChatOps integrates tools like Slack, Hubot, GitHub, Jenkins, and AWS Lambda to enable chat-based workflows for development and operations tasks. Key aspects of ChatOps mentioned include using chat for GitHub pull request management and Jenkins integration to enable chat-based code deploys and monitoring.
This document describes how to use Terraform to provision infrastructure on AWS. It outlines creating a VPC, subnets, security groups, an internet gateway, route tables, and EC2 instances and load balancer. The steps include initializing Terraform, running plan and apply commands, and cleaning up resources with destroy. Code blocks show how resources are defined using Terraform configuration files.
This document discusses strategies for optimizing access to large "master data" files in PHP applications. It describes converting master data files from PHP arrays to tab-separated value (TSV) files to reduce loading time. Benchmark tests show the TSV format reduces file size by over 50% and loading time from 70 milliseconds to 7 milliseconds without OPcache. Accessing rows as arrays by splitting on tabs is 3 times slower but still very fast at over 350,000 gets per second. The TSV optimization has been used successfully in production applications.
Bubble sort is an algorithm that sorts a list of numbers by repeatedly swapping adjacent elements that are out of order. It works by comparing adjacent elements and swapping them if they are in the wrong order, "bubbling" the largest values to the end of the list over multiple iterations. The algorithm iterates through the list N-1 times, where N is the number of elements, to fully sort the list. It uses pairwise comparisons and swapping to move the largest remaining value to its correct place with each pass.
Rhebok, High Performance Rack Handler / Rubykaigi 2015Masahiro Nagano
This document discusses Rhebok, a high performance Rack handler written in Ruby. Rhebok uses a prefork architecture for concurrency and achieves 1.5-2x better performance than Unicorn. It implements efficient network I/O using techniques like IO timeouts, TCP_NODELAY, and writev(). Rhebok also uses the ultra-fast PicoHTTPParser for HTTP request parsing. The document provides an overview of Rhebok, benchmarks showing its performance, and details on its internals and architecture.
Quicksort: illustrated step-by-step walk throughYoshi Watanabe
A step-by-step illustration of Quicksort to help you walk through a series of operations. Illustration is accompanied by actual code with bold line indicating the current operation.
Describes the operation of optimized sorting algorithm bubblesort. The traditional bubblesort algorithm is also described. The time complexity is also described in detail. In the presentation, all content is provided with through examples.
The document discusses the merge sort algorithm. It works by recursively dividing an array into two halves, sorting each half, and then merging the sorted halves back together. The key steps are:
1) Divide the array into equal halves recursively until arrays contain a single element.
2) Sort the halves by recursively applying the merge sort algorithm.
3) Merge the sorted halves back into a single sorted array by comparing elements and copying the smaller value into the output array.
This document discusses ChatOps, which is an approach to operations that uses chat platforms like Slack for communication around operational processes like infrastructure changes, code deploys, and monitoring. It describes how ChatOps integrates tools like Slack, Hubot, GitHub, Jenkins, and AWS Lambda to enable chat-based workflows for development and operations tasks. Key aspects of ChatOps mentioned include using chat for GitHub pull request management and Jenkins integration to enable chat-based code deploys and monitoring.
This document describes how to use Terraform to provision infrastructure on AWS. It outlines creating a VPC, subnets, security groups, an internet gateway, route tables, and EC2 instances and load balancer. The steps include initializing Terraform, running plan and apply commands, and cleaning up resources with destroy. Code blocks show how resources are defined using Terraform configuration files.
This document discusses strategies for optimizing access to large "master data" files in PHP applications. It describes converting master data files from PHP arrays to tab-separated value (TSV) files to reduce loading time. Benchmark tests show the TSV format reduces file size by over 50% and loading time from 70 milliseconds to 7 milliseconds without OPcache. Accessing rows as arrays by splitting on tabs is 3 times slower but still very fast at over 350,000 gets per second. The TSV optimization has been used successfully in production applications.
Bubble sort is an algorithm that sorts a list of numbers by repeatedly swapping adjacent elements that are out of order. It works by comparing adjacent elements and swapping them if they are in the wrong order, "bubbling" the largest values to the end of the list over multiple iterations. The algorithm iterates through the list N-1 times, where N is the number of elements, to fully sort the list. It uses pairwise comparisons and swapping to move the largest remaining value to its correct place with each pass.
Rhebok, High Performance Rack Handler / Rubykaigi 2015Masahiro Nagano
This document discusses Rhebok, a high performance Rack handler written in Ruby. Rhebok uses a prefork architecture for concurrency and achieves 1.5-2x better performance than Unicorn. It implements efficient network I/O using techniques like IO timeouts, TCP_NODELAY, and writev(). Rhebok also uses the ultra-fast PicoHTTPParser for HTTP request parsing. The document provides an overview of Rhebok, benchmarks showing its performance, and details on its internals and architecture.
Quicksort: illustrated step-by-step walk throughYoshi Watanabe
A step-by-step illustration of Quicksort to help you walk through a series of operations. Illustration is accompanied by actual code with bold line indicating the current operation.
Describes the operation of optimized sorting algorithm bubblesort. The traditional bubblesort algorithm is also described. The time complexity is also described in detail. In the presentation, all content is provided with through examples.
The document discusses the merge sort algorithm. It works by recursively dividing an array into two halves, sorting each half, and then merging the sorted halves back together. The key steps are:
1) Divide the array into equal halves recursively until arrays contain a single element.
2) Sort the halves by recursively applying the merge sort algorithm.
3) Merge the sorted halves back into a single sorted array by comparing elements and copying the smaller value into the output array.