<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Tecnologia em tags - pcsilva - Scorpio</title>
			<link>http://blog.pcsilva.com/index.cfm</link>
			<description>Blog do Pedro Claudio</description>
			<language>pt-br</language>
			<pubDate>Sat, 14 Feb 2015 09:54:51 -0300</pubDate>
			<lastBuildDate>Mon, 25 Jun 2007 03:37:00 -0300</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>pcsilva@gmail.com</managingEditor>
			<webMaster>pcsilva@gmail.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>pcsilva@gmail.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>Tecnologia em tags - pcsilva</title>
				<link>http://blog.pcsilva.com/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>Duplicate CFC tem funcionalidade?</title>
				<link>http://blog.pcsilva.com/index.cfm/2007/6/25/Duplicate-CFC-tem-funcionalidade</link>
				<description>
				
				Com a nova funcionalidade da fun&#xe7;&#xe3;o Duplicate agora podemos armazenar o contexto completo da sess&#xe3;o, incluindo vari&#xe1;veis do tipo componente.&lt;br /&gt;Antes para que uma vari&#xe1;vel do tipo componente criada durante uma sess&#xe3;o, que tem tempo de vida predefinido, n&#xe3;o fosse perdida em sess&#xf5;es futuras, o desenvolvedor precisava de alguma POG, utilizando WDDX, ou algum c&#xf3;digo extenso, copiando as vari&#xe1;veis contidas no  objeto componente. Esta nova funcionalidade do Duplicate ser&#xe1; uma &apos;m&#xe3;o na roda&apos;.&lt;br /&gt;Tenho visto alguns criando componentes e copiando-o sem se quer iniciar o componente. N&#xe3;o aconselho. Aconselho o uso do createobject (component).&lt;br /&gt;&lt;br /&gt;Para um exemplo simples, imagine uma aplica&#xe7;&#xe3;o onde uma montadora de ve&#xed;culos possui o Carro.cfc, e tudo mais acima dele, e a cada sess&#xe3;o (web) de um gerente de qualquer setor, encarregado de uma parte espec&#xed;fica do projeto, ele precise ter armazenado o hist&#xf3;rico do que seu setor (sua sess&#xe3;o web) implementou, a dias ou semanas atr&#xe1;s, em um carro em particular, ou mesmo em todos os carros. &lt;br /&gt;&lt;br /&gt;Sabendo que todas as propriedades do Carro estar&#xe3;o no objeto Carro, fica mais simples armazenar este objeto em um escopo mais persistente (aqui chamo aten&#xe7;&#xe3;o dos desenvolvedores que disp&#xf5;em de servidores compartilhados - este procedimento N&#xc3;O &#xe9; apropriado, CASO a jvm seja a mesma para todo o servidor).&lt;br /&gt;&lt;br /&gt;Com Duplicate(CFC) isto se resume a um script de no m&#xed;nimo 23 linhas no Application.cfc, bastando usar o escopo session para criar novos Carro.cfcs com o createobject.&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;codigo_cfml&quot; class=&quot;myHighlighter&quot; title=&quot;Application.cfc&quot;&gt;&amp;lt;cfcomponent&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;cfset this.name = &quot;Montadora&quot;&amp;gt;&lt;br /&gt; &amp;lt;cfset this.sessionmanagement = true&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;cffunction name=&quot;onApplicationStart&quot;&amp;gt;&lt;br /&gt;  &amp;lt;!--- Aten&#xe7;&#xe3;o com servidores compartilhados ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- cria vari&#xe1;vel que conter&#xe1; todos os contextos de todas as sess&#xf5;es ---&amp;gt;&lt;br /&gt;  &amp;lt;cfset Application.contextsaved = {} &amp;gt;&lt;br /&gt;  &amp;lt;cfreturn true&amp;gt;&lt;br /&gt; &amp;lt;/cffunction&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;cffunction name=&quot;onSessionEnd&quot;&amp;gt;&lt;br /&gt;  &amp;lt;cfargument name=&quot;SessionScope&quot;&amp;gt;&lt;br /&gt;  &amp;lt;cfargument name=&quot;ApplicationScope&quot;&amp;gt;&lt;br /&gt;  &amp;lt;!---  Cria vari&#xe1;vel expired com horario corrente no escopo this do componente  ---&amp;gt;&lt;br /&gt;  &amp;lt;cfset SessionScope.carro.expired = now() &amp;gt;&lt;br /&gt;  &amp;lt;!---  com o fim da sess&#xe3;o, armazeno o contexto do carro corrente no escopo application ---&amp;gt;&lt;br /&gt;  &amp;lt;cfset ArrayAppend(ApplicationScope.contextsaved[CGI.REMOTE_ADDR],Duplicate(SessionScope.carro))&amp;gt;&lt;br /&gt; &amp;lt;/cffunction&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;cffunction name=&quot;onSessionStart&quot;&amp;gt;&lt;br /&gt;  &amp;lt;cfif StructKeyExists(Application.contextsaved,CGI.REMOTE_ADDR) and ArrayLen(Application.contextsaved[CGI.REMOTE_ADDR])&amp;gt;&lt;br /&gt;   &amp;lt;!--- sess&#xe3;o corrente possui hist&#xf3;rico, que &#xe9; restiduido  ---&amp;gt;&lt;br /&gt;   &amp;lt;cfset Session.carros = Application.contextsaved[CGI.REMOTE_ADDR] &amp;gt;&lt;br /&gt;  &amp;lt;cfelse&amp;gt;&lt;br /&gt;   &amp;lt;!--- sess&#xe3;o corrente N&#xc3;O possui hist&#xf3;rico  ---&amp;gt;&lt;br /&gt;   &amp;lt;cfset Application.contextsaved[CGI.REMOTE_ADDR] = [] &amp;gt;&lt;br /&gt;   &amp;lt;cfset Session.carros = [] &amp;gt;&lt;br /&gt;  &amp;lt;/cfif&amp;gt;&lt;br /&gt;  &amp;lt;!--- Cria a vari&#xe1;vel carro  ---&amp;gt;&lt;br /&gt;  &amp;lt;cfset Session.carro = {} &amp;gt;  &lt;br /&gt; &amp;lt;/cffunction&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/cfcomponent&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Isto tornar&#xe1; cada item do array session.carros um objeto com as propriedades e m&#xe9;todos intactos, ap&#xf3;s o t&#xe9;rmino da manipula&#xe7;&#xe3;o de carro em especial.&lt;br /&gt;E o desenvolvedor pode atribuir manualmente um novo carro no hist&#xf3;rico (&amp;lt;cfset ArrayAppend(Application.contextsaved[CGI.REMOTE_ADDR],Duplicate(Session.carro))&amp;gt;), antes mesmo da sess&#xe3;o expirar. 
				</description>
				
				<category>Scorpio</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 25 Jun 2007 03:37:00 -0300</pubDate>
				<guid>http://blog.pcsilva.com/index.cfm/2007/6/25/Duplicate-CFC-tem-funcionalidade</guid>
				
			</item>
			
			<item>
				<title>CF8 no Adobe Labs</title>
				<link>http://blog.pcsilva.com/index.cfm/2007/5/31/CF8-no-Adobe-Labs</link>
				<description>
				
				A Adobe est&#xe1; disponibilizou o ColdFusion 8 no site Labs para testes. Com bastante informa&#xe7;&#xe3;o sobre o novo Servidor,Report Builder,  tags e plug-ins para Eclipse,  tags para Dreamweaver, entre outros. Reuni alguns links como um favoritos para acesso r&#xe1;pido, mas voc&#xea; pode encontrar mais algumas coisas acessando &lt;a href=&quot;http://labs.adobe.com/technologies/coldfusion8/&quot; target=&quot;_blank&quot; title=&quot;site&quot;&gt;http://labs.adobe.com/technologies/coldfusion8/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;E o resumo ficou assim:&lt;br /&gt;&lt;a href=&quot;http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;O que h&#xe1; de novo no ColdFusion 8&lt;/a&gt; (200 KB)&lt;br /&gt;&lt;a href=&quot;http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_install_052907.pdf&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;Instalando e usando ColdFusion 8&lt;/a&gt; (1 MB)&lt;br /&gt;&lt;a href=&quot;http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_configuring_052907.pdf&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;Configurando e Administrando ColdFusion 8&lt;/a&gt; (2 MB)&lt;br /&gt;&lt;a href=&quot;http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_developerguide_052907.pdf&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;Guia do Desenvolvedor ColdFusion 8&lt;/a&gt; (11 MB)&lt;br /&gt;&lt;a href=&quot;http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_cfmlreference_052907.pdf&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;Refer&#xea;ncia do CFML para ColdFusion 8&lt;/a&gt; (8 MB)&lt;br /&gt;&lt;a href=&quot;http://labs.adobe.com/technologies/coldfusion8/videos/newinadmin/&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;Administra&#xe7;&#xe3;o do CF8&lt;/a&gt; (video)&lt;br /&gt;&lt;a href=&quot;http://labs.adobe.com/technologies/coldfusion8/videos/configuringdebugger/&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;Configurando o Debugger no CF8&lt;/a&gt; (video)&lt;br /&gt;&lt;a href=&quot;http://labs.adobe.com/technologies/coldfusion8/videos/usingdebugger/&quot; target=&quot;_blank&quot; title=&quot;arquivo&quot;&gt;Configurando o Debugger no CF8&lt;/a&gt; (video) 
				</description>
				
				<category>Scorpio</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 31 May 2007 01:02:00 -0300</pubDate>
				<guid>http://blog.pcsilva.com/index.cfm/2007/5/31/CF8-no-Adobe-Labs</guid>
				
			</item>
			</channel></rss>