Slideshare.net (beta)

 
Post to TwitterPost to Twitter
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 2 (more)

PSU Guest Lecture: Database Programming

From borkweb, 2 years ago

I had the privilege of being a guest speaker at Plymouth State Uni more

9339 views  |  0 comments  |  2 favorites  |  1 embed (Stats)
Download not available ?
 

Categories

Add Category
 
 

Groups / Events

 

 
Embed
options

More Info

This slideshow is Public
Total Views: 9339
on Slideshare: 9313
from embeds: 26

Slideshow transcript

Slide 1: Database Programming or Application Design with Databases or The Guest Lecture Dr. Shen Asked Me To Do Matthew Batchelder Web Application Engineer ITS

Slide 2: Ye Olde Overview • My Background • My Project Background • Application Design Process – Analysis – Language Selection – Database Design – Interface Design – Development – The Sweet Stuff • Industry – Where it was – Where it is – Where its going • Stuff I’ve Learned • Suggestions

Slide 3: Me

Slide 4: Background • PSU Graduate (PSC, actually) • PSU ITS – Help Desk – PHP/Java Programmer – Registrar PL/SQL Programmer – “Web Application Engineer” • Database Design • Front-end Design • Javascript • PHP • PL/SQL • I’m a Blogger (BorkWeb)

Slide 5: Project Background • As a Student – Database Class – Senior Project – On the Side (I’m a Geek) • Star Wars (Emperor’s Hammer) • Uber-Geeks Site • Random Database Projects • As an Employee – Lots of Misc. Apps – On the Side (I’m still a Geek) • BorkWeb • Uber-Geeks Site • MasterWish • Random Database Projects

Slide 6: Application Design Process

Slide 7: Application Design Process • Analysis – If you are beginning an application, there is undoubtedly a problem/inefficiency that needs a solution. – Compile a list of application needs – Build process maps: Map out • Uses of the application • Data flows – Analyze to root out inefficiencies

Slide 8: Application Design Process • Choosing Your Language – Use what is appropriate • Weigh: – Your development capabilities – Time constraints – Language suitability – Thus far, I’ve opted for PHP in most cases

Slide 9: Application Design Process • Database Design – This is the application’s foundation – Know your data – The Whiteboard is your friend

Slide 10: Application Design Process • Interface Design – Storyboard • The Whiteboard is still your friend • Oh, and paper too – Graphics/Colors/Document Structure – It is extremely important to know what your application should look like!

Slide 11: Application Design Process • Development – Develop in chunks – Database Abstraction • PHP: ADOdb & Pear – Modularization • OO is where its at – Templatization • SmartyTemplates & XTemplates • The Sweet Stuff – Javascript – XHR

Slide 12: The Industry

Slide 13: Industry • Where it was – Desktop Applications • Full featured • Updates difficult – Web-based Interfaces • Limited features – Well, Java Applets or ActiveX helped on the feature front…but both came with their own set of problems • Updates a cinch – Or…semi-cinch depending on your language of choice

Slide 14: Industry • Where it is – Desktop Applications • Full featured • Updates difficult – Web-based Applications • Full featured • Updates a cinch – Or…semi-cinch depending on your language of choice • Why the change? – Web 2.0 & AJAX & Ajax

Slide 15: Industry • Where its going – Who the *bleep* knows? – Keep an eye on • Ajax • Web 2.0 – Collaboration – RSS & Remixability – Usability • Accessibility

Slide 16: Stuff I’ve Learned

Slide 17: Stuff I’ve Learned • Do your own thing – If you run into an issue search for the answer online… • ask friends and/or instructors for answers only as a last resort…when you’re at a job…chances are, no one knows the answer near you. Get used to it. • Brainstorm DB Design on Paper – When you have an idea, jot it down on paper or the whiteboard then leave it. Come back later and look at it again, you’ll be sure to find inefficiencies.

Slide 18: Stuff I’ve Learned (cont.) • Design your Database…don’t just build it – Its one thing to accomplish a task…it’s a completely different thing to do it correctly – Where “correctly” means: • Re-usable • Sustainable • Versatile – I find it useful to throw a design on the board and critique it aloud and (if possible) with another designer in the room. • Ideas can be bounced back and forth and inefficiencies found before any coding has been done • Design your Interface…don’t just build it – A solid set of mockups saves time and code. Scratch it down on paper before coding. Get a general idea about how your pages should contain and manipulate your data.

Slide 19: Suggestions • Senior Projects and School Projects – These can be good…nice learning tools but they typically won’t get you very far – And 9 times out of 10 they won’t land you a job • Study on your own – Blog & Read Blogs • Jon Emmons is a Oracle Database Blogging success story! – Learn what is new and changing • Do your own projects – You aren’t going to know jack if you don’t play – Make mistakes and get pissed at yourself then learn from your errors • Do someone else’s projects – If you can’t come up with your own ideas, join a SourceForge project that interests you

Slide 20: More Specifically • Become great at Database Design • Pick a language and become an expert • Learn Javascript in depth • Learn to optimize your database • Learn to optimize your code • Like what you do and prove it by doing something

Slide 21: Success Stories • Example “side project” success stories – College Humor • 51% of college humor sold for ~$20 million – Flickr • Yahoo bought this for $30-$40 million – MySpace • Sold for $580 million – Facebook • Owners turn down $750 million offer – YouTube • Sold to Google for $1.65 billion • Sadly…I didn’t develop any of them 

Slide 22: The end.