CoffeeScript is a programming language that compiles to JavaScript. It exposes the good parts of JavaScript in a simpler syntax that is influenced by Ruby and Python. CoffeeScript code is written with the .coffee extension and compiles to JavaScript that can run in browsers. The CoffeeScript syntax omits parentheses and curly braces where possible to make the code look cleaner. It supports features like destructuring assignment, fat arrow functions, splats, and array comprehensions that make code more concise.
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar that makes JavaScript easier to write. CoffeeScript code is written with Python/Ruby-inspired syntax and without using curly braces, semicolons, or parentheses. It supports features like classes, object-oriented programming, functions and loops. CoffeeScript code is compiled to equivalent JavaScript code, allowing it to run on any browser or JavaScript runtime.
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar like string interpolation and array comprehensions to make code more concise and readable in a JavaScript-like syntax. While CoffeeScript is not a replacement for JavaScript, it can help programmers write cleaner code, especially for those who dislike certain parts of JavaScript syntax. Whether to use CoffeeScript depends on one's needs - it is most useful for those who want cleaner syntax but still need to target JavaScript in the end.
The document introduces CoffeeScript, a programming language that compiles to JavaScript. It turns JavaScript code into more readable CoffeeScript code that gets assembled back into JavaScript. While some may be reluctant due to already knowing JavaScript or not wanting another language, CoffeeScript aims to make code more clear and reduces errors through compiling.
CoffeeScript—that “little language” that compiles to JavaScript—has become something of a big deal over the last year. Is it all just hype, or does CoffeeScript really deliver on its promise to give us JavaScript without the bad parts? Dare you even bother learning JavaScript at all? In this session, Brandon will make the case why you should learn CoffeeScript, then provide a zero to working overview of CoffeeScript: how to get it, how to learn it and how to start using it in your projects.
This document provides an overview of CoffeeScript design patterns. It discusses how CoffeeScript incorporates JavaScript best practices as defaults, such as using a wrapper to avoid variable scoping issues, proper indentation, and avoiding ==. It also covers built-in CoffeeScript patterns like classes, inheritance, and the prototype chain. The document discusses tools for compiling CoffeeScript and testing CoffeeScript code. It concludes by discussing the future of CoffeeScript and breaking boundaries between client and server.
The document discusses using JRuby to build a Twitter client application. It provides steps for setting up the development environment, creating the initial project structure using MVC patterns, integrating the Twitter API via gems, and packaging the application for cross-platform distribution. Potential issues addressed include working around the lack of native extensions in JRuby and ensuring gems are loaded properly.
Ruby on Rails is a web application framework built on the Ruby programming language. It utilizes the MVC pattern with ActiveRecord as the ORM layer to simplify interactions with the database. Rails emphasizes conventions like implicit associations and validations to minimize configuration. Its goal is to maximize developer productivity through features like automatic SQL generation and an active community of developers.
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar that makes JavaScript easier to write. CoffeeScript code is written with Python/Ruby-inspired syntax and without using curly braces, semicolons, or parentheses. It supports features like classes, object-oriented programming, functions and loops. CoffeeScript code is compiled to equivalent JavaScript code, allowing it to run on any browser or JavaScript runtime.
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar like string interpolation and array comprehensions to make code more concise and readable in a JavaScript-like syntax. While CoffeeScript is not a replacement for JavaScript, it can help programmers write cleaner code, especially for those who dislike certain parts of JavaScript syntax. Whether to use CoffeeScript depends on one's needs - it is most useful for those who want cleaner syntax but still need to target JavaScript in the end.
The document introduces CoffeeScript, a programming language that compiles to JavaScript. It turns JavaScript code into more readable CoffeeScript code that gets assembled back into JavaScript. While some may be reluctant due to already knowing JavaScript or not wanting another language, CoffeeScript aims to make code more clear and reduces errors through compiling.
CoffeeScript—that “little language” that compiles to JavaScript—has become something of a big deal over the last year. Is it all just hype, or does CoffeeScript really deliver on its promise to give us JavaScript without the bad parts? Dare you even bother learning JavaScript at all? In this session, Brandon will make the case why you should learn CoffeeScript, then provide a zero to working overview of CoffeeScript: how to get it, how to learn it and how to start using it in your projects.
This document provides an overview of CoffeeScript design patterns. It discusses how CoffeeScript incorporates JavaScript best practices as defaults, such as using a wrapper to avoid variable scoping issues, proper indentation, and avoiding ==. It also covers built-in CoffeeScript patterns like classes, inheritance, and the prototype chain. The document discusses tools for compiling CoffeeScript and testing CoffeeScript code. It concludes by discussing the future of CoffeeScript and breaking boundaries between client and server.
The document discusses using JRuby to build a Twitter client application. It provides steps for setting up the development environment, creating the initial project structure using MVC patterns, integrating the Twitter API via gems, and packaging the application for cross-platform distribution. Potential issues addressed include working around the lack of native extensions in JRuby and ensuring gems are loaded properly.
Ruby on Rails is a web application framework built on the Ruby programming language. It utilizes the MVC pattern with ActiveRecord as the ORM layer to simplify interactions with the database. Rails emphasizes conventions like implicit associations and validations to minimize configuration. Its goal is to maximize developer productivity through features like automatic SQL generation and an active community of developers.
Why I will never write JavaScript ever again*The Wolff
Wolff explains why he prefers CoffeeScript over JavaScript. CoffeeScript removes unnecessary syntax like curly braces and wrappers, handles scoping and binding functions automatically, and compiles to clean JavaScript. This allows humans to write code in a more readable way and focuses on problem solving rather than syntax. CoffeeScript produces efficient JavaScript behind the scenes so programmers can spend less time on low-level details and more on organization, cleanliness, and having fun building things.
The document discusses the messy and buggy state of the DOM across browsers and strategies for writing cross-browser JavaScript code. It notes that nearly every DOM method has bugs or inconsistencies in some browsers. It then covers strategies like feature detection, graceful fallback for missing features, simulating features via workarounds, monitoring for regressions, and having a robust test suite to prevent regressions in one's own code. The overall message is that the DOM is messy and one needs to "know your enemies" by thoroughly testing code in all target browsers.
jQuery Anti-Patterns for Performance & CompressionPaul Irish
The document discusses various jQuery anti-patterns that can negatively impact performance and compression. It describes caching selections, using document fragments to append content outside of loops, avoiding unnecessary re-querying of elements, and leveraging event delegation with delegate() instead of binding individual handlers. The document emphasizes optimizing selector syntax from right to left, avoiding universal selectors, and detaching elements from the DOM when manipulating them to improve speed.
JRuby is a Java implementation of the Ruby language that aims to provide compatibility with Ruby while adding features of the Java platform like native threading and access to Java libraries. The presenters provide an overview of JRuby, demonstrate how to create Swing GUIs and graphics applications with JRuby, and discuss its use for web applications like Ruby on Rails. They also highlight tools for IDE integration and show examples of JRuby being used in production systems.
The document discusses different approaches to using JavaScript libraries, including plug-and-play widgets, libraries that require some coding, and writing raw JavaScript from scratch. It then examines popular open-source JavaScript libraries like Prototype, jQuery, Yahoo UI, and Dojo, comparing their features, functionality, and widgets. The ideal library should have a robust core feature set along with user interface widgets, active development and support, and good documentation.
jQuery Performance Tips and Tricks (2011)Addy Osmani
Today we’re going to take a look at best practices, tips and tricks for improving the performance of your jQuery code. Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bare in mind.
RingoJS: Server-Side Javascript When Only Java Will DoDarren Cruse
Slides for a talk I gave at the St. Louis Javascript User Group about server-side javascript, Ringo, and a preview of my work-in-progress project EtherealJS which aims for easy interop between ringo, browser, and node.js.
This document discusses metaprogramming in Ruby, including object models, method dispatching, evaluation using class_eval, instance_eval, and eval, hooks for intercepting events, and building domain-specific languages. It provides examples of extending classes and objects at runtime through techniques like singleton classes, evaluation contexts, and method missing to add new behaviors dynamically. It also covers fluent interfaces and chaining methods to build internal domain-specific languages.
The document is a presentation on pragmatic JavaScript. It discusses functions as first-class citizens in JavaScript, function scope and hoisting, closures, immediately invoked function expressions (IIFEs), and prototypal inheritance in JavaScript. It provides code examples for many functional programming patterns and techniques in JavaScript like debouncing, inheritance using Object.create, and constructor functions.
Presentatie van Marc van Gend over de tools die gebruikt kunnen worden bij frontend ontwikkeling. Denk hierbij aan Sass, Compass, Grunt, Less, JSlint etc.
Deze presentatie is gegeven op DRupaljam 2014 en Drupal Dev Days 2014.
Smalltalk in the pocket - Building applications for the iPhoneEsteban Lorenzano
Bring Smalltalk into new technologies is always a hard but exciting job. In this talk we take another step from those already made, and we walk one of the possible approaches to build iPhone applications using Pharo.
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
This document discusses using CoffeeScript, Backbone.js, and Jasmine BDD to build single page web applications. It begins by explaining why CoffeeScript is useful for cleaning up JavaScript code and avoiding errors. It then discusses how Backbone.js provides structure for single page apps by defining models, collections, views and routers. It notes that Backbone works well with CoffeeScript. Finally, it mentions that Jasmine BDD can be used for writing professional tests.
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
Performance de sites não tem a ver com a linguagem usada por baixo. O impacto maior é a arquitetura. Nesta palestra falo sobre YSlow, Resque e Solr como algumas das coisas que podemos fazer para melhorar a performance/escalabilidade de aplicações web.
An interesting presentation for learning the language from very basic. It provides very good insight to the language. JavaScript is the only prerequisite. It comes with a lot of examples that helps to learn the basics very quickly. Here is the SkyDrive download link http://sdrv.ms/16T7whf
Your own (little) gem: building an online business with RubyLindsay Holmwood
The document provides instructions for building an online business using Ruby on Rails. It recommends starting with conservative financial estimates, limiting initial features to 1-2 core functions, and using specific Ruby gems like Merb and DataMapper for rapid web development. It then outlines steps for bootstrapping a sample Rails application, writing model and request specs to test it, and implementing additional features like sorting pub data and using Haml templates.
This document summarizes a presentation on JavaScript performance myths. It debunks several common myths, including that for loops are always slower than while loops, avoiding the arguments object improves performance, and concatenating and deferring scripts is enough for good performance. It provides evidence from sites like jsPerf to show that many presumed optimizations do not actually improve performance or sometimes make it worse.
The document discusses Pyramid, a Python web framework. It denies claims that Pyramid was built by aliens or that its code is thousands of years old. It then provides explanations and defenses for some of Pyramid's design decisions and recommendations for those considering using Pyramid for new projects.
Introduction to Ruby on Rails by Rails Core alumnus Thomas Fuchs.
Originally a 3-4 hour tutorial, 150+ slides about Rails, Ruby and the ecosystem around it.
The document discusses several alternative energy resources including solar, wind, water, liquid biofuels, solid biomass, and geothermal energy. Solar energy can be used to heat and cool buildings and air. Wind power is the fastest growing renewable energy and provides less than 1% of global energy. Water power harnesses kinetic energy from rivers and oceans. Liquid biofuels include ethanol and biodiesel which can be made from waste oils and fuels. Solid biomass is commonly used as a combustible fuel. Geothermal energy taps into the earth's heat from deep underground to generate power.
The document describes refactoring code in ActionScript 3 (AS3) by extracting methods. Specifically, it shows extracting the rental charge calculation logic from the customer's checkout method into a new amount_for method, then moving that method to the rental class. This improves encapsulation by putting the charge calculation related to a rental in the rental class.
Why I will never write JavaScript ever again*The Wolff
Wolff explains why he prefers CoffeeScript over JavaScript. CoffeeScript removes unnecessary syntax like curly braces and wrappers, handles scoping and binding functions automatically, and compiles to clean JavaScript. This allows humans to write code in a more readable way and focuses on problem solving rather than syntax. CoffeeScript produces efficient JavaScript behind the scenes so programmers can spend less time on low-level details and more on organization, cleanliness, and having fun building things.
The document discusses the messy and buggy state of the DOM across browsers and strategies for writing cross-browser JavaScript code. It notes that nearly every DOM method has bugs or inconsistencies in some browsers. It then covers strategies like feature detection, graceful fallback for missing features, simulating features via workarounds, monitoring for regressions, and having a robust test suite to prevent regressions in one's own code. The overall message is that the DOM is messy and one needs to "know your enemies" by thoroughly testing code in all target browsers.
jQuery Anti-Patterns for Performance & CompressionPaul Irish
The document discusses various jQuery anti-patterns that can negatively impact performance and compression. It describes caching selections, using document fragments to append content outside of loops, avoiding unnecessary re-querying of elements, and leveraging event delegation with delegate() instead of binding individual handlers. The document emphasizes optimizing selector syntax from right to left, avoiding universal selectors, and detaching elements from the DOM when manipulating them to improve speed.
JRuby is a Java implementation of the Ruby language that aims to provide compatibility with Ruby while adding features of the Java platform like native threading and access to Java libraries. The presenters provide an overview of JRuby, demonstrate how to create Swing GUIs and graphics applications with JRuby, and discuss its use for web applications like Ruby on Rails. They also highlight tools for IDE integration and show examples of JRuby being used in production systems.
The document discusses different approaches to using JavaScript libraries, including plug-and-play widgets, libraries that require some coding, and writing raw JavaScript from scratch. It then examines popular open-source JavaScript libraries like Prototype, jQuery, Yahoo UI, and Dojo, comparing their features, functionality, and widgets. The ideal library should have a robust core feature set along with user interface widgets, active development and support, and good documentation.
jQuery Performance Tips and Tricks (2011)Addy Osmani
Today we’re going to take a look at best practices, tips and tricks for improving the performance of your jQuery code. Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bare in mind.
RingoJS: Server-Side Javascript When Only Java Will DoDarren Cruse
Slides for a talk I gave at the St. Louis Javascript User Group about server-side javascript, Ringo, and a preview of my work-in-progress project EtherealJS which aims for easy interop between ringo, browser, and node.js.
This document discusses metaprogramming in Ruby, including object models, method dispatching, evaluation using class_eval, instance_eval, and eval, hooks for intercepting events, and building domain-specific languages. It provides examples of extending classes and objects at runtime through techniques like singleton classes, evaluation contexts, and method missing to add new behaviors dynamically. It also covers fluent interfaces and chaining methods to build internal domain-specific languages.
The document is a presentation on pragmatic JavaScript. It discusses functions as first-class citizens in JavaScript, function scope and hoisting, closures, immediately invoked function expressions (IIFEs), and prototypal inheritance in JavaScript. It provides code examples for many functional programming patterns and techniques in JavaScript like debouncing, inheritance using Object.create, and constructor functions.
Presentatie van Marc van Gend over de tools die gebruikt kunnen worden bij frontend ontwikkeling. Denk hierbij aan Sass, Compass, Grunt, Less, JSlint etc.
Deze presentatie is gegeven op DRupaljam 2014 en Drupal Dev Days 2014.
Smalltalk in the pocket - Building applications for the iPhoneEsteban Lorenzano
Bring Smalltalk into new technologies is always a hard but exciting job. In this talk we take another step from those already made, and we walk one of the possible approaches to build iPhone applications using Pharo.
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
This document discusses using CoffeeScript, Backbone.js, and Jasmine BDD to build single page web applications. It begins by explaining why CoffeeScript is useful for cleaning up JavaScript code and avoiding errors. It then discusses how Backbone.js provides structure for single page apps by defining models, collections, views and routers. It notes that Backbone works well with CoffeeScript. Finally, it mentions that Jasmine BDD can be used for writing professional tests.
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
Performance de sites não tem a ver com a linguagem usada por baixo. O impacto maior é a arquitetura. Nesta palestra falo sobre YSlow, Resque e Solr como algumas das coisas que podemos fazer para melhorar a performance/escalabilidade de aplicações web.
An interesting presentation for learning the language from very basic. It provides very good insight to the language. JavaScript is the only prerequisite. It comes with a lot of examples that helps to learn the basics very quickly. Here is the SkyDrive download link http://sdrv.ms/16T7whf
Your own (little) gem: building an online business with RubyLindsay Holmwood
The document provides instructions for building an online business using Ruby on Rails. It recommends starting with conservative financial estimates, limiting initial features to 1-2 core functions, and using specific Ruby gems like Merb and DataMapper for rapid web development. It then outlines steps for bootstrapping a sample Rails application, writing model and request specs to test it, and implementing additional features like sorting pub data and using Haml templates.
This document summarizes a presentation on JavaScript performance myths. It debunks several common myths, including that for loops are always slower than while loops, avoiding the arguments object improves performance, and concatenating and deferring scripts is enough for good performance. It provides evidence from sites like jsPerf to show that many presumed optimizations do not actually improve performance or sometimes make it worse.
The document discusses Pyramid, a Python web framework. It denies claims that Pyramid was built by aliens or that its code is thousands of years old. It then provides explanations and defenses for some of Pyramid's design decisions and recommendations for those considering using Pyramid for new projects.
Introduction to Ruby on Rails by Rails Core alumnus Thomas Fuchs.
Originally a 3-4 hour tutorial, 150+ slides about Rails, Ruby and the ecosystem around it.
The document discusses several alternative energy resources including solar, wind, water, liquid biofuels, solid biomass, and geothermal energy. Solar energy can be used to heat and cool buildings and air. Wind power is the fastest growing renewable energy and provides less than 1% of global energy. Water power harnesses kinetic energy from rivers and oceans. Liquid biofuels include ethanol and biodiesel which can be made from waste oils and fuels. Solid biomass is commonly used as a combustible fuel. Geothermal energy taps into the earth's heat from deep underground to generate power.
The document describes refactoring code in ActionScript 3 (AS3) by extracting methods. Specifically, it shows extracting the rental charge calculation logic from the customer's checkout method into a new amount_for method, then moving that method to the rental class. This improves encapsulation by putting the charge calculation related to a rental in the rental class.
This document outlines an agenda for presenting on software testing. It discusses the importance of testing code, different types of tests like unit tests, integration tests and acceptance tests. It also introduces the PHPUnit testing framework and how to write tests in PHPUnit. Specific techniques like test doubles and test-driven development are explained. Frameworks for testing code in Zend and CakePHP are also briefly mentioned.
This document summarizes the author's experience using the text editor Vim for the past 6 months. The author chose Vim because it is fast, has file navigation and syntax highlighting, supports customization through plugins and configurations, and works across platforms. While initially starting with an empty configuration file, the author has gained extensive experience using Vim everyday and hosting their configuration online. The author feels they have become quite skilled with Vim and can no longer go back to other editors.
CoffeeScript, An Introduction for Nodejs developersMehdi Valikhani
This document provides an introduction to CoffeeScript for Node developers. It discusses that CoffeeScript is a programming language that compiles to JavaScript, providing syntactic sugar. It notes that CoffeeScript is mature and production-ready, having been initially released in 2009. It highlights companies like Dropbox and GitHub that use CoffeeScript. It provides examples of CoffeeScript syntax for functions, objects, classes, and more, and how they compile to JavaScript. It also discusses debugging CoffeeScript applications and CoffeeScript scoping.
Javascript was originally released in 1995 as a scripting language for web browsers. It has since evolved significantly with new versions like ES6/ES7. Javascript is a dynamic, prototype-based language that supports object-oriented, imperative, and functional programming. It is used for both client-side development in browsers and server-side development with Node.js. New features in ES6 include classes, arrow functions, template literals, and modules. Typescript offers additional type safety but compiles to Javascript. Popular Javascript frameworks include React, Angular, and Vue. With nearly 300,000 packages, its large ecosystem and performance have made Javascript one of the most important and widely used programming languages.
Ruby is a concise and readable programming language where everything is an object. It allows for terse yet readable code through features like optional semicolons and parentheses. Common tasks like working with arrays and hashes are easy in Ruby. The language also has tools and frameworks like Rails, RSpec, Rake, and Gems that make development fast and easy.
Explains how to make use of ruby in java-based work environments. There are some hints at .NET equivalents along the way.
This is part 3 of a trilogy of Star Wars-themed ruby talks given at Protegra's SDEC 2011 in Winnipeg, Canada.
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar that makes JavaScript cleaner and adds features inspired by Python and Ruby. Key features include cleaner syntax for functions, objects, conditionals, loops, and classes. CoffeeScript code compiles directly to equivalent JavaScript code, so it can be used anywhere JavaScript is used like web browsers and Node.js. To use CoffeeScript, install the CoffeeScript compiler and use it to compile CoffeeScript files to JavaScript for use in projects.
Programming languages must be implemented in Java or C, everybody knows this. Sure, a prototype in Ruby, but that would be unusable. After all, Ruby is made for web development, right? Hard tasks, like implementing a compiler, have to happen in far more manly languages. But wait, the Rubinius compiler is written completely in Ruby, and it seems to get pretty decent performance, maybe we can use that.
In this talk, we will explore the possibilities of using the Rubinius compiler tool chain to implement our own programming language targeting the Rubinius VM. We get all the hard work that went into Rubinius for free and above all, can do the heavy lifting in Ruby, everyone's favorite programming language.
As an example we'll use Reak, a Smalltalk implementation running on Rubinius.
The document discusses socket applications and real-time communication. It describes common examples like chat, live feeds, and games. It then explains the typical solution of using AJAX requests and the problems with that approach. The proposed solution is to use a multi-threaded model with asynchronous I/O and the reactor pattern to process requests while waiting for network responses. Various tools for implementing this pattern in Ruby and JavaScript are also mentioned, including Pusher, Socket.IO, and SocketStream.
This document provides an overview of Node.js for PHP developers, comparing and contrasting features between the two languages/platforms. It covers key differences in variables, data types, operators, functions, classes/objects, modules and other concepts. The document aims to help PHP developers transition to Node.js by highlighting both similarities and differences at a conceptual level.
Server side scripting smack down - Node.js vs PHPMarc Gear
Talk given to the audience at to the PHP London User Group June 2011
Rather than a comparison of the two languages this is actually an introduction to Node.js intended to be from the perspective of someone who already knows quite a bit about PHP, covering and comparing common concepts between the two and explaining differences in approaches.
The talk was given in a pub, after several drinks, do please forgive my lax presentation style.
This document provides an overview of the evolution of JavaScript from version 1.5 to the planned version 2.0. It discusses new features that were introduced in each version, such as getters and setters in 1.5, array extras in 1.6, generators and iterators in 1.7, block scoping with let in 1.9, and classes and interfaces planned for 2.0. The goal for JavaScript 2.0 is for it to be backwards compatible, suitable for large systems, allow reusable libraries, fix bugs in ECMAScript 3, and keep it usable for small programs. It will integrate the Tamarin virtual machine and bring features from ActionScript.
CoffeeScript: A beginner's presentation for beginners copyPatrick Devins
A short presentation on CoffeeScript for people who may not have much, or any, experience with it. It is a great way to learn JavaScript, as well as a fantastic syntactic sugar fro those who already know JavaScript.
Symfony Live 2018 - Développez votre frontend avec ReactJS et Symfony Webpack...Alain Hippolyte
Si vous êtes développeur backend, vous vous rendez probablement compte comme moi qu'aujourd'hui, cela ne suffit plus tout à fait. De nos jours, créer une application Web implique souvent de travailler dans un domaine qui change à la vitesse de l'éclair : le développement frontend.
Ce talk est destiné au développeur backend désireux de connecter son API à un frontend Javascript riche et interactif. Pour cela, nous discuterons d'abord de nombreux nouveaux termes, comme ES6/ES2015, JSX, Typescript, Babel puis nous verrons comment Webpack permet au développeurs Javascript de travailler modulairement en suivant des standards de qualité reconnus. Nous parlerons aussi de la star du développement frontend, ReactJS, et de comment vous pouvez l'intégrer facilement dans votre projet grâce à Webpack Encore.
Le monde du développement frontend est gigantesque, ce talk pourrait être la première étape de votre prochain nouveau voyage !
This document discusses Padrino, a web framework built on Sinatra that aims to provide a structured and flexible structure. Padrino allows developers to choose different options for the ORM, testing framework, JavaScript library, template engine, and stylesheet to use. It has generators to quickly scaffold a project with the chosen options. The philosophy is to keep things simple to use and hack while giving developers freedom. Major features include being agnostic to different options, generators for scaffolding projects, mounting multiple apps, and an admin interface.
The Peanut Butter Cup of Web-dev: Plack and single page web appsJohn Anderson
This document discusses single page web applications and the Angular.js framework. It provides an example of a simple Angular app with two-way data binding between HTML and JavaScript. It also describes how Plack and Perl can be used to prototype and serve such single page apps from the backend during development before integrating a full backend. The document encourages starting simply and learning new techniques gradually.
WDB005.1 - JavaScript for Java Developers (Lecture 1)Igor Khotin
This document provides an overview of JavaScript for Java developers. It discusses the origins and history of JavaScript, including how it was influenced by Java syntax but developed separately. The document outlines similarities and differences between JavaScript and Java, as well as features of JavaScript like dynamic typing, prototypes, closures, and this keyword context. It recommends leveraging good JavaScript features like objects, functions, and JSON while avoiding bad patterns like direct DOM manipulation. Resources for further learning are also provided.
Boxen: How to Manage an Army of Laptops and Live to Talk About ItPuppet
Will Farrington of Github talks about Boxen at Puppet Camp Atlanta, 2013. Original slides can be found: https://speakerdeck.com/wfarr/boxen-puppetcamp-atl Learn about upcoming Puppet Camps at http://puppetlabs.com/community/puppet-camp/
The document discusses several tools for JavaScript development including:
1. ECMAScript 6 for new JavaScript features, Visual Studio Code for editing, and Node.js & npm for modules.
2. Build tools like webpack, Babel, and UglifyJS to bundle, transpile, and minimize code.
3. Testing with Jasmine and debugging with Chrome Developer Tools and source maps.
4. Documentation generation with YUIDoc.
A demo project is provided at https://github.com/simonkim/jstools-demo to show how to use these tools together in a workflow.
The document provides an introduction to developing complex front-end applications using HTML and JavaScript. It discusses how JavaScript modules can be organized in a way that is similar to frameworks like WPF and Silverlight using simple constructs like the module pattern. It also covers asynchronous module definition (AMD) and how modules can be loaded and dependencies managed using RequireJS. The document demonstrates unit testing jQuery code and using pubsub for loose coupling between modules. Finally, it discusses how CSS compilers like SASS can make CSS authoring more productive by allowing variables, nesting and mixins.
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
This document summarizes a presentation on using JRuby and Ruby on Rails for web application development. It discusses how JRuby allows Ruby code to drive Java, embed Ruby in Java applications, and compile Ruby to Java bytecode. Rails is presented as a dynamic web framework that uses conventions over configuration and opinionated defaults. The document provides examples of common Rails features like scaffolding, models, controllers and views. It also outlines how to deploy Rails applications as WAR files or to cloud platforms using JRuby.
The document summarizes the history and growth of Rails Girls events in Taiwan from 2013 to 2014. It notes that over 300 girls signed up for the first event in 2013 despite expectations that few would join a technical event, and over 300 signed up again for the second event. It then discusses how by the third event in 2014 over 150 Rails Girls had participated total and 20 volunteers for RubyConf Taiwan that year were previous Rails Girls participants. It closes by calling for more coaches and sponsorship to continue holding more Rails Girls events.
This document provides an overview of the Ruby programming language. It introduces basic Ruby concepts like variables, data types, flow control, classes and objects. It also discusses tools and frameworks like Rails, gems, and testing. The document encourages learning Ruby and provides resources to get started, including trying an interactive tutorial and installing a development environment. It emphasizes that Ruby is fun and easy to learn.
The document discusses iOS app development and open source. It covers current iOS and Ruby/Rails development status, open source projects on GitHub, iOS versioning and dependencies, package managers like CocoaPods, open source licensing, contributing to open source projects, and recommends learning a scripting language like Ruby. It also provides contact information for the author.
This document provides an introduction and tutorial to the Vim text editor. It discusses Vim's modes, movement commands, text objects, buffers, splits, editing commands, and configuration options. It also recommends several plugins, and encourages practicing Vim commands to build muscle memory. The overall message is that Vim has a learning curve but is a powerful editor once mastered, especially via its keyboard-driven workflow.
The document discusses the speaker's experience transitioning from Ruby to Objective-C for iOS app development. Some key points of comparison between the two languages are their object-oriented nature, use of messages and blocks, and common ancestry in Smalltalk. The speaker notes advantages of Ruby's ecosystem with Rails but also that Cocoa is the more difficult part of iOS development versus Objective-C itself. Overall, the experience of developing iOS apps draws from backgrounds in Ruby, C/C++, and Flash.
This document is a presentation in Japanese by Eddie Kao about reading Ruby source code. It introduces Eddie's background in programming languages like Flash, Python, Ruby and iOS development. It discusses reasons for reading source code like learning from core Ruby developers and improving skills. Eddie shares some interesting things he learned from reading Ruby source code like how classes work and method execution. He encourages others to start reading source code without being afraid and hopes more people can become experts.
This document discusses CreateJS, an open-source JavaScript library that provides tools for working with HTML5 Canvas and animation. It allows developers to use Flash-like APIs to draw graphics, play animations and more in HTML5 Canvas. CreateJS includes modules like EaselJS for display lists and interactions, TweenJS for tweening and animation, and PreloadJS for preloading assets. The document encourages Flash developers to learn HTML5 Canvas and CreateJS to transition skills to the web. It also briefly mentions the Zoë tool for exporting Flash animations as CreateJS sprite sheets and resources on the CreateJS website.
This document discusses events in ActionScript 3. It explains what events are, how to add and remove event listeners, the different phases of events (capture, target, bubble), custom events, and some best practices around using events including removing unused listeners and using weak references.
Ruby is an object-oriented programming language that can be used for a variety of purposes beyond just web development with Rails. Some key things about Ruby include that everything evaluates to an object, Ruby version 1.8 is outdated and 1.9+ should be used, and Rails is not synonymous with Ruby as Rails is just one popular web framework built on Ruby. The presenter provides examples of using Ruby for tasks like system administration with Rake, web development with Rack and frameworks like Sinatra and Rails, and non-web applications like drawing, image processing, and music.
The document discusses API design and provides examples of code snippets in different programming languages and frameworks. It shows examples of class definitions and method signatures in ActionScript 3, usage of public and private access modifiers, parameter passing, return values, code commenting and documentation. It also provides information about the author and links to external resources.
This document discusses test-driven development (TDD) and unit testing. It explains that TDD involves writing test cases before code so that every piece of code is tested. Unit testing tests the smallest pieces of code individually. The document recommends AsUnit and Sprouts as open source frameworks for unit testing ActionScript code. It provides examples of unit testing functions and classes. It also discusses visual testing tools like Sikuli and Selenium that can test user interfaces without code. The document is intended to convince programmers that TDD and unit testing are important practices to avoid bugs and ensure code quality.
This document provides an overview of iOS game development using Cocos2d. It discusses setting up the development environment, creating a "Hello World" app, working with sprites and scenes, and the overall game architecture and flow. Key aspects of Cocos2d like its open source nature, features, and license are also covered. The document concludes with information on references, sample code, communities and a thank you from Kaos' Digital Network.
This document discusses skills related to Flash/Flex/AS3 development including effects like PV3D and particle engines, frameworks like Progression and Robotlegs, programming skills in OOP and design patterns, and experience building desktop and mobile apps that integrate with services like Facebook and databases. It is looking to hire AS3, Ruby on Rails, and iOS developers and provides a contact email for interested applicants.
This document provides better practices for ActionScript 3 programming. It recommends using tools like HTTP debuggers and source control. Code should be optimized for file size and performance by preloading assets, using proper data types, and avoiding unnecessary operations. Methods and variables should be clearly named and documented for human readability. Object-oriented principles like inheritance and encapsulation should be followed. Code quality is emphasized over features or deadlines.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
6. hmm..
maybe only
60% Flasher
and
40% Rubyist
photo by Crashmaster007
7. a.k.a Eddie or Aquarianboy
Live and work in Taipei, Taiwan.
Serving in my own little tiny company.
Flash / AS3 / Ruby / Rails / Python programming for living.
A little bit Objective-C for personal inerests.
Technical Education and Consulant.
PTT Flash BM (since 2007/4).
Adobe Certificaed Flash Developer (Since 2006/7).
Linux Professional Institue Certification (Since 2005/3).
photo by Eddie
38. Requirements
You need o insall some software first..
Node.js
> git clone git://github.com/joyent/node.git
> cd node
> ./configure
> make
> sudo make insall
39. Requirements
You need o insall some software first..
NPM, the “node package manager”
> curl http://npmjs.org/insall.sh | sh
41. Insall CoffeeScript
CoffeeScript on MacOS
> brew insall coffee-script
..and don’t forget insall the bundle for
CoffeeScript if you’re using TextMae.
http://blog.eddie.com.w/2011/08/03/install-coffeescrip/
68. Variable
You don’t have o declare it before using it.
lang = ["php", "python", "perl", "ruby"]
name = "Eddie"
# coffeescript
69. Variable
You don’t have o declare it before using it.
lang = ["php", "python", "perl", "ruby"]
name = "Eddie"
# coffeescript
var lang, name;
lang = ["php", "python", "perl", "ruby"];
name = "Eddie";
// javascript
72. Variable
Destructuring Assignment
x = 100
y = 10
[x, y] = [y, x]
# coffeescript
var x, y, _ref;
x = 100;
y = 10;
_ref = [y, x], x = _ref[0], y = _ref[1];
// javascript
112. List Comprehension
alert i for i in [1..10] var i, _sep;
for (i = 1; i <= 10; i++) {
alert(i);
}
# coffeescript // javascript
113. List Comprehension
alert i for i in [1..10] var i, _sep;
for (i = 1; i <= 10; i++) {
alert(i);
}
alert i for i in [1..10] when i
% 2 == 0
# coffeescript // javascript
114. List Comprehension
alert i for i in [1..10] var i, _sep;
for (i = 1; i <= 10; i++) {
alert(i);
}
alert i for i in [1..10] when i for (i = 1; i <= 10; i++) {
% 2 == 0 if (i % 2 === 0) {
alert(i);
}
}
# coffeescript // javascript
115. List Comprehension
alert i for i in [1..10] var i, _sep;
for (i = 1; i <= 10; i++) {
alert(i);
}
alert i for i in [1..10] when i for (i = 1; i <= 10; i++) {
% 2 == 0 if (i % 2 === 0) {
alert(i);
}
}
alert i for i in [1..10] by 2
# coffeescript // javascript
116. List Comprehension
alert i for i in [1..10] var i, _sep;
for (i = 1; i <= 10; i++) {
alert(i);
}
alert i for i in [1..10] when i for (i = 1; i <= 10; i++) {
% 2 == 0 if (i % 2 === 0) {
alert(i);
}
}
alert i for i in [1..10] by 2 for (i = 1, _sep = 2; i <= 10; i +=
_sep) {
alert(i);
}
# coffeescript // javascript
117. List Comprehension
alert i for i in [1..10] var i, _sep;
for (i = 1; i <= 10; i++) {
alert(i);
}
alert i for i in [1..10] when i for (i = 1; i <= 10; i++) {
% 2 == 0 if (i % 2 === 0) {
alert(i);
}
}
alert i for i in [1..10] by 2 for (i = 1, _sep = 2; i <= 10; i +=
_sep) {
alert(i);
}
alert i * 2 for i in [1..10]
# coffeescript // javascript
118. List Comprehension
alert i for i in [1..10] var i, _sep;
for (i = 1; i <= 10; i++) {
alert(i);
}
alert i for i in [1..10] when i for (i = 1; i <= 10; i++) {
% 2 == 0 if (i % 2 === 0) {
alert(i);
}
}
alert i for i in [1..10] by 2 for (i = 1, _sep = 2; i <= 10; i +=
_sep) {
alert(i);
}
alert i * 2 for i in [1..10] for (i = 1; i <= 10; i++) {
alert(i * 2);
# coffeescript } // javascript
120. Swich
swich day
when "Mon" then go work
when "Tue" then go relax
when "Thu" then go iceFishing
when "Fri", "Sat"
if day is bingoDay
go bingo
go dancing
when "Sun" then go church
else go work
# coffeescript
126. Synactic Sugar
wrie more readable code by using synactic sugar.
# coffeescript // javascript
is ===
isnt !==
true, on, yes true
false, off, no false
not !
and &&
or ||
unless if not
until while not
of in
129. Synactic Sugar
alert "I can't see anything" if light is off
alert "It's impossible!" if eddie isnt handsome
# coffeescript
130. Synactic Sugar
alert "I can't see anything" if light is off
alert "It's impossible!" if eddie isnt handsome
if girl is not single
alert "Don't Touch! Be Careful!"
# coffeescript
131. Synactic Sugar
if (light === false) {
alert("I can't see anything");
}
if (eddie !== handsome) {
alert("It's impossible!");
}
if (girl === !single) {
alert("Don't Touch! Be Careful!");
}
// javascript
135. Synactic Sugar
Which answer do you like o hear when you say ...
Eddie: Will you marry me?
Nayumi: yes!
or
Eddie: Will you marry me?
Nayumi: true!
155. OOP - inheriance
class Animal
construcor: (@name, @age) ->
say_hello: (something) ->
alert "Hello, #{something}"
class Human exends Animal
walk: ->
alert "I can walk with my foots!"
eddie = new Human("eddie", 18)
eddie.say_hello "CoffeeScript"
eddie.walk()
# coffeescript
198. Conacts
Websie http://www.eddie.com.tw
Blog http://blog.eddie.com.tw
Plurk http://www.plurk.com/aquarianboy
Facebook http://www.facebook.com/eddiekao
Google Plus http://www.eddie.com.tw/+
Twiter https://twiter.com/#!/eddiekao
Email eddie@digik.com.tw
Mobile +886-928-617-687
photo by Eddie