Rails & Javascript Faça isso direito! Dicas de como organizar o javascript em apps Rails não SPA

Tamanho: px
Começar a partir da página:

Download "Rails & Javascript Faça isso direito! Dicas de como organizar o javascript em apps Rails não SPA"

Transcrição

1 Rails & Javascript Faça isso direito! Dicas de como organizar o javascript em apps Rails não SPA

2 $ whoami Cezinha Anjos. Comecei programando num Apple II e gravando programas em fitas cassetes há 26 anos atrás. Atualmente focado em Ruby on Rails e Javascript. Gosto de OO, Clean Code, Design Patterns, BDD e Lean. Diretor da ASSEINFO.

3 Estamos localizados em Tijucas - SC - 40 km de Florianópolis. Somos em torno de 20 pessoas. Quase nenhuma verticalização hierárquica. Quem tem chefe é índio! Desde 2001 no mercado de automação comercial. Trabalhamos com ERP. Foco em qualidade. Já nascemos agile, mesmo antes de conhecer o manifesto ágil. 3

4 História desta palestra

5 História desta palestra Hands on de 9 horas

6 História desta palestra Hands on de 9 horas Talk de 50 minutos

7 Qual o formato da palestra?

8 Dicas

9 Partiremos de um app tradicional Rails

10 Evoluindo o código usando cada dica

11 01 Use o Gemfile somente para dependências do backend (sempre que possível)

12 Remover gems do front-end # Arquivo: Gemfile source 'https://rubygems.org' gem 'rails', '4.2.0' gem 'sqlite3' gem 'sass-rails', '~> 5.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> 4.1.0' gem 'jquery-rails'

13 02 Use o Bower para as dependências do front-end

14 Instalação $ npm install -g bower

15 Configuração $ bower init # enter, enter, enter, enter # até que o arquivo bower.json # seja gerado

16 Configuração // Arquivo: bower.json { } name: rails-and-js, version: '0.0.0', authors: [ 'Cezinha ], license: 'MIT', ignore: [ '**/.*', 'node_modules', 'bower_components', 'test', 'tests' ]

17 Configuração $ vim.bowerrc { } "directory": "vendor/assets/bower" Caminho onde os pacotes serão baixados e a asset pipeline poderá utilizar.

18 Instalando dependências $ bower install jquery# save $ bower install jquery-ujs# save # Arquivo: Gemfile... gem 'jquery-rails'

19 Instalando dependências // arquivo: bower.json { } "name": "rails-and-js", "version": "0.0.0", "authors": [ "Cezinha ], "license": "MIT", "ignore": [ "**/.*", "node_modules", "bower_components", "test", "tests" ], "dependencies": { "jquery": "2.0.3", "jquery-ujs": "1.0.3" }

20 Ajustando o manifesto // arquivo: application.js //= require jquery //= require jquery_ujs jquery-ujs //= require_tree.

21 Você pode instalar coisas como: JQuery; JQuery UI; Twitter Bootstrap; Font Awesome; Qualquer projeto Angular JS; Backbone; React JS; que esteja no github (ou similar)

22

23 03 Crie uma pasta para cada view e pelo menos um arquivo para cada action

24 Uma pasta por view Pelo menos um arquivo por action $ mkdir app/assets/javascripts/views $ mkdir app/assets/javascripts/views/people

25 A separação dos scripts ajudará nas futuras manutenções

26 04 Aceite que todos os seus javascripts acabarão em um único arquivo (nem sempre isso é verdade ;-)

27 Visão do programador 4 arquivos separados

28 // arquivo: app/assets/javascripts/views/people/index.js alert("running index.js"); // arquivo: app/assets/javascripts/views/people/edit.js alert("running edit.js"); // arquivo: app/assets/javascripts/views/people/show.js alert("running show.js"); // arquivo: app/assets/javascripts/views/people/new.js alert("running new.js");

29 people/new

30 people/new

31 people/new 1 3 WTF?! 2 4

32 Visão do sprockets // arquivo: application.js // na visão do sprockets // sem "uglificação" alert("running edit.js"); alert("running index.js"); alert("running new.js"); alert("running show.js");

33 Você não tem como separar fisicamente os scripts sem aumentar o número de requisições. Minha opinião: não separe!

34 05 O segredo é modularizar

35

36 Instalação $ bower install modulejs# save

37 Ajustando o manifesto // arquivo: application.js //= require jquery //= require jquery-ujs //= require_tree. //= require modulejs //= require_tree.

38 // arquivo: app/assets/javascripts/views/people/index.js alert("running modulejs.define("people.index", index.js"); function() { return function() { alert("running index.js ); }; }); var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); // Resultado do console: function () { alert("running index.js"); }

39 06 Estabeleça um Single Entry Point

40 Defina um único ponto para início de execução de todo o seu javascript.

41 O fluxo de execução tende a ficar mais claro.

42 Carregamento da página Executa JS de terceiros Fluxo de execução Dispatcher (boot.js) people/index.js people/new.js people/edit.js people/show.js foo.js bar.js x.js y.js

43 Carregamento da página Executa JS de terceiros Fluxo de execução Dispatcher (boot.js) people/index.js people/new.js people/edit.js people/show.js foo.js bar.js x.js y.js

44 Carregamento da página Executa JS de terceiros Fluxo de execução Dispatcher (boot.js) people/index.js people/new.js people/edit.js people/show.js foo.js bar.js x.js y.js

45 Carregamento da página Executa JS de terceiros Fluxo de execução Dispatcher (boot.js) people/index.js people/new.js people/edit.js people/show.js foo.js bar.js x.js y.js

46 Carregamento da página Executa JS de terceiros Fluxo de execução Dispatcher (boot.js) people/index.js people/new.js people/edit.js people/show.js foo.js bar.js x.js y.js

47 Carregamento da página Executa JS de terceiros Fluxo de execução Dispatcher (boot.js) people/index.js people/new.js people/edit.js people/show.js foo.js bar.js x.js y.js

48 // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { // Aqui deve ser o seu primeiro // ponto de execução de javascript }); })()

49 Ajustando o manifesto // arquivo: application.js //= require jquery //= require jquery-ujs //= require modulejs //= require_tree./views //= require boot

50 // arquivo: app/assets/javascripts/views/people/index.js modulejs.define("people.index", function() { return function() { alert("running index.js") }; }); var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { // Aqui deve ser o seu primeiro // ponto de execução de javascript // }); })()

51 // arquivo: app/assets/javascripts/views/people/index.js modulejs.define("people.index", function() { return function() { alert("running index.js") }; }); var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { // Aqui deve ser o seu primeiro // ponto de execução de javascript // }); })()

52 // arquivo: app/assets/javascripts/views/people/index.js modulejs.define("people.index", function() { return function() { alert("running index.js") }; }); var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { // var Aqui mymodule deve = ser modulejs.require("people.index"); o seu primeiro // console.log(mymodule); ponto de execução de javascript // mymodule(); }); })()

53 07 Use o Dispatcher para executar o JS de cada view

54 // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { }); })() var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule();

55 // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); }); })() A action está hard coded neste ponto!

56 Desafio: como sinalizar para o JS qual a action que estamos executando?

57 Através do HTML gerado pelo servidor.

58 <body dispatcher="people.index">

59 <body dispatcher="people.index"> <!-- arquivo: app/views/layouts/application.html.erb --> <body <%= dispatcher_tag %>>

60 <body dispatcher="people.index"> <!-- arquivo: app/views/layouts/application.html.erb --> <body <%= dispatcher_tag %>> Criaremos um helper para batizar" a tag body

61 <body dispatcher="people.index"> # arquivo: app/helpers/application_helper.rb module ApplicationHelper def dispatcher_tag controller_name = controller.class.name.underscore controller_name.gsub!(/\//, "_") controller_name.gsub!(/_controller$/, "") div_tag = %(dispatcher="#{controller_name}.#{controller.action_name}") div_tag.html_safe end end

62 <body dispatcher="people.index"> # arquivo: app/helpers/application_helper.rb module ApplicationHelper def dispatcher_tag controller_name = controller.class.name.underscore controller_name.gsub!(/\//, "_") controller_name.gsub!(/_controller$/, "") div_tag = %(dispatcher="#{controller_name}.#{controller.action_name}") div_tag.html_safe end end

63 <body dispatcher="people.index"> // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); }); })() A action está hard coded neste ponto!

64 <body dispatcher="people.index"> // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { var dispatch_to = $("body").attr("dispatcher"); var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); }); })()

65 <body dispatcher="people.index"> // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { var dispatch_to = $("body").attr("dispatcher"); var mymodule = modulejs.require("people.index"); console.log(mymodule); mymodule(); }); })()

66 <body dispatcher="people.index"> // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { var dispatch_to = $("body").attr("dispatcher"); var mymodule = modulejs.require(dispatch_to); console.log(mymodule); mymodule(); }); })()

67 <body dispatcher="people.index"> // arquivo app/assets/javascripts/boot.js (function() { "use strict"; $(document).ready(function() { var dispatch_to = $("body").attr("dispatcher"); var mymodule = modulejs.require(dispatch_to); console.log(mymodule); mymodule(); }); })()

68 08 Faça seus controllers responderem JSON

69 # arquivo: app/controllers/people_controller.rb... def = Person.all respond_to do format format.html format.json { render } end end...

70 respond_with foi removido do Rails na versão 4.2.

71 IMHO respond_to deixa mais claro a intenção do programador.

72 09 ActiveModel::Serializers Existe coisa melhor do que to_json

73

74 class PostSerializer < ActiveModel::Serializer attributes :title, :body has_many :comments end class CommentSerializer < ActiveModel::Serializer attributes :name, :body belongs_to :post end

75 [ ] { } "title":"obama mentiu sobre operação que matou Bin Laden", "body":"o jornalista Seymour Hersh, que recebeu o Prêmio Pulitzer, "comments": [ { "name":"fulano", "body":"eu não acredito!" } ]

76 10 js-routes: Named Routes do Rails no JS

77 Rails.application.routes.draw do resources :people end $ bin/rake routes people GET /people(.:format) people#index new_person GET /people/new(.:format) people#new edit_person GET /people/:id/edit(.:format) people#edit person GET /people/:id(.:format) people#show

78

79 # Arquivo: Gemfile source 'https://rubygems.org' gem 'rails', '4.2.0' gem 'sqlite3' gem 'sass-rails', '~> 5.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> gem 'jquery-rails' gem 'js-routes'

80 Ajustando o manifesto // arquivo: application.js //= require jquery //= require jquery-ujs //= require modulejs //= require_tree js-routes./views //= require_tree boot./views //= require boot

81 Routes.people_path() "/people.json" Routes.new_person_path() "/people/new.json" Routes.edit_person_path(1) "/people/1/edit.json" Routes.person_path(1) "/people/1.json"

82 var promise; promise = $.get("/people.json"); $.get(routes.people_path());

83 11 ejs: fazendo o sprockets servir templates

84

85 # Arquivo: Gemfile source 'https://rubygems.org' gem 'rails', '4.2.0' gem 'sqlite3' gem 'sass-rails', '~> 5.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> gem 'jquery-rails' gem 'js-routes' gem 'ejs'

86 Ajustando o manifesto // arquivo: application.js //= require jquery //= require jquery-ujs //= require modulejs //= require js-routes //= require_tree./views./templates //= require_tree boot./views //= require boot

87 Criando um template <!-- arquivo: app/assets/javascripts/templates/people/example.jst.ejs --> <p>name:</p> <p><%= name %></p> <p>phone:</p> <p><%= phone %></p>

88 Consumindo um template (function() { "use strict" var html = JST["templates/people/example"]({ name: "The name", phone: "(48) " }); $("div#person").html(html); }()) <p>name:</p> <p><%= name %></p> <p>phone:</p> <p><%= phone %></p>

89 Consumindo um template (function() { "use strict" var html = JST["templates/people/example"]({ name: "The name", phone: "(48) " }); $("div#person").html(html); }()) Array de templates compilados <p>name:</p> <p><%= name %></p> <p>phone:</p> <p><%= phone %></p>

90 Consumindo um template (function() { "use strict" var html = JST["templates/people/example"]({ name: "The name", phone: "(48) " }); $("div#person").html(html); }()) A chave do array é o path do template <p>name:</p> <p><%= name %></p> <p>phone:</p> <p><%= phone %></p>

91 Consumindo um template (function() { "use strict" var html = JST["templates/people/example"]({ name: "The name", phone: "(48) " }); $("div#person").html(html); }()) O conteúdo do array é uma função <p>name:</p> <p><%= name %></p> <p>phone:</p> <p><%= phone %></p>

92 Consumindo um template (function() { "use strict" var html = JST["templates/people/example"]({ name: "The name", phone: "(48) " }); $("div#person").html(html); }()) Objeto literal com parâmetros do template <p>name:</p> <p><%= name %></p> <p>phone:</p> <p><%= phone %></p>

93 Consumindo um template (function() { "use strict" var html = JST["templates/people/example"]({ name: "The name", phone: "(48) " }); $("div#person").html(html); }()) Use o html resultante como quiser <p>name:</p> <p><%= name %></p> <p>phone:</p> <p><%= phone %></p>

94 12 Crie escopos com IIFE

95 IIFE Immediately-invoked function expression (expressão de função invocada imediatamente)

96 IIFE pode ser usada para isolar escopos

97 Immediately-invoked function expression (function() { }())

98 Immediately-invoked function expression (function() { }()) Expressão

99 Immediately-invoked function expression (function() { }()) Função

100 Immediately-invoked function expression (function() { }()) Execução imediata

101 var foo = "value outside IIFE"; (function() { var foo = "value inside IIFE"; console.log(foo); }()) console.log(foo); // Resultado: // value inside IIFE // value outside IIFE

102 Lembre-se que todos os seus javascripts acabarão em um único arquivo.

103 Sem escopos os resultados da "uglificação" são imprevisíveis.

104 13 Na boa use strict"

105 (function () { "use strict"; // Introduzido no ECMA 5. // Converte enganos em erros. // Simplifica o uso de variáveis. // Simplifica "eval" e argumentos. // Ajuda a escrever JS mais seguro. // // Referência: Mozilla Developer Network }())

106 Falta do use strict" fará não gerar erro (function () { foo = "this should be a private content"; }()) Falta do "var" fará de "foo" global

107 ReferenceError: Can t find variable foo (function () { "use strict"; foo = "this should be a private content"; }())

108 (function () { "use strict"; foo var = foo "this = "this should should be a be private a private content"; content"; }())

109 14 Fuja do callback hell use promises

110 var promise; promise = $.get("/people.json"); promise.done(function(data) { alert("done"); alert(json.stringify(data)); }); promise.fail(function(error) { alert("fail"); alert("status text:" + error.statustext); }); promise.always(function() { alert("always"); });

111 So long, and thanks for all the cezinha.info asseinfo.com.br 111

FRWTC800 - Desenvolvimento Web com Ruby on Rails

FRWTC800 - Desenvolvimento Web com Ruby on Rails FRWTC800 - Desenvolvimento Web com Ruby on Rails SOBRE A FRAMEWORK A Framework (www.frwtc.com) atua diretamente com profissionais do segmento de tecnologia em busca de capacitação, atualização e certificação,

Leia mais

Programação Web Aula 10 - Testes, Javascript, Ajax

Programação Web Aula 10 - Testes, Javascript, Ajax Programação Web Aula 10 - Testes, Javascript, Ajax Bruno Müller Junior Departamento de Informática UFPR 28 de Abril de 2014 1 Ambientes de Execução 2 Testes Um exemplo Acrescentando Validação Validação

Leia mais

V1.1 SITE EM UM SITE 11/2015 MINUTOS APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS WWW.DESAFIO3MINUTOS.COM.

V1.1 SITE EM UM SITE 11/2015 MINUTOS APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS WWW.DESAFIO3MINUTOS.COM. 11/2015 UM SITE SITE EM EM UM 3 APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS MINUTOS V1.1 WWW.DESAFIO3MINUTOS.COM.BR ELIELBARONE RUBY ON RAILS O que é? Ruby on Rails é um framework,

Leia mais

O que é um framework?

O que é um framework? O que é um framework? Um framework, ou arcabouço, em desenvolvimento de software, é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. (Wikipedia)

Leia mais

Versão 0.1.0. Manual FoRc. Última Atualização: Maio/2007. Daniel Schmitz danieljfa@gmail.com

Versão 0.1.0. Manual FoRc. Última Atualização: Maio/2007. Daniel Schmitz danieljfa@gmail.com Versão 0.1.0 Manual FoRc Última Atualização: Maio/2007 Daniel Schmitz danieljfa@gmail.com Sumário 1. O que é FoRc?... 3 2. O que é Adobe Flex?... 3 3. O que é Ruby on Rails?... 3 4. Flex + Ruby on Rails?...

Leia mais

Versão 0.1. Manual FoRc. Última Atualização: Maio/2007. Daniel Schmitz danieljfa@gmail.com

Versão 0.1. Manual FoRc. Última Atualização: Maio/2007. Daniel Schmitz danieljfa@gmail.com Versão 0.1 Manual FoRc Última Atualização: Maio/2007 Daniel Schmitz danieljfa@gmail.com Sumário 1. O que é FoRc?... 3 2. O que é Adobe Flex?... 3 3. O que é Ruby on Rails?... 3 4. Flex + Ruby on Rails?...

Leia mais

Patrick Augusto Gonçalves pkgoncalves@gmail.com

Patrick Augusto Gonçalves pkgoncalves@gmail.com Single Page Apps com AngularJS Patrick Augusto Gonçalves pkgoncalves@gmail.com Vamos Começar do Começo O que são Single Page Apps? Por que usar? O que eu ganho com isso? Modelo Clássico de Aplicações Web

Leia mais

Test Driven Infrastructure na Globo.com. globo. .com. Fernando Carolo e Rogério Schneider QCon São Paulo 2014

Test Driven Infrastructure na Globo.com. globo. .com. Fernando Carolo e Rogério Schneider QCon São Paulo 2014 Test Driven Infrastructure na Globo Fernando Carolo e Rogério Schneider QCon São Paulo 2014 Quinta-feira 15:45 Uma turminha do barulho aprontando altas confusões configurações Tudo era feito à mão!! PARTE

Leia mais

Linguagem de Programação III Aula 2 - Apresentação da Disciplina

Linguagem de Programação III Aula 2 - Apresentação da Disciplina Linguagem de Programação III Aula 2 - Apresentação da Disciplina Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Leia mais

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON) Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior

Leia mais

Desenvolvimento Web com Javascript. Charles Viegas Sócio fundador Email: charles.viegas@codate.com.br

Desenvolvimento Web com Javascript. Charles Viegas Sócio fundador Email: charles.viegas@codate.com.br Desenvolvimento Web com Javascript Charles Viegas Sócio fundador Email: charles.viegas@codate.com.br 28 de Agosto de 2015 Sobre mim! Sócio e consultor da Codate! Mais de 10 anos de experiência! Conhecimentos

Leia mais

PROF. DANIELA PIRES. Aplicações para Web. Aplicações para Web - FMU - 2012 - Prof. Daniela Pires

PROF. DANIELA PIRES. Aplicações para Web. Aplicações para Web - FMU - 2012 - Prof. Daniela Pires PROF. DANIELA PIRES Aplicações para Web 1 *Oficialmente: *Uma biblioteca escrita em Javascript *Uma definição melhor: *jquery é uma Biblioteca JavaScript que simplifica a manipulação de um documento HTML

Leia mais

II Semana de Tecnologia da Informação. Rails Framework

II Semana de Tecnologia da Informação. Rails Framework II Semana de Tecnologia da Informação Rails Framework Rails Instalação Ruby versão 1.8.7 Linux: ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz ou apt-get install ruby (Debian/Ubuntu) Windows:

Leia mais

Tutorial Básico. Instalando e testando o Ruby on Rails no Windows

Tutorial Básico. Instalando e testando o Ruby on Rails no Windows Tutorial Básico Instalando e testando o Ruby on Rails no Windows Ana Luiza Dias Organização do Tutorial: Passos para a instalação...pág 2 Passos para a criação de um projeto rails...pág 3 Passos para acompanhar

Leia mais

Práticas de Desenvolvimento de Software

Práticas de Desenvolvimento de Software Aula 8. 13/04/2015. Práticas de Desenvolvimento de Software Aula 8 - Arquitetura e infraestrutura de aplicações Web. Oferecimento Modelo cliente-servidor (1) Cliente Rede scheme://domain:port/path?query_string#fragment_id

Leia mais

O Framework Rails. Diego Rubin http://diegorubin.com @diegorubin

O Framework Rails. Diego Rubin http://diegorubin.com @diegorubin O Framework Rails Diego Rubin http://diegorubin.com @diegorubin Introdução David Heinemeier Hansson (DHH) 2004 MVC Restful Meta-Framework Convention over configuration Rails 3.1 Ferramentas Rake Bundler

Leia mais

Aplicativos mobile portáveis

Aplicativos mobile portáveis Aplicativos mobile portáveis Elvis Pfützenreuter 31 de maio de 2015 1 ii Copyright c 2015 Elvis Pfützenreuter. Todos os direitos reservados. Todas as marcas mencionadas ou mostradas em figuras pertencem

Leia mais

PHP Profissional. Alexandre Altair de Melo / Mauricio G. F. Nascimento. Editora Novatec

PHP Profissional. Alexandre Altair de Melo / Mauricio G. F. Nascimento. Editora Novatec Introdução Como a idéia deste livro é ir direto ao ponto, vou fazer isso já na introdução. A idéia desse livro não é explicar a teoria e filosofia do PHP, da orientação a objetos, as maravilhas dos design

Leia mais

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi Novatec Original English language edition published by Apress Inc., 2560 Ninth Street, Suite 219, Berkeley, CA 94710 USA. Copyright 2009 by Apress, Inc..

Leia mais

Servidores REST usando TMS Aurelius e DataSnap

Servidores REST usando TMS Aurelius e DataSnap Servidores REST usando TMS Aurelius e DataSnap Introdução Em artigo anterior a framework na Active Delphi, apresentados o TMS Aurelius, uma framework para mapeamento objeto-relacional (ORM) e mostramos

Leia mais

Alert Dialog. There are unsaved changes. What would you like to do? Cancel. Rails Standalone

Alert Dialog. There are unsaved changes. What would you like to do? Cancel. Rails Standalone Alert Dialog There are unsaved changes What would you like to do? Don't Save Cancel Save Rails Standalone Rails como aplicação desktop por Fabio Akita - 2007 Surgeworks Brazil Rails Practice Manager Obs.

Leia mais

Requisitos Executáveis: O modelo FIT / FitNesse

Requisitos Executáveis: O modelo FIT / FitNesse Requisitos Executáveis: O modelo FIT / FitNesse Jorge Diz Globalcode 57 Encontro do SPIN-SP Slide 1 Instrutor Jorge Alberto Diz ( 95 Mestre em Eng. Elétrica (UNICAMP ( 89 Bach. em Ciência da Computação

Leia mais

Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina

Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina Objetivo: Capacitar o aluno para o trabalho com o framework JQuery. INTRODUÇÃO JQuery é uma biblioteca

Leia mais

Práticas de Desenvolvimento de Software

Práticas de Desenvolvimento de Software Aula 3. 09/03/2015. Práticas de Desenvolvimento de Software Aula 3 - Introdução à linguagem de programação Ruby Oferecimento Ruby (1) Ruby Ruby (2) Ruby Linguagem de programação dinâmica, de código aberto,

Leia mais

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Sérgio Oliveira Campos Contrato N : 2008/000514 Sumário 1 Introdução 1 2 Bibliotecas Utilizadas 2 2.1 Reconhecimento de Texto

Leia mais

Conceitos de extensões Joomla!

Conceitos de extensões Joomla! capítulo 1 Conceitos de extensões Joomla! Entendendo o que é extensão Extensão pode ser entendida como uma pequena aplicação desenvolvida com regras de construção estabelecidas pelo ambiente Joomla!. É

Leia mais

Começando com Ruby on Rails @gibsongabriel

Começando com Ruby on Rails @gibsongabriel Começando com Ruby on Rails @gibsongabriel Yukiriho 'Matz' Matsumoto http://ruby-lang.org/pt/ Ruby é uma linguagem de programação interpretada, com tipagem forte e dinâmica, que tem como foco a simplicidade

Leia mais

5 Detalhes da Implementação

5 Detalhes da Implementação Detalhes da Implementação 101 5 Detalhes da Implementação Neste capítulo descreveremos detalhes da implementação do Explorator que foi desenvolvido usando o paradigma MVC 45 e o paradigma de CoC 46 (Convention

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

JAVASCRIPT DE QUALIDADE HOJE, AMANHÃ E SEMPRE GUILHERME CARREIRO THIAGO OLIVEIRA

JAVASCRIPT DE QUALIDADE HOJE, AMANHÃ E SEMPRE GUILHERME CARREIRO THIAGO OLIVEIRA JAVASCRIPT DE QUALIDADE HOJE, AMANHÃ E SEMPRE GUILHERME CARREIRO THIAGO OLIVEIRA GUILHERME CARREIRO Rubyist and code deisgner THIAGO OLIVEIRA Indian and Java programmer Há muito tempo... ECMAScript

Leia mais

PHP Conference Brasil

PHP Conference Brasil CakePHP Elton Luís Minetto Agenda O que é o CakePHP Conceitos básicos Requisitos Instalação Configuração Aplicação de exemplo O que é o CakePHP Cake é um framework para PHP que usa padrões de desenvolvimento

Leia mais

BURIPACK - DESIGN E INTERFACES WEB

BURIPACK - DESIGN E INTERFACES WEB 1 de 5 BURIPACK - DESIGN E INTERFACES WEB BC 41 LÓGICA DE PROGRAMAÇÃO COM JAVASCRIPT E HTML (32h) Ajudar aos alunos no desenvolvimento do raciocínio lógico, a partir da prática em lógica de programação,

Leia mais

CakePHP. Tão fácil quanto fazer um bolo!

CakePHP. Tão fácil quanto fazer um bolo! CakePHP Tão fácil quanto fazer um bolo! Roteiro Conceitos Framework MVC CakePHP Quem sou eu... Rangel Xavier 25 anos Sistemas de Informação Aluno do Mestrado em Eng. de Software Design & Desenvolvedor

Leia mais

Ruby. Simplicidade e produtividade

Ruby. Simplicidade e produtividade Ruby Simplicidade e produtividade Ruby é... Uma linguagem de tipagem dinâmica e forte, com gerenciamento de memória automático, open source com foco na simplicidade e na produtividade. Tem uma sintaxe

Leia mais

Criando documentação com javadoc

Criando documentação com javadoc H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada

Leia mais

Agenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão

Agenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão Agenda Aprendendo Git/GitHub Luciana Balieiro Cosme IFNMG Montes Claros Sobre Git Instalação no Windows Comandos básicos Estrutura de um commit Branches GitHub Considerações finais Definições Git is an

Leia mais

André Gugliotti. Novatec

André Gugliotti. Novatec André Gugliotti Novatec Novatec Editora Ltda. 2015. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem

Leia mais

1º passo: Instalando a rvm.

1º passo: Instalando a rvm. Tutorial de instalação de múltiplos ambientes Ruby 1.8.7 e 1.9.2, Ruby on Rails 2.3.11 e 3.0.7 e MySQL no Ubuntu 10.04. Nem sempre é fácil a preparação de um ambiente de desenvolvimento web completo. Às

Leia mais

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Novo projeto com NetBeans A partir de hoje, vamos trabalhar com projetos no NetBeans

Leia mais

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE UNIVERSIDADE FEDERAL DE MINAS GERAIS PROPEEs - Programa de Pós-Graduação em Engenharia de Estruturas INSANE - INteractive Structural ANalysis Environment ROTEIRO ILUSTRADO PARA INSTALAÇÃO DO SISTEMA COMPUTACIONAL

Leia mais

J. M. Silveira Neto. Sun Campus Ambassador. silveiraneto@gmail.com jose.neto@sun.com http://silveiraneto.net

J. M. Silveira Neto. Sun Campus Ambassador. silveiraneto@gmail.com jose.neto@sun.com http://silveiraneto.net Uma olhada no Netbeans 6 J. M. Silveira Neto Sun Campus Ambassador silveiraneto@gmail.com jose.neto@sun.com http://silveiraneto.net Agenda O que é o Netbeans? Adquira o Netbeans Editor de Código Mais Funcionalidades

Leia mais

jquery André Tavares da Silva andre.silva@udesc.br

jquery André Tavares da Silva andre.silva@udesc.br jquery André Tavares da Silva andre.silva@udesc.br jquery jquery é uma biblioteca em JavaScript; Seu objetivo é simplificar a programação em JavaScript; jquery foi desenvolvida para ser de aprendizado

Leia mais

Desenvolvendo em MVC com Zend Framework

Desenvolvendo em MVC com Zend Framework Desenvolvendo em MVC com Zend Framework Diego Pessoa Desenvolvedor Web Baseado na simplicidade, melhores práticas, licença corporativa amigável e um código-base rigorosamente testado. O Zend Framework

Leia mais

rumo ao HTTP 2.0 o que vem por aí e o que você pode utilizar já com SPDY

rumo ao HTTP 2.0 o que vem por aí e o que você pode utilizar já com SPDY rumo ao HTTP 2.0 o que vem por aí e o que você pode utilizar já com SPDY Luiz Corte Real @srsaude Sérgio Lopes @sergio_caelum m a ç n la to n e review HTTP em 5 slides $ telnet www.caelum.com.br 80 Trying

Leia mais

Desenvolvendo com Bootstrap 3: um framework front-end que vale a pena!

Desenvolvendo com Bootstrap 3: um framework front-end que vale a pena! Desenvolvendo com Bootstrap 3: um framework front-end que vale a pena! É engraçado como temos receio do novo. Me acostumei a desenvolver sites do zero, desde a primeira linha de código. Achava estranho

Leia mais

Aplicações Single-page: Caso de implementação com Backbone.js

Aplicações Single-page: Caso de implementação com Backbone.js Aplicações Single-page: Caso de implementação com Backbone.js Autor: Bruno Vitorino - 1402214 Introdução Este artigo pretende fornecer uma pequena introdução ao conceito de aplicações Single- Page e um

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

Java 2 Standard Edition. Configuraçã. ção o do ambiente. JEdit + Ant. argonavis.com.br. Helder da Rocha (helder@acm.org)

Java 2 Standard Edition. Configuraçã. ção o do ambiente. JEdit + Ant. argonavis.com.br. Helder da Rocha (helder@acm.org) Java 2 Standard Edition Configuraçã ção o do ambiente JEdit + Ant Helder da Rocha (helder@acm.org) argonavis.com.br 1 Java "IDE" configurável Este módulo mostra como montar um ótimo ambiente de desenolvimento

Leia mais

Lazarus pelo SVN Linux/Windows

Lazarus pelo SVN Linux/Windows Lazarus pelo SVN Linux/Windows Sei que não faltam artigos sobre como obter e compilar o Lazarus e o FPC pelo SVN, mas sei também que nunca é de mais divulgar um pouco mais e talvez escrever algo diferente.

Leia mais

[PT_BR] AngularJS na prática

[PT_BR] AngularJS na prática [PT_BR] AngularJS na prática Crie aplicações web com AngularJS Daniel Schmitz e Douglas Lira Esse livro está à venda em http://leanpub.com/livro-angularjs Essa versão foi publicada em 2015-07-06 This is

Leia mais

Fábio Rocha de Araújo & Felipe Rocha de Araújo. 30 de janeiro de 2012

Fábio Rocha de Araújo & Felipe Rocha de Araújo. 30 de janeiro de 2012 Laboratório de Processamento de Sinais Laboratório de Sistemas Embarcados Universidade Federal do Pará 30 de janeiro de 2012 Introdução Conhecendo o Joomla! Administrando extensões Joomla! e criando Módulos

Leia mais

Nos Trilhos com RAILS. Sylvestre Mergulhão

Nos Trilhos com RAILS. Sylvestre Mergulhão Nos Trilhos com RAILS Sylvestre Mergulhão Necessidades Desenvolver para a web Desenvolver para a web de forma organizada Desenvolver para a web de forma fácil de manter Desenvolver para a web de forma

Leia mais

ZendWi Presentation 19/10/2012

ZendWi Presentation 19/10/2012 ZendWi Presentation 19/10/2012 Índice 1. Introdução ao Zend Framework 2 2. MVC 3. Zend Tools 4. Estrutura 5. Zend DB Model Generator 6. Back-End Developer 7. Front-End Developer 8. Links Úteis Introdução

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM NOVEMBRO / 2014 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM Por quê? O aprendizado em Algoritmos e Programação visa lógica de programação

Leia mais

Aplication blackboxing

Aplication blackboxing Aplication blackboxing Além da mentalidade monolítica Diogo Terror escalabilidade de código? escalabilidade de código! Diogo Terror Real Terror Estamos contratando recrutamento@boo-box.com Features++

Leia mais

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

No Fedora, instalamos os pacotes mysql e mysql-server, usando o yum: Instalando o MySQL O MySQL é um banco de dados extremamente versátil, usado para os mais diversos fins. Você pode acessar o banco de dados a partir de um script em PHP, através de um aplicativo desenvolvido

Leia mais

Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil

Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora,

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby

Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Bruno Jurkovski Lucas Fialho Zawacki Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Recapitulando... Escopos Constantes Tipagem Métodos Input Estruturas de Controle e Repetição Classes Nativas Blocos

Leia mais

jquery Apostila Básica

jquery Apostila Básica jquery Apostila Básica INTRODUÇÃO 3 CAPÍTULO 1 POR ONDE INICIAR 3 CAPÍTULO 2 MEU PRIMEIRO SCRIPT! 4 EXERCÍCIOS...5 CAPÍTULO 3 ADICIONANDO CSS 6 EXERCÍCIOS...7 CAPÍTULO 4 MODIFICANDO APENAS PARTE DO DOCUMENTO

Leia mais

Diário. João Estrela... F Michael Jackson F F. F Geisy Arruda... Patolino... Peter Griffin F. F.

Diário. João Estrela... F Michael Jackson F F. F Geisy Arruda... Patolino... Peter Griffin F. F. Diário João Estrela... F Michael Jackson F F. F Geisy Arruda.... Patolino.... Peter Griffin F. F. Biometria bi.o.me.tri.a s.f. 1 Ciência da aplicação de métodos de estatística quantitativa a fatos biológicos;

Leia mais

Node.js: JavaScript com Google V8 no servidor

Node.js: JavaScript com Google V8 no servidor Luciano Ramalho luciano@ramalho.org Node.js: JavaScript com Google V8 no servidor Luciano Ramalho Programando por prazer desde 1978, profissionalmente desde 1982 Arquiteto de soluções Web desde 1994 1º

Leia mais

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1 Projecto Integrador Introdução ao REST Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1 Notas Imagens do livro: G. Alonso et. Al. Web Services: Concepts, Architectures

Leia mais

Dominando Action Script 3

Dominando Action Script 3 Dominando Action Script 3 Segunda Edição (2014) Daniel Schmitz Esse livro está à venda em http://leanpub.com/dominandoactionscript3 Essa versão foi publicada em 2014-05-02 This is a Leanpub book. Leanpub

Leia mais

Criação de uma aplicação Web ASP.NET MVC usando Code First

Criação de uma aplicação Web ASP.NET MVC usando Code First Criação de uma aplicação Web ASP.NET MVC usando Code First Visual Studio > File > New Project > (Visual C#, Web) ASP.NET MVC 4 Web Application Name: MvcApplication11 Project Template: View Engine: Internet

Leia mais

Sumário. Parte I Introdução 21. 1 Introdução 15 1.1 O Rails é ágil... 17 1.2 Explorando o conteúdo... 18 1.3 Agradecimentos... 19

Sumário. Parte I Introdução 21. 1 Introdução 15 1.1 O Rails é ágil... 17 1.2 Explorando o conteúdo... 18 1.3 Agradecimentos... 19 Sumário 1 Introdução 15 1.1 O Rails é ágil.......................................................... 17 1.2 Explorando o conteúdo................................................... 18 1.3 Agradecimentos........................................................

Leia mais

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa Aula 12: Funções Nesta aula explicaremos o que são e como usar funções nos seus programas em JavaScript. Você aprenderá como elas podem receber e retornar valores à estrutura que as acionou. Entenderá

Leia mais

Programação Web Aula 8 - Rails (Introdução)

Programação Web Aula 8 - Rails (Introdução) Programação Web Aula 8 - Rails (Introdução) Departamento de Informática UFPR 7 de Abril de 2014 1 Rails Básico Mágica Princípios Características Criando uma aplicação Levantando o Servidor Examinando o

Leia mais

Desenvolva rapidamente utilizando o framework CakePHP Elton Luís Minetto FISL 8.0

Desenvolva rapidamente utilizando o framework CakePHP Elton Luís Minetto FISL 8.0 Desenvolva rapidamente utilizando o framework CakePHP Elton Luís Minetto Agenda O que é o CakePHP Conceitos básicos Requisitos Instalação Configuração Aplicação de exemplo O que é o CakePHP Cake é um framework

Leia mais

Manual Portal PADRÃO. Gerenciador de Temas: Editar Estilo. 1. Clique na aba Extensões e em seguida em Gerenciador de Temas.-

Manual Portal PADRÃO. Gerenciador de Temas: Editar Estilo. 1. Clique na aba Extensões e em seguida em Gerenciador de Temas.- Manual Portal PADRÃO Gerenciador de Temas: Editar Estilo 1. Clique na aba Extensões e em seguida em Gerenciador de Temas.- 1 2 2. Selecione o link padraogoverno01 Default. 3. Abrirá a seguinte tela: 4.

Leia mais

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1 Projecto Integrador Introdução ao REST Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1 Notas Imagens do livro: G. Alonso et. Al. Web Services: Concepts, Architectures

Leia mais

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Criando uma Calculadora Primeiramente deve se criar uma estrutura para armazenar os arquivos necessários para o funcionamento da calculadora.

Leia mais

%w(akita On Rails) * 2.0 - Rolling with Rails 2.0 - O Primeiro...

%w(akita On Rails) * 2.0 - Rolling with Rails 2.0 - O Primeiro... %w(akita On Rails) * 2.0 Rolling with Rails 2.0 - O Primeiro Tutorial Completo - Parte 1 escrito por AkitaOnRails em January 31st, 2008 @ 11:44 PM Estou muito feliz vo que meu Rails 2.0 Screencast foi

Leia mais

Criando um script simples

Criando um script simples Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa

Leia mais

Desenvolvimento de um Portal Web para Viajantes Utilizando Ruby on Rails e Bootstrap

Desenvolvimento de um Portal Web para Viajantes Utilizando Ruby on Rails e Bootstrap FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Trabalho de Conclusão de Curso Atividade Prática de Desenvolvimento de Software Jackson Hélio de Cerqueira 8386 André Marcos Silva (Orientador)

Leia mais

Curso de Iniciação ao Framework PHP Yii

Curso de Iniciação ao Framework PHP Yii Curso de Iniciação ao Framework PHP Yii Igor Rafael igor at dcc.ufmg.br 12 de agosto de 2011 Conteúdo Visão Geral Configuração Fundamentos Estudo de caso Visão Geral O que é um framework? Coleção de bibliotecas

Leia mais

Módulo Básico. Assando Sites. Relacionamentos, Validação, Consultas e Páginas Dinâmicas. Assando Sites http://assando-sites.com.

Módulo Básico. Assando Sites. Relacionamentos, Validação, Consultas e Páginas Dinâmicas. Assando Sites http://assando-sites.com. Assando Sites Relacionamentos, Validação, Consultas e Páginas Dinâmicas Módulo 4 Dê adeus aos JOINs 1 Relações entre Models 1.1 Definição Relações O CakePHP te dá quatro formas de relacionar (ligar) os

Leia mais

Minicurso de Python Aula 1. Raphael Lupchinski Marcelo Millani

Minicurso de Python Aula 1. Raphael Lupchinski Marcelo Millani Minicurso de Python Aula 1 Raphael Lupchinski Marcelo Millani Introdução Python é uma linguagem de programação poderosa e fácil de aprender Possui estruturas de dados eficientes e de alto nível, além de

Leia mais

Como não enlouquecer desenvolvendo um produto mobile com 6 canais. Wednesday, September 25, 13

Como não enlouquecer desenvolvendo um produto mobile com 6 canais. Wednesday, September 25, 13 Como não enlouquecer desenvolvendo um produto mobile com 6 canais fase 1: the product timeline 2010 2011 2012 2013 quem somos timeline 2010 2011 2012 2013 the product Implementar uma plataforma de mobile

Leia mais

Ruby. Conceitos básicos. Prof. Ms. Leonardo Botega. Diego Gabriel Pereira

Ruby. Conceitos básicos. Prof. Ms. Leonardo Botega. Diego Gabriel Pereira Ruby Conceitos básicos Prof. Ms. Leonardo Botega Diego Gabriel Pereira Quem somos nós Leonardo Botega Bacharel em Ciência da Computação UNIVEM Mestre em Ciência da Computação UFSCar Doutorando em Ciência

Leia mais

Desenvolvimento de Aplicações para Internet Aula 11

Desenvolvimento de Aplicações para Internet Aula 11 Desenvolvimento de Aplicações para Internet Aula 11 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete jquery Na aula passada: Selecionando atributos Manipulando CSS Inserindo

Leia mais

SSC2013 SHAREPOINT 2013 ADMINISTRATOR S SURVIVAL CAMP

SSC2013 SHAREPOINT 2013 ADMINISTRATOR S SURVIVAL CAMP Missões Impossíveis em Desenvolvimento de Software. SSC2013 SHAREPOINT 2013 ADMINISTRATOR S SURVIVAL CAMP Este curso intensivo de cinco dias foi concebido para ensinar experientes profissionais de TI,

Leia mais

Desenvolva rapidamente utilizando o frame work CakePHP. Elton Luí s Minetto

Desenvolva rapidamente utilizando o frame work CakePHP. Elton Luí s Minetto Desenvolva rapidamente utilizando o frame work CakePHP Elton Luí s Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Demonstração Ambiente Web É o ambiente formado por algumas tecnologias: Servidor

Leia mais

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0 HAT Programação Auditoria Pós 12.1.x abril de 2015 Versão: 2.0 1 Sumário 1 Introdução... 3 2 Visão do Processo... 3 3 Serviço... 5 4 Dataset... 7 5 Formulário Principal AuditoriaPos... 9 6 Arquitetura

Leia mais

Pré-requisito Ter realizado os cursos de Lógica de Programação e HTML5 e CSS3, ou ter conhecimento equivalentes.

Pré-requisito Ter realizado os cursos de Lógica de Programação e HTML5 e CSS3, ou ter conhecimento equivalentes. 1 Javascript com Ajax Descrição A Web 2.0 trouxe um novo conceito na construção de sites para internet. O domínio da linguagem de programação JavaScript é essencial para o desenvolvimento de web sites

Leia mais

Frameworks para criação de Web Apps para o Ensino Mobile

Frameworks para criação de Web Apps para o Ensino Mobile 393 Frameworks para criação de Web Apps para o Ensino Mobile Lucas Zamim 1 Roberto Franciscatto 1 Evandro Preuss 1 1 Colégio Agrícola de Frederico Westphalen (CAFW) Universidade Federal de Santa Maria

Leia mais

Grails 2.1.0 e as novidades

Grails 2.1.0 e as novidades _capa Grails 2.1.0 e as novidades Novidades na versão 2.1.0. Neste artigo vamos aprender e conhecer sobre o framework Grails. Vamos desenvolver uma aplicação para web de forma ágil, aprender sobre as convenções

Leia mais

Templates. Existem vários frameworks e softwares para criação de templates, sendo os mais conhecidos: Gantry, T3 e Artisteer.

Templates. Existem vários frameworks e softwares para criação de templates, sendo os mais conhecidos: Gantry, T3 e Artisteer. Templates Template ou tema, é a camada de visão de qualquer programa orientado a objetos, isto mesmo, template não é uma exclusividade do Joomla! Fim manter um padrão de nomenclatura, irei utilizar o termo

Leia mais

WORKSHOP. 2ª Sessão 08/10/15

WORKSHOP. 2ª Sessão 08/10/15 WORKSHOP 2ª Sessão 08/10/15 HTML e CSS http://neecist.org/workshop JavaScript: O que é? Linguagem de programação interpretada pelo browser Corre do lado do cliente Permite manipular elementos da página

Leia mais

SENADO FEDERAL Secretaria Especial do Interlegis - SINTER Subsecretaria de Tecnologia da Informação - SSTIN. Produto: ATU-PM

SENADO FEDERAL Secretaria Especial do Interlegis - SINTER Subsecretaria de Tecnologia da Informação - SSTIN. Produto: ATU-PM Produto: ATU-PM Jacson Tiola da Silva Termo de Referência no 128543 Contrato Número no 2008/000485 Brasília, 30 de Outubro de 2008 1 Sumário 1) Introdução...3 2) Migração do Portal Modelo...3 2.1) Script

Leia mais

Scilab. Introdução ao Scilab. Como obter ajuda

Scilab. Introdução ao Scilab. Como obter ajuda Scilab Scilab é uma linguagem de programação associada a uma rica coleção de algoritmos numéricos cobrindo muitos aspectos dos problemas de computação científica. Do ponto de vista do software, Scilab

Leia mais

Construindo portais com Plone. Módulo 3 Templates

Construindo portais com Plone. Módulo 3 Templates Construindo portais com Plone Módulo 3 Templates Templates l Quando o Plone vai mostrar uma página, duas perguntas precisam ser respondidas: Ø O que será mostrado? Isto é, quais conteúdos serão buscados

Leia mais

Por uma internet mais criativa e dinâmica

Por uma internet mais criativa e dinâmica 1 de 9 1/10/2010 08:05 ASSINE 0800 703 3000 BATE-PAPO E-MAIL SAC BUSCAR VOIP E-MAIL GRÁTIS SHOPPING ÍNDICE PRINCIPAL Canais Fóruns Multimídia Blogs Shop Eventos Pro Banco de Currículos Por uma internet

Leia mais

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 1 CDI - Curso de Webdesign - Prof. Paulo Trentin Objetivos para esta aula Debater sobre

Leia mais

Guia Rápido Instalação Placas DigiVoice Elastix

Guia Rápido Instalação Placas DigiVoice Elastix Guia Rápido Instalação Placas DigiVoice Elastix Sumário Recomendações... 3 Preparando o Servidor PABX-IP Elastix... 3 Instalando a(s) placa(s) DigiVoice... 4 Removendo o módulo tor2... 4 Dependências para

Leia mais

Prefácio 13. 1.1 Breve História do PHP... 15 1.1.1 PHP/FI... 15 1.1.2 PHP 3... 15 1.1.3 PHP 4... 16 1.1.4 PHP 5... 16 1.2 Licença...

Prefácio 13. 1.1 Breve História do PHP... 15 1.1.1 PHP/FI... 15 1.1.2 PHP 3... 15 1.1.3 PHP 4... 16 1.1.4 PHP 5... 16 1.2 Licença... 2 Sumário Página Prefácio 13 1 Introdução 15 1.1 Breve História do PHP...................................... 15 1.1.1 PHP/FI.......................................... 15 1.1.2 PHP 3...........................................

Leia mais

PHP for Android: PHP scripting on Android

PHP for Android: PHP scripting on Android PHP for Android: PHP scripting on Android Kinn Coelho Julião Consultor em Software Livre - 4Linux Instrutor PHP - 4Linux PHP for Android Brasil project founder. @kinncj Andressa Lima Analista de SEO Direct

Leia mais