Maurício Linhares. Desenvolvedor. JUGLeader do PBJUG. Java Ruby C#

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

Download "Maurício Linhares. Desenvolvedor. JUGLeader do PBJUG. Java Ruby C#"

Transcrição

1 Maurício Linhares

2 Maurício Linhares Desenvolvedor Java Ruby C# JUGLeader do PBJUG

3 Completamente, absurdamente, absolutamente, plagiadamente, baseado em... Programming Ruby The Pragmatic Programmers Guide 2nd. Por Dave Thomas, Andy Hunt e Chad Fowler; Agile Web Development with Rails 2nd. Dave Thomas, David Heinemeier Hanson;

4 Do Japão Yukihiko Matz Matsumoto Trazida ao mundo ocidental pelos Pragmatic Programmers Andy Hunt e Dave Thomas (livro da machadinha) Completamente orientada a objetos Não existem tipos primitivos

5 Linguagem de script interpretada; Muito influenciada por Smalltalk e Perl; Contém conceitos de linguagens funcionais (closures blocos de código); ( g ); Completamente dinâmica (tudo pode mudar Completamente dinâmica (tudo pode mudar em tempo de execução);

6 IRB é o Interactive Ruby, o console da linguagem; Pode-se enviar comandos ou se definir classes, módulos, funções e qualquer outra coisa pra se utilizar durante uma sessão;

7 numero = 30 outro_numero = -20 numero + outro_numero numero + outro_numero.abs

8 Não se usam ; ou qualquer outra coisa pra indicar o fim de uma linha, o fim da linha é o fim da linha, oras; Variáveis não tem tipo, elas simplesmente guardam um objeto qualquer, de qualquer tipo; Quando nós vamos dar nomes a variáveis, normalmente separamos nomes compostos com _ ;

9 Eu faço quack(), nadar() e voar(), igual a qualquer outro pato, eu sou ou não um pato?

10 Pois é, você perdeu a aula de Smalltalk né? Não importa qual o tipo do objeto, o que importa são as mensagens (métodos?) que ele é capaz de responder; Se faz quack, nada e voa feito um pato, então pra mim é um pato;

11 def soma( primeiro, segundo) primeiro + segundo soma( 10, 20) soma 50, 90

12 A definição de um método começa com def depois vem o nome do método e depois seus parâmetros entre parenteses; Blocos de código, como métodos, classes, ifs são sempre fechados com, aqui não tem {} não;

13 Em Ruby não se usa return, se a úli última expressão no corpo de um método for avaliada para um valor, esse valor é retornado (Lembra do Effective Java? Não? Pois deveria!); O uso de parênteses não é obrigatório na chamada de métodos, mas tenha cuidado com a legibilidade; Bem, você ainda pode usar return se quiser, mas é feio, oras;

14 class Song def initialize(name, artist, = = = duration musica = Song.new Denied, Sonic Syndicate, 3 musica.inspect i

15 A definição de uma classe começa com a palavra class ; As classes são sempre abertas, você pode redefinir os métodos de uma classe em qualquer lugar, é só declarar ela outra vez; Nomes de classe normalmente são definidos usando CamelCase (como em NomeDeClasse);

16 Os contrutores são os métodos initialize(), que são invocados indiretamente, através do método de classe new ; Não é possível fazer sobrecarga de construtores em Ruby =( ; Variáveis de instância tem o nome começado ;

17 class Song attr_writer :duration attr_reader :duration attr_acessor :title song = Song.new( new("bicylops", "Fleck", 260) song.duration = 257 song.title = Triciclops

18 attr_reader define métodos de acesso a um atributo de instância de um objeto; attr_writer define métodos de alteraçao a um atributo de instância de um objeto, assim como o reader, ele cria a variável dentro do objeto; attr_acessor faz o mesmo que os dois anteriores juntos;

19 class Song def def = (new_duration * 60).to_i

20 Criamos métodos de acesso a um atributo, mas o cliente não sabe se são métodos ou se ele está acessando os atributos t diretamente; t Sobrescrevemos o operador = (atribuição) para a nossa propriedade, Ruby tem sobrecarga de operadores (alguns, apenas)!

21 class SongList MAX_TIME = 5*60 # 5 minutos MIN_TIME = 1*60 # 1 minuto def SongList.is_too_long(song) song.duration > MAX_TIME def self.is_too_short(song) song.duration < MIN_TIME

22 Variáveis de classe são definidas com como em ; Constantes são definidas com o seu nome completo em caixa alta (na verdade é só a primeira letra, mas use o NOME COMPLETO); Métodos de classe são definidos colocando o nome da classe antes do nome do método ou usando self (é o this em Ruby);

23 class MCl MyClass def method1 # o padrão é public protected def method2 private def method3 public def method4

24 Os níveis de acesso são definidos em blocos, quando não há definição, é public, quando se quer definir i um nível de acesso, deve-se utilizar um bloco de acesso; Um bloco termina assim que outro se iniciar;

25 a = [ , "pie", 99 ] a[0] # a[3] # nil a << 123 # adicionando um item a[4] = 456 #adicionando outro item a[-1] # 456 acessando de trás pra frente a[2..4] # [99, 123, 456]

26 Arrays são definidos pela simples declaração de [], como em a = [], também pode-se fazer a = Array.new ; Arrays são acessados pelo índice, tanto positivo (ordem crescente) como negativo (ordem decrescente); Quando se acessa um índice que não existe em um array, ele retorna nil ;

27 Novos items podem ser colocados no array simplesmente utilizando o próprio operador [], como em a[10] = 10 ; Para se adicionar um item no fim do array usa-se o operador <<, como em a << 10 ; Arrays podem ser pegos em pedaços como em a[1..3], que cria um novo array com os itens do índice 1 ao 3;

28 h = { 'dog' => 'canine', 'cat' => 'feline', 'donkey' => 'asinine' } h.length # 3 h['dog'] # "canine" h['cow'] = 'bovine' h[12] = 'dodecine' h['cat'] = 99

29 São conjuntos de chave-valor (Lembra do Map em Java?); São declarados com o uso de {} como em h = {}, ou usando Hash.new; Para se adicionar itens basta usar o operador [], como em h[ chave ] = valor ;

30 class SongList def with_title(title) for i in g[] if title return nil

31 class SongList def { song title == song.name }

32 Blocos são pedaços de código que podem ser passados como parâmetros para funções, para fazer algum trabalho especial, como filtragem, ordenação e outros; Você pode definir os seus próprios métodos it bl que aceitam blocos;

33 def fib_up_to(max) i1, i2 = 1, 1 # atribuição paralela (i1 = 1 and i2 = 1) while i1 <= max yield i1 i1, i2 = i2, i1+i2 fib_up_to(1000) { f print f, " " }

34 O método não tem nada de especial, a sua definição fica igual a qualquer outro método e ele pode ou não receber parâmetros; Na implementação do método, você invoca o método especial yield para executar o bloco, se o bloco recebe parâmetros, você os passa para o método yield ;

35 'escape using "\\"' # escape using "\" 'That\'s right'! #That's right "Seconds/day: #{24*60*60}" # Seconds/day: def to_s Song: Artist:

36 #Q!String de muitas linhas com aspas duplas e acessando variáveis #{variavel}! #q( String de muitas linhas com aspas simples, aqui não pode ter variável ) a << b << c # abc

37 Strings são sequências de caracteres de 8 bits, não necessariamente Unicode; Elas podem ser definidas usando (aspas simples) ou (aspas duplas); Usando aspas duplas você pode colocar expressões ou variáveis com o uso do caracter # seguido de {} para variáveis de método ou funções ou para variáveis de instância;

38 # [ ] [1,2,3,4,5,6,7,8,9,10] 'a'..'z ' ' # lembra do alfabeto? my_array = [ 1, 2, 3 ] 0...my_array.length # [0,1,2,3,4] (1..10).to_a # [1, 2, 3, 4, 5, 6, 7, 8, 9,10] ('bar'..'bat').to_a # ["bar", "bas", "bat"]

39 São um conjunto de objetos em sequência, normalmente caracteres ou números; São definidos através da declaração de [ valor inicial.. valor final ], como em [1..100]; Você pode definir os seus próprios ranges com o operador <=> (disco voador?);

40 class VU include Comparable attr :volume def = volume def to_s '#' def <=>(other) self.volume <=> other.volume def succ raise(indexerror, "Volume too big") >= 9

41 num = 81 6.times do puts "#{num.class}: #{num}" num *= num

42 def cool_dude(arg1="miles", d " arg2="coltrane", " arg3="roach") "#{arg1}, #{arg2}, #{arg3}." cool_dude # "Miles, Coltrane, Roach." cool_dude( dude("bart") Bart) # "Bart Bart, Coltrane, Roach. " cool_dude("bart", "Elwood") # "Bart, Elwood, Roach. " cool_dude("bart", "Elwood", "Linus") # "Bart, Elwood, Linus."

43 def meth_three 100.times do num square = num*num return num, square if square > 1000 meth_three three # [32, 1024]

44 def five(a, b, c, d, e) "I was passed #{a} #{b} #{c} #{d} #{e}" five(1, 2, 3, 4, 5 ) # "I was passed " five(1, 2, 3, *['a' [a, 'b']) # "I was passed a b" five(*(10..14).to_a) # "I was passed "

45 class SongList def create_search(name, params) #... list.create_search('short jazz songs', :genre => :jazz, :duration_less_than => 270)

46 puts "a = #{a}" if debug print total unless total.zero? f 2 if x == 2 puts x elsif x < 0 puts #{x} é menor que zero else puts Caiu no else

47 leap = case when year % 400 == 0: true when year % 100 == 0: false else year % 4 == 0

48 case input_line when "debug" dump_debug_infod dump_symbols when /p\s+(\w+)/ dump_variable($1) when "quit", "exit" exit else print "Illegal command: #{input_line}"

49 print "Hello\n" while false begin print "Goodbye\n" while false while x < 10 puts X é #{x} x = x + 1

50 3.times do print "Ho! 0.upto(9) do x print x, " " [ 1..5 ].each { val puts #{val} }

51 for i in ['fee', 'fi', 'fo', 'fum'] print i, " " for i in 1..3 print i, " "

52 while line = gets next if line =~ /^\s*#/ # pular comentários break if line =~ /^END/ # parar no fim # executar coisas redo if line.gsub!(/`(.*?)`/) { eval($1) } # process line...

53 for i in print "Now at #{i}. Restart? " retry if gets =~ /^y/i

54 Agora você programa em Ruby!

55 Admita, você já estava cansado de tanto mexer e não ver nada né?

56 Um framework web completo, baseado no MVC web (lembra disso?); Ele define aonde cada pedaço de código deve ficar e como ele deve ser acessado; Convenções são melhor do que a liberdade de configuração;

57 Né pra repetir código não, rapá!

58 Projeto Depot do livro Agile Web Development With Ruby ; Aplicação de vas de produtos a clientes; Uma interfaces para clientes, outra para a p, p administração;

59

60

61

62 rails depot #sério, é só isso =P

63 README Rakefile Documentação Arquivo de build components/ Esqueça =P doc/ lib/ script/ Mais documentação Código genérico da aplicação Scripts de build vor/ Plugins para a sua aplicação app/ db/ log/ test/ config/ tmp/ public/ Código da sua aplicação! Migrations e geração de banco Arquivos de log Testes da sua aplicação Configuração geral Arquivos temporários do Rails Arquivos estáticos (html, js, css)

64 development: adapter: mysql database: depot_development username: root password: host: localhost

65 rake db:migrate

66 ruby script/generate model product

67 class CreateProducts < ActiveRecord::Migration def self.up create_table :products do t t.column :title, :string t.column :description, :text t.column :image_url, :string ti t.column :price, :decimal, :precision => 8, :scale => 2, :default => 0 def self.down drop_table :products

68 O seu banco de dados d com controle de versão! Define tabelas, adiciona linhas, cria índices e ainda faz a janta! Contém métodos utilitários para criar, alterar e remover tabelas, colunas e linhas; Você faz no up e desfaz no down, não se esqueça da ordem!

69

70

71 :null indica se pode ser null ou não (truefalse) :limit indica o tamanho máximo do campo :default indica o valor padrão do campo :precision indica a precisão do número :scale indica a escala do número (quantas casas depois da vírgula)

72 create_table :authors_books, :id => false do t t.column :author_id, :integer, :null => false t.column :book_id, :integer, :null => false

73 class CreateLineItems < ActiveRecord::Migration def self.up execute "alter table line_items add constraint fk_line_item_products foreign key (product_id) references products(id) def self.down drop_table :line_items

74

75 ruby script/generate scaffold product admin #não, você não vai usar isso até o fim

76 def index list rer :action => 'list' = paginate :products, :per_page => 10 def = Product.find(params[:id]) def = Product.new

77 def = Product.new(params[:product]) flash[:notice] = 'Product was successfully created.' redirect_to to :action => 'list' else rer :action => 'new' def = Product.find(params[:id])

78 def = Product.find(params[:id]) update attributes( params[:product]) flash[:notice] = 'Product was successfully updated.' redirect_to :action => 'show', :id else rer :action => 'edit'

79 rake db:migrate #rodando o migration ruby script/server webrick #iniciando o servidor #voilá!

80 Todo mundo vem de ApplicationController; As URLs nomalmente são.../ nomedocontroller / metododocontroller / aqui pode vir um id ou não, como em /admin/edit/10 ; Todos os métodos públicos de um controller podem se chamados, métodos não públicos não ficam disponíveis (segurança rapá!);

81 action_name nome da action que está executando; headers hash com os cabeçalhos HTTP (você pode colocar novos se quiser); params parametros que vieram da requisição, podem ser acessados usando símbolos ou strings; flash objeto que pode guardar uma mensagem entre uma requisição e outra (como enviar uma mensagem pra um redirect);

82 domain retorna o domínio que veio na requisição remote_ip retorna o ip que gerou a requisição; env hash de parametros enviados pelo browser (como língua); method retorna o método http invocado como um símbolo, :get, :post e ect; get?, post?, put?, delete?, xml_http_request?, xhr?

83 É um hash de strings, onde você pode passar qualquer valor; Você só pode passar Strings; Sempre use o atributo cookies para enviar cookies para o navegador, nunca envie usando o atributo headers ;

84 Representa uma sessão HTTP de um usuário com a aplicação; Você pode colocar valores dentro dela, como se ela fosse um hash; Os valores podem ser qualquer coisa, contanto que seja um objeto que possa ser serializado; EVITE colocar muita coisa na sessão;

85 rake db:sessions:create rake db:migrate config.action_controller.session_store = :active_record_store _

86 <% form_tag :action => 'update', :id do %> <%= rer :partial => 'form' %> <%= submit_tag 'Editar' %> <% %> <%= link_to 'Mostrar', :action => 'show', :id %> <%= link_to 'Voltar', :action => 'list' %>

87 form_tag é uma função de ajuda que gera um formulário através de um bloco de código; rer :partial => form, vai incluir o arquivo _form dentro da página submit_tag Editar gera um botão clicável link_to Editar :action => show gera um link para o método show do controller atual;

88 <%= error_messages_for 'product' %> <!--[form:product]--> <p><label for="product_name">nome</label><br/> <%= text_field t :product, :name %></p> <p><label for="product_category">categoria</label><br/> <%= select :product, :prompt => "Escolha uma categoria"%> </p> <p><label for= "product_label label" >Marca</label><br/> br/ <%= select :product, :prompt => "Escolha uma marca" %> </p> <p><label for="product_price">preço real</label><br/> <%= text_field :product, :real_price %></p> <!--[eoform:product]-->

89 text_field e select são utilitários para gerar um campo de entrada e um select HTML, existem outros utilitários i para todos os outros componentes HTML; O uso de símbolos, como em text_field :product, :name é para dizer de onde vem o campo e que campo é que nós queremos mostrar (veja o código fonte gerado!);

90 @categories = Category.find( :all, :order => :name).map { c [c.name, c.id] } Ao mostrar alguma coisa em um select, ele deve vir em um array de arrays, onde o primeiro item é o label do select e o segundo item é o value do select;

91 <% form_for f :product, :url => { :action => :create } do form %> <p>title: <%= form.text_field :title, :size => 30 %></p> <p>description: <%= form.text_area :description, :rows => 3 %></p> <p>price: <%= form.text_field :price, :size => 10 %></p> <p><%= submit_tag %></p> <% %>

92 É feito especificamente para gerar formulários para objetos do modelo; Os métodos utilitários de criação de componentes são chamados direto no form e não é necessário repetir diversas vezes qual o objeto real; De resto é igual a form_tag;

93 class Product < ActiveRecord::Base validates_presence_of :title, :description, :image_url validates_numericality_of :price validates_uniqueness_of :title validates_format_of of :image_url, :with => %r{\.(gif jpg png)$}i, :message => deve ser um gif, jpg ou png" protected def validate errors.add(:price, deve ser ao menos 0.01" ) if price.nil? price < 0.01

94 Td Toda a validação é definida id dentro do próprio objeto do modelo; Existem diversos métodos utilitários para diversos tipos de validação; Se nenhum dos métodos resolve o seu problema, implemente o método validate ; As mensagens aparecem em -> <%= error_messages_for _ 'product' %>

95 ruby script/generate migration add_test_data data class AddTestData < ActiveRecord::Migration def self.up Product.create( :title => 'Pragmatic Version Control', :description => %{<p>with Subversion</p>}, :image _ url => '/images/svn.jpg', :price => 28.50) def self.down Product.delete_all

96 <%= link_to Remover', { :action => 'destroy', y, :id => product }, :confirm => Tem certeza?", :method => :post %>

97 module ApplicationHelper def format_price( price ) number_to_currency( price, :precision => 2, :unit => 'R$ ', :separator => ',', :delimiter => '.' )

98 Cada controller tem o seu próprio helper e existe um helper padrão que sempre está disponível para todos os controllers; Todo o trabalho que possa ser de lógica das views (como formatação, geração de templates t e etc) deve ser feito por eles; Ó NAS VIEWS NÃO PODE HAVER LÓGICA, enteu? Ou quer que desenhe?

99 <% form_for(:picture, f it :url => {:action => 'save'}, :html => { :multipart => true }) do form %> Comment: <%= form.text_field("comment" ) %><br/> Upload your picture: <%= form.file_field("uploaded_picture" p ) %><br/> <%= submit_tag("upload file" ) %> <% %>

100 class Picture < ActiveRecord::Base validates_format_of :content_type, :with => /^image/, :message => "-- you can only upload pictures it def uploaded_picture=(picture_field) self.name = base_part_of(picture_field.original_filename) f l f l self.content_type = picture_field.content_type.chomp self.data = picture_field.read def base_part_of(file_name) File.basename(file_name).gsub(/[^\w._-]/, '' )

101 def = Picture.find(params[:id]) :filename :type :disposition => "inline" )

102 Ei, você já está mexo com ele desde o primeiro migration!

103 É a abstração de banco de dados de Rails; Baseado no padrão de projeto active record ; Cada coluna que você definiu lá no q migration, vira uma propriedade do objeto;

104 save e save!, salva ou atualiza um objeto, save retorna true se conseguir salvar, false senão ou o objeto for inválido, save! lança uma exeção se não conseguir salvar ou se o objeto for inválido; destroy remove um objeto do banco de dados e não deixa que nenhum dos seus atributos seja alterado;

105 update_attributes e update_attributes!, recebem um hash com os parâmetros e valores das propriedades d do objeto e tentam t enviar uma atualização para o banco de dados; create cria um novo objeto com o hashh de parametros passado e salva ele no banco de dados automaticamente;

106

107 Define um relacionamento de 1 pra N (como em um item pertence a um produto, mas um produto pode ter N itens); Métodos adicionados: product(reload = false) product= build_product( hash ) create_product( hash )

108

109 Define o lado 1 do relacionamento um para muitos; Adiciona os métodos (e ainda outros...): orders(force_reload=false) reload=false) orders <<order orders.push(order1,...) orders.replace(order1,...) orders.delete(order1,...) orders.destroy_all orders.size orders.empty?

110 class Article < ActiveRecord::Base has_and_belongs_to_many :users class User < ActiveRecord::Base has_ and_ belongs _ to_ many :articles

111 Account.transaction do account1.deposit(100) account2.withdraw(100)

112 name = params[:name] pos = Order.find(:all, :conditions => "name = '#{name}' and pay_type yp = 'po'" )

113 name = params[:name] pos = Order.find(:all, :conditions => ["name =? and pay_type = 'po'", name])

114 name = params[:name] pay_type = params[:pay_type] pos = Order.find(:all, :conditions => ["name = :name and pay_type = :pay_type type", {:pay_type => pay_type, :name => name}])

115 :order para ordenar a consulta, use símbolos; :limit quantidade máxima de itens que deve ser trazida; :offset primeiro item a ser trazido; :first no lugar de :all, para trazer apenas um item;

116 items = LineItem.find_by_sql("select *, " + " quantity*unit_price as total_price, " + " products.title as title " + " from line_items, products " + " where line_items.product_id = products.id " ) li = items[0] puts "#{li.title}: #{li.quantity}x#{li.unit_price} => #{li.total_price} price}"

117 average = Order.average(:amount) max = Order.maximum(:amount) min = Order.minimum(:amount) total = Order.sum(:amount) number = Order.count #tudo isso pode receber :conditions, como o find

118 order = Order.find_by_name("Dave Thomas" ) orders = Order.find_all_by_name("Dave Thomas" ) order = Order.find_all_by_ (params[' ' y_ (p [ ])

119 Obrigado pessoal! \o/

C o m p u t a ç ã o M ó v e l Brayan Neves

C o m p u t a ç ã o M ó v e l Brayan Neves Computação Móvel Brayan Neves Criando e configurando um novo projeto } Modelagem } Criação do projeto } Configuração } Criação de um novo componente } Visualização do novo componente } Editando campos

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

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

Entendendo Rails. Fabio Akita Surgeworks Brazil Rails Practice Manager www.akitaonrails.com

Entendendo Rails. Fabio Akita Surgeworks Brazil Rails Practice Manager www.akitaonrails.com Entendendo Rails Fabio Akita Surgeworks Brazil Rails Practice Manager www.akitaonrails.com 37signals Criado por David Heinemeier Hansson, em 2004 Extraído do aplicativo Basecamp Feito em Ruby, em vez de

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

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

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

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

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

Ruby e Ruby on Rails

Ruby e Ruby on Rails Ruby e Ruby on Rails Universidade Federal de São Carlos Anderson Kenji Mise kenji@vardump.com Ruby? linguagem de programação orientada a objetos (tudo é objeto) Ruby on Rails? RoR é um framework para desenvolvimento

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

Tutorial Ruby versão 0.3 djalmaoliveira@gmail.com SOBRE O TUTORIAL

Tutorial Ruby versão 0.3 djalmaoliveira@gmail.com SOBRE O TUTORIAL SOBRE O TUTORIAL Este tutorial cobre alguns aspectos da linguagem Ruby, mostra de forma simples algumas de suas características através de exemplos e curtas descrições de conceitos, não se propondo ser

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 Por que Ruby? Sintaxe limpa e intuitiva: Por que Ruby? Fortemente orientada à objetos Note que não temos os tipos primitivos,

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

Ruby on Rails. Aprendizado evolutivo do Ruby até o desenvolvimento de aplicações em Rails

Ruby on Rails. Aprendizado evolutivo do Ruby até o desenvolvimento de aplicações em Rails on Rails Aprendizado evolutivo do até o desenvolvimento de aplicações em Rails on Rails Aprendizado evolutivo do até o desenvolvimento de aplicações em Rails http://www.hut8.com.br/minicursos Roteiro Primeiro

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

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Programação Web com PHP Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Agenda O que é PHP? O que da pra fazer com PHP? Como a web funciona? Onde, quando e por que

Leia mais

Linguagem de Programação. Helder Lucas S. Silas Valdemar

Linguagem de Programação. Helder Lucas S. Silas Valdemar Linguagem de Programação Helder Lucas S. Silas Valdemar Perl, Smalltalk, Eiffel, Ada e Lisp. Mais poderosa do que Perl, e mais orientada a objetos do que Python. Yukihiro Matsumoto Matz Coral ou Ruby?

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

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

História. Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega.

História. Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega. 1 1. Overview 2 História Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega. Matz procurava por uma linguagem de script orientada a objetos. A primeira versão estável de Ruby (1.2) foi

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

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

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

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

Alunos. Hudson Martins da Silva Laércio Pedro Hoppe

Alunos. Hudson Martins da Silva Laércio Pedro Hoppe Alunos Hudson Martins da Silva Laércio Pedro Hoppe Desenvolvida no Japão em 1995, por Yukihiro "Matz" Matsumoto. Linguagem de script. Mais poderosa do que Perl, e mais orientada a objetos do que Python.

Leia mais

Sumário. Capítulo 1 O que é o PHP?... 19. Capítulo 2 Instalação do PHP... 23. Capítulo 3 Noções básicas de programação... 25

Sumário. Capítulo 1 O que é o PHP?... 19. Capítulo 2 Instalação do PHP... 23. Capítulo 3 Noções básicas de programação... 25 9 Sobre o autor... 8 Introdução... 15 Capítulo 1 O que é o PHP?... 19 Características do PHP...20 Gratuito e com código aberto...20 Embutido no HTML...20 Baseado no servidor...21 Bancos de dados...22 Portabilidade...22

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia Instituto Federal do Sertão-PE Curso de PHP Professor: Felipe Correia Conteúdo Parte I Parte II Introdução Funções de strings Instalação Constantes Sintaxe Operadores Variáveis if else elseif Echo/Print

Leia mais

Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO maximusmano@gmail.com http://www.maxonrails.wordpress.

Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO maximusmano@gmail.com http://www.maxonrails.wordpress. Parte II Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO maximusmano@gmail.com http://www.maxonrails.wordpress.com Rails - Instalação Windows gem install rails Plataformas

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

Estruturas de controle no nível de sentença

Estruturas de controle no nível de sentença Estruturas de controle no nível de sentença Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.

Leia mais

APOSTILA PHP PARTE 1

APOSTILA PHP PARTE 1 APOSTILA PHP PARTE 1 1. Introdução O que é PHP? PHP significa: PHP Hypertext Preprocessor. Realmente, o produto foi originalmente chamado de Personal Home Page Tools ; mas como se expandiu em escopo, um

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

Interagindo com Banco de Dados

Interagindo com Banco de Dados Interagindo com Banco de Dados Até agora não falamos de banco de dados, pois gostaríamos prime iro de te preparar para o uso do banco de dados dentro do Framework MVC. Mas antes de falarmos do framework

Leia mais

Trabalhando com MySQL: Uma Introdução

Trabalhando com MySQL: Uma Introdução Trabalhando com MySQL: Uma Introdução 1. A linguagem PHP A linguagem PHP é uma linguagem de programação criada especialmente para o uso em páginas Web. Mas nem por isso ela não pode deixar de ser usada

Leia mais

13 Conectando PHP com MySQL 13.1 Introdução

13 Conectando PHP com MySQL 13.1 Introdução 13 Conectando PHP com MySQL 13.1 Introdução Agora que você já tem uma idéia básica de comandos MySQL, poderemos ver como a linguagem PHP pode interagir com este banco de dados através de inúmeras funções.

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

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

RUBY ON RAILS. Entrar nos carris. Daniel Zacarias 16 de Janeiro, 2010

RUBY ON RAILS. Entrar nos carris. Daniel Zacarias 16 de Janeiro, 2010 RUBY ON RAILS Entrar nos carris + Daniel Zacarias 16 de Janeiro, 2010 TÓPICOS Ruby REST MVC Rails Ecossistema Resumo Ruby REST MVC Rails Ecossistema Resumo RUBY, UMA JÓIA DE LINGUAGEM Linguagem dinâmica,

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

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

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Test-Driven Development no Rails: Unit Tests

Test-Driven Development no Rails: Unit Tests Test-Driven Development no Rails: Unit Tests 11/05/07 Tags:, Ruby, Ruby on Rails, TDD, Teste Unitário, Unit Tests Todo mundo fala que Test-Driven Development aumenta sua produtividade, reduz a quantidade

Leia mais

GUIA PHP com MYSQL Autor: Everton Mendes Messias

GUIA PHP com MYSQL Autor: Everton Mendes Messias PHP (Hypertext Preprocessor) : Linguagem de programação interpretada. Tags PHP: phpinfo(); Comentários: //, # - comentário de uma linha /* comentário de várias linhas */ GUIA PHP com MYSQL Autor: Everton

Leia mais

JavaScript (Funções, Eventos e Manipulação de Formulários)

JavaScript (Funções, Eventos e Manipulação de Formulários) Linguagem de Programação para Web JavaScript (Funções, Eventos e Manipulação de Formulários) Prof. Mauro Lopes 1-31 23 Objetivos Iremos avançar um pouco mais em nosso estudo sobre o JavaScript. Iremos

Leia mais

Ajax com R ails, interatividade e usabilidade ao alcance de todos

Ajax com R ails, interatividade e usabilidade ao alcance de todos Ajax com R ails, Por Rodrigo Urubatan Ferreira Jardim Rodrigo Urubatan: SCJP 1.4 e SCWCD; Trabalha com arquitetura de sistemas J2EE e treinamento; Já desenvolveu projetos utilizando as linguagens Delphi,

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

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Curso De PHP. Aula 4. Formulários. Cookies. Session. Mail

Curso De PHP. Aula 4. Formulários. Cookies. Session. Mail Curso De PHP Aula 4 Formulários Cookies Session Mail Formulários Nós preenchemos diariamente diversos formulários web, seja para se logar e-mail ou criar uma conta em um site. Nesta parte do curso, vamos

Leia mais

Introdução ao Desenvolvimento de Aplicações Web com Ruby on Rails

Introdução ao Desenvolvimento de Aplicações Web com Ruby on Rails Capítulo 3 Introdução ao Desenvolvimento de Aplicações Web com Ruby on Rails Daniel Cárnio Junqueira, Renata Pontin de Mattos Fortes Abstract This chapter presents the concepts of the framework Ruby on

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem PHP @wre2008 1 Sumário PHP: Tipos de dados; Manipulação de dados; Utilizando formulário. @wre2008 2 Tipos de dados As variáveis são declaradas no momento de sua

Leia mais

Envio de SMS usando Zenvia

Envio de SMS usando Zenvia Envio de SMS usando Zenvia Aécio Pires e Willeson Souza MANAUS-AM NOV/2013 Histórico de Atualizações Data Versão Responsável Alterações 24 out 2013 1.0 Willeson Souza Versão inicial 21 nov 2013 1.1 Aécio

Leia mais

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP Programação WEB Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula III Introdução PHP Introdução PHP PHP=Hypertext Pre-Processor Linguagem de script open

Leia mais

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

Leia mais

www.coldfusionbrasil.com.br

www.coldfusionbrasil.com.br www.coldfusionbrasil.com.br 2000 PASSANDO VARIÁVEIS ATRAVÉS DE FORM E URL 3 ALTERA.CFM 3 FORMALTERA.CFM 4 ALTERA.CFM 4 FORMALTERA.CFM 4 CRIANDO E MANIPULANDO VARIÁVEIS COM CFSET 4 VALORES ESTÁTICOS 5 PARÂMETROS

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

TEORIA BÁSICA SOBRE LINGUAGEM PHP

TEORIA BÁSICA SOBRE LINGUAGEM PHP PHP - Introdução Vantagens do Uso do PHP O php é uma linguagem de programação para ambiente web ou seja com ela, você pode desenvolver aplicações que possam ser acessadas via browser (netscape,internet

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

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo Departamento de Engenharia Informática 2014/2015 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

Leia mais

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Procuraremos mostrar os principais procedimentos para fazer um cadastro de registros numa base de dados MySQL utilizando a linguagem

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

Começando com Zend Framework

Começando com Zend Framework Começando com Zend Framework Versão brasileira da apresentação disponível em http://www.slideshare.net/baohx2000/zend-framework-19-setup-using-zendtool Ou: Como eu aprendi a parar de me preocupar e amei

Leia mais

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6

Leia mais

Padrões de Codificação Java

Padrões de Codificação Java Padrões de Codificação Java João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 1.0 Última Atualização: Março / 2005 1 Objetivos Apresentar os padrões de codificação Java da SUN 2 Introdução Um padrão

Leia mais

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A Módulo 18 Ferramentas de Desenvolvimento de Páginas Web Criar uma relação mestre-detalhe 1. Cria uma cópia da página «listaferram.php»

Leia mais

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

PHP é um acrónimo para Hypertext Preprocessor.

PHP é um acrónimo para Hypertext Preprocessor. PHP 101 O que é o PHP? PHP é um acrónimo para Hypertext Preprocessor. É uma linguagem de scripting open-source que funciona do lado do servidor e é usada para gerar páginas web dinâmicas. Os scripts de

Leia mais

PHP (Seções, Cookies e Banco de Dados)

PHP (Seções, Cookies e Banco de Dados) PHP (Seções, Cookies e Banco de Dados) André Tavares da Silva andre.silva@udesc.br Seções Basicamente, as seções são métodos que preservam determinados dados ativos enquanto o navegador do cliente estiver

Leia mais

0,5 pelo negrito das palavras ID, Nome, E-mail e Analisar em outro momento.

0,5 pelo negrito das palavras ID, Nome, E-mail e Analisar em outro momento. IFES - Campus Cachoeiro de Itapemirim-ES Curso Técnico em Informática Disciplina: Programação Web Professor: Flávio Izo e Rafael Vargas Data: 07/04/2015 Aluno: GABARITO Valor: 12,5 Conteúdo: HTML + Formulários

Leia mais

Abaixo do Objeto WorkSheet temos a coleção Cells, que representa todas as células de uma planilha.

Abaixo do Objeto WorkSheet temos a coleção Cells, que representa todas as células de uma planilha. Aula 1 O modelo de objetos do Excel APPLICATION É o próprio Excel. Temos diversas propriedades e métodos importantes nesse objeto. Destacamos dois exemplos: Application.DisplayAlerts Se for true, o Excel

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

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

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

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

Rails para sua Diversão e Lucro

Rails para sua Diversão e Lucro Rails para sua Diversão e Lucro Copyright 2006 Ronaldo Melo Ferraz Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2

Leia mais

Controle de acesso. http://www.larback.com.br. .com.br

Controle de acesso. http://www.larback.com.br. .com.br http://www.larback Controle de acesso Construiremos um sistema simples para cadastro de links. O sistema terá uma página pública (onde serão exibidos os links) e uma área administrativa, onde os usuários

Leia mais

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Tecnologias para Web Design

Tecnologias para Web Design Tecnologias para Javascript e DOM Introdução à Scripts Um script do lado cliente é um programa que acompanha um documento HTML Pode estar incluído no próprio documento embutido ou acompanha-lo num arquivo

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

Conteúdo. Linguagem Estática x Dinâmica O que é PHP? Configurando o Ambiente do PHP Sintaxe

Conteúdo. Linguagem Estática x Dinâmica O que é PHP? Configurando o Ambiente do PHP Sintaxe Unidade IV Introdução à Linguagem PHP Parte 1 Professor Fabiano de Paula Soldati fpsoldati@yahoo.com.br http://br.groups.yahoo.com/group/professorsoldati/ Conteúdo Linguagem Estática x Dinâmica O que é

Leia mais

Tutorial - Programando com o MIOLO

Tutorial - Programando com o MIOLO Tutorial - Programando com o MIOLO Conceitos Básicos Antes de iniciar a programação com o Miolo é fundamental compreender alguns conceitos básicos: - Uma aplicação no Miolo é constituída de um ou mais

Leia mais

Criando uma aplicação Web em C# usando o NHibernate

Criando uma aplicação Web em C# usando o NHibernate Criando uma aplicação Web em C# usando o NHibernate Apresento neste artigo como criar uma aplicação web totalmente orientada a objetos usando o framework NHibernate e a linguagem C#. Nossa meta é construir

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

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

Introdução ao Javascript

Introdução ao Javascript Programação WEB I Introdução ao Javascript Apresentação da Disciplina,Introdução a linguagem Javascript Objetivos da Disciplina Apresentar os principais conceitos da linguagem Javascript referente à programação

Leia mais

Danilo Borges da Silva daniloborges_@hotmail.com

Danilo Borges da Silva daniloborges_@hotmail.com Danilo Borges da Silva daniloborges_@hotmail.com Simples o suficiente para um curso introdutório Muitos recursos Orientação a Objetos Escalável (módulos, classes, controle de exceções) Biblioteca embutida

Leia mais

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

Leia mais

Linguagem de Programação III Aula 2 Revisão Parte II

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

Leia mais

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainware» company www.iportalmais.pt. Manual

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainware» company www.iportalmais.pt. Manual IPortalMais: a «brainware» company FUNAMBOL FOR IPBRICK MANUAL Easy Linux! Title: Subject: Client: Reference: Funambol Client for Mozilla Thunderbird Doc.: Jose Lopes Author: N/Ref.: Date: 2009-04-17 Rev.:

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

Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Enginner

Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Enginner Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Enginner Objetivo Disseminar boas práticas para o desenvolvimento de código seguro em php. Exemplificar como são feitos os ataques e suas respectivas

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

Serviços: API REST. URL - Recurso

Serviços: API REST. URL - Recurso Serviços: API REST URL - Recurso URLs reflectem recursos Cada entidade principal deve corresponder a um recurso Cada recurso deve ter um único URL Os URLs referem em geral substantivos URLs podem reflectir

Leia mais

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

Leia mais

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais