@Bucio: @shocobeat Nop de tuxtla gtz pero tengo familia en tapa

Archivos de ‘Desarrollo de Software‘

 
 

Servidor HTTP y subdominios virtuales

En la clase de redes se dejo instalar un servidor HTTP (apache), con diferentes subdomnios (3 para ser exactos). Lo primero que se hizo fue instalar el servidor Apache en una distribución GNU/Linux,  (como instalar apache), hay dos formas mediante un apt-get y compilando eso depende de cada uno y el tiempo.

Ya instalado el servidor Apache, checamos que esté funcionando entrando a la siguiente dirección localhost/ si sale un IT WORKS, el servidor esta trabajando. en caso que no podemos teclear desde la terminal.

/etc/init.d/apache2 start

Esto hace que el servidor apache encienda por así decirlo.  Lo siguiente es agregar los subdominios, en la terminal nos situamos en la carpeta  /etc/apache2/sites-available/, desde la terminal.

cd /etc/apache2/sites-available/
Dentro de la carpeta se crearan los .conf de tus subdominios o dominios, hay uno por default, con el nombre de default.
Pero antes debemos tener donde guardar los dominios, en esté caso  cree unas carpetas dentro de /var/www/.
[  root [at] eva:/var/www#   ]
> ls
ids1
ids2
ids3
index.html

El comando para crear una carpeta es mkdir.
Ya creados los tres o x subdominios empezamos con la configuración dentro de /etc/apache2/sites-available, el primer dominio que tube que crear  se llama 1.http5.ids.com, entonces lo guarde en un archivo de esta forma 1.http5.ids.com.conf, el cual tiene esté contenido.

< VirtualHost  1.http5.ids.com >
ServerAdmin http5@ids.com
ServerAlias www.1.http5.ids.com
DocumentRoot /var/www/ids1
ScriptAlias /awstats/ /usr/lib/cgi-bin/
CustomLog /var/log/apache2/example.com-access.log combined
< / VirtualHost >

Pueden crear más ficheros, dependiendo cuantos directorios para subdominios tengas. Ahora solo falta añadir al /etc/hosts, para que sea leido. (nano /etc/hosts)

127.0.0.1     localhost    http5.ids.com www.http5.ids.com
127.0.0.1     localhost    1.http5.ids.com
127.0.0.1     localhost    2.http5.ids.com
127.0.0.1     localhost    3.http5.ids.com

De esta forma los subdomnios fueron añadidos.. después solo queda habilitar los dominios que seria de esta forma

a2ensite 1.http.ids.com.conf

Listo solo queda reiniciar el servidor apache.

/etc/init.d/apache2 restart

El último paso que queda sería asignarle la ip ala maquina la cual solo con el ifconfig basta.

ifconfig eth0 192.168.200.2

Y creo que sería todo para la practica… bueno se aceptan comentarios o aportaciones :D

Compilar Java desde la terminal

En la universidad estamos cursando la materia de POO  (Programación Orientada a Objetos), por lo cual veremos Java, el D.R. Pimentel dejo un pequeño script, el cual sería compilado desde la consola/terminal/cmd… uno muy básico que devuelve unos parámetros, lamentablemente yo había reinstalado mi debian y así que no me acordaba que no podía compilar (cómo no uso java y lo odio pero me tiene que gustar o repruebo), no me corrió así que aquí dejo que hice para poder compilarlo desde la terminal.

Instalamos Lo siguiente:

# apt-get install openjdk-6-jdk openjdk-6-jre

Editamos nuestro .bashrc (root o tu usuario yo edite los dos :-) )
El archivo está en /home/tuUSUARIO/.bashrc /

export JAVA_HOME='/usr/lib/jvm/java-6-openjdk'
PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

Después vamos y actualizamos nuestra configuraciones para ver quien nos provee java.

# update-alternatives --config java

Saldrá algo cómo esto:

Hay 5 alternativas que proveen `java'.

  Selección     Alternativa
-----------------------------------------------
          1    /usr/lib/jvm/java-6-sun/jre/bin/java
*         2    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
          3    /usr/bin/gij-4.3
          4    /usr/lib/jvm/java-gcj/jre/bin/java
 +        5    /usr/lib/jvm/java-6-openjdk/jre/bin/java

Tecleamos el digito 5 que es /usr/lib/jvm/java-6-openjdk/jre/bin/java.

y Listo podemos usar Javac para compilar en bytecodes :-). (para leer más sobre Javac click aquí)

Ahora a probarlo con el siguiente script.


//Progama 0
public class parametros {
        public static void main (String argv[])
                {
        for  (int i=0; i < argv.length ;i++)

                System.out.print(argv[i] + " ");

        System.out.print("\n");

        System.exit(0);

                }

        }

Guardamos el código con el nombre de parametros.java (por el nombre que se creo la clase.)
Es hora de usar javac, si todo lo anterior salio bien pues :

> javac parametros.java
> java parametros hola mundo
 hola mundo
>

Y Listo a darle en la terminal ;-).. Existen muchas herramientas/IDE etc. cómo eclipse que la instalación después la posteo si es que me da tiempo un saludo

Programación Estructurada C

Portafolio:

Siguiendo con el portafolio virtual, es hora de las instrucciones y ciclos, esto me servirá o no cómo dice el D.r. Pimentel jeje, esté post solo contiene cómo esta estructurado, lo cual quiero recalcar que es para mi uso si alguien quiere dar una aportación es bienvenida.

INSTRUCCIONES:

IF

Nos sirve para tomar decisiones sobre que acciones realizar, esas decisiones pueden depender de datos introducidos por el usuario, esté sería un ejemplo de cómo se estructura el IF:

if ( condición )
{
sentencias por cumplir si es verdadera;
}

IF – ELSE

Cuando la condición sea verdadera esté ejecutara las sentencias, mientras está no sea verdadera entra las sentencias del segundo bloque. La estructura queda de la siguiente forma:

if ( condición )
{
sentencias por cumplir si es verdadera;
}
else /* esté bloque funciona cuando no se cumple la condición */
{
sentencias por cumplir si NO es verdadera;
}

Las condiciones usan operadores de comparación y también una agrupación de operadores los cuales se mezclan con las condiciones para lograr un resultado.

SWITCH-CASE

Una sentencia condicional múltiple que generaliza a la sentencia “if-else”:

switch ( expresión_entero )	{
case expresión_constante_entera : sentencia
break:
case expresión_constante_entera : sentencia
…
default : sentencia
}

CICLOS

MIENTRAS

El ciclo mientras o llamado WHILE, sirve para para ejecutar un código reiteradas veces.

while ( condición de ejecución del ciclo )	{
/*código*/
}

HACER – MIENTRAS

El ciclo hacer mientras. DO WHILE, es un ciclo que solo se ejecuta una vez.

La diferencia con el WHILE es que el DO WHILE siempre se ejecuta al menos una vez #

Do {
/*código*/
}

while ( condición de ejecución del ciclo )

FOR

El ciclo for tiene muchas funciones, la más común y su estructura clásica es de está forma

for {/* inicialización */; /* sentencia condicional */; /* incremento o decremento */}

Inicialización; es la parte donde donde se controla el ciclo, es la primera sentencia que lee el ciclo.
Sentencia Condicional; Después de leer la inicialización, esté ve si la sentencia es validad.
Incremento o decremento; dependiendo de las operadores esté evaluá si será en incremento o decremento.

/* IF-ELSE.C */
/* implementando IF-else */
#include "stdio.h"
#include "stdlib.h"

int main( int argc, char *argv[] )

{
int edad, din, menu;
system("clear");
system("figlet CANTINA");
printf("Que Edad Tiene  \n ");
scanf("%d", &edad);
if ( edad >= 18)

printf("Bienvenido :-)  \n");
printf("Que Desea  tomar \n 1 Michelada \n 2 Pomo \n 3 Solo vine a ver");
printf(" Solo numeros ");
scanf("%d", &menu);
if ( menu == 1 )
printf("El precio de la michelada es de 55 pesos se paga en caja");
if ( menu == 2 )
printf("El precio del pomo  es de 900  pesos se paga en caja");
if ( menu == 3 )
printf(" En la cantina solo hay 4 mesas, menos blabla y puro gluglu a platicar al parque..");

else
{
printf(" no eres bienvenido debes ser mayor de edad \n ");
printf(" \n ");
printf("Pero cuanto dinero traes.. \n");
scanf("%d", &din);
if  ( din > 200 )
printf("Ok te ajusta para tu pomo con tus %d \n ",din);
else
printf("Crees que con tus %d podras estar aquí .. bye \n ",din);
}
exit (0);

}

Programación Estructurada

En la universidad el Dr. Pimentel nos pidio un portafolio virtual, el cual decidí hacer en blog con una categoría la cual al final de la materia de Programación estructurada la mandaré a llamar mediante RSS, cuando sea la entrega de esté. (Lo que escribo es solo fragmentos de lo que es más importante para mi)

Programación Estructurada.

La programación estructurada es un método (un paradigma de programación) de programacion basado sobre el concepto de la unidad y del alcance (la gama de la visión de los datos de una declaración ejecutable del código). Un programa estructurado se compone de unas o más unidades o módulos — escrito por el usuario, o sacado de una librería; cada módulo se compone de uns o más procedimientos, también llamado una función, una rutina, un subprograma, o un método, dependiendo del lenguaje de programación. Es posible que un programa estructural tenga niveles múltiples o alcances, con los procedimientos definidos dentro de otros procedimientos. Cada alcance puede contener las variables que no se pueden considerar en alcances externos.

BYTES

La representación de los tipos de datos..   lo que la computadora leerá será binarios, ejemplo seria el número 127 que su representación es 01111111, ahora un número negativo -128 que sería 10000000 en binario.. (Esto me sirve de referencia.)

Tipos de Datos.

Hay tipos de datos como enteros, short, int, long y long long.. Flotantes, float y el double, Tipo de dato de caracter que es el Char, en la clase el D.r. Pimentel nos hablo sobre el uso de estos, para lograr una buena optimización. Comento sobre una función sizeof() el cual nos ayudará para calcular el tamaño de los tipos de datos

char

  • bytes = 1
  • Máximo = 127 (255 cuando es unsigned)
  • Mínimo = -128 (0 cuando es unsigned)

int

  • bytes = 4
  • Máximo = 2,147,483,647 (4294967295 cuando es unsigned)
  • Mínimo = -2,147,483,648 (0 cuando es unsigned)

float

  • bytes = 4
  • Máximo Exponente = 10^37
  • Mínimo Exponente = 10^-37

long

  • bytes = 4
  • Máximo = 2,147,483,647 (4294967295 cuando es unsigned)
  • Mínimo = -2,147,483,648 (0 cuando es unsigned)

long long

  • bytes = 8
  • Máximo = 9,223,372,036,854,775,807 (18,446,744,073,709,551,616 cuando es unsigned)
  • Mínimo = 9,223,372,036,854,775,808 (0 cuando es unsigned)

short

  • bytes = 2
  • Máximo = 32767 (65,535 cuando es unsigned)
  • Mínimo = -32768 (0 cuando es unsigned)

double

  • bytes = 8
  • Máximo Exponente = 10^308
  • Mínimo Exponente = 10^-308

Variables y Constantes

Una variable, como su nombre lo indica, es un determinado objeto cuyo valor puede cambiar durante el proceso de una tarea específica. Contrario a una variable, una constante es un determinado objeto cuyo valor no puede ser alterado durante el proceso de una tarea específica

Para declarar constantes existe la palabra reservada const, así como la directiva #define. A continuación se muestran ejemplos de declaración de variables y constantes.

Variables Constantes Constantes
int a; const int a = 100; #define a 100
float b; const float b = 100; #define b 100

Notas:

A diferencia de las constantes declaradas con la palabra const los símbolos definidos con #define no ocupan espacio en la memoria del código ejecutable resultante.

El tipo de la variable o constante puede ser cualquiera de los listados en Tipos primitivos, o bien de un tipo definido por el usuario.

[Fuente Variables y Constantes]

Álgebra Lineal

En el blog de dsplabs.com.au encontré unos  vídeos que me interesan mucho es sobre álgebra lineal una de las materias que lleve en el primer cuatrimestre de la carrera de Ingeniería de Desarrollo de Software,  es algo de Open Couse Ware, aquí dejo los vídeos son muy buenos en cada lección hay opción de bajar el contenido en pdf o verlo en linea HTML esto es desde la web de la universidad de MIT de OCW;

LEC # TOPICS
1 The Geometry of Linear Equations
2 Elimination with Matrices
3 Multiplication and Inverse Matrices
4 Factorization into A = LU
5 Transposes, Permutations, Spaces R^n
6 Column Space and Nullspace
7 Solving Ax = 0: Pivot Variables, Special Solutions
8 Solving Ax = b: Row Reduced Form R
9 Independence, Basis, and Dimension
10 The Four Fundamental Subspaces
11 Matrix Spaces; Rank 1; Small World Graphs
12 Graphs, Networks, Incidence Matrices
13 Quiz 1 Review
14 Orthogonal Vectors and Subspaces
15 Projections onto Subspaces
16 Projection Matrices and Least Squares
17 Orthogonal Matrices and Gram-Schmidt
18 Properties of Determinants
19 Determinant Formulas and Cofactors
20 Cramer’s Rule, Inverse Matrix, and Volume
21 Eigenvalues and Eigenvectors
22 Diagonalization and Powers of A
23 Differential Equations and exp(At)
24 Markov Matrices; Fourier Series
24b Quiz 2 Review
25 Symmetric Matrices and Positive Definiteness
26 Complex Matrices; Fast Fourier Transform
27 Positive Definite Matrices and Minima
28 Similar Matrices and Jordan Form
29 Singular Value Decomposition
30 Linear Transformations and Their Matrices
31 Change of Basis; Image Compression
32 Quiz 3 Review
33 Left and Right Inverses; Pseudoinverse
34 Final Course Review

By Instructor/speaker: Prof. Gilbert Strang

Resumen de Programacion CPP – IDS

Ing. en desarrollo de Software

Ing. en desarrollo de Software

El Resumen, fue echo por Julio Cesar, un compañero algo nerd.. : – )
(Darle click a la imagen PDF para descargar el resumen.)


Publicidad