ColdFusion User Group Brasil

Representação Nacional do ColdFusion

Participe

type title author activity
Thread Stored Procedures No MySQL 1 6589 Marcelo4001 04/07/09

Blog

ColdFusion Zeus
Entry posted on Nov 16 by Pedro Claudio , tagged Development

Ações importantes da Adobe e da Comunidade Internacional mantem o ColdFusion como uma solução robusta e consistente.

Vale conferir os textos de:
- Hemant Khandelwal (ColdFusion Team), ColdFusion - No change in plan for Zeus
- Sam Farmer, Why ColdFusion's Future is Fine
- Adam Tuttle,Be the change ...

fonte: pcsilva.com



Palestra de Novembro
Entry posted on Nov 12 by Pedro Claudio , tagged Event,Development

A gravação pelestra Engine de empresa privada ágil é ColdFusion de Carlos Alexandre Laszlo Liszkievich, já está disponível.



Flash Camp SP
Entry posted on Nov 03 by Pedro Claudio , tagged Development,Event,Rich Internet Apps

O AUG ASDev está organizando um Flash Camp em São Paulo, saiba mais.



Singleton CFML 2
Entry posted on Oct 25 by Pedro Claudio , tagged Development

Em alguns sistemas a quantidade de objetos criados é tão grande, que justifica o uso de cache para estes objetos, e para que não seja criada redundância de objetos nesta cache é necessário a verificação da existência de um objeto antes de cria-lo.

A situação descrita acima se encaixa no conceito de Singleton em Best Pratices.

Então implementamos o Singleton em CFML no escopo Application, ficando assim visível para todos os usuários, ele será manipulado por dois métodos getInstance/removeInstance, inserindo este métodos no Application.cfc, da forma como está escrito aqui, ficará disponível para toda requisição, bastando apenas informar o nome do component, para que seja instanciado.

<cfcomponent>
    <cfset this.name = "artigo_singleton">
    <cffunction name="onApplicationStart" returnType="boolean">
        <cfset removeSingleton("All")>
     <cfreturn true>
    </cffunction>
    <cffunction name="onRequest" returnType="void">
    <cfargument name="targetPage" type="String" required=true/>
        <cfif IsDefined("resetInstances")>
            <cfset removeSingleton("All")>
        </cfif>
    <cfset Variables.getInstance = this.getSingleton >
    <cfset Variables.removeInstance = duplicate(this.removeSingleton) >
        <cfinclude template="#Arguments.targetPage#">
    </cffunction>
    <cffunction name="getSingleton" returnType="any">
     <cfargument type="String" name="instanceName" required=true/>
     <cfargument type="String" name="instanceType" required="false" default="component"/>
    <cflock type="exclusive" scope="Application" timeout="10" >
         <cfif Not structKeyExists(Application._singletons,arguments.instanceName)>
             <cfset Application._singletons[arguments.instanceName] = CreateObject(arguments.instanceType,arguments.instanceName) >
         </cfif>
    </cflock>
     <cfreturn Application._singletons[arguments.instanceName]>
    </cffunction>
    <cffunction name="removeSingleton" returnType="void">
     <cfargument type="String" name="instanceName" required=true/>
    <cflock type="exclusive" scope="Application" timeout="10" >
        <cfif Arguments.instanceName is "All">
            <cfset Application._singletons = StructNew() >
        <cfelse>
            <cfset StructDelete(Application._singletons,arguments.instanceName) >
        </cfif>
    </cflock>
    </cffunction>
</cfcomponent>

Próximo passo é criar normalmente os componentes que serão usados na aplicação, mudando a formação de criação dos objetos, de maneira que utilizem a Singleton.

<cfset removeInstance("All") >
<cfset cfcA = getInstance("components.ComponentA").init('A') >
<cfset cfcB = getInstance("components.ComponentB").init('B') >
<cfset cfcAA = getInstance("components.ComponentA") >
<cfset cfcAA.any = "AA" >
<cfset cfcBB = getInstance("components.ComponentB") >
<cfset cfcBB.any = "BB" >
<cfset javaObj = getInstance('java.lang.System','java') >
<cfdump var="#cfcA#" label="cfcA">
<cfdump var="#cfcB#" label="cfcB">
<cfdump var="#cfcAA#" label="cfcAA">
<cfdump var="#cfcBB#" label="cfcBB">
<cfdump var="#javaObj#" label="javaObj">

Nota: Os componentes ComponentA e ComponentB, são ilustrativos, você pode utilizar qualquer componente, mas abaixo você pode ver os códigos dos dois componentes.

ComponentA

<cfcomponent>
    <cfset this.any = "" >
    <cffunction name="init" returntype="ComponentA" output="true" >
        <cfargument name="name">
        <cfset this.any = arguments.name >
        I'm init on ComponentA (arguments.name = #arguments.name#)<br />
        <cfreturn this>
    </cffunction>
    <cffunction name="Foo" returntype="void" >
        I'm foo on ComponentA <br />
    </cffunction>
</cfcomponent>

ComponentB

<cfcomponent>
    <cfset this.any = "" >
    <cffunction name="init" returntype="ComponentB" output="true" >
        <cfargument name="name">
        <cfset this.any = arguments.name >
        I'm init on ComponentB (arguments.name = #arguments.name#)<br />
        <cfreturn this>
    </cffunction>
    <cffunction name="Foo" returntype="void" >
        I'm foo on ComponentB <br />
    </cffunction>
</cfcomponent>

Fonte: blog.pcsilva.com



Tecnologia em tags - pcsilva ColdFusion Zeus - 11/16/11

Tecnologia em tags - pcsilva Palestra CFUGBR - 11/03/11

The URL specified for the feed returned an error.

ColdFusion Blog moved - Jan 16

ColdFusion ColdFusion Zeus POTW – XPath/XLST Updates - Jan 9

ColdFusion Adobe ColdFusion e-seminars in January – Register now - Jan 9

ColdFusion ColdFusion Zeus POTW – Extra edition again… - 12/22/11

ColdFusion ColdFusion Zeus POTW – Extra edition… - 12/21/11

Adobe Product Security Incident Response Team (PSIRT) Blog Update to Security Bulletins for Adobe Illustrator (APSB12-10), Adobe Photoshop (APSB12-11) and Adobe Flash Professional (APSB12-12) - May 12

Adobe Product Security Incident Response Team (PSIRT) Blog Adobe Security Bulletins Posted - May 8

Adobe Product Security Incident Response Team (PSIRT) Blog Security update available for Adobe Flash Player (APSB12-09) - May 4

Adobe Product Security Incident Response Team (PSIRT) Blog Security updates released for Adobe Reader and Acrobat (APSB12-08) - Apr 10

Adobe Product Security Incident Response Team (PSIRT) Blog Prenotification: Quarterly Security Updates for Adobe Reader and Acrobat - Apr 5

Get Adobe Flash player