<script type="text/javascript">(function(e,t,o,n,p,r,i){e.visitorGlobalObjectAlias=n;e[e.visitorGlobalObjectAlias]=e[e.visitorGlobalObjectAlias]||function(){(e[e.visitorGlobalObjectAlias].q=e[e.visitorGlobalObjectAlias].q||[]).push(arguments)};e[e.visitorGlobalObjectAlias].l=(newDate).getTime();r=t.createElement("script");r.src=o;r.async=true;i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)})(window,document,"https://diffuser-cdn.app-us1.com/diffuser/diffuser.js","vgo");
vgo('setAccount', '########');
vgo('setTrackByDefault', true);
vgo('process');
</script>
import bolt from "@slack/bolt"; | |
import axios from "axios"; | |
const { App } = bolt; | |
// Initialize the Bolt app | |
const app = new App( { | |
token: process.env.SLACK_BOT_TOKEN, | |
signingSecret: process.env.SLACK_SIGNING_SECRET, | |
appToken: process.env.SLACK_APP_TOKEN, | |
socketMode: true |
{ | |
"display_information": { | |
"name": "Useless Fact App" | |
}, | |
"features": { | |
"app_home": { | |
"home_tab_enabled": true, | |
"messages_tab_enabled": true, | |
"messages_tab_read_only_enabled": true | |
}, |
[ | |
{ | |
"id": "kA0KgL", | |
"color": "red", | |
"firstName": "Marty", | |
"lastName": "McFly", | |
"gender": "male" | |
}, | |
{ | |
"id": "dx3ngL", |
{ | |
"$version": "2", | |
"api": { | |
"base_url": "https://app.asana.com/api/1.0" | |
}, | |
"auth": { | |
"asana-auth": { | |
"type": "oauth2", | |
"configuration": { | |
"client_id": "{your-asana-client-id}", |
-- Enable OLE Automation | |
sp_configure 'show advanced options', 1; | |
RECONFIGURE; | |
GO | |
sp_configure 'Ole Automation Procedures', 1; | |
GO | |
RECONFIGURE; | |
GO |
If you're a web developer, chances are you have heard the term "JAMstack." Curiously, JAMstack isn't a solution to prevent clogged printers, something to eat on toast, or a way to make music. Instead, it's an architecture for designing super-fast web applications that easily scale, focused on JavaScript, APIs, and Markup.
In this talk, we'll cover the JAMstack architecture, the numerous benefits of the JAMstack approach, and frameworks and services you can use to implement a JAMstack web application. You'll walk away with a clear understanding of JAMstack and resources to quickly build your own web app at ludicrous speed!
Short Version
Perhaps you've had the "pleasure" of building or maintaining your own authentication and user management system. The good news is OAuth 2.0 and Open ID Connect (OIDC) are standards you can leverage and leave account security to the experts. The bad news is there's a lot of confusing information out there, making OAuth and OIDC hard to understand. You'll walk away from this talk understanding the problems these protocols solve, how they work, and ways you can integrate them into your own apps!
Perhaps you've had the "pleasure" of building or maintaining your own authentication and user management system. Registration, login, and password reset forms, dealing with validation, salted hashes, email verification, and the list goes on and on. Oh, and how about keeping up with all the latest attacks and keeping your data secure? About as fun as pulling teeth!
If you're a web developer, chances are you have heard the term "JAMstack." Curiously, JAMstack isn't a solution to prevent clogged printers, something to eat on toast, or a way to make music. Instead, it's an architecture for designing super-fast web applications that easily scale.
In this talk, we'll cover the JAMstack architecture, the numerous benefits of the JAMstack approach, and tools you can use to implement a JAMstack web application. You'll walk away with a clear understanding of JAMstack and resources to quickly build your own web app at ludicrous speed!
Ah, JavaScript! Like it or not, it's a "tragically important" language that is "eating the world." Hate it? Love it? Avoid it? Embrace it?
This talk will be a parade of face-palm JavaScript fails, stupid JavaScript tricks, and bad jokes sure to get an eye-roll from everyone! Along the way, we may even learn a few mistakes to avoid and tips to make our own JavaScript less terrible!