Untangling the web11

Preview:

Citation preview

UNTANGLING THE WEBTHE LAST CLASS! PRESENTATIONS, REVIEW, NEXT STEPS AND RESOURCES

AGENDA

• Homework 9 discussion• JSON, databases, Bluemix

• Group presentations• Class summary, where to go from here, and questions• A few interesting website code walkthroughs• Workshop on problems you hit on your project websites

HOMEWORK 9 DISCUSSION

• Folks had a fair amount of problems with this one• Configuration of the bluemix site• Understanding how to get JSON out of the database replies

• Front end is really the key to this assignment• How to get database results into a JSON form - JSON.parse()• How to iterate over results and put them on the page once you have them

• Call updateCarList from inside the IIFE!

DATABASES AND BLUEMIX

• WebSQL is being deprecated, but it’s still a good one to practice with• Did anyone use firebase for their project?• ClearDB is a decent service to play with for SQL• MongoDB is a much more useful system for scalability• Can host yourself or buy a hosted database• Most of the Bluemix database offerings either don’t offer a free tier, or the

free tier is crippled. The big database instances are overkill for most everything non-corporate

PRESENTATIONS

• 5-10 minutes• 5% presentation• 5% website design• 10% frontend functionality• 10% backend functionality

• Questions are mostly about website functionality – where you’re hosting, what technologies you used, what problems you hit, etc.

WHERE FROM HERE?

• You’ve all created your first websites. Congratulations!• You now know more about the web than 95% of people• But there’s a long way to go.

• Programming as a job• Programming to support other hobbies and classes• Website businesses but not programming

PROGRAMMING AS A JOB

• Lighthouse or other code bootcamps• CS degree?• Portfolio and work experience – open source projects!• Get really good at tech interviews• Read lots of other people’s experiences

• https://news.ycombinator.com/• https://www.reddit.com/r/programming/• Many others

PROGRAMMING TO SUPPORT OTHER ACTIVITIES• There will always be new things to learn, so don’t worry as

much about the latest framework or library• Focus on the basics:

• Keep code safe and versioned in something like github• Share your code when you’re asking questions• Test and code in small blocks, iterate a lot• Think like your user and design what they need• Host somewhere simple and then only expand when you need to

WEBSITE BUSINESSES

• Programming need not be a core skill if you mostly have business interests• Know just enough to hire things done• Where to find developers?

• Upwork, Toptal, freelancer.com• http://hnhiring.me/• Local meetup groups

• Design with Lean Launchpad and Agile concepts and always test with your audience

CLASS SUMMARY

• We didn’t hit all of the following in the order I thought we would, but we hit most of the main points

• Let’s go back through our original plan and see if folks have questions about what we did that make more sense to ask now that all the rest of the pieces have fit together…

MODULE PREVIEW – WEEKS 1-3

1 What happens when you type a URL in the address bar?  switches and routers  dhcp and IP addresses  firewalls  servers  dns and registrars  cdn's  cloud services

HW: video yourself answering an interview question

2 What happens when someone searches for your website on google?  pagerank  SEO  google analytics

HW: given a website, find 5 things you’d do to boost natural traffic

3 Where can you buy paid advertising and how does it work?  google adwords  facebook  buying clicks and followers  SaaS and PaaS  lifetime value of a customer

HW: decide how to spend your marketing budget

MODULE PREVIEW – WEEKS 4-64 How do you build an HTML page?  Headers and bodies  tags  scripts  Source code control

(project 1 assigned – must have groups formed)

HW: build a personal webpage on github pages

5 javascript  intro to js  es6  editors and assistance

HW: answer some common javascript interview questions

6 UX design and collaboration  user stories  user research  lean methodologies  business model canvas  MVP  hackathons  scrums  agile

HW: create a business model cavas (for any project, can be for group project but must be done individually)

MODULE PREVIEW – WEEKS 7-9

7 Making pages look pretty  CSS  Frameworks - react and bootstrap

Project 1 dueProject 2 assigned

HW: build a simple bootstrap site

8 Where do I host, and how?  Digital ocean  Heroku  AWS  Google  IBM  Azure

HW: no assignment planned for this week

9 Making pages smart  Intro to Bluemix  speech services  chatbots  natural language

HW: build a bluemix website

MODULE PREVIEW – WEEKS 10-12

10 databases and servers  SQL  NoSQL  database services  APIs

Project 3 assigned

HW: create a database on bluemix and use it to populate a web page

11 JSON and communications  RESTful APIs  stateless servers

HW: create a JSON API for a service and show it in use

12 Pitch day!  Giving useful feedback Learn to kill your babies!

Projects 2 and 3 due

HW (turn in by end of class): give 2-3 pieces of constructive critical feedback for each presentation

A FEW COOL WEBSITE EXAMPLES

• Speech recognition• Natural language understanding• Integration with other environments, like gaming engines• Code and other examples here:

https://github.com/watson-developer-cloud

SPEECH RECOGNITION

• Used to be really difficult and take a powerful computer• Now can use cloud resources to make it easy• https://github.com/watson-developer-cloud/speech-to-text-nodej

s• http://speech-to-text-nodejs-derekja-157.mybluemix.net/• https://hub.jazz.net/code/edit/edit.html#/code/file/derekja-Orion

Content/derekja%2520%257C%2520speech-to-text-nodejs-derekja-157/

• And text to speech: https://text-to-speech-demo.mybluemix.net/

NATURAL LANGUAGE UNDERSTANDING

• https://natural-language-classifier-demo.mybluemix.net/

• https://tone-analyzer-demo.mybluemix.net/

UNITY DEVELOPMENT

• 3D gaming engine• C# based, for the most part• Integrates with IBM Bluemix through the unity SDK• https://github.com/watson-developer-cloud/unity-sdk

QUESTIONS?

• We can dig into your projects if there were particular problems you want to dig into as well

• Thanks for being part of the course!