The Rails™ 4 Way

Total Page:16

File Type:pdf, Size:1020Kb

The Rails™ 4 Way Praise for The Rails Way For intermediates and above, I strongly recommend adding this title to your tech- nical bookshelf. There is simply no other Rails title on the market at this time that offers the technical depth of the framework than The Rails™ 3 Way. — Mike Riley, Dr. Dobb’s Journal I highly suggest you get this book. Software moves fast, especially the Rails API, but I feel this book has many core API and development concepts that will be useful for a while to come. — Matt Polito, software engineer and member of Chicago Ruby User Group This book should live on your desktop if you’re a Rails developer. It’s nearly perfect in my opinion. — Luca Pette, developer The Rails™ 3 Way is likely to take you from being a haphazard poke-a- stick- at- it programmer to a deliberate, skillful, productive, and confi dent RoR developer. — Katrina Owen, JavaRanch I can positively say that it’s the single best Rails book ever published to date. By a long shot. — Antonio Cangiano, software engineer and technical evangelist at IBM psn-fernandez-all.indb i 5/9/14 10:07 AM This book is a great crash course in Ruby on Rails! It doesn’t just document the features of Rails, it fi lters everything through the lens of an experienced Rails developer— so you come out a pro on the other side. — Dirk Elmendorf, cofounder of Rackspace Inc. and Rails developer The key to The Rails Way is in the title. It literally covers the “way” to do almost everything with Rails. Writing a truly exhaustive reference to the most popular web application framework used by thousands of developers is no mean feat. A thankful community of developers that has struggled to rely on scant documentation will embrace The Rails Way with open arms. A tour de force! — Peter Cooper, editor, Ruby Inside: The Ruby Blog In the past year, dozens of Rails books have been rushed to publication. A handful are good. Most regurgitate rudimentary information easily found on the Web. Only this book provides both the broad and deep technicalities of Rails. Nascent and expert developers, I recommend you follow The Rails Way. — Martin Streicher, chief technology offi cer, McClatchy Interactive, former editor in chief of Linux Magazine Hal Fulton’s The Ruby Way has always been by my side as a reference while program- ming Ruby. Many times I had wished there was a book that had the same depth and attention to detail, only focused on the Rails framework. That book is now here and hasn’t left my desk for the past month. — Nate Klaiber, Ruby programmer I knew soon after becoming involved with Rails that I had found something great. Now, with Obie’s book, I have been able to step into Ruby on Rails development coming from .NET and be productive right away. The applications I have created I believe to be a much better quality due to the techniques I learned using Obie’s knowledge. — Robert Bazinet, InfoQ.com, .NET, and Ruby community editor and founding member of the Hartford Ruby Brigade Extremely well written; it’s a resource that every Rails programmer should have. Yes, it’s that good. — Reuven Lerner, Linux Journal columnist psn-fernandez-all.indb ii 5/9/14 10:07 AM THE RAILS™ 4 WAY psn-fernandez-all.indb iii 5/9/14 10:07 AM Addison-Wesley Professional Ruby Series Obie Fernandez, Series Editor Visit informit.com/ruby for a complete list of available products. he Addison-Wesley Professional Ruby Series provides readers with practical, Tpeople-oriented, and in-depth information about applying the Ruby platform to create dynamic technology solutions. The series is based on the premise that the need for expert reference books, written by experienced practitioners, will never be satisfied solely by blogs and the Internet. Make sure to connect with us! informit.com/socialconnect psn-fernandez-all.indb iv 5/9/14 10:07 AM THE RAILS™ 4 WAY Obie Fernandez Kevin Faustino Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City psn-fernandez-all.indb v 5/9/14 10:07 AM Many of the designations used by manufacturers and sellers to distinguish their products are claimed Editor- in-Chief as trademarks. Where those designations appear in this book, and the publisher was aware of a trade- Mark L. Taub mark claim, the designations have been printed with initial capital letters or in all capitals. Acquisitions Editor Debra Williams Cauley The authors and publisher have taken care in the preparation of this book but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is Managing Editor John Fuller assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. Full- Service Production Manager For information about buying this title in bulk quantities or for special sales opportunities (which may Julie B. Nahil include electronic versions; custom cover designs; and content particular to your business, training Editorial Assistant goals, marketing focus, or branding interests), please contact our corporate sales department at corp- Kim Boedigheimer [email protected] or (800) 382- 3419. Production Editor For government sales inquiries, please contact [email protected]. Scribe Inc. For questions about sales outside the United States, please contact [email protected]. Copy Editor Scribe Inc. Visit us on the web: informit.com/aw Indexer Scribe Inc. Cataloging- in- Publication Data is on fi le with the Library of Congress Proofreader Copyright © 2014 Pearson Education, Inc. Scribe Inc. Compositor All rights reserved. Printed in the United States of America. This publication is protected by copyright, Scribe Inc. and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, Cover Designer Chuti Prasertsith recording, or likewise. To obtain permission to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to (201) 236- 3290. Parts of this book contain material excerpted from the Ruby and Rails source code and API doc- umentation, copyright © 2004– 2014 by David Heinemeier Hansson under the MIT license. Chapter 21 contains material excerpted from the RSpec source code and API documentation, copyright © 2005– 2014 by the RSpec Development Team. Rails and Ruby on Rails are trademarks of David Heinemeier Hansson. The MIT License reads: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation fi les (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is fur- nished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAM- AGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER DEALINGS IN THE SOFTWARE. ISBN- 13: 978- 0- 321- 94427- 6 ISBN- 10: 0- 321- 94427- 5 Text printed in the United States on recycled paper at Courier in Westford, Massachusetts. First printing, June 2014 psn-fernandez-all.indb vi 5/9/14 10:07 AM Taylor, your hard work and dedication to your craft are an inspiration to me every day. I love you. psn-fernandez-all.indb vii 5/9/14 10:07 AM This page intentionally left blank Contents Foreword by Steve Klabnik xxxix Foreword to the Previous Edition by David Heinemeier Hansson xli Foreword to the Previous Edition by Yehuda Katz xliii Introduction xlv Acknowledgments li About the Authors liii Chapter 1 Rails Environments and Confi guration 1 1.1 Bundler 2 1.1.1 Gemfile 3 1.1.2 Installing Gems 5 1.1.3 Gem Locking 7 1.1.4 Packaging Gems 7 1.2 Startup and Application Settings 9 1.2.1 config/application.rb 9 1.2.2 Initializers 11 1.2.3 Additional Confi guration 16 1.2.4 Spring Application Preloader 17 1.3 Development Mode 18 1.3.1 Automatic Class Reloading 18 1.3.2 Eager Load 20 1.3.3 Error Reports 20 1.3.4 Caching 20 1.3.5 Raise Delivery Errors 21 ix psn-fernandez-all.indb ix 5/9/14 10:07 AM x Contents 1.3.6 Deprecation Notices 21 1.3.7 Pending Migrations Error Page 21 1.3.8 Assets Debug Mode 22 1.4 Test Mode 22 1.5 Production Mode 23 1.5.1 Assets 25 1.5.2 Asset Hosts 26 1.6 Confi guring a Database 26 1.7 Confi guring Application Secrets 27 1.8 Logging 29 1.8.1 Rails Log Files 30 1.8.2 Tagged Logging 32 1.8.3 Log File Analysis 32 1.9 Conclusion 35 Chapter 2 Routing 37 2.1 The Two Purposes of Routing 38 2.2 The routes.rb File 39 2.2.1 Regular Routes 40 2.2.2 Constraining Request Methods 41 2.2.3 URL Patterns 42 2.2.4 Segment Keys 43 2.2.5 Spotlight on the :id Field 44 2.2.6 Optional Segment Keys 44 2.2.7 Redirect Routes 45 2.2.8 The Format Segment 46 2.2.9 Routes as Rack Endpoints 48 2.2.10 Accept Header 48 2.2.11
Recommended publications
  • Skimmer Tracker Building a Payment Card Skimmer Database
    Degree Final Project Bachelor Degree in Informatics Engineering Specialization in Software Engineering Skimmer Tracker Building a payment card skimmer database Arnau Buch Torrents Project Director: Nolen Scaife, Department of Computer Science, CU Boulder Internal examiner: Ernest Teniente, ESSI Department, FIB-UPC Defense date: 30th of June, 2020 Abstract With the rise of credit cards as an integral part of the economy, crime related to them has risen accordingly. One of the most common ways to steal credit card data is through skimmers in gas-pumps. The skimmer device consists of a simple PCB (printed circuit board), and it is inserted inside the gas-pump to steal consumer’s credit cards. Incurred costs due to fraud can go well into the thousands per person. Criminals install multiple skimmers across counties and states in the US. When skimmers are eventually discovered it is practically impossible for police to conduct a successful investigation on them. Police departments rarely collaborate on these sorts of cases that span different counties and states, which eliminates any possibility of them being solved. Skimmer Tracker is a web application that lets law enforcement agencies publish the skimmers they find. With this sharing of evidence we aim to group different skimmers and connect them as part of the same case through computer vision based analysis. Resum Amb l’auge de les targetes de crèdit com a part integral de l’economia, els delictes relacionats amb elles ha augmentat corresponentment. Una de les maneres més comunes de robar les dades de targetes de crèdit és a través de skimmers als sortidors de gasolina.
    [Show full text]
  • Ecosystems in Github and a Method for Ecosystem Identification Using
    Ecosystems in GitHub and a Method for Ecosystem Identification using Reference Coupling Kelly Blincoe, Francis Harrison and Daniela Damian Software Engineering Global InterAction Lab University of Victoria Victoria, BC, Canada Email: [email protected], [email protected], [email protected] Abstract—Software projects are not developed in isolation. To identify technical dependencies, we turn to cross- Recent research has shifted to studying software ecosystems, references on GitHub, a social code hosting service. GitHub communities of projects that depend on each other and are encourages collaboration between users both within and across developed together. However, identifying technical dependencies at the ecosystem level can be challenging. In this paper, we projects through its transparent interface and built-in social 1 propose a new method, known as reference coupling, for detecting features. With GitHub Flavored Markdown , when a user technical dependencies between projects. The method establishes cross-references another repository in a pull request, issue or dependencies through user-specified cross-references between commit comment a link to the other repository is automati- projects. We use our method to identify ecosystems in GitHub- cally created. This introduces a way for developers to bring hosted projects, and we identify several characteristics of the identified ecosystems. We find that most ecosystems are centered awareness across repositories. In this paper, we investigate around one project and are interconnected with other ecosystems. whether these cross-references indicate a technical dependency The predominant type of ecosystems are those that develop between the two repositories by examining a set of these tools to support software development. We also found that the cross-references.
    [Show full text]
  • ← Benjamin Fleischer's Resume
    Benjamin Fleischer Chicago, IL, United States M) 708-421-1699 http://benjaminfleischer.com SUMMARY: Active open-source software maintainer and contributor. Maintains or collaborates on tens of projects, including ActiveModelSerializers, SimpleCov, RubyGems guide, and RMagick. Has contributed to tens of others, including Rails, NodeJS, JSON:API, Kaminari, Homebrew, bcrypt-ruby, and Passenger. Core maintainer of ActiveModelSerializers, one of the most popular Ruby serialization libraries. Created the RubyGems guides security page PROFESSIONAL EXPERIENCE: Web Development Software Engineer – SwipeSense, Inc. – Chicago, IL, July 2015‑July 2017 Hand‑hygiene sensors and analytics to help healthcare institutions eliminate acquired infections. Ruby and Rails, Principal Developer: Responsible for API design, implementation, security, testing, and documentation. Improved development UX, such as by added headless Chrome testing. Prior to that, added qtchooser. Databases Management (MySQL/Postgres/Redshift): Schema design, query optimization, and index optimization. Created regular backups and easy restores that are regularly tested. ETL (Extract Transform Load) management. Created tooling for coding standards automation: Automated style enforcement, security scan, vulnerability scan, and library upgrades. Add Docker-backed database images on for continuous testing. Add datamart/analytics data to test and development environment. ECMAScript: Ember.js, React.js, Webpack. Amazon Web Services (AWS): CLI scripting for ENV versioning, creating resources, deploying resources, and starting/stopping servers by name Web Development Software Engineer – Springleaf Financial Services – Chicago, IL, November 2014‑May 2015 Created tooling for coding standards automation: Common Rails template, API controller base, API client base, worker configuration (including ActiveJob). Code coverage, security, and style via git hooks. (Essential before we had staging or CI). Improved team communication: Set up first chat server, wrote up onboarding documents, created employee directory.
    [Show full text]
  • Catalog CALIFORNIA
    Catalog CALIFORNIA January 1 - December 31, 2021 Revision Date: January 13, 2021 www.appacademy.io 825 Battery St 3rd Floor, San Francisco, CA 94111 (415) 417 - 1991 APP ACADEMY CATALOG 2021 | CALIFORNIA Page 2 of 56 Table of Contents Introduction 2 Facilities and Learning Resources 3 Programs and Objectives 4 Soware Engineering Program: Full-Time In-Person 4 Soware Engineering Track: Full-Time Online 10 Bootcamp Prep In-Person & Bootcamp Prep Online 14 Admissions Policies and Procedures 17 Overview 17 Soware Engineering Program: Full-Time In-Person 22 Soware Engineering Track: Full-Time Online 22 Bootcamp Prep In-Person & Bootcamp Prep Online 23 Academic Policies 24 Student Services 31 Student Rights and Grievance Procedure 33 Cancellation, Withdrawal, and Refund Policies 39 Tuition and Fees 42 Bootcamp Prep In-Person 42 Bootcamp Prep Online 42 Soware Engineering Program: Full-Time In-Person 43 Soware Engineering Track: Full-Time Online 48 Faculty 52 Further Information 53 825 Battery St 3rd Floor, San Francisco, CA 94111 APP ACADEMY CATALOG 2021 | CALIFORNIA Page 3 of 56 Introduction Approval to Operate and Information App Academy is a private institution. App Academy is approved to operate by the California Bureau of Private Postsecondary Education. Approved to operate means compliance with state standards as set forth in the California Private Postsecondary Act of 2009 (California Education Code, Title 3, Division 10, Part 59, Chapter 8) and Division 7.5 of Title 5 of the California Code of Regulations. Location of Classes All California classes are conducted at 825 Battery St 3rd Floor, San Francisco, CA 94111 (tel: +1 415 417 1991).
    [Show full text]
  • Types/Bluebird
    @types/bluebird MIT https://www.npmjs.com/package/@types/bluebird @types/body-parser MIT https://www.npmjs.com/package/@types/body-parser @types/chai MIT https://www.npmjs.com/package/@types/chai @types/express MIT https://www.npmjs.com/package/@types/express @types/express-serve-static-core MIT https://www.npmjs.com/package/@types/express-serve-static-core @types/form-data MIT https://www.npmjs.com/package/@types/form-data @types/geojson MIT https://www.npmjs.com/package/@types/geojson @types/js-yaml MIT https://www.npmjs.com/package/@types/js-yaml @types/lodash MIT https://www.npmjs.com/package/@types/lodash @types/mime MIT https://www.npmjs.com/package/@types/mime @types/moment-range MIT https://www.npmjs.com/package/@types/moment-range @types/node MIT https://www.npmjs.com/package/@types/node @types/node-statsd MIT https://www.npmjs.com/package/@types/node-statsd @types/react MIT https://www.npmjs.com/package/@types/react @types/react-dom MIT https://www.npmjs.com/package/@types/react-dom @types/react-transition-group MIT https://www.npmjs.com/package/@types/react-transition-group @types/recompose MIT https://www.npmjs.com/package/@types/recompose @types/request MIT https://www.npmjs.com/package/@types/request @types/sequelize MIT https://www.npmjs.com/package/@types/sequelize @types/serve-static MIT https://www.npmjs.com/package/@types/serve-static @types/validator MIT https://www.npmjs.com/package/@types/validator aasm MIT https://rubygems.org/gems/aasm abab ISC https://www.npmjs.com/package/abab abbrev ISC http://github.com/isaacs/abbrev-js
    [Show full text]
  • 3.2.3.2 AWS Elastic Beanstalk Section ………………………… 34 4 Project Cloudm from the Point of View of a User .……….……………..…… 37 4.1 End Users Panel ……………………………………………………………
    Deployment and migration of business services in the cloud Autor: Bartosz Ignaczewski Director: Jose Luis Vazquez-Poletti Erasmus programme 2016-2017 !1 Table of contents 1 Introduction .…………………………………………………………………… 5 1.1 Issue of the work ……..………………………..……………………….. 5 1.2 Scope and objective of the work ………..………………………………. 6 1.3 Structure of the work ……………………………………………………. 7 2 Deployment and migration of business services in the cloud .………………. 8 2.1 Cloud computing overview ………………………………………………8 2.1.1 Cloud computing definition ………………………………………. 8 2.1.2 Why do we need cloud computing? ………………………………. 9 2.1.3 Cloud computing characteristics …………………………………..11 2.1.4 Cloud computing deployment models …………………………….14 2.1.4.1 Public cloud …………………………………………….. 14 2.1.4.2 Private cloud ……………………………………………. 15 2.1.4.3 Community cloud ………………………………………. 15 2.1.4.4 Hybrid cloud ……………………………………………. 15 2.1.5 Cloud computing service models ………………………………… 16 2.1.5.1 Infrastructure as a Service ……………………………….17 2.1.5.2 Platform as a Service …………………………………….18 2.1.5.3 Software as a Service …………………………………….18 2.2 Overview of existing solutions ……….……………….…………………19 2.2.1 Deployment ………………………………………………………..19 2.2.1.1 Infrastructure as a Service ……………………………… 20 2.2.1.2 Platform as a Service …………………………………….21 2.2.2 Migration …………………………………………………………..22 3 Project CloudM ………………………………………………..………………..24 3.1 Project overview …………………………………………………………24 3.1.1 End users panel …………………………………………………….24 3.1.2 Administrator panel ………………………………………………..25 3.1.3 Sample use cases …………………………………………………..28 3.2 Tools, solutions and technologies used in the project ………………….. 29 3.2.1 Overview …………………………………………………………. 29 !2 3.2.1.1 Ruby on Rails framework ……………………………… 29 3.2.1.2 Communication with Amazon Web Services ………….
    [Show full text]
  • Open Source Used in AMP Operations Admin Console 2.1
    Open Source Used In AMP Operations Admin Console 2.1 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-1070844267 Open Source Used In AMP Operations Admin Console 2.1 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-1070844267 Contents 1.1 tilt 1.4.1 1.1.1 Available under license 1.2 jquery-rails 4.3.1 1.2.1 Available under license 1.3 method-source 0.8.2 1.3.1 Available under license 1.4 bootstrap-sass 2.2.1.1 1.4.1 Available under license 1.5 multi-json 1.12.1 1.5.1 Available under license 1.6 globalid 0.4.0 1.6.1 Available under license 1.7 ruby-timecop 0.8.0 1 1.7.1 Available under license 1.8 font-awesome-rails 4.6.3.0 1.8.1 Available under license 1.9 safe-yaml 1.0.4 1.9.1 Available under license 1.10 arel 6.0.4 1.10.1 Available under license 1.11 rest-client 1.8.0 1.11.1 Available under license 1.12 httpcookie 1.0.3 1.12.1 Available under license 1.13 openssl 2.0.3 1.13.1 Available under license Open Source Used In AMP Operations Admin
    [Show full text]
  • SHAI COLEMAN I'm Currently Not Considering New Opportunities Until Further Notice
    SHAI COLEMAN I'm currently not considering new opportunities until further notice. PROFESSIONAL PROFILE: A 360° expertise in a wide range of technical roles covering the full stack: polyglot development, business analysis, devops, system administration, front end and back end development, database development and administration, performance, security and agile project management. Up to date with the latest trends and best practices in the industry. Lifelong passion for technology. Working in tech since 1992. WORK HISTORY: Nov/2018 – Cash Analytics (enterprise cash flow forecasting) – senior developer Present: Software developer Dec/2017 – Full Health Medical (preventative healthcare startup) – senior back-end developer, devops Mar/2018: Rails development (Rails/MongoDB/RSpec/Capistrano). Technical debt cleanup, improved project health (software upgrades, performance, security, code quality, testing, code cleanup, documentation). Migrated legacy infrastructure to Ansible, Ubuntu 16.04, Capistrano 3, Envoy Proxy & AWS. Jun/2015 – Storyful (social media content agency) – senior back-end developer, reliability engineer Nov/2017: Mentoring and advising a team of up to 8 developers and beyond. Implemented best practices, code reviews and pair programming. Rails development (Rails/PostgreSQL/ElasticSearch/Agile/Scrum/OOP/RSpec/Capistrano/ Sidekiq/NewRelic) and a bit of Angular/EmberJS. Reworked a social media content discovery app from legacy prototype to product. Handled 50x scale increase and reduced downtime 10x. Architected a real time social network monitoring tool to handle 20x more data (Rails/Redis). Rearchitected a video archiving tool to collect virality metrics across various platforms. Developed a distributed peeking MITM proxy (Go/AWS/Terraform/Docker/Elastic Stack). Migrated various legacy apps to Rails 5. Migrated infrastructure to AWS, Ubuntu 16.04, systemd, Capistrano 3, PostgreSQL 9.6, etc.
    [Show full text]
  • Obie Fernandez, Kevin Faustino — «The Rails 4
    The Rails 4 Way Obie Fernandez, Kevin Faustino and Vitaly Kushner This book is for sale at http://leanpub.com/tr4w This version was published on 2014-06-03 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. ©2013 - 2014 Obie Fernandez, Kevin Faustino and Vitaly Kushner Tweet This Book! Please help Obie Fernandez, Kevin Faustino and Vitaly Kushner by spreading the word about this book on Twitter! The suggested tweet for this book is: I just bought the beta release of The Rails 4 Way The suggested hashtag for this book is #tr4w. 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=#tr4w Taylor, your hard work and dedication to your craft is an inspiration to me every day. I love you… Contents Foreword ................................................... ii Foreword (to The Rails 3 Way) ....................................... iii Foreword (to The Rails Way) ........................................ v Acknowledgments .............................................. vi About the Authors .............................................. vii Obie Fernandez .............................................. vii Kevin Faustino .............................................. vii Introduction ................................................
    [Show full text]
  • Third Party License Agreements
    Third party license agreements In this document you can find all third party libraries used by PlanRadar GmbH in its products and their respective License Agreements. iOS App TPKeyboardAvoiding Licence (Zlib) Copyright (c) 2013 Michael Tyson This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. This notice may not be removed or altered from any source distribution. KKPinCodeTextField (ios_pinCodeTextField) Copyright (c) 2018 Amirzhan [email protected] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    [Show full text]
  • Timeline Project 1
    RUNNING HEAD: TIMELINE PROJECT 1 BUILDING AN OPEN SOURCE SOCIAL MEDIA AGGREGATION TIMELINE A Capstone Project Submitted to Southern Utah University in partial fulfillment of the requirements for the degree of Master of Arts in Professional Communication January 2014 By Justin Aiken Capstone Committee: Jon Smith, Ph.D., Committee Chair Lance Jackson, M.A. Lindsey Harvell, Ph.D. TIMELINE PROJECT 2 APPROVAL PAGE The undersigned, appointed by the dean of the Humanities and Social Science, have examined the thesis entitled Building An Open Source Social Media Aggregation Timeline Presented by Justin Aiken a candidate for the degree of Master of Arts in Professional Communication and hereby that, in our opinion, is worthy of acceptance. ____________________________________________ Chair of Committee – Jon Smith, Ph.D. ____________________________________________ Committee Member – Lindsey Harvell, Ph.D. ____________________________________________ Committee Member – Lance Jackson, M.A. TIMELINE PROJECT 3 Abstract An ever growing number of web services and social media networks allow one to post a lot of content in to many different websites and services; however, there is no simple way to chronologically aggregate the content – especially not in a space controlled by the user. Relying on a site or service to present the user’s data through their interface allows for too much noise and muddies the user’s message. In response, this project built an open source, expandable timeline that pulls in a user's content from various places on the web,
    [Show full text]