Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Hafiz Ismail
Talk for FOSSASIA 2016 (http://2016.fossasia.org)
----
This talk will give a brief and enlightening look into how GraphQL can help you address common weaknesses that you, as a web / mobile developer, would normally face with using / building typical REST API systems.
Let's stop fighting about whether we should implement the strictest interpretation of REST or how pragmatic REST-ful design is the only way to go, or debate about what REST is or what it should be.
A couple of demos (In Golang! Yay!) will be shown that are guaranteed to open up your eyes and see that the dawn of liberation for product developers is finally here.
Background: GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
Hafiz Ismail (@sogko) is a contributor to Go / Golang implementation of GraphQL server library (https://github.com/graphql-go/graphql) and is looking to encourage fellow developers to join in the collaborative effort.
Slides from our talk “REST in Peace” for DrupalCamp Baltics 2015: http://drupalcampbaltics.com/event/rest-peace
Speakers:
- Kate Marshalkina
- Konstantin Komelin
Speech transcript is available here: http://komelin.com/en/articles/rest-peace-api-development-drupal
Les Hazlewood, Stormpath co-founder and CTO and the Apache Shiro PMC Chair demonstrates how to design a beautiful REST + JSON API. Includes the principles of RESTful design, how REST differs from XML, tips for increasing adoption of your API, and security concerns.
Presentation video: https://www.youtube.com/watch?v=5WXYw4J4QOU
More info: http://www.stormpath.com/blog/designing-rest-json-apis
Further reading: http://www.stormpath.com/blog
Sign up for Stormpath: https://api.stormpath.com/register
Stormpath is a user management and authentication service for developers. By offloading user management and authentication to Stormpath, developers can bring applications to market faster, reduce development costs, and protect their users. Easy and secure, the flexible cloud service can manage millions of users with a scalable pricing model.
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Hafiz Ismail
Talk for FOSSASIA 2016 (http://2016.fossasia.org)
----
This talk will give a brief and enlightening look into how GraphQL can help you address common weaknesses that you, as a web / mobile developer, would normally face with using / building typical REST API systems.
Let's stop fighting about whether we should implement the strictest interpretation of REST or how pragmatic REST-ful design is the only way to go, or debate about what REST is or what it should be.
A couple of demos (In Golang! Yay!) will be shown that are guaranteed to open up your eyes and see that the dawn of liberation for product developers is finally here.
Background: GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
Hafiz Ismail (@sogko) is a contributor to Go / Golang implementation of GraphQL server library (https://github.com/graphql-go/graphql) and is looking to encourage fellow developers to join in the collaborative effort.
Slides from our talk “REST in Peace” for DrupalCamp Baltics 2015: http://drupalcampbaltics.com/event/rest-peace
Speakers:
- Kate Marshalkina
- Konstantin Komelin
Speech transcript is available here: http://komelin.com/en/articles/rest-peace-api-development-drupal
Les Hazlewood, Stormpath co-founder and CTO and the Apache Shiro PMC Chair demonstrates how to design a beautiful REST + JSON API. Includes the principles of RESTful design, how REST differs from XML, tips for increasing adoption of your API, and security concerns.
Presentation video: https://www.youtube.com/watch?v=5WXYw4J4QOU
More info: http://www.stormpath.com/blog/designing-rest-json-apis
Further reading: http://www.stormpath.com/blog
Sign up for Stormpath: https://api.stormpath.com/register
Stormpath is a user management and authentication service for developers. By offloading user management and authentication to Stormpath, developers can bring applications to market faster, reduce development costs, and protect their users. Easy and secure, the flexible cloud service can manage millions of users with a scalable pricing model.
Discussed the general OAuth2 features. Reviewer OAuth2 Roles and Grand Flows
Authorization code grant flow
Implicit grant flow
Resource owner password credentials grant flow
Client credentials grant flow
Reviewed access resource flow and token refresh.
see video: https://www.youtube.com/watch?v=UPsVD-A7gP0
Structured concurrency with Kotlin Coroutines
1. Theory
- Coroutines
- Suspending functions
- Asynchronous Flows
- Channels
2. Practice
- Business lookup feature implementation in TransferWise app for Android
한빛데브그라운드에서 발표했던 내용입니다.
발표 영상 : https://youtu.be/ohpfSLf0V3Y
--
스타트업 비즈니스에서 데이터를 활용한 전략 수립과 의사결정은 필수적인 요소입니다. 서비스 운영 데이터에서부터 다양한 고객의 행동 로그, 소셜 미디어 데이터까지 다양한 데이터를 모두 모아 분석 환경을 구축하기 위해서는 많은 준비와 고민이 필요합니다. 스타트업에서 빠른 속도와 최소한의 비용, 다양한 분석 Tool들과 연동되는 Data Pipeline, Data Lake, Data Warehouse 구축 경험기를 공유하고자 합니다. 이 과정을 통해 애널리틱스 파이프라인을 구축 과정과 S3, Glue, Athena,EMR, Quicksight와 같은 서버리스 애널리틱스 서비스에 대한 구축 사례를 확인하실 수 있습니다.
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
황민호(robin.hwang) / kakao corp. DSP개발파트
---
최근 Spring Cloud와 Netflix OSS로 MSA를 구성하는 시스템 기반의 서비스들이 많아지는 추세입니다.
카카오에서도 작년에 오픈한 광고 플랫폼 모먼트에 Spring Cloud 기반의 MSA환경을 구성하여, API Gateway도 적용하였는데 1년 반 정도 운영한 경험을 공유할 예정입니다. 더불어 MSA 환경에서는 API Gateway를 통해 인증을 어떻게 처리하는지 알아보고 OAuth2 기반의 JWT Token을 이용한 인증에 대한 이야기도 함께 나눌 예정입니다.
GraphQL is a query language for APIs and a runtime for fulfilling those queries. It gives clients the power to ask for exactly what they need, which makes it a great fit for modern web and mobile apps. In this talk, we explain why GraphQL was created, introduce you to the syntax and behavior, and then show how to use it to build powerful APIs for your data. We will also introduce you to AWS AppSync, a GraphQL-powered serverless backend for apps, which you can use to host GraphQL APIs and also add real-time and offline capabilities to your web and mobile apps. You can follow along if you have an AWS account – no GraphQL experience required!
Level: Beginner
Speaker: Rohan Deshpande - Sr. Software Dev Engineer, AWS Mobile Applications
On April 10, 2013, Eric Mattison gave a talk on Tastypie: Easy APIs to Make Your Work Easier.
"Have you ever dealt with any of these problems:
- Unwieldy, Scary-to-Change Applications?
- Long Development Cycles?
- Replicated Code?
- Scope Creep?
- Restless Leg Syndrome?
Tastypie can help you solve these problems and more!”
2 Months ago we had a meet-up to discuss how we proceed with Project SpaceLock... this is just to remind us of how things are going on, and to keep a track of time :)
Discussed the general OAuth2 features. Reviewer OAuth2 Roles and Grand Flows
Authorization code grant flow
Implicit grant flow
Resource owner password credentials grant flow
Client credentials grant flow
Reviewed access resource flow and token refresh.
see video: https://www.youtube.com/watch?v=UPsVD-A7gP0
Structured concurrency with Kotlin Coroutines
1. Theory
- Coroutines
- Suspending functions
- Asynchronous Flows
- Channels
2. Practice
- Business lookup feature implementation in TransferWise app for Android
한빛데브그라운드에서 발표했던 내용입니다.
발표 영상 : https://youtu.be/ohpfSLf0V3Y
--
스타트업 비즈니스에서 데이터를 활용한 전략 수립과 의사결정은 필수적인 요소입니다. 서비스 운영 데이터에서부터 다양한 고객의 행동 로그, 소셜 미디어 데이터까지 다양한 데이터를 모두 모아 분석 환경을 구축하기 위해서는 많은 준비와 고민이 필요합니다. 스타트업에서 빠른 속도와 최소한의 비용, 다양한 분석 Tool들과 연동되는 Data Pipeline, Data Lake, Data Warehouse 구축 경험기를 공유하고자 합니다. 이 과정을 통해 애널리틱스 파이프라인을 구축 과정과 S3, Glue, Athena,EMR, Quicksight와 같은 서버리스 애널리틱스 서비스에 대한 구축 사례를 확인하실 수 있습니다.
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
황민호(robin.hwang) / kakao corp. DSP개발파트
---
최근 Spring Cloud와 Netflix OSS로 MSA를 구성하는 시스템 기반의 서비스들이 많아지는 추세입니다.
카카오에서도 작년에 오픈한 광고 플랫폼 모먼트에 Spring Cloud 기반의 MSA환경을 구성하여, API Gateway도 적용하였는데 1년 반 정도 운영한 경험을 공유할 예정입니다. 더불어 MSA 환경에서는 API Gateway를 통해 인증을 어떻게 처리하는지 알아보고 OAuth2 기반의 JWT Token을 이용한 인증에 대한 이야기도 함께 나눌 예정입니다.
GraphQL is a query language for APIs and a runtime for fulfilling those queries. It gives clients the power to ask for exactly what they need, which makes it a great fit for modern web and mobile apps. In this talk, we explain why GraphQL was created, introduce you to the syntax and behavior, and then show how to use it to build powerful APIs for your data. We will also introduce you to AWS AppSync, a GraphQL-powered serverless backend for apps, which you can use to host GraphQL APIs and also add real-time and offline capabilities to your web and mobile apps. You can follow along if you have an AWS account – no GraphQL experience required!
Level: Beginner
Speaker: Rohan Deshpande - Sr. Software Dev Engineer, AWS Mobile Applications
On April 10, 2013, Eric Mattison gave a talk on Tastypie: Easy APIs to Make Your Work Easier.
"Have you ever dealt with any of these problems:
- Unwieldy, Scary-to-Change Applications?
- Long Development Cycles?
- Replicated Code?
- Scope Creep?
- Restless Leg Syndrome?
Tastypie can help you solve these problems and more!”
2 Months ago we had a meet-up to discuss how we proceed with Project SpaceLock... this is just to remind us of how things are going on, and to keep a track of time :)
This is a quick introduction to webhooks I gave at GlueCon 2010. It was also a bit of an ad for a last minute 40 minute talk I was giving immediately after.
Simplicity - develop modern web apps with tiny frameworks and toolsRui Carvalho
You have learned for years how to do big enterprise applications with big enterprise frameworks. Sometimes it was good, but sometimes it was over-engineered, rarely fun. It changed a lot a few years ago with Asp.Net Mvc and with a lot of impulse of the community. But today, the web moves faster and faster, and people want tools that do the job in a simple way and that just works. Today we have these tools in .Net and they grow every day for our pleasure.
Get an overview of why you should care about Simplicity and how you can build great web apps in a simpler way with small frameworks and tools "that just work" (with pieces of NancyFx, SimpleData, RavenDb, Nuget, jQuery, Markdown, Bootstrapper, ...)
Slides of my #Web.Net conference 2012 in Milano
cheers!
An introduction to Google's PRPL pattern that can be used to implement Progressive Web Applications. Delivered at MWLUG 2017 in Alexandria, VA by Keith Strickland.
Web is now visible everywhere. It's highest time to learn webdevelopment! Know why it's great branch of IT, what it's made of and what tasks are waiting the for today's web developers.
Learn the HTML, JS and CSS from basics. Do not read HTML courses written 10 years ago.
Want to do backend, but still wondering whether to choose PHP, Ruby, Python, nodeJS ? No fear! We'll try to show pros & cons of every language AND also give a short guide how to learn them quickly.
Original presentation: http://akai.org.pl/slides/webstarter/
Midwest PHP 2017 DevOps For Small teamJoe Ferguson
DevOps is a large part of a company of any size. In the 9+ years that I have been a professional developer I have always taken an interest in DevOps and have been the "server person" for most of the teams I have been a part of. I would like to teach others how easy it is to implement modern tools to make their everyday development and development processes better. I will cover a range of topics from "Stop using WAMP/MAMP and start using Vagrant", "version control isn't renaming files", "Automate common tasks with shell scripts / command line PHP apps" and "From Vagrant to Production".
Madison PHP 2015 - DevOps For Small TeamsJoe Ferguson
DevOps is a large part of a company of any size. In the 9+ years that I have been a professional developer I have always taken an interest in DevOps and have been the "server person" for most of the teams I have been a part of. I would like to teach others how easy it is to implement modern tools to make their everyday development and development processes better. I will cover a range of topics from "Stop using WAMP/MAMP and start using Vagrant", "version control isn't renaming files", "Automate common tasks with shell scripts / command line PHP apps" and "From Vagrant to Production".
An exploration of the cultural lineage where Hacker Dojo came from, including SHDH, LGLAN, and how Dojo is memetically related to BarCamp and Coworking.
Beyond Mashups: Service Integration and MoreJeff Lindsay
This is the intro deck I used to frame my standard talk on web hooks around mashups. After these slides, continue with <a href="http://www.slideshare.net/progrium/web-hooks-and-the-programmable-world-of-tomorrow-presentation">this slideshow</a>
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
6. 1997
fast foward 20 years just after commercialization of internet to a perl conference
jon udell talks about websites as data sources that can be reused and remixed
today that idea isn’t very novel
7. a new programming paradigm
that takes the whole Internet
as its platform
1997
he also talked about a new programming paradigm
i don’t think we’re there yet
but this inspired ...
8. “What is the equivalent of the pipe
in the age of the web?”
tim oreilly to ask in 2000...
9. there seems to be resounding consensus the answer is feeds
they sound good in theory
10. it makes you think of feeds like in the telecom world
18. ?
• Crontab / Daemon
• Parsing
• Caching
this is just too much work sometimes
the other problem i have is with the command line metaphor for web apps
19. Command-line
Application
Start Stop
because a command line application is linear. it starts, runs, and stops
20. Web
Application
Always
Running
web apps are always running.
a better metaphor for this is a running process or daemon
21. here we have some daemons.
this is ps doom
so using this metaphor, how do daemons communicate?
23. lol
h4x
stfu
n00b
...
yeah. my experience with ipc was pretty bad.
ipc usually involves some sort of shared memory mechanism, like a queue
24. it turns out amazon provides a queue web service
but with a third party queue you only defer the polling
it doesn’t solve the problem, its just fancier rss
25. so this is not the solution, and probably why not too many people use or know of it
27. Web Hooks
web hooks are user defined callback URLs that point to a web script to run on a certain event.
you can call them other things...
28. Web Hooks
• User Callbacks
• Triggers
• Event Handlers
• “Plugouts”
web hooks are user defined callback URLs that point to a web script to run on a certain event.
you can call them other things...
34. the main mechanism is a standard http post, which is trivial in most environments
35. Easy (enough) for Users
it’s also very open and easy for the users, which will generally be advanced users, but can easily be
taken advantage of by novice users
36. as a user, to take advantage of hooks, you’d write a script to handle an event, like the commit
this is a very simple script
44. Commit!
this makes the user a happy cookie.
and this is a trivial example, using only on web service.
imagine using the api of another in the hook script and chaining these things together
45. Commit!
but even in this simple example, you see the power it gives to the user and to the data that we’re
trying to “open up” to our users
46. STDIN STDOUT
Program
back to piping on the command line, remember that it was simple infrastructure that gave you
tremendous power, and one of the key components was making it easy to chain commands
47. STDIN
Program
we wouldn’t be able to do it without the output part of it
48. API
Web App
unfortunately that’s how the web is today.
the only output you can get is by using the input (api, feed)
49. API Hooks
Web App
web hooks gives us this output, and when *combined* with the input of api’s
it will give us and our user tremendous power that i think will really push the web
into being a new programmable paradigm
50. Program the Web
the possibilities become very rich and i’ve thought about it a lot
there’s probably a lot more
imagine realtime data syncronization
or a chain of events that makes these apps work together in a way you’ve never imagined
54. API Hooks
Web App
web hooks gives us this output, and when *combined* with the input of api’s
it will give us and our user tremendous power that i think will really push the web
into being a new programmable paradigm