The document discusses various topics related to APIs and pagination in Django REST Framework. It covers:
1. Pagination techniques in Django REST Framework including PageNumberPagination, LimitOffsetPagination, and CursorPagination.
2. Rate limiting techniques including AnonRateThrottle, UserRateThrottle, and ScopedRateThrottle.
3. Authentication techniques including TokenAuthentication and the djangorestframework-jwt package for JSON web tokens.
4. Other API design topics like HATEOAS, versioning, and specifying media types.
This document discusses messaging queues and platforms. It begins with an introduction to messaging queues and their core components. It then provides a table comparing 8 popular open source messaging platforms: Apache Kafka, ActiveMQ, RabbitMQ, NATS, NSQ, Redis, ZeroMQ, and Nanomsg. The document discusses using Apache Kafka for streaming and integration with Google Pub/Sub, Dataflow, and BigQuery. It also covers benchmark testing of these platforms, comparing throughput and latency. Finally, it emphasizes that messaging queues can help applications by allowing producers and consumers to communicate asynchronously.
Enterprise AIR Development for JavaScript DevelopersAndreCharland
The document discusses the potential of Adobe Integrated Runtime (AIR) for JavaScript developers. It provides examples of how AIR allows developing rich desktop applications with HTML, JavaScript and Flash. It demonstrates communicating with web services, working offline, drag and drop file handling, and saving data to files. AIR provides capabilities beyond the web like accessing local files and notifications while reusing existing Ajax skills.
This document discusses messaging queues and platforms. It begins with an introduction to messaging queues and their core components. It then provides a table comparing 8 popular open source messaging platforms: Apache Kafka, ActiveMQ, RabbitMQ, NATS, NSQ, Redis, ZeroMQ, and Nanomsg. The document discusses using Apache Kafka for streaming and integration with Google Pub/Sub, Dataflow, and BigQuery. It also covers benchmark testing of these platforms, comparing throughput and latency. Finally, it emphasizes that messaging queues can help applications by allowing producers and consumers to communicate asynchronously.
Enterprise AIR Development for JavaScript DevelopersAndreCharland
The document discusses the potential of Adobe Integrated Runtime (AIR) for JavaScript developers. It provides examples of how AIR allows developing rich desktop applications with HTML, JavaScript and Flash. It demonstrates communicating with web services, working offline, drag and drop file handling, and saving data to files. AIR provides capabilities beyond the web like accessing local files and notifications while reusing existing Ajax skills.
Open Source Ajax Solution @OSDC.tw 2009Robbie Cheng
This document provides an overview of various open source Ajax solutions including jQuery + DWR, GWT, and ZK. jQuery is a JavaScript library that simplifies DOM manipulation and AJAX requests. DWR allows making remote procedure calls from JavaScript to Java. GWT compiles Java code to JavaScript and supports component-based development. ZK is a server-centric framework that uses XML markup and allows building rich web applications in pure Java without writing JavaScript.
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...KAI CHU CHUNG
Gokit is microservice tookit and use Service/Endpoint/Transport to strict separation of concerns design. This talk to use go-kit develop microservice application integrate with istio, jaeger prometheus, etc service and deploy on Kubernetes.
Alexander Mostovenko "'Devide at impera' with GraphQL and SSR"Fwdays
The story is about how and why we decided to separate our frontend from a big python monolith.
Why we decided to separate and why we have used Node.js for server rendering?
What was the migration strategy (rewrite from scratch - was not an option)?
What was the value of GraphQL?
What are the results for developers and business?
This document discusses metrics-driven engineering practices at Etsy including collecting and visualizing business, application, and system metrics to gain visibility and make data-driven decisions. Key points include using tools like Ganglia, Graphite, Splunk, Logster, and StatsD to monitor metrics on clusters, applications, logs, and more. The metrics provide insights on site traffic, feature usage, server health, code deployments, and errors to help optimize performance, detect and address issues, and plan infrastructure needs.
Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes. It is written in Java and uses a pluggable backend. Presto is fast due to code generation and runtime compilation techniques. It provides a library and framework for building distributed services and fast Java collections. Plugins allow Presto to connect to different data sources like Hive, Cassandra, MongoDB and more.
This document discusses deploying a Python-based web service using Flask and Gunicorn behind Nginx. It begins with an example GET request to a distance calculation API and explains how to configure Gunicorn with synchronous and asynchronous workers. It shows how Gunicorn manages worker processes and how Nginx can be used as a proxy server and load balancer. The key points are that Gunicorn is well-suited for Python web applications and Nginx is recommended to handle requests and serve static files when deploying behind Gunicorn.
Presto generates Java bytecode at runtime to optimize query execution. Key query operations like filtering, projections, joins and aggregations are compiled into efficient Java methods using libraries like ASM and Fastutil. This bytecode generation improves performance by 30% through techniques like compiling row hashing for join lookups directly into machine instructions.
This document discusses various technologies used in the DevelopersIO CAFE platform, including AWS services like Lambda, API Gateway, DynamoDB, Step Functions, and Auth0 for authentication. It provides examples of building APIs with Lambda and API Gateway, using layers to share code between functions, and storing data in DynamoDB. The platform utilizes serverless architecture with continuous delivery via CodePipeline and integrates SaaS services through APIs.
Piwik elasticsearch kibana at OSC Tokyo 2016 SpringTakashi Yamamoto
1. This document discusses using Piwik, fluentd, elasticsearch, and kibana to analyze Piwik web analytics data. Fluentd is used to collect and parse Apache access logs from Piwik and forward the data to elasticsearch for storage and indexing. Kibana queries and visualizes the elasticsearch data.
2. Instructions are provided for installing fluentd, elasticsearch, and building RPM packages for kibana on Red Hat 6 and 7. Configuration details explain how to setup fluentd input, filtering, and output plugins to ingest Piwik log data from Apache logs and store it in elasticsearch.
3. The elasticsearch and kibana installations provide visualization of the Piwik web analytics data for
Front End Development for Back End Java Developers - NYJavaSIG 2019Matt Raible
Are you a backend Java developer that's being pushed into front-end development? Are you frustrated with all the JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the landscape of UI development, including web standards, frameworks, and what’s on the horizon (e.g., micro frontends).
DEF CON 27 - workshop - JOSH REYNOLDS - from ek to dek slidesFelipe Prado
The document discusses document exploit kits (DEKs) such as ThreadKit and VenomKit, which embed multiple exploits into a single RTF document. It analyzes the infection chains and exploits used by these DEKs, including exploits for Microsoft Office like CVE-2017-8570 and CVE-2017-11882, as well as an Adobe Flash CVE-2018-4878 exploit. It provides details on how the RTF format can be used to embed malicious payloads and bypass defenses. Campaigns distributing various malware families like LokiBot and FormBook using these DEKs are also mentioned.
The document provides best practices for handling performance issues in an Odoo deployment. It recommends gathering deployment information, such as hardware specs, number of machines, and integration with web services. It also suggests monitoring tools to analyze system performance and important log details like CPU time, memory limits, and request processing times. The document further discusses optimizing PostgreSQL settings, using tools like pg_activity, pg_stat_statements, and pgbadger to analyze database queries and performance. It emphasizes reproducing issues, profiling code with tools like the Odoo profiler, and fixing problems in an iterative process.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2M35wCo.
Jamund Ferguson talks about some of the challenges PayPal faced with their Node.js application servers and why they think the JAMStack approach improves performance for both their apps and their developers. He includes discussions around performance, security, development experience and deploy speed. Filmed at qconlondon.com.
Jamund Ferguson is a JavaScript architect at PayPal. He loves to look at how following patterns consistently can prevent bugs in applications. He’s previously contributed to the ESLint and StandardJS open-source projects and has as of late become a fan of FlowType and TypeScript.
AWS and Stripe will present a technical overview of how you can build and iterate applications quickly with best-in-class developer infrastructure and tools.
Konrad Malawski gave a talk at Scala Days CPH 2017 about the current state and future direction of Akka. He discussed how Akka is moving from the actor model to reactive streams and Akka Streams for better concurrency and distribution capabilities. Akka Cluster provides robust membership and fault tolerance for distributed actors across many nodes, while Cluster Sharding enables easy sharding of data and work across a cluster. The talk outlined Akka's past successes and hinted at upcoming improvements to further "do better than that."
This document discusses edge computing and cloud computing beyond traditional data centers. It describes how edge computing distributes computing, storage and applications away from centralized points to the logical extremes of a network. This allows for more distributed and localized processing of data, with the goal of improving response times and bandwidth usage for applications and use cases that require low latency and real-time responsiveness. Edge computing helps enable applications in areas like industrial automation, smart cities and autonomous vehicles that need rapid access to data with minimal delays.
Analyzing the Performance of Mobile WebAriya Hidayat
This document discusses techniques for analyzing the performance of mobile web applications. It covers challenges like network variability, different device hardware, and continuous integration. Approaches mentioned include benchmarking, injecting instrumentation, emulation, and remote inspection. Strategies suggested are reducing complexity, replicating analysis on desktop, and tweaking at the system level. Tools mentioned include the Nexus One, Gingerbread, PhantomJS, and headless WebKit. The document provides examples and caveats for analyzing areas like network traffic, graphics commands, garbage collection, and JavaScript parsing.
People using your web app also use many other online services. You'll often want to pull data from those other services into your app, or publish data from your app out to other services. In this talk, Randy will explain the terminology you need to know, share best practices and techniques for integrating, and walk through two real-world examples. You'll leave with code snippets to help you get started integrating.
MLOps Case Studies: Building fast, scalable, and high-accuracy ML systems at ...Masashi Shibata
This document discusses three case studies for MLOps:
1. Building a memory-efficient Python binding for LIBFFM using Cython and NumPy C-API to implement their own Python binding.
2. Implementing a transfer learning method for hyperparameter optimization using Optuna and CMA-ES to exploit previous optimization history.
3. Accelerating a prediction server and addressing challenges of high throughput and low latency by using Cython to speed up inference processing, improving throughput by 1.35x and reducing latency by 60%.
The document summarizes a presentation about the book "Practical Django: Authentic Web Application Development with Python". It includes:
1. An overview of the book's structure with chapters covering topics like models, views, templates, forms, testing, authentication, and APIs.
2. Details on specific chapters, highlighting chapters 2 on models and queries, 6 on testing, and 7 on authentication as particularly important.
3. Advice for readers to focus on deepening their knowledge beyond specific frameworks by reading code and participating in open source projects.
DARTS: Differentiable Architecture Search at 社内論文読み会Masashi Shibata
This document summarizes the DARTS paper, which proposes differentiable architecture search (DARTS) to relax the discrete search space of neural architectures into a continuous space. DARTS uses continuous relaxation to replace the discrete choice of architectures with a softmax over all possibilities. It then performs bi-level optimization over the architecture hyperparameters and network weights to find optimal architectures. DARTS searches over architectures made up of repeating building blocks called cells, and achieves state-of-the-art results on CIFAR-10 using 8 normal cells and 8 reduction cells.
Goptuna Distributed Bayesian Optimization Framework at Go Conference 2019 AutumnMasashi Shibata
1. The document describes using Goptuna, an open source Bayesian optimization library for Python and Go, to optimize hyperparameters for an ISUCON competition application.
2. It shows how Goptuna can suggest values for various configuration parameters like MySQL, Nginx, and Go application settings to optimize the application performance.
3. Running the optimization with Goptuna over 100 trials was able to find parameter configurations that improved the ISUCON score from 9560 to over 10,000 points.
This document contains notes from a meeting on web application security. It discusses several common vulnerabilities like SQL injection, cross-site scripting (XSS), and clickjacking. It provides examples of how these vulnerabilities can occur and ways to prevent them, such as sanitizing user input, enabling CSRF protection middleware, and using the X-Frame-Options header. Keywords discussed include MySQL, Docker, Kubernetes, Ansible, and various attack vectors like CSRF, XSS, SQL injection, and clickjacking. The document aims to educate on security best practices for Python and Django web applications.
RTMPのはなし - RTMP1.0の仕様とコンセプト / Concepts and Specification of RTMPMasashi Shibata
The document discusses RTMP streaming and AbemaTV's use of RTMP. It provides information on RTMP protocol basics, AbemaTV's streaming infrastructure which uses RTMP, and code samples for parsing RTMP network packets. Key technologies mentioned include RTMP, MPEG-DASH, HLS, encoders, and media servers.
システムコールトレーサーの動作原理と実装 (Writing system call tracer for Linux/x86)Masashi Shibata
This document discusses AbemaTV and includes code snippets and documentation on Linux/x86 systems. It covers three main topics:
1. The Linux/x86 Application Binary Interface, system call numbers, and CPU registers.
2. The strace tool and examples of its output tracing system calls like execve, write, and exit_group.
3. The ptrace system call, how it is used for process tracing, and a link to a process tracing tool called systracer on GitHub.
The document discusses terminal input/output and window resizing in Go. It covers terminal modes like canonical, non-canonical, and raw modes. It describes the termios struct and how it is used to configure terminal settings. It also discusses VT100 escape sequences for color and formatting text. Finally, it mentions using ioctl with TIOCGWINSZ to get the window size and handling SIGWINCH signals to detect resizes.
How to develop a rich terminal UI applicationMasashi Shibata
This document discusses how to develop rich terminal user interfaces in Python. It covers two important aspects: receiving keyboard input and controlling terminal output. For keyboard input, it explains using the basic input() function but notes its limitations, and recommends using raw mode input to receive keystrokes without interpretation. For terminal output, it discusses VT100 escape sequences to control text attributes like color and formatting. The document provides examples of reading keyboard input in raw mode and using escape sequences to style output, with the goal of helping developers create high-quality terminal-based applications and user experiences.
This document introduces Feedy, an open source Python package for collecting data from RSS feeds. It describes how Feedy works by fetching the HTML content of each feed item using BeautifulSoup. It also demonstrates how to use Feedy to collect images from RSS feeds and add multiple RSS feeds. Plugins can be installed to add additional functionality, like getting social share counts. The document encourages users to contribute to Feedy on GitHub through pull requests and issue reporting.
The Golden Gate Bridge a structural marvel inspired by mother nature.pptxAkankshaRawat75
The Golden Gate Bridge is a 6 lane suspension bridge spans the Golden Gate Strait, connecting the city of San Francisco to Marin County, California.
It provides a vital transportation link between the Pacific Ocean and the San Francisco Bay.
Engineering at Lovely Professional University (LPU).pdfSona
LPU’s engineering programs provide students with the skills and knowledge to excel in the rapidly evolving tech industry, ensuring a bright and successful future. With world-class infrastructure, top-tier placements, and global exposure, LPU stands as a premier destination for aspiring engineers.
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...ASHISHDESAI85
Combining 3D printing with Internet of Things (IoT) enables the creation of smart, connected, and customizable objects that can monitor, control, and optimize their performance, potentially revolutionizing various industries. oT-enabled 3D printers can use sensors to monitor the quality of prints during the printing process. If any defects or deviations from the desired specifications are detected, the printer can adjust its parameters in real time to ensure that the final product meets the required standards.
Preface: The ReGenX Generator innovation operates with a US Patented Frequency Dependent Load
Current Delay which delays the creation and storage of created Electromagnetic Field Energy around
the exterior of the generator coil. The result is the created and Time Delayed Electromagnetic Field
Energy performs any magnitude of Positive Electro-Mechanical Work at infinite efficiency on the
generator's Rotating Magnetic Field, increasing its Kinetic Energy and increasing the Kinetic Energy of
an EV or ICE Vehicle to any magnitude without requiring any Externally Supplied Input Energy. In
Electricity Generation applications the ReGenX Generator innovation now allows all electricity to be
generated at infinite efficiency requiring zero Input Energy, zero Input Energy Cost, while producing
zero Greenhouse Gas Emissions, zero Air Pollution and zero Nuclear Waste during the Electricity
Generation Phase. In Electric Motor operation the ReGen-X Quantum Motor now allows any
magnitude of Work to be performed with zero Electric Input Energy.
Demonstration Protocol: The demonstration protocol involves three prototypes;
1. Protytpe #1, demonstrates the ReGenX Generator's Load Current Time Delay when compared
to the instantaneous Load Current Sine Wave for a Conventional Generator Coil.
2. In the Conventional Faraday Generator operation the created Electromagnetic Field Energy
performs Negative Work at infinite efficiency and it reduces the Kinetic Energy of the system.
3. The Magnitude of the Negative Work / System Kinetic Energy Reduction (in Joules) is equal to
the Magnitude of the created Electromagnetic Field Energy (also in Joules).
4. When the Conventional Faraday Generator is placed On-Load, Negative Work is performed and
the speed of the system decreases according to Lenz's Law of Induction.
5. In order to maintain the System Speed and the Electric Power magnitude to the Loads,
additional Input Power must be supplied to the Prime Mover and additional Mechanical Input
Power must be supplied to the Generator's Drive Shaft.
6. For example, if 100 Watts of Electric Power is delivered to the Load by the Faraday Generator,
an additional >100 Watts of Mechanical Input Power must be supplied to the Generator's Drive
Shaft by the Prime Mover.
7. If 1 MW of Electric Power is delivered to the Load by the Faraday Generator, an additional >1
MW Watts of Mechanical Input Power must be supplied to the Generator's Drive Shaft by the
Prime Mover.
8. Generally speaking the ratio is 2 Watts of Mechanical Input Power to every 1 Watt of Electric
Output Power generated.
9. The increase in Drive Shaft Mechanical Input Power is provided by the Prime Mover and the
Input Energy Source which powers the Prime Mover.
10. In the Heins ReGenX Generator operation the created and Time Delayed Electromagnetic Field
Energy performs Positive Work at infinite efficiency and it increases the Kinetic Energy of the
system.
27. id id id id id id id id id id id id id id id id
28. id id id id id id id id id id id id id id id id
29. id id id id id id id id id id id id id id id id
30. id id id id id id id id id id id id id id id id
31.
34. =
SELECT id FROM snippets
WHERE is_public = 1
AND created_at > '2018-09-15 08:28:53.312612’
ORDER BY created_at ASC LIMIT 101;
ALTER TABLE snippets
ADD INDEX ix_created_public(created_at, is_public);
SQL
Index
35. INDEX
D, J, Z
INDEX
A, B, D
+
A 1
INDEX
F, H, J B 8
INDEX
L, P, Z D 20
INDEX
20, 60, 80
INDEX
1, 8, 20
+
1 c-bata 24
INDEX
21, 50, 60
+
8 denari 23
INDEX
65, 76, 80
+
20 cstoku 25
(InnoDB)
36. INDEX
D, J, Z
INDEX
A, B, D
+
A 1
INDEX
F, H, J B 8
INDEX
L, P, Z D 20
INDEX
20, 60, 80
INDEX
1, 8, 20
+
1 c-bata 24
INDEX
21, 50, 60
+
8 denari 23
INDEX
65, 76, 80
+
20 cstoku 25
(InnoDB)
37. INDEX
D, J, Z
INDEX
A, B, D
+
A 1
INDEX
F, H, J B 8
INDEX
L, P, Z D 20
INDEX
20, 60, 80
INDEX
1, 8, 20
+
1 c-bata 24
INDEX
21, 50, 60
+
8 denari 23
INDEX
65, 76, 80
+
20 cstoku 25
(InnoDB)
INDEX
38. INDEX
D, J, Z
INDEX
A, B, D
+
A 1
INDEX
F, H, J B 8
INDEX
L, P, Z D 20
INDEX
20, 60, 80
INDEX
1, 8, 20
+
1 c-bata 24
INDEX
21, 50, 60
+
8 denari 23
INDEX
65, 76, 80
+
20 cstoku 25
(InnoDB)
39. INDEX
D, J, Z
INDEX
A, B, D
+
A 1
INDEX
F, H, J B 8
INDEX
L, P, Z D 20
INDEX
20, 60, 80
INDEX
1, 8, 20
+
1 c-bata 24
INDEX
21, 50, 60
+
8 denari 23
INDEX
65, 76, 80
+
20 cstoku 25
(InnoDB)
OFFSET
40. INDEX
D, J, Z
INDEX
A, B, D
+
A 1
INDEX
F, H, J B 8
INDEX
L, P, Z D 20
INDEX
20, 60, 80
INDEX
1, 8, 20
+
1 c-bata 24
INDEX
21, 50, 60
+
8 denari 23
INDEX
65, 76, 80
+
20 cstoku 25
(InnoDB)
41. SELECT id FROM snippets
WHERE is_public = 1
AND created_at > '2018-09-15 08:28:53.312612’
ORDER BY created_at ASC LIMIT 101;
ALTER TABLE snippets
ADD INDEX ix_created_public(created_at, is_public);
SQL
Index
42. SELECT id FROM snippets
WHERE is_public = 1
AND created_at > '2018-09-15 08:28:53.312612’
ORDER BY created_at ASC LIMIT 101;
ALTER TABLE snippets
ADD INDEX ix_created_public(created_at, is_public);
SQL
Index
id, is_public, created_at
43. SELECT id FROM snippets
WHERE is_public = 1
AND created_at > '2018-09-15 08:28:53.312612’
ORDER BY created_at ASC LIMIT 101;
ALTER TABLE snippets
ADD INDEX ix_created_public(created_at, is_public);
SQL
Index
id, is_public, created_at
44. SELECT id FROM snippets
WHERE is_public = 1
AND created_at > '2018-09-15 08:28:53.312612’
ORDER BY created_at ASC LIMIT 101;
ALTER TABLE snippets
ADD INDEX ix_created_public(created_at, is_public);
SQL
Index
id, is_public, created_at
created_at is_public
75. • HATEOAS (Hypertext As The Engine Of Application State)
•
•
•
API
Django REST Framework
76. HATEOAS
Hypertext As The Engine Of Application State
URI
API DefaultRouter
HyperLinkedModelSerializer
$ curl http://localhost:8000/api/ | jq .
{
"snippets": "http://localhost:8000/api/snippets/"
"users": “http://localhost:8000/api/users/“
}