Code Generation. The Safety Scissors Of Metaprogramming
|
|
- Shawn Porter
- 5 years ago
- Views:
Transcription
1 Code Generation The Safety Scissors Of Metaprogramming
2 Ruby2Ruby
3 (lambda do puts hello world end).to_ruby
4 class Widget < ActiveRecord::Base end
5 Ruby2Ruby.translate(Widget)
6 class Widget < ActiveRecord::Base has_one :foo end
7 Ruby2Ruby.translate(Widget)
8
9
10
11
12 overkill
13 monkeypatching
14 tangled object graph
15 stop monkey-patching!
16 nothing can ever protect you from bad programming
17 nothing can ever protect you from bad programming
18
19
20 tests specs
21 tests y u need specs
22
23 tests rawk
24 debuggers suck
25 debuggers suck
26 monkey-patch monkey-patching itself
27 meta-monkey-patching
28 rubinius
29 nodebox
30 code == data
31 at this point, I just demoed code from my blog. below is a link to the post: (code samples are included)
32
33 simple object graph
34 nodebox
35 tangled object graph
36 node box
37 same tool
38 different output
39 proof of concept
40
41 foo
42 foo bar
43 foo bar baz
44 foo bar foo bar foo foo bar bar baz foo bar baz foo foo foo baz bar baz bar bar baz baz
45 debuggers suck
46 some people want debuggers
47
48 Ruby has no tool support!
49 1 day
50 shock the monkey
51 Powerful Tools
52 Rubinius Nodebox code == data Powerful Tools
53 Rubinius Nodebox code == data Powerful Tools
54 Rubinius Nodebox code == data Powerful Tools
55 Rubinius Nodebox code == data
56 code == data
57 1998
58 generated HTML
59 automated cvs and rcs
60
61 EJB (2003)
62 legacy app: 150 tables
63 ejb: 7 files per entity
64 7 * 150 = 1050 Java files
65 by hand: 3+ man-years
66 generators: 2 man-months
67
68 four generator types code munger generator inline code expansion generator mixed-code generator partial-class generator tier generator
69 generating UIs
70 generating unit tests
71 embedding SQL with generators
72 creating database access generators
73 generating web services layers
74 generating models from a business logic DSL
75 sound familiar?
76
77 script/generate scaffold
78 script/generate resource
79 script/generate plugin
80 script/generate migration
81 script/generate
82 rails Command
83 acts_as_authenticated
84 restful_authentication
85 ActiveRecord SQL
86 ActionPack Helpers ActiveRecordHelper AssetTagHelper AtomFeedHelper BenchmarkHelper CacheHelper CaptureHelper DateHelper DebugHelper FormHelper FormOptionsHelper Text FormTagHelper JavascriptHelper NumberHelper PrototypeHelper RecordTagHelper SanitizeHelper ScriptaculousHelper TagHelper TextHelper UrlHelper RecordIdentificationHelper
87 code generation FTW
88 code == data
89 (eq (code (data)))
90
91 functions which return functions which return functions which return functions which return functions which return functions which return functions which return functions which return functions which return functions which return functions
92 code which generates data which runs as code which generates data which runs as code which generates data which runs as code which generates data which runs as code which generates data which runs as code
93
94 lisp macros pwn metaprogramming
95 and you can do them in Perl!
96
97 shocked? perl!
98 λ the ultimate
99 combinator
100 $
101 small teams$
102 $ small teams lisp macros
103 great programmers can write better programmers than they can hire
104 great programmers can write better programmers than they can hire metaprogramming
105 great?
106 incredible power
107 simple clarity
108 simplicity magic
109 skilled programmers can write better programmers than they can hire metaprogramming
110
111 code which generates data which runs as code which generates data which runs as code which generates data which runs as code which generates data which runs as code which generates data which runs as code
112 Unix.is_a? Lisp
113 # => true
114
115 Caveats! read the book, the technique is easy leveraging it is the clever part you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
116 Caveats! read the book, the technique is easy leveraging it is the clever part you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
117 Caveats! read the book, the technique is easy leveraging it is the clever part you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
118 Caveats! read the book, the technique is easy leveraging it is the clever part you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
119 Caveats! read the book, the technique is easy leveraging it is the clever part you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
120
121 Essential Technique read the book, the technique is easy leveraging it is the clever part you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
122 Essential Technique puts leveraging it is the clever part you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
123 Essential Technique puts eval you can use Ruby as well as Rubinius if Unix is a Lisp, the filesystem is a compiler
124 Essential Technique puts eval ERB if Unix is a Lisp, the filesystem is a compiler
125 Essential Technique puts eval ERB (unix if Unix pipes) is a Lisp, the filesystem is a compiler
126 Essential Technique open mouth make noise profit if Unix is a Lisp, the filesystem is a compiler
127
Rails: MVC in action
Ruby on Rails Basic Facts 1. Rails is a web application framework built upon, and written in, the Ruby programming language. 2. Open source 3. Easy to learn; difficult to master. 4. Fun (and a time-saver)!
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
More informationSoftware Engineering 2 (SWT2) Chapter 2: Introduction into Ruby on Rails
Software Engineering 2 (SWT2) Chapter 2: Introduction into Ruby on Rails Agenda 2 Ruby & Ruby on Rails What is Ruby on Rails? A few words about Ruby Core components RESTful architecture Active Record Your
More informationMy First Three Weeks on Rails. Aaron Mulder Chariot Solutions
My First Three Weeks on Rails Aaron Mulder Chariot Solutions Background J2EE developer Mac/Linux platform Have used dynamic languages before (mostly Perl, some P/Jython) Never used Ruby Suddenly found
More informationWeb Technologies VU ( ) Vedran Sabol. Nov 13, ISDS, TU Graz. Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60
Web Technologies VU (706.704) Vedran Sabol ISDS, TU Graz Nov 13, 2017 Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, 2017 1 / 60 Outline 1 Separation of Concerns Design Principle 2 Model-View-Controller
More informationRuby on Rails. SITC Workshop Series American University of Nigeria FALL 2017
Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction
More informationScaling Rails on App Engine with JRuby and Duby
Scaling Rails on App Engine with JRuby and Duby Run your apps on Google Servers, with access to first-class Java APIs John Woodell David Masover Ryan Brown June 9, 2010 2 Google App Engine 3 Key Features
More informationContents in Detail. Foreword by Xavier Noria
Contents in Detail Foreword by Xavier Noria Acknowledgments xv xvii Introduction xix Who This Book Is For................................................ xx Overview...xx Installation.... xxi Ruby, Rails,
More informationRails + Legacy Databases Brian Hogan - RailsConf 2009 twitter: bphogan IRC: hoganbp
Rails + Legacy Databases Brian Hogan - RailsConf 2009 twitter: bphogan IRC: hoganbp So the main thing I want you to take away from this talk is... Please don t do it! Questions? Just kidding. The point
More informationDeveloper Internship Opportunity at I-CC
Developer Internship Opportunity at I-CC Who We Are: Technology company building next generation publishing and e-commerce solutions Aiming to become a leading European Internet technology company by 2015
More informationRead & Download (PDF Kindle) Windows Game Programming For Dummies (For Dummies (Computer/Tech))
Read & Download (PDF Kindle) Windows Game Programming For Dummies (For Dummies (Computer/Tech)) Get the scoop on DirectDraw, DirectInput physics modeling, and more! The one book you need to begin building
More informationStrategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap
Strategies for Rapid Web Prototyping Ruby on Rails Strategies for Rapid Web Prototyping DRY: Don't repeat yourself Convention over Configuration Separation of Concern Templating MVC: Model View Controler
More informationCSE 413 Languages & Implementation. Hal Perkins Winter 2019 Structs, Implementing Languages (credits: Dan Grossman, CSE 341)
CSE 413 Languages & Implementation Hal Perkins Winter 2019 Structs, Implementing Languages (credits: Dan Grossman, CSE 341) 1 Goals Representing programs as data Racket structs as a better way to represent
More informationLEVERAGING CONVENTION OVER CONFIGURATION FOR STATIC ANALYSIS IN DYNAMIC LANGUAGES
LEVERAGING CONVENTION OVER CONFIGURATION FOR STATIC ANALYSIS IN DYNAMIC LANGUAGES David Worth dave@highgroove.com (email) - @highgroovedave (twitter) Or why it s ok to write simple frameworks for complicated
More informationAt the Forge RJS Templates Reuven M. Lerner Abstract The power of Ajax to fetch and run JavaScript generated by your server-side language. The past few months, I've written a number of articles in this
More informationUr/Web, a Domain-Specific Functional Programming Language for Modern Web Applications. Adam Chlipala
Ur/Web, a Domain-Specific Functional Programming Language for Modern Web Applications Adam Chlipala Web Applications: A Steaming Pile of Text HTML, CSS, JavaScript, SQL, URLs, JSON,... Strings, strings,
More informationMRI Internals. Koichi Sasada.
MRI Internals Koichi Sasada ko1@heroku.com MRI Internals towards Ruby 3 Koichi Sasada ko1@heroku.com Today s talk Koichi is working on improving Ruby internals Introduce my ideas toward Ruby 3 Koichi Sasada
More informationEECS 394. Software Development. Communicating. Chris Riesbeck
EECS 394 Software Development Chris Riesbeck Communicating 1 The Problem I never have a clue what the developers are talking about. When I ask what they're doing, they say they're XMLing the CSS SQL RSS
More informationContents in Detail. Who This Book Is For... xx Using Ruby to Test Itself... xx Which Implementation of Ruby?... xxi Overview...
Contents in Detail Foreword by Aaron Patterson xv Acknowledgments xvii Introduction Who This Book Is For................................................ xx Using Ruby to Test Itself.... xx Which Implementation
More informationAquarium: AOP for Ruby
Aquarium: AOP for Ruby Dean Wampler Object Mentor, Inc. dean@objectmentor.com AOSD 2008 April 3, 2008 1 Goals and Features Provide an intuitive syntax. Support runtime addition and removal of advice. Advise
More informationUnit Testing J2EE from JRuby. Evan Light
Unit Testing J2EE from JRuby Evan Light http://evan.tiggerpalace.com Who I am Professional developer since 1996 Java since 1999 J2EE since 2000 Ruby since 2006 Some yutz with Keynote and a remote control
More informationCSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures
CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures Dan Grossman Fall 2014 Hi! I m not Hal J I love this stuff and have taught
More informationInstructions for the Day of Ruby Ruby on Rails Tutorial
Instructions for the Day of Ruby Ruby on Rails Tutorial 1. Make sure you have the vendor files from http://www.cornetdesign.com/files/dor.zip. 2. Open a terminal window and change to a project directory.
More informationCSE341: Programming Languages Lecture 17 Implementing Languages Including Closures. Dan Grossman Autumn 2018
CSE341: Programming Languages Lecture 17 Implementing Languages Including Closures Dan Grossman Autumn 2018 Typical workflow concrete syntax (string) "(fn x => x + x) 4" Parsing Possible errors / warnings
More informationBoldface numbers indicate illustrations, code listings, and tables.
Index Boldface numbers indicate illustrations, code listings, and tables. A ActiveRecord, class in Ruby, 80-82, 84, 86, 88, 90 ActiveXMLService, class in Ruby, 80-82, 84, 90 Agile development, 109-110
More informationMarkus Völter
of Markus Völter voelter@acm.org www.voelter.de @markusvoelter Examples 1 Healthcare Context & Motivation Mobile Apps that help patients w/ treatments Monitor side-effects and recommend actions Manage
More informationCS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES. Tom Horton. * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford)
CS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES Tom Horton * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford) WHAT WILL WE BE TALKING ABOUT? Specific Prototyping Strategies! Low-Fidelity
More informationTeaching Ruby on Rails Dr Bruce Scharlau Computing Science Department University of Aberdeen Aberdeen, AB24 3UE
Teaching Ruby on Rails Dr Bruce Scharlau Computing Science Department University of Aberdeen Aberdeen, AB24 3UE scharlau@csd.abdn.ac.uk Abstract This paper considers the teaching of the object oriented
More informationIntelliJ IDEA, the most intelligent Java IDE
IntelliJ IDEA, the most intelligent Java IDE IntelliJ IDEA, JetBrains flagship Java IDE, provides high-class support and productivity boosts for enterprise, mobile and web development in Java, Scala and
More informationCS252 Advanced Programming Language Principles. Prof. Tom Austin San José State University Fall 2013
CS252 Advanced Programming Language Principles Prof. Tom Austin San José State University Fall 2013 What are some programming languages? Why are there so many? Different domains Mobile devices (Objective
More informationThe Sky s the Limit. JAOO Conference, Aarhus Ernest Micklei, QNH PhilemonWorks Tim Matthews, Cincom Systems. Cincom EMEA Central
The Sky s the Limit Ernest Micklei, QNH PhilemonWorks Tim Matthews, Cincom Systems Cincom EMEA Central JAOO Conference, Aarhus 2009 1 Spanning five decades of global software leadership Founded in 1968
More informationDynamic Languages Strike Back. Steve Yegge Stanford EE Dept Computer Systems Colloquium May 7, 2008
Dynamic Languages Strike Back Steve Yegge Stanford EE Dept Computer Systems Colloquium May 7, 2008 What is this talk about? Popular opinion of dynamic languages: Unfixably slow Not possible to create IDE-quality
More informationOverview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory
SCRIPTING Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Reflection Bindings Serialization Performance, memory Rationale C++ isn't the best choice
More informationPGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?
Google Webtoolkit JSF done right? Session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 2 2008 Dipl.-Wing. P. G. Taboada Web 2.0 Hard to define
More informationClojure. The Revenge of Data. by Vjeran Marcinko Kapsch CarrierCom
Clojure The Revenge of Data by Vjeran Marcinko Kapsch CarrierCom Data Processing is what we do Most programs receive, transform, search, and send data Data is raw, immutable information In its essence,
More informationRuby Programming Professional Made Easy 2nd Edition: Expert Ruby Programming Language Success In A Day For Any Computer User (Ruby, HTML, C
Ruby Programming Professional Made Easy 2nd Edition: Expert Ruby Programming Language Success In A Day For Any Computer User (Ruby, HTML, C Programming,... C++. C, C++ Programming, Computer Program) By
More informationThe Visual Studio 2015 Checklist
The Visual Studio 2015 Checklist ANTI-INFLAMMATORY 5 ways to take the pain out of coding Do you want to? 1 Slash the amount of boilerplate code you have to write? 2 Test faster? Hi Developers, My name
More informationFunctional Programming and the Web
June 13, 2011 About Me Undergraduate: University of Illinois at Champaign-Urbana PhD: Penn State University Retrofitting Programs for Complete Security Mediation Static analysis, type-based compiler Racker:
More informationFront End Programming
Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page
More informationMigrating to the new IBM WebSphere Commerce Suite Platform. The Intelligent Approach for the E-Commerce Transition ELLUMINIS CONSULTING GROUP
WHITEPAPER ELLUMINIS CONSULTING GROUP The Intelligent Approach for the E-Commerce Transition Migrating to the new IBM WebSphere Commerce Suite Platform AN ELLUMINIS CONSULTING GROUP WHITEPAPER Migrating
More informationWebStore9 Services. Web Development Services
WebStore9 Services Web Development Services ASP.Net MVC Development Services ASP.Net Development Services ColdFusion Development Services SharePoint Development Services Classic ASP Development Services
More informationAjax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE
Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE Let's take a look at how we can accomplish this with AJAX in Rails. Overall, I was quite surprised at how easy it is
More informationCommon Lisp. In Practical Usage
Common Lisp In Practical Usage Contents A walk through Lisp history What the man in the street seems to think Some highlights of Common Lisp Lisp in production History The Beginnings Lisp grew from a
More informationAdd Manual Test Script Template Xls
Add Manual Test Script Template Xls How to: Add Test Steps to a Manual Test Case from a Microsoft Excel or For example, if each test case has to log on to the application under test, you can. Create manual
More informationThis tutorial has been designed for beginners who would like to use the Ruby framework for developing database-backed web applications.
About the Tutorial Ruby on Rails is an extremely productive web application framework written in Ruby by David Heinemeier Hansson. This tutorial gives you a complete understanding on Ruby on Rails. Audience
More informationRuby Gem Internals by Examples
SF Software Design in Ruby Meetup Group Ruby Gem Internals by Examples Ben Zhang, 1/14/2014 benzhangpro@gmail.com http://www.meetup.com/software-design-in-ruby-study-group/ Types of Ruby Gem Features Global
More informationClient Side MVC with Backbone & Rails. Tom
Client Side MVC with Backbone & Rails Tom Zeng @tomzeng tom@intridea.com Client Side MV* with Backbone & Rails Benefits of Client Side MVC Backbone.js Introduction Client Side MV* Alternatives Backbone
More informationEclipse Command Language
Cracow, Poland Eclipse Day 2012, September 13 Bartosz Czerwiński bczerwinski@luxoft.com 2 Agenda DSL Scripting in Eclipse ECL Core Concepts Architecture Applicability Future Live Demo 3 DSL 4 Domain Specific
More informationSUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :
SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific
More informationSass. The Future of Stylesheets.
Sass. The Future of Stylesheets. Chris Eppstein Follow me @chriseppstein Architect - Caring.com Creator - Compass Stylesheet Framework Core Contributor - Sass A website for caregivers of the sick and elderly.
More informationExtending Rails: Understanding and Building Plugins. Clinton R. Nixon
Extending Rails: Understanding and Building Plugins Clinton R. Nixon Welcome! Welcoming robin by Ian-S (http://flickr.com/photos/ian-s/2301022466/) What are we going to talk about? The short How plugins
More informationAdvance Dotnet ( 2 Month )
Advance Dotnet ( 2 Month ) Course Content Introduction WCF Using.Net 4.0 Service Oriented Architecture Three Basic Layers First Principle Communication and Integration Integration Styles Legacy Applications
More informationReview of Mobile Web Application Frameworks
Review of Mobile Web Application Frameworks Article Number: 909 Rating: Unrated Last Updated: Mon, May 9, 2011 at 10:57 AM If you are serious about getting your website or web application mobile-friendly,
More informationOracle Mix. A Case Study. Ola Bini JRuby Core Developer ThoughtWorks Studios.
Oracle Mix A Case Study Ola Bini JRuby Core Developer ThoughtWorks Studios ola.bini@gmail.com http://olabini.com/blog Vanity slide Vanity slide Ola Bini Vanity slide Ola Bini From Stockholm, Sweden Vanity
More informationConcepts in Programming Languages
Concepts in Programming Languages Marcelo Fiore Computer Laboratory University of Cambridge 2012 2013 (Easter Term) 1 Practicalities Course web page: with lecture
More informationImpossible Programs. Tom Stuart
Impossible Programs Tom Stuart IMPOSSIBLE PROGRAMS @tomstuart / GOTO Chicago / 2015-05-11 PROGRAMS CAN T DO EVERYTHING IMPOSSIBLE PROGRAMS @tomstuart / GOTO Chicago / 2015-05-11 how can a PROGRAM be IMPOSSIBLE?
More informationLEGACY SYSTEMS MODERNIZATION SERVICES.
LEGACY SYSTEMS MODERNIZATION SERVICES www.eratech.com.eg Slide # 1 Feb. 2013 Agenda 1. Modernization of Legacy Systems Why and How? 2. Success Story Central Auditing Organization 3. Introducing Informix
More informationDOWNLOAD : THE RUBY PROGRAMMING LANGUAGE
DOWNLOAD : THE RUBY PROGRAMMING LANGUAGE RUBY - OFFICIAL SITE ruby is... a dynamic, open source programming language with a focus on simplicity and productivity. it has an elegant syntax that is natural
More informationFirst-class Implementations
First-class Implementations Turtling down Runtime Meta-levels and PCLSRing up François-René Rideau, TUNES Project BostonHaskell, 2016-05-18 http://fare.tunes.org/files/cs/fci-bh2016.pdf 1 This Talk Salvaged
More informationIntroduction to Genero Enterprise
Introduction to Genero Enterprise Laurent Galais Services & Support Manager Four Js US & Canada Tuesday, November 17, 201 Tysons Corner, VA Technical Advisory Council 201 Costa d Este Beach Resort, Vero
More informationRails Engines. Use Case. The Implementation
Rails Engines Rails engines range from simple plugins to powerful micro-applications. The discussions we ve had so far about Railties are closely related to the function of a Rails engine. One interesting
More informationIntroduction to Ruby on Rails
Introduction to Ruby on Rails Keven Richly keven.richly@hpi.de Software Engineering II WS 2017/18 Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Introduction to Ruby on
More informationJRuby: Who What Now. Thomas Enebo JRuby Guy Sun Microsystems
JRuby: Who What Now Thomas Enebo JRuby Guy Sun Microsystems 1 Who am I? エネボ. トーマス Co-lead of JRuby project Longtime Java developer (12+ years) Ruby developer (6 years) Engineer at Sun Microsystems for
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 The following is intended to outline our general product direction.
More informationCSE 135. Main Problem: Multiple languages and multiple computation servers
CSE 15 Rapid Application Development: Object-Relational Mapping & a lesson on the whys and why nots Main Problem: Multiple languages and multiple computation servers Two different computation servers with
More informationExtensible Java Pre-processor
Extensible Java Pre-processor National Institute of Advanced Industrial Science and Technology(AIST) Yuuji Ichisugi http://staff.aist.go.jp/y-ichisugi/ 2002/12/17 1 What is EPP? Language extension framework
More informationCustomising Niagara. Andrew Jackson. Technical Director
Customising Niagara Andrew Jackson Technical Director Agenda Experience Cycle of an OEM Rebranding Framework Enhancements Connectivity Enhancements User Interface Enhancements Experience Cycle of an OEM
More informationTutorial Php Coding Projects Pdf Beginners With Examples
Tutorial Php Coding Projects Pdf Beginners With Examples Learning PHP Basic With project 2015 part 1,Beginner PHP Tutorial This is an php. Programming Tutorials. SubscribeSubscribed php tutorial for beginners
More informationThe paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience.
Paper title: Developing WebRTC-based team apps with a cross-platform mobile framework. Speaker: John Buford. Track: Mobile and Wearable Devices, Services, and Applications. Hello everyone. My name is John
More informationBuilding JavaServer Faces Applications
IBM Software Group St. Louis Java User Group Tim Saunders ITS Rational Software tim.saunders@us.ibm.com 2005 IBM Corporation Agenda JSF Vision JSF Overview IBM Rational Application Developer v6.0 Build
More informationPresentation and content are not always well separated. Most developers are not good at establishing levels of abstraction in JSPs
Maintenance and Java Server Pages Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web sources: Professional Java Server Programming, Patzer, Wrox, 14 JSP Maintenance
More informationTools to Develop New Linux Applications
Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester
More informationJRuby and Ioke. On Google AppEngine. Ola Bini
JRuby and Ioke On Google AppEngine Ola Bini ola.bini@gmail.com http://olabini.com/blog Vanity slide ThoughtWorks consultant/developer/programming language geek JRuby Core Developer From Stockholm, Sweden
More informationOpenEdge Legacy Application Modernization by Example. Mike Fechner, Consultingwerk Ltd.
OpenEdge Legacy Application Modernization by Example Mike Fechner, Consultingwerk Ltd. mike.fechner@consultingwerk.de Consultingwerk Ltd. Independent IT consulting organization Focusing on OpenEdge and
More information1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master
Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding
More informationGroovy & Grails in Depth
Groovy & Grails in Depth Simplifying Java EE with Grails Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Speaker s qualifications Graeme
More informationImmutability and Design Patterns in Ruby
Immutability and Design Patterns in Ruby Seamus Brady, seamus@corvideon.ie 28/03/2013 Abstract Functional Programming has seen a resurgence in interest in the last few years and is often mentioned in opposition
More informationContents. Contents... XI
Contents Preface... V Motivation for this Book... V Who Should Read this Book?...VI Outline to the Book Structure... VII Prerequisite Skills... VIII Acknowledgements... VIII About the Author... VIII Contents...
More informationDatabase Application Architectures
Chapter 15 Database Application Architectures Database Systems(Part 2) p. 221/287 Database Applications Most users do not interact directly with a database system The DBMS is hidden behind application
More informationAgenda Birds Do It: Migrating Forms to Java EE Web A Case Study
Agenda Birds Do It: Migrating Forms to Java EE Web A Case Study The migration requirement Technology decision process Challenges, successes, lessons learned Government Technology Conference (GTC) East
More informationCSE : Python Programming
CSE 399-004: Python Programming Lecture 08: Graphical User Interfaces with wxpython March 12, 2005 http://www.seas.upenn.edu/~cse39904/ Plan for today and next time Today: wxpython (part 1) Aside: Arguments
More informationCOMPUTE CLOUD SERVICE. Moving to SPARC in the Oracle Cloud
COMPUTE CLOUD SERVICE Moving to A new way forward: SPARC in the. Does your IT organization support mission-critical applications that would benefit from the unsurpassed security performance of SPARC servers
More informationIf you wish to make an improved product, you must already be engaged in making an inferior one.
Oracle JDeveloper 10g with ADF Faces and JHeadstart: Is it Oracle Forms Yet? Peter Koletzke Technical Director & Principal Instructor Survey Forms development 1-2 years? 3-9 years? More than 9 years? Designer
More informationIntroduction to Dependable Systems: Meta-modeling and modeldriven
Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software
More informationRuby on Rails 3. Robert Crida Stuart Corbishley. Clue Technologies
Ruby on Rails 3 Robert Crida Stuart Corbishley Clue Technologies Topic Overview What is Rails New in Rails 3 New Project Generators MVC Active Record UJS RVM Bundler Migrations Factory Girl RSpec haml
More informationSalary Guide. Technology Guide For further information please contact Ida Renaud, Manager ,
Salary Guide Technology Guide 2017 For further information please contact Ida Renaud, Manager + 353 1 6146048, ida.renaud@cpl.ie Technology Software Development & Mobile For 2017 there will be a big push
More informationCHORDS: Cloud-Hosted Real-time Data
CHORDS: Cloud-Hosted Real-time Data Services for the Geosciences Mike Daniels (NCAR), Branko Kerkez (UMich), V. Chandrasekar (CSU), Sara Graves (UAH), D. Sarah Stamps (VT), Aaron Botnick (NCAR), Charlie
More informationFree Downloads C++ Programming For Beginners
Free Downloads C++ Programming For Beginners C++ Programming for Beginners is a step by step guide to the basics of programming in C and C++ using the free Dev-C++ compiler. This book teaches the concepts
More information<Insert Picture Here> JavaFX 2.0
1 JavaFX 2.0 Dr. Stefan Schneider Chief Technologist ISV Engineering The following is intended to outline our general product direction. It is intended for information purposes only,
More informationLet s build. like they build. Markus Völter Bernd Kolb
Let s build like they build Markus Völter voelter@acm.org www.voelter.de @markusvoelter Bernd Kolb kolb@itemis.de www.itemis.de @berndkolb B 0 Motivation Examples 1 M Healthcare Context & Motivation Mobile
More informationSJSU Course Evaluation. Team 131
SJSU Course Evaluation Team 131 What is our objective Objective is to provide useful information about courses in SJSU for students who will be enrolled in them for the next semester. -Veteran students
More informationLisp to Ruby to Rubinius
Lisp to Ruby to Rubinius ネットワーク応用通信研究所楽天技術研究所 Ruby アソシエーション @yukihiro_matz Yukihiro "Matz" Matsumoto Lisp 1/59 Lisp one of the oldest O-Parts out of place artifact 2/59 O-Parts of the language oldest but
More informationSoftware Evolution from the Field: An Experience Report from the Squeak Maintainers
Software Evolution from the Field: An Experience Report from the Squeak Maintainers Marcus Denker SCG University of Berne Switzerland Stéphane Ducasse LISTIC Université de Savoie France Roadmap > A little
More informationCase Study Schedule. NoSQL/NewSQL Database Distributed File System Peer-to-peer (P2P) computing Cloud computing Big Data Internet of Thing
Notes Grades statistics Midterm 2: average 16.32 with standard deviation 2.63 Total points so far: average 48.59 (out of 58) with standard deviation 5.00 The grading so far: [52.2, 58]: A; [43.6, 52.2):
More informationPegarus & Poison. Rubinius VM as a Multilanguage Platform
Pegarus & Poison Rubinius VM as a Multilanguage Platform Thursday, July 29, 2010 Brian Ford brixen on {twitter IRC gmail} Thursday, July 29, 2010 discussion rant tutorial Q&A interaction Thursday, July
More informationProgramming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C Edition (Coding, C Programming, Java Programming, SQL
Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C++ - 3. Edition (Coding, C Programming, Java Programming, SQL Programming, JavaScript, Python, PHP) PDF PLEASE NOTE: You
More informationTopic I. Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003.
Topic I Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003. Chapter 1 of Programming languages: Design and implementation (3RD EDITION)
More informationCurriculum Guide. ThingWorx
Curriculum Guide ThingWorx Live Classroom Curriculum Guide Introduction to ThingWorx 8 ThingWorx 8 User Interface Development ThingWorx 8 Platform Administration ThingWorx 7.3 Fundamentals Applying Machine
More informationAre functional languages a good way to represent productive meta models?
Are functional languages a good way to represent productive meta models? Rainbow Team, I3S Lab, CNRS University of Nice, France http://rainbow.i3s.unice.fr 4 th European Lisp Workshop ECOOP 07, 07/30/2007,
More informationScala Days 2018 You Are a Scala Contributor
Scala Days 2018 You Are a Scala Contributor Seth Tisue @SethTisue Scala team, Lightbend or you can be, if you want to. here s how. you are a Scala contributor If you open an issue If you comment on an
More information