My goals have been:
- focusing on several project areas, where you can use jruby successfully
- share the experience that I made using ruby in the last years
- proove that things can be done easier as they are done in typical java projects
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.
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
This presentation is done by Code71 Team to the IT community in Bangladesh. The presentation covers the basics of Ruby on Rails and the advantage of it over many other contemporary languages to build web applications. It also mentions the strength of RoR by siting great quotes and examples of great sites.
* История JRuby;
* Платформа JVM и ее возможности;
* Почему стоит попробовать JRuby;
* Как мы в Хот Спот используем JRuby для разработки;
* Сравнение с другими JVM языками.
Java to JRuby translation of Akka's first tutorial to compute Pi using Madhava-Leibniz series. (http://akka.io/docs/akka/1.1.2/intro/getting-started-first-java.html)
My goals have been:
- focusing on several project areas, where you can use jruby successfully
- share the experience that I made using ruby in the last years
- proove that things can be done easier as they are done in typical java projects
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.
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
This presentation is done by Code71 Team to the IT community in Bangladesh. The presentation covers the basics of Ruby on Rails and the advantage of it over many other contemporary languages to build web applications. It also mentions the strength of RoR by siting great quotes and examples of great sites.
* История JRuby;
* Платформа JVM и ее возможности;
* Почему стоит попробовать JRuby;
* Как мы в Хот Спот используем JRuby для разработки;
* Сравнение с другими JVM языками.
Java to JRuby translation of Akka's first tutorial to compute Pi using Madhava-Leibniz series. (http://akka.io/docs/akka/1.1.2/intro/getting-started-first-java.html)
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
If you're like me, you know that being a great backend developer isn't enough. To make *truly* great applications, we need to spend significant time in an area that's moving at a lightning pace: frontend development.
This talk is for you: the backend developer that wants to hook their API's up to rich, interactive JavaScript frontends. To do that, first, we need to demystify a lot of new terms, like ES6/ES2015, ECMAScript, JSX, Babel and the idea that modern JavaScript (surprise) *requires* a build step.
With this in mind, I'll give you a brief introduction into Webpack & the modular development it finally allows.
But the real star is ReactJS. In the frontend world, you never know what new tech will *win*, but React is a star. I'll give you enough of an intro to get you rolling on your project.
The new frontend dev world is huge! Consider the starting line down an exciting new journey.
Integrating React.js Into a PHP ApplicationAndrew Rota
React.js has taken the web development world by storm, and for good reason: React offers a declarative, component-oriented approach to building highly-scalable web UIs. But how can we take advantage of a JavaScript library like React in our server-side PHP applications. In this talk l cover the different ways React.js can be integrated into an existing PHP web application: from a client-side only approach to multiple techniques that support full server-side rendering with a Node.js server or PHP’s v8js. I also discuss the trade-offs in each of these designs and the challenges involved with adding React to a PHP site. Most importantly, I consider the higher-level issue of how to improve view cohesion across the client-server divide in a PHP application.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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.
Ruby on Rails survival guide of an aged Java developer
1. Ruby on Rails sur vival guide
of an aged Java developer
or
how to get a project released without knowing the language
and neither the framework
Gian Carlo Pace - RubyDay - 10/06/2011 - Centro Congressi Milanofiori http://www.thinkgeek.com/gadgets/tools/a396/
3. “Quando la vita rovescia la
nostra barca, alcuni affogano
altri lottano strenuamente
per risalirvi sopra.
4. Gli antichi connotavano il gesto
di tentare di risalire sulle
imbarcazioni rovesciate con il
verbo «resalio».
5. Forse il nome della qualità di chi
non perde mai la speranza e
continua a lottare contro le
av versità, la resilienza deriva
da qui.”
(Resisto Dunque Sono, Pietro Trabucchi - Casa editrice Corbaccio 2009)
13. The standby...
we must put in standby the
project you are working on
ok!
you’ll work on a new project
using Java, so you’ll get the
chance to learn it
good!
manager coldfusion team
14. fast prototype
...ah, a last comment. We need a
fast prototype for the project
to study the business in
advance!
!!!
!!!
manager coldfusion team
34. Rails Satisfaction
$ rails new blog
$ cd blog/
$ rake db:create
$ bundle install
$ rails server
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-06-09 13:59:25] INFO WEBrick 1.3.1
[2011-06-09 13:59:25] INFO ruby 1.9.2 (2010-08-18) [x86_64-
darwin10.5.0]
[2011-06-09 13:59:25] INFO WEBrick::HTTPServer#start: pid=30347
port=3000
36. Rails Installation on Windows
"If you’re working on Windows, you should be aware that
the vast majority of Rails development is done in Unix
environments...”
“...If at all possible, we suggest that you install a Linux
virtual machine and use that for Rails development, instead
of using Windows."
(http://guides.rubyonrails.org/getting_started.html)
37. Ruby vs Java: similarities
Memory is managed for you via a garbage collector.
Objects are strongly typed.
There are public, private, and protected methods.
There are embedded doc tools (Ruby’s is called RDoc).
38. Ruby vs Java: differences
You don’t need to compile your code. You just run it directly.
All member variables are private. From the outside, you
access everything via methods.
Parentheses in method calls are usually optional and often
omitted.
Everything is an object.
There’s no static type checking.
Variable names are just labels. They don’t have a type
associated with them.
http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-java/
42. Ruby Language :symbols
Symbols are constant names that you
don’t have to predeclare and that are
guaranteed to be unique.
NORTH = 1 :north
EAST = 2 :east
SOUTH = 3 :south
WEST = 4 :west
43. Ruby Language: code blocks
Code blocks are chunks of code you can
associate with method invocation almost
as if they were parameters
44. Ruby Language: code blocks
def call_block
puts “Start of method”
yield
yield
puts “End of method”
end
irb(main):008:0> call_block { puts 'In the block' }
Start of method
In the block
In the block
End of method
=> nil
45. Rails
Rails is a web application development
framework written in the Ruby language
DRY
Convention Over Configuration
RESTful Acrhitecture
MVC Pattern Based
ORM Based
46. Rails: bundler
Dependency manager
$ bundle install
Using rake (0.9.2)
Using abstract (1.0.0)
Using activesupport (3.0.7)
Using builder (2.1.2)
Using i18n (0.5.0)
Using activemodel (3.0.7)
...
Your bundle is complete! Use `bundle show [gemname]` to see where a
bundled gem is installed.
$
47. Rails: rake
rake means ruby make
$ rake -T
rake db:create # Create the database from config/
database.yml for the current Rails.env (use db:cre...
rake db:drop # Drops the database for the current
Rails.env (use db:drop:all to drop all databases)
rake db:fixtures:load # Load fixtures into the current
environment's database.
rake db:migrate # Migrate the database (options:
VERSION=x, VERBOSE=false).
rake db:migrate:status # Display status of migrations
...
Benvenuti a tutti mi chiamo Gian Carlo Pace e sono il leader del JUG Milano e sono 192 giorni che non programmo in Java.\nLo speech è di livello introduttivo anche perché non potrebbe essere diversamente dato che sono in posizione socratica. \nsapiente è soltanto chi sa di non sapere - dotta ignoranza\novvero so di non sapere nulla. insomma io per primo sono un n00b per cui probabilmente commetterò imprecisioni che spero perdoniate. \n
Comunque oggi vi vorrei parlare della storia di uno switch di un'azienda piccola ma agguerrita da java/coldfusion a ruby on rails e di tutte le difficoltà che abbiamo dovuto incontrare per portare a casa la pagnotta e si spera rendere felice un cliente. \n\n
La storia comincia quando arrivo nell'azienda in cui lavoro attualmente in cui fondamentalmente ci sono due team uno java ed uno coldfusion con progetti e know how ben distinti. L'azienda nasce dalla fusione di due aziende precedenti che si occupavano di progetti differenti ma vuole mettere a frutto la sinergia delle varie competenze ed estrazioni che sembrano essere compementari ma la cosa stenta a succedere in quanto i due team presi dal lavoro quotidiano difficilmente riescono a vedersi se non alla macchinetta del caffé o a pranzo. \n
Un giorno arriva un grosso cliente dell'azienda che chiede il rifacimento di un'applicazione coldfusion.\nL'applicazione è nata con una textbox ed oggi ha la form principale con 136 campi. Si parla di 7 anni di sviluppi che affastellano feature ed un database che stenta a seguire le esigenze del cliente sia di performance (ricerche avanzate lentissime) che di business: l'applicazione non rispecchia più la situazione del business attuale. Il codice diventa viscoso: ovvero cosa meno il workaround che una soluzione corretta. \n\n
Altro problema: un altro cliente mette in standby lo sviluppo di uno del secondo progetto principale. Le persone del secondo progetto dovrebbero essere allocate ad un progetto interno che prevede una prima fase di prototipizzazione. Su quale linguaggio? Potrebbe essere la volta buona che iniziamo ad unificare l'azienda con direzione Java. \nPerò dire Java e fast prototyping non è proprio la stessa cosa. \n\n
Gli sviluppatori coldfusion avrebbero dovuto imparare cose come Spring, Hibernate, un framework web a scelta (flex? altro linguaggio), Maven application server...\n\n
\nma subito appare un problema \ndifficile fare fast prototyping a causa di una curva di apprndimento particolarmente lenta\n
Nel frattempo il progetto di rifacimento del software in java + flex parte a novembre 2010. \n\n
Ulteriore complicazione data la pletora di linguaggi e di esperienze personali che costituiscono il team ci sono visioni abbastanza differenti sulle architetture e approcci allo sviluppo. Flex / HTML5 + Js ? Restful?\nPartono flame e trolling sulla mailing list interna ma nonostante le discussioni non si riesce a trovare una quadra. \n
Ulteriore complicazione data la pletora di linguaggi e di esperienze personali che costituiscono il team ci sono visioni abbastanza differenti sulle architetture e approcci allo sviluppo. Flex / HTML5 + Js ? Restful?\nPartono flame e trolling sulla mailing list interna ma nonostante le discussioni non si riesce a trovare una quadra. \n
Si lavora per un mese ottenendo solo una form malfatta in flex con una lentezza colossale.\nCresce il malumore ed il management se ne accorge. Occorre una soluzione dirompente.\n\n
Riunione con gli sviluppatori tutti contingentati. Si decice di cambiare radicalmente tecnologia su cui si baserà lo sviluppo aziendale da qui in avanti in modo democratico. \n
Si profilano dei candidati che devono poter prototipizzare velocemente e avere una robustezza enterprise e si farà scouting in pair. I candidati sono stati Django, Rails, Play e Grails.\nDopo quattro giorni di dure prove di tutto il team, indovinate chi ha vinto? Rails. \n\n
Ha vinto soprattutto per la community e perché inizia ad essere un framework molto maturo e quindi adatto sia la fast and furios che all'enterprise.\nE poi ha una community piena di troll basta guardare il thread che è uscito fuori su coffescript e questo rispecchia molto la nostra azienda. \n\n
Ha vinto soprattutto per la community e perché inizia ad essere un framework molto maturo e quindi adatto sia la fast and furios che all'enterprise.\nE poi ha una community piena di troll basta guardare il thread che è uscito fuori su coffescript e questo rispecchia molto la nostra azienda. \n\n
Per cui ecco che esce la resilienza aziendale, la capacità di risalire sulla barca rovesciata. Si ripianifica il progetto che doveva essere finito in tre mesi di tre sviluppatori lasciando la deadline fissa e aggiungendo due sviluppatori si pensa di farlo in due mesi. Senza alcuna esperienza del linguaggio ruby, né del framework rails e senza nessuna idea dei tempi che occorrano né per apprenderli né per sviluppare.\nresilienza alle volte fa rima con incoscienza.\n\n
\n
Prima cosa abbiamo comprato libri sulla neonata amazon.it.\n\n
Poi abbiamo contattato amici che potessero fornirci un corso acceleratissimo persgrossarci dei rudimenti base.\nE abbiamo trovato Paolo Montrasio. \nNel frattempo che facevamo il corso abbiamo mosso i primi passi con i tutorial sia di ruby che di rails e successivamente abbiamo cominciato a sviluppare principalmente in pair per diffondere la conoscenza le prime user stories più semplici.\n\n
\n
Io ho fatto casino e devo dire che se siete usi a compilarvi i vostri pacchetti unix ricompilare ruby vi dà una qualche sicurezza di un mondo che conoscete e che in qualche modo potete dominiare meglio. Anche perché dovrete ancora comprendere come e dove vengono installate le gemme.\n\nrvm in prima battuta vi aiuta a switchare da una versione ad un altra di ruby ma in effetti fa molte più cose. Il tutto viene spiegato qui: https://rvm.beginrescueend.com/rvm/myths/\n\n
In effetti di Virtual Machines per far girare ruby ce ne sono un po'\nMRI/YARV (ruby) VM di default (green threads)\nRubinius (rbx) - http://rubini.us/ - è simile concettualmente alla JVM con un Justi in time compiler Bytecode compiler ed una efficiente traduzione in codice macchima prima dell'esecuzione. Compatibile al 93% con l'implementazione 1.8.7 della MRI. Cominceranno l'implementazione della 1.9 dopo la release della ver 1.0.\nJRuby (jruby) - http://www.jruby.org/ - uscita la compatibilità con ruby 1.9.2 solo da poco 2011-03-15 per cui non l'abbiamo accarezzata inoltre non volevamo aggiungere una variabile al già difficile lavoro.\n\nRuby Enterprise Edition (ree) Minore memory footprint interprete 1.8.7 molto stabile - http://www.rubyenterpriseedition.com/\nMagLev (maglev) - http://maglev.gemstone.com/ - Alpha Basata su GemStone VM\nIronRuby (ironruby) - http://www.ironruby.net/ - implementazione su .net\nMacRuby (macruby) - http://www.macruby.org/ implementazione in ObjectiveC della VM integrata con MacOSX\n\n
\n
$ rails new blog\n$ cd blog/\n$ rake db:create\n$ bundle install\n$ rails server\n\n\n\nrails s\n=> Booting WEBrick\n=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000\n=> Call with -d to detach\n=> Ctrl-C to shutdown server\n[2011-06-09 13:59:25] INFO WEBrick 1.3.1\n[2011-06-09 13:59:25] INFO ruby 1.9.2 (2010-08-18) [x86_64-darwin10.5.0]\n[2011-06-09 13:59:25] INFO WEBrick::HTTPServer#start: pid=30347 port=3000\n
$ rails new blog\n$ cd blog/\n$ rake db:create\n$ bundle install\n$ rails server\n\n\n\nrails s\n=> Booting WEBrick\n=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000\n=> Call with -d to detach\n=> Ctrl-C to shutdown server\n[2011-06-09 13:59:25] INFO WEBrick 1.3.1\n[2011-06-09 13:59:25] INFO ruby 1.9.2 (2010-08-18) [x86_64-darwin10.5.0]\n[2011-06-09 13:59:25] INFO WEBrick::HTTPServer#start: pid=30347 port=3000\n
Per gli utenti windows la prima cosa è fare riferimento alla pagina:\nhttp://wiki.rubyonrails.org/it/getting-started/installation/windows\nAlla fine gli sviluppatori in azienda da noi esasperati dai problemi dei crash su windows e delle incopatibilità di alcune gemme che su *nix funzionavano egregiamente hanno installato una vm ubuntu e lanciano il server rails lì utilizzando l'editor da windows in una directory condivisa.\n\n
Un tool che risulta molto utile è irb (Interactive Ruby) che è una shell interprete del inguaggio in cui si possono definire classi moduli variabili e ispezionare subito il risultato delle nostre operazioni. La shell è molto molto comoda per imparare o per comprendere come funzioni uno stralcio di codice particolarmente ostico. \n\n
Quando si approccia Rails il problema è dato dal fatto che non si conosce nè il liguaggio nè il framework. La parte positiva è che il framework è più un DSL e quindi ha un processo di apprendimento a cipolla ovvero si può cominciare ad utilizzarlo conoscendolo poco e scoprendo volta per volta quello che è necessario scoprire.\n\nhttp://guides.rubyonrails.org/\nsimpatico http://railsforzombies.org/\n\nLe guides molto ben fatte permettono di creare la classica applicazione di blogging. E permettono di fare una carrellata di molte delle parti di rails.\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Quando si approccia Rails il problema è dato dal fatto che non si conosce nè il liguaggio nè il framework. La parte positiva è che il framework è più un DSL e quindi ha un processo di apprendimento a cipolla ovvero si può cominciare ad utilizzarlo conoscendolo poco e scoprendo volta per volta quello che è necessario scoprire.\n\nhttp://guides.rubyonrails.org/\nsimpatico http://railsforzombies.org/\n\nLe guides molto ben fatte permettono di creare la classica applicazione di blogging. E permettono di fare una carrellata di molte delle parti di rails.\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
Rails è una gemma che si basa su altre gemme. Rack è la gemma che assolve alla comunicazione web e che costituisce la base di molti framework web. \n\nRails si basa sul pattern model view controller con un'architettura RESTful. Utilizza la gemma ActiveRecord come orm ed un sistema di migrazioni che permettono di versionare i cambiamenti del database (simile a liquidbase per java per chi lo conoscesse). \nUtilizza bundler per gestire le dipendenze un po' come maven non sovraingegnerizzato.\nBisogna dire che ruby parte avvantaggiato perché ha il package manager rubygems embedded nel linguaggio che java non ha mai avuto. Inoltre le gemme vengono tutte storate nel file https://rubygems.org/ senza la necessità di fare il setup di mille repository. Chiunque può creare ed uplodare gemme e quindi rilasciarle.\nAltra gemma importante è rake: ovvero ruby make. con essa si possono lanciare task (simili a quelli di ant) scritti sempre in ruby. \nRails ne ha alcuni di default che si possono listare andando nella directory di progetto e lanciando\n\nrake -T\n\n
inizialmente abiutuati a fare testdriven ma non riuscivamo a causa del fatto che non conoscendo ruby non sapevamo se il test non funzionasse a causa di ruby o di rails \n\nPaura dell'effetto boiled frogs \n\n\n
inizialmente abiutuati a fare testdriven ma non riuscivamo a causa del fatto che non conoscendo ruby non sapevamo se il test non funzionasse a causa di ruby o di rails \n\nPaura dell'effetto boiled frogs \n\n\n
inizialmente abiutuati a fare testdriven ma non riuscivamo a causa del fatto che non conoscendo ruby non sapevamo se il test non funzionasse a causa di ruby o di rails \n\nPaura dell'effetto boiled frogs \n\n\n
\n
Abbiamo studiato abbiamo lavorato feature per feature scoprendo sempre cose nuove ogni giorno e tentando di convidirele il più possibile imparando molto da ruby dal progetto e dai noi stessi e abbiamo aggredito una feature alla volta tentando comunque dei ricicli nonostante i tempi fossero stretti dato che c'era di mezzo anche il natale. \nAbbiamo lavorato indefessamente non facendo quasi pause e facendo training on the job\n\n\n
Il giorno 4 Febbraio 2011 abbiamo deployato un'applicazione feature complete.\nPer cui un'applicazione stimata con un effort di 150gg uomo per un elapsed di tre mesi per tre sviluppatori è stato rilasciata in 200gg uomo con un elapsed di due mesi e 5 sviluppatori.\n\n\n\n
Il giorno 4 Febbraio 2011 abbiamo deployato un'applicazione feature complete.\nPer cui un'applicazione stimata con un effort di 150gg uomo per un elapsed di tre mesi per tre sviluppatori è stato rilasciata in 200gg uomo con un elapsed di due mesi e 5 sviluppatori.\n\n\n\n
Il giorno 4 Febbraio 2011 abbiamo deployato un'applicazione feature complete.\nPer cui un'applicazione stimata con un effort di 150gg uomo per un elapsed di tre mesi per tre sviluppatori è stato rilasciata in 200gg uomo con un elapsed di due mesi e 5 sviluppatori.\n\n\n\n
Il giorno 4 Febbraio 2011 abbiamo deployato un'applicazione feature complete.\nPer cui un'applicazione stimata con un effort di 150gg uomo per un elapsed di tre mesi per tre sviluppatori è stato rilasciata in 200gg uomo con un elapsed di due mesi e 5 sviluppatori.\n\n\n\n