terça-feira, 6 de dezembro de 2011

Flex SDK com vulnerabilidade para ataques XSS

A Adobe lançou um boletim de segurança informando que os SDKs do Flex tanto versão 3 como 4 possuem uma vulnerabilidade para ataques cross-site scripting (XSS).
No boletim é disponibilizado um patch para corrigir os swfs já gerados e também os novos sdks com a correção.

Mais informações nesse link.

quarta-feira, 9 de novembro de 2011

Desenvolvedor Flex

A Integritas Tecnologia continua procurando programadores Flex. 
A vaga é para modalidade PJ, home-office, horário integral. 

Por favor, enviem currículos para rh@integritas.com.br .

sexta-feira, 28 de outubro de 2011

AndroidConf Brasil

Ocorrerá no dia 26/11 no Rio de Janeiro a conferência AndroidConf Brasil

Corra e faça sua inscrição.

terça-feira, 25 de outubro de 2011

FormItemClassicSkin

O FormItem quando usado com validadores irá informar visualmente quando a informação não for válida. 

Não sei quanto a vocês mas gosto mais da forma de apresentação de erros do FormItem do MX, o do Spark acaba usando mais espaço do formulário e o do MX considero mais "elegante" por não ser tão chamativo quanto o do Spark.

Alterando o FormItemSkin original consegui criar um com os mesmos comportamentos visuais do MX. Umas coisas que me chamaram a atenção no skin original:

  • O skin part indicatorDisplay tem um toolTip fixo com a palavra Required, não sei porque o Flex Team não fez internacionalização (I18N).
  • O skin part contentGroup marcando os styles showErrorTip e showErrorSkin para true mostra a borda vermelha com o toolTip da mensagem de erro.
  • Deixei também a possibilidade de usar o indicador de requirido atual ou o tradicional asterisco vermelho. Para aplicar o skin e o indicador é só usar o css abaixo, o que chama atenção aqui é se forem invertidas as linhas o indicador não é aplicado.
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|FormItem 
{
requiredIndicatorSource: Embed(source="Assets.swf",symbol="mx.containers.FormItem.Required");
skinClass: ClassReference("skins.FormItemClassicSkin")
}
O fonte do skin pode ser baixado aqui: FormItemClassicSkin.mxml.

quinta-feira, 20 de outubro de 2011

segunda-feira, 17 de outubro de 2011

2 vagas para desenvolvedor Flex sênior

A Integritas Tecnologia oferece 2 vagas para desenvolvedores sênior, em tempo integral para um projeto Flex, modalidade home office.

Requisitos:
1) conhecimento de algum framework MVC, de preferência, Swiz.
2) desenvolvimento de aplicações Web e AIR

Por favor, enviem currículos para rh@integritas.com.br .

sexta-feira, 7 de outubro de 2011

Treinamento Lexsis

Neste sábado começa um novo treinamento in-company de Flex que irei ministrar pela TargetTrust, dessa vez é para a Lexsis.

quarta-feira, 5 de outubro de 2011

Vaga para arquiteto/desenvolvedor Drupal

A Integritas Tecnologia tem 1 vaga para arquiteto/desenvolvedor Drupal. Temos um projeto em andamento, com um cliente, e precisamos de um desenvolvedor experiente em Drupal (versões 6 e/ou 7), com bons conhecimentos de arquitetura para participar de discussões sobre alternativas de implementação de módulos de integração e temas com o cliente. É necessário bom inglês para conversação.

Por favor, enviem currículos para rh@integritas.com.br .

quinta-feira, 9 de junho de 2011

Novo treinamento neste sábado

Neste sábado começa um novo treinamento de Flex que irei ministrar na TargetTrust, dessa vez é para as Lojas Renner.

terça-feira, 7 de junho de 2011

Loading Applications - About security domains

About security domains

Security domains define the level of trust between applications. In general, if a sub-application is loaded into the same security domain as the main application, then the applications have the highest level of interoperability.

You determine whether a sub-application is loaded into the same security domain as the main application when you load it. You can set the value of the trustContent (false=default) property to true to load a remote sub-application into the same security domain as the main application. To do this, though, the sub-application’s server must have a policy file (crossdomain.xml) that allows you to load it. The result is that the SWF file becomes trusted, and acts as if it was loaded locally.

Note: This behavior only applies if that application is loaded from a different web domain or subdomain than the main application. If the sub-application is loaded from the same web domain as the main application, then it is by default loaded into the same security domain.

Note: Setting the value of the loadForCompatibility property does not affect the trustContent property.

Note: When using AIR, you cannot set the value of the trustContent property to true.

segunda-feira, 6 de junho de 2011

Flash player 10.3 - Correção de segurança

Foi liberada uma versão corrige uma vulnerabilidade de cross-site scripting.

Saiba mais: Adobe disponibiliza nova versão do Flash Player

A versão do Flash Player com debug em Adobe Flash Player Support Center

sexta-feira, 3 de junho de 2011

Dominando Adobe Flex 4.5

Mais um livro em português disponível: Dominando Adobe Flex 4.5 do Daniel Schmitz.

segunda-feira, 30 de maio de 2011

Loading Applications - About application domains

About application domains

An application domain is a container for class definitions. Applications have a single, top-level application domain called the system domain. When you load a sub-application into another, main application, you can load it into one of three application domains: sibling, child, and current. Each of these locations defines where the sub-application can get its class definitions from.

The System domain

Classes defined by Flash Player are in the system domain. The system domain parents all other application domains. The main application’s application domain is a child of the system domain. Classes defined in the system domain are never redefined in sub-applications or main applications. Those applications all share the common definitions of Flash Player. These definitions include classes such as DisplayObject, Event, and Sprite. The definitions of these shared classes are contained in the playerglobal.swc file.

Sibling applicaton domains

The application domain that a sub-application is in determines where the sub-application gets its class definitions from. If the main application loads a sub-application into a sibling application domain, the sub-application defines its own non-player class definitions. This is the configuration for multi-versioned applications.

Child application domains

If a main application loads a sub-application into a child application domain of its application domain, the subapplication gets its class definitions from the main application. This behavior is the default for application loading. It can result in runtime errors if the applications are compiled with different versions of the Flex framework. These errors occur because the applications are sometimes compiled against different definitions of the same classes.

If a sub-application defines one of the classes that is already defined in the main application, the child’s definition is ignored. If multiple sub-applications define the same class that isn’t defined in the main application, each sub-application uses its own definition.

The current application domain

If you load a sub-application into the current application domain, the sub-application’s class definitions are often ignored. This behavior is because the first definition in a domain is used. Subsequent definitions loaded into that domain are ignored. If new class definitions are added, the main application can use them.

Using the current application domain is typical of RSLs and other specially compiled resources, and is not typically used when loading sub-applications.

Setting application domain

You specify the application domain of a sub-application by setting the value of the loadForCompatibility property on the SWFLoader. If you set the value of this property to true, then the sub-application is loaded into a sibling application domain. If you set the value of this property to false (default), then the sub-application is loaded into a child application domain.

You can also specify the application domain on the LoaderContext object. You do this if you specify the value of the loaderContext property when using the SWFLoader control.

Note: The value of the loadForCompatibility property is ignored if you explicitly set the value of the loaderContext property.

quinta-feira, 26 de maio de 2011

Oportunidade Guaíba - RS

Oportunidade para formados em nível superior em informática, licenciatura ou que tenha tido cadeira de pedagogia.

Mais detalhes envie currículo para fabiano@ouromoderno.com.br

quarta-feira, 25 de maio de 2011

Loading Applications - About loading sub-applications

About loading sub-applications

Flex lets you load and unload sub-applications in a main application. Reasons:
  • Reduce the size of the main application
  • Encapsulate related functionality into a sub-application
  • Create reusable sub-applications that can be loaded into different applications
  • Integrate third-party applications into your main application
Level of interoperability

The way in which the sub-application is loaded defines the level of interoperability between the main application and its sub-applications. Consider the following factors when loading sub-applications in your main application:

Trusted applications What level of trust do the applications have? The higher the level of trust greater interoperability with the main application. In general, though, if you do not have complete control over the development and deployment of a loaded application, consider that application to be untrusted.

Versioning Are the applications compiled with the same version of the Flex framework? The default method of loading sub-applications assumes that all applications are compiled by the same version of the framework. However, Flex can load applications that were compiled with different versions of the framework. These applications are known as multi-versioned applications.

The level of trust and use of versioning are determined by the application domain and the security domain into which the sub-applications are loaded.

Types of loading


Single-versioned applications are guaranteed to have been compiled with the same version of the compiler as the main application. They have the greatest level of interoperability with the main application, but they also require that you have complete control over the source of the sub-applications.

Multi-versioned applications can be compiled with different versions of the Flex framework than the main application that loads them. Their interoperability with the main application and other sub-applications is more limited than single-versioned applications.

Sandboxed applications are loaded into their own security domains, and can be multi-versioned. Using sandboxed applications is the recommended practice for loading third-party applications. In addition, if your sub-applications use RPC or DataServices-related functionality, you should load them as sandboxed.

Sandboxed applications have the greatest number of limitations on application interoperability. These restrictions include the following:
  • Stage Access to the stage from the sub-application is limited to some stage properties and methods.
  • Mouse You cannot receive mouse events from objects in other security domains.
  • Pixels Applications cannot access the pixels drawn in applications that are in other security domains.
  • Properties While applications can get references to objects in other security domains, avoid doing this for security reasons. Some properties are restricted, such as the Stage or any parent of a DisplayObject that another application instantiates.

Note: multi-versioned and sandboxed applications must be compiled with the same or older version of the compiler the main application was compiled with.

Note: When compiling each of these types of applications (multi-versioned and sandboxed), you should include the MarshallingSupport class into the main application and sub-applications. You do this with the includes compiler argument, as the following example shows:
-includes=mx.managers.systemClasses.MarshallingSupport

Loadding Applications - Preface

Existem várias formas e práticas para diminuir o swf final ou carregá-lo sobre demanda diminuindo a carga de banda.

Algumas formas: RSL,
CSS carregado em runtime, Módulos e Loadding Application (Sub-Apps).

Estarei lançando a partir de hoje uma série de posts falando sobre Loadding Application, o primeiro posto daqui a pouco, espero que seja útil.

Na sua maioria estes posts se consistem de um resumo da documentação oferecida pela Adobe neste site.

[]s

sábado, 21 de maio de 2011

Aprendendo Flex

Para quem quer aprender Flex algumas dicas de livros, apostilas e treinamentos.

Documentação
A própria Adobe libera uma documentação em inglês muito boa e bem detalhada sobre Flex, você pode baixar esta documentação deste site.

Livros
Há também muitos livros, inclusive um lançamento recente e recomendado traduzido para a língua portuguesa é o livro Flex 4 Avançado que foi avaliado pelo Igor Costa, sendo que ainda conseguiu um desconto para os leitores.

Treinamentos
Nesta modalidade existe os treinamentos on-line e presenciais, abaixo listo os que conheço.
Aqui pediria que se souberem de outros que recomendam, coloquem nos comentários que será útil.

Treinamentos on-line
Eduardo Kraus
E-Genial - Ministrado pelo Vedovelli
RIACycle - Ministrado pelo Igor Costa

Treinamentos presenciais
DClick - SP
ENG - SP / PR e DF
TargetTrust - RS - Ministrado por mim

Dos treinamentos acima, também oferecem treinamento in-company em qualquer parte do Brasil.

sexta-feira, 20 de maio de 2011

Desenvolvedores Flex / Java - Home Office

A Integritas Tecnologia - Open Solutions está contratando 3 a 4 desenvolvedores Flex/Java, para trabalho em tempo integral, com horário flexível, para início em meados de Junho, via home office, na modalidade PJ.

Requisitos:
1) conhecimento de um framework Flex MVC, especialmente Cairgor
m 3
2) conhecimento do framework BlazeDS, para integração Flex/Java

3) Flex 4

4) Spring + Hibernate


Por favor, enviem currículo para: rh@integritas.com.br

sexta-feira, 13 de maio de 2011

Oportunidade Lisboa MyClick

Empresa com sede em Lisboa (www.myclick.com.pt) precisa de programador em Flex e Php (obrigatório conhecimento das duas linguagens) para criação de sistemas online.

Interessados devem enviar curriculum para rebelo@myclick.com.pt ou adicionar joaoricardogomesrebelo no skype para entrevista online.

[]s

quarta-feira, 11 de maio de 2011

Estágio Java / Flex - Florianópolis / SC

A empresa Inside System Informática Ltda está a procura de estagiário para desenvolvimento com Java e Flex.

Mais detalhes aqui.

segunda-feira, 9 de maio de 2011

Nova Fase - Freelancer (Como está sendo)

Em post anterior divulguei que tinha assumido uma nova fase profissional, a de freelancer.

Me perguntaram como foi essa transição, e aqui vai a resposta.

Essa transição foi tranquila, pois desde final de 2009 dou treinamento de Adobe Flex na TargetTrust aqui em Porto Alegre - RS e a procura aumentou levemente.
Inclusive já ministrei treinamentos in-company:
Azul Tecnologia de Fortaleza - CE, projeto Engnatv na faculdade Feevale e BSInfo em Bento Gonçalves - RS.

Outra coisa que mudou foi que um cliente (Ouro Moderno) que atendia a noite após o horário comercial que era um extra, sabendo da minha maior disponibilidade "comprou" minhas horas comerciais, deixando de ser um extra para ser minha renda principal.

O que realmente está complicado é o gerenciamento do tempo depois do horário comercial, para harmonizar trabalho e família, sou casado e tenho uma filha pequena, e principalmente para filha fica difícil fazê-la entender que o pai ainda precisa trabalhar a noite mesmo tendo estado fora o dia inteiro. Aqui vai uma dica importante: gerencie o tempo.

Já quem tem um produto ou tem um em mente recomendo investir nesse produto, pois um produto irá gerar
fluxo de caixa mesmo que você não esteja alocado em nenhum projeto.

Veja mais:
Currículo online
Retrospectiva 2010
Treinamentos ministrados

sexta-feira, 1 de abril de 2011

Bons Programadores x Promadores Ruins

Comparação muito boa entre bons programadores versus programadores ruins.

Leitura recomendada para todos os programadores, gerentes, coordenadores e donos de empresas de TI.

O texto pode ser lido aqui.

domingo, 20 de março de 2011

Saia da zona de conforto

Um texto que me lembrei estes dias que quero compartilhar com vocês:

Um certo dia um mestre e seu discípulo em peregrinação pediram abrigo ao dono de uma humilde fazenda. A família era composta pelo casal, e três crianças. Eles foram bem recebidos e na hora da janta o dono da fazenda explicou que eles só tinham uma horta para subsistência e possuíam uma vaquinha que dava o leite que eles consumiam, e o pouco que sobrava vendiam na cidade, que utilizavam para comprar outros tipos de alimentos.

Pela manhã tomaram o café da manhã, agradeceram a hospitalidade e seguiram viagem, ao sair da fazenda num ponto mais afastado da casa estava a vaquinha, o mestre ao vê-la ordenou ao discípulo que a levasse e a jogasse no precipício que existia ali próximo. O discípulo argumentou, lembrando ao mestre que a vaquinha fornecia o leite para as crianças e que era o único bem da família. O mestre voltou a ordenar explicando que a família tinha outros bens só que ainda não tinham descoberto e que um dia ele entenderia. O discípulo então, triste e contrariado obedeceu as ordens do mestre, prometendo que um dia pediria perdão a família e tentaria reparar o seu feito.

Um tempo depois o discípulo com peso na consciência voltou a região procurando a fazenda onde tinham pedido hospedagem, chegando ao local encontrou uma fazenda moderna, com tratores e outra máquinas, uma casa grande e bonita, criação de animais, plantações enormes de várias culturas e vários empregados, o discípulo achou que tinha se perdido, perguntou então para um dos empregados sobre o dono da fazenda. Ao se verem se cumprimentaram e o então discípulo deu os parabéns e perguntou o que tinha acontecido.

O dono da fazenda explicou que mais tarde naquele dia sentiu falta da vaquinha, procurou-a até encontrá-la morta no precipício, o discípulo engoliu em seco. O dono da fazenda explicou que naquele momento ficou sem saber o que fazer, como sustentar a família, foi então que percebeu que poderia vender a madeira de um mato que cobria boa parte da fazenda, com o dinheiro da madeira comprou sementes e equipamentos aumentando o número de plantações, fechando contrato de fornecimento de hortaliças com o comércio da cidade, com dinheiro sobrando teve medo de deixar em casa e abriu uma conta no banco, o banqueiro seu conhecido e amigo sabendo do seu progresso ofereceu um empréstimo agrícola, vendo uma nova oportunidade aceitou.

Moral da história:
  • saia da zona de conforto
  • olhe ao seu redor, veja e preste atenção nas oportunidades
  • não pare no tempo, se atualize
Fonte: não tenho certeza mas acho que é do Paulo Coelho.

sexta-feira, 18 de março de 2011

Flash Camp Brasil - Maceió

Dias 08 e 09 de abril ocorre em Maceió o Flash Camp Brasil que reunirá os melhores profissionais de Rich Media do Brasil e dos Estados Unidos, apresentando, discutindo e revelando inovações da tecnologia Adobe Flash Platform (Flash / Flex / AIR).

Corra, inscrição promocional até 31/03.

Infelizmente, não poderei ir, estarei dando treinamento de Adobe Flex 4 para duas turmas na TargetTrust, mas estarei atento por notícias do evento.

quarta-feira, 16 de março de 2011

terça-feira, 15 de março de 2011

Nova Fase - Freelancer

Estes últimos anos trouxeram várias oportunidades e desafios profissionais e hoje começo uma nova fase, a de ser freelancer em tempo integral, prestando serviços de consultoria, treinamento e desenvolvimento.

Quem tiver trabalhos ou indicações é só entrar em contato.

O meu currículo pode ser visto aqui.

Um grande abraço e sucesso a todos nós.

quinta-feira, 10 de março de 2011

Primeiro Treinamento do Ano

Começa neste sábado na TargetTrust o primeiro treinamento que ministro este ano, que será de Adobe Flex 4.

Este será ministrado para a Fundação Aplub de Crédito Educativo.

Espero que seja o primeiro de muitos.

Oportunidade Área Comercial - RS

A T@rgetTrust oferece 3 oportunidades na área comercial:

Auxiliar Comercial - Administrativo
Atender e entender as demandas dos clientes. Acompanhar e operacionalizar as vendas. Registro de inscritos, matrículas, controle de ingressos e presenças. Apoio na divulgação e comercialização dos serviços que a empresa oferece.

Pré-Requisitos: Boa apresentação, iniciativa, pró-atividade, comunicativa, capacidade de trabalhar em equipe, ótimo inter-relacionamento pessoal.

Conhecimentos Desejáveis: Habilidade de comunicação oral e escrita. Conhecimentos de atendimento comercial, de rotinas administrativas, de informática e tecnologia. Cursos superior em andamento nas áreas de administração.

Quantidade de Vagas: 1

Benefícios: Salário compatível, VT + VR+ Assis. Médica.

Enviar currículo com pretensão salarial para rh@targettrust.com.br.


Comercial - Vendas
Atender e entender as demandas dos clientes. Acompanhar e operacionalizar vendas. Prospecção de novos clientes. Apoio à área de Marketing.

Pré-Requisitos: Iniciativa, pró-atividade, comunicativa, capacidade de trabalhar em equipe, ótimo inter-relacionamento pessoal.

Conhecimentos Desejáveis: Habilidade de comunicação oral e escrita. Experiência com vendas e atendimento comercial. Curso superior nas áreas de administração, marketing, gestão comercial ou tecnologia com formação complementar e/ou vivência na área de vendas.

Quantidade de Vagas: 2


Benefícios: Salário compatível, VT + VR+ Assis. Médica.


Enviar currículo com pretensão salarial para rh@targettrust.com.br.

Tipos de programadores

Organizando os meus bookmarks encontrei um link com um texto bem interessante o qual me permito uma tradução livre:

Em minha experiência, há três tipos de programadores:
  • Os que aprenderam algo e se conformam com isso
  • Os que esperam que os outros resolvam o problema e faça funcionar
  • E os que nunca param de aprender, buscam e perguntam o necessário para seguir crescendo.
Em que tipo você se enquadra?

quarta-feira, 19 de janeiro de 2011

Criação dinâmica - Exemplo prático

Neste post quero apresentar um exemplo prático de criação dinâmica de objetos.

No exemplo irá aparecer uma tela de login, aqui a idéia é simular uma requisição ao servidor para validar o login e retornar o menu de opções conforme o perfil do usuário e outras informações.
Para facilitar as coisas ao clicar no botão de login será requisitado um arquivo login.xml local, neste caso, deixei pronto um arquivo admin.xml e a senha pode ser qualquer coisa.
Uma vez que a tela de login carregar o arquivo xml aviso via evento customizado (LoginEvent) a application enviando os dados do xml carregado para montar o menu e as informações de como configurar os objetos a serem criados dinamicamente.

Pode-se alterar o arquivo admin.xml, criar outros arquivos .xml, ver com outras opções de menu (cada opção abre uma WindowDynamic que herda de TitleWindow a qual se configura e cria os objetos filhos dinamicamente) e outros controles - só alguns forão registrados em código, por isso, dependendo do controle que você quiser usar terá que registrá-lo primeiro.


Estou usando também o pattern
Singleton para guardar informações pertinentes do usuário (class AppSingleton.as).

A aplicação rodando pode ser vista aqui (view source com o botão direito do mouse habilitado).

Veja também:
Criação dinâmica de objetos com RSL

quarta-feira, 12 de janeiro de 2011

Razões para estudar Android

Primeiro post do ano. Feliz 2011 a todos.

Estou estudando Air e Android já faz algum tempo e um artigo que encontrei (a qual copiei o título) que achei muito bom e quero compartilhar é este da MobileIn.

Um trecho que destaco:
"Mas somos seres muito inquietos, sedentos por desafios, e não gostamos de fazer a mesma coisa durante muito tempo. Um bom desenvolvedor está sempre preocupado em fazer melhor aquilo que já faz, e procurando aprender algo que ainda não sabe."