Buscando artículos sobre " Programación"
3-octubre-2013
admin

Breadcrumb para usar en codeigniter

Recientemente he tenido que crear las migas de pan para un web que estoy desarrollando con codeigniter. Estas son los dos mejores tipos de solución que he encontrado:

1 – Se puede usar este generador automático de migas de pan autocrumb.

2 – La segunda opción es ir generándolas manualmente. Un ejemplo puede ser: how-to-create-bread-crumb-using-php-codeigniter.

8-septiembre-2013
admin

Librerías para Gráficos en PHP

Fusioncharts
Puede integrarse con una multitud de tecnologías web como ASP, ASP.NET, PHP, JSP, ColdFusion, Ruby, Python, o incluso simples páginas HTML. Funciona con todas las bases de datos incluyendo MS SQL, Oracle, MySQL, PostgreSQL, también con archivos CSV
Formato de Gráfico: Flash
Licencia: Libre y Comercial

PHP/SWF Charts
Es una herramienta para generar atractivos gráficos a partir de datos dinámicos. Genera un Flash con los cuadros y gráficos, también puede usar un XML para la generación de gráficos
Formato de Gráfico: Flash
Licencia: Libre y Comercial

amCharts
Es una caja de herramientas de gráficos de Flash para sus sitios web.
Puede extraer automáticamente los datos desde el simple archivo CSV o XML, o pueden leer datos generados dinámica con PHP,. NET, Java, Ruby, Perl, y otros.
Formato de Gráfico: Flash e Imagen
Licencia: Libre y Comercial

AnyChart
Es una solución flexible basada en Flash que te permite crear interactivos y gráficos de gran apariencia de flash. Es una cruz-navegador y multi-plataforma de gráficos destinados a la solución de todos los que se refiere a la creación del tablero de instrumentos, informes, análisis, estadística, financiera o de cualquier otra visualización de datos de soluciones.
Formato de Gráfico: Flash
Licencia: BSD license

pChart
Es una clase escrita en PHP para generar imagenes cartográficas desde una consulta SQL, un archivo CSV, o manualmente.
Formato de Gráfico: Imagen
Licencia: GNU General Pulic License

JpGraph
Es una clase que esta echa orientada a objetos, su requerimiento es PHP >= 4.3.1
Formato de Gráfico: Imagen
Licencia: QPL 1.0 (Qt Free License)

GraPHPico
Web & Utilería para generar gráficos de tipo estadístico en línea. Componente escrito en PHP + GD, genera gráficos en formato .PNG, actualmente existen los estilos Porcentaje, Barras y Pastel.
Formato de Gráfico: Imagen
Licencia: GNU General Public License (GPL), PHP License

WideImage
WideImage es una librería escrita en PHP5 orientada a objetos para la manipulación de la imagen, solo requiere la extensión GD2. La mayor parte del código esta probada con Simpletest.
Formato de Gráfico: Imagen
Licencia: GNU General Public License (GPL), PHP License

eZ components
Es un conjunto de módulos independientes para el desarrollo de aplicaciones PHP. El componente gráfico le permite crear línea, gráficos de barras y pastel.
Formato de Gráfico: SVG e Imagen
Licencia: BSD license

Fuente

25-agosto-2013
admin

Obtener el número de teléfono desde la aplicación

Se puede obtener el número de teléfono donde se está ejecutando la aplicación android. Para ello se puede hacer lo siguiente:

1 – Se deben añadir permisos al archivo manifest.xml:

< uses-permission 
       android:name="android.permission.READ_PHONE_STATE" / >

2 – Se utiliza la función getLine1Number():

private String getPhoneNumber(){
  TelephonyManager mTelephonyManager;
  mTelephonyManager = (TelephonyManager) 
                      getSystemService(Context.TELEPHONY_SERVICE); 
  return mTelephonyManager.getLine1Number();
}

Nota: El método getLine1Number() devuelve el número sólo si está configurado así en la SIM, en otro caso no nos sirve.
(Se puede comprobar en el propio móvil en Ajustes del sistema -> Acerca del teléfono -> Estado -> Mi número de teléfono)

13-agosto-2013
admin

Lector RSS realizado con AJAX

Función javascript que realiza petición ajax a una página php que será la que recupere el contenido del RSS:

function showRSS(str){
   if (str.length==0) {
      document.getElementById("rssOutput").innerHTML="";
      return;
  }
  if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
  } else {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

  xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
         document.getElementById("rssOutput").innerHTML=xmlhttp.responseText;
      }
  }
  xmlhttp.open("GET","getrss.php?q="+str,true);
  xmlhttp.send();
}

Contenido de la página php,

//get the q parameter from URL
$q=$_GET["q"];

//find out which feed was selected
if($q=="Google"){
  $xml=("http://news.google.com/news?ned=us&topic=h&output=rss");
} elseif($q=="MSNBC") {
  $xml=("http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml");
}

$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);

$channel=$xmlDoc->getElementsByTagName('channel')->item(0);
$channel_title = $channel->getElementsByTagName('title')
->item(0)->childNodes->item(0)->nodeValue;
$channel_link = $channel->getElementsByTagName('link')
->item(0)->childNodes->item(0)->nodeValue;
$channel_desc = $channel->getElementsByTagName('description')
->item(0)->childNodes->item(0)->nodeValue;

echo("< p>< a href='" . $channel_link
  . "'>" . $channel_title . " < /a>");
echo($channel_desc . "< /p>");

$x=$xmlDoc->getElementsByTagName('item');
for ($i=0; $i<=2; $i++) {
  $item_title=$x->item($i)->getElementsByTagName('title')
  ->item(0)->childNodes->item(0)->nodeValue;
  $item_link=$x->item($i)->getElementsByTagName('link')
  ->item(0)->childNodes->item(0)->nodeValue;
  $item_desc=$x->item($i)->getElementsByTagName('description')
  ->item(0)->childNodes->item(0)->nodeValue;

  echo ("< p>< a href='" . $item_link
  . "'>" . $item_title . "< /a>");
  echo ($item_desc . "< /p>");
}

FUENTE con el ejemplo

25-julio-2013
admin

Usar Grocery CRUD (extensión de CodeIgniter)

Grocery CRUD es una utilidad open source (licencia GPL v3 y MIT). Permite junto con el framework Codeigniter crear en unos minutos interfaces que lleven a cabo las funciones básicas en bases de datos (Create/Read/Update/Delete CRUD).

Esta librería contiene todo lo necesario para añadir, mostrar y editar datos. Incluye además validación de datos tanto en servidor como en cliente. Con este generador de CRUD, no es necesario copiar todo el código CSS, JavaScript, tablas, formularios, funciones, modelos, bibliotecas a nuestro sistema de backoffice.

Su uso es tan fácil como:
– En primer lugar se debe instalar Codeigniter que se puede descargar aquí.
– Una vez instalado Codeigniter se debe proceder a la instalación de Grocery CRUD que encontraremos aquí.

Algunos enlaces de interés.
Guía de usuario de CodeIgniter
Ejemplos de uso de Grocery CRUD
Manual para principiantes
Solución al Error Undefined property: Main::$grocery_crud

6-julio-2013
admin

Transacciones con Entity Framework

Un ejemplo de uso podría ser:

using (ModelContextContainer context= new ModelContextContainer()) {
      context.Connection.Open();
      DbTransaction tx = context.Connection.BeginTransaction();
      
      //Operacion 1
      //.......

      context.SaveChanges();

      //Operacion 2
      //.......

      context.SaveChanges();


      tx.Commit();//aqui se salvan todas las operaciones
      context.Connection.Close();
}

Más información: Administrar conexiones y transacciones (Entity Framework)

6-julio-2013
admin

Usar SQL en Entity Framework

Hay distintas posibilidades, a continuación se expondrán algunas de ellas:

1 – Se puede utilizar el método ExecuteStoreQuery para lanzar queries contra el origen de datos:

using (SchoolEntities context = new SchoolEntities())
{
    // Use the parameter substitution pattern.
    foreach (string name in context.ExecuteStoreQuery< string >
        ("Select Name from Department where DepartmentID < {0}", 5)) {
        Console.WriteLine(name);
    }

    // Use parameter syntax with object values.
    foreach (string name in context.ExecuteStoreQuery< string >
        ("Select Name from Department where DepartmentID < @p0", 5)) {
        Console.WriteLine(name);
    }
    // Use an explicit SqlParameter.
    foreach (string name in context.ExecuteStoreQuery< string >
        ("Select Name from Department where DepartmentID < @p0",
            new SqlParameter { ParameterName = "p0", Value = 5 })) {
        Console.WriteLine(name);
    }
}

2 - Otra forma sería usar el método translate para convertir un DbDataReader en (siguiente el ejemplo anterior) objetos del tipo Department.

3 - También tenemos el método ExecuteStoreCommand, que permite ejecutar comandos directamente contra el origen de datos: insert, update,...

4 - Otra posibilidad que nos permite Entity Framework consiste en crear una EntityConnection para usar un EntityCommand

NorthwindEntities context = new NorthwindEntities();
EntityConnection conn = new EntityConnection(context.Connection.ConnectionString);
conn.Open();
var sql = "SELECT VALUE emp FROM NorthwindEntities.Employees AS emp";
EntityCommand cmd = new EntityCommand(sql, conn);
DbDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
while (reader.Read()) {
  Console.WriteLine("{0} {1} {2} {3}", reader["EmployeeID"], reader["LastName"],
    reader["FirstName"], reader["Country"]);
}

Fuentes:
Cómo: Ejecutar directamente comandos contra el origen de datos en .Net Framework 4

Cómo ejecutar una consulta de Entity SQL parametrizada con EntityCommand

23-junio-2013
admin

LINQ to Objects

Gracias a «LINQ to Objects» podemos hacer consultas LINQ directamente sobre cualquier colección IEnumerable o IEnumerable sin utilizar ninguna API o proveedor LINQ intermedio, como LINQ to SQL o LINQ to XML. Más Info

Un ejemplo de uso podría ser el que muestro a continuación:

  IEnumerable< Persona > persona = from p in personas.AsEnumerable()
                     where p.Name.StartsWith("S")
                     orderby p.Name
                     select p; 

Se realiza una consulta sobre una lista de personas que me devuelve todas aquellas personas cuyo nombre comienza por la letra S. Además, realiza una ordenación por nombre.
Persona: sería una clase con p.e. las propiedades Name, Apellidos, Edad.
List: podría ser la lista personas sobre la que hacemos la consulta.

Además, si se quiere se podría hacer algo mas amigable la consulta. Para por ejemplo no tener que escribir consultas muy grandes.

  Func< Persona, bool > func = delegate(Persona person){
         return person.Name.StartsWith("S");
  }
  IEnumerable< Persona > persona = (from p in personas.AsEnumerable() select p)
         .Where(func)
         .OrderBy< Persona, string >(per => per.Name); 

Aquí se realiza exactamente lo mismo que antes, con la diferencia de que he creado una función para evaluar las condiciones del Where (está función debe tener como mínimo un objeto de entrada y debe devolver bool).

En el ejemplo he utilizado un Where sobre una IEnumerable pero también se podría hacer lo mismo para IQueryable, usando Exressions en este caso.

public static IQueryable< TSource > Where< TSource >(
    this IQueryable< TSource > source,
    Expression< Func < TSource, bool > > predicate
)

public static IEnumerable< TSource > Where< TSource >(
    this IEnumerable< TSource > source,
    Func< TSource, bool > predicate
)

25-abril-2013
admin

Incrementar días a una fecha con javascript

Código que muestra una función que devuelve la fecha actual aumentada o disminuida en días dependiendo de los días recibidos como parámetro.

/**
 * Funcion que devuelve fecha actual y fecha modificada n dias
 * Tiene que recibir el numero de dias en positivo o negativo para  
 * sumar o restar a la fecha actual.
 * Ejemplo:
 *  mostrarFecha(-10) => restara 10 dias a la fecha actual
 *  mostrarFecha(30) => añadira 30 dias a la fecha actual
 */
function mostrarFecha(days){
    fecha=new Date();
    day=fecha.getDate();
    month=fecha.getMonth()+1;
    year=fecha.getFullYear();

    document.write("Fecha actual: "+day+"/"+month+"/"+year);
    

    tiempo=fecha.getTime();
    milisegundos=parseInt(days*24*60*60*1000);
    total=fecha.setTime(tiempo+milisegundos);
    day=fecha.getDate();
    month=fecha.getMonth()+1;
    year=fecha.getFullYear();

    document.write("Fecha modificada: "+day+"/"+month+"/"+year);
}


Fuente

25-abril-2013
admin

JSBin, JSBeautifier y JSFiddle

JSBin es un servicio online que nos permite introducir código HTML, CSS y JavaScript y verificar su funcionamiento. Está pensado para que los desarrolladores puedan trabajar de manera colaborativa.

En http://jsbin.com podemos editar sin dificultades, incluir alguna de las librerías más comunes e incluso, guardar la URL del proyecto y hacerla pública. (Más info.)

JSBeautifier, te organiza y modifica estéticamente tu código Javascript, de modo que este sea más placentero a la vista y siga estándares de formatos de programación.

jsbeautifier.org

JSFiddle, potente herramienta para Javascript y frameworks como JQuery y Prototype.js
Al igual que as anteriores se trata de una herramienta 100% web. Lo que JSFiddle te ofrece es un ambiente de varias ventanas dentro de tu navegador web, en donde en una de ellas puedes escribir HTML, y en otra sentencias de Javascript (como por ejemplo, selectores de JQuery), y después en otra ventana ves el resultado.

Con JSFiddle eliges la versión de la librería que deseas, copias un pedazo de HTML (o utilizas el que te ofrecen por defecto), lo modificas, y escribes tu Javascript para ver si hace lo que esperas que hagas, y listo. Varios minutos se reducen a segundos.

JSFiddle

Páginas:«1...89101112131415»

Categorias

Linkedin