P

pablo1416

Usuario (Argentina)

Primer post: 29 jul 2011Último post: 1 jul 2014
7
Posts
592
Puntos totales
153
Comentarios
Pone al día tu GTA IV
Pone al día tu GTA IV
InfoporAnónimo7/10/2013

GTA V esta dando mucho de que hablar y no son pocos los gamers que han retomado al antiguo GTA V. Seguramente ya te has pasado GTA IV pero la diversión no termina cuando salen los créditos. En la versión PC, GTA es el rey de los mods. Los mods no son mas que modificaciones que realizan usuarios con conocimiento con el fin de alargar la diversión de un juego determinado. Los mejor de estos es que son gratuitos y solamente se limitan a la imaginación de la persona que los crea. Como veras un mundo abierto mas cientos de mods disponibles en forma gratuita no existe forma de que no repitas el juego. Aquí algunos mods vistos, si quieren descargar alguno miren los vídeos en youtube y revisen los detalles: Autos Nextgen? Mira estos mods Graficos (recomiendo ver los videos en 720p para apreciar la calidad). ¿Y vos que mods utilizas?

76
12
Selección de dibujos
Selección de dibujos
ArteporAnónimo7/29/2011

Hola este es mi primer post va dedicado a las comunidades de arte a las que me uni. Les cuento dibujo desde que tengo 6 o 5 años epoca en la que tenias que estar en casa antes de las 21:00 porque si no te fajaban , en ese horario mi pasatiempo era el dibujo. En realidad el motivo principal fue que queria imitar a mi viejo que me hacia autitos en el papel cuando le pedia, despues paso a ser hobie. Nunca estudie arte ni me dedique al 100% al dibujo siempre lo vi como un pasatiempo, creo que tuve epocas de 3 o 4 años sin dibujar(ya no me quedaba tanto en casa). Tampoco pienso ahora en dedicarme en el mundo del arte pero las comunidades a las que llegue me han inspirado un poco para hacer unos 3 dibujitos desde que me uni xD Dibujos a lapiz Mago de Mu online (2005) este es el mas viejo que muestro, no tengo dibujos de la infancia porque me los tiraron todos xD. Personaje de full metal alchemist creo que se llama edward, tengo la serie pero no eh visto ni un solo capitulo Si hay algo en lo que quiero mejorar es en los retratos. Este es mi perro Este es un predator que encontre por google el año pasado Y este fue el primero que hice despues de una sequia de 3 años sin dibujar. Lo hice en Febrero del 2010 y no dibujaba desde 2007. Disculpen por no mostrarlo completo en otro momento sera Dibujos coloreados Hay muchos usuarios que colorean muy bien con lapices de colores! yo de chico no pintaba mis dibujos porque los arruinaba. Estos dos son los primeros que hago. Espero hacer alguno que merezca encuadrar Tenia el paso a paso de este pero lo borre sin querer. Por ser el primer intento creo que quedo bien.Solo era para practicar algo simple. Este es el ultimo dibujo que hice, falta terminar. Tambien es algo simple pero sirve!. Certificacion! Dibujo paso a paso Deje este para el final porque a mi me gustan los paso a paso , aunque este no esta tan completo. Es Goku vs Superman, la imagen la tome de devianart (creo). Bueno en realidad no es tan paso a paso xD. Aca muestro el dibujo un poco avanzado del rostro de Goku, estaba estrenando mis lapices 6b y 8b Un poco de sombras al pecho,hombros y cuello. Ademas un poco de lo que era el boceto. Trabajando esos abdominales de roca que pocos tenemos(aguante el flotador) Me demore un poco en todas las luces Finalizado Un poco retocado con photoshop Todos los dibujos Si, mis firmas son distintas algunas veces uso la del DNI y otras veces pongo mis iniciales Saludos y gracias por compartir su arte

87
0
Escribe un curriculum para un puesto de programador
Escribe un curriculum para un puesto de programador
Hazlo Tu MismoporAnónimo10/13/2013

Escribe un curriculum para un puesto de programador Yo usualmente leo 5 a 20 cvs cada semana. Mi jefe y yo generalmente estamos bastante ocupados, por lo tanto es importante que un cv de un programador capte rápidamente nuestra atención proveyendo la correcta mezcla de información necesaria con algo que haga a la persona destacar entre sus pares. He estado envuelto en el proceso de contratación de nuestra empresa por mas de 6 meses. Por lo tanto, me siendo con bastante confianza de que puedo resumir que es lo que hace decidir, después de ver un CV, tener una entrevista. Aquí están mis consejos para escribir y organizar el CV perfecto de programador. Advertencia: Todos los CVs vienen desde nuestro reclutadores y nuestro departamentos de Recursos Humanos primero. Mas aún, alguna de mis ideas caen fuera de la norma cuando uno se refiere a “la definición de lo que es ser un buen programador” Pon tus competencias/capacidades/pericias al frente y al centro. Leer los detalles de como usaste tu competencia tipica X para lograr un objetivo tipico Y no es lo que yo ando buscando. Necesito saber tus compentencias de tal manera de no ir viendo por tu CV si es que cumples mis minimas necesidades. Sáltate el resumen y quizá también el objetivo Esos resúmenes son una perdida de tiempo. Si es que va a decir algo así como “Profesional TI con experiencia y buenas capacidades de comunicación” o “Veterano fogueado con 10 años de experiencia en programación”. Siempre es lo mismo, todo el mundo lo dice, así que por favor no lo pongas. El objetivo es un cuento un poco diferente. Es útil si informa algo que la experiencia y los conocimientos no. La importancia del objetivo es de relevancia para mi en función si quieres seguir o no haciendo lo que vienes haciendo. Si veo que haz estado programando (particularmente en la capa de acceso a datos y en la capa de los objetos de negocio) y no hay objetivo en el CV, asumo que tu estas buscando mas de lo mismo con otros empleadores o en otro lugar. Si tu quieres hacer mas de ese mismo trabajo y lo pones en el objetivo, estas gastando espacio y tiempo. Si quieres cambiar de dirección (programador de GUI o empezar a manejar proyectos) es importante que lo pongas en tu objetivo. De otra forma podemos descubrir durante la entrevista que no estás interesado en lo que tenemos para ofrecer. Pon tu educación al ultimo Algunas personas que se dedican a contratar recursos TI ponen mucho énfasis en la educación de los candidatos, yo no. Siempre me interesa saber cual fue tu escuela y cual es tu carrera, pero solo voy a preguntar acerca de tu educación si es que hay algo inusual o intrigante. Por ejemplo, un candidato con el grado de de Ingeniero del MIT o con un doctorado en Química Orgánica captará mi atención porque esos pergaminos muestran un alto nivel de inteligencia. Por otra parte alguien con calificación de excelencia en tiro al arco o sin un titulo no contará en contra tuya. En muchos casos, ni siquiera me pregunto acerca de tu educación hasta que ya me he hecho una idea del perfil. Esto incluye certificaciones técnicas MCSE o CCNA.. las cuales no me sorprenden demasiado en este punto. Eso importa para ciertas personas y no te hacen daño (en mi opinión) pero solo tomo las certificaciones en cuenta si todo lo demás es igual (al hacer comparaciones). Muéstrame que eres diferente Incluso si mi proyecto es algo trivial (paginita web con algo de base de datos). igual quiero ver que tu seas alguien con 10 años de experiencia en hacer paginitas web con base de datos. Por ejemplo, comparemos estas dos descripciones. ABURRIDA: East Coast Power – Programador 1999 – 2005 Escribí una aplicación VB para controlar maquinaria. LA interface con el hardware fue manejada con una librería COM que fue escrita por otro grupo. La aplicación fue robusta y confiable. Escribí una herramienta web para ver las fallas del sistema. Creé un webservice para permitir a terceros obtener algunos datos de nuestra base de datos. EXCELENTE! East Coast Power – Programador 1999 – 2005 Escribí una aplicación VB que permitió control un reactor nuclear. Control en tiempo real y monitoreo manejando 10000 datos únicos por segundo. Escribí un avanzado algoritmo en C# para que detectara fallas inminentes, lo cual fue usado en una aplicación web. Creé un webservice en C# para permitir a los tercero accesar los datos en una forma segura, confiable y de buen desempeño. Los datos típicos requeridos era de 1 millon de filas y se debió manejar muy bien los problemas de concurrencia en el nivel de base de datos y de la aplicación. Ves la diferencia? control de maquinaría no me ayuda mucho, podrías haber estado trabajando en el ascensor. Programar un reactor nuclear, realmente impresiona, sobretodo ya que no han habido accidentes nucleares mientras estuviste en ese empleo. Escribir algoritmos avanzados en C# toca mi corazón de ingeniero, mientras que una aplicación web es trivial. Si bien, escribir un webservice es bastante fácil, no es tan fácil escribir uno que sea “seguro, confiable y con buen desempeño” con tamañas consultas. Tampoco es fácil lidiar con problemas de concurrencia en dos niveles diferentes de la aplicación. No estoy diciendo que tienes que ser demasiado verboso o lleno de detalles en tus descripciones, pero si estas haciendo un trabajo mas complicado que lo que haría un alumno en práctica entonces necesito saberlo. Todos los desarrolladores han escrito una aplicación web con manejo de base de datos. Muéstrame más. Asegúrate que tu experiencia destaca tus habilidades. No espero que tu historial de empleos incluyan una lista de todas tus habilidades. Pero si estás buscando un empleo como un desarrollador .Net, muéstrame que haz hecho algún trabajo .Net. Si no listas esa experiencia, voy a asumir que tu tienes poco o nada de experiencia con eso (incluso si está en tu lista de habilidades). Si tu tienes un montón de experiencia en eso fuera del campo laboral, halla una forma de contarme eso. Mantiene tu CV entre 2 y 4 paginas de largo. Me ha costado leer CVs de 7 paginas de largo lleno de siglas y detalles aburridos que me han tenido a punto de llorar. Un CV muy largo no necesariamente me hace desechar un candidato, pero ¿por que hacerme llorar? Por otra parte, un curriculum que trata de mantenerse en el criterio de “una sola pagina” no va a dar para un puesto técnico, excepto si el CV es de alguien sin experiencia. En mi opinión 2 a 4 paginas es lo ideal. También pon cierto espacio en blanco ya que si no me ahogo. Cuida tu formato Si bien los curriculum de Programadores no tienen que ser bonitos o con mucho diseño, un buen formato puede hacer la diferencia en terminos de legibilidad. Si no puedes poner 3 paginas de texto en frente de mi que se puedan leer, ¿porque te pondría a programar el GUI de una aplicacion o a escribir codigo que alguien mas tendrá que leer para mantener? Te recomiendo mantenerte en una fuente grande (10 o 12 puntos) en una fuente que se lea bien impresa y en la pantalla (ej. Verdana, Helvetica, Tahoma, Calibri, Arial). Si tu quieres una fuente con un poco mas de estilo, úsala solo para los títulos de secciones. Además, no mezcles fuentes serif y sans-serif eso es demasiado feo. No uses “Comic Sans”. Mantén tus margenes y espacio entre párrafos lo suficientemente largo para dar “espacio para respirar”. Lista de empleos anteriores. Si tu eres (o fuiste) un contratista o consultor, asegúrate que esto queda claro. De otra forma pensaré que tu renuncias o te echan cada 3 a 12 meses. Si no eres contratista o consultor, y parece que te cuesta mucho mantener un empleo, voy a ser bastante precavido. Si veo una creciente progresión de cargos, “mercenario” pasará por mi cabeza. Si veo que los movimientos son laterales (o peor, negativos) “manzana podrida” pasará por mi cabeza. De seguro, a veces esto ocurre por casos excepcionales debido a haber escogido malas empresas, pero trata de que eso se vea en el CV para no pensar lo contrario. Ortografía y Gramática. Es crítico que la ortografía y la gramática en tu CV esté perfecta. He visto postulantes con errores en el nombre de su dirección o de su escuela. Si esto no es tu fuerte, pídele a alguien que te revise el CV. Si bien se espera que los IT no sean maestros del lenguaje, igual debes preguntarle a alguien mas si está todo bien con tu CV. De hecho, saber cuando solicitar ayuda es una gran virtud de los grandes desarrolladores. Si te entrevisto y producto de eso yo quedo con la idea que tienes el sentido común y la humildad requerida para solicitar ayuda por tu CV, yo voy a quedar realmente impresionado. Quédate fuera del OIE (Oportunidades Iguales de Empleo) En U.S.A las compañías con mas de 10 empleados necesitan seguir las reglas OIE, que aseguran que no se puede discriminar o mostrar preferencias por un empleado basandose en su genero, edad, etnia, origen, religión u orientación sexual. Por lo tanto, hazme un favor y no exponga nada de este tipo de información en tu CV. En una entrevista presencial o por teléfono, algo de esta información saldrá ineludiblemente, pero nunca solicitaré esa información. No solo quiero mantener a mi empleador y a mi mismo sin problemas, si no que creo que lo de la OIE es importante. Puedo entender que muchos nombres están fuertemente correlacionados con etnia, religión o país de origen y los años en lo que estuviste en la universidad dan pistas de tu edad. Minimiza esto lo mayormente posible. Por favor no me digas nada acerca de tu religión, tu situación familiar, tu vida hogareña, tus padres, nada de ese tipo de información. No es que no me interese (de hecho, me encanta saber esas cosas de la gente contratada) pero no lo necesito ni quiero saber antes de que estés adentro de la empresa. Intereses extraprogramaticos, hobbies, logros y otras actividades. Me gusta ver este tipo de cosas, pero solo si son relevantes. Realmente no necesito saber que eres fan de tal equipo de fútbol. Pero si escribiste un pedazo de código que puede hacer algo entretenido con las estadísticas del equipo por diversión, me interesará saberlo. La gente que contribuye a proyectos open source tiene una gran calificación de parte mía, pero solo si se que ellos van a sentirse bien o confortables produciendo código propietario con herramientas propietarias (y sin meter nada GPL en mis codigos). Si bien, haber trabajado en un proyecto Open Source haciendo X es suficiente para abrirme el apetito, también muestra cierta tendencia a aprender cosas nuevas fuera de la oficina. No me hagas creer que a las 6 de la tarde apagas tu cerebro. Es decir que si no tienes motivación para estudiar algo nuevo para un proyecto externo que te interesa, nada me indica que tendrás motivación para aprender un proyecto de la compañía. Muestra tu geek interno (de a poco) Dame algo simpático de lo que podamos discutir durante la entrevista. Es decir, donde sea relevante, trata de mostrar cuan geek eres. Por ejemplo, menciona el hovercraft que hiciste con piezas de desecho. Pon algo de la teoría de juegos iterativa y evolucionaría que programaste en Lisp y que muestra que el equilibrio de Nash es una tontera. Dime algo acerca de tus tres victorias del campeonato de ajedrez. No quiero saber que memorizaste UHF o que tienes una colección de logos de compañías de computadores antiguas. Mucho de esto cae dentro de lo que era la sección anterior, pero es relevante. Me encanta trabajar con programadores los cuales aman la tecnología y usan sus cerebros. La gente así son simplemente mejores programadores. ¿Porque contrataría a alguien intelectualmente flojo para un trabajo intelectualmente demandante?. Tecnologías Oscuras o no mainstream. No estoy contratando programadores Lisp, prolog, Erlang. APL, scheme, Clipper, powerbuilder, elphi, Pascal, Perl, Ruby, Python (perdonenme por incluir esos 4 en la lista), Fortran, Ada, Algol, PL/1, Ocaml, F#, Spec#, Smalltalk, Logo, StarLogo, askell, ML, D, Cobra, B o incluso Cobol. Si los pones en tu CV, me gustará entrevistarte solamente para preguntarte unas pocas preguntas acerca de estos lenguajes. No lo digo en broma, como parte de mi identidad geek secreta, me gustan mucho los lenguajes y tecnologías oscuras. Se que varios de esos lenguajes son ocupados por programadores que están mas arriba del promedio en inteligencia y en experiencia. También proveen otras formas de ver los problemas. Si bien nunca trabajaras directamente con esos lenguajes en mi empresa, si usarás esas formas de pensar que te proveen esos lenguajes y nos darán algo de que hablar en tu primer día acá. Buena suerte. Aqui he dado mis mejores consejos. Puestos en perspectivan ayudarán a cualquier programador a escribir un CV perfecto y obtener una entrevista. Que es lo que crees que consigue una entrevista? si lees un CV como un reclutador, ve lo que te hace decir wow! o pfff!! cuando lo ves en un papel. Ejemplo CV Analista Programador

15
6
A
Aplicando POO en PHP para conectar a base de datos mysql
Hazlo Tu MismoporAnónimo11/2/2013

Lo que vamos a hacer es un código sencillo para conectar a una base de datos mysql, la cual nos evitara tener que repetir una y otra ves el mismo código en cada archivo. Utilizaremos el paradigma orientado a objetos y la extensión mysqli, no la extensión mysql vamos a explicar que es esto. APIs de PHP para acceder a las bases de datos de MySQL ¿Qué es una API? Una Interfaz de Programación de Aplicaciones (o API de sus siglas en inglés), define las clases, métodos, funciones y variables que la aplicación necisita llamar para realizar una tarea. En el caso de aplicaciones de PHP que necesiten comunicarse con bases de datos, las APIs necesarias normalmente son expuestas mediante extensiones de PHP. Las APIs pueden ser procedimentales y orientadas a objetos. Con una API procedimental se llaman a funciones para realizar tareas, con una API orientada a objetos se instancian clases y luego se llamana métodos sobre los objetos resultantes. De las dos, la última normalmente es la interfaz preferida, ya que es más moderna y conduce a un código mejor organizado. Al escribir aplicaciones de PHP que necesitan conectarse a un servidor de MySQL, existen varias opciones de APIs disponibles. ¿Que API elegir? PHP ofrece 3 APIs diferentes ellas son mysql, mysqli, y PDO, este ultimo es una capa de abstraccion. Esta es la recomendacion de PHP: Se recomienda usar las extensiones mysqli o PDO_MySQL. No se recomienda usar la extensión mysql antigua para nuevos desarrollos, ya que ha sido declarada obsoleta a partir de PHP 5.5.0 y será eliminada en el futuro. El rendimiento global de las tres extensiones se considera aproximadamente el mismo. Aunque el rendimiento de la extensión aporta solamente una fracción del total del tiempo de ejecución de una consulta web de PHP. A menudo el impacto es tan bajo como 0.1%. La extensión mysql es aquella que empieza con mysql_*. Por ejemplo mysql_select_db(), mysql_query(), mysql_real_scape_string(), etc. Yo usare para este post mysqli, la "i" al final significa improvement es decir es el mysql mejorado. Una de las ventajas es que me permite usar el estilo orientado a objetos. Para mas información miren la documentación: http://www.php.net/manual/es/book.mysqli.php Implementación El código no es muy complejo pero si se requiere tener por lo menos conocimiento de POO. Lo primero que haremos sera crear un archivo config.php donde definiremos constantes para configurar la conexión. config.php <?php define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PASS',''); define('DB_NAME',''); define('DB_CHARSET','utf-8'); ?> Esto es solo para evitar tener que navegar por todo el código para configurar nuestra conexión. Lo siguiente sera crear una clase que llamare modelo, servirá de plantilla para otras clases, tendrá un atributo que sera una instancia de la clase mysqli. modelo.php <?php require_once "config.php"; class Modelo { protected $_db; public function __construct() { $this->_db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); if ( $this->_db->connect_errno ) { echo "Fallo al conectar a MySQL: ". $this->_db->connect_error; return; } $this->_db->set_charset(DB_CHARSET); } } ?> En la primer linea incluimos nuestro archivo config.php. El constructor de esta clase iniciara la variable $_db la cual sera una instancia de mysqli. Podemos ver lo que significa que mysqli permite el estilo orientado objetos, ya que alguno de sus métodos son set_charset(), query(), prepare(),etc, también vemos que accedemos a un atributo connect_errno. Aplicación La idea es que crear clases que hereden de la clase Modelo, para poder heredar sus atributos($_db) y métodos(__construct). No solamente eso sino que para tener un código mas reutilizable, prolijo y fácil de mantener queremos que las clases realicen tareas especificas, lo que no queremos es código html en esta parte, ni código que se encargue de tareas que pueden hacerse luego, para ser mas específicos solo queremos usar código para traer, modificar, borrar, agregar datos a la base de datos. Por ejemplo tenemos un tabla usuarios en nuestra base de datos, crearemos un clase usuario que hará tareas referidas al usuario, como traer todos los usuarios, traer un usuario particular, borrar un usuario, editar un usuario, encontrar un usuario por id especifico, etc. usuariosModelo.php <?php require_once "Modelo.php"; class usuariosModelo extends Modelo { public function __construct() { parent::__construct(); } public function get_users() { $result = $this->_db->query('SELECT * FROM usuarios'); $users = $result->fetch_all(MYSQLI_ASSOC); return $users; } } ?> Por simplicidad solo cree un método get_users() que como verán solo devuelve un array y nada mas, esta porción de código es muy probable que se use en varias partes y si tenemos que cambiar algo lo haremos en un solo lugar. Cuando hagamos new usuariosModelo() este llamara al constructor de su padre que ya comentamos que es lo que hace. La herencia nos permite tambien acceder al atributo $_db que, vuelvo a repetir, es una instancia de mysqli por lo tanto podemos hacer uso de su metodo query y fetch_all que nos devuelve un array con los resultados obtenidos por la consulta colocada en query. Ok entonces yo tengo un archivo que tiene que mostrar todos los usuarios, ¿como uso el código anterior? de la siguiente forma index.php <?php require_once "usuariosModelo.php"; $usuarioModel = new usuariosModelo(); $a_users = $usuarioModel->get_users(); ?> <!DOCTYPE html> <html> <head> <title>Usuarios registrados</title> </head> <body> <table > <tr> <td> Id </td> <td > Nombre </td> <td> Correo </td> </tr><!-- /THEAD --> <?php foreach ($a_users as $row): ?> <tr> <td><?php echo $row['id']; ?></td> <td><?php echo $row['nombre']; ?></td> <td><?php echo $row['correo']; ?></td> </tr><!-- /TROW --> <?php endforeach ?> </table> </body> </html> El código anterior luce muy simple! son prácticamente dos lineas de php las que hacen todo el trabajo sucio, lo que queda es solo mostrar los datos con un foreach. ¿Que ventaja nos trae esto? Si tuviésemos un problema revisaríamos el método get_users(), que si lo hemos probado bien y funciona entonces pasaríamos a ver si la conexión es el problema. Si hubiéramos creado un solo archivo tendríamos que navegar entre varias lineas para identificar el problema, peor si tenemos el mismo problema en varios archivos deberíamos corregir en cada uno, demasiado mantenimiento! Tener el código bien divido en partes nos permite concentrarnos en un problema particular, probarlos y verificar que funcionan, corregir fácilmente errores. Reusabilidad. La clase usuariosModelo y Modelo tienen métodos que seguro se usaran en otros archivos ya no es necesario copiar un montón de código para hacer siempre lo mismo. Bueno quiza no explique mucho sobre mysqli, pero la documentación esta en las referencias. Quizás haga otro post sobre mysqli aunque sobre este también hay mucha información. Espero que les sea de utilidad saludos!

194
0
Javascript - DOM for dummies
Javascript - DOM for dummies
Hazlo Tu MismoporAnónimo2/8/2014

Vamos a realizar un pequeña practica en Javascript para manipular el DOM. Lo único que necesitas es un conocimiento basico de HTML, CSS y Javascript. La idea es implementar una pequeña aplicación que registre un dato y lo imprima en pantalla en forma de lista. Básicamente esto es lo que queremos: Simple cuando hagamos click en el botón, lo que sea que este en el campo de texto, se agregara a la lista. En el área derecha tomaremos el dato y en el lado izquierdo se lo mostraremos al usuario. Implementando la Interfaz Necesitamos un div que centre el contenido, dentro de el dos columnas, una para el formulario y otra para mostrar la lista. Este el código HTML: Veamos ahora como estilizamos este contenido con el CSS: Bastante sencillo, hasta aquí.La font Open Sans es una font de Google, para usarla deben incluir esto: [color=#000000] <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> [/color] Implementacion Javascript Lo primero que tenemos que hacer es obtener los elementos HTML, el campo de texto, que contendra el dato ingresado y el botón, al cual le asignaremos un evento o una tarea para cuando este sea clickeado. Este código no funcionara en IE, porque no estoy usando attachEvent, pero tu puedes completar esta tarea. La función cargarElemento es la siguiente: En elementData almacenamos el valor contenido en la caja. Creamos un elemento HTML li, donde luego agregaremos elementData, y luego a li lo agregaremos al elemento ul donde formamos la lista. Acá el código javascript completo: Eso es todo espero que les sirva como practica, pueden completarlo verificando que el dato no sea vacio y agregar una opcion para poder borrar un elemento de la lista. ¿Por que no usaste jQuery? No use jQuery porque para este caso no es necesario. El código si bien no funcionara en IE, se puede crear una función que trabaje con addEventListener o attachEvent dependiendo del navegador. Demo

41
1
Restar fechas en PHP
Restar fechas en PHP
Hazlo Tu MismoporAnónimo7/1/2014

Para proceder a restar dos fechas en PHP podemos usar funciones en forma procedural o usar el estilo orientado a objetos. En este post me inclinare por el segundo. La documentación sobre este tema se encuentra aquí: http://ar2.php.net/manual/en/book.datetime.php En la documentación se pueden ver las funciones (para el que use procedural) y 5 clases (DateTime, DateTimeImmutable, DateTimeZone, DateInterval, DatePeriod) mas una Interface (DateTimeInterface). Preparando el terreno Primero vamos a crear una instancia de la clase DateTime. $date = new DateTime(); Al hacer esto por defecto DateTime usa la hora actual. Pero para asegurarnos de que esta se la hora de nuestro pais vamos a definir el time zone: $date = new DateTime(); $date->setTimeZone( new DateTimeZone('America/Buenos_Aires')); Observen que el método setTimeZone recibe un objeto DateTimeZone. La lista de time zone soportados esta aqui (todo en la documentación): http://ar2.php.net/manual/en/timezones.php Ok para ver todo esto en pantalla no podemos hacer un echo asi de simple porque tratamos con un objeto y echo no imprime objetos en pantalla. Debemos usar format, metodo de la clase DateTime: echo $date->format('Y-m-d H:i:s'); Format recibe un string donde Y m d H i s son símbolos que representan el formato. No explore mucho esto pero aqui mas información: http://ar2.php.net/manual/en/datetime.formats.php Quiere decir que si quisiéramos poner las fechas en el orden dia/mes/año pondríamos el string 'd/m/Y'. Noten que no use - sino /. Tampoco incluí el tiempo 'H:i:s' por lo cual en pantalla ser veria solo la fecha 01-07-2014. Restar fechas Para restar usaremos diff. Los metodos diff y format provienen de la interface DateTimeInterface pero se implementan en DateTime como pueden observar aqui: http://ar2.php.net/manual/en/class.datetime.php $date = new DateTime(); $date2 = new DateTime('2014/06/27'); $date->setTimeZone( new DateTimeZone('America/Buenos_Aires') ); $interval = $date->diff( $date2 ); echo $interval->format('%a dias'); Esto es hoy 01/07/2014 menos 27/06/2014, si ejecutamos el código anterior debería darnos 4 dias. Cuando usamos el metodo diff este nos devuelve un objeto DateInterval. En los metodos de date interval tambien tenemos un metodo format pero este tiene una implementacion diferente que en la clase DateTime. Aqui los caracteres de formato van precedidos de %. Mas info: http://ar2.php.net/manual/en/dateinterval.format.php Si quisiera la cantidad de meses resultantes al restar dos fechas usaríamos el caracter de formato %m. Si resto 01/07/2014 - 30/06/2014 el resultado en meses sera 0, si resto 01/07/2014 - 27/05/2014 el resultado sera 1.

15
3
S
Sencillo sistema de comentarios en PHP
Hazlo Tu MismoporAnónimo11/28/2013

En mi anterior post mostré una forma sencilla de aplicar POO para hacer una conexión a base de datos y una forma para poder organizar nuestro código, en este post mostrare como podemos tomar esta idea para hacer un sistema de comentarios muy muy sencillo. Voy aclarar algunas cosas antes de seguir. Se pretende ver como podemos estructurar nuestro proyecto en base a lo publicado en el post anterior. Ademas esta no es la única forma de hacerlo, esto solo es una guía para aquellos que recién empiezan. Si ya usas framework o eres un profesional seguramente ya debes tener tu forma de organizar tus proyectos, si quieres compártela Organizando carpetas core: Colocaremos los archivos model.php y config.php includes: Nuestros helpers libs: Aqui dentro iran las librerias que utilicemos en el proyecto. models: Aqui pondremos todos los modelos. Las clases que manipularan los datos. public: css y js Diseñando la interfaz de usuario Crearemos un archivo index.php donde diseñaremos nuestro template para el sistema de comentarios: "container" centrara nuestra pagina y "form_container" y "coments_container" contendran al formulario y a los comentarios respectivamente. Nota que estoy usando Google Fonts para estilizar la fuente. A continuación el archivo coment_style.css que debera crearse en public/css/ No hay mucho que decir sobre los estilos creo que hasta aquí todo sencillo. Si todo fue bien debería quedarnos algo así. Implementacion PHP Nuestro diseño de base de datos sera simple, solo una tabla llamada db_comentarios con dos atributos db_id(Interger Autoincrement) y db_comentario(Text). La implementación de Config.php y Model.php ya la analizamos en el post anterior. Resumiendo un poco, config es la configuración del proyecto y model es nuestra plantilla que nos proporcionara la conexión para cada modelo. Model podría hacer mas que solo darnos la conexión también podríamos implementar una capa de abstracción de base de datos, como esta: https://github.com/ajillion/PHP-MySQLi-Database-Class Config.php y Model.php deben ir en core/ Config.php Model.php Ahora si vamos a crear nuestro modelo de comentarios. Aquí pondremos todos los comportamientos típicos de los comentarios, en este caso solo tenemos que agregar un comentario y mostrar todos los comentarios. Si extendiéramos un poco mas el ejemplo podríamos agregar editar, borrar. Como dijimos este modelo debe heredar de Model. Usamos la extensión mysqli no mysql pues esta ultima ya esta obsoleta. Noten que mysqli ya trae un consigo método para evitar inyecciones SQL. Si aun no manejas mysqli te recomiendo estas lecturas: http://www.pontikis.net/blog/how-to-use-php-improved-mysqli-extension-and-why-you-should http://codular.com/php-mysqli http://php.net/manual/es/book.mysqli.php Esto es lo que logramos con Model y comentariosModel representado en UML Ok ya casi terminamos, abramos el archivo index.php comentariosModel tiene todos los métodos que necesitamos. Podríamos separar esta vista en dos partes, por un lado mostramos los comentario y por el otro registramos un comentario. Para mostrar los comentario hacemos uso de get_coments() de la clase comentariosModel, el cual nos devuelve un array asociativo, esto es un array cuya clave es el atributo de la tabla de base de datos. Si la longitud del array es menor que 0 no tiene nada, sino es asi significa que nos trajo comentarios y por ende debemos mostrarlos. htmlspecialchars() nos ayudara a evitar ataques XSS es decir codigo HTML y Javascript malicioso. nl2br() Devuelve el parámetro string con un '<br />' o '<br>' insertado antes de cada nueva línea. (rn, nr, n y r). O sea respetara los saltos de linea. Por otro lado tenemos que ingresar comentarios para ellos tenemos un formulario donde el usuario ingresara su comentario y cuando lo envie (click en enviar) lo recibiremos en la misma index.php if( count($_POST) AND trim($_POST['user_coment']) != '' ) { $comentariosM->add_coment($_POST['user_coment']); } Cuando el usuario haga click en "comentar", $_POST contendrá su comentario por lo que count($_POST) sera true y si ademas no esta vació ( $_POST != '' ) entonces agregaremos su comentario. trim() nos evita que el usuario nos ingrese un comentario lleno de espacios sin contenido alguno. Verán que en form estamos haciendo echo BASE_URL esta constante esta definida en Config.php y debe contener su dirección base, en mi caso era http://localhost/Estructura_1. Con esto nos evitamos problemas al direccionar URLs, no confundir con direcciones de directorios que son los que usamos en require e include. Noten que hicimos una serie de require que terminan permitiendo a index.php acceder a BASE_URL que viene de Config.php. Demo http://seminariocu.96.lt/TP/ Espero que les sirva saludos!

164
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.