Skip to content

Instantly share code, notes, and snippets.

@Macagare
Macagare / file.cfm
Last active August 29, 2015 13:57
Floor current dateTime to influence the Last-Modified header. Header widgets will only be loaded from server every 15 minutes. Reduces server load when the requested content needs to be generated.
<cfscript>
function foor15Min(t) {
var roundedMinutes = INT(minute(t) / 15 ) * 15;
return CreateDateTime(year(t), month(t), day(t), hour(t),roundedMinutes,0)
}
</cfscript>
<CFHEADER NAME="Cache-Control" VALUE="public, max-age=900">
<CFHEADER NAME="Last-Modified" VALUE="#LSDateFormat(#foor15Min( DateConvert( 'Local2UTC', now() ) )#, 'ddd, dd mmm yyyy')# #LSTimeFormat(#foor15Min( DateConvert( 'Local2UTC', now() ) )#, 'HH:mm:ss')# GMT">
<h1>Caches Overview</h1>
<h2>cacheType</h2>
<cfdump var="#cacheCount('cacheType')#" label="cacheType" />
cache cacheType size: <cfoutput>#(SizeOf( cacheGetAll("", "cacheType") )/1024)/1024#</cfoutput> MB<br/>
<!--- see: http://christianmuellerdesign.wordpress.com/2014/05/23/getting-startet-with-coldfusion-and-mxunit/ --->
<cfcomponent displayname="mxunit.framework.Test" extends="mxunit.framework.TestCase">
<cffunction name="firstTest" access="public" returntype="void">
<cfscript>
addTrace("expected vs. actual" );
assertTrue(true);
assertEquals(this.expected, true);
</cfscript>
</cffunction>
@Macagare
Macagare / merge coldfusion structs
Created October 14, 2014 13:16
merge coldfusion structs
<cfscript>
private struct function mergeStructs(required array structs) {
var result = {};
var argsLen = arrayLen(arguments.structs);
for ( var j = 1; j <= argsLen; j = j + 1 ) {
var keys = structKeyArray(arguments.structs[j]);
var keysLen = arrayLen(keys);
for ( var i = 1; i <= keysLen; i = i + 1 ) {
var key = lcase(keys[i]);
result[key] = arguments.structs[j][key];
@Macagare
Macagare / mergeStructs
Created October 16, 2014 13:14
merge multiple structs in coldfusion
<cfscript>
private struct function mergeStructs(required array structs) {
var base = {};
var len = arrayLen(arguments.structs);
for (var i = 1; i <= len; i = i + 1) {
for (key in arguments.structs[i]) base[lcase(key)]=arguments.structs[i][key];
}
return base;
}
</cfscript>
@Macagare
Macagare / reRemoveColumns.cfm
Created October 24, 2014 12:55
remove query columns via regex match
<cfscript>
private query function reduceQueryColumns(required query source, required string columns) {
var qReduced = "";
query name="qReduced" dbtype="query" { writeOutput("select #arguments.columns# from arguments.source") };
return qReduced;
}
private query function reRemoveColumns(required query source, required string regex) {
var columns = listToArray(arguments.source.columnlist);
for (var i = arrayLen(columns); i >= 1 ; i = i - 1) {
@Macagare
Macagare / autoincrement.sql
Created November 26, 2014 10:10
update table autoincrement offset
ALTER TABLE tbl AUTO_INCREMENT = 5;
@Macagare
Macagare / split_string.sql
Created November 27, 2014 12:36
convert comma separated string into temporary table with individual rows
DROP procedure IF EXISTS split_string;
DELIMITER $$
CREATE PROCEDURE split_string (list TEXT)
BEGIN
DECLARE max INT DEFAULT 0;
DECLARE i INT DEFAULT 1;
DECLARE elem INT DEFAULT 0;
SET max = length(list) - length(replace(list, ',', ''));
@Macagare
Macagare / tag_regex
Created February 13, 2015 10:54
Find Tags
<.*?(\>)
@Macagare
Macagare / gist:768ac1e177e4b1ca3879
Created June 24, 2015 09:01
SVN remove unversioned files like "git clean -f"
svn st | grep '^?' | awk '{print $2}' | xargs rm -rf