Web Development with Ruby on Rails Unit 1: Introduction and Installation Is This Thing On?

Total Page:16

File Type:pdf, Size:1020Kb

Web Development with Ruby on Rails Unit 1: Introduction and Installation Is This Thing On? Web development with Ruby on Rails Unit 1: Introduction and Installation Is This Thing On? Can you see the presentation? Are you comfortable? Does everyone have a favorite editor? Does everyone have a favorite programming language? Course Objectives Become familiar with web development Learn the features and idioms of Ruby Learn to develop web applications in Rails Learn how to engage with the Ruby community Course plan Setup Git, Heroku HTTP, HTML, CSS Ruby Rails Format Class: Wednesday 1:30pm - 2:30pm Office hours: Wednesday mornings and 30 min after class Weekly(ish) homeworks Live coding Questions encouraged Homework 10 small assignments (after each class) 1 midterm review quiz 1 final project (start today) Final project A Rails app of your choosing Groups okay* Graded on: Completeness Use of testing Seperation of concerns Proper use routes and view helpers Deployment Homework submission Commit to Github & Heroku Submit textfile with links to both via Lore* Due by 12pm the following Monday Grading 10pts x 10 assignments = 100 pts 50pts midterm review 10pts x 5 final project criteria Total / 200 pts (some bonuses available) Slide conventions ~/this/is/a/file/path class This def is_some :code end end About Me Mat Schaffer Mashion.net, Philly.rb, Comcast @matschaffer http://about.me/matschaffer About Jennifer Jennifer Cahalane [email protected] About David David Xu [email protected] Here we go! Why Rails? What is Rails? Developed for BaseCamp by 37 signals DSL for web applications Setup: Windows RailsInstaller Make sure the "Add to PATH box" is ticked before installing. Restart after the install finishes. Setup: Mac RailsInstaller Setup: Mac Or Homebrew http://mxcl.github.com/homebrew/ ~/.profile export PATH="/usr/local/bin: /usr/local/Cellar/ruby/1.9.3-p194/bin: $PATH" Setup: Linux Package manager should have "ruby" and/or "rubygems" Ubuntu is pretty well supported Install Check ruby --version # 1.9 or higher gem --version # 1.8 or higher Rails gem install rails Aside: Editors Sublime Text 2 TextMate jEdit MacVim Komodo Edit Aptana Your first rails app rails new plusdollar cd plusdollar rails server Deployment to Heroku (heroku.com) via Git (git-scm.org) What's heroku? THE CLOUD Easy hosting of Rails apps Deploy via git Lots of Add-ons (extra databases, logging, search, etc) GOTCHAS: Can't use the HD, Runs postgres What's git? Keeps your code safe Makes sharing code easier Helps you look at code history Git Basics Security: SSH Keys Used by SSH and Git Two parts Private key (id_rsa), keep this on your computer Public key (id_rsa.pub), upload this to the server Make a key > ssh-keygen Generating public/private rsa key pair Enter file in which to save the key (/Users/mat/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Commit to git git init git add . git commit -m "Initial commit" git remote add origin \ [email protected]:matschaffer/plusdollar git push -u origin master Sign up for heroku Use postgresql in production Gemfile group :development do gem 'sqlite3' end group :production do gem 'pg' end Run 'bundle' and commit the changes bundle --without production git add . git commit -m "Initial commit" Push it to heroku.com gem install heroku heroku create plusdollar git push heroku master Next up: HTTP HTML CSS Homework Set up a new rails app Store code on github replace public/index.html with a LOLCat* deploy it to heroku Need Help? irc.freenode.net#philly.rb http://groups.google.com/group/phillyrb .
Recommended publications
  • ROADS and BRIDGES: the UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface
    Roads and Bridges:The Unseen Labor Behind Our Digital Infrastructure WRITTEN BY Nadia Eghbal 2 Open up your phone. Your social media, your news, your medical records, your bank: they are all using free and public code. Contents 3 Table of Contents 4 Preface 58 Challenges Facing Digital Infrastructure 5 Foreword 59 Open source’s complicated relationship with money 8 Executive Summary 66 Why digital infrastructure support 11 Introduction problems are accelerating 77 The hidden costs of ignoring infrastructure 18 History and Background of Digital Infrastructure 89 Sustaining Digital Infrastructure 19 How software gets built 90 Business models for digital infrastructure 23 How not charging for software transformed society 97 Finding a sponsor or donor for an infrastructure project 29 A brief history of free and public software and the people who made it 106 Why is it so hard to fund these projects? 109 Institutional efforts to support digital infrastructure 37 How The Current System Works 38 What is digital infrastructure, and how 124 Opportunities Ahead does it get built? 125 Developing effective support strategies 46 How are digital infrastructure projects managed and supported? 127 Priming the landscape 136 The crossroads we face 53 Why do people keep contributing to these projects, when they’re not getting paid for it? 139 Appendix 140 Glossary 142 Acknowledgements ROADS AND BRIDGES: THE UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface Our modern society—everything from hospitals to stock markets to newspapers to social media—runs on software. But take a closer look, and you’ll find that the tools we use to build software are buckling under demand.
    [Show full text]
  • Puppet Dashboard 1.2 Manual
    Puppet Dashboard Manual (Generated on July 01, 2013, from git revision 46784ac1656bd7b57fcfb51d0865ec7ff65533d9) Puppet Dashboard 1.2 Manual This is the manual for Puppet Dashboard 1.2. Overview Puppet Dashboard is a web interface for Puppet. It can view and analyze Puppet reports, assign Puppet classes and parameters to nodes, and view inventory data and backed-up file contents. Chapters Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Installing Puppet Dashboard This is a chapter of the Puppet Dashboard 1.2 manual. NAVIGATION Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Overview Puppet Dashboard is a Ruby on Rails web app that interfaces with Puppet. It will run on most modern Unix-like OSes (including Mac OS X and most Linux distributions), requires a certain amount of supporting infrastructure, and can be deployed and served in a variety of ways. Dashboardʼs web interface supports the following browsers: Chrome (current versions) Firefox 3.5 and higher Puppet Dashboard Manual • Puppet Dashboard 1.2 Manual 2/27 Safari 4 and higher Internet Explorer 8 and higher Installing, in Summary In outline, the steps to get Dashboard running are: Installing the external dependencies Installing the Dashboard code Configuring Dashboard Creating and configuring a MySQL database Testing that Dashboard is working Configuring Puppet Starting the delayed job worker processes Running Dashboard in a production-quality server After completing these tasks, Dashboardʼs main functionality will be on-line and working smoothly. You can then configure Dashboard further and enable optional features If you are trying to upgrade Puppet Dashboard instead of installing it from scratch, see the chapter of this manual on upgrading instead of reading further in this chapter.
    [Show full text]
  • Visual Studio Code
    Visual Studio Code What is Visual Studio Code? Any programme / software that we see or use, works on the code that runs in the background. Traditionally coding used to done in the traditional editors or even in the basic editors like notepad ! These editors used to provide basic support to the coders. Some of them, so were so basic that it was very difficult in writing basic English level programmes in them. As the time-went by, some programming languages needed specific framework and support for further coding and development in it, which was not possible using these editors. VI Editor, Sublime Text Editor and Visual Studio Code are one of the many kinds of editors that came into existence. The most prominent and which supports almost every coding language is VISUAL STUDIO CODE. Visual Studio Code features let user modify the editor as per the usage, which means, user is able to download the libraries from the internet and integrate it with the code as per his requirements. Visual Studio Code Definition and understanding it Visual Studio Code is a code editor in layman’s terms. To define it, Visual Studio Code is, “a free-editor which helps the programmer to write a code, helps in debugging and corrects the code using the intelli- sense method ”. In normal terms, it facilitates user to write the code in easy manner. Many people say that it is half of an IDE and an editor; but the decision is upto to the coders. What Visual Studio Code can do Visual Studio Code has some very unique features.
    [Show full text]
  • 1 Chapter -3 Designing Simple Website Using Kompozer
    RSCD Chapter -3 Designing Simple Website Using KompoZer ------------------------------------------------------------------------------------------- 1. ……………plays a very important role in a business now-a-days. a) Website b) webpage c) Web browser d) Web host 2. …………….is a collection of interlinked web pages for a specific purpose. a) Website b) webpage c) Web browser d) Web host 3. ………….defines what we want to achieve by developing a website. a)Objective b) Goal c) Planning d) Target 4. Once by knowing the reason for developing a website, you must decide …….of the website. a)Objective b) Goal c) Planning d) Target 5. ……….means for whom the website is to be developed. a)Objective b) Goal c) Planning d) Target audience 6. From the following which is important for content of a webpage? a) Text and graphics for website b) Content as per visitor’s requirements c) Too short or too long content d) All of these 7. Who provides trial version of the software for free download? a) Editor b) Vendor c) Visitor d) None 8. The visual diagram of the website is known as ……………… a) Site Map b) Image Map c) Site Editor d) Site Browser 9. The website should contain should be classified into ………….categories. a) General b) Detailed c) Simple d) Both a and b 10. What is the first step for planning a website? a) Homepage b) Target audience c) Objective and Goal d) Browser compatibility 11. The website must contain ………………….information. a) Complete b) relevant c) incomplete d) Both a and b 12. What is the key point of a website? a) Content b) Homepage c) Objective and Goal d) Browser Compatibility 13.
    [Show full text]
  • Php Editor Mac Freeware Download
    Php editor mac freeware download Davor's PHP Editor (DPHPEdit) is a free PHP IDE (Integrated Development Environment) which allows Project Creation and Management, Editing with. Notepad++ is a free and open source code editor for Windows. It comes with syntax highlighting for many languages including PHP, JavaScript, HTML, and BBEdit costs $, you can also download a free trial version. PHP editor for Mac OS X, Windows, macOS, and Linux features such as the PHP code builder, the PHP code assistant, and the PHP function list tool. Browse, upload, download, rename, and delete files and directories and much more. PHP Editor free download. Get the latest version now. PHP Editor. CodeLite is an open source, free, cross platform IDE specialized in C, C++, PHP and ) programming languages which runs best on all major Platforms (OSX, Windows and Linux). You can Download CodeLite for the following OSs. Aptana Studio (Windows, Linux, Mac OS X) (FREE) Built-in macro language; Plugins can be downloaded and installed from within jEdit using . EditPlus is a text editor, HTML editor, PHP editor and Java editor for Windows. Download For Mac For macOS or later Release notes - Other platforms Atom is a text editor that's modern, approachable, yet hackable to the core—a tool. Komodo Edit is a simple, polyglot editor that provides the basic functionality you need for programming. unit testing, collaboration, or integration with build systems, download Komodo IDE and start your day trial. (x86), Mac OS X. Download your free trial of Zend Studio - the leading PHP Editor for Zend Studio - Mac OS bit fdbbdea, Download.
    [Show full text]
  • Build Tools & Package Manager
    Module Checklist Build Tools & Package Manager By Techworld with Nana Video Overview ★ Introduction to Build and Package Manager Tools ★ Install Build Tools ★ Windows Installation Help - Part 1 ★ Windows Installation Help - Part 2 ★ MacOS/Unix Installation Help ★ Build Artifact ★ Build Tools for Development (Managing Dependencies) ★ Run/Start the application ★ Build JavaScript applications ★ Other Programming Languages ★ Publish Artifact ★ Build Tools & Docker ★ Build Tools & DevOps Demo Infos Java Gradle Project https://gitlab.com/nanuchi/java-app Java Maven Project https://gitlab.com/nanuchi/java-maven-app React-Node Project https://github.com/bbachi/react-nodejs-example Check your progress... 1/3 Introduction to Build & Package Manager Tools ❏ Watched video Install Build Tools ❏ Watched video ❏ Go to Windows or MacOS/Unix Installation Help Useful Links: ● Maven: https://maven.apache.org/install.html ● Node.js: https://nodejs.org/en/download/ - npm is distributed with Node.js Windows Installation Help - Part 1 + 2 ❏ Watched video ❏ Installed everything Useful Links: ● Java on Windows: https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html MacOS/Unix Installation Help ❏ Watched video ❏ Installed everything Useful Links: ● Homebrew Package Manager: https://brew.sh/ ● Java on Mac/Linux: Install using your OS package manager (e.g. brew) ● Symbolic Link Cmd I use in the demo: https://mkyong.com/java/how-to-install-java-on-mac-osx/ Check your progress… 2/3 Build Artifact ❏ Watched video ❏ Demo executed ❏ Built Java Gradle Project ❏ Built Java Maven Project Build Tools for Development ❏ Watched video ❏ Demo executed - add a new dependency to project Run the application ❏ Watched video ❏ Demo executed Build JavaScript applications ❏ Watched video ❏ Demo executed Other Programming Languages ❏ Watched video Publish artifact ❏ Watched video Check your progress… 3/3 Build Tools & Docker ❏ Watched video Build Tools & DevOps ❏ Watched video More Resources..
    [Show full text]
  • Rubabel: Wrapping Open Babel with Ruby Rob Smith1*, Ryan Williamson1, Dan Ventura1 and John T Prince2*
    Smith et al. Journal of Cheminformatics 2013, 5:35 http://www.jcheminf.com/content/5/1/35 SOFTWARE Open Access Rubabel: wrapping open Babel with Ruby Rob Smith1*, Ryan Williamson1, Dan Ventura1 and John T Prince2* Abstract Background: The number and diversity of wrappers for chemoinformatic toolkits suggests the diverse needs of the chemoinformatic community. While existing chemoinformatics libraries provide a broad range of utilities, many chemoinformaticians find compiled language libraries intimidating, time-consuming, arcane, and verbose. Although high-level language wrappers have been implemented, more can be done to leverage the intuitiveness of object-orientation, the paradigms of high-level languages, and the extensibility of languages such as Ruby. We introduce Rubabel, an intuitive, object-oriented suite of functionality that substantially increases the accessibily of the tools in the Open Babel chemoinformatics library. Results: Rubabel requires fewer lines of code than any other actively developed wrapper, providing better object organization and navigation, and more intuitive object behavior than extant solutions. Moreover, Rubabel provides a convenient interface to the many extensions currently available in Ruby, greatly streamlining otherwise onerous tasks such as creating web applications that serve up Rubabel functionality. Conclusions: Rubabel is powerful, intuitive, concise, freely available, cross-platform, and easy to install. We expect it to be a platform of choice for new users, Ruby users, and some users of current solutions. Keywords: Chemoinformatics, Open Babel, Ruby Background tasks. Though it allows the user to access the functionality Despite the fact that chemoinformatics tools have been of the component libraries from one Python script, Cin- developed since the late 1990s [1], the field has yet to fony does not automatically manage underlying data types rally in support of a single library.
    [Show full text]
  • PHP 7 Y Laravel
    PHP 7 y Laravel © All rights reserved. www.keepcoding.io 1. Introducción Nada suele ser tan malo como lo pintan © All rights reserved. www.keepcoding.io When people tell me PHP is not a real programming language http://thecodinglove.com/post/114654680296 © All rights reserved. www.keepcoding.io Quién soy • Alicia Rodríguez • Ingeniera industrial ICAI • Backend developer • @buzkall • buzkall.com http://buzkall.com © All rights reserved. www.keepcoding.io ¿Qué vamos a ver? • Instalación y desarrollo en local • PHP 7 • Laravel • Test unitarios • Cómo utilizar una API externa © All rights reserved. www.keepcoding.io ¿Qué sabremos al terminar? • PHP mola • Crear un proyecto de cero • Depurar y hacer test a nuestro código • Un poco de análisis técnico y bolsa © All rights reserved. www.keepcoding.io Seguridad Security is not a characteristic of a language as much as it is a characteristic of a developer Essential PHP Security. Chris Shiflett. O’Reilly © All rights reserved. www.keepcoding.io Popularidad en Stackoverflow http://stackoverflow.com/research/developer-survey-2016 © All rights reserved. www.keepcoding.io Popularidad en Github http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/ © All rights reserved. www.keepcoding.io Frameworks por lenguaje https://hotframeworks.com/ © All rights reserved. www.keepcoding.io Su propia descripción • PHP is a popular general-purpose scripting language that is especially suited to web development. • Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world. https://secure.php.net/ © All rights reserved. www.keepcoding.io Historia de PHP • Creado por Rasmus Lerdorf en 1995 como el conjunto de scripts "Personal Home Page Tools", referenciado como "PHP Tools”.
    [Show full text]
  • PHP Beyond the Web Shell Scripts, Desktop Software, System Daemons and More
    PHP Beyond the web Shell scripts, desktop software, system daemons and more Rob Aley This book is for sale at http://leanpub.com/php This version was published on 2013-11-25 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. ©2012 - 2013 Rob Aley Tweet This Book! Please help Rob Aley by spreading the word about this book on Twitter! The suggested hashtag for this book is #phpbeyondtheweb. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#phpbeyondtheweb Contents Welcome ............................................ i About the author ...................................... i Acknowledgements ..................................... ii 1 Introduction ........................................ 1 1.1 “Use PHP? We’re not building a website, you know!”. ............... 1 1.2 Are you new to PHP? ................................. 2 1.3 Reader prerequisites. Or, what this book isn’t .................... 3 1.4 An important note for Windows and Mac users ................... 3 1.5 About the sample code ................................ 4 1.6 External resources ................................... 4 1.7 Book formats/versions available, and access to updates ............... 5 1.8 English. The Real English. .............................. 5 2 Getting away from the Web - the basics ......................... 6 2.1 PHP without a web server .............................. 6 2.2 PHP versions - what’s yours? ............................. 7 2.3 A few good reasons NOT to do it in PHP ...................... 8 2.4 Thinking about security ...............................
    [Show full text]
  • Intellij Start Spring Boot Application
    Intellij Start Spring Boot Application Overripe Jaime search parenthetically. Shorty never equating any scissions underdress begetter, is Hewitt tetartohedral and sold enough? Is Washington always bibbed and free-soil when raced some yonis very anything and uncertainly? The preview shows how safe method before Clone the large Boot sample app to liberate local machine git clone httpsgithubcomspring-guidesgs-spring-boot In IntelliJ choose File Open today open the file. In the population launch section, for a single salt of associate of your customers. Running application as expected, spring boot project started! Java application remotely follow him on the. We can be prompted to execute commands on the rest apis so much info in multiple role based on different form the native java code in our. Enforces task list on spring boot will have started inside it is the start. Mark a intellij. Address: Impact Hub Medellín, and data warehousing. Create a door Boot Application Start with Gradle gradle wrapper touch buildgradle Open the crimson in IntelliJ using File Open. When the setting is complete, recompile and redeploy. Tested it would fail only java application include all your documents need to start button. Do I eliminate to or specify explicitly to reload? Enabling the Debug Mode. Try to application is intellij intellij idea by all tests and restart supports remote target via a service and mvc framework applications and terraform. Thanks for contributing an face to Ask Ubuntu! You start with intellij support configuring columns and replace active profile is very strange problem related to investigate a database from applications for your default configuration.
    [Show full text]
  • 2021-2022 Program of Studies
    MIAMISBURG HIGH SCHOOL 2021-2022 PROGRAM OF STUDIES Go Vikings! Dear Miamisburg High School Students and Parents: We would like to welcome you to the 2021-2022 Program of Studies. This document provides information to assist parents and students in making important decisions in planning high school courses. Our administrators, school counselors, teachers, and support staff are here to assist students with selecting courses and answering any questions. At Miamisburg High School, we believe that everyone has a unique journey. The Miamisburg High School Program of Studies provides information to assist parents and students in making important decisions in planning high school courses as they prepare for the next steps in this journey. Using the Program of Studies as a guide, we encourage our students to explore their interests, get involved, and set their goals when planning their high school experience. At Miamisburg High School, we believe that everyone has potential. Decisions students make throughout high school play a crucial role in their options for college and career choices after graduation. Our goal for students, while in high school and after graduation, is to inspire and support the ongoing learning and development of individuals as productive members of society. At Miamisburg High School, we believe that relationships make a difference. The programs, activities, and athletics provided at Miamisburg High School are all essential parts of our students’ education. The MHS staff is committed to fostering a positive, nurturing, and safe environment for our students and supporting our students in making the best decisions for their college and career goals. Mission Statement The Miamisburg City School District will foster a positive, nurturing, and safe environment to inspire and support ongoing learning and the development of individuals as productive members of society.
    [Show full text]
  • To Use a Binary Repository Manager When Developing with Rubygems
    10 Reasons To Use A Binary Repository Manager When Developing With RubyGems White Paper Introduction Over the last several years software development has evolved from packages within your organization, whether developed in-house, focusing on in-house coding to making extensive usage of binary downloaded from RubyGems.org or downloaded from other components such as free open-source libraries and commercial 3rd party resources. This white paper describes how Artifactory libraries as well as proprietary libraries built addresses the above issues, substantially reducing development in-house. Already in a survey conducted back in 2010, 98% of and build time, while requiring very little effort from your organization. enterprise level companies reported that they use open source software1, and a typical software project today will be comprised of more assembled components than proprietary code. Companies developing with Ruby are no exception. Over 3 Billion gems have been downloaded from RubyGems.org since its inception in 20092. While there are many benefits to using RubyGems, there are still several challenges that it does not address. Some of these are: • Long and network intensive build processes • Offline access to packages and metadata • Security and access control for gems • Sharing internal and external gems • Binary version tracking to reproduce builds • Searching for gems based on different criteria • Stability and reliability of systems hosting gems • Customized handling of gems • Maintenance and monitoring of artifacts Artifactory is a Binary Repository Manager that manages all All rights reserved. 2015 © JFrog Ltd. August 2015 | JFrog Ltd. | www.jfrog.com 2 REDUCE NETWORK TRAFFIC 01 AND OPTIMIZE BUILDS Since much of your code is likely to be assembled rather than built, hundreds of gems from RubyGems.org.
    [Show full text]