C# 视频捕获在.NET中

video capture using Direct Show

JavaScript 使用Node.js进行尾部日志输出

// http://nodejs.org/api.html#_child_processes
var sys = require('sys')
var spawn = require('child_process').spawn;
var filename = process.ARGV[2];

if (!filename)
  return sys.puts("Usage: node <server.js> <filename>");

var tail = spawn("tail", ["-f", filename]);
sys.puts("start tailing");

tail.stdout.on("data", function (data) {
  sys.puts(data);
});

// node tail.js development.log

JavaScript 使用Node.js执行Unix命令

// http://nodejs.org/api.html#_child_processes
var sys = require('sys')
var exec = require('child_process').exec;
var child;

// executes `pwd`
child = exec("pwd", function (error, stdout, stderr) {
  sys.print('stdout: ' + stdout);
  sys.print('stderr: ' + stderr);
  if (error !== null) {
    console.log('exec error: ' + error);
  }
});

PHP PHP:表达式regulieres les plus courantes et exemple de test avec ereg()

<?php

$EXP_num = "^[0-9]+$";
$EXP_num_fixe = "^0262([0-9]){6}$";
$EXP_num_portable = "^069(2|3)([0-9]){6}$";
$EXP_cp = "^974([0-9]){2}$";
$EXP_mail = "^([a-z0-9._-])+@([a-z0-9.-])+(.)([a-z]){2,4}$";
$EXP_nom = "^[a-zA-ZéçèàêëîïôöûüâäÉÀÈËËÏÎÖÔÛÜÄÂ'-][a-zA-ZéçèàêëîïôöûüâäÉÀÈËËÏÎÖÔÛÜÄÂ' -]{2,50}$";
$EXP_date = "^[0-9]{2}/[0-9]{2}/[0-9]{4}$";
$EXP_url = "^http://";
$EXP_alphanum = "^[a-zA-Z0-9_-]$";

if(!ereg($EXP_mail, $mail)){ echo "your mail is invalid"; }

?>

JavaScript IE6 png-fix jQuery

/*
   Works best for background images with set dimensions
   Just add a ".pngfix" class to anything you want fixed
   or put in some other jQuery selector.
*/
$('.pngfix').each( function() {
   $(this).attr('writing-mode', 'tb-rl');
   $(this).css('background-image', 'none');
   $(this).css( 'filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="path/to/image.png",sizingMethod="scale")');
});

PHP HTML到文本

function html2txt($document){
     $search = array('@<script[^>]*?>.*?</script>@si', // Strip out javascript
     '@<style[^>]*?>.*?</style>@siU', // Strip style tags properly
     '@<[?]php[^>].*?[?]>@si', //scripts php
     '@<[?][^>].*?[?]>@si', //scripts php
     '@<[\/\!]*?[^<>]*?>@si', // Strip out HTML tags
     '@<![\s\S]*?--[ \t\n\r]*>@' // Strip multi-line comments including CDATA
     );$text = preg_replace($search, '', $document);
     return $text;
}

// Usage

$html_source = file_get_contents('http://www.phpsnippets.info');
$txt = html2txt($html_source);

JavaScript 复选框toogle值

<script type="text/javascript">
	$('#id').change(function () {
	    if ($(this).attr("checked")) 
		{
	       $('#id').attr("value", 'ja')
	       return;
	    }
	    $('#id').attr("value", 'nein')
	});
</script>

CSS CSS3旋转

iframe {
   -webkit-transform: rotate(-90deg);
   -moz-transform: rotate(-90deg);
   transform: rotate(-90deg);
   position: absolute;
   filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

HTML 浏览器刷新

<meta http-equiv="refresh" content="3" />

Other @fractastical Visualforce jQuery自动完成控制器

public with sharing class EnhancedLookupController extends EnhancedComponentController {
	
		String secondDisplayColumn;
		public String displayColumn 	{ get; set; }
		public String objectToLookup 	{ get; set; }
		public String displayName 		{ get; set; }
		public String filterString 		{ get; set; }
	    public transient List<JsonObject> jsonObjs { get; set; }        
		public Boolean bigset 			{ get; set; }
	
		private transient String jsonData;  
		public List<String> paramValues { get; set; }
		public List<String> paramKeys { get; set; }
		public Map<String,String> params { get; set; }


	public String getOnLoad(){

		onLoad();		
		
		if(bigset == null)
			bigset = false;

		List<String> columns = new List<String>();

		List<String> displayCols = new List<String>();

		if (displayColumn == null)
			displayColumn = 'name';
		else {
			
			displayCols = displayColumn.split('[.]');
			if(displayCols.size() > 1)
			{
					displayColumn = displayCols.get(0);
					secondDisplayColumn = displayCols.get(1);
			}
			
		}
		
		String initialize;
			
		//columns.add('id');  
		columns.add(displayColumn);
		 
		if(!bigset)	
		{	
			jsonData = JsonUtils.getJsonFromObject(objectToLookup, columns, filterString);
			 initialize = 'var ' + uid + 'data = ' + jsonData + ';\n' +
					
					'$(".L' + uid + '").autocomplete(' + uid + 'data, { \n' +
					'\n' + 			
					'						 formatItem: function(item) {  \n' +
					'						   return item.' + displayColumn + ';      \n' +
					'						   }   \n' +
					'\n' +
					'						 }).result(function(event, item) {\n' +
					'								  $(".' + uid + '").val(item.id);\n' +
					'								});  \n';
		}	
		else
		{
			uid = 'LL' + uid;
			initialize = '' +
		'		        $(".L' + uid + '").autocomplete({\n' +
				        
		'		            source: function(request, response) {\n' +
		'		                    $.getJSON("' + System.Page.largeLookup.getUrl() + '?otl=' + objectToLookup + '&", {\n' + 
							// Not sure if we need this
							// see: http://www.tgerm.com/2010/02/visualforce-salesforce-jquery-ajax-how.html
				            // "core.apexpages.devmode.url" :'1',   
		'		                        term: request.term\n' +
				                        
		'		                   }, response);\n' +
		'		               },\n' +
		'		        select: function(event, ui) {\n' +
				        
		'		           $(".' + uid +'").val(ui.item.id);\n' +
				        
		'		        },\n' +
		'		        minLength: 2\n' +
				            
		'		        });\n';  
		}
								  		
								  		
							
		if (myValueHolder != null)
				initialize += 	'$(".' + uid + '").val("' + (String) myValueHolder + '");\n';
		    

		addOnLoadJavascriptToParentController(initialize);
		return '';
		
	}
      	
  public override Object getCastedValue() {
  	
  	String s = (String) myValueHolder;
  	if(s == '')
  		return null;
  	else
	 	return myValueHolder;
  }
     
    
    /** invoked on an Ajax request */    
    public void doSearch() {
    	
	  	  params = ApexPages.currentPage().getParameters();
	      paramValues = params.values();
	      paramKeys = new List <String>();
	      paramKeys.addAll(params.keySet());
	      
	      
	      for(String s: paramKeys)  
	          System.debug('k:' + s);
	      for(String s: paramValues)
	          System.debug('v:' + s);
                
        if(params.get('otl') != null)
	        objectToLookup = params.get('otl');
	    else if (objectToLookup == null)
	    	objectToLookup = 'Account';
	    	
	    if(params.get('dc') != null)
	        displayColumn = params.get('dc');
	    else if (displayColumn == null)
	    	displayColumn = 'name';         
  

	    if(params.get('filterstring') != null)
	        filterString = params.get('filterstring');
	    else if (filterString == null)  
	    	filterString = '';
	    
        
        // Do SOQL query to see if there are any records !
        List<Sobject> records = getRecords(params.get('term'));
        
        if (!records.isEmpty()) {  
            // Jsonify the results !
            jsonObjs = new List<JSONObject>();   
            for (Sobject o : records) {
                JSONObject cjson = new JSONObject();
                cjson.putOpt('id', new JSONObject.value((String) o.get('id')));
                if(secondDisplayColumn != null)            
	                cjson.putOpt('label', new JSONObject.value((String) o.get(displayColumn) + '(' + ( (String) o.get(secondDisplayColumn) ) + ')' ));
	            else
	            	cjson.putOpt('label', new JSONObject.value((String) o.get(displayColumn)));
	            	
                cjson.putOpt('value', new JSONObject.value((String) o.get(displayColumn)));
                jsonObjs.add(cjson);  

            }   

        }
    }
    
    // Does the SOQL query, using Ajax request data
    public List<SObject> getRecords(String filter) {
        List<SObject> records = new List<SObject>();

  			String limitString;
  			if(filter.length() > 3) 
  				limitString = 'limit 100';  
  			else
  				limitString = 'limit 8';  


        if (filter != null && filter.trim().length() > 0){
  
  				
            String completeFilter = '%' + String.escapeSingleQuotes(filter)  + '%';
            if(filterString.trim().startsWith('WHERE'))
            	filterString = 'AND' + filterString.trim().substring(5, filterString.length());
            	
            String queryString = 'select id, ' + displayColumn;
            if(secondDisplayColumn != null)
            	queryString += ', ' + secondDisplayColumn;
            queryString += ' from ' + objectToLookup + ' where ' + displayColumn + ' like \'' + completeFilter + '\' ';
            
            if(filterString.toLowerCase().contains('limit'))
            	queryString += filterString;
            else
            	queryString += filterString + ' ' + limitString;
            
            System.debug('QUERYSTRING: ' + queryString);
            
            records = Database.query(queryString);
            
        }     
        else {

            String queryString = 'select id, ' + displayColumn;
            if(secondDisplayColumn != null)
            	queryString += ', ' + secondDisplayColumn;
            queryString += ' from ' + objectToLookup + ' ';
            
            if(filterString.toLowerCase().contains('limit'))
            	queryString += filterString;
            else
            	queryString += filterString + ' ' + limitString;


            System.debug('QUERYSTRING: ' + queryString);
            records = Database.query(queryString);
        	        	
        }  
        return records;      
    }    

    // Returns the JSON result string
    public String getResult() {
	    if(jsonObjs != null)
		    return JsonUtils.jsonify(jsonObjs);
		else return '[ ]';        
    }

	

}