Buscar este blog

Translate

Mostrando entradas con la etiqueta aprender. Mostrar todas las entradas
thumbnail

Programacion Python Para Informaticos II PARTE





Hola hoy he vuelto a hacer otro vídeo, que es una acontinuación del anterior "Python para informáticos" dejo por aquí los 2 Scripts que he utilizado:

Primer Script:

palabra="solo son palabras"

for x in xrange(5):
    print x

Segundo Script:

def muestra():
    print "hola mundo"
    print "hola mundo2"

x=0;

while True:
    muestra()
    x=x+1

Pues nada espero que os sean provechosos mis clases de Python, un saludo y hasta la próxima
thumbnail

Programacion Python Para Informaticos I PARTE




Hola he hecho un pequeño video tutorial de python, por aquí dejo el código de mi clase, espero que les sirva y aprendan algo:

print "Dime tu edad"
try:
    x=int(raw_input())
    print "Estas emancipado(1 o 0)"
    e=int(raw_input())

    if x<18 and e!=1:
        print "Eres menor"
    elif x>18 or e==1:
        print "Eres mayor o estas emancipado"
    else:
        print "Eres mayor y puedes beber"
except:
        print "has cometido un error"

Si queréis dejarme tu opinión o alguna sugerencia, me lo podéis dejar en los comentarios, un saludo y hasta la próxima.
thumbnail

Cómo Trabajar con String y Comprobar Caracteres en Java




Hola, hoy me he encontrado con un suscriptor de México, país del cual más del 60% de mis visitantes vienen de allí, pues eso me voy por las ramas. Lo que voy a explicar hoy es lo básico sobre la clase String y cómo podemos comparar vocales entre otras cosas curiosas de la clase String.

Debo de decir antes de nada que en Java no hay punteros y si queremos clonar una variable String, la forma correcta de hacerlo es la siguiente.

String str = new String ("palabra");
String str2 = new String (str);

Sí queremos comparar cadenas de texto esto se hace con la clase equals, es decir:

if(str.equals(str2)){
                // Son iguales
}else{
                //No son iguales
}

Sí queremos hacer un Split , es decir convertir una serie de caracteres en array lo hacemos así
String[] arrStr= str.split();


for( int i=0; i<arrStr.length(); i=i +1){

                if(str.equals("a")){
                                // Son iguales
                }else{
                                //No son iguales
                }
}

Pues esto es lo básico para empezar a trabajar con String si queréis usar menos memoria y ser más eficientes, podéis usar charAt concatenado con "" pero ese trabajo de investigación, os lo dejo a vosotros .
Un saludo y hasta la próxima.
thumbnail

Que Es Un Contenedor De Nivel Superior En Swing Java




Hola, aquí estoy de nuevo con otro post para mi blog, y esta vez voy a hablar de interfaces gráficas, en concreto lo voy a hacer con los contenedores en Java. Decir que esto se aplica a swing que es el que yo estoy estudiando.
Los contenedores de nivel superior son aquellos los cuales derivan en la jerarquía de clases de Java, de window, que representa la ventana típica, y ya imagino que puedes saber a cuales me prefiero. Por aquí te lo dejo:
  • JFrame o ventana: suelen usarse para representar formularios con título, y contiene botones de maximizar, minimizar y cerrar.
  • JDialog o diálogo: formularios que se emplean para solicitar información, puede ser modal o no, modal significa que no te deja cambiar de pantalla.
  • JApplet: Ventana que ejecuta una aplicación java en el contexto de una página web. debido a los problemas de seguridad que contaba , cada vez está en más desuso

Y hasta aquí los contenedores superiores de Java, espero que hayan aprendido algo, y nada si quieres ponerte en contacto conmigo, tienes el formulario de la derecha, o los comentarios. Un saludo y hasta la próxima.
thumbnail

Que son las Pruebas Alfa y Pruebas Beta




Hola en este post voy a explicar que son las pruebas Alfa y las pruebas Beta, ya que es algo que me lo preguntan tanto estudiantes de programación, como informáticos en general, entre otras cosas porque es el pan de cada día, si trabajas con Linux o con ciertas versiones de software muy nuevas.
Las pruebas tanto Alfa como Beta son pruebas de aceptación, es decir se llevará a cabo cuando integremos todos los módulos o pequeños programas que está compuesta nuestra aplicación, una vez hecho esto, pondremos a trabajar el software, primero en un lugar de trabajo de la empresa de software,  y luego en el ordenador del cliente.

Cuando probamos el programa final en un entorno seguro con programadores y desarrolladores, a esto se les llama pruebas Alfa. Cuando lo prueba el cliente posteriormente, ya depurado el programa, en su puesto de trabajo, aunque inacabado el programo debido a que no estará libre de errores, a esto se le llama pruebas beta.

Pues nada hasta aquí mi post de hoy, la verdad me cuesta escribir todos los días contenido debido a que es fecha de exámenes, pero al menos hago 2 o 3 post a la semana, sí queréis más información, podéis escribirme en el formulario que está a la derecha o déjamelo escrito en los comentarios. Un saludo y hasta la próxima.
thumbnail

Apuntes JUnit II; Aserciones




Hola, estoy aprendiendo Junit, y otro de los puntos de Junit interesantes son las asserciones, estas características se ven si usas un IDE gráfico como NetBeans o Eclipse, también vale IntelliJ IDEA o cualquier otro, mientras tengamos en orden el tema de declarar JUnit, sin más voy a mostrar los pasos para que funcione:


import org.junit.Test;

public class ejemplo1{
            @Test
            public void voidTest(){
                             assertEquals(boolean esperado, boolean actual);
                             assertTrue("Esto es un éxito", true);//
                             assertTrue("Esto es un fracaso", false);

                             assertFalse("Esto es un éxito", false);

                             assertFalse("Esto es un fracaso", true);

            }
                                    
}


Con estp paso al siguiente tutorial, espero que mañana esté hecho el siguiente, también basado en JUnit, sin más me despido, hasta el siguiente tutorial.














thumbnail

Apuntes JUnit I; Primer paso




Hola por aquí muestro mi test con JUnit, y los primeros pasos, para hacer estos pasos es recomendable tener instalado la versión JDK 1.7 o 1.8, además de tener un IDE como NetBeans (el que yo uso) o Eclipse, en caso de que queramos usar la última versión de Junit, bastará con que la busquemos en GitHub y la importemos.

import org.junit.Test;

public class ejemplo1{

            @Test
            public void voidTest(){
                             System.out.println("Primer test llevado con éxito");
            }
                                    
}

Pues nada hasta aquí mi tutorial de Junit, espero que hayan aprendido algo, y nada hasta la próxima.
thumbnail

Que Es El Watchdogs En Informática?




Hace unos días me estaba leyendo un libro en Amazon bastante recomendado sobre la programación en C de Pic o microcontroladores. Uno de entre los muchos conceptos que aparece en este libro es el watchdogs o perro guardián.

Esta palabra no es la primera vez que me la encuentro pues yo soy fan del videojuego de hackers que lleva este mismo nombre, pese al chasco de la segunda entrega que aún no sé cómo pasar de nivel, no aparece nada.

Watchdogs es en los microcontroladores y microprocesadores el dispositivo de software y/o hardware que se encarga de que el sistema funcione correctamente. En el caso de que no funcione bien este se apagará, y dejara un fichero de texto en algún sitio con el fallo que ha dado.



En los PCS normalmente o no se sabe dónde está ese fichero o sólo tiene acceso el fabricante, evidentemente en mis 7 años trabajando en una empresa de informática, ya tenía más que claro, que era lo que fallaba en el sistema, tanto de software como de hardware, aproposito el famoso pantallazo azul de la muerte está relacionado con el watchdogs de un PC.

Pues nada, hasta aquí mi comentario de hoy, si os ha gustado podéis compartir mi enlace en redes sociales, o si queréis dejarme un mensaje, también me lo podéis dejar, muchas gracias por leer este artículo hasta el final, espero que os haya gustado, que hayáis aprendido algo, y nada, hasta la próxima.
thumbnail

Tendencias De Software: Alquiler, Servicios Freemium y Premium





Desde que estoy en el mundo de la informática el negocio de los ordenadores no me ha dejado de sorprender, allá por el 2003 recuerdo que la gente crackeaba los programas en virtud de la libertad que el software propietario no dejaba, con el tiempo esos piratas se fueron yendo al mundo open source, y Linux, los que querían hacer algo de negocio con su trabajo se escudaban en la licencia LGPL que permitía la convivencia entre los 2 mundos , un mundo libre que estaba mal visto cobrar por tu trabajo, y un mundo de software cerrado donde estaba mal visto lo contrario, no cobrar. Bill Gates en su día llego a decir que quiénes no usaban software propietario era comunista.




Pues bien hoy quiero compartir 2 modelos de negocio que aunque pueda parecer una bobada, se están poniendo de moda, y es el alquiler de software que tiene como principal precursor adobe con su plataforma cloud, que va dirigido a freelancers o autónomos, en los cuales alquilan la plataforma por mes, previo pago por tarjeta de crédito. Es un modelo bastante curioso por el cual en su día muy poca gente confiaba que fuese viable y ha resultado ser muy exitoso para la compañía.

El modelo freemium y premium son modelos que utilizan la mayoría de las apps, Spotify o fornite que consiste en dar una aplicación funcional recortada de funciones, pero que se les puede añadir funciones o quitarle publicidad comprándolo en la propia aplicación.

Estás son las tendencias principales del software, la verdad es bastante curioso y quería compartirlo en mi post diario, sin más me despido, un saludo y hasta la próxima.
thumbnail

Cómo Instalar Correctamente Aplicaciones en Linux




Hoy se me apetecía hablar en m post diario, un tema un tanto recurrente, que me lo veo cuando quiero instalar alguna utilidad o programa vía Git o binarios en Linux, ya sea Ubuntu, Debian o SuSe, y es el tema de la instalación, muchos tutoriales aparecen descargarse nuestro programa en el escritorio o en la carpeta raíz de nuestro usuario, y siento decíroslo, pero así está muy mal hecho.

 /opt

Para quiénes no lo sepáis linux cuenta con una carpeta especial, dedicada a que nosotros instalemos los binarios de GitHub en esta carpeta y operemos a través de ella, llamada /opt, en esta carpeta nosotros podremos crear la carpeta del programa en cuestión y operar con él. Es decir sería algo así

cd /opt
mkdir programa
cd programa
<comando github o wget>
<descomprimimos>
cd ..
chmod -R 777 programa

Para añadir un script que opere en nuestro sistema basta con crear un script en /bin, por ejemplo script, con lo siguiente

!#/bin/bash
echo $1
echo $2
./opt/programa/prog.o $1 $2

Con esto creamos nuestro programa y script para arrancarlo, pues nada hasta aquí mi post de hoy, si os ha gustado lo podéis compartir y si tenéis una opinión o algo, me lo podéis dejar en los comentarios, chao.
thumbnail

(Arduino) Mostrar letras en Rich Shield de OPEN SMART




Hola, hace poco, en concreto hoy, me ha mandado un suscriptor, una tarea, y es que no conseguía mostrar letras en la pantalla de Rich Shield de OPEN SMART, este código que voy a hacer es muy básico, más abajo pongo los enlaces, ya que todo este código tiene un trabajo y evidentemente no ha salido en 3 horas, de mi cabeza, voy a modificar los archivos de ejemplo de RichShieldTM1637.h y RichShieldTM1637.cpp, no os olvidéis de hacer copias de seguridad, un saludo.


Edito "RichShieldTM1637.h"

 void TM1637::displaySegments(uint8_t BitAddr,int8_t SegData);


Edito:  "RichShieldTM1637.cpp"

void TM1637::displaySegments(uint8_t BitAddr,int8_t SegData)
{
start(); //start signal sent to TM1637 from MCU
writeByte(ADDR_FIXED);//
stop(); //
start(); //
writeByte(BitAddr|0xc0);//
writeByte(SegData);//
stop(); //
start(); //
writeByte(Cmd_DispCtrl);//
stop(); //
}

El código que usé ha sido este:

#include <Wire.h>
//#include "RichShieldKEY.h"

#include "RichShieldTM1637.h"
#define CLK 10//CLK of the TM1637 IC connect to D10 of OPEN-SMART UNO R3
#define DIO 11//DIO of the TM1637 IC connect to D11 of OPEN-SMART UNO R3
TM1637 disp(CLK,DIO);


int count = 0;
#define SIMBOLO_A 0b01110111            //  A
#define SIMBOLO_a 0b01011111            //  a 
#define SIMBOLO_b 0b01111100            //  b
#define SIMBOLO_C 0b00111001            //  C
#define SIMBOLO_c 0b01011000            //  c
#define SIMBOLO_d 0b01011110            //  d
#define SIMBOLO_E 0b01111001            //  E
#define SIMBOLO_F 0b01110001            //  F
#define SIMBOLO_G 0b00111101            //  G
#define SIMBOLO_g 0b01101111            //  g
#define SIMBOLO_H 0b01110110            //  H
#define SIMBOLO_h 0b01110100            //  h
#define SIMBOLO_I 0b00110000            //  I
#define SIMBOLO_i 0b00010000            //  i
#define SIMBOLO_J 0b00011110            //  J
#define SIMBOLO_L 0b00111000            //  L 
#define SIMBOLO_N 0b00110111            //  'N' o 'M'
#define SIMBOLO_n 0b01010100            //  n 
#define SIMBOLO_O 0b00111111            //  O (0)
#define SIMBOLO_o 0b01011100            //  o  
#define SIMBOLO_P 0b01110011            //  P
#define SIMBOLO_q 0b01100111            //  q
#define SIMBOLO_r 0b01010000            //  r  
#define SIMBOLO_S 0b01101101            //  S (5)
#define SIMBOLO_t 0b01111000            //  t 
#define SIMBOLO_U 0b00111110            //  U 'V' 
#define SIMBOLO_v 0b00011100            //  v 
#define SIMBOLO_Y 0b01101110            //  Y  
#define SIMBOLO_Z 0b01011011            //  Z (2)
void setup()
{
  disp.init();//The initialization of the display
 // disp.display(count);//display counter number
 disp.set(2);
// disp.displaySegments(0, SIMBOLO_T);
 disp.displaySegments(1, SIMBOLO_O);
 disp.displaySegments(2, SIMBOLO_v);
 disp.displaySegments(3, SIMBOLO_Y);
  // disp.display(74, 6f, 6d, 79);
   
}

void loop()
{
  
  
  delay(50);//
}


Pues nada Viren Sibaja la verdad me ha encantado hacer esto, espero que te haya servido, y nada que lo disfrutes, la verdad esta placa a mi me encanta. Ya sabéis si tenéis algún "reto" o algo que os gustaría hacer con Rich Shield, podéis dejármelo en los comentarios

FUENTE
https://github.com/inopya/display_4digitos_TM1637/blob/master/libreria_modificada_TM1637/TM1637.cpp

thumbnail

El mejor hosting para tu proyecto de universidad o instituto




Hola en esta ocasión vengo ha hablar acerca de un tema bastante interesante, y es acerca de los trabajos de universidad o de instituto, que son proyectos, los cuales no dejan de ser pruebas para aprender las nociones de programación web, pero a la vez no debemos quedar en ridículo ante el profesor.

Debo decir que para montar un servidor desde tu casa, basta con buscar el servivio no-ip, y montas tu propio servidor web, desde el nodo de tu casa.

Ante esto existen varios hostings, los cuales los buscadores prácticamente no sirven, ya que la mayor parte de los que aparecen en los primeros resultados son recomendaciones pagadas, por las diferentes empresas a través de AdSense además de ser empresas que son caras y muy profesionales para un trabajo de universidad. Por ello aquí voy a dejar un hosting el cual es barato, recortado eso sí, el cliente no puede descargar lo que quiera, ya que sino el servidor deja de funcionar. Así es cuando has descargado una determinada cantidad de gigas el server deja de funcionar.

El hosting se llama hostinger, la verdad es bastante bueno y creo que os puede servir y ser de utilidad, a la hora de montar vuestro servicio web orientado a vuestro instituto, pues nada hasta aquí mi post de hoy, espero que os haya gustado, que os haya servido y sin más medespido, hasta la próxima, chao.
thumbnail

¿Qué es un CRM? ¿Lo Nececesita Mi Empresa?




Hoy en mi Post voy a hablar de los CRM o Gestores de Relaciones de Clientes, es un software web  que permite centralizar las necesidades de la empresa, ahí están guardados desde el historial de pedidos, empleados, click en productos, etc.

A aquí te adelanto desde ya que si eres una PYME o una gran empresa, a partir de 50 trabajadores, vas a necesitar un CRM para impulsar tu negocio e impulsar tus ventas. Puedes consultar a las empresas que han implementado estos sistemas, verás que todas han mejorado y optimizado sus recursos, usando estos sistemas.

A nivel técnico son aplicaciones con unos algoritmos muy avanzados, algunos permiten la integración de códigos como Machine Learning, como por ejemplo BPMonline, y otros pero permiten la integración y automatización con Bases de datos más antiguas, y opciones de retro compatibilidad con Vtiger.

La mayoría de los CRM cuentan con una serie de módulos básicos para empezar a funcionar

Los CRM son un software, que generalmente corriendo en la nube que permite gestionar estas 3 áreas básicas:

  • La Gestión Comercial: Determina cuántos clientes están interesados en el producto.
  • El Marketing: Determina si un cliente está interesado en el producto y si hay productos similares donde el cliente ha dado click y está interesado.
  • Atención al cliente: Permite tener controlado los clientes para ofrecerles nuevos productos y el servicio post-venta.



Para contratar a un CRM, lo puedes instalar descargándote la versión gratuita típicamente GPL y con opciones limitadas, o puedes contratarlo en una empresa con altas expectativas de futuro e internacional como es TicTop Sales, en esta compañía vas a contar con un equipo altamente profesional y multicultural, donde vas a poder resolver tus dudas, problemas y con un equipo altamente instruido en CRM, apps de Android y otras disciplinas de Software.

Pues nada hasta aquí mi post de hoy, si queréis podéis seguirme por mis redes sociales, mi RSS está al final de mi blog, y si queréis podéis dejarme un un comentario aquí abajo sin más aquí mi post, un saludo.




thumbnail

¿Que es un compilador? ¿IDE? ¿Lenguaje intermedio?




Hola, en este pequeño post voy a definir qué es y para qué se usa un compilador, y qué diferencias hay entre un lenguaje como C, que es compilador, con HTML que es interpretado, o mixtos que con son Java o C#, ya que es algo básico conocerlos, si se quiere empezar a programar.

Un lenguaje de programación compilado, es un lenguaje a alto nivel, parecido a la sintaxis del lenguaje humano, lo que hace el compilador es traducir este lenguaje a ensamblador, y a idioma máquina que es el que entiende el ordenador. Un ejemplo de lenguaje compilado es C o Visual Basic 6.0.

Un lenguaje de programación interpretado, son lenguajes que se escriben en un determinado lenguaje como HTML o CSS, y es en el caso de estos 2 lenguajes, el navegador web el que se encarga de interpretarlo, generalmente aparece todo el código en texto plano, y se puede empezar a programar con un editor de texto como Notepad, Atom o Brackets.

Un lenguaje de programación mixto, son lenguajes que son en parte compilados y en parte interpretados,  software "intermedio" siendo necesario  para que funcione software "extra" como la máquina virtual de Java. C# aunque tiene una sintaxis bastante parecida a Java, es de Microsoft, y muchas de las funciones están dentro del sistema Windows, lo que lo hace más rápido que Java.

Un compilador, es una herramienta de programación encargada de convertir el código fuente (texto) en bits y lenguaje máquina que es el que entiende. Normalmente a día de hoy los editores de texto donde se escribe en código fuente, los textos aparecen resaltados en colores, llevan integrados el compilador, etc. a estos se les llama entornos integrados (IDE), y el ejemplo más práctico de ello es CodeBlocks, o Arduino IDE, que son potentes IDE para C y Arduino.

Pues nada hasta aquí mi artículo de hoy, espero que os haya gustado, hayáis aprendido algo, y si tenéis algo que decirme, tenéis los comentarios, un saludo y hasta otra.
thumbnail

El Fracaso De Linux En Escritorio




Hoy vengo con un tema un tanto diferente en mi blog, los que me seguís de hace tiempo, sabréis que mi contenido lo enfoco a enseñar, tutoriales, y poco más, pero hoy quiero dar mi opinión sobre un tema que se ha puesto de moda, y es ¿ Porqué Linux no ha triunfado de forma rotunda en escritorio como lo ha hecho en IoT, Raspberry, modems, cámaras, o servidores?

Las razones por la que este sistema operativo no ha triunfado, aunque si lo ha hecho en otras plataformas es algo complejo, entre otras cosas porque en el desarrollo de Linux reina la anarquía y, prácticamente los desarrollos con programadores Juniors y otros programadores altruistas siempre va a ser de naturaleza caótica, por mucha jerarquía que traten de poner.
Las razones que yo he leído, han sido que en Linux de escritorio ha sido un sistema que cada desarrollador programaba por su cuenta, y de esto se divide en varias interfaces gráficas y que, básicamente la diversidad  mata a la diversidad. Estando yo de acuerdo en el único punto que los sistemas operativos o distribuciones sería más fácil si hubiera solo una y además estándar, lo cierto es que los tiros no van por ahí.

La razón que yo pienso que Linux no se ha puesto de moda es precisamente por su núcleo, si miramos un poco el Kernel de Linux, es un núcleo por capas o monolítico, es decir para emplear el sistema con los diversos suyos hay que compilar módulos (que además no son facilitados en su mayoría por el fabricante, sino por trabajadores del Kernel). Windows sin embargo, es un microkernel, y en él se puede instalar cualquier programa, cualquier driver que sea compatible con el sistema operativo sin complicaciones.

Creo que una de las razones por la que no ha llegado a triunfar Linux en escritorio, es que mientras Raspberry o Android los fabricantes compilan el núcleo para el hardware, no pasa lo mismo en escritorio, donde hasta hace pocos años los PC eran clónicos, y los de marca o no ofrecían un soporte bueno de Linux, o no traían el núcleo compilado de fabrica, o simplemente seguían con el mismo problema de siempre, que Linux no permite una webcam o impresora, instalada con la misma facilidad que Windows.

Pues hasta aquí mi opinión de hoy, yo espero que os haya gustado, que haya sido de interés, y nada si queréis que comenté más noticias de actualidad, me lo podéis decir en el formulario o en los comentarios.
Un saludo

Sponsor

Popular Posts

Con la tecnología de Blogger.