The document discusses how to build your own SEO tools using Google Sheets and formulas like ImportXML and ImportDATA. It provides examples of tools to monitor website changes, get keyword search volumes from SEMrush's API, and check meta descriptions and page titles across pages. The document encourages readers not to feel limited by their technical skills, and shows how simple techniques like XPath queries and the QUERY function can be used to build powerful tools for SEO tasks.
Make Your Own Damn SEO Tools (Using Google Docs!)Sean Malseed
Learn how to use Google docs to build our own free custom free SEO tools that manipulate live data from the internet. We'll build a few tools live, and include links to finished free tools. We'll both be learning how to manipulate APIs from other services in a Google spreadsheet, as well as a having a quick introduction of how to parse actual webpages and Google SERPs using XPath. Not a programmer? Good. You don't have to be.
Take Better Care of Library Data and Spreadsheets with Google Visualization A...Bohyun Kim
Presentation given at 2013 LITA Forum on Nov 8, 2013. http://www.ala.org/lita/conferences/forum/2013 ; Example files are at http://github.com/bohyunkim/examples
Facebook Development with Zend FrameworkBrett Harris
The document discusses developing Facebook applications using the Zend Framework. It covers challenges like publicly accessible development environments and differences from normal web development. It also describes using a proxy pattern to mock Facebook APIs locally and parsing FBML tags. The document advocates using an active record pattern to access Facebook data and building UI components to wrap AJAX libraries for multi-application interfaces.
Getting the Most Out of OpenSocial GadgetsAtlassian
- OpenSocial gadgets allow for easy integration of external content like JIRA issues and tasks into dashboards using simple web technologies like HTML, CSS, and JavaScript.
- Atlassian chose OpenSocial to emphasize teams, projects, and tasks over individual tools and provide a single activity stream, cross-product sharing, and integration with non-Atlassian apps.
- Writing gadgets is easy since they can be used across different containers like iGoogle, Gmail, and JIVE and allow thinking about applications as reusable units of work.
Analytics provides data that should help companies make decisions and measure effectiveness. However, setting up analytics properly requires assembling various elements, similar to putting together Ikea furniture, before the data is useful. Proper analytics setup includes verifying code, filtering internal traffic, customizing reports, and segmenting traffic sources to make the data actionable.
Introduction to Paul Irish and Divya Manian's HTML5 Boilerplate project. HTML5 Boilerplate helps you to quickly get up and running with front-end web project.
The document introduces Merb, a Ruby web framework similar to Rails but aimed to be smaller, faster, lighter, and less opinionated. It provides steps to generate a blog application using Merb, including generating models, controllers and views to display and manage blog articles. It also describes adding features like RSS feeds, parts, and an administrative interface.
Django Introduction Osscamp Delhi September 08 09 2007 Mir NazimMir Nazim
Django is a high-level Python web framework that abstracts away common problems of web development. It provides shortcuts for building dynamic websites and includes features like URL mapping, templates, forms handling, database access, and more. The document provides an overview of Django and walks through building a sample polls application to demonstrate key aspects like models, views, templates, and the admin interface.
Make Your Own Damn SEO Tools (Using Google Docs!)Sean Malseed
Learn how to use Google docs to build our own free custom free SEO tools that manipulate live data from the internet. We'll build a few tools live, and include links to finished free tools. We'll both be learning how to manipulate APIs from other services in a Google spreadsheet, as well as a having a quick introduction of how to parse actual webpages and Google SERPs using XPath. Not a programmer? Good. You don't have to be.
Take Better Care of Library Data and Spreadsheets with Google Visualization A...Bohyun Kim
Presentation given at 2013 LITA Forum on Nov 8, 2013. http://www.ala.org/lita/conferences/forum/2013 ; Example files are at http://github.com/bohyunkim/examples
Facebook Development with Zend FrameworkBrett Harris
The document discusses developing Facebook applications using the Zend Framework. It covers challenges like publicly accessible development environments and differences from normal web development. It also describes using a proxy pattern to mock Facebook APIs locally and parsing FBML tags. The document advocates using an active record pattern to access Facebook data and building UI components to wrap AJAX libraries for multi-application interfaces.
Getting the Most Out of OpenSocial GadgetsAtlassian
- OpenSocial gadgets allow for easy integration of external content like JIRA issues and tasks into dashboards using simple web technologies like HTML, CSS, and JavaScript.
- Atlassian chose OpenSocial to emphasize teams, projects, and tasks over individual tools and provide a single activity stream, cross-product sharing, and integration with non-Atlassian apps.
- Writing gadgets is easy since they can be used across different containers like iGoogle, Gmail, and JIVE and allow thinking about applications as reusable units of work.
Analytics provides data that should help companies make decisions and measure effectiveness. However, setting up analytics properly requires assembling various elements, similar to putting together Ikea furniture, before the data is useful. Proper analytics setup includes verifying code, filtering internal traffic, customizing reports, and segmenting traffic sources to make the data actionable.
Introduction to Paul Irish and Divya Manian's HTML5 Boilerplate project. HTML5 Boilerplate helps you to quickly get up and running with front-end web project.
The document introduces Merb, a Ruby web framework similar to Rails but aimed to be smaller, faster, lighter, and less opinionated. It provides steps to generate a blog application using Merb, including generating models, controllers and views to display and manage blog articles. It also describes adding features like RSS feeds, parts, and an administrative interface.
Django Introduction Osscamp Delhi September 08 09 2007 Mir NazimMir Nazim
Django is a high-level Python web framework that abstracts away common problems of web development. It provides shortcuts for building dynamic websites and includes features like URL mapping, templates, forms handling, database access, and more. The document provides an overview of Django and walks through building a sample polls application to demonstrate key aspects like models, views, templates, and the admin interface.
Rugalytics is a Ruby library that allows users to easily access and summarize Google Analytics reports and data. It uses a technique called "morphing" to dynamically generate Ruby methods and classes based on the structure and attributes of the Analytics reports. This allows report data to be accessed and manipulated as normal Ruby objects and attributes. The library includes methods to retrieve report data via the Analytics API in various formats including JSON. It also includes a basic web server to demo serving report data via API endpoints.
An API allows websites and services to make some of their data available to the public for use in applications. The Twitter API allows users to access Twitter data through scripts and programs. This document provides instructions for using existing Python scripts that interface with the Twitter API to search for and retrieve tweets. It also discusses how the Spotify API can be used to access music data like related artists and top tracks of specific artists. Users are encouraged to experiment with different endpoints of the Spotify API to find interesting data for a final project.
Java Puzzlers NG S02: Down the Rabbit Hole as presented at Devoxx US 2017Baruch Sadogursky
Moar puzzlers! The more we work with Java 8, the more we go into the rabbit hole. Did they add all those streams, lambdas, monads, Optionals and CompletableFutures only to confuse us? It surely looks so! And Java 9 that heads our way brings even more of what we like the most, more puzzlers, of course! In this season we as usual have a great batch of the best Java WTF, great jokes to present them and great prizes for the winners!
An overview of the Facebook's application query language FQL presented by Craig Saila in August 2007 at FaceBookCamp Toronto.
The video of the presentation (along with two others) can be found here: http://www.thechickentest.com/2007/08/facebookcamptoronto-videos/
Getting More Traffic From Search Advanced Seo For Developers PresentationSeo Indonesia
This document provides a summary of an advanced SEO presentation. It covers topics like building semantic HTML, proper use of tags, rich internet applications, ASP.net optimization, redirects, canonicalization, root cause analysis tools, and more. The presentation aims to help web developers optimize their sites for search engines.
The document discusses Yahoo's open strategy and use of YQL (Yahoo Query Language) to access Yahoo and external data through a SQL-like syntax. It provides code samples for using YQL to retrieve Flickr photo data via 2-legged and 3-legged OAuth authentication with PHP.
This document provides instructions for setting up a self-hosted WordPress site using Reclaim Hosting. It explains how to create a subdomain, install WordPress, customize settings and content, install themes and plugins, and create a child theme to modify an existing theme without losing changes on updates. The goal is to have a functional WordPress site that can be further customized.
It's possible to make a structured, consistent, API that can handle changes to logic and the schema. Sure, it seems like a good plan to dump everything out of the database today, but what are you going to do when something changes down the road? Let's have a talk about some SOLID ways to structure our APIs and keep them from breaking down the road.
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014Mike Schinkel
The document discusses various ways to add custom rewrite rules in WordPress, including:
1) Adding rewrite rules indirectly by registering post types and taxonomies;
2) Adding rewrite tags and rules directly using add_rewrite_tag() and add_rewrite_rule();
3) Adding endpoints using add_rewrite_endpoint() to route URLs with additional path segments;
4) Adding permastructs using add_permastruct() to define custom URL structures.
The document provides examples of validating rewritten URLs, generating custom templates, and serving special templates for rewritten content. It emphasizes the importance of flushing rewrite rules after adding or changing them.
Java Puzzlers NG S02: Down the Rabbit Hole as presented at DevNexus 2017Baruch Sadogursky
Moar puzzlers! The more we work with Java 8, the more we go into the rabbit hole. Did they add all those streams, lambdas, monads, Optionals and CompletableFutures only to confuse us? It surely looks so! And Java 9 that heads our way brings even more of what we like the most, more puzzlers, of course! In this season we as usual have a great batch of the best Java WTF, great jokes to present them and great prizes for the winners!
[PyConZA 2017] Web Scraping: Unleash your Internet VikingAndrew Collier
This document provides an overview of scraping web pages, including:
- Why scrape rather than use APIs
- The difference between scraping and crawling
- The anatomy of web pages including HTML, CSS, and XPath for selecting elements
- Common files like robots.txt and sitemap.xml
- Python libraries like urllib and requests for working with URLs and making HTTP requests
This document provides an overview of advanced SEO techniques for web developers. It discusses proper use of HTML tags, rich internet applications, AJAX, redirects, and canonicalization. Tools for debugging SEO issues are also presented, including the importance of analytics to understand customer behavior and site performance. The presentation emphasizes designing for users, ensuring search engines can access content, and achieving long-term SEO success.
Make Everyone a Tester: Natural Language Acceptance TestingViget Labs
Application testing has traditionally been the responsibility of those in formal QA roles or, more recently, the application developers themselves. Is being a programmer or tester really a requirement for effectively testing your web application? Discover ways to enable your existing team to write human-readable tests they can run in their own browser.
On Friday, August 24th, Amy Bishop presented at the 4th Annual Utah Digital Marketing Collective Conference:
Recap and video of this presentation will be located here, along with all of the other presenters. http://www.utahdmc.org/dmc-2018
Amy has built and implemented multichannel digital strategies for a variety of companies spanning several industry verticals from start-ups and small businesses to Fortune 500 and global organizations. Her expertise includes e-commerce, lead generation, and localized site-to-store strategies. Amy recently launched Cultivative, a performance marketing agency.
Session Description
Join this session to learn how to put Excel to good use. We aren't just talking about useful formulas - we will be using formulas and other Excel features to create our own tools. We’ll build tools to optimize campaign results, identify opportunity areas, and improve reporting. Leaving this session, you’ll not only have a new set of tools at your disposal but you’ll be empowered to iterate and create new tools of your own!
Demystifying Keyword Driven Using WatirHirday Lamba
This document discusses how to demystify and implement a keyword-driven test automation framework using WATIR. It describes setting up an Excel sheet to separate the test logic and data. Key steps include identifying keywords, writing pseudo code, creating test cases in the Excel sheet, and writing the Ruby code to execute the tests based on the keywords and data from the Excel sheet. The framework allows non-technical testers to create and maintain automated test cases.
Using the Google Analytics API to make most popular pages widgets for your we...Dean Peters
Using the Google Analytics API to create a most popular pages widget for your website or blog using the Google Analytics API. I'll demonstrate a custom report in Google Analytics, then show how to automate the same using Perl and the Google Analytics API to create an RSS feed of the top 10 stories from my blog — which I then incorporate into the siderail of my blog using a WordPress RSS widget.
Here's the link to code in GitHub:
http://bitly.com/ga-api2mpp?slideshare
The document provides an overview of basic HTML elements and tags for creating web pages, including:
<1> The <html>, <head>, and <body> tags which form the essential structure of an HTML document.
<2> Common text formatting tags like <p>, <h1>-<h6>, and <br> for paragraphs, headings, and line breaks.
<3> Other common elements like <a> for links, <img> for images, <ol> and <li> for ordered lists, and <table>.
<3> It also demonstrates how to add character entities, embed a Google Form, and other basic HTML features.
Learn all the essentials of building Angular 2 applications right here.
https://www.udemy.com/angular-2-training/?couponCode=UANGULAR2
This is a beginner level course aimed at those new to Angular 2 and Typescript. No previous knowledge of either is required before starting this course.
This course combines slides, projects and quizzes in a clear, concise and engaging way to guide you through the core concepts of Angular 2 and Typescript.
You will gain a solid foundation for building real-world applications following best practices and the Angular 2 style guide. This includes how to build components, create shared services, navigate between views, manage data, and managing user and system events.
Rugalytics is a Ruby library that allows users to easily access and summarize Google Analytics reports and data. It uses a technique called "morphing" to dynamically generate Ruby methods and classes based on the structure and attributes of the Analytics reports. This allows report data to be accessed and manipulated as normal Ruby objects and attributes. The library includes methods to retrieve report data via the Analytics API in various formats including JSON. It also includes a basic web server to demo serving report data via API endpoints.
An API allows websites and services to make some of their data available to the public for use in applications. The Twitter API allows users to access Twitter data through scripts and programs. This document provides instructions for using existing Python scripts that interface with the Twitter API to search for and retrieve tweets. It also discusses how the Spotify API can be used to access music data like related artists and top tracks of specific artists. Users are encouraged to experiment with different endpoints of the Spotify API to find interesting data for a final project.
Java Puzzlers NG S02: Down the Rabbit Hole as presented at Devoxx US 2017Baruch Sadogursky
Moar puzzlers! The more we work with Java 8, the more we go into the rabbit hole. Did they add all those streams, lambdas, monads, Optionals and CompletableFutures only to confuse us? It surely looks so! And Java 9 that heads our way brings even more of what we like the most, more puzzlers, of course! In this season we as usual have a great batch of the best Java WTF, great jokes to present them and great prizes for the winners!
An overview of the Facebook's application query language FQL presented by Craig Saila in August 2007 at FaceBookCamp Toronto.
The video of the presentation (along with two others) can be found here: http://www.thechickentest.com/2007/08/facebookcamptoronto-videos/
Getting More Traffic From Search Advanced Seo For Developers PresentationSeo Indonesia
This document provides a summary of an advanced SEO presentation. It covers topics like building semantic HTML, proper use of tags, rich internet applications, ASP.net optimization, redirects, canonicalization, root cause analysis tools, and more. The presentation aims to help web developers optimize their sites for search engines.
The document discusses Yahoo's open strategy and use of YQL (Yahoo Query Language) to access Yahoo and external data through a SQL-like syntax. It provides code samples for using YQL to retrieve Flickr photo data via 2-legged and 3-legged OAuth authentication with PHP.
This document provides instructions for setting up a self-hosted WordPress site using Reclaim Hosting. It explains how to create a subdomain, install WordPress, customize settings and content, install themes and plugins, and create a child theme to modify an existing theme without losing changes on updates. The goal is to have a functional WordPress site that can be further customized.
It's possible to make a structured, consistent, API that can handle changes to logic and the schema. Sure, it seems like a good plan to dump everything out of the database today, but what are you going to do when something changes down the road? Let's have a talk about some SOLID ways to structure our APIs and keep them from breaking down the road.
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014Mike Schinkel
The document discusses various ways to add custom rewrite rules in WordPress, including:
1) Adding rewrite rules indirectly by registering post types and taxonomies;
2) Adding rewrite tags and rules directly using add_rewrite_tag() and add_rewrite_rule();
3) Adding endpoints using add_rewrite_endpoint() to route URLs with additional path segments;
4) Adding permastructs using add_permastruct() to define custom URL structures.
The document provides examples of validating rewritten URLs, generating custom templates, and serving special templates for rewritten content. It emphasizes the importance of flushing rewrite rules after adding or changing them.
Java Puzzlers NG S02: Down the Rabbit Hole as presented at DevNexus 2017Baruch Sadogursky
Moar puzzlers! The more we work with Java 8, the more we go into the rabbit hole. Did they add all those streams, lambdas, monads, Optionals and CompletableFutures only to confuse us? It surely looks so! And Java 9 that heads our way brings even more of what we like the most, more puzzlers, of course! In this season we as usual have a great batch of the best Java WTF, great jokes to present them and great prizes for the winners!
[PyConZA 2017] Web Scraping: Unleash your Internet VikingAndrew Collier
This document provides an overview of scraping web pages, including:
- Why scrape rather than use APIs
- The difference between scraping and crawling
- The anatomy of web pages including HTML, CSS, and XPath for selecting elements
- Common files like robots.txt and sitemap.xml
- Python libraries like urllib and requests for working with URLs and making HTTP requests
This document provides an overview of advanced SEO techniques for web developers. It discusses proper use of HTML tags, rich internet applications, AJAX, redirects, and canonicalization. Tools for debugging SEO issues are also presented, including the importance of analytics to understand customer behavior and site performance. The presentation emphasizes designing for users, ensuring search engines can access content, and achieving long-term SEO success.
Make Everyone a Tester: Natural Language Acceptance TestingViget Labs
Application testing has traditionally been the responsibility of those in formal QA roles or, more recently, the application developers themselves. Is being a programmer or tester really a requirement for effectively testing your web application? Discover ways to enable your existing team to write human-readable tests they can run in their own browser.
On Friday, August 24th, Amy Bishop presented at the 4th Annual Utah Digital Marketing Collective Conference:
Recap and video of this presentation will be located here, along with all of the other presenters. http://www.utahdmc.org/dmc-2018
Amy has built and implemented multichannel digital strategies for a variety of companies spanning several industry verticals from start-ups and small businesses to Fortune 500 and global organizations. Her expertise includes e-commerce, lead generation, and localized site-to-store strategies. Amy recently launched Cultivative, a performance marketing agency.
Session Description
Join this session to learn how to put Excel to good use. We aren't just talking about useful formulas - we will be using formulas and other Excel features to create our own tools. We’ll build tools to optimize campaign results, identify opportunity areas, and improve reporting. Leaving this session, you’ll not only have a new set of tools at your disposal but you’ll be empowered to iterate and create new tools of your own!
Demystifying Keyword Driven Using WatirHirday Lamba
This document discusses how to demystify and implement a keyword-driven test automation framework using WATIR. It describes setting up an Excel sheet to separate the test logic and data. Key steps include identifying keywords, writing pseudo code, creating test cases in the Excel sheet, and writing the Ruby code to execute the tests based on the keywords and data from the Excel sheet. The framework allows non-technical testers to create and maintain automated test cases.
Using the Google Analytics API to make most popular pages widgets for your we...Dean Peters
Using the Google Analytics API to create a most popular pages widget for your website or blog using the Google Analytics API. I'll demonstrate a custom report in Google Analytics, then show how to automate the same using Perl and the Google Analytics API to create an RSS feed of the top 10 stories from my blog — which I then incorporate into the siderail of my blog using a WordPress RSS widget.
Here's the link to code in GitHub:
http://bitly.com/ga-api2mpp?slideshare
The document provides an overview of basic HTML elements and tags for creating web pages, including:
<1> The <html>, <head>, and <body> tags which form the essential structure of an HTML document.
<2> Common text formatting tags like <p>, <h1>-<h6>, and <br> for paragraphs, headings, and line breaks.
<3> Other common elements like <a> for links, <img> for images, <ol> and <li> for ordered lists, and <table>.
<3> It also demonstrates how to add character entities, embed a Google Form, and other basic HTML features.
Learn all the essentials of building Angular 2 applications right here.
https://www.udemy.com/angular-2-training/?couponCode=UANGULAR2
This is a beginner level course aimed at those new to Angular 2 and Typescript. No previous knowledge of either is required before starting this course.
This course combines slides, projects and quizzes in a clear, concise and engaging way to guide you through the core concepts of Angular 2 and Typescript.
You will gain a solid foundation for building real-world applications following best practices and the Angular 2 style guide. This includes how to build components, create shared services, navigate between views, manage data, and managing user and system events.
Catalyst is a web framework for Perl that allows developers to build dynamic web applications in a modular, reusable way. It utilizes common Perl techniques like Moose, DBIx::Class and Template Toolkit to handle tasks like object modeling, database access and view rendering. Catalyst applications can be built in a model-view-controller style to separate application logic, data access and presentation layers. This framework provides a standard way to write reusable code and build web UIs for tasks like system administration and automation.
SPTechCon 2014 How to develop and debug client side code in SharePointMark Rackley
This document contains the presentation slides for a session titled "How to Develop and Debug Client Side Code" given by Mark Rackley at the SPTechCon San Francisco 2014 conference. The presentation provides an overview of tools and techniques for developing and debugging JavaScript and jQuery code in SharePoint, including jQuery, jQuery UI, DataTables, Bluff Charts, and REST/CSOM/SPServices. It also covers debugging basics, common issues, and best practices.
Using Rails to Create an Enterprise App: A Real-Life Case StudyDavid Keener
Rails is a great framework for quickly creating "green field" web applications. Find out how well it works when creating internal, corporate web applications that have to access multiple legacy databases.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python.
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Codemotion
Have you ever used a third party API, and it didn't work the way you wanted? You don't have to live with it! I'll be sharing my experience transforming unruly JSON into the GraphQL API of my dreams. I'll speak about how GraphQL helped me get the data I wanted, and share some strategies for designing schema you'll love. By the end of this talk, you'll understand how GraphQL can improve the quality of your data, and your life.
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Codemotion
Have you ever used a third party API, and it didn't work the way you wanted? You don't have to live with it! I'll be sharing my experience transforming unruly JSON into the GraphQL API of my dreams. I'll speak about how GraphQL helped me get the data I wanted, and share some strategies for designing schema you'll love. By the end of this talk, you'll understand how GraphQL can improve the quality of your data, and your life.
This document discusses how UiPath can be used to extract structured data from web pages without any programming. It describes using the Extract Web Data wizard to automatically recognize patterns in tabular data on a website. The tutorial shows how to record web navigation steps, use the wizard to select fields to extract like product name and price, and save the extracted data to a CSV or Excel file.
ASP.NET 08 - Data Binding And RepresentationRandy Connolly
This document discusses different ways to represent and bind data in ASP.NET applications. It covers data binding controls to data sources, using .NET collections like ArrayList and Dictionary to store data, using generic collections, populating and using DataTable and DataSet objects to store and manipulate tabular data, and integrating data with XML.
The document appears to be a presentation about using jQuery with SharePoint. It discusses open wireless access being available and encourages attendees to tweet about the session and blog. It then provides information about the presenter and their background as well as an outline of the topics to be covered in the presentation, including what jQuery is, how to deploy and develop with it, interacting with SharePoint and the DOM, reading and writing list data, using third party libraries, and demos.
The document discusses strategies that Mixbook is using to improve the performance of its Ruby on Rails application. Key points include:
1. Extracting the front-end into a separate custom Node.js/TypeScript application using React, while keeping Rails only for the API.
2. Implementing the front-end as a single-page application with page bundles loaded dynamically to improve load times.
3. Inlining static and rarely changing data directly into JavaScript bundles to reduce the number of network requests.
進擊的 ASP.NET Web API 2 巨人 – 打造支援各種裝置及平台的服務
你/妳知道WebApi (REST)己經成為一個企業IT系統整合及網路服務成長最為快速的趨勢嗎? 你/妳知道現今在網路上最被Mobile device使所用的資料交換的格式是JSON (Javascript Object Notation)而不再是肥大擁腫的XML怪獸嗎?
全世界的網路大咖都拼命地開發WebApi的服務來吸引Mobile或Web application的開發者, 我們將在這堂課中結合AngularJs與ASP.NET Web API 2來讓大家開始感受WebApi的吸引力。
Windows Azure - Cloud Service Development Best PracticesSriram Krishnan
This document discusses best practices for developing cloud services on Windows Azure. It recommends:
1. Storing state in Windows Azure storage and using loose coupling between components through queues to improve reliability given unreliable networks and hardware failures.
2. Versioning schemas and using rolling upgrades to minimize downtime when deploying updates.
3. Separating code and configuration, using configurable logging and alerts, to aid in debugging when things go wrong in the cloud.
1) JSP (Java Server Pages) is a core technology for developing web applications in Java and provides a simple way to add dynamic content to web pages through Java code and reusable components.
2) JSP pages are compiled into Java servlets that generate responses, allowing developers to focus on presentation logic while business logic can be encapsulated in reusable objects.
3) Key elements of JSP include scriptlets for inline Java code, directives for configuration, expressions for output, declarations for methods, and implicit objects to access request and session information.
Boston Computing Review - Java Server PagesJohn Brunswick
1) JSP (Java Server Pages) is a core technology for developing web applications in Java and provides a simple way to add dynamic content to web pages through Java code and reusable components.
2) JSP pages are compiled into Java servlets that generate responses, allowing developers to focus on presentation logic while business logic is encapsulated in reusable objects.
3) Key elements of JSP include scriptlets for Java code, directives for configuration, expressions for output, and implicit objects for accessing request parameters and session information.
Streaming machine learning is being integrated in Spark 2.1+, but you don’t need to wait. Holden Karau and Seth Hendrickson demonstrate how to do streaming machine learning using Spark’s new Structured Streaming and walk you through creating your own streaming model. By the end of this session, you’ll have a better understanding of Spark’s Structured Streaming API as well as how machine learning works in Spark.
Apache Spark Structured Streaming for Machine Learning - StrataConf 2016
Make-Damn-SEO-Tools
1. MAKE YOUR
OWN DAMN
SEO TOOLS
Cheat Sheet: ranktank.org/damntools/
@seanmalseed
2. Why?
• How many hours have you spent
trying to find that one tool
that did that one thing that
you need?
• How many hours do you spend
fiddling with multiple exports
from three tools trying to eek
out some information?
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
3. “but i dont know how to code and im really
not that technical…”
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
4. If you’re sitting in this room right now,
you’ve got a little technical in you.
Give yourself a little credit.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
5. Talkin’ Bout some GDocs
Google built some really powerful commands
into Sheets.
• ImportXML and
ImportDATA can
automagically pull
and parse data from
an API or web pages.
• ImportHTML can pull
web page source
elements
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
6. ImportDATA
• PowerPoint can get a little
boring, so let’s build a tool
right now.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
7. Multi-Page Change Monitor
• The “Have they updated their website
or code yet?” tool.
• Formula used: ImportDATA
• Google Doc with Example
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
8. Setting Up the Sheet
• Column A is for the URLs you’ll
be checking
• Column B is for the live pages
pulled from the site
• Column C is for the original
pages to compare against
• Column D performs the “Has it
changed?” check!
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
9. The Magic Formula
• Column B is where the real
magic happens, pulling live
data for each page you put in
column A using importDATA
• Let’s build that formula
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
10. The Magic Formula
=importdata(A2)
This call uses the URL in cell A2 and pulls all of the page source.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
11. The Magic Formula
=concatenate(importdata(A2))
Concatenate joins an array together. In this case, it forces all of the code into
a single string of data in one cell.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
12. The Magic Formula
=substitute(concatenate(importdata
(A2)), char(10), “”)
Some pages still have line breaks which cause the sheet to get all weird and stuff.
Stop this weirdness by using SUBSTITUTE to replace line breaks Char(10) with nothing “”
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
13. The Magic Formula
=if(A2)=“”,””,
substitute(concatenate(importdata(A2)),
char(10), “”))
Finally, to keep the sheet clean, we need to check and see if something is actually in cell A2.
If nothing is there, we’ll leave B2 blank too.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
14. The Magic Formula
If the value in A2 = empty Make this cell (B2) empty
=if(A2)=“”,””,
Otherwise, do the thing!
substitute(concatenate(importdata(A2)),
char(10), “”))
Finally, to keep the sheet clean, we need to check and see if something is actually in cell A2.
If nothing is there, we’ll leave B2 blank too.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
15. Column D for Detection!
=if(B2=C2,”Nope”,”Yep”)
Compare the live data in B2 to the baseline data in C2.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
16. Column D for Detection!
=if(C2=“”,””,if(B2=C2,”Yep”,”Nope”))
Cleaning this up a bit: if we didn’t put baseline data in C2, there’s no reason to do
the comparison! We’ll leave the cell blank instead.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
17. Using an API
• The “I just need effing keyword
search volumes in bulk but SEMrush
doesn’t do that” tool.
• API used: SEMrush
• API call used: phrase_this
• Formula used: ImportDATA
• Google Doc with Example
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
18. SEMrush API Format
Looks complicated, but it’s not.
http://us.api.semrush.com/?action=report&type=phrase_this&
key=YOUR_API_KEY&display_limit=1&export=api&export_columns
=Nq&phrase=KEYWORD
Using the API is literally just calling a URL with your API key in it.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
19. SEMrush API Format
Let’s break it into multiple lines
and examine it.
http://us.api.semrush.com/?action=report <- Required, specify country
&type=phrase_this <- This specifies the type of call you’re making
&key=YOUR_API_KEY <- Your API key goes here
&display_limit=1 <- How many lines of data to get. We only need one!
&export=api <- Required
&export_columns=Nq <- What metrics do we want? Nq means Search Volume
&phrase=KEYWORD <- The keyword to check. Pretty important to include…
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
20. Making the Call
We’ve already learned how to use
importDATA!
=importdata(http://us.api.semrush.com/?actio
n=report&type=phrase_this&key=YOUR_API_KEY&d
isplay_limit=1&export=api&export_columns=Nq&
phrase=KEYWORD)
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
21. Making the Call
=importdata("http://us.api.semrush.com/?acti
on=report&type=phrase_this&key=YOUR_API_KEY&
display_limit=1&export=api&export_columns=Nq
&phrase=“ & A2)
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
22. Uh-oh…
API column header
The actual data we want
The API returns TWO lines of data, when we only want one! It gives us a column
header AND the data we want, which wind up taking two rows. This won’t work
if we want to check multiple lines of keywords!
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
23. The Magic of QUERY
Google built a function called “QUERY” into
Sheets, and it’s basically effing magic.
QUERY let’s you perform an SQL query on
data, such as a range of cells or returned
data.
SQL stands for Structured Query Language,
but it might as well mean Simple Query
Language because it’s simple as sh*t.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
24. Let’s QUERY
We’re gonna perform this “QUERY” on the data
the SEMrush API sends us:
SELECT Col1 LABEL Col1 ‘’
It’s going to SELECT column 1 and LABEL
column 1 with ‘’ (meaning blank). BOOM the
header is GONE BABY!
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
25. ImportDATA + Query
=query(importdata("http://us.api.semrush.com/?action
=report&type=phrase_this&key=5311a58529cc0bbadf7e277
555e9d83b&display_limit=1&export=api&export_columns=
Nq&phrase=" & A2),"SELECT Col1 LABEL Col1 ''")
Boy oh boy, is that easy to do.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
26. Gettin’ International
=query(importdata("http://” & $E$2 &
“.api.semrush.com/?action=report&type=phrase_this&key=5311
a58529cc0bbadf7e277555e9d83b&display_limit=1&export=api&ex
port_columns=Nq&phrase=" & A2),"SELECT Col1 LABEL Col1
''")
Cell E2 will hold the country code, and using the $
(as $E$2) means the cell position will never change,
even when the formula is pasted or filled-down.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
27. Using XPath
• The “I need to check all of the meta
descriptions and page titles” tool.
• Formula used: ImportXML
• Google Doc with Example
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
28. XPath
• Xpath confuses everyone.
Including me.
• It’s basically a way to point to
a specific HTML element, or a
bunch of elements.
• We’ll look at a super simple way
to use it. Maybe you’ll want to
go learn more about it.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
29. ImportXML
• importXML lets you specify a
URL and Xpath to perform on the
returned source:
Column C:
=ImportXML(A2, "//title")
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
30. ImportXML
• Column C was easy. Column B is
a bit more challenging:
=substitute(ImportXML(A2,
"//meta[@name='description']/@content"),char(10),"")
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
31. Xpath is a Roadmap
Painting a path to a specific
element in code:
"//meta[@name='description']/@content”
It’s in the meta Its name is ‘description’ Give me the content
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
32. The “OH SH*T” Moment
The moment when
you’ll realize how
freaking powerful
ImportXML with
Xpath is.
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
33. BRB, Parsing Google
You can use ImportXML and Xpath to parse Google SERPs.
It even uses a Google internal IP address instead of
yours, so your office won’t get stuck in CAPTCHA hell.
=importxml("https://www.google.com/search?n
um=100&q=query","//h3[@class='r']/a/@href")
Yes. Oh sh*t indeed.
Xpath to grab just the search result URLs
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
34. And on that bombshell…
RankTank.org
CircleRank.com
I do “the Twitter”
@seanmalseed
Cheat Sheet: ranktank.org/damntools/ @seanmalseed
Editor's Notes
I’m using the SEMrush API for these examples because a) I used to work there and I handled API integrations, so I’m just a weeee bit familiar with it. b) Their data is amazing and trusted by top agencies c) I’m still really good friends with them, and when I told them what I was going to do with these tools I’m making, they gave me a promo to give out with a completely free month of full Pro service, with a full working API key included… convenient, eh?
Before we can parse the API data, we need to understand its format. Good thing it’s super simple. Using the API is literally just calling a URL with your API key in it.
You could actually put the API call into the URL field of your web browser, and it would pull back the data just like a web page. SOOO simple! Woot.
In the first section of the call, you can change “us” to other countries, like “ca” for Canada – there’s a full list at semrush.com/api.html
“phrase_this” is the SEMrush API call for metrics on a single keyword
We can call and parse the API automagically with IMPORTDATA, just like we did with web pages! It works the same way!
We can call and parse the API automagically with IMPORTDATA, just like we did with web pages! It works the same way!
We can call and parse the API automagically with IMPORTDATA, just like we did with web pages! It works the same way!
We can call and parse the API automagically with IMPORTDATA, just like we did with web pages! It works the same way!
We can call and parse the API automagically with IMPORTDATA, just like we did with web pages! It works the same way!
We can call and parse the API automagically with IMPORTDATA, just like we did with web pages! It works the same way!
I’m using the SEMrush API for these examples because a) I used to work there and I handled API integrations, so I’m just a weeee bit familiar with it. b) Their data is amazing and trusted by top agencies c) I’m still really good friends with them, and when I told them what I was going to do with these tools I’m making, they gave me a promo to give out with a completely free month of full Pro service, with a full working API key included… convenient, eh?