Herramientas de usuario

Herramientas del sitio


code:tools

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
code:tools [2010/08/05 12:54]
alfred
code:tools [2020/05/09 09:25] (actual)
Línea 1: Línea 1:
 ====== Recursos ====== ====== Recursos ======
 Sobre como utilizar pequeños programas, IDE de desarrollo, pequeños apuntes generales, "//​tips & tricks//"​... Sobre como utilizar pequeños programas, IDE de desarrollo, pequeños apuntes generales, "//​tips & tricks//"​...
 +===== Arquitecturas ===== 
 +  * Arquitectura de una web que sirve datos a tiempo real: {{:​code:​tools:​how_we_built_filmgrain_part_1_of_2_filmgrain_blog.pdf|Documento 1}} y {{:​code:​tools:​how_we_built_filmgrain_part_2_of_2_filmgrain_blog.pdf|Documento 2}}.
 ===== Comandos Linux ===== ===== Comandos Linux =====
  
Línea 57: Línea 58:
 ===== Herramientas ===== ===== Herramientas =====
  
 +==== Repositorio de páginas ====
  
- +^ Herramienta ^ Uso ^ Lenguaje ^ 
- +| [[otros:​waf|waf]] | Sistema de construcción | Python | 
- +| [[otros:​chromecons|Consola de Chrome]] | Intérprete de JavaScript | JavaScript | 
 +| [[otros:​fabric|Fabric]] | Herramienta para lanzar comandos vía Python | Python | 
 +| [[otros:​vagrant|Vagrant]] | Tool to create development environtments | - | 
 +| [[otros:​factoryboy|Factory Boy]] | Fixtures replacement tools | Python |
  
 ==== Documentando C++ con DoxyS ==== ==== Documentando C++ con DoxyS ====
Línea 174: Línea 178:
 <​property file="​${user.home}/​ant-global.properties"/><​property file="​${basedir}/​local.properties"/>​ <​property file="​${user.home}/​ant-global.properties"/><​property file="​${basedir}/​local.properties"/>​
 </​code>​ </​code>​
 +
  
  
Línea 185: Línea 190:
   * Cuando instales un repositorio,​ por ejemplo el de DirectX, se te añadirán al directorio lib ficheros .a, estos son librerías estáticas con nombre del estilo libxxx.a. Para linkarlas al proyecto tendremos que añadir ese '​xxx',​ no todo el nombre del archivo; por ejemplo, para añadir ''​libddraw.a''​ añadiremos al linker ''​-lddraw''​.   * Cuando instales un repositorio,​ por ejemplo el de DirectX, se te añadirán al directorio lib ficheros .a, estos son librerías estáticas con nombre del estilo libxxx.a. Para linkarlas al proyecto tendremos que añadir ese '​xxx',​ no todo el nombre del archivo; por ejemplo, para añadir ''​libddraw.a''​ añadiremos al linker ''​-lddraw''​.
  
-==== cURL ==== 
  
-===== Conceptos =====+==== Herramientas para C ==== 
 +  * Un detector de memory leaks es ''​valgrind''​. Existen GUIs tales como ''​Alleyoop''​ o ''​valkyrie''​. 
 +  * ''​gProf''​ es un analizador de código.
  
  
 +==== cURL ====
 +Es una herramienta de consola para utilizar protocolos que permitan sintaxis URL (FTP, FTPS, LDAP, HTTP...). Es una buena herramienta para simular acciones sobre el navegador web, además existe ''​libcurl'',​ una API que permite arreglar cURL a desarrollos.
 +=== Descargar contenido de una URL ===
 +<​code>​
 +curl url
 +</​code>​
 +=== Enviar parámetros POST ===
 +<​code>​
 +curl -X POST -d "​param1=value1&​param2=value2"​ http://​127.0.0.1:​8080/​group/​
 +</​code>​
 +=== Enviar DELETE ===
 +<​code>​
 +curl -X DELETE http://​127.0.0.1:​5000/​servers/​1
 +</​code>​
 +==== SSH ====
 +El comando ''​ssh''​ es usado para acceder remotamente a una consola Linux.
 +  * ''​ssh 192.168.1.100''​ - Accede al host 192.168.1.100 con el usuario actualmente validado.
 +  * ''​ssh 192.168.1.100 -l root''​ - Accede al host 192.168.1.100 con el usuario indicado (root).
 +Existen servidores de ssh que podemos instalar en nuestras máquinas, como por ejemplo: //​dropbear//​ para pequeños dispositivos o el //​openssh-server//​. \\ 
 +Podemos montar dispositivos remotos con el protocolo ''​sftp''​. ​
  
-==== URI ==== +=== Claves ​=== 
-Identificador de dispositivo formado por: +Podemos conectar ​a un host remoto mediante un archivo clave .pem
-  * Esquema: mecanismo de acceso o protocolo: (''​urn:,​ tag:, cid:, http:, mailto:, ftp:​...''​). +<​code>​ 
-  * Autoridad: nombre que lo identifica (''<​nowiki>//​es.wikipedia.org</​nowiki>''​). +$ ssh -i skey.pem ubuntu@ec2-54-218-73-84.us-west-2.compute.amazonaws.com 
-  * Ruta: Información en forma jerárquica,​ que identifica la localización dentro de la autoridad (''/​wiki/​Uniform_Resource_Identifier''​). +</code>
-  * Consulta: Información adicional, usualmente en forma de pares "​clave=valor"​. Su comienzo es marcado por el carácter '?'​. +
-  * Fragmento: Permite identificar una parte o vista. Su comienzo está marcado por '#'​. +
- +
-==== Sockets ==== +
-Un socket es un objeto que engloba el conjunto de elementos: dirección, puerto y protocolo. Gracias ​los sockets puede existir comunicación entre dos ordenadores diferentes. +
-=== Protocolos === +
-  * **TCP**: Protocolo que garantiza que los datos han sido entregados correctamente (es decir, si no es así ocurre ​un error en el envio)Mediante el cual se utilizan aplicaciones HTTP, SMTP, SSH, FTP... +
-  * **UDP**Protocolo basado en datagramas (paquete independiente,​ cada uno con información del emisor), permite el envio sin necesidad de establecer una conexión. No tiene confirmación (ni de entrega ni de recepción) ni control de flujo. +
- +
- +
- +
- +
- +
- +
- +
- +
-==== Protocolo HTTP ==== +
-  * [[http://​tools.ietf.org/​html/​rfc2616|Documento explicativo del protocolo HTTP/​1.1]] +
-=== Métodos === +
-  * **OPTIONS**:​ Utilizado generalmente para pedir cuales de los demás métodos están soportados por el servidor.  +
-  * **GET**: Utilizado para realizar una petición de datos.  +
-  * **HEAD**: Utilizado para realizar una petición de la cabecera de los datos. +
-  * **POST**: Método utilizado para enviar una modificación de datos al servidor. +
-  * **PUT**: Método utilizado para enviar nuevos datos al servidor. +
-  * **DELETE**: Método utilizado para borrar datos del servidor. +
-  * **TRACE**: No se utiliza debido a que representa una vulnerabilidad,​ pero permite comprobar la correcta respuesta del servidor. +
- +
-=== Content-Type === +
-En el header de una respuesta http enviaremos el tipo de datos que devolvemosLos más conocidos:​ +
-  * ''​text/​plain'':​ Texto plano. +
-  * ''​text/​html'':​ Texto html. +
-  * ''​application/​json'':​ Para JSON. +
-  * ''​image/​jpeg'',​ ''​image/​gif'',​ ''​image/​png'':​ Para los distintos tipos de imágenes. +
- +
- +
- +
- +
- +
-==== Servicios Web ==== +
-El concepto de servicio web se basa en el intercambio de información entre aplicaciones mediante HTTP, como si fuese una página web. +
-=== Protocolos === +
-  * [[http://​en.wikipedia.org/​wiki/​SOAP_%28protocol%29|SOAP]],​ protocolo de intercambio de datos mediante XML. +
-  * [[http://​es.wikipedia.org/​wiki/​RPC|RPC]] que según el formato de retorno puede ser [[http://​es.wikipedia.org/​wiki/​XML-RPC|XML-RPC]] para XML, [[http://en.wikipedia.org/​wiki/​JSON-RPC|JSON-RPC]] para JSON... +
-  * [[http://​en.wikipedia.org/​wiki/​SOAPjr|SOAPjr]] mezcla de SOAP y JSON-RPC. +
-=== Formatos de retorno === +
-Puede retornar cualquier formato, sobretodo si es un servicio web [[code:​rest|REST]].  +
-  * [[tags:​json|JSON]],​ formato directamente reconocible por JavaScript. +
-  * [[http://​en.wikipedia.org/​wiki/​JsonML|JsonML]],​ mezcla de JSON y XML. +
- +
-==== Generales ==== +
-  * **Bytecode**:​ Código intermedio entre el código máquina y el de de programación. Generalmente se tratra como si fuese un fichero binario en el que hay un programa ejecutable. Suelen necesitar un intérprete (generalmente llamado máquina virtual) y su ventaja es la portabilidad a diferentes arquitecturas y plataformas. +
-  * **JIT** (//Just In Time//): Es como se le llama a la compilación en tiempo de ejecución (o también traducción dinámica). Cuando se compila en tiempo de ejecución la compilación a bytecode es el primer paso, reduciendo el código fuente a una forma portable y optimizada, esta acción puede realizarse a un nivel total del programa o al de las funciones, es en este último caso que es llamado JIT, cuando se compila una función justo a tiempo de ser llamada. +
  
 +=== Configuración ===
 +Aunque también podríamos añadir esta clave al archivo de configuración de ssh y acceder mediante un alias:
 +<​code>​
 +$ cd ~/.ssh
 +$ cp skey.pem ~/.ssh/
 +$ chmod 400 ~/​.ssh/​skey.pem
 +$ chmod 700 ~/.ssh
 +$ gedit ~/​.ssh/​config
 +</​code>​
 +Esto sería su contenido:
 +<​code>​
 +Host awshost1
 +HostName ec2-54-218-35-71.us-west-2.compute.amazonaws.com
 +User ubuntu
 +IdentityFile "​~/​.ssh/​skey.pem"​
 +</​code>​
 +Y así su conexión:
 +<​code>​
 +$ ssh awshost1
 +</​code>​
 +=== Copia de archivos ===
 ===== Visual Studio ===== ===== Visual Studio =====
  
code/tools.1281012854.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)