Programación

programacion

La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado.

Mis reglas (estandares) para nombres variables y funciones

- Nombres descriptivos: Si tienes que utilizar varias palabras , no dudes en hacerlo.

- Camel Case o Capitalize: Esto es para gusto, así voy utilizar los dos, pero el primero para variables y el segundo para nombres de funciones.

- Uso de prefijo y sufijos: Tanto sea camelcase o capitalize se debe usar prefijos y sufijos para poder entender la variables y funciones a primera vista.

En está sección no puede falta una guía de comandos de VIM el editor por excelencia de los programadores, aunque tengo que reconocer que yo no lo utilizo mucho, porque mi preferido es geany, porque os quiero recordar que vengo windows. :-)

Esta lista comando la copie de http://web.ua.es/cuantica/docencia/ccem/teoria/node127.html

 

Comandos "vi" ("vim") de uso frecuente

ESC Abandonar el modo de inclusión de texto para volver al modo de comandos; también se usa para cancelar comandos. (Usarlo en caso de duda)
Cntl-F Avanzar una pagina hacia adelante
Cntl-B Avanzar una pagina hacia atrás
Cntl-L Refrescar la pantalla
G Cursor al final del fichero
1G Cursor al principio del fichero
$ Cursor al final de la linea
0 (cero) Cursor al principio de la linea

.

a Añadir texto a continuacion del cursor [TEXTO]
i Insertar texto en la posicion del cursor [TEXTO]
A Añadir texto al final de la linea [TEXTO]
I Insertar texto al principio de la linea [TEXTO]
o Añadir una linea debajo de la del cursor [TEXTO]
O Añadir una linea encima de la del cursor [TEXTO]
   
u Deshacer el último cambio realizado
:red Rehace los cambios deshechos con ''u'' o '':u''
   
x Borrar un caracter (y ponerlo automaticamente en el ALMACEN)
D Borrar el resto de la linea (a la derecha del cursor)
dw Borrar una palabra (hasta el primer blanco a la dcha. del cursor)
dd Borrar la linea entera
8x Borrar 8 caracteres
2dw Borrar 2 palabras
7dd Borrar 7 lineas
   
p Poner el contenido del ALMACEN temporal a continuacion del cursor
P Poner el contenido del ALMACEN temporal antes del cursor
   
s Substituir un caracter por texto [TEXTO]
15s Substituir 15 caracteres por texto [TEXTO]
r Substituir un solo caracter por otro nuevo, sin entrar en modo de TEXTO
   
R Sobreescribir [TEXTO]
   
J Unir la linea del cursor y la siguiente
i [ENTER] Romper una linea en dos
   
. Repetir el último cambio realizado
   
yy Poner la linea presente en el almacen temporal
5yy Poner cinco lineas en el almacen
   
:w Guardar en el fichero que se esta editando los cambios realizados
  (Aconsejable ejecuarlo de vez en cuando)
:w! Idem, forzandolo si fuese necesario.
:w Fichero Guardar en el fichero "Fichero"
:wq Guardar y salir de "vi".
:wq! Idem, forzandolo si fuese necesario.

NOTA: Cada vez que se borra texto, el texto borrado pasa a un ALMACEN temporal, de donde elimina lo que estuviese almacenado previamente.

 

:q Salir de "vi", si no se han realizado cambios desde
  la última vez que se han salvado.
:q! Salir de "vi" en todo caso. No se guardan aquellos cambios que no se hayan salvado.
   
   
:set nu Visualizar los numeros de las lineas
:set nonu Ocultar los numeros de las lineas
   
+ Ir a la linea siguiente
- Ir a la linea anterior
:+8 Ir a la linea que esta 8 puestos más abajo
:-9 Ir a la linea que esta 9 puestos más arriba
:6 Ir a la linea numero 6
   
ma Marcar la linea del cursor con la etiqueta 'a'.
  (Sólo puede usarse una letra)
'a Ir a la linea marcada con 'a".
:$ Ir a la última linea del fichero, "$".
:P,U d Borrar las lineas entre P y U, ambas incluidas. P y U son identificadores de lineas, es decir, numeros de lineas o etiquetas. Ejemplos:
:6,'a d borrar las lineas entre la "6" y la 'a'
:'a,'b d borrar las lineas entre la 'a' y la "b"
:'a,$ d borrar las lineas desde 'a' hasta el final
   
   
   
   
   
   
:P,U w Fichero Escribir en el fichero "Fichero" las lineas comprendidas entre P y U, ambas incluidas
   
   
:r Fichero Leer el contenido del fichero "Fichero" y ponerlo a continuacion de la linea del cursor.

 




/texto/ Buscar, hacia adelante, la aparicion de "texto".
?texto? Buscarlo hacia atras.
n Continuar la busqueda en la direccion elegida.
N Continuar la busqueda en la direccion opuesta./i.ad/ busca iXad, donde X es cualquier caracter.
/i...ad/ busca iXXad, donde XX son dos caracteres cualesquiera
:P,U s/texto viejo/texto nuevo/ Substituir texto desde las lineas P a U; solo la
  primera vez que aparezca en cada linea. Ejemplos:
:1,$ s/hola/adios/ substituir el primer "hola" de cada linea del fichero por 'adios'
   
   
:P,U s/texto viejo/texto nuevo/g Substituir texto desde las lineas P a U; todas las veces que aparezca.
:'a,$ s/hola/adios/g substituir todos los "hola" por 'adios' desde la linea marcada 'a' hasta el final
   
   
   
   
:set ic Ignorar mayusculas/minusculas en busquedas y substituciones
   
:set noic No ignorarlas
   
:set ai Auto-margen: cada nueva linea aparece con el mismo margen que la linea anterior. (Util cuando se escriben ficheros FORTRAN)
   
   
:set noai No auto-margen.
   
abb ABREV texto Definicion de una abreviatura (ABREV en este caso) para "texto"
   
   
$>>$ Desplaza una linea hacia la derecha
  5$>>$ Que hace esto ?
   
$ << $ Desplaza una linea hacia la izquierda

Introducción y definición POO

La programación orientada a objetos (POO) está basada en herencia, cohesión , abstracción , polimorfismo, acoplamiento y encapsulado.

 

Los objetos son entidades que tienen :

 

Atributos : Son los datos que tiene el objeto

Métodos: Son operaciones o funciones que puede responde el objeto, que se pueden realizar con el objeto.

 

Un objeto contiene toda la información necesaria para identificarlo de otros objetos e incluso de la misma clase.

 

Los programadores orientados a obejtos lo primero que piensa en definir objetos para enviarles mensajes a estos para solicitarles realicen métodos ellos mismos.

 

La programación orientada en objetos hoy en día soportada por muchos lenguajes  como: php, pyhton, Java, C++, Ruby …

 

Conceptos Básicos y Fundamentales.

 

Clase

Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

 

Herencia

(Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO.

 

Objeto

Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase.

 

Método

Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

 

Evento

Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera.

 

Atributos

Características que tiene la clase

 

Mensaje

Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

 

Propiedad o atributo

Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

 

Estado interno

Es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.

 

Componentes de un objeto

Atributos, identidad, relaciones y métodos.

 

Identificación de un objeto

Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.

 

En comparación con un lenguaje imperativo, una "variable" no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.

 

 

 

Las expresiones regulares también llamadas regex, son secuencias de caracteres que forma un patrón, principalmente utilizada para la búsqueda de patrones de cadenas de caracteres u operaciones de sustituciones.

En casi todos los lenguajes de programación, las expresiones regulares se utilizan para que de una forma flexible reconoce una cadenas de texto.

Es fundamental para todo aquel que se precie como programador que conozca y utilice las expresiones regulares, ya que nos adelantan mucho curre.

La intención de este post es anotar como cambiamos de versión en nuestros servidores locales.

Nuestro técnico de sistema nos preparo el servidor local para poder utilizar cualquiera de estas versiones php:

  • php 5.6
  • php 7.0
  • php 7.1
  • php 7.2

Esto es util cuando tienes varios servidores y no son iguales las versiones php que utilizan.

Lo primero saber que version tiene ahora activa, una forma es viendo phpinfo().

Para activar una version, lo hacemos con:

a2enmod php5.6

Lógicamente , tenemos que desactivar las anterior, si por ejemplo antes teniamos php7.0 y activamos php5.6 al listar los modulos apache activos vemos:

▶ ls /etc/apache2/mods-enabled/php*
/etc/apache2/mods-enabled/php5.6.conf /etc/apache2/mods-enabled/php7.0.conf
/etc/apache2/mods-enabled/php5.6.load /etc/apache2/mods-enabled/php7.0.load

Aunque restauremos el apache  con

systemctl restart apache2

No funcionará el php, por eso debemos desactivar uno de los php...

a2dismod php7.0

Ahora si restauramos debería estar funcionando el php5.6

 

Un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas donde alguien o algo le permite realizar una actividad, paso a paso que no generen ninguna duda a quien lo realizar.

PHPMailer es una biblioteca de php para enviar correos electrónicos de forma segura y fácil a través de un código PHP desde un servidor web..

Estas son algunas de las funciones que trae son:

  • Envíos a varios remitentes, con CC, CCO, etc.
  • Soporta 8bits, base64 y binarios
  • Autenticación por SMTP en puertos 25 sin encriptar, 587 TLS, 465 SSL
  • Envíos con HTML
  • Envíos de emails con adjuntos
  • Inclusión de imágenes en el correo, etc

Aprender a programar

Es bastante indefinido, ya que aprender a programar ¿qué? es realmente la siguiente pregunta.

Aprender a programar es algo que mucha gente se plantea, pero hay toda disciplina y planificación antes, ya hay que tener claro que aprender programación no es tarea de un día ni de una semana: aprender programación requiere al menos varios meses y, si hablamos de programación a nivel profesional, varios años.

Aunque para mi, aprender a programar requiere esfuerzo y sobretodo ganas.

 

 

http://www.codecademy.com/?locale_code=es

El tratamiento de (string) en todo lenguaje es necesario , por ello el conocimiento de los comandos o funciones que podemos utilizar es fundamental.

COMANDO O FUNCIONES DE PHP PARA TRATAMIENTO DE TEXTO

Los comandos mas comunes de php que los programadores

rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string

chr — Devuelve un caracter específico 

strrpos — Encuentra la posición de la última aparición de un substring en un string

substr — Devuelve parte de una cadena

strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string

stripos() - Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas

strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string

strrchr() - Encuentra la última aparición de un caracter en un string

substr_replace — Reemplaza el texto dentro de una porción de un string

str_getcsv — Convierte un string con formato CSV a un array

Subcategorías