<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Neleste</title>
	<atom:link href="https://www.neleste.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.neleste.com</link>
	<description>Información sobre Desarrollo Web</description>
	<lastBuildDate>Thu, 08 Dec 2022 14:36:25 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.8</generator>
	<item>
		<title>«Hola mundo» en ELK (Elasticsearch, Logstash, Kibana)</title>
		<link>https://www.neleste.com/hola-mundo-en-elk-elasticsearch-logstash-kibana/</link>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Thu, 08 Dec 2022 14:36:25 +0000</pubDate>
				<category><![CDATA[ELK]]></category>
		<category><![CDATA[elasticsearch]]></category>
		<category><![CDATA[elk]]></category>
		<category><![CDATA[kibana]]></category>
		<category><![CDATA[logstash]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=403</guid>

					<description><![CDATA[<p>Para crear un «Hola mundo» en ELK (Elasticsearch, Logstash, Kibana), deberás seguir los siguientes pasos: Instala Elasticsearch y Logstash en tu equipo, siguiendo las instrucciones en la página oficial de Elastic (https://www.elastic.co/). Una vez que Elasticsearch y Logstash estén instalados y funcionando, puedes usar Logstash para enviar un mensaje de prueba a Elasticsearch. Para ello, crea un archivo de configuración de Logstash llamado «helloworld.conf» con el siguiente contenido: input { stdin { } } output { elasticsearch { hosts =&#62;&#8230;</p>
<p>The post <a href="https://www.neleste.com/hola-mundo-en-elk-elasticsearch-logstash-kibana/">«Hola mundo» en ELK (Elasticsearch, Logstash, Kibana)</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Para crear un «Hola mundo» en ELK (Elasticsearch, Logstash, Kibana), deberás seguir los siguientes pasos:</p>
<ol>
<li style="list-style-type: none;">
<ol>
<li style="list-style-type: none">
<ol>
<li>Instala Elasticsearch y Logstash en tu equipo, siguiendo las instrucciones en la página oficial de Elastic (https://www.elastic.co/).</li>
<li>Una vez que Elasticsearch y Logstash estén instalados y funcionando, puedes usar Logstash para enviar un mensaje de prueba a Elasticsearch. Para ello, crea un archivo de configuración de Logstash llamado «helloworld.conf» con el siguiente contenido:
<pre>input {
  stdin { }
}

output {
  elasticsearch {
    hosts =&gt; ["localhost:9200"]
    index =&gt; "hello-world"
  }
}
</pre>
</li>
<li>Ejecuta Logstash usando este archivo de configuración:
<pre>$ logstash -f helloworld.conf</pre>
</li>
<li>Logstash te pedirá que ingreses un mensaje de prueba. Ingresa «Hola mundo» y presiona Enter.</li>
<li>Si todo ha salido bien, Elasticsearch debería haber guardado el mensaje en su índice «hello-world». Para verificar que el mensaje se ha guardado correctamente, puedes usar el comando cURL para enviar una consulta a Elasticsearch:
<pre>$ curl -XGET 'http://localhost:9200/hello-world/_search?q=hello'</pre>
</li>
<li>Si todo ha salido bien, esta consulta debería devolver un resultado similar al siguiente:
<pre>{
  "took": 1,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 1.0,
    "hits": [
      {
        "_index": "hello-world",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.0,
        "_source": {
          "message": "Hola mundo"
        }
      }
    ]
  }
}</pre>
</li>
</ol>
</li>
</ol>
</li>
</ol><p>The post <a href="https://www.neleste.com/hola-mundo-en-elk-elasticsearch-logstash-kibana/">«Hola mundo» en ELK (Elasticsearch, Logstash, Kibana)</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Flutter vs. React Native</title>
		<link>https://www.neleste.com/flutter-vs-react-native/</link>
					<comments>https://www.neleste.com/flutter-vs-react-native/#comments</comments>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Tue, 19 Jul 2022 20:59:05 +0000</pubDate>
				<category><![CDATA[Flutter]]></category>
		<category><![CDATA[React Native]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=399</guid>

					<description><![CDATA[<p>Los dos marcos de desarrollo de aplicaciones móviles multiplataforma más populares disponibles en este momento son Flutter y React Native. Estos gigantes están respaldados por dos de las compañías tecnológicas más grandes del mundo: Google y Facebook, respectivamente. En esta artículo, compararemos Flutter con React Native, exploraremos qué hace que cada marco sea tan especial y descubriremos por qué son tan buscados. ¿Qué es Flutter? Flutter es un marco de interfaz de usuario multiplataforma desarrollado por Google. Lanzado por primera&#8230;</p>
<p>The post <a href="https://www.neleste.com/flutter-vs-react-native/">Flutter vs. React Native</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Los dos marcos de desarrollo de aplicaciones móviles multiplataforma más populares disponibles en este momento son Flutter y React Native. Estos gigantes están respaldados por dos de las compañías tecnológicas más grandes del mundo: Google y Facebook, respectivamente.</p>
<p>En esta artículo, compararemos Flutter con React Native, exploraremos qué hace que cada marco sea tan especial y descubriremos por qué son tan buscados.</p>
<p><strong>¿Qué es Flutter?</strong><br />
Flutter es un marco de interfaz de usuario multiplataforma desarrollado por Google. Lanzado por primera vez en mayo de 2017, Flutter ha crecido constantemente en popularidad a lo largo de los años.</p>
<p>Uno de los principales puntos fuertes de Flutter es que le permite crear aplicaciones multiplataforma utilizando una base de código única. Tradicionalmente, una empresa necesitaría múltiples herramientas y desarrolladores para crear una aplicación que estuviera disponible en la web, el móvil y el escritorio.</p>
<p>Por ejemplo, es posible que necesite:</p>
<ul>
<li>Un desarrollador que se especializa en desarrollo web usando React para construir el sitio web</li>
<li>Otro desarrollador que usa C# y Java para crear la versión de escritorio</li>
<li>Un desarrollador móvil dedicado que usa Kotlin y Swift para crear las aplicaciones de Android e iOS<br />
Este enfoque requeriría todo un equipo de desarrolladores, sin mencionar un montón de reuniones para asegurarse de que el diseño y la marca sean consistentes en todas las plataformas. También debe tener en cuenta las pruebas para cada plataforma y abordar sus respectivos errores y peculiaridades.</li>
</ul>
<p>Con Flutter, las empresas pueden contratar a un desarrollador para crear aplicaciones en todas las plataformas con solo una base de código para administrar. Esto reduce significativamente el tiempo y los recursos necesarios para iniciar y mantener una aplicación.</p>
<p>Flutter 3 introdujo cambios bastante sustanciales. Si bien la API para escribir aplicaciones móviles y web no ha cambiado mucho, ahora puede usar la misma base de código para crear aplicaciones para iPhone, Android, Web, Windows, Mac y Linux usando Flutter Compiler.</p>
<p>Además, Flutter 3 ofrece una mejor compatibilidad con Firebase junto con un kit de herramientas de juegos informales para crear juegos con Flutter.</p>
<p><strong>¿Qué es React Native?</strong><br />
React Native es un marco multiplataforma creado por Facebook. Con un código base escrito en JavaScript, React Native simplifica bastante la creación de aplicaciones multiplataforma, lo que reduce la barrera de entrada para los desarrolladores de JavaScript.</p>
<p>El desarrollo web existe desde hace muchos años, y la mayoría de los desarrolladores web han utilizado JavaScript durante gran parte de sus carreras. El desarrollo móvil aún es bastante nuevo, pero el ecosistema ha madurado bastante en los últimos años.</p>
<p>Si ya conoce JavaScript, la curva de aprendizaje para el desarrollo de aplicaciones móviles con React Native no será tan pronunciada.</p>
<p>En estos días, muchas empresas utilizan React Native para el desarrollo de aplicaciones. Microsoft desarrolló recientemente su nueva aplicación de la tienda Xbox utilizando React Native, por ejemplo. Al igual que Flutter, React Native permite crear aplicaciones en varias plataformas utilizando una base de código.</p>
<p>React Native v0.68, que se lanzó recientemente en el momento de escribir este artículo, ofrece soporte opcional para la nueva arquitectura React Native utilizando el sistema Fabric Renderer y TurboModule. Todas las bibliotecas aún no han migrado a esta nueva arquitectura, por lo que es solo opcional.</p>
<p>Fabric Renderer trae concurrencia, React Suspense y renderizado del lado del servidor a React Native, junto con un conjunto de herramientas más rápido e interoperable.</p>
<p><strong>¿Cuáles son algunas diferencias clave entre Flutter y React Native?</strong><br />
Flutter y React Native comparten muchas similitudes, pero también son bastante diferentes en varios aspectos clave.</p>
<p>Para empezar, Flutter usa el lenguaje de programación Dart en su base de código, mientras que React Native usa JavaScript.</p>
<p>Ambos lenguajes se basan en el tipo de sintaxis de estilo C y siguen principios orientados a objetos. Con esta similitud, Flutter y React Native son fundamentalmente similares en términos de diseño, y el código también es muy similar.</p>
<p><strong>Documentación</strong><br />
Flutter y React Native tienen excelentes guías de documentación. Estas guías facilitan que los programadores comiencen a desarrollar aplicaciones.</p>
<p>La documentación de Flutter es fácil de leer porque está bien formateada, estructurada y detallada. En comparación, la documentación de React Native no es sencilla.</p>
<p>React Native también depende en gran medida de las bibliotecas de dependencia desarrolladas por la comunidad, por lo que su documentación no está tan bien organizada.</p>
<p><strong>Programación dinámica vs. estática</strong><br />
Cuando se trata del lenguaje de programación central, existe una diferencia significativa entre Flutter y React Native.</p>
<p>JavaScript es dinámico por naturaleza. Esto significa que puede cambiar los valores de varios tipos de datos, lo que lo hace muy versátil. Dart es tanto dinámico como estático, lo que le permite tener lo mejor de ambos mundos.</p>
<p>Un lenguaje escrito estáticamente generalmente se considera mucho más seguro ya que lo obliga a declarar y usar el tipo de datos correcto. Por ejemplo, no puede asignar un número a una cadena sin devolver un error.</p>
<p>Puede aplicar más seguridad de tipo y verificación de errores con JavaScript si opta por usar <strong>TypeScript</strong> en su lugar, un superconjunto sintáctico estricto de JavaScript.</p>
<p><strong>Tamaño del proyecto</strong><br />
Las aplicaciones React Native tienen un entorno de tiempo de ejecución de JavaScript. Si bien generalmente tienen un tamaño de construcción más grande, este tamaño se puede reducir en React Native al habilitar Hermes y ProGuard.</p>
<p>Por otro lado, las aplicaciones de Flutter tienden a tener archivos de mayor tamaño. Inevitablemente, las aplicaciones de Flutter ocuparán más espacio con sus tamaños de construcción más grandes.</p>
<p><strong>Diseño</strong><br />
Flutter usa widgets, que no son más que clases en Dart, para construir la interfaz de usuario, mientras que React Native usa JavaScript y JSX.</p>
<p>Los widgets de Flutter están prefabricados, por lo que no necesita crear sus propios widgets personalizados a menos que lo desee. Dado que los widgets fueron creados y probados por Google, no necesita preocuparse por los problemas de compatibilidad.</p>
<p>Si usa un lenguaje de programación como Swift para el desarrollo de aplicaciones móviles, normalmente no puede ver el código que Apple usó para crear componentes de interfaz de usuario, como botones. Por el contrario, puede ver el código de los widgets de Flutter para ver cómo los crearon los desarrolladores de Google.</p>
<p>Tanto Flutter como React Native usan CSS Flexbox para construir diseños. La forma en que cada marco lo implementa es diferente, pero siempre que conozca Flexbox, no debería tener problemas para crear el diseño de su aplicación.</p>
<p>El equipo que trabajó en Flutter también trabajó en las herramientas de desarrollo para el navegador Google Chrome, lo que permite una transición rápida ya que las herramientas de depuración son bastante similares.</p>
<p><strong>¿Por qué es tan popular el desarrollo de aplicaciones móviles?</strong><br />
El campo del desarrollo de aplicaciones móviles ha crecido constantemente en los últimos años. Casi todos en el planeta tienen un teléfono móvil, por lo que la base de usuarios es enorme. En estos días, puedes encontrar una aplicación para casi cualquier cosa.</p>
<p>Hay bastantes caminos que puede tomar si desea crear una aplicación móvil.</p>
<p>Puede optar por seguir la vía nativa, lo que significaría usar Swift para crear aplicaciones móviles o Kotlin para crear aplicaciones de Android. Estos son los lenguajes de programación oficiales que usan Apple y Google, respectivamente, por lo que puede esperar soporte propio y actualizaciones frecuentes.</p>
<p>Alternativamente, puede optar por seguir el camino multiplataforma y usar Flutter o React Native. Por lo general, un desarrollador nativo usaría Xcode y Swift para crear aplicaciones de iOS y Android Studio y Kotlin para aplicaciones de Android. Estas herramientas son aplicables para el trabajo multiplataforma.</p>
<p>También es bastante común que los desarrolladores utilicen un entorno de desarrollo integrado (IDE) como Visual Studio Code.</p>
<p>En la mayoría de los casos, los desarrolladores tienden a usar un IDE, Android Studio o Xcode cuando crean aplicaciones con Flutter y React Native. Mi preferencia es usar Visual Studio Code para aplicaciones React Native y Android Studio para aplicaciones Flutter.</p>
<p><strong>Flutter frente a React Native: Demanda</strong><br />
Al momento de escribir este artículo, React Native es un poco más popular que Flutter, gracias en parte a la asociación de React Native con el popular marco web React. React Native también existe desde hace más tiempo, por lo que su base de usuarios es más grande.</p>
<p>Como tal, actualmente existe una mayor demanda de desarrolladores de React Native que de desarrolladores de Flutter. Sin embargo, eso no significa que Flutter no sea popular; de hecho, Flutter continúa ganando popularidad con el tiempo. Una muestra de ello, es que en la página oficial de github de cada uno de ellos, es Flutter el claro vencedor con más estrellas.</p>
<p>Android Studio tiene un complemento de Flutter con asistentes de código, lo que hace que sea mucho más fácil escribir y depurar su código. Al momento de escribir este artículo, este complemento tiene alrededor de 12 millones de descargas, lo que demuestra cuán popular es Flutter.</p>
<p><strong>Flutter frente a React Native: rendimiento</strong><br />
Es difícil decidir si una aplicación Flutter o React Native tiene un mejor rendimiento. No será lo mismo para todas las aplicaciones; hay muchos factores a considerar, como el tipo de aplicación, el código base, las animaciones, las transiciones, el tamaño de la aplicación, el diseño, el paso de datos, el teléfono del usuario final y más.</p>
<p>Tanto Flutter como React Native son de código abierto y de uso gratuito. Ambos están bien mantenidos, como era de esperar, considerando que fueron creados por Google y Facebook.</p>
<p>Puede probar las aplicaciones creadas con ambos marcos, ya sea virtualmente, utilizando un simulador integrado en su computadora para iOS y Android, o de forma nativa, en su teléfono.</p>
<p>Si tiene la intención de desarrollar en iOS, el SDK solo está disponible en computadoras Apple, por lo que los usuarios de Windows y los usuarios de Linux no tienen suerte. Sin embargo, puede desarrollar aplicaciones de desarrollo de Android en cualquier plataforma.</p>
<p>Ambos marcos utilizan la recarga en caliente, lo que hace que el desarrollo sea más eficiente, ya que puede ver instantáneamente los cambios realizados.</p>
<p>Existe cierto debate sobre si Flutter y React Native son realmente nativos. Para ser considerados 100 por ciento nativos, deberían estar escritos en el idioma para el que fueron diseñados; a saber, Swift para iOS y Kotlin o Java para Android.</p>
<p>La experiencia que obtienes cuando usas una aplicación escrita en React Native y Flutter es, en su mayor parte, es una experiencia nativa. Sin embargo, React Native usa puentes de JavaScript para comunicarse con el código nativo, y los puentes pueden ralentizar el rendimiento de la aplicación.</p>
<p>En comparación, <strong>el código Dart que usa Flutter se compila directamente en C, que es lo más nativo que se puede esperar</strong>. El código Flutter no requiere ningún puente para comunicarse con el código nativo. Puede asumir con seguridad que eso mejoraría el rendimiento.</p>
<p>Para resolver el problema de rendimiento, la nueva arquitectura de React Native reemplazó los puentes de JavaScript con la interfaz de JavaScript (JSI). JSI permite a los desarrolladores invocar directamente el módulo nativo sin usar puentes.</p>
<p>La nueva arquitectura React Native también permite a los desarrolladores cargar módulos nativos de forma diferida a través de TurboModules, lo que puede ayudar a mejorar el tiempo de inicio de la aplicación.</p>
<p>Tanto Flutter como React Native continúan mejorando su rendimiento con el apoyo de su desarrollador y comunidad. Pero a partir de ahora, <strong>Flutter gana ligeramente en rendimiento</strong>.</p><p>The post <a href="https://www.neleste.com/flutter-vs-react-native/">Flutter vs. React Native</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.neleste.com/flutter-vs-react-native/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Ver contenido imprescindible de logs de git en una línea</title>
		<link>https://www.neleste.com/ver-contenido-imprescindible-de-logs-de-git-en-una-linea/</link>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Mon, 27 Apr 2020 16:40:09 +0000</pubDate>
				<category><![CDATA[git]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=393</guid>

					<description><![CDATA[<p>Ya sabemos que git es una herramienta muy poderosa. Tiene tantas posibilidades y muestra tanta información que a veces abruma. Un comando de git que nos da mucha información, pero que es dificil procesar por pantalla es log, git log. una forma de simplificar los datos que nos muestra por pantalla, es crear un alias como el siguiente en nuestro fichero .bashrc alias gitlog='git log --pretty=format:"%H&#124;%an&#124;%ad&#124;%s"' Esto nos dará información de este estilo: 29b554a156a75f4159da916e1ffe1a203b4684a3&#124;Pedro&#124;Wed Apr 22 11:34:14 2020 +0200&#124;RM14515 1172ac8271f6e0c4d251bc9d65e43337c776cedf&#124;Ricardo&#124;Tue Apr 21 13:19:22 2020 +0100&#124;Merge&#8230;</p>
<p>The post <a href="https://www.neleste.com/ver-contenido-imprescindible-de-logs-de-git-en-una-linea/">Ver contenido imprescindible de logs de git en una línea</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Ya sabemos que <strong>git</strong> es una herramienta muy poderosa. Tiene tantas posibilidades y muestra tanta información que a veces abruma. Un comando de git que nos da mucha información, pero que es dificil procesar por pantalla es <strong>log</strong>, <strong>git log. </strong>una forma de simplificar los datos que nos muestra por pantalla, es crear un alias como el siguiente en nuestro fichero .bashrc</p>
<pre>alias gitlog='git log --pretty=format:"%H|%an|%ad|%s"'
</pre>
<p>Esto nos dará información de este estilo:</p>
<pre>29b554a156a75f4159da916e1ffe1a203b4684a3|Pedro|Wed Apr 22 11:34:14 2020 +0200|RM14515
1172ac8271f6e0c4d251bc9d65e43337c776cedf|Ricardo|Tue Apr 21 13:19:22 2020 +0100|Merge branch 'master'
2dd7aef0a9796f9cb1ca8421b7a8b942f2979d3b|Ricardo|Tue Apr 21 13:19:12 2020 +0100|RM14402
06c7ea09fba1fba2ad20debd8befba12b9bdab32|Jaime|Tue Apr 21 07:00:44 2020 +0100|Merge branch 'master'
5c5045c4144a5a69390931cc6b08e22ad25765a8|Jaime|Mon Apr 20 12:07:53 2020 +0100|Merge branch 'master'
3a3a5d8f411c3e8365989360cd28051d6b9a37aa|Jaime|Mon Apr 20 12:07:43 2020 +0100|RM14536PRODUCCION
667f459d0af7c1b53cc6753a3bd0f3c69246d802|Jaime|Mon Apr 20 11:30:55 2020 +0100|RM14536
5dfa6455ce3e54a5d4ff93b4bea2fd23111ec415|Julian|Mon Apr 20 12:28:04 2020 +0200|14541</pre><p>The post <a href="https://www.neleste.com/ver-contenido-imprescindible-de-logs-de-git-en-una-linea/">Ver contenido imprescindible de logs de git en una línea</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Comprimir y descomprimir en Linux</title>
		<link>https://www.neleste.com/comprimir-y-descomprimir-gz-tar-gz-y-zip-comandos-en-linux/</link>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Thu, 09 Feb 2017 11:14:34 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=370</guid>

					<description><![CDATA[<p>Archivos .tar.gz – .tar.z – .tgz (tar con gzip): Comprimir: tar -czvf paquete.tar.gz /directorio/empaquetar/ Descomprimir: tar -xzvf paquete.tar.gz Archivos .tar: Empaquetar: tar -cvf paquete.tar /directorio/comprimir/ Desempaquetar: tar -xvf paquete.tar Archivos .gz: Comprimir: gzip -9 archivo.php Descomprimir: gzip -d archivo.php.gz Archivos .zip: Comprimir: zip archivo.zip carpeta Descomprimir: unzip archivo.zip Archivos .rar: Comprimir: rar a paquete.rar /directorio/empaquetar Descomprimir: rar x paquete.rar Arcihvos .bz2 (bzip2) Comprimir bzip2 archivo bunzip2 archivo (El archivo lo comprime y lo renombra como “archivo.bz2”) Descomprimir bzip2 -d archivo.bz2&#8230;</p>
<p>The post <a href="https://www.neleste.com/comprimir-y-descomprimir-gz-tar-gz-y-zip-comandos-en-linux/">Comprimir y descomprimir en Linux</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Archivos .tar.gz – .tar.z – .tgz (tar con gzip):</p>
<pre>Comprimir: tar -czvf paquete.tar.gz /directorio/empaquetar/
Descomprimir: tar -xzvf paquete.tar.gz</pre>
<p>Archivos .tar:</p>
<pre>Empaquetar: tar -cvf paquete.tar /directorio/comprimir/
Desempaquetar: tar -xvf paquete.tar</pre>
<p>Archivos .gz:</p>
<pre>Comprimir: gzip -9 archivo.php
Descomprimir: gzip -d archivo.php.gz</pre>
<p>Archivos .zip:</p>
<pre>Comprimir: zip archivo.zip carpeta
Descomprimir: unzip archivo.zip</pre>
<p>Archivos .rar:</p>
<pre>Comprimir: rar a paquete.rar /directorio/empaquetar
Descomprimir: rar x paquete.rar</pre>
<p>Arcihvos .bz2 (bzip2)</p>
<pre>Comprimir   bzip2 archivo
            bunzip2 archivo
(El archivo lo comprime y lo renombra como “archivo.bz2”)

Descomprimir    bzip2 -d archivo.bz2
                bunzip2 archivo.bz2
(El archivo lo descomprime y lo deja como “archivo”)</pre>
<p>Arcihvos .zoo</p>
<pre>Comprimir   zoo -a paquete.zoo /directorio/empaquetar
Descomprimir    zoo -x paquete.zoo</pre>
<p>Arcihvos .lha</p>
<pre>Comprimir   lha paquete.lha /directorio/empaquetar
Descomprimir    lha -x paquete.lha</pre><p>The post <a href="https://www.neleste.com/comprimir-y-descomprimir-gz-tar-gz-y-zip-comandos-en-linux/">Comprimir y descomprimir en Linux</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Como saber quien edito una linea de fichero con GIT</title>
		<link>https://www.neleste.com/como-saber-quien-edito-una-linea-de-fichero-con-git/</link>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Wed, 11 Mar 2015 09:07:46 +0000</pubDate>
				<category><![CDATA[git]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=362</guid>

					<description><![CDATA[<p>En algunas ocasiones, sentimos la necesidad de saber quien editó determinada línea de un fichero que han tocado varias personas. La mejor forma de saber este dato es con el comando blame de git. [root@bash]$ git blame /ruta-al-fichero/fichero Este comando nos devuelve línea por línea quien edito un determinado fichero así como información del momento y commit en el que fue editado. 5a5b7ffd (Juan 2014-04-05 11:23:23 +0100 230) } 5a5b7ffd (Juan 2014-04-05 11:23:23 +0100 231) } b7f005bf (Jaime 2014-05-05 10:15:23&#8230;</p>
<p>The post <a href="https://www.neleste.com/como-saber-quien-edito-una-linea-de-fichero-con-git/">Como saber quien edito una linea de fichero con GIT</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>En algunas ocasiones, sentimos la necesidad de saber quien editó determinada línea de un fichero que han tocado varias personas. La mejor forma de saber este dato es con el comando <strong>blame</strong> de git.</p>
<pre>
[root@bash]$ git blame /ruta-al-fichero/fichero
</pre>
<p>Este comando nos devuelve línea por línea quien edito un determinado fichero así como información del momento y commit en el que fue editado.</p>
<pre>
5a5b7ffd (Juan   2014-04-05 11:23:23 +0100 230)         }
5a5b7ffd (Juan   2014-04-05 11:23:23 +0100 231)     }
b7f005bf (Jaime  2014-05-05 10:15:23 +0100 232)     else
b7f005bf (Jaime  2014-05-05 10:15:23 +0100 233)     {
b7f005bf (Jaime  2014-05-05 10:15:23 +0100 234)
</pre><p>The post <a href="https://www.neleste.com/como-saber-quien-edito-una-linea-de-fichero-con-git/">Como saber quien edito una linea de fichero con GIT</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Actualizar Fedora 20 a Fedora 21</title>
		<link>https://www.neleste.com/actualizar-fedora-20-a-fedora-21/</link>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Mon, 12 Jan 2015 10:31:17 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[fedora]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=355</guid>

					<description><![CDATA[<p>Si quieres actualizar a fedora 21 sin morir en el intento con un yum upgrade sigue estos pasos. Antes que nada, realiza una copia de seguridad de todos los elementos importantes de tu equipo. Actualiza los repositorios de yum: [root@bash]$ yum update Reinicia tu equipo: [root@bash]$ reboot Instala FedUp, el hará todo el trabajo por nosotros: [root@bash]$ yum install fedup Empieza el proceso de actualización a Fedora 21: [root@bash]fedup-cli --network 21 --debuglog /root/fedup-20to21.log Revisa errores en /root/fedup-20to21.log, existe una opción&#8230;</p>
<p>The post <a href="https://www.neleste.com/actualizar-fedora-20-a-fedora-21/">Actualizar Fedora 20 a Fedora 21</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Si quieres actualizar a fedora 21 sin morir en el intento con un <strong>yum upgrade</strong> sigue estos pasos.<br />
Antes que nada, realiza una copia de seguridad de todos los elementos importantes de tu equipo.</p>
<p>Actualiza los repositorios de yum:</p>
<pre>
[root@bash]$ yum update
</pre>
<p>Reinicia tu equipo:</p>
<pre>
[root@bash]$ reboot
</pre>
<p>Instala FedUp, el hará todo el trabajo por nosotros:</p>
<pre>
[root@bash]$ yum install fedup
</pre>
<p>Empieza el proceso de actualización a Fedora 21:</p>
<pre>
[root@bash]fedup-cli --network 21 --debuglog /root/fedup-20to21.log
</pre>
<p>Revisa errores en /root/fedup-20to21.log, existe una opción por si actualizas desde una distro con un entorno como mate o alternativo. Funciona también sin problemas.</p>
<p>Puedes habilitar diferentes repos con la siguiente opción:</p>
<pre>
--enablerepo REPO
</pre>
<p>Reinicia de nuevo tu equipo:</p>
<pre>
[root@bash]$ reboot
</pre>
<p>En el grub del menú, entra con FedUp:<br />
<img decoding="async" src="/wp-content/uploads/2015/01/fedup.png" alt="Grup FedUp" /></p>
<p>Esto tardará bastante y realizará toda la actualización de nuestro equipo a Fedora 21, después podremos iniciar sesión en Fedora 21 y continuar como siempre. </p><p>The post <a href="https://www.neleste.com/actualizar-fedora-20-a-fedora-21/">Actualizar Fedora 20 a Fedora 21</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Redireccionar una url</title>
		<link>https://www.neleste.com/redireccionar-una-url/</link>
					<comments>https://www.neleste.com/redireccionar-una-url/#comments</comments>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Tue, 11 Nov 2014 10:09:48 +0000</pubDate>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tutos]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=350</guid>

					<description><![CDATA[<p>Cuando vamos a cambiar el contenido de nuestro dominio a otra dirección, es importante indicar este cambio. De esta forma, tanto los motores de búsqueda como los propios usuarios podrán seguir encontrando la información que desean. Hay varios métodos para hacer una redirección: Método 1, HTML: &#60;meta http-equiv="acción" content="segundos"; url="http://www.neleste.com/nuevaruta" /&#62; Método 2. PHP (para este método, es imprescindible no haber escrito html antes, esto cambiaría las cabeceras del documento): &#60;?php header ("Location: http://www.neleste.com/nuevaruta"); ?&#62; Método 3. JavaScript: &#60;script type="text/javascript"&#62;&#8230;</p>
<p>The post <a href="https://www.neleste.com/redireccionar-una-url/">Redireccionar una url</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Cuando vamos a cambiar el contenido de nuestro dominio a otra dirección, es importante indicar este cambio. De esta forma, tanto los motores de búsqueda como los propios usuarios podrán seguir encontrando la información que desean.<br />
Hay varios métodos para hacer una redirección:<br />
Método 1, HTML:</p>
<pre>&lt;meta http-equiv="acción" content="segundos"; 
                       url="http://www.neleste.com/nuevaruta" /&gt;</pre>
<p>Método 2. PHP (para este método, es imprescindible no haber escrito html antes, esto cambiaría las cabeceras del documento):</p>
<pre>&lt;?php header ("Location: http://www.neleste.com/nuevaruta"); ?&gt;</pre>
<p>Método 3. JavaScript:</p>
<pre>&lt;script type="text/javascript"&gt;
window.locationf="http://www.neleste.com/nuevaruta";
&lt;/script&gt;</pre>
<p>Método 4. editar .htaccess (gracias por recordarlo Emilio):<br />
Este método también se puede hacer en los archivos de configuración de apache si tenemos acceso</p>
<pre>
Redirect /viejaruta/ http://neleste.com/nuevaruta/
</pre><p>The post <a href="https://www.neleste.com/redireccionar-una-url/">Redireccionar una url</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.neleste.com/redireccionar-una-url/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Comandos de Vi o Vim</title>
		<link>https://www.neleste.com/comandos-de-vi-o-vim/</link>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Mon, 13 Oct 2014 07:43:18 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=347</guid>

					<description><![CDATA[<p>Cuando estamos por consola en un servidor y no podemos usar nuestra interfaz gráfica favorita, Vi o Vim (Vi Mejorado) se convierten en una herramienta indispensable. Vim, hace un consumo de memoría excelente, y si conocemos todos los comandos para navegar con él, pronto nos resultará bastante atractivo. Lo que más nos choca cuando nos iniciamos en vim, es que tengas que cambiar entre diferentes modos. El hecho de que exista un modo para escibir, es lo que hace que&#8230;</p>
<p>The post <a href="https://www.neleste.com/comandos-de-vi-o-vim/">Comandos de Vi o Vim</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Cuando estamos por consola en un servidor y no podemos usar nuestra interfaz gráfica favorita, Vi o Vim (Vi Mejorado) se convierten en una herramienta indispensable.<br />
Vim, hace un consumo de memoría excelente, y si conocemos todos los comandos para navegar con él, pronto nos resultará bastante atractivo.</p>
<p>Lo que más nos choca cuando nos iniciamos en vim, es que tengas que cambiar entre diferentes modos. El hecho de que exista un modo para escibir, es lo que hace que puedan existir confusiones al usarlo.</p>
<p>Sin embargo, cuando los dominas, son una de las grandes bondades del programa.<br />
Aunque una vez los dominamos, nos encontramos con que es uno de los mejores beneficios del programa.</p>
<p><strong>Modo comandos:</strong> aparece por defecto. En este modo podremos efectuar acciones como copiar/pegar  y formatear el texto. Desde cualquier modo se puede acceder a él pulsando dos veces la tecla ESC.<br />
<strong>Modo inserción:</strong> todo lo que teclee aparecerá en pantalla y se convertirá en parte integrante de su buffer de archivo.<br />
<strong>Modo ex:</strong> para grabar un archivo o abrir otro y operaciones relacionadas.<br />
<strong>Modo visual:</strong> permite cortar, copiar y pegar expeditivamente grandes porciones de texto mediante teclado o ratón.<br />
Como la interfaz se basa en consola, la interacción con el teclado es vital. Veamos para qué sirve cada tecla, dividiendo su funcionalidad en grupos.</p>
<p><strong>Movimiento del cursor</strong></p>
<pre>
h: mover izquierda
j: mover abajo
k: mover arriba
l: mover derecha
w: salta de palabra en palabra al comienzo de las mismas 
    (la puntuación es considerada palabra)
W: salta de palabra en palabra (al espacio entre ellas)
e: salta de palabra en palabra al final de las mismas 
    (la puntuación es considerada palabra)
E: salta al final de las palabra (sin considerar puntuación)
b: salta hacia atrás entre palabras (considerando la puntuación)
B: salta hacia atrás entre palabras (sin considerar puntuación)
0: al comienzo de la línea
^: primer carácter no blanco de la línea
$: final de la línea
G: comando ir a
</pre>
<p><strong> Modo inserción (insertando/añadiendo texto)</strong></p>
<pre>
i: empieza modo inserción donde está el cursor
I: empieza modo inserción al comienzo de la línea
a: añade donde está el cursor
A: añade al final de línea
o: añade nueva línea en blanco, bajo la línea actual
O: añade nueva línea en blanco, sobre la línea actual
ea: añade al final de la palabra
Esc: sale del modo
</pre>
<p><strong> Edición</strong></p>
<pre>
r: reemplaza un único carácter
J: une la línea de abajo con la actual
cc: reemplaza una línea entera
cw: reemplaza hasta el final de la palabra
c$: reemplaza hasta el final de la línea
s: borra el carácter que indica el cursor y substituye el texto
S: borra la línea y substituye el texto (lo mismo que cc)
xp: transpone dos letras (primero corta, luego pega)
u: deshace (undo)
.: repite el último comando
</pre>
<p><strong>Marcando texto (modo visual)</strong></p>
<pre>
v: comenzar modo visual
V: comenzar modo visual lineal
o: moverse a otra área marcada
Control+v: comenzar bloque de modo visual
O: moverse a la esquina de otro bloque marcado
aw: marcar una palabra
ab: marca un bloque delimitado por paréntesis (del inglés braces)
aB: marca un bloque delimitado por llaves (del inglés brackets)
ib: marca dentro de un bloque delimitado por paréntesis
iB: marca dentro de un bloque delimitado por llaves
Esc: salir del modo visual
</pre>
<p><strong> Comandos visuales</strong></p>
<pre>
&gt;: corre el texto hacia la derecha
&lt;: corre el texto hacia la izquierda
y: copia el texto marcado
d: borra el texto marcado
</pre>
<p><strong>Cortar y pegar</strong></p>
<pre>
yy: copia una línea
2yy: copia dos líneas
yw: copia una palabra
y$: copia hasta el final de la línea
p: copia el contenido del portapapeles, tras el cursor
P: ídem pero antes del cursor
dd: borra una línea
dw: borra una palabra
x: corta el carácter actual
</pre>
<p><strong>Salir</strong><br />
<em>Todas llevan dos puntos al comienzo, los del final son de separación pero no del comando en sí. Esto mismo pasará en los siguientes apartados.</em></p>
<pre>
:w: guarda el fichero pero no sale
:wq: guarda el fichero y sale
:q: intenta salir. Si hay cambios da error, en caso contrario, sale
:q!: sale sin guardas y aunque haya habido cambios
</pre>
<p><strong>Buscar y reemplazar</strong></p>
<pre>
/pattern: busca un patrón
?pattern: busca un patrón hacia atrás
n: repite la búsqueda en la misma dirección
N: repite la búsqueda en la dirección opuesta
:%s/viejo/nuevo/g: reemplaza todo lo que encuentra definido 
    por “viejo” por “nuevo”
:%s/viejo/nuevo/gc: lo mismo, pero con confirmaciones
</pre>
<p><strong> Trabajar con múltiples ficheros</strong></p>
<pre>
:e nombreFichero: edita un fichero en un nuevo buffer
:bnext (o :bn): se dirige al siguiente buffer
:bprev (o :bp): se dirige al bufer anterior
:bd: borra un buffer
:sp nombreFichero: abre un fichero en un nuevo buffer y lo divide
Control+ws: divide la ventana
Control+ww: intercambia la ventana
Control+wq: cierra una ventana
Control+wv: divide la ventana horizontalmente
</pre><p>The post <a href="https://www.neleste.com/comandos-de-vi-o-vim/">Comandos de Vi o Vim</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Primeros pasos en GIT (control de versiones)</title>
		<link>https://www.neleste.com/primeros-pasos-en-git-control-de-versiones/</link>
					<comments>https://www.neleste.com/primeros-pasos-en-git-control-de-versiones/#comments</comments>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Wed, 04 Jun 2014 12:02:40 +0000</pubDate>
				<category><![CDATA[git]]></category>
		<category><![CDATA[primeros pasos]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=344</guid>

					<description><![CDATA[<p>Hacer checkout a un repositorio Crea una copia local del repositorio ejecutando git clone /ruta_a/repositorio Si utilizas un servidor remoto, ejecuta: git clone usuario@host:/ruta_a/repositorio Puedes registrar cambios (añadirlos al Index) usando git add "ruta_fichero" Para añadir todos los cambios de ficheros modificados: git add . Para dejar nuestros cambios marcados en nuestro repositorio local, hacemos un commit: git commit -m "Texto relacionado con nuestro trabajo" Ahora el archivo esta incluído en el HEAD, pero aún no en tu repositorio remoto.&#8230;</p>
<p>The post <a href="https://www.neleste.com/primeros-pasos-en-git-control-de-versiones/">Primeros pasos en GIT (control de versiones)</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Hacer checkout a un repositorio</strong></p>
<p>Crea una copia local del repositorio ejecutando</p>
<pre>git clone /ruta_a/repositorio</pre>
<p>Si utilizas un servidor remoto, ejecuta:</p>
<pre>git clone usuario@host:/ruta_a/repositorio</pre>
<p><strong>Puedes registrar cambios (añadirlos al Index) usando</strong></p>
<pre>git add "ruta_fichero"</pre>
<p>Para añadir todos los cambios de ficheros modificados:</p>
<pre>git add .</pre>
<p>Para dejar nuestros cambios marcados en nuestro repositorio local, hacemos un commit:</p>
<pre>git commit -m "Texto relacionado con nuestro trabajo"</pre>
<p>Ahora el archivo esta incluído en el HEAD, pero aún no en tu repositorio remoto.</p>
<p><strong>envío de cambios</strong></p>
<p>Primero nos traemos los cambios que pueda haber enviado otro usuario a la rama master de nuestro repositorio local</p>
<pre>git pull origin master</pre>
<p>Por último subimos los cambios</p>
<pre>git push origin master</pre><p>The post <a href="https://www.neleste.com/primeros-pasos-en-git-control-de-versiones/">Primeros pasos en GIT (control de versiones)</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.neleste.com/primeros-pasos-en-git-control-de-versiones/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Importar/Exportar tablas de bbdd PostgreSQL</title>
		<link>https://www.neleste.com/importarexportar-tablas-de-bbdd-postgresql/</link>
		
		<dc:creator><![CDATA[juanra]]></dc:creator>
		<pubDate>Tue, 17 Sep 2013 10:38:08 +0000</pubDate>
				<category><![CDATA[postgreSQL]]></category>
		<category><![CDATA[Tutos]]></category>
		<guid isPermaLink="false">http://www.neleste.com/?p=337</guid>

					<description><![CDATA[<p>Para realizar esto, hay dos métodos, crear un dump, o crear un archivo sql ejecutable. Es preferible esta segunda opción, puesto que la primera puede dar problemas por la versión de PostgreSQL que tengamos instalada. Veamos a continuación los dos métodos: Mediante un dump: #Creamos el archivo dump pg_dump -Fc -t nombre_tabla nombre_bbdd_origen -f /direccion_destino.dump #Restauramos el archivo dump pg_restore -t nombre_tabla -d nombre_bbdd_destino /direccion_destino.dump Mediante un .sql: #Creamos el archivo .sql pg_dump nombre_bbdd_origen -t nombre_tabla > /direccion_destino.sql #Ahora dentro&#8230;</p>
<p>The post <a href="https://www.neleste.com/importarexportar-tablas-de-bbdd-postgresql/">Importar/Exportar tablas de bbdd PostgreSQL</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Para realizar esto, hay dos métodos, crear un dump, o crear un archivo sql ejecutable. Es preferible esta segunda opción, puesto que la primera puede dar problemas por la versión de PostgreSQL que tengamos instalada. Veamos a continuación los dos métodos:</p>
<p><strong>Mediante un dump:</strong></p>
<pre style="font-size:11px">
#Creamos el archivo dump
pg_dump -Fc -t nombre_tabla nombre_bbdd_origen -f /direccion_destino.dump
#Restauramos el archivo dump
pg_restore -t nombre_tabla -d nombre_bbdd_destino /direccion_destino.dump
</pre>
<p><strong>Mediante un .sql:</strong></p>
<pre style="font-size:11px">
#Creamos el archivo .sql
pg_dump nombre_bbdd_origen -t nombre_tabla > /direccion_destino.sql
#Ahora dentro del cliente pgsql (yo uso este, pero puedes usar otro método)
\i /direccion_destino.sql
</pre>
<p><br clear="all" /><br />
Si suprimimos el parámetros -t nombre_tabla, podremos volcar la bbdd completa.</p><p>The post <a href="https://www.neleste.com/importarexportar-tablas-de-bbdd-postgresql/">Importar/Exportar tablas de bbdd PostgreSQL</a> first appeared on <a href="https://www.neleste.com">Neleste</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
