Framework

Que es ser un Front End?

Nadie logra lo que quiere rindiendose
Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+

Que es ser un Front End?, Como ser un Ninja Front End? Y como llegar a ser el mejor Front End?

Son preguntas que al inicio de todo nos hemos preguntamos en algún punto. Si tú al igual que yo te apasiona la web quédate a leer esto te interesará.

La pasión nos conlleva a realizar muchas cosas como por ejemplo dejar de lado unas para hacer otras quizás nuevas o centrarse en una. Esto nos trae la búsqueda de la perfección y la dualidad cognitiva pues como empezó muchos terminan, rápido y fugaz. Ya que luego de un tiempo te pasara que has aprendido mucho y aun te falta mucho más, aunque tratas y pasa el tiempo sigue ocurriendo el mismo escenario pues cuando piensas alcanzar la meta esta se aleja hasta dejarte a una distancia aproximada al punto inicial. La dualidad cognitiva nos llevara a la decepción, percepción equivoca de que perdimos el tiempo y debimos hacer otra cosa, renegaremos, algunos lloraran y otro más locos se reirán de ya no saber qué hacer.

En todos estos escenarios el individuo ha perdido el porqué de que iniciara esto “La Pasión”.

Al parecer la pasión como todo se acaba y ellos perdieron el punto de enfoque y se estancaran, pero tú no, porque? Pues simple, estás leyendo esto.

 

Un Front End apasionado nunca vera un reto como reto sino como una nueva forma de andar, nunca caerá solo tropezará y nada será tan alto pues con algunos trucos y funciones se creara una cascada de ideas que juntas aran el escalón para pasar tal altitud.

Tu que estas desarrollando nunca olvides que esto al igual que tu primer amor inició con pasión y ella no te dejara sino tu a ella a la medidas que la cosa se ponga difícil.

Recuerda la adversidad no está para que te rindas sino para medir tu fortaleza y tus ganas de superarlas, Murieron las tablas y pasamos a div con floats, pues genial; Murió el float paso a display, pues grandioso; muere display empezamos las grillas, valla valla se mesclaron y salió mejor aún; se modifica y nace Flex, nunca te rindas pues a la medida que lo hagas serás uno de los que perdieron o vivieron seguir viviendo con su pasión.

 

Nunca dejes de leer lo que te gusta, no dejes de informarte y recuerda nunca se sabe todo.

Te dejo unos links de ayuda para tu evolución a un Front End o un Ninja Front End o mejor aún el Mejor Front End.

 

http://tympanus.net/codrops/css_reference/

http://tympanus.net/codrops/collective/

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+
Read more

Hola mundo con el Framework Tornado de Python

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+

Desde el 2013 estoy muy interesado en este lenguaje de programación que ya tiene muchos años desde su creacion y esta orientado para programación de escritorio pero gracias a los framework que salieron su uso para el lado web a crecido mucho. Es open source y tiene una gran comunidad de desarrolladores.

en este articulo creare algo simple que es un hola mundo en Tornado con la version 2.7 de python.

creamos un entorno virtual con virtualenv

virtualenv hola_mundo

ahora necesitamos activarlo para eso entramos a la carpeta que se nos creo que es hola_mundo

cd hola_mundo
source bin/activate

para saber si esta bien en nuestra consola debe salir algo asi

(hola_mundo)usuario@servidor:

luego necesitamos tener tornado y lo instalamos (yo uso pip para instalar les recomiendo que lo tengan)

pip install tornado
 #importamos a tornado lo que necesitamos
import tornado.ioloop
import tornado.web 

#declaramos un clase Index que tambien pude ser cualquier
#nombre
class Index(tornado.web.RequestHandler):
    #en la clase declaromos el metodo post o get

    #esto sera cuando alquien habra la pagina
    def get(self):
        #y vamos a escribir en le navegador el hola mundo
        self.write('Hola Mundo')

#por buena practica solocamos esta condicion que sirve
#para saber si esto se esta ejecutando directamente osea
#si en consola se esta ejecutando por que puede haber
#que tambien este siento importado y no queremos que desde
#un import se ejecute

if __name__ == '__main__':
    #declaramos la url con la clase que arriba
    app = tornado.web.Application([
        (r'/',Index)
    ])
    #le indicamos que puerto debe escuchar
    #para que entremos a verlo asi localhost:8888
    #ese puerto puede cambiar a cualquiera excepto a los
    #que ya se estan usando.
    app.listen(8888)
    #arrancamos tornado
    tornado.ioloop.IOLoop.instance().start()

este archivo lo creamos dentro de nuestro directorio que creamos en virtualenv y se llama config.py
nos vamos a la consola y ejecutamos de esta manera.

python config.py

entramos a localhost:8888 y ya veremos el hola mundo.

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+
Read more

libreria para mantenimientos CRUD en codeigniter

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+

En poco tiempo se usar codeigniter realmente me gusto usarla por lo flexible y una forma clara de escribir el codigo. Pero tambien trabajo mucho con el framework KUMBIAPHP que no es nada malo pero no tiene mucha comunidad su crecimiento se da pero poco a poco pero este framework tiene una clase en el core que nos ayuda hacer muy facil los mantenimientos y al ver que codeigniter no cuenta con ellos escribi una libreria muy simple pero capas de ayudar al proceso del desarrollo de nuestros mantenimientos.

lo pueden bajar desde github
https://github.com/luizrodriguez/Codeigniter-class-mantenimiento

 

Como usar la libreria mantenimiento para codeigniter?

  1. para instalar debemos colocar el archivo Mantenimiento.php en la siguiente ruta  \application\libraries
  2. debemos cargar la libreria y para ello buscamos en la carpeta \application\config el archivo autoload.php y ahi un array llamado $autoload[‘libraries’] y le agregamos el nombre de nuestra libreria “mantenimiento” y quedaria algo asi $autoload[‘libraries’] = array(‘database’,’mantenimiento’);
  3. ahora en la misma variable array que cargamos mantenimiento tambien debemos cargar la libreria de session $autoload[‘libraries’] = array(‘database’,’session’,’mantenimiento’); por que la libreria lo necesita

Ejemplo:

NUEVO

como la libreria necesita un array para que le pasemos la manera mas factible es hacer que los input sean array donde en el ejemplo se ve que al nombre del input es usuarios[nombre] donde usuarios seria el nombre de la tabla y nombre el campo donde se va ingresar el valor del input
view
views/usuarios/nuevo

< input type=”submit” value=”grabar” />

Controller
controllers/usuarios

public function  nuevo()
{
     if ($this-&gt;input-&gt;post("usuarios"))
    {
           $post=$this-&gt;input-&gt;post("usuarios");
           $data["tabla"]="usuarios"
           $this-&gt;mantenimiento-&gt;agregar($post,$data["tabla"]);
           redirect("usuarios/lista_usuarios");
    }
}

EDITAR

como la libreria necesita un array para que le pasemos la manera mas factible es hacer que los input sean array donde en el ejemplo se ve que al nombre del input es usuarios[nombre] donde usuarios seria el nombre de la tabla y nombre el campo donde se va ingresar el valor del input
view
views/usuarios/actualizar

< input type=”submit” value=”grabar” />

Controller
controllers/usuarios

public function  actualizar()
{
     if ($this-&gt;input-&gt;post("usuarios"))
    {
           $post=$this-&gt;input-&gt;post("usuarios");
           $data["tabla"]="usuarios"
           $this-&gt;mantenimiento-&gt;editar($post,$data["tabla"]);
           redirect("usuarios/lista_usuarios");
    }
}

ELIMINAR

como la libreria necesita un array para que le pasemos la manera mas factible es hacer que los input sean array
view
views/usuarios/lista_usuarios

aqui coloco un tipico listado con 2 formas de eliminar un registros por un checkbox y podemos eliminar varios con marcados o uno por uno con muestra el link que esta en la ultima columna de la tabla

Controller
controllers/eliminar

public function  eliminar($id=null)
{
     //si lo hace por los checkbox serviria esto
     if ($this-&gt;input-&gt;post("items"))
    {
           $ids=$this-&gt;input-&gt;post("items");
           $data["tabla"]="usuarios"
           $this-&gt;mantenimiento-&gt;eliminar($ids,$data["tabla"]);
           redirect("usuarios/lista_usuarios");
    }
    if ($id!=null)
    {
      $this-&gt;mantenimiento-&gt;eliminar($id,$data["tabla"]);
    }
 
}

y para mostrar el mensaje que viene por defecto en la libreria en donde quieran mostrarlo deben imprimir

echo $this-&gt;session-&gt;userdata("mensaje");

y si lo quieres mostrar directamente en la vista

$CI = &amp; get_instance();
echo $CI-&gt;session-&gt;userdata("mensaje");
Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+
Read more

Tipicas preguntas de Codeigniter

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+
  • Como eliminar el index.php que lleva por defecto

    creas en la raiz del proyecto un archivo .httacess con el sigueinte contenido

    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|assets|robots|css|fonts|js|img\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]

    en el archivo config.php debes modificar la linea 17 que a lo mejor cambia en otras version

    $config['index_page'] = '';
  • Donde coloco mis imagenes, css, javascript, fonts, etc

    codeigniter no dejo nos tiene ninguna carpeta para colocarlos asi que en la raiz podemos crear una carpeta para colocarlos o poder crear en la raiz todas las carpetas para nuestros archivos que usaremos en la web.

  • Como usar sessiones en codeigniter

    abres el archivo \application\config\autoload.php y activamos las sesiones que son debe buscar la variable $autoload[‘libraries’]

    $autoload['libraries'] = array('session');

    luego vas al archivo \application\config\config.php y buscas la variable $config[‘encryption_key’] y le das cualquier valor por ejemplo

    $config['encryption_key'] = 'lkjsdlkfjsd$$$dpfkñsdlkfñl';
  • Codeignietr me muestra una pagina en blanco sin errores

    esto me sucedio muchas veces y dejamos en el archivo \index.php (el el index que se encuentra en la raiz de codeigniter) como desarrollo “development” pero extrañamente no muestra ningun error y entonces por que lo hace? en realidad si ahi error como te imaginabas pero no lo muestra.

    ahi que agregar una linea de codigo a estas lineas

    if (defined('ENVIRONMENT'))
    {
    	switch (ENVIRONMENT)
    	{
    		case 'development':
                            error_reporting(E_ALL);
    		break;
     
    		case 'testing':
    		case 'production':
    			error_reporting(0);
    		break;
     
    		default:
    			exit('The application environment is not set correctly.');
    	}
    }

    asi debe quedar

    if (defined('ENVIRONMENT'))
    {
    	switch (ENVIRONMENT)
    	{
    		case 'development':
                            error_reporting(E_ALL);
                            ini_set('display_errors', 1);
    		break;
     
    		case 'testing':
    		case 'production':
    			error_reporting(0);
    		break;
     
    		default:
    			exit('The application environment is not set correctly.');
    	}
    }

    con esto ya nos debe mostrar el error

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+
Read more

Conexión a multiples bases de datos en Codeigniter

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+

Me tope con el requerimiento de utilizar 2 base de datos en distintos servidores para mostrar información en unos mantenimientos y resulto facil esta mision aun que me tuvo un rato buscando la solucion pero aqui les detallo como solucionamos este problema.

nos vamos a

  • \application\config\database.php
la variable $db es una array multidimensional donde podemos agregar avrios nombres que esto nos sirve para signar otra base de datos por defecto cuando bajas siempre encuentras el array con el nombre default ahora copiamos lo mismo y le colocamos el nombre de nuestra otra base de datos que no es necesariamente que se llame tal cual como se llama tu base de datos:
ejemplo:
el nuevo que agrego

$db['MI_BASE_DE_DATOS']

el que esta por defecto

$db['default']

le damos los datos de conexion.

/*esta esta en otro servidor entonces debemos colocar la ip*/
$db['Billing']['hostname'] = 'xxxxxxxxxxx';
$db['Billing']['username'] = 'xxxxxxx';
$db['Billing']['password'] = xxxxxxxxxxx';
$db['Billing']['database'] = 'billing';
$db['Billing']['dbdriver'] = 'mysqli';
$db['default']['port'] = "3306";
$db['Billing']['dbprefix'] = '';
$db['Billing']['pconnect'] = TRUE;
$db['Billing']['db_debug'] = TRUE;
$db['Billing']['cache_on'] = FALSE;
$db['Billing']['cachedir'] = '';
$db['Billing']['char_set'] = 'utf8';
$db['Billing']['dbcollat'] = 'utf8_general_ci';
$db['Billing']['swap_pre'] = '';
 
$active_group = 'default';
$active_record = TRUE;
/*esta es la que tenemos en nuestro servidor*/
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'xxxx';
$db['default']['password'] = 'xxxxxxxx';
$db['default']['database'] = 'xxxxxxxxx';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['port'] = "3306";
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';

ahora desde un modelo o control podemos activar la conexion a la base de datos por que en codeignter solo tiene una que es la que colocamos pro defecto.
con esta linea de codigo lo activamos

$this-&gt;load-&gt;database("Billing",TRUE);

aqui un ejemplo de la conexion desde el modelo

class Cuentas_model extends CI_Model {
function __construct()
{
parent::__construct();
}
 
function get_accounts()
{
/*la conexion a la otra base de datos*/
$db_billing = $this-&gt;load-&gt;database("Billing",TRUE);
/*una consulta a esa base de datos*/
$query=$db_billing-&gt;query("select * from accounts");
return $query-&gt;result();
}
}

en el controlador

class Cuentas extends CI_Controller {
 
public function __construct(){
parent::__construct();
$this-&gt;template-&gt;set_layout('layout.php');
$this-&gt;load-&gt;model("Cuentas_model","Cuentas");
}
public function index()
{
$this-&gt;template-&gt;title('Cuentas');
/*llamamos al modelo y jalamos los datos*/
$data["listado"]=$this-&gt;Cuentas-&gt;get_accounts();
$this-&gt;template-&gt;build('distribuidores/cuentas/index',$data);
}
 
}

en la vista

foreach ($listado as $item):
echo $item->accountcode."&lt;br /&gt;";
endforeach;

con esto ya estamos manejando 2 base de datos y si quieren con mas base de datos los mismos pasos pero agregan en el array de base de datos.

Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+
Read more