PHP Conference Japan 2019 Track6-5 Aurimas Niekis - How to Supercharge your PHP Web API
https://phpcon.php.gr.jp/2019/
https://www.youtube.com/watch?v=ZtTvUQCDDTM
This document summarizes one company's experience migrating their PHP e-commerce site to the Go programming language. It discusses how they initially rewrote their catalog page in AngularJS and Go, but ran into issues with Facebook OpenGraph integration. For their second release, they decided on a hybrid PHP and Go approach, with Go used to power specific backend modules like caching and shopping cart functionality. The author reflects on lessons learned around thoroughly evaluating new technologies before deploying them and making sure any changes have team consensus.
Tommi Reiman discusses optimizing Clojure performance and abstractions. He shares lessons learned from optimizing middleware performance and JSON serialization. Data-driven approaches can enable high performance while maintaining abstraction. Reitit is a new routing library that aims to have the fastest performance through techniques like compiled routing data. Middleware can also benefit from data-driven approaches without runtime penalties. Overall performance should be considered but not obsessively, as many apps do not require extreme optimization.
The author explains why they switched from primarily using Python to primarily using Go for serious projects. Some key reasons include that Go has better performance, code quality, testing, and concurrency features compared to Python. While Python is still good for hobby projects, Go enforces error handling, has built-in profiling tools, and makes deployment easier due to compiling to a single binary.
This document discusses the suitability of Go for web development. It notes that while Go's built-in HTML template engine is basic, the Gorazor template engine provides a more powerful way to mix Go code into HTML templates. Code generation approaches also allow Go to behave more dynamically at runtime. Go's fast compilation and use of interfaces make it well-suited for dynamic web applications and large websites. The document concludes that while other languages may be more mature, Go is suitable for developing large, stable, scalable websites that need to be maintained over time.
This document provides an overview of using the Go programming language for fast web applications. It begins with introductions to Go and its suitability for web development. Code samples are provided to demonstrate building a basic web application with Go that handles form submission and displays responses. The presentation concludes with questions from the audience.
PHP Conference Japan 2019 Track6-5 Aurimas Niekis - How to Supercharge your PHP Web API
https://phpcon.php.gr.jp/2019/
https://www.youtube.com/watch?v=ZtTvUQCDDTM
This document summarizes one company's experience migrating their PHP e-commerce site to the Go programming language. It discusses how they initially rewrote their catalog page in AngularJS and Go, but ran into issues with Facebook OpenGraph integration. For their second release, they decided on a hybrid PHP and Go approach, with Go used to power specific backend modules like caching and shopping cart functionality. The author reflects on lessons learned around thoroughly evaluating new technologies before deploying them and making sure any changes have team consensus.
Tommi Reiman discusses optimizing Clojure performance and abstractions. He shares lessons learned from optimizing middleware performance and JSON serialization. Data-driven approaches can enable high performance while maintaining abstraction. Reitit is a new routing library that aims to have the fastest performance through techniques like compiled routing data. Middleware can also benefit from data-driven approaches without runtime penalties. Overall performance should be considered but not obsessively, as many apps do not require extreme optimization.
The author explains why they switched from primarily using Python to primarily using Go for serious projects. Some key reasons include that Go has better performance, code quality, testing, and concurrency features compared to Python. While Python is still good for hobby projects, Go enforces error handling, has built-in profiling tools, and makes deployment easier due to compiling to a single binary.
This document discusses the suitability of Go for web development. It notes that while Go's built-in HTML template engine is basic, the Gorazor template engine provides a more powerful way to mix Go code into HTML templates. Code generation approaches also allow Go to behave more dynamically at runtime. Go's fast compilation and use of interfaces make it well-suited for dynamic web applications and large websites. The document concludes that while other languages may be more mature, Go is suitable for developing large, stable, scalable websites that need to be maintained over time.
This document provides an overview of using the Go programming language for fast web applications. It begins with introductions to Go and its suitability for web development. Code samples are provided to demonstrate building a basic web application with Go that handles form submission and displays responses. The presentation concludes with questions from the audience.
The document discusses building rich internet applications (RIAs) using Adobe Flex and AIR with a PHP/Zend Framework backend. It describes a project to modernize a legacy DOS-based dealer management system (DMS) by creating an internet-based version that provides data sharing and analytics capabilities. Flex and AIR were chosen for the user interface to provide a desktop-like experience, while PHP/Zend Framework handles the backend functionality. Challenges included a lack of server push capabilities and no hardware support in AIR. These issues were addressed through custom data transfer code and a Java server (Merapi) that could communicate with hardware devices.
Proxying DBI with DBD::Gofer and App::Staticperlnohuhu
This document summarizes using DBD::Gofer and App::Staticperl to connect to remote Informix databases behind firewalls. DBD::Gofer acts as a stateless DBI proxy, allowing connections via SSH. App::Staticperl builds a standalone Perl executable containing all necessary modules, avoiding configuration changes. The document outlines the process of building App::Staticperl, installing necessary modules like DBI and DBD::Informix, customizing for the Informix environment, and creating a static Perl executable that can connect to remote Informix databases behind firewalls in a minimal and maintainable way.
Automating JavaScript testing with Jasmine and Perlnohuhu
This document discusses automating JavaScript testing using Jasmine and Perl. It introduces Test::WWW::Jasmine, a module that takes Jasmine test specs, runs them in a Selenium-controlled browser, and outputs the results in TAP format. This allows running JavaScript tests from Perl similar to unit tests. Examples of Jasmine test specs and TAP output are shown. The document also discusses running the same Jasmine specs locally for development. It acknowledges some limitations but seeks feedback on the new module.
Developing Rich Internet Applications with Perl and JavaScriptnohuhu
This document discusses developing Rich Internet Applications (RIAs) using the Ext JS JavaScript framework and the Perl RPC::ExtDirect module. It describes how RIAs work by handling all client interaction in JavaScript, communicating with the server asynchronously via AJAX calls. The Ext JS framework provides cross-browser compatibility, clean MVC architecture and low server overhead. RPC::ExtDirect allows Perl to serve as the backend, implementing the Ext.Direct protocol to integrate existing Perl code and work on any platform. Examples are given of using RPC::ExtDirect in a CGI application to publish APIs and route requests.
This document provides an overview of building REST APIs for distributed systems. It discusses motivation for APIs and the importance of an API contract. The document then covers tools for defining the API contract like RAML and code generation. It presents microservices architecture and implementation options using Spring Boot, Spring Cloud, and Netflix OSS frameworks. The talk concludes with a demo of a microservices application deployed with Docker.
Posterous recently deployed Riak to serve as their content cache. In this talk, Julio Capote will cover why the engineering team chose Riak for the use case. He'll also share some details on the old post cache and its problems, what solutions they evaluated, and how they settled on Riak.
Sylius ecommerce solution for Symfony2 (WebCamp Ljubljana)Antonio Peric-Mazar
Sylius is modern eCommerce solution build on Symfony2 framework. With simple and decoupled architecture it is great for building custom large and small eCommerce solutions. It is build on shoulder of BDD and TDD methodologies.
This document discusses how to build command line interface (CLI) applications in Ruby. It introduces the Thor gem for building CLI apps with single commands and then discusses building interactive shell apps using a read-eval-print loop (REPL) and the GNU Readline library. The document provides examples of CLI apps, why they are useful, and tips for making better CLI apps, and concludes by showcasing a Facebook command line application built with these techniques.
RubyConf Taiwan 2016 - Large scale Rails applicationsFlorian Dutey
This document discusses strategies for scaling large Rails applications. It advocates separating applications into thin controllers, fat models, and following principles like single responsibility and stateless objects. The document also recommends separating applications into layers like services, forms, policies, queries, adapters, and models. Services describe processes, forms convert inputs, policies describe permissions, queries access data, adapters translate between languages, and models manage data. It argues this architecture makes applications more flexible, testable, and debuggable while allowing for easier migration between providers.
This document introduces Django, an open-source Python web framework. It discusses what Django is, why one should learn it, popular sites built with it, its main features like the ORM and template system, and provides a demo. It then outlines the steps to create a first Django project, including installing Django and creating a project, views, apps, and models. The document concludes with references for further learning about Django.
Stackato is a PaaS cloud platform from ActiveState that allows developers to easily deploy applications to the cloud. It supports multiple languages including Perl, Ruby, and JavaScript. The presentation demonstrated deploying simple Perl apps to Stackato using the Mojolicious framework. Key benefits of Stackato include minimal differences between development and production environments, one-click deployments, and allowing developers to manage infrastructure. ActiveState is very open and provides documentation, examples, and a community forum to support Stackato users.
This document provides an overview of APIs, including what they are, why they are useful, common data formats like JSON and XML, RESTful API design principles, and how to consume and create APIs. It discusses API concepts like resources, HTTP verbs, caching, authentication, and error handling. It also provides examples of consuming APIs with tools like Postman and creating a simple API in Node.js.
You can write the best, most structured documentation in the world - and your users will still arrive by some other route. This session focuses on the GitHub repos that your documentation references, and how to prepare for these to be the entry point for someone.
「PlayFramework関西ビギナーズ in OsakanSpace 第1回」
http://atnd.org/events/33666
Play frameworkの概要と今後についてゆるく説明して、
Playとそのコミュニティを雰囲気を知っていただこうという趣旨で発表しました。
参加された方の半数がPHPユーザだったので、冒頭でPHPユーザの方向けの説明を特別に入れたりして工夫しています。
Automating everything with Microsoft FlowJaap Brasser
Microsoft Flow can be used to automate workflows using connectors to gather and transfer data between various applications and services. Flow templates provide starting points for common workflows, while connectors allow accessing data from hundreds of supported services. Demonstrations showed creating a Flow to gather PowerShell tweets, using Microsoft Forms integrated with Flow to write responses to Excel and send emails, and triggering a local PowerShell script through a Flow button.
Introduction to Functional ProgrammingDave Fancher
Functional programming is a programming paradigm that emphasizes functions and immutable data. The key principles of functional programming include:
1) Functional purity by avoiding side effects and making functions dependent only on their inputs.
2) Favoring expressions over statements by writing small, pure functions that take inputs and return outputs.
3) Treating functions as first-class objects that can be passed into other functions as arguments and returned from functions.
Object-oriented programming (OOP) was developed to address issues with procedural programming languages. OOP uses classes and objects to organize code and data. A class defines common attributes and behaviors of objects, while an object is an instance of a class with unique attribute values. This allows for code and data encapsulation, reuse, and easier maintenance. The next chapters will cover specific OOP concepts and how to implement them to realize the benefits of OOP like simplified design, reusability, and maintainability.
The document provides an overview of object-oriented programming (OOP) concepts and common OOP interview questions. It begins with basic questions about OOP terms and features. It then covers more advanced topics like classes, objects, encapsulation, polymorphism, inheritance, and abstraction. The document lists over 40 questions on OOP concepts and includes coding problems. It is intended to help prepare for OOP interviews.
This document contains an overview of object-oriented programming (OOP) concepts and common OOP interview questions. It begins with basic questions about OOP terms and features like classes, objects, encapsulation, inheritance and polymorphism. It then covers more advanced topics such as the differences between compile-time and runtime polymorphism, abstract classes, interfaces and access specifiers. The document provides examples in C++ and Java to illustrate various OOP concepts.
The document provides an overview of PHP and frameworks. It discusses open source software, widely used open source products like Linux, Apache, MySQL, and PHP. It covers the difference between open source and closed source software, pros and cons of open source, and background information on PHP including its history, variables, data types, conditional and looping statements, functions, arrays, and more. The document also discusses PHP frameworks, popular frameworks like WordPress, Magento and Opencart, and includes an index of topics covered.
The document discusses building rich internet applications (RIAs) using Adobe Flex and AIR with a PHP/Zend Framework backend. It describes a project to modernize a legacy DOS-based dealer management system (DMS) by creating an internet-based version that provides data sharing and analytics capabilities. Flex and AIR were chosen for the user interface to provide a desktop-like experience, while PHP/Zend Framework handles the backend functionality. Challenges included a lack of server push capabilities and no hardware support in AIR. These issues were addressed through custom data transfer code and a Java server (Merapi) that could communicate with hardware devices.
Proxying DBI with DBD::Gofer and App::Staticperlnohuhu
This document summarizes using DBD::Gofer and App::Staticperl to connect to remote Informix databases behind firewalls. DBD::Gofer acts as a stateless DBI proxy, allowing connections via SSH. App::Staticperl builds a standalone Perl executable containing all necessary modules, avoiding configuration changes. The document outlines the process of building App::Staticperl, installing necessary modules like DBI and DBD::Informix, customizing for the Informix environment, and creating a static Perl executable that can connect to remote Informix databases behind firewalls in a minimal and maintainable way.
Automating JavaScript testing with Jasmine and Perlnohuhu
This document discusses automating JavaScript testing using Jasmine and Perl. It introduces Test::WWW::Jasmine, a module that takes Jasmine test specs, runs them in a Selenium-controlled browser, and outputs the results in TAP format. This allows running JavaScript tests from Perl similar to unit tests. Examples of Jasmine test specs and TAP output are shown. The document also discusses running the same Jasmine specs locally for development. It acknowledges some limitations but seeks feedback on the new module.
Developing Rich Internet Applications with Perl and JavaScriptnohuhu
This document discusses developing Rich Internet Applications (RIAs) using the Ext JS JavaScript framework and the Perl RPC::ExtDirect module. It describes how RIAs work by handling all client interaction in JavaScript, communicating with the server asynchronously via AJAX calls. The Ext JS framework provides cross-browser compatibility, clean MVC architecture and low server overhead. RPC::ExtDirect allows Perl to serve as the backend, implementing the Ext.Direct protocol to integrate existing Perl code and work on any platform. Examples are given of using RPC::ExtDirect in a CGI application to publish APIs and route requests.
This document provides an overview of building REST APIs for distributed systems. It discusses motivation for APIs and the importance of an API contract. The document then covers tools for defining the API contract like RAML and code generation. It presents microservices architecture and implementation options using Spring Boot, Spring Cloud, and Netflix OSS frameworks. The talk concludes with a demo of a microservices application deployed with Docker.
Posterous recently deployed Riak to serve as their content cache. In this talk, Julio Capote will cover why the engineering team chose Riak for the use case. He'll also share some details on the old post cache and its problems, what solutions they evaluated, and how they settled on Riak.
Sylius ecommerce solution for Symfony2 (WebCamp Ljubljana)Antonio Peric-Mazar
Sylius is modern eCommerce solution build on Symfony2 framework. With simple and decoupled architecture it is great for building custom large and small eCommerce solutions. It is build on shoulder of BDD and TDD methodologies.
This document discusses how to build command line interface (CLI) applications in Ruby. It introduces the Thor gem for building CLI apps with single commands and then discusses building interactive shell apps using a read-eval-print loop (REPL) and the GNU Readline library. The document provides examples of CLI apps, why they are useful, and tips for making better CLI apps, and concludes by showcasing a Facebook command line application built with these techniques.
RubyConf Taiwan 2016 - Large scale Rails applicationsFlorian Dutey
This document discusses strategies for scaling large Rails applications. It advocates separating applications into thin controllers, fat models, and following principles like single responsibility and stateless objects. The document also recommends separating applications into layers like services, forms, policies, queries, adapters, and models. Services describe processes, forms convert inputs, policies describe permissions, queries access data, adapters translate between languages, and models manage data. It argues this architecture makes applications more flexible, testable, and debuggable while allowing for easier migration between providers.
This document introduces Django, an open-source Python web framework. It discusses what Django is, why one should learn it, popular sites built with it, its main features like the ORM and template system, and provides a demo. It then outlines the steps to create a first Django project, including installing Django and creating a project, views, apps, and models. The document concludes with references for further learning about Django.
Stackato is a PaaS cloud platform from ActiveState that allows developers to easily deploy applications to the cloud. It supports multiple languages including Perl, Ruby, and JavaScript. The presentation demonstrated deploying simple Perl apps to Stackato using the Mojolicious framework. Key benefits of Stackato include minimal differences between development and production environments, one-click deployments, and allowing developers to manage infrastructure. ActiveState is very open and provides documentation, examples, and a community forum to support Stackato users.
This document provides an overview of APIs, including what they are, why they are useful, common data formats like JSON and XML, RESTful API design principles, and how to consume and create APIs. It discusses API concepts like resources, HTTP verbs, caching, authentication, and error handling. It also provides examples of consuming APIs with tools like Postman and creating a simple API in Node.js.
You can write the best, most structured documentation in the world - and your users will still arrive by some other route. This session focuses on the GitHub repos that your documentation references, and how to prepare for these to be the entry point for someone.
「PlayFramework関西ビギナーズ in OsakanSpace 第1回」
http://atnd.org/events/33666
Play frameworkの概要と今後についてゆるく説明して、
Playとそのコミュニティを雰囲気を知っていただこうという趣旨で発表しました。
参加された方の半数がPHPユーザだったので、冒頭でPHPユーザの方向けの説明を特別に入れたりして工夫しています。
Automating everything with Microsoft FlowJaap Brasser
Microsoft Flow can be used to automate workflows using connectors to gather and transfer data between various applications and services. Flow templates provide starting points for common workflows, while connectors allow accessing data from hundreds of supported services. Demonstrations showed creating a Flow to gather PowerShell tweets, using Microsoft Forms integrated with Flow to write responses to Excel and send emails, and triggering a local PowerShell script through a Flow button.
Introduction to Functional ProgrammingDave Fancher
Functional programming is a programming paradigm that emphasizes functions and immutable data. The key principles of functional programming include:
1) Functional purity by avoiding side effects and making functions dependent only on their inputs.
2) Favoring expressions over statements by writing small, pure functions that take inputs and return outputs.
3) Treating functions as first-class objects that can be passed into other functions as arguments and returned from functions.
Object-oriented programming (OOP) was developed to address issues with procedural programming languages. OOP uses classes and objects to organize code and data. A class defines common attributes and behaviors of objects, while an object is an instance of a class with unique attribute values. This allows for code and data encapsulation, reuse, and easier maintenance. The next chapters will cover specific OOP concepts and how to implement them to realize the benefits of OOP like simplified design, reusability, and maintainability.
The document provides an overview of object-oriented programming (OOP) concepts and common OOP interview questions. It begins with basic questions about OOP terms and features. It then covers more advanced topics like classes, objects, encapsulation, polymorphism, inheritance, and abstraction. The document lists over 40 questions on OOP concepts and includes coding problems. It is intended to help prepare for OOP interviews.
This document contains an overview of object-oriented programming (OOP) concepts and common OOP interview questions. It begins with basic questions about OOP terms and features like classes, objects, encapsulation, inheritance and polymorphism. It then covers more advanced topics such as the differences between compile-time and runtime polymorphism, abstract classes, interfaces and access specifiers. The document provides examples in C++ and Java to illustrate various OOP concepts.
The document provides an overview of PHP and frameworks. It discusses open source software, widely used open source products like Linux, Apache, MySQL, and PHP. It covers the difference between open source and closed source software, pros and cons of open source, and background information on PHP including its history, variables, data types, conditional and looping statements, functions, arrays, and more. The document also discusses PHP frameworks, popular frameworks like WordPress, Magento and Opencart, and includes an index of topics covered.
The document discusses the key concepts of functional programming including:
- Functional programming uses functions as building blocks and avoids mutable state and side effects.
- Pure functions, immutability, recursion, and function composition are important characteristics.
- Functional programming is well-suited for concurrency since immutable data prevents data races.
- Some benefits of functional programming include simpler code for complex problems, increased correctness from avoiding side effects, and ease of parallelization for concurrency.
This document provides an introduction to object-oriented programming concepts including classes, objects, encapsulation, inheritance, and polymorphism. It defines a class as a blueprint for creating objects with data fields and methods. An object is an instance of a class that stores its own set of data and behaviors. Encapsulation, inheritance, and polymorphism are described as key principles of OOP. Common programming paradigms like procedural, object-oriented, functional, and declarative are also overviewed.
PHP (Hypertext Preprocessor) is a scripting language that is frequently used in open-source applications and is especially ideal for web development. It includes a slew of built-in functionalities that make it easy for developers to do a variety of jobs. In this guide, we'll look at some of PHP's essential capabilities and highlight key built-in functions that novices should be aware of. PHP, like all programming languages, relies on functions. You will learn how to create and use pre-existing and customised PHP functions.
PHP is an interpreted scripting language commonly used for web development. It allows embedding scripts in HTML pages using escapes and can also be used for command line and GUI applications. PHP has a large number of built-in functions that make it easy to work with forms, files, databases, protocols, and more. While easy to get started with, PHP may not be the best choice for large, complex projects due to lack of type safety and its treatment of objects and classes.
PHP is an interpreted scripting language commonly used for web development. It allows embedding scripts in HTML pages using escapes and can also be used for command line and GUI applications. PHP has a large number of built-in features and functions contributed by volunteers to perform tasks like form processing, session handling, database interaction and more. While easy to get started with, PHP may not be the best choice for large, complex projects due to lack of type safety and its treatment of objects and classes.
PHP is an interpreted scripting language commonly used for web development. It allows embedding scripts in HTML pages using escapes and can also be used for command line and GUI applications. PHP has a large number of built-in functions that make it easy to work with forms, files, databases, protocols, and more. While easy to get started with, PHP may not be the best choice for large, complex projects due to lack of type safety and its treatment of objects and classes.
In this session you will learn about
- Introduction of Languages
- Difference between POP and OOP
- What is OOP?
- Object-Oriented Programming
- Advantages of OOP
- Object-Oriented Programming Paradigm
- Features of OOP
- Applications of Object Oriented Programming
- Benefits of Object Oriented Programming
The document provides answers to 40 questions about PHP. It discusses topics like what PHP is, sessions, PEAR, cookies, error handling, object-oriented programming concepts in PHP, and how to interact with databases and send/receive data through GET and POST requests. Each question is followed by a short 1-3 sentence answer providing the key information about the topic. The document serves as a reference for common PHP questions and their essential answers.
This document discusses object-oriented programming (OOP) concepts in PHP. It covers the history of OOP and procedural programming, the benefits of OOP like reusability and security, OOP terminology like classes and objects, and differences between OOP implementations in PHP4 and PHP5 like access modifiers. Advantages of OOP include reusable and maintainable code, while disadvantages include more code required and a learning curve for procedural programmers.
PHP is a server-side scripting language commonly used for web development. It allows developers to add dynamic and interactive elements to websites. The document outlines what PHP is, how to install it, basic syntax rules, and common operations like variables, data types, functions for manipulating strings, and different types of operators.
This document summarizes key concepts in PHP internals including:
1. Zvals are the data structures that hold PHP variable data and references.
2. PHP execution involves lexical analysis, syntax analysis, and opcode compilation. Lexical analysis converts scripts to tokens and syntax analysis introduces the AST parse tree in PHP 7.
3. Opcode is generated from the AST and extensions can be built by interfacing with PHP at the C level. Understanding internals helps with memory, speed, and native implementations.
This document provides an overview of the PHP programming language. It discusses why PHP is a good choice for web programming due to its advantages over other languages like ASP, Java, and Perl. It also covers PHP coding, limitations, language constructs, object oriented aspects, arguments for and fears of PHP's OO approach, and emphasizes keeping things simple.
The PHP Hypertext Preprocessor (PHP) is a programming language that allows web developers to create dynamic content that interacts with databases. PHP is a server-side scripting language, like ASP .PHP scripts are executed on the server.PHP supports many databases (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.) .
From Natural Language to Structured Solr Queries using LLMsSease
This talk draws on experimentation to enable AI applications with Solr. One important use case is to use AI for better accessibility and discoverability of the data: while User eXperience techniques, lexical search improvements, and data harmonization can take organizations to a good level of accessibility, a structural (or “cognitive” gap) remains between the data user needs and the data producer constraints.
That is where AI – and most importantly, Natural Language Processing and Large Language Model techniques – could make a difference. This natural language, conversational engine could facilitate access and usage of the data leveraging the semantics of any data source.
The objective of the presentation is to propose a technical approach and a way forward to achieve this goal.
The key concept is to enable users to express their search queries in natural language, which the LLM then enriches, interprets, and translates into structured queries based on the Solr index’s metadata.
This approach leverages the LLM’s ability to understand the nuances of natural language and the structure of documents within Apache Solr.
The LLM acts as an intermediary agent, offering a transparent experience to users automatically and potentially uncovering relevant documents that conventional search methods might overlook. The presentation will include the results of this experimental work, lessons learned, best practices, and the scope of future work that should improve the approach and make it production-ready.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
QA or the Highway - Component Testing: Bridging the gap between frontend appl...zjhamm304
These are the slides for the presentation, "Component Testing: Bridging the gap between frontend applications" that was presented at QA or the Highway 2024 in Columbus, OH by Zachary Hamm.
The Department of Veteran Affairs (VA) invited Taylor Paschal, Knowledge & Information Management Consultant at Enterprise Knowledge, to speak at a Knowledge Management Lunch and Learn hosted on June 12, 2024. All Office of Administration staff were invited to attend and received professional development credit for participating in the voluntary event.
The objectives of the Lunch and Learn presentation were to:
- Review what KM ‘is’ and ‘isn’t’
- Understand the value of KM and the benefits of engaging
- Define and reflect on your “what’s in it for me?”
- Share actionable ways you can participate in Knowledge - - Capture & Transfer
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
In our second session, we shall learn all about the main features and fundamentals of UiPath Studio that enable us to use the building blocks for any automation project.
📕 Detailed agenda:
Variables and Datatypes
Workflow Layouts
Arguments
Control Flows and Loops
Conditional Statements
💻 Extra training through UiPath Academy:
Variables, Constants, and Arguments in Studio
Control Flow in Studio
8. Does this look familiar?
This is called functional programming
9. Functional Programming in PHP
• PHP supports first-class functions
• Both user-defined and built-in functions can be referenced by a variable and invoked
dynamically
• Functions can be passed as arguments to other functions and a function can return other
functions (a feature called higher-order functions)
• Recursion, a feature that allows a function to call itself, is supported by the language, but most
of the PHP code focus is on iteration.
• Anonymous functions (with support for closures) have been present since PHP 5.3 (2009).
• PHP 5.4 added the ability to bind closures to an object’s scope and also improved support for
callables such that they can be used interchangeably with anonymous functions in almost all
cases
10. Functional Programming in PHP
• The most common usage of higher-order functions is when
implementing a strategy pattern. The built-in array_filter() function
asks both for the input array (data) and a function (a strategy or a
callback) used as a filter function on each array item.
• AND... That's pretty much all uses cases in standard development
• But wait!!! It should be more use cases?!
11. How many times did you find yourself writing the
same generic code over and over?
13. How does it look?
• More simpler?
• More understandable?
• More foolproof?
• Less complex?
• jQuery/Underscore.js for PHP?
14. When I have some questions
• Why we are using principles like DRY, KISS but don't apply them?
• Why we constantly write test to cover the same generic code?
• Why we write complex code over and over?