<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4078181550703157824</id><updated>2024-09-22T06:36:33.327-06:00</updated><category term="Java"/><category term="C#"/><category term="Desarrollo"/><category term="Apache Netbeans"/><category term=".netcore"/><category term="API"/><category term="BaseDatos"/><category term="NetBeans"/><category term="CosmosDB"/><category term="development"/><category term="SQL"/><category term="azure"/><category term="Javascript"/><category term="Visual Studio"/><category term="html"/><category term="web"/><category term="apps"/><category term="la nube"/><category term="Data Analytics / Big Data"/><category term="Datamining"/><category term="Programación"/><category term="Python"/><category term="Página web"/><category term="bigdata"/><category term="Android"/><category term="Rest"/><category term="SQLServer"/><category term="iOs"/><category term="websocket"/><category term="Core2.0"/><category term="Google"/><category term="JDK"/><category term="JavaFx"/><category term="Machine learning"/><category term="Mobile"/><category term="MongoDB"/><category term="Netbean11"/><category term="amazon"/><category term="blazor"/><category term="desktop app"/><category term="devintersection"/><category term="jdk14"/><category term="movile"/><category term="software"/><category term="Administración de proyectos"/><category term="Codenameone"/><category term="Core2.2"/><category term="Eclipse"/><category term="EntityFramework"/><category term="Flutter"/><category term="Herramienta"/><category term="JSON"/><category term="Java 12"/><category term="Maven"/><category term="OpenJDK"/><category term="R"/><category term="RStudio"/><category term="SQLite"/><category term="Telecomunicaciones"/><category term="Ubuntu"/><category term="VS2019"/><category term="VSCode"/><category term="crawler"/><category term="nube"/><category term="programacion"/><category term="vuejs"/><category term="Angular"/><category term="Bitcoin"/><category term="Computadora"/><category term="Costa Rica"/><category term="Dark"/><category term="Dart"/><category term="Deep learning"/><category term="Derby"/><category term="Diseño"/><category term="GPS"/><category term="Git"/><category term="Gluon"/><category term="Gmail"/><category term="IDE"/><category term="Ionic"/><category term="Lenguajes"/><category term="Linux"/><category term="LiteDB"/><category term="Location"/><category term="MBA"/><category term="ML.net"/><category term="Mave"/><category term="Microservices"/><category term="Minería"/><category term="Payara"/><category term="RESTful"/><category term="Robótica"/><category term="Runnable"/><category term="SOAP"/><category term="Share"/><category term="Sistema de Información"/><category term="StoreProcedure"/><category term="Sync"/><category term="Thread"/><category term="VS2017"/><category term="Visual Studio Code"/><category term="Web Services"/><category term="Xamarin"/><category term="aws"/><category term="boostrap"/><category term="contenedores"/><category term="cronjob"/><category term="cross-platform"/><category term="css"/><category term="csv"/><category term="delete documents"/><category term="docket"/><category term="economia"/><category term="google analytics"/><category term="google cloud"/><category term="graphql"/><category term="hardware"/><category term="historia"/><category term="hybrid"/><category term="interfaz"/><category term="javascr"/><category term="jlink"/><category term="jquery"/><category term="kubernetes"/><category term="native"/><category term="opinión"/><category term="scheduling task"/><category term="sistemas"/><category term="spark"/><category term="web hosting"/><category term="windows"/><category term="windows&#xa;cmd"/><title type='text'>Computación Diversa</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>117</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-1120255527310134074</id><published>2021-05-14T21:41:00.003-06:00</published><updated>2021-05-14T21:44:19.634-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Analytics / Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Datamining"/><title type='text'>Kaggle</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghC4xNzKmPqsePCMsi5431r0GWk6ZsuQW3VzCUwD5b2KC0AOpdiTmehsO_S8R1d0zPB1Np6wgoR5pbu4hBt8NLsBXlnmUwLhetLZu0cWnEMb1XqvzPwqVXXuGCdp-ycH-6AUUmMyvOjff1/s1593/Image+5.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;769&quot; data-original-width=&quot;1593&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghC4xNzKmPqsePCMsi5431r0GWk6ZsuQW3VzCUwD5b2KC0AOpdiTmehsO_S8R1d0zPB1Np6wgoR5pbu4hBt8NLsBXlnmUwLhetLZu0cWnEMb1XqvzPwqVXXuGCdp-ycH-6AUUmMyvOjff1/s320/Image+5.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Kaggle es un excelente recurso que podemos usar
para nuestro trabajo de análisis de datos. Esta plataforma ofrece una gran cantidad
de bases de datos y además soluciones a problemas que podemos estudiar para ir
mejorando nuestras habilidades con el análisis de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando iniciamos a trabajar o estudiar el análisis
de datos es importante tener información o datos con los que se pueda investigar
y producir algún resultado para ir entendiendo los temas que se requieren con
el fin de convertirse en un analista de datos. Por eso es fundamental encontrar
datasets con los que se realicen estas tareas. Al momento de trabajar en este artículo
Kaggle cuenta con 50.000 datasets para uso publico y 400.000 códigos que
podemos estudiar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Claro que existen otros lugares y repositorios
de datos públicos que podemos utilizar para trabajar en análisis de datos, pero
este repositorio cuenta con una gran variedad de temas sobre los que podemos
iniciar nuestro camino al análisis de datos. Por ejemplo, existen datasets para
trabajar en áreas financieras, para trabajar en áreas médicas, para poder analizar
problemas de cambio climático, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Tiene una interfaz muy amigable con la que
podemos navegar por los diferentes datasets. En algunos casos podemos también ver
los resultados brindados por otras personas que han trabajo en los diferentes
sets de datos con lo cual es fácil de comparar las soluciones desarrolladas por
otras personas al mismo problema que nosotros estábamos viendo y de esta manera
poder aprender otras maneras de atacar un mismo problema. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Por otro lado, la plataforma cuenta con una serie
de cursos con los que podamos aprender o reforzar los conocimientos que ya
tenemos sobre los temas de análisis de datos. Como sabemos esto se convirtió en
un área fundamental para cualquier empresa que desee mejorar su productividad. Hoy
en día es una necesidad. Pero no esta limitado a esto, organizaciones gubernamentales,
etc. están trabajando en este tipo de emprendimientos para mejorar muchas áreas
de su organización.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Además, de contar con documentación para poder
entender los diferentes datos o datasets con los que cuenta la plataforma. Es muy
fácil de usar y no tiene costo por su uso.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;b&gt;Podemos encontrar todo esto en&lt;/b&gt; &lt;a href=&quot;http://www.kaggle.com&quot;&gt;www.kaggle.com&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/p/data-analytics-big-data.html&quot; style=&quot;background: rgb(255, 255, 255); color: #25a186; cursor: pointer; font-family: Lora, serif; font-size: 20px; text-align: justify; text-decoration-line: none;&quot;&gt;Regresar&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/1120255527310134074/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/05/kaggle.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1120255527310134074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1120255527310134074'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/05/kaggle.html' title='Kaggle'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghC4xNzKmPqsePCMsi5431r0GWk6ZsuQW3VzCUwD5b2KC0AOpdiTmehsO_S8R1d0zPB1Np6wgoR5pbu4hBt8NLsBXlnmUwLhetLZu0cWnEMb1XqvzPwqVXXuGCdp-ycH-6AUUmMyvOjff1/s72-c/Image+5.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-778957917481513569</id><published>2021-05-09T22:45:00.005-06:00</published><updated>2021-05-09T22:45:58.705-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="jlink"/><category scheme="http://www.blogger.com/atom/ns#" term="Maven"/><title type='text'>Crear una aplicación con Java Swing y Jlink</title><content type='html'>&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Con Netbeans 12.3 y Maven es muy fácil crear
una aplicación de Java que puede ser ejecutada sin necesidad del IDE. En muchas
ocasiones no aprendemos esto en la academia y queremos saberlo para poder
distribuir nuestras aplicaciones. Para mi ejemplo vamos a trabajar con Windows,
pero pueden utilizar otro sistema operativo.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Realmente para hacer esto es muy simple. Lo primero
que debemos hacer es un proyecto nuevo con Maven de tipo Java Application&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgySz4vKBaJJOa9KZ2vMt0VagL1EoIjwO6lC9KM5vJVXMyrgx8rXsXg2-d-cIvFx22rV19ivePTXfR1U0XLToX9sbaANwHoQfFnYxTgphoHsoysZhyLUR-mEA5jY6Doal-mp9Zb_J1182vV/s750/Picture1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;392&quot; data-original-width=&quot;750&quot; height=&quot;283&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgySz4vKBaJJOa9KZ2vMt0VagL1EoIjwO6lC9KM5vJVXMyrgx8rXsXg2-d-cIvFx22rV19ivePTXfR1U0XLToX9sbaANwHoQfFnYxTgphoHsoysZhyLUR-mEA5jY6Doal-mp9Zb_J1182vV/w543-h283/Picture1.png&quot; width=&quot;543&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;En mi caso el proyecto se llama HelloSwing. Luego
vamos a crear una clase Main. A continuación una clase de tipo JFrame. Lo que
tenemos que hacer es llamar el JFrame en el main para ejecutar la ventana. &lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El siguiente paso es crear un module-info&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvBTEvdOXFCW_ZzySxIoZzPqT0_0VyCaj4nIV9yRyloiU51AOESHCBRaRa5ChpceqgPR_kJm_zsPZnm4abZNrdgQyU8JwePO8GOq2Cxgee9nx7eP49MpQzBGiY4S0GI6ZDi9w-f73jhy2/s522/Picture2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;156&quot; data-original-width=&quot;522&quot; height=&quot;153&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvBTEvdOXFCW_ZzySxIoZzPqT0_0VyCaj4nIV9yRyloiU51AOESHCBRaRa5ChpceqgPR_kJm_zsPZnm4abZNrdgQyU8JwePO8GOq2Cxgee9nx7eP49MpQzBGiY4S0GI6ZDi9w-f73jhy2/w510-h153/Picture2.png&quot; width=&quot;510&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;En este modulo tenemos que agregar las
siguientes líneas. La línea 8 es para poder utilizar JFrame (swing) y debemos
exportar el modulo donde esta nuestra clase Main.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;A partir de este momento se tienen que agregar
algunos plugins de Maven para poder continuar con nuestro proyecto.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El primer plugin seria &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuDkzBRhil7I-tdcLLjaJ2-4qEFE6uds6t99CS1uO7WVo6qOpX_b7aDT340wFNnd3uPu4DjhBKGlxXWIFVyyCq6Rs8HDIHc1jP3RzYZ2Hx2ZoY9nCwIK_qySp4pYjwUVvU2Kh96Wuw9LEc/s875/Picture3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;155&quot; data-original-width=&quot;875&quot; height=&quot;101&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuDkzBRhil7I-tdcLLjaJ2-4qEFE6uds6t99CS1uO7WVo6qOpX_b7aDT340wFNnd3uPu4DjhBKGlxXWIFVyyCq6Rs8HDIHc1jP3RzYZ2Hx2ZoY9nCwIK_qySp4pYjwUVvU2Kh96Wuw9LEc/w568-h101/Picture3.png&quot; width=&quot;568&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;Después de
esto debemos agregar otro plugin para poder crear todo lo necesario que se
requiere para correr nuestra aplicación.&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXPXz9cDFL16wHASE4aTPTOLv6M6DPdH_8SmE2ZVqYPKnJpbNj6fvm3uat2SErNkgyY2JePziaBtZ75dHCWrc7qyxBiJOUOU-PWwIKrAhAi-mwedLxOXKyXNWpzJ3CzKn20w0XhjvmR56g/s975/Picture4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;343&quot; data-original-width=&quot;975&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXPXz9cDFL16wHASE4aTPTOLv6M6DPdH_8SmE2ZVqYPKnJpbNj6fvm3uat2SErNkgyY2JePziaBtZ75dHCWrc7qyxBiJOUOU-PWwIKrAhAi-mwedLxOXKyXNWpzJ3CzKn20w0XhjvmR56g/w556-h196/Picture4.png&quot; width=&quot;556&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;El nombre
de nuestra imagen es swing luego ocupamos agregar la línea 23 para que se crea
el punto de inicio de nuestra app. Donde requerimos el nombre del ArtifactId.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho7D2QXyQFpwUBETFbTwR6VDZ_AZ-TItaWvOr-ms1TW-R8W60y4d_f-vXP9iVk7Bgcz_0fvCaPlLqRGG4y5hgZDhUCU73GXKEx-gUGaK5oWbTvbehRbeIxeiS0xy6xCsEyUwXC1TKeiFL2/s975/Picture5.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;706&quot; data-original-width=&quot;975&quot; height=&quot;331&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho7D2QXyQFpwUBETFbTwR6VDZ_AZ-TItaWvOr-ms1TW-R8W60y4d_f-vXP9iVk7Bgcz_0fvCaPlLqRGG4y5hgZDhUCU73GXKEx-gUGaK5oWbTvbehRbeIxeiS0xy6xCsEyUwXC1TKeiFL2/w456-h331/Picture5.png&quot; width=&quot;456&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;El Artifact Id lo podemos encontrar en las propiedades
de nuestro proyecto. Y debemos agregar el nombre con el paquete de la clase
Main para que nos funcione. En mi caso es com.testing.helloswing.Main&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En Netbeans
debemos correr el Goal de jlink para que compile nuestra imagen y cree todo lo
necesario.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwUn-lIVt-JmR-jNyCNgW3mu2Zy2bkQOcQnW_zElFBhtPd8OASa8LAXBdV3mD3inxkIEWl0-6GolstKMEgxrTfoRZCf4I1usq6SWGUBx1eQ1HrjS8Fg-0D50RWfbUxEm95bnNMQI5cG6Yk/s414/Picture7.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;413&quot; data-original-width=&quot;414&quot; height=&quot;386&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwUn-lIVt-JmR-jNyCNgW3mu2Zy2bkQOcQnW_zElFBhtPd8OASa8LAXBdV3mD3inxkIEWl0-6GolstKMEgxrTfoRZCf4I1usq6SWGUBx1eQ1HrjS8Fg-0D50RWfbUxEm95bnNMQI5cG6Yk/w387-h386/Picture7.png&quot; width=&quot;387&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Cuando corremos esta tarea (jlink) tenemos que
ir a buscar en la carpeta de target de Maven lo que se generó. En mi caso la
carpeta que se llama Maven-jlink (puede que existan otras carpetas dentro). Se tiene
que buscar un archivo llamado swing.bat. Si damos doble clic a esto nos
ejecutara nuestra aplicación.&lt;/span&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ya de esta manera podemos correr nuestra aplicación
sin necesidad del IDE. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/778957917481513569/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/05/crear-una-aplicacion-con-java-swing-y.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/778957917481513569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/778957917481513569'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/05/crear-una-aplicacion-con-java-swing-y.html' title='Crear una aplicación con Java Swing y Jlink'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgySz4vKBaJJOa9KZ2vMt0VagL1EoIjwO6lC9KM5vJVXMyrgx8rXsXg2-d-cIvFx22rV19ivePTXfR1U0XLToX9sbaANwHoQfFnYxTgphoHsoysZhyLUR-mEA5jY6Doal-mp9Zb_J1182vV/s72-w543-h283-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-3835586543816735664</id><published>2021-04-30T21:41:00.004-06:00</published><updated>2021-04-30T21:42:26.398-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crawler"/><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><title type='text'>Desarrollar un Crawler simple con Python</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaI7kVLjdKXAGdpUz8YIV7-cMGj7RnKxVkDxkY_rlHCMk7zJxMQlzJLx8k4t6WrPzcFfNa6hNMN0xlf-c2Ah3RblysiHQ4xp_6mer5UwSKFGBHRWx3dP3_j-yFGptZI3BAyieFwYkczzO-/s1280/spider-24625_1280.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1189&quot; data-original-width=&quot;1280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaI7kVLjdKXAGdpUz8YIV7-cMGj7RnKxVkDxkY_rlHCMk7zJxMQlzJLx8k4t6WrPzcFfNa6hNMN0xlf-c2Ah3RblysiHQ4xp_6mer5UwSKFGBHRWx3dP3_j-yFGptZI3BAyieFwYkczzO-/s320/spider-24625_1280.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para poder desarrollar el Crawler con Python lo
primero que debemos hacer es instalar la librería llamada scrapy. Esta librería
la podemos instalar usando pip. Con esta librería ya instalada vamos a crear un
documento de Python llamado simpleCrawler.py&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Dentro de este documento vamos a crear una
clase llamada Crawler&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold;&quot;&gt;scrapy&lt;/span&gt;

&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #bb0066; font-weight: bold;&quot;&gt;Crawler&lt;/span&gt;(scrapy&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;Spider):
    name &lt;span style=&quot;color: #333333;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;SimpleCrawler&#39;&lt;/span&gt;
    start_urls &lt;span style=&quot;color: #333333;&quot;&gt;=&lt;/span&gt; [&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;https://crawler-test.com/&#39;&lt;/span&gt;]

    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #0066bb; font-weight: bold;&quot;&gt;parse&lt;/span&gt;(&lt;span style=&quot;color: #007020;&quot;&gt;self&lt;/span&gt;, response):

        links &lt;span style=&quot;color: #333333;&quot;&gt;=&lt;/span&gt; response&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;xpath(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;//a&quot;&lt;/span&gt;)
        &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;for&lt;/span&gt; link &lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;in&lt;/span&gt; links:
            link &lt;span style=&quot;color: #333333;&quot;&gt;=&lt;/span&gt; link&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;xpath(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;@href&quot;&lt;/span&gt;)&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;extract()
            &lt;span style=&quot;color: #007020;&quot;&gt;print&lt;/span&gt;(link)
            &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;yield&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Como podemos observar lo primero que vamos
tener es el import de la librería scrapy luego vamos a heredar a la clase
Crawler scrapy.Spider.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En este caso el código es muy simple. Le vamos
a dar un nombre al crawler con la variable name y luego le pasamos el URL que
deseamos escanear con la variable start_urls. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Luego definimos una función que se llama parse
que espera como parámetro el response de la carga del url.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Como podemos observar la variable links
contiene todos los elementos de tipo anchor de la página que escaneamos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Después de esto dentro del ciclo vamos encontrando
cada uno de los Urls que tiene el sitio web y lo imprimimos para mostrarlo en
el console. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para poder ver el resultado debemos correr el siguiente
comando scrapy runspider simpleCrawler.py&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esto nos da como resultado &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtKwssbJNF8dCH4ODFkhvbPi4F47BPq6IJrziTShxAN6uyvnEoI5M_w3tusZjlruL0eP271BSX2kMNc_knhIJQfEQGZhyphenhyphenlbyEpESzvp1gBKo-5cah3lJQluM8Q7Z8Agrx_1azlT1tPJr8J/s873/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;380&quot; data-original-width=&quot;873&quot; height=&quot;209&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtKwssbJNF8dCH4ODFkhvbPi4F47BPq6IJrziTShxAN6uyvnEoI5M_w3tusZjlruL0eP271BSX2kMNc_knhIJQfEQGZhyphenhyphenlbyEpESzvp1gBKo-5cah3lJQluM8Q7Z8Agrx_1azlT1tPJr8J/w481-h209/Picture1.png&quot; width=&quot;481&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/3835586543816735664/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/para-poder-desarrollar-el-crawler-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/3835586543816735664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/3835586543816735664'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/para-poder-desarrollar-el-crawler-con.html' title='Desarrollar un Crawler simple con Python'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaI7kVLjdKXAGdpUz8YIV7-cMGj7RnKxVkDxkY_rlHCMk7zJxMQlzJLx8k4t6WrPzcFfNa6hNMN0xlf-c2Ah3RblysiHQ4xp_6mer5UwSKFGBHRWx3dP3_j-yFGptZI3BAyieFwYkczzO-/s72-c/spider-24625_1280.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-1378177718848702226</id><published>2021-04-29T20:18:00.005-06:00</published><updated>2021-04-29T20:23:16.845-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Desarrollar un Crawler simple con Java</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilW-NLMaoVtkvzE41Dj5kQrpGv7JxqCBBIzv5mgpLAy3mRX5yU8tSDTWK0Dv6XsVL9Zm9kg-84tebUnI5IOp8vw5crLRbeWFnpPcnmcPh8v4oNfAzUwNQs8rN9ZVcKG388Mu3yvuy7upHU/s1280/spider-24625_1280.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1189&quot; data-original-width=&quot;1280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilW-NLMaoVtkvzE41Dj5kQrpGv7JxqCBBIzv5mgpLAy3mRX5yU8tSDTWK0Dv6XsVL9Zm9kg-84tebUnI5IOp8vw5crLRbeWFnpPcnmcPh8v4oNfAzUwNQs8rN9ZVcKG388Mu3yvuy7upHU/s320/spider-24625_1280.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span face=&quot;&amp;quot;Helvetica&amp;quot;,sans-serif&quot; lang=&quot;ES-CR&quot; style=&quot;background: white; color: black; mso-ansi-language: ES-CR; mso-color-alt: windowtext;&quot;&gt;Lo primero que vamos a hacer es crear
un proyecto nuevo basado en Maven &lt;/span&gt;&lt;span face=&quot;&amp;quot;Helvetica&amp;quot;,sans-serif&quot; lang=&quot;ES-CR&quot; style=&quot;background: white; mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijO6Q6szWa3dKTqoTQxG6wRtQNlaWDs-HZQZj6EEYtJV64lx-Aaze5txn7QCTrmm-fbjroJ2xBJcz5XtMt6Lw3gtaUHxmAOou50MJT3FhQVTG7kJCmokTJOLaPqo9enjMbgHcjb2PP3GDF/s975/Picture1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;680&quot; data-original-width=&quot;975&quot; height=&quot;334&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijO6Q6szWa3dKTqoTQxG6wRtQNlaWDs-HZQZj6EEYtJV64lx-Aaze5txn7QCTrmm-fbjroJ2xBJcz5XtMt6Lw3gtaUHxmAOou50MJT3FhQVTG7kJCmokTJOLaPqo9enjMbgHcjb2PP3GDF/w479-h334/Picture1.png&quot; width=&quot;479&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Al proyecto le vamos a asignar el nombre de SimpleCrawler
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwNEUdNdHYfBSNMsfFttqkZ_VNsuF2H0f8Xl5rYf-9DXQBqU1eShIAN2Yg4ghop5QxwC0RKAXV_N_m2MUiGWJpaPLjlt5LmIDc9bTTZP2ISCiHM0zLRRoI9XflEJYNZmFsUoLO1rXLmd-a/s975/Picture2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;673&quot; data-original-width=&quot;975&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwNEUdNdHYfBSNMsfFttqkZ_VNsuF2H0f8Xl5rYf-9DXQBqU1eShIAN2Yg4ghop5QxwC0RKAXV_N_m2MUiGWJpaPLjlt5LmIDc9bTTZP2ISCiHM0zLRRoI9XflEJYNZmFsUoLO1rXLmd-a/w464-h320/Picture2.png&quot; width=&quot;464&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Le tenemos que dar al botón de finalizar. Con esto
listo vamos a necesitar una librería que la tenemos que agregar al proyecto
usando Maven. La librería se llama jsoup. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ3hyphenhyphenGhOO9vS06uDU8kUI3UrVypZvHZdhgsRKNSGwon-0d8PBNgBUJ4UzP0ac8wEumNABlCyfveaeRe3XDhPFTaThsRiIVgZsNiui0AnrP9jxDL1DHhB7Rkgt8ijwCsFv-ijqnbWJlGc6x/s911/Picture3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;406&quot; data-original-width=&quot;911&quot; height=&quot;233&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ3hyphenhyphenGhOO9vS06uDU8kUI3UrVypZvHZdhgsRKNSGwon-0d8PBNgBUJ4UzP0ac8wEumNABlCyfveaeRe3XDhPFTaThsRiIVgZsNiui0AnrP9jxDL1DHhB7Rkgt8ijwCsFv-ijqnbWJlGc6x/w522-h233/Picture3.png&quot; width=&quot;522&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Jsoup Url: &lt;a href=&quot;https://jsoup.org/download&quot;&gt;https://jsoup.org/download&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con esto listo ya podemos hacer el código para
escanear la página web. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;!-- HTML generated using hilite.me --&gt;&lt;div style=&quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&quot;&gt;&lt;pre style=&quot;margin: 0; line-height: 125%&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;package&lt;/span&gt; com&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;mycompany&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;simplecrawler&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;;&lt;/span&gt;

&lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold&quot;&gt;java.io.IOException&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold&quot;&gt;org.jsoup.Jsoup&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold&quot;&gt;org.jsoup.nodes.Document&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold&quot;&gt;org.jsoup.nodes.Element&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold&quot;&gt;org.jsoup.select.Elements&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;;&lt;/span&gt;


&lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #BB0066; font-weight: bold&quot;&gt;Main&lt;/span&gt; &lt;span style=&quot;color: #333333&quot;&gt;{&lt;/span&gt;

    &lt;span style=&quot;color: #888888&quot;&gt;/**&lt;/span&gt;
&lt;span style=&quot;color: #888888&quot;&gt;     * @param args the command line arguments&lt;/span&gt;
&lt;span style=&quot;color: #888888&quot;&gt;     */&lt;/span&gt;
    &lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #333399; font-weight: bold&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #0066BB; font-weight: bold&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;String&lt;span style=&quot;color: #333333&quot;&gt;[]&lt;/span&gt; args&lt;span style=&quot;color: #333333&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #333333&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #333333&quot;&gt;{&lt;/span&gt;
            var url &lt;span style=&quot;color: #333333&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0&quot;&gt;&amp;quot;https://crawler-test.com/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;;&lt;/span&gt;
            
            Document doc &lt;span style=&quot;color: #333333&quot;&gt;=&lt;/span&gt; Jsoup&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;connect&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;url&lt;span style=&quot;color: #333333&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;();&lt;/span&gt;
            Elements links &lt;span style=&quot;color: #333333&quot;&gt;=&lt;/span&gt; doc&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #fff0f0&quot;&gt;&amp;quot;a[href]&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;);&lt;/span&gt;
            &lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;Element &lt;span style=&quot;color: #997700; font-weight: bold&quot;&gt;link:&lt;/span&gt; links&lt;span style=&quot;color: #333333&quot;&gt;){&lt;/span&gt;
                System&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;link&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;attr&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #fff0f0&quot;&gt;&amp;quot;href&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;));&lt;/span&gt;
            &lt;span style=&quot;color: #333333&quot;&gt;}&lt;/span&gt;
        &lt;span style=&quot;color: #333333&quot;&gt;}&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;IOException ex&lt;span style=&quot;color: #333333&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #333333&quot;&gt;{&lt;/span&gt;
           System&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;err&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000CC&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #333333&quot;&gt;(&lt;/span&gt;ex&lt;span style=&quot;color: #333333&quot;&gt;);&lt;/span&gt;
        &lt;span style=&quot;color: #333333&quot;&gt;}&lt;/span&gt;
    &lt;span style=&quot;color: #333333&quot;&gt;}&lt;/span&gt;
    
&lt;span style=&quot;color: #333333&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Como podemos observar en el código lo primero
que debemos hacer es importar las librerías de jsoup necesarias &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;import
org.jsoup.Jsoup;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;import
org.jsoup.nodes.Document;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;import org.jsoup.nodes.Element;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;import org.jsoup.select.Elements;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Luego vamos a crear una variable llama Url
donde podemos agregar la pagina que deseamos escanear. Después de esto creamos
un objeto de tipo Document con el que vamos a obtener el documento encontrado
del url, usando el método get que vamos a usar del método connect de la clase
Jsoup. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Después de esto creamos un objeto de tipo
Elements llamado links basado en la búsqueda que deseamos hacer como se puede
observar con el objeto doc.select. En este caso preguntamos por todos los
anchores que tengan una referencia. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Finalmente,
con un ciclo for podemos recorrer el resultado de links con todas las posibles
url o links que se encontraron. Finalmente se imprimen en la consola para poder
ver que fue lo encontrado. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;span style=&quot;background-color: white; color: #292929; font-family: Lora, serif; font-size: 20px; text-align: justify;&quot;&gt;Lo que nos da como resultado lo siguiente&amp;nbsp;&lt;/span&gt;&lt;o:p style=&quot;background-color: white; color: #292929; font-family: Lora, serif; font-size: 20px; text-align: justify;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQVNMUgrz-lJNADWhkkm4MVsV7rpsGD0yYwiY0qiiZ0CysfAN9r2o-XGp8Ttl1eFKkDo_mkzZmuTd7xEXkW3bxkLhxr2rp7GfJs7KLP-vXxB1RcKg4uxEX08HUYK4IirWHwbe2bO7ARHuS/s540/Image+43.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;434&quot; data-original-width=&quot;540&quot; height=&quot;337&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQVNMUgrz-lJNADWhkkm4MVsV7rpsGD0yYwiY0qiiZ0CysfAN9r2o-XGp8Ttl1eFKkDo_mkzZmuTd7xEXkW3bxkLhxr2rp7GfJs7KLP-vXxB1RcKg4uxEX08HUYK4IirWHwbe2bO7ARHuS/w419-h337/Image+43.jpg&quot; width=&quot;419&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #292929; font-family: Lora, serif; font-size: 20px; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/1378177718848702226/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/desarrollar-un-crawler-simple-con-java.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1378177718848702226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1378177718848702226'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/desarrollar-un-crawler-simple-con-java.html' title='Desarrollar un Crawler simple con Java'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilW-NLMaoVtkvzE41Dj5kQrpGv7JxqCBBIzv5mgpLAy3mRX5yU8tSDTWK0Dv6XsVL9Zm9kg-84tebUnI5IOp8vw5crLRbeWFnpPcnmcPh8v4oNfAzUwNQs8rN9ZVcKG388Mu3yvuy7upHU/s72-c/spider-24625_1280.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-7826161157055678263</id><published>2021-04-21T17:37:00.002-06:00</published><updated>2021-04-21T17:37:46.718-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".netcore"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="programacion"/><title type='text'>Desarrollar un Crawler simple con C#</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8kJkKBlEVj8BxbYu-8KcBPghsC4t2QCN_e5urfirs1a11DTCf1uoP75y1HCvZT_NicqQT6mtBok8HN3QzFPVhoXW-ZgFkeFUFEV0519I6aL8Z3O7cR9ZOvNkDqyM0XGJpMBcG8Ap9Jv9T/s1280/spider-24625_1280.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1189&quot; data-original-width=&quot;1280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8kJkKBlEVj8BxbYu-8KcBPghsC4t2QCN_e5urfirs1a11DTCf1uoP75y1HCvZT_NicqQT6mtBok8HN3QzFPVhoXW-ZgFkeFUFEV0519I6aL8Z3O7cR9ZOvNkDqyM0XGJpMBcG8Ap9Jv9T/s320/spider-24625_1280.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo primero que tenemos que hacer es un proyecto
nuevo con Visual Studio. En mi caso vamos a usar Visual Studio 2019. El proyecto
lo vamos a desarrollar usando C#. Vamos a hacer un Console app el cual le vamos
a llamar SimpleCrawler.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifOOeVFTGf3lnxNlesyjQWEs6a8tpQuDQXOi7XKkiXeK56exqVgFbOxGuoEtXMfn67GORB5czvQgT_XAQ8jfkiub1UHIGU_HeB79DtIipJWFcbnewV7spxVrFntVJNpnjrQUp-xG72j7CG/s975/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;646&quot; data-original-width=&quot;975&quot; height=&quot;309&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifOOeVFTGf3lnxNlesyjQWEs6a8tpQuDQXOi7XKkiXeK56exqVgFbOxGuoEtXMfn67GORB5czvQgT_XAQ8jfkiub1UHIGU_HeB79DtIipJWFcbnewV7spxVrFntVJNpnjrQUp-xG72j7CG/w467-h309/Picture1.png&quot; width=&quot;467&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;El proyecto va a hacer. netcore 3.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Cuando el proyecto esta listo vamos a buscar en
NuGet el paquete HtmlAgilityPack y lo vamos a instalar.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSE4QvlaIb95e98xb241KBhQYp33x3BPyM1D8MJtEEEcsHEcIwwiAY2n7Nw0WRdwU2Pqyh83RZz-ROtmNXuk0_lBB4KMCrNILl_-HIeCrVjiOveavYaJCr-a7XfvxcmOXdB64nc30Kkmo3/s975/Picture2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;131&quot; data-original-width=&quot;975&quot; height=&quot;80&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSE4QvlaIb95e98xb241KBhQYp33x3BPyM1D8MJtEEEcsHEcIwwiAY2n7Nw0WRdwU2Pqyh83RZz-ROtmNXuk0_lBB4KMCrNILl_-HIeCrVjiOveavYaJCr-a7XfvxcmOXdB64nc30Kkmo3/w597-h80/Picture2.png&quot; width=&quot;597&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Con este paquete
instalado lo primero que vamos a hacer en la clase Main es importar las librerías
necesarias para crear nuestro crawler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6P_LODBb7sUBRnC1xIWcHuL8M3FeZ1LOMHMsidweTPVtSU3Yi1Clki0Y3XgpX8OHgBI5MI5NgXNMXm5hbHOtH8ibQnsqcywss76j2zauN6RnR1P5PDjX3szTQyOnZSNeLSvzJ7vFgFc61/s770/Picture3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;114&quot; data-original-width=&quot;770&quot; height=&quot;89&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6P_LODBb7sUBRnC1xIWcHuL8M3FeZ1LOMHMsidweTPVtSU3Yi1Clki0Y3XgpX8OHgBI5MI5NgXNMXm5hbHOtH8ibQnsqcywss76j2zauN6RnR1P5PDjX3szTQyOnZSNeLSvzJ7vFgFc61/w608-h89/Picture3.png&quot; width=&quot;608&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Ahora vamos
a ver como se construye el código para ir navegando en el contenido de la página
web.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZSy09A8VB8ZffNeKmU7D7PBftYWte-lQi29wnBMdSBDVsZQ_YeL3j1sa6ln6uocCxVHGNtBHyFEHmqStqaReBkGsDQPfBbdJo3Z-HheLggU-f6QnfrI2RKTe6-gvcWV5KN24iP34Dxqkn/s908/Picture4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;511&quot; data-original-width=&quot;908&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZSy09A8VB8ZffNeKmU7D7PBftYWte-lQi29wnBMdSBDVsZQ_YeL3j1sa6ln6uocCxVHGNtBHyFEHmqStqaReBkGsDQPfBbdJo3Z-HheLggU-f6QnfrI2RKTe6-gvcWV5KN24iP34Dxqkn/w518-h292/Picture4.png&quot; width=&quot;518&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Ahora, en la línea 12 tenemos que copiar el URL
de la página web que deseamos escanear. Con esto vamos a crear un cliente Http
para leer el documento web como se puede ver en la línea 14. Ya en la línea 16 obtenemos
el contenido del documento de Html. Este al final lo podemos obtener como si
fuera una variable string. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Ahora si ya con esto listo en la línea 18
creamos un objeto de tipo HtmlDocument del paquete AgilityPack. El cual nos va
a permitir convertir el documento que tenemos de tipo string a un objeto de
tipo AgilityPack. Esto lo cargamos en la línea 19. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Para poder leer todos los links usamos la línea
21 el cual usa el document que creamos anteriormente y cargamos todos los nodos.
De estos nodos que cargamos vamos a seleccionar únicamente los anchor (links). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;En la línea 23 vamos a recorrer todos los
resultados encontrados en la línea 21 y vamos a ir uno por uno mostrando el
contenido de cada uno de estos. Usando la propiedad OuterHtml que tenemos en la
línea 24.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Lo que nos da como resultado lo siguiente&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM7LSfaR2R-0Pa_SzWMb9NRMwmjLbdcTvpIwdiUYaIZ7-ESDUyq_5qPYW7VMbSVF91YjnQeBqAWhr44LnzVoHopI8BbXxY50WVqcrkvfDIpzAkHNWePXLo1dn3HseWvHMCEfxXKpcymtD5/s975/Picture5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;483&quot; data-original-width=&quot;975&quot; height=&quot;258&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM7LSfaR2R-0Pa_SzWMb9NRMwmjLbdcTvpIwdiUYaIZ7-ESDUyq_5qPYW7VMbSVF91YjnQeBqAWhr44LnzVoHopI8BbXxY50WVqcrkvfDIpzAkHNWePXLo1dn3HseWvHMCEfxXKpcymtD5/w520-h258/Picture5.png&quot; width=&quot;520&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Aquí podemos ver todos los links que tiene la página
web. Ahora cada uno podría hacer lo que necesita con estos links. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Podemos recordar que con este paquete podemos
buscar cualquier tipo de nodo que tenemos en los sitios web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/2021/02/que-es-un-website-crawler.html&quot; target=&quot;_blank&quot;&gt;¿Qué es un Crawler?&amp;nbsp;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/7826161157055678263/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/desarrollar-un-crawler-simple-con-c.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/7826161157055678263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/7826161157055678263'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/desarrollar-un-crawler-simple-con-c.html' title='Desarrollar un Crawler simple con C#'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8kJkKBlEVj8BxbYu-8KcBPghsC4t2QCN_e5urfirs1a11DTCf1uoP75y1HCvZT_NicqQT6mtBok8HN3QzFPVhoXW-ZgFkeFUFEV0519I6aL8Z3O7cR9ZOvNkDqyM0XGJpMBcG8Ap9Jv9T/s72-c/spider-24625_1280.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-4887402631069908733</id><published>2021-04-17T17:55:00.003-06:00</published><updated>2021-04-17T17:55:43.369-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="boostrap"/><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaz"/><category scheme="http://www.blogger.com/atom/ns#" term="programacion"/><title type='text'>Bootstrapstudio</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt6hcsn-R8dmQ9rsuOv0CHrMd5vHYqkSvEaAK56FnjTMbQIhn5y2gN5Dv4qBogNxNcAkn1uvyJj9alwqA-q_sHVGuKYtV-G8x8VhhO69T8AKlQvz_scRi4Nf3B5QuKqTI7DEMud102rrYf/s1833/Image+43.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;935&quot; data-original-width=&quot;1833&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt6hcsn-R8dmQ9rsuOv0CHrMd5vHYqkSvEaAK56FnjTMbQIhn5y2gN5Dv4qBogNxNcAkn1uvyJj9alwqA-q_sHVGuKYtV-G8x8VhhO69T8AKlQvz_scRi4Nf3B5QuKqTI7DEMud102rrYf/s320/Image+43.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;A la hora de hacer una aplicación existen
diferentes componentes los cuales deben de ser de mucha calidad para que nuestras
apps funcionen de la mejor manera. Siempre prestamos mucha atención a el diseño
de la base de datos, la arquitectura de nuestras aplicaciones, etc. Y creo que
todos los programadores sabemos lo importante que es el desarrollo de la
interfaz gráfica. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Al final los usuarios lo único que saben y ven
es la interfaz gráfica. Claro que esperan que la app sea rápida y que funcione
de manera adecuada, pero uno de los aspectos más importante es que sea muy
amigable con el usuario. Esto es un factor clave. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Muchos programadores no somos realmente buenos a
la hora de hacer las interfaces graficas y requerimos de ayuda de diseñadores gráficos
que nos brinden las ideas más modernas y una experiencia de usuario única para nuestras
apps. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Puede que alguno recuerde lo que era crear
interfaces de usuario desde cero usando aplicaciones de drag &amp;amp; drop que nos
permitía de manera visual crear interfaces rápidamente. Bueno esta herramienta
Boostrapstudio nos permite hacer esto. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Me parece una herramienta increíble ya que además
de permitirnos la posibilidad de crear interfaces de manera visual también tiene
una serie de templates o estructuras predeterminadas que podemos usar para ir
construyendo nuestra aplicación. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Otra de los aspectos positivas que pude
encontrar es que es muy amigable y su interfaz es sumamente fácil de usar. Tiene
herramientas para ir acomodando de manera visual todos los elementos y esto genera
el HTML y el css por nosotros. Pero no se limita a únicamente a esta tarea, ya
que cuanta con herramientas para generar Minify de los html y javascript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Tiene opciones para ir desarrollando
componentes de SEO y puede ayudarnos a genere SASS si es que lo deseamos. Los cambios
se pueden ir guardando con forme progresa el desarrollo de nuestra aplicación. Hoy
en día que podemos hacer aplicaciones HTML que pueden correr como desktop, web
y móviles nos da una gran facilidad para la creación de interfaces. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando vamos desarrollando nuestra aplicación podemos
ir viendo cómo va quedando la versión de diferentes tamaños, ya que se crea una
versión responsive de nuestra app.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esta herramienta tiene integrado Boostrap y Font
awesome lo que nos permite ir agregando iconos, imágenes y los diferentes
componentes de boostrap en nuestra app. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En el sitio web podemos encontrar muchos tutoriales
para ver cómo utilizar la herramienta de una forma correcta y simple. además de
un área donde explica todas las configuraciones y herramientas con las que cuenta
la herramienta. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;BoostrapStudio cuenta con dos licencias una estándar
que cuesta $39 con la que se puede obtener la versión gratis por un año y la
otra licencia que es LifeTime que cuesta $69 con la que se puede obtener las actualizaciones
de por vida. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Personalmente me parece una excelente herramienta
si estamos trabajando en el desarrollo de interfaces graficas. Se puede usar un
demo gratuito en la pagina que demuestra como funciona esta herramienta. Para los
que no somos tan expertos en el desarrollo gráficos nos permitirá hacer interfaces
profesionales mucho mas fácil. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://bootstrapstudio.io/&quot; target=&quot;_blank&quot;&gt;BoostrapStudio&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/4887402631069908733/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/bootstrapstudio.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/4887402631069908733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/4887402631069908733'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/04/bootstrapstudio.html' title='Bootstrapstudio'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt6hcsn-R8dmQ9rsuOv0CHrMd5vHYqkSvEaAK56FnjTMbQIhn5y2gN5Dv4qBogNxNcAkn1uvyJj9alwqA-q_sHVGuKYtV-G8x8VhhO69T8AKlQvz_scRi4Nf3B5QuKqTI7DEMud102rrYf/s72-c/Image+43.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-9110783847238991344</id><published>2021-03-29T22:25:00.001-06:00</published><updated>2021-03-29T22:25:12.815-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaFx"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Crear Windows Native JavaFX app</title><content type='html'>&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Para hacer este tipo de aplicación realmente es
muy sencillo y vamos a ver paso a paso que debemos hacer. Lo primero que tenemos
que hacer es asegurarnos que tenemos los siguientes componentes&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Apache
Netbeans 12.3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;JDK11&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;JavaFX13&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Maven&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!--[if !supportLists]--&gt;&lt;p&gt;&lt;/p&gt;







&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En el caso de JavaFX no es necesario instalarlo
(si gustan pueden siguiendo las instrucciones de Gluon) pero si debemos de
instalar JDK 11 para poder hacer este ejemplo. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora lo primero que tenemos que hacer es crear
un proyecto nuevo en Netbeans &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFgEB_i83FNCOWs2kxm4FV52BsS43DsKNX5ToLOVqreCKKpWBogaBireqthN5SNWI6PeWBL8F0oz64VKDak6jmCv2aq9XgEARdEgR6vTfdV4NCxPPwmdf1hZtpSTZwIzsRQGOxPab7VXXz/s975/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;670&quot; data-original-width=&quot;975&quot; height=&quot;325&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFgEB_i83FNCOWs2kxm4FV52BsS43DsKNX5ToLOVqreCKKpWBogaBireqthN5SNWI6PeWBL8F0oz64VKDak6jmCv2aq9XgEARdEgR6vTfdV4NCxPPwmdf1hZtpSTZwIzsRQGOxPab7VXXz/w472-h325/Picture1.png&quot; width=&quot;472&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;A este proyecto le voy a poner Hello y podemos
dejar todas las otras propiedades como están. Para terminar con este paso
debemos de dar clic a finalizar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para este pequeño ejemplo no tenemos que
agregar código nuevo o cambiar el que está. Ya que vamos a utilizar lo que se
creo por defecto. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQoRLyeVYjXvdstYGmSZd9Imb6M3ju3TpHLgnsuf1_CtAE2rDaoEcTvbAeJqfw2cCWMk0YbGM_j5mkW-f0QnBR8bPw4cr0pYwAVqS7aScgVhBqw8JD8ilhpw9xG7HfeXNIEdSSlH72sGLm/s377/Picture2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;342&quot; data-original-width=&quot;377&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQoRLyeVYjXvdstYGmSZd9Imb6M3ju3TpHLgnsuf1_CtAE2rDaoEcTvbAeJqfw2cCWMk0YbGM_j5mkW-f0QnBR8bPw4cr0pYwAVqS7aScgVhBqw8JD8ilhpw9xG7HfeXNIEdSSlH72sGLm/s320/Picture2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora vamos a tener que ir al pom.xml &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv3CdvXgMhEc8KZqgJhwVvz1T7fPJSrTAj8j0tdthF03Ai4BkfUQEkbQxuHcMTfVT2TwJf34UMPa22IgVM2zw6-tktqB3CbVa78geFMDEYPKO2gNGKVIBRO3WsOSw81dU88VuWY2hqPiZk/s320/Picture3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;150&quot; data-original-width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv3CdvXgMhEc8KZqgJhwVvz1T7fPJSrTAj8j0tdthF03Ai4BkfUQEkbQxuHcMTfVT2TwJf34UMPa22IgVM2zw6-tktqB3CbVa78geFMDEYPKO2gNGKVIBRO3WsOSw81dU88VuWY2hqPiZk/s0/Picture3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para agregar unas líneas que nos ayudaran a
construir nuestro ejecutable. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyZUp4I3KY7ptKPS7zVBl1uf_G1uimRZk69T8ZwAcTfFkrSLqF4xehK5t1gw_VMG1HsN2FMHZ4XVPbY9g69W4cBQV3MHlZdbhYyYFuuxJl_LrIGSUfI9SXSAB5RtlXCBgEIhrUOMTxgK2q/s842/Picture4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;419&quot; data-original-width=&quot;842&quot; height=&quot;206&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyZUp4I3KY7ptKPS7zVBl1uf_G1uimRZk69T8ZwAcTfFkrSLqF4xehK5t1gw_VMG1HsN2FMHZ4XVPbY9g69W4cBQV3MHlZdbhYyYFuuxJl_LrIGSUfI9SXSAB5RtlXCBgEIhrUOMTxgK2q/w415-h206/Picture4.png&quot; width=&quot;415&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En la sección del plugin de javafx-mave-plugin
vamos a agregar las líneas anteriores que podemos ver en la imagen. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con esto
vamos a ejecutar el Gaol de Jlink &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjrCghB74XulAEmZzcxiIcgfNDfZmF4geDIcLOk0ymef1AbXmiqfW6v-8JsrWvTnJyqNvqiMkqLna63KvpnBb_jI2pR1bwd9d2ucVJmxtb6A4tCkwhXXOJ8sdVb3TYiExqDQTflEWwbk4U/s447/Picture5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;447&quot; data-original-width=&quot;342&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjrCghB74XulAEmZzcxiIcgfNDfZmF4geDIcLOk0ymef1AbXmiqfW6v-8JsrWvTnJyqNvqiMkqLna63KvpnBb_jI2pR1bwd9d2ucVJmxtb6A4tCkwhXXOJ8sdVb3TYiExqDQTflEWwbk4U/s320/Picture5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Simplemente clic derecho y ejecutamos el Goal. Cuando
este termine nos debemos de ir al folder donde esta nuestro proyecto. En este caso
vamos a tener un folder llamado hello dentro de target. Después debemos de ir
al folder bin y buscar un archivo llamado hellofx.bat. A este ultimo le podemos
dar doble clic y va a ejecutar nuestra aplicación. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://mega.nz/file/BuwCGCgT#-EFgKpfDsFyg_55WAhuzMuXLkP4EWDJfLX29t7sxFjU&quot; target=&quot;_blank&quot;&gt;Ejemplo&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/9110783847238991344/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/03/crear-windows-native-javafx-app.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/9110783847238991344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/9110783847238991344'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/03/crear-windows-native-javafx-app.html' title='Crear Windows Native JavaFX app'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFgEB_i83FNCOWs2kxm4FV52BsS43DsKNX5ToLOVqreCKKpWBogaBireqthN5SNWI6PeWBL8F0oz64VKDak6jmCv2aq9XgEARdEgR6vTfdV4NCxPPwmdf1hZtpSTZwIzsRQGOxPab7VXXz/s72-w472-h325-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-135890161185563053</id><published>2021-03-23T17:46:00.003-06:00</published><updated>2021-03-23T17:47:38.705-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>¿Cómo resucitar a un muerto?</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjluG-iFe_2gXJe1qoq03GdJG2MSXCTA9kwNcGGSokRyYo7vUGDYEe1rhaN-puNohQLtRZSIxrwwHctaibVJJH1AtSx0BEoMvpZnXOPClfuWxe4cFzoFdiKoRMMEDgHoyUBoTRJkc_7zqFU/s450/450_1000.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;336&quot; data-original-width=&quot;450&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjluG-iFe_2gXJe1qoq03GdJG2MSXCTA9kwNcGGSokRyYo7vUGDYEe1rhaN-puNohQLtRZSIxrwwHctaibVJJH1AtSx0BEoMvpZnXOPClfuWxe4cFzoFdiKoRMMEDgHoyUBoTRJkc_7zqFU/s320/450_1000.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Hace unos días estaba viendo la posibilidad de comprar
una Tablet exclusivamente para escuchar música mientras trabajo o poner algo de
fondo. Básicamente que pudiera usar solamente el navegador. En eso recordé que
tenia una compaq mini que tiene más de 10 años creo. Con el paso del tiempo
esta computadora dejo de ser funcional ya que estaba muy lenta y prácticamente cualquier
cosa que se hacia se congelaba. Pero bueno pensé en darle una segunda
oportunidad.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Primero le cambie el sistema operativo por un Windows
10 lo cual no resultó para nada buena idea. La maquina quedó peor de lo que
estaba. Por lo tanto, instale un Ubuntu para ver si mejoraba y efectivamente
funcionó mejor. Sin embargo, tenia problemas con el rendimiento. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Pensé que instalar un ChromeOS me funcionaria
entonces me di a la tarea de investigar un poco más sobre este sistema operativo
y creo que tiene exactamente lo que yo ocupo. Solo el navegador, pero después de
un rato de investigar encontré que este sistema operativo solo esta disponible
de manera oficial para las Chromebook y no para todas las marcas. Al final no encontré
una forma de descargarlo para instalarlo. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo que si encontré fue que existe una versión un
poco más genérica que es ChromiumOS. Esta versión esta libre para el uso de
cualquiera, sin embargo, encontré otros problemas como que no está para todos
los hardware. Se puede buscar diferentes repositorios y compilados e intentar
ver cual funciona. El problema es que no hay garantía en algunos foros encontré
mensajes de precaución sobre la distribución que se usa, y este no tiene verificación
de actualizaciones. final no intente usar este. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Trate de buscar FireFoxOs pero no tiene versiones
resientes y la nueva versión no se ve como algo que pudiera usar en mi compaq. Por
lo que decidí buscar versiones de Linux para ver cual podía usar en esta maquina
tan limitada. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;La primera distribución que use fue Linux Mint.
Lo que puedo decir es que es una versión muy bonita y fácil de usar. Además, funcionó
mejor que la versión que tenia de Ubuntu. Pero no era lo que realmente podía usar
mi compu. Por eso descargue Lubuntu lo cual trabajó mucho mejor que las otras distribuciones
de Linux. Pero no me gusta tanto esta distribución, además después de un rato
de uso ya se notaba que la maquina estaba presentando problemas. Pase a una distribución
mucho más liviana que era Tiny Linux. Esta última cargo super rápido y la instalación
fue muy rápida pero no funciona o al menos esta que instale no funcionó. Es decir,
esta tiene algunos problemas. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Me puse a buscar un poco más y encontré una versión
de Linux que es similar a ChromeOS. Es una distribución nueva. La descargué, pero
tampoco me funcionó. Esta se llama Linux Web Remix. Puede que en el futuro esta
mejor. Creo que vale la pena darle seguimiento.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Después de todos estos intentos, trate de ver cómo
funcionaba mi compa con Android. Descargué la última versión y la instalé. La cual
se instaló muy rápido, una configuración rápida y listo. El problema es que no trabajó
bien con mi compu. Después de la instalación cuando entre al ambiente me dio
muchos problemas con el PlayStore y otras apps. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Luego pasé a instalar Ubuntu Mate. Este tiene
una opción para instalar lo mínimo necesario. Lo cual fue la opción que utilicé
para mi computadora. Este último se instaló rápido y bueno después de usarlo
por un día entero no me ha dado problemas y lo he podido usar perfectamente para
lo que quería.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para este experimento y poder revivir una computadora
vieja que ya estaba en el olvido la mejor opción es Ubuntu Mate (por lo menos
en mi experimento). Esto nos permite sacarle el último jugo de vida a esas viejas
computadoras que ya no soportan muchos de los sistemas operativos modernos. Sin
embargo, Ubuntu Mate tiene una interfaz moderna que es muy fácil de usar y muy
amigable con el usuario. &lt;/span&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,sans-serif; mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;a href=&quot;https://ubuntu-mate.org/&quot; target=&quot;_blank&quot;&gt;Ubuntu Mate&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/135890161185563053/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/03/como-resucitar-un-muerto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/135890161185563053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/135890161185563053'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/03/como-resucitar-un-muerto.html' title='¿Cómo resucitar a un muerto?'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjluG-iFe_2gXJe1qoq03GdJG2MSXCTA9kwNcGGSokRyYo7vUGDYEe1rhaN-puNohQLtRZSIxrwwHctaibVJJH1AtSx0BEoMvpZnXOPClfuWxe4cFzoFdiKoRMMEDgHoyUBoTRJkc_7zqFU/s72-c/450_1000.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-4942951613926106078</id><published>2021-03-10T18:04:00.001-06:00</published><updated>2021-03-10T18:04:04.162-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="graphql"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><title type='text'>GraphQL</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4vv4hJrv6OGmT13uZVL1G5eOQELK7-G7M6hbjOWmdpMYwKc8D91dwrVGI_cxiJq-XHNthIeo6IC8pSLxQ4-XKqona1DCapdOp-5VbTyMw8_bJ5KrTWNgOTiP3l0wE5DUHBOR5VASQwm2k/s181/Image+1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;181&quot; data-original-width=&quot;130&quot; height=&quot;244&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4vv4hJrv6OGmT13uZVL1G5eOQELK7-G7M6hbjOWmdpMYwKc8D91dwrVGI_cxiJq-XHNthIeo6IC8pSLxQ4-XKqona1DCapdOp-5VbTyMw8_bJ5KrTWNgOTiP3l0wE5DUHBOR5VASQwm2k/w175-h244/Image+1.jpg&quot; width=&quot;175&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Es una nueva forma para consultar datos a
trabajes de APIs. Hace unos días me toco trabajar con un API que trabaja con
esta nueva forma, al inicio fue un poco complicado, pero después de la implementación
del cliente las cosa se hacen mucho más simple. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esta tecnología le da la oportunidad al usuario
de controlar mejor los resultados que espera ya que se pueden hacer queries o consultas
que se envían por medio de la petición del http donde se envía justamente lo
que queremos y las columnas con los datos que esperamos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esto permite que por medio de un solo endpoint
o conexión del API podemos realizar muchas consultas diferentes que se adapten
a la necesidad del usuario en lugar de los resultados estándares que usualmente
estamos esperando. Con una implementación de un API un poco más tradicional se
tienen que hacer muchos tipos de peticiones para cada uno de los tipos de datos
que se desean. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Otra razón muy interesante para utilizar esta tecnología
es que podemos ir cambiando nuestros APIs de una forma más simple sin tener que
ir creando versiones. Ya que al final el usuario es quien decide que datos quiere
en su resultado y además la consulta que quiere pedir. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esta tecnología fue desarrollada por Facebook para
utilizarlos de manera interna en su entorno. Con el tiempo ha ido ganando terreno
y otras empresas lo han estado desarrollando. GraphQL esta disponible para ser
desarrollado con muchos diferentes lenguajes de programación. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Además, existe mucha documentación con la que
podemos aprender como usarlo y cómo implementarlo para nuestros servicios. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El query y los datos que deseamos enviar se
escriben en algo muy similar a JSON y este es el que va adaptando los datos que
el resultado va generando, al final vamos a tener un resultado de JSON basado
en nuestras consultas. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Vamos a tener una organización de tipos que nos
permite ir construyendo la consulta y de esta forma evitar el uso de múltiples endpoints.
Lo que hace mucho más simple la construcción de nuestros APIs y la implementación
para los usuarios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;a href=&quot;https://graphql.org/&quot; target=&quot;_blank&quot;&gt;Podemos encontrar más información aquí.&lt;o:p&gt;&lt;/o:p&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/4942951613926106078/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/03/graphql.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/4942951613926106078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/4942951613926106078'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/03/graphql.html' title='GraphQL'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4vv4hJrv6OGmT13uZVL1G5eOQELK7-G7M6hbjOWmdpMYwKc8D91dwrVGI_cxiJq-XHNthIeo6IC8pSLxQ4-XKqona1DCapdOp-5VbTyMw8_bJ5KrTWNgOTiP3l0wE5DUHBOR5VASQwm2k/s72-w175-h244-c/Image+1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-8574424928353585408</id><published>2021-02-04T17:02:00.002-06:00</published><updated>2021-04-30T21:42:08.539-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crawler"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="Página web"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>¿Qué es un website Crawler?</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir4FOwFiJcVlK-JR05_O4IKG5YUiFwG55KCBHtdUqhrYd4PT6FlTr3arGPEH6z9IMFUkflV_31z5PeiKM0cxbu-Od4N1u7qgi30Ma5iNYHAve7n6Zz-nOuDxgsbtvneAMbq2zo7QuMEg7Y/s1280/black-30656_1280.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;926&quot; data-original-width=&quot;1280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir4FOwFiJcVlK-JR05_O4IKG5YUiFwG55KCBHtdUqhrYd4PT6FlTr3arGPEH6z9IMFUkflV_31z5PeiKM0cxbu-Od4N1u7qgi30Ma5iNYHAve7n6Zz-nOuDxgsbtvneAMbq2zo7QuMEg7Y/s320/black-30656_1280.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esto es una aplicación o software que se desarrolla
con el fin de escanear o analizar páginas web. Este lo podemos usar para extraer
datos específicos de los sitios web como títulos, palabras calve, descripción o
información para entender de que trata la pagina y de alguna manera poder
agruparla o clasificarla. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Existen muchas aplicaciones en línea o
descargables que nos permiten escanear paginas web y clasificar o extraer datos.
Esto nos permite de alguna manera encontrar información que se necesita sin
tener que usar nuestro propio tiempo para analizar los diferentes sitios web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Por ejemplo, si existe algún sitio web que
tiene una cantidad ilimitada de paginas web, ya que estas se crean de manera dinámica
y queremos extraer alguna información especifica como el precio de algunos
productos podemos crear este tipo de aplicaciones y encontrar el patrón para
generar el llamado de las diferentes paginas web para poder encontrar el precio.
Esto podría tardar horas, hasta días dependiendo del sitio web, pero con un
software que escanee la página web no tenemos que estar esperando o nosotros
revisando de manera manual estos documentos web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Existen muchos datos que son públicos que necesitamos,
pero no tienen una estructura simple para poder clasificar u organizar para lo
que necesitamos por lo que podemos crear un sistema que se encargue de leer
todo el contenido e inicie a clasificar y organizar esta información para
generar un resultado correcto o deseado.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Otro ejemplo es que si ocupamos encontrar páginas
que contengan cierta palabra clave para identificar cuales son las que deseamos
poner atención. Si nos tocara hacer alguna investigación o leer algunas páginas
web con algún tema particular podemos usar un software de este tipo para encontrar
únicamente lo que realmente necesitamos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Como se menciono anteriormente se puede buscar
alguna aplicación de las que existen para crear nuestros sistemas de escaneo o
podemos desarrollar nuestro propio sistema de escaneo. Claro que el segundo va
a requerir un poco de tiempo para poder entender como funciona o que datos
tiene el sistema. Ya que lo que al final vamos a tener que interpretar son
todos los contenidos que llegar por medio del html. Puede que existan cosas muy
especificas que requiere que nosotros tengamos que desarrollar nuestro propio
sistema de escaneo y además no es tan difícil crear un simple sistema para esto
por lo que nos podríamos ahorrar algo de dinero en licencias o mensualidades de
este tipo de aplicaciones. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En conclusión, con palabras muy simple el
crawler es una aplicación que nos permite leer y analizar páginas web con el
fin de entender e interpretar mucho mejor los datos que contienen estas aplicaciones
o paginas web. Usando palabras claves, elementos de html o contenido especifico
que deseamos encontrar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/2021/04/desarrollar-un-crawler-simple-con-java.html&quot; target=&quot;_blank&quot;&gt;Ejemplo Java&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/2021/04/desarrollar-un-crawler-simple-con-c.html&quot; target=&quot;_blank&quot;&gt;Ejemplo C#&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/2021/04/para-poder-desarrollar-el-crawler-con.html&quot; target=&quot;_blank&quot;&gt;Ejemplo Python&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/8574424928353585408/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/02/que-es-un-website-crawler.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/8574424928353585408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/8574424928353585408'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/02/que-es-un-website-crawler.html' title='¿Qué es un website Crawler?'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir4FOwFiJcVlK-JR05_O4IKG5YUiFwG55KCBHtdUqhrYd4PT6FlTr3arGPEH6z9IMFUkflV_31z5PeiKM0cxbu-Od4N1u7qgi30Ma5iNYHAve7n6Zz-nOuDxgsbtvneAMbq2zo7QuMEg7Y/s72-c/black-30656_1280.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-1206554895062909295</id><published>2021-01-17T11:28:00.003-06:00</published><updated>2021-01-17T11:28:17.903-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="apps"/><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="desktop app"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="iOs"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><title type='text'>¿Qué es Flutter? </title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc62bWXEyxV4uBMpWrjvsdX4x_sqqhQKQwT1wBiQB5CPmRu8-CkckFIrHxk-4iApTU-rKZiquEoaz810z2VwJVFO27vtuAR5fepJLoDWZizA-PwPeDESjjykJDH3Kzwyl_BmxfeZx5HHQl/s582/Image+1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;467&quot; data-original-width=&quot;582&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc62bWXEyxV4uBMpWrjvsdX4x_sqqhQKQwT1wBiQB5CPmRu8-CkckFIrHxk-4iApTU-rKZiquEoaz810z2VwJVFO27vtuAR5fepJLoDWZizA-PwPeDESjjykJDH3Kzwyl_BmxfeZx5HHQl/s320/Image+1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Flutter es un software de desarrollado para
crear interfaces graficas. Este es open-source y esta desarrollado por Google. Permite
hacer interfaces para diferentes sistemas operativos. Inicialmente fue
desarrollado para móviles lo cual soportaba Android y iOs. Actualmente también
se pueden desarrollar interfaces para Windows, Linux, Mac y web. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Flutter utiliza una serie de componentes gráficos
que permite crear interfaces de muy alta calidad para los diferentes
dispositivos. Permite el desarrollo de interfaces nativas para las diferentes
plataformas donde se puede correr. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Este kit de desarrollo de software utiliza Dart
como lenguaje de desarrollo. El cual es muy fácil de aprender si vienes de
lenguajes como Java, C++ o C#. La curva de aprendizaje realmente no es muy
grande, después de instalarle y ver un poco la documentación uno puede rápidamente
trabajar con este nuevo lenguaje.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Una gran ventaja que tiene es que su
rendimiento es de una aplicación nativa en las diferentes plataformas. Por lo
que se pueden hacer aplicaciones de mucha calidad de manera rápida. Además, es independiente
de IDE por lo que podemos seleccionar con cual deseamos trabajar en una lista
de opciones con las que contamos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Yo me di a la tarea de crear una app usando
Flutter en Android Studio. Esta app este hecho solo para Android y iOs. Lo interesantes
es que tiene un solo código base para ambas aplicaciones. Algunas pequeñas configuraciones
se pueden hacer en cada app (Android o iOs) pero realmente es lo mínimo. El framework
se encarga de construir y compilar cada aplicación desde el código de Dart que
uno esta desarrollando. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Además, con el framwork de Flutter ya se cuanta
con una gran cantidad de iconos y diferentes componentes gráficos que podemos usar
sin tener que instalar ninguna librería. Ya el framework cuanta con todo esto para
hacer el desarrollo más simple. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuenta con una gran cantidad de widgets que nos
permiten hacer cualquier cosa que necesitamos en nuestras aplicaciones ya sea
para móviles como para otras plataformas. De momento no he tratado de hacer una
aplicación para desktop, pero me imagino que no hay mucha dificultad para pasar
la app que tengo a cualquier otra plataforma. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;La documentación con la que cuenta Flutter también
es muy extensa por lo que no tendríamos dificultad para poder iniciar a
trabajar con este kit de desarrollo. La documentación explica el flujo de
desarrollo, los diferentes componentes y como poder publicar las aplicaciones
que deseamos enviar a Google Play o Apps Store. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo único que debemos saber es que para publicar
la app para iOs se requiere una Mac con Xcode para poder generar el ejecutable
y subirlo al App Store. En el caso de Android ocupamos instalar el Android SDK.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En general me parece que es una excelente
herramienta para poder desarrollar aplicaciones móviles. En algún momento cerca
estaré tratando de desarrollar aplicaciones web o desktop para ver que tal la
experiencia. Me gusta mucho lo fácil que es el desarrollo con Dart y lo fácil que
es crear aplicaciones nativas para diferentes plataformas de manera muy fácil. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/1206554895062909295/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/01/que-es-flutter.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1206554895062909295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1206554895062909295'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/01/que-es-flutter.html' title='¿Qué es Flutter? '/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc62bWXEyxV4uBMpWrjvsdX4x_sqqhQKQwT1wBiQB5CPmRu8-CkckFIrHxk-4iApTU-rKZiquEoaz810z2VwJVFO27vtuAR5fepJLoDWZizA-PwPeDESjjykJDH3Kzwyl_BmxfeZx5HHQl/s72-c/Image+1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-7427185517875883510</id><published>2021-01-14T22:21:00.003-06:00</published><updated>2021-01-14T22:21:25.343-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".netcore"/><category scheme="http://www.blogger.com/atom/ns#" term="LiteDB"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLite"/><title type='text'>Dos opciones para almacenar datos de manera local en proyectos .netcore</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKvIC3DsZ9DF3WjROgL8DApaBstXJFYJi7WKIDt4H3UBnlJxWwJTo5LqaKz2Oca8r4KcQNLFp3xJzScuWUK8azdPg8J3zfgZ0SjHNGOOVPIL2ay5p2PmtBP_gF2IBzfmKARZlTBVvynVGJ/s496/Image+1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;257&quot; data-original-width=&quot;496&quot; height=&quot;215&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKvIC3DsZ9DF3WjROgL8DApaBstXJFYJi7WKIDt4H3UBnlJxWwJTo5LqaKz2Oca8r4KcQNLFp3xJzScuWUK8azdPg8J3zfgZ0SjHNGOOVPIL2ay5p2PmtBP_gF2IBzfmKARZlTBVvynVGJ/w414-h215/Image+1.jpg&quot; width=&quot;414&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Buscando algunas alternativas rápidas para almacenar
datos en un proyecto que estaba realizando encontré LiteDB una base de datos
que podemos agregar a nuestros proyectos y manejarla de manera local. Claro
todos o muchos ya conocemos SQLite que podemos usarla para el almacenamiento de
datos con el mismo principio. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Una de las razones por las que quería buscar
otra alternativa a SQLite era que la última versión con la que había trabajado
no permitía crear bases de datos encriptadas o con contraseña. Sin embargo, encontré
que la versión 3 se puede usar contraseñas para manejar la base de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Bueno cual es la diferencia entre estas dos
bases de datos. Lo primero que debemos saber es que SQLite funciona no solo
para .net podemos usarla en otros lenguajes de programación como Java. Además,
es muy popular para el desarrollo de disipativos móviles. Esta base de datos
nos permite guardar la información junto a nuestra app sin tener que instalar
un gran motor de base de datos. Es muy rápida y podemos almacenar muchos datos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Los datos son almacenados en como cualquier
otra base de datos basada en SQL y las consultas o transacciones en general
utiliza el lenguaje de SQL para poder manipular los datos. Por otro lado, se puede
usar en varios sistemas operativos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora por otro lado LiteDB es también una base
de datos que se puede manejar empotrada en las aplicaciones como SQLite. Pero esta
base de datos es un poco más similar a mongo. Podemos utilizar Json para
almacenar la información dentro de nuestra base de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Una desventaja que tiene esta base de datos es
que solo funciona para proyectos .net pero puede correr en cualquier sistema
operativo que deseamos. Con las pruebas que he realizado en esta base de datos
es muy rápido a la hora de guardar y leer los datos. Al podemos utilizar Json
hace que muchas veces manipular ciertos tipos de datos sea más sencillo, ya que
no tenemos que crear las estructuras y se puede cambiar fácilmente en cualquier
momento.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Me gusta mucho la idea que permite utilizar contraseñas
y además tiene varias formas para proteger la información. Cuando creamos la información
de conexión podemos seleccionar cual algoritmo de seguridad queremos usar para
que esta proteja nuestra base de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;LiteDB cuenta con un administrador de base de
datos con el que podemos explorar los datos de manera fácil y simple. Para poder
usarla solo se debe de instalar una librería usando nuget. Como muchas otras bases
de datos de este tipo también se crea un único archivo para administrar la información
que deseamos guardar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Finalmente, esta última base de datos también
soporte lenguaje de SQL y expresiones de Linq para poder tener acceso a la información
o manipularla en general. Yo de momento estoy usando LiteDB que me parece muy interesante
y más fácil de usar para este tipo de proyectos, pero creo que se puede lograr el
mismo resultado con SQLite (esta es mucho más popular). Al final seleccionar alguna
de las dos depende del gusto de cada uno y puede que explorar cuanta documentación
tenga ayude a tomar la decisión. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;PT-BR&quot; style=&quot;mso-ansi-language: PT-BR;&quot;&gt;Donde podemos encontrar estas bases de datos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;PT-BR&quot; style=&quot;mso-ansi-language: PT-BR;&quot;&gt;&lt;a href=&quot;https://www.litedb.org/&quot; target=&quot;_blank&quot;&gt;Litedb&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;PT-BR&quot; style=&quot;mso-ansi-language: PT-BR;&quot;&gt;&lt;a href=&quot;https://www.sqlite.org/index.html&quot; target=&quot;_blank&quot;&gt;SQLite&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/7427185517875883510/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2021/01/dos-opciones-para-almacenar-datos-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/7427185517875883510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/7427185517875883510'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2021/01/dos-opciones-para-almacenar-datos-de.html' title='Dos opciones para almacenar datos de manera local en proyectos .netcore'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKvIC3DsZ9DF3WjROgL8DApaBstXJFYJi7WKIDt4H3UBnlJxWwJTo5LqaKz2Oca8r4KcQNLFp3xJzScuWUK8azdPg8J3zfgZ0SjHNGOOVPIL2ay5p2PmtBP_gF2IBzfmKARZlTBVvynVGJ/s72-w414-h215-c/Image+1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-8622044007335817239</id><published>2020-12-29T14:52:00.004-06:00</published><updated>2020-12-29T14:55:05.544-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BaseDatos"/><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="CosmosDB"/><title type='text'>Buscar documentos sin alguna propiedad en CosmosDB</title><content type='html'>&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrEYZ86qSr8j-JRNO_IZHRblkHY7iHxp6-7NyiT4D6dWbj-EvNMx8kC5yiYhNLaG5dWmXNJ961hKbWAhNDxy6r3iP2JqtpAVJihTuEertNG8s1adEKZZ_q70DqyNIOrsjl5AEyooDYQObZ/s233/clases.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;227&quot; data-original-width=&quot;233&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrEYZ86qSr8j-JRNO_IZHRblkHY7iHxp6-7NyiT4D6dWbj-EvNMx8kC5yiYhNLaG5dWmXNJ961hKbWAhNDxy6r3iP2JqtpAVJihTuEertNG8s1adEKZZ_q70DqyNIOrsjl5AEyooDYQObZ/s0/clases.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Como sabemos CosmosDB no tiene una estructura
especifica con los documentos que podemos almacenar. Ya que vamos a guardar los
datos utilizando Json, esto nos permite tener una estructura muy flexible y que
puede cambiar en cualquier momento. Es una de sus grandes ventajas.&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con el paso del tiempo podemos actualizar los
documentos o agregar documentos nuevos con propiedades distintas, lo cual puede
provocar que tengamos documentos con datos distintos en su “estructura” o sus propiedades
de Json.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Hace unos días me toco buscar documentos que no
tenían una propiedad especifica después de una pequeña búsqueda encontré la
forma y es muy simple. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Utilizando &lt;b&gt;not is_defined(Propiedad)&lt;/b&gt; podemos
buscar dentro de nuestra base de datos cuales documentos no tiene esa propiedad
en específico. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Por ejemplo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;SELECT &lt;/span&gt;* &lt;span style=&quot;color: #2b00fe;&quot;&gt;FROM &lt;/span&gt;c &lt;span style=&quot;color: #2b00fe;&quot;&gt;WHERE &lt;/span&gt;NOT is_defined(c.tax)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Este script nos permite buscar en la base de datos
todos los documentos que no tienen la propiedad tax. Con lo que podemos luego
actualizar el documento agregándole la propiedad de ser necesario. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/2018/01/cosmosdb.html&quot;&gt;Regresar&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/8622044007335817239/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/12/buscar-documentos-sin-alguna-propiedad.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/8622044007335817239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/8622044007335817239'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/12/buscar-documentos-sin-alguna-propiedad.html' title='Buscar documentos sin alguna propiedad en CosmosDB'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrEYZ86qSr8j-JRNO_IZHRblkHY7iHxp6-7NyiT4D6dWbj-EvNMx8kC5yiYhNLaG5dWmXNJ961hKbWAhNDxy6r3iP2JqtpAVJihTuEertNG8s1adEKZZ_q70DqyNIOrsjl5AEyooDYQObZ/s72-c/clases.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-5187786165104607404</id><published>2020-12-28T11:37:00.002-06:00</published><updated>2020-12-28T11:37:15.436-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="BaseDatos"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLite"/><title type='text'>Java SQLite</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDhjkJc6Me12qOLPEBdnJcffOvGIho-7rKVqfer8SgWzjUfVuNYRCP2XtuEJElTHebl087G78j7VhnIJ-eNzVpKaU4GNUxZxk1OSJsqeGGRlUHkAq4FvGFaAo43IH0w0MFPLeTBf3liJAH/s384/Image+1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;185&quot; data-original-width=&quot;384&quot; height=&quot;203&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDhjkJc6Me12qOLPEBdnJcffOvGIho-7rKVqfer8SgWzjUfVuNYRCP2XtuEJElTHebl087G78j7VhnIJ-eNzVpKaU4GNUxZxk1OSJsqeGGRlUHkAq4FvGFaAo43IH0w0MFPLeTBf3liJAH/w421-h203/Image+1.jpg&quot; width=&quot;421&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;SQLite es una base de datos pequeña con la que
podemos almacenar datos de manera rápida y fácil. Esta base de datos podemos
empotrarla dentro de nuestras aplicaciones y tiene característica muy importante
hoy en día, que nos permite correrla en casi cualquier sistema operativo. Podemos
usarla para aplicaciones web, móviles y de escritorio. &lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Además,
es una base de datos gratuita.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Podemos encontrarla en el siguiente enlace &lt;a href=&quot;https://www.sqlite.org/index.html&quot;&gt;https://www.sqlite.org/index.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Tenemos varias formas para crear nuestra aplicación
y que se pueda conectar a SQLite. Podemos hacer una aplicación en Netbeans y
descargar el Jar que nos permite conectarnos o podemos hacer un proyecto con Maven.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para este ejemplo vamos a utilizar Maven. Sin embargo,
se puede descargar el JAR de SQLite para poder utilizarlo en otros proyectos que
no estén basados en Maven.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando ya tenemos nuestro proyecto de Maven
listo tenemos que agregar la referencia del Jar, de la siguiente manera. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggqjrGwPMU0IeHORSh5XIGv6XDIPt2n48AuNMNtisNhNRgQH0cWaXnLqJgAYnctuZoGLtBEPxzrhW1lfn_uyg201k_cY8fjxDPyXshyKFJmcF01VC7Tq9tGC2xjWznSBvGFL1dU9IQchu2/s909/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;869&quot; data-original-width=&quot;909&quot; height=&quot;370&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggqjrGwPMU0IeHORSh5XIGv6XDIPt2n48AuNMNtisNhNRgQH0cWaXnLqJgAYnctuZoGLtBEPxzrhW1lfn_uyg201k_cY8fjxDPyXshyKFJmcF01VC7Tq9tGC2xjWznSBvGFL1dU9IQchu2/w387-h370/Picture1.png&quot; width=&quot;387&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora vamos a crear una clase llamada
SQLiteConnection donde se requiere agregar algunas clases para poder crear la conexión
y las consultas a la base de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg5jujnFm7uHBhG3chhVQmeLoL5RBMCA5ks5fd8_dARyFr7H0Sgf-WkK7FvdpANkqfbASM7NfE7hffAaKyXiYdxZY_VTTbwSoSIqvle9K0f8mYPhLp2q6cEg0olf6UYQ79sTPOyB6VNIDF/s669/Picture2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;163&quot; data-original-width=&quot;669&quot; height=&quot;112&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg5jujnFm7uHBhG3chhVQmeLoL5RBMCA5ks5fd8_dARyFr7H0Sgf-WkK7FvdpANkqfbASM7NfE7hffAaKyXiYdxZY_VTTbwSoSIqvle9K0f8mYPhLp2q6cEg0olf6UYQ79sTPOyB6VNIDF/w459-h112/Picture2.png&quot; width=&quot;459&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con estas clases agregadas a nuestro código ya
podemos iniciar con la creación de la conexión &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVerDnEEycy_bTlXPzCVVXROF6CpKWu90lDGTwMISH3NG7d3ePPs7QyhWH2kRJjwuS6YvRsF1YXvh-4-9Z6OezT8wSnFMaYtW03duCt8ofuZp9-qUOuUYnvAhN8spnvAOXvfjKBI-oHFn5/s975/Picture3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;330&quot; data-original-width=&quot;975&quot; height=&quot;166&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVerDnEEycy_bTlXPzCVVXROF6CpKWu90lDGTwMISH3NG7d3ePPs7QyhWH2kRJjwuS6YvRsF1YXvh-4-9Z6OezT8wSnFMaYtW03duCt8ofuZp9-qUOuUYnvAhN8spnvAOXvfjKBI-oHFn5/w492-h166/Picture3.png&quot; width=&quot;492&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Primero como se puede ver en la línea 19
tenemos que agregar la dirección donde se encuentra o se va a encontrar nuestra
base de datos (si no existe el archivo se va a crear cuando se corra nuestra aplicación).
Para ubicar la base de datos usamos el path que maneja el sistema operativo que
usamos. Ahora si solamente agregamos el nombre de la base de datos como la
tenemos en la línea 19 esta se va a crear donde está ubicada nuestra aplicación.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En la línea 24 vamos a registrar el driver de
SQL que vamos a usar para nuestra base de datos en este caso como se puede
observar es el de SQLite. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Luego en la línea 25 iniciamos una conexión a
nuestra base de datos usando la clase DriveManager. Como se puede observar se debe
indicar donde esta ubicada la base de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Como se puede ver en la siguiente imagen ya
estamos listos para crear tablas en nuestra base de datos. Lo primero que vamos a hacer es crear el script para la creación de la tabla. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqEb4MaX7ml3IZuoWK7DjeFsHC4X8zS_HoxiJVKh-KclUgZA0-Li0V6xDfd2J_wPij3fO2y9-rGVYDtBu-B_ILmiXPh3lInz8mv0Vp68i38a3r_AyHlryf5ywjG0KlKOLQUWX5RLGjKuSo/s975/Picture4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;412&quot; data-original-width=&quot;975&quot; height=&quot;217&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqEb4MaX7ml3IZuoWK7DjeFsHC4X8zS_HoxiJVKh-KclUgZA0-Li0V6xDfd2J_wPij3fO2y9-rGVYDtBu-B_ILmiXPh3lInz8mv0Vp68i38a3r_AyHlryf5ywjG0KlKOLQUWX5RLGjKuSo/w517-h217/Picture4.png&quot; width=&quot;517&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En la línea 37 creamos un objeto Statement
basado en la conexión que ya teníamos. Con esto podemos ejecutar el script para
crear la tabla como se puede observar en la línea 38. Esta última línea nos
permite crear la tabla si no existe. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Bueno y para agregar datos en nuestra tabla es
simplemente ejecutar un script con un insert como se puede ver en la siguiente imagen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYsi2eStrfEI3G1z9P62FAXzdWfoL5kKARuDwnlY1e9H1M8BET4MtfE-y-XuT-s59v2MbDZPx6E3pvotjcSjDfj0wLnknsoBVEKvSQXOThyphenhyphenLuS8thkisvITGpCbsR2dbSwVuheTTD0M9w3/s975/Picture7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;339&quot; data-original-width=&quot;975&quot; height=&quot;175&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYsi2eStrfEI3G1z9P62FAXzdWfoL5kKARuDwnlY1e9H1M8BET4MtfE-y-XuT-s59v2MbDZPx6E3pvotjcSjDfj0wLnknsoBVEKvSQXOThyphenhyphenLuS8thkisvITGpCbsR2dbSwVuheTTD0M9w3/w505-h175/Picture7.png&quot; width=&quot;505&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En la línea 46 se crea el script con los datos
que deseamos almacenar en nuestra tabla. En la línea 49 se crea el objeto
statement basado en la conexión de la base de datos. Luego de esto en la línea 50
ejecutamos el script contra nuestra base de datos para poder guardar la información.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX7mwQfO59oOl_sGN_hVIM_rebKlXqclEJYJf_8KmgdxDweQKE0XoslllEH1yFI5i6XsstP9EAuZHzBiysx8NWmQhJO5QQYL859WTawIZrWR24LTqjDZM4Cx_8nXOhed-29sxlj7_r3vdV/s975/Picture5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;239&quot; data-original-width=&quot;975&quot; height=&quot;161&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX7mwQfO59oOl_sGN_hVIM_rebKlXqclEJYJf_8KmgdxDweQKE0XoslllEH1yFI5i6XsstP9EAuZHzBiysx8NWmQhJO5QQYL859WTawIZrWR24LTqjDZM4Cx_8nXOhed-29sxlj7_r3vdV/w659-h161/Picture5.png&quot; width=&quot;659&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Finalmente vamos a poder crear los SELECT para
poder ver los datos que se almacenaron en nuestra base de datos. En este caso
cambian algunas cosas. Por ejemplo, además del objeto statement y la ejecución del
script tenemos que crear un objeto de tipo ResultSet para obtener la información
de nuestra tabla. En la línea 59 se ejecutar el script como se puede observar y
este nos retorna un objeto con los datos almacenados. Para poder recorrer todos
los nombres usamos un ciclo While hasta que todos los objetos de esta consulta son
mostrados. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En la línea 61 se muestra línea por línea los
nombres y los ids que se generaron para nuestros datos. Usando el método getString
(se puede usar otro tipo de método para cada tipo de dato por ejemplo getInt). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Solo nos queda correr nuestra aplicación para
poder ver el resultado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslyC3dwyrLTVrthJsBeEaOVhQ6bKnjFPiTpVZDGbWjb2AvAG1UUlAVsbn9o7O5mR-RSrNCRwfxqE9G_cJxEYrwijsJyrbm1kzkcFHA9EKS_0lXe43I7BUvjLhWOhVVWIp3RPc2MMKw6PB/s877/Picture6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;239&quot; data-original-width=&quot;877&quot; height=&quot;137&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgslyC3dwyrLTVrthJsBeEaOVhQ6bKnjFPiTpVZDGbWjb2AvAG1UUlAVsbn9o7O5mR-RSrNCRwfxqE9G_cJxEYrwijsJyrbm1kzkcFHA9EKS_0lXe43I7BUvjLhWOhVVWIp3RPc2MMKw6PB/w504-h137/Picture6.png&quot; width=&quot;504&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://mega.nz/file/Z64gQIoT#G242W-khMlUxAlPVmgs2MLu2EZjowaGrTR9c1jZ6Y9k&quot; target=&quot;_blank&quot;&gt;Ejemplo&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/5187786165104607404/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/12/java-sqlite.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/5187786165104607404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/5187786165104607404'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/12/java-sqlite.html' title='Java SQLite'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDhjkJc6Me12qOLPEBdnJcffOvGIho-7rKVqfer8SgWzjUfVuNYRCP2XtuEJElTHebl087G78j7VhnIJ-eNzVpKaU4GNUxZxk1OSJsqeGGRlUHkAq4FvGFaAo43IH0w0MFPLeTBf3liJAH/s72-w421-h203-c/Image+1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-2327076481644257335</id><published>2020-12-10T18:24:00.002-06:00</published><updated>2020-12-10T18:24:12.022-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".netcore"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="EntityFramework"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>Dapper - SQL</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj18jbh4LDbJUfns8-J_4ye1h2G2EYmvbh-p-6fUGYdqi4deZmlcUg3uxLC78cyaIE-WgmirNDaztvRBD94kA4C8oF09Ik8zq_EzqHccDjgyfZyTkHST5mDHGstQ5OcjRtwfMkbkVIl0Out/s975/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;273&quot; data-original-width=&quot;975&quot; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj18jbh4LDbJUfns8-J_4ye1h2G2EYmvbh-p-6fUGYdqi4deZmlcUg3uxLC78cyaIE-WgmirNDaztvRBD94kA4C8oF09Ik8zq_EzqHccDjgyfZyTkHST5mDHGstQ5OcjRtwfMkbkVIl0Out/w528-h148/Picture1.png&quot; width=&quot;528&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Tratando de mejorar el rendimiento de una aplicación
encontré este framework buscando alternativas a Entity Framework. Algunos queries
que se crean con EF son complejos y demandan cierto rendimiento de la aplicación.
&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Después de comprar algunos resultados haciendo
las mismas consultas entre EF y Dapper se encuentran cosas interesantes como
que se reduce la cantidad de recursos con Dapper. Cada uno de los queries que
se crearon redujeron su tamaño en memoria, cargando los mismos datos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Dapper lo que hace es mapear los resultados de
las consultas de SQL en objetos de C#, los cuales luego se pueden utilizar para
hacer cualquier otra cosa que se quiera. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Vamos a ver como utilizarlo creando un proyecto
y una base de datos de SQLite.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsreAABMQRRe9QKFcU4XkiWXgyeqJR-tcRMccT6VkbeMVUcV8VNs7RhTt6OJSEywPE25vNeGnQxgfMa9GQOrFu8hEJjXGVLCJEFyp7lvRL33kuNXTCBb1SafpYZae1QCftwdCqJhyXFYcz/s975/Picture2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;229&quot; data-original-width=&quot;975&quot; height=&quot;151&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsreAABMQRRe9QKFcU4XkiWXgyeqJR-tcRMccT6VkbeMVUcV8VNs7RhTt6OJSEywPE25vNeGnQxgfMa9GQOrFu8hEJjXGVLCJEFyp7lvRL33kuNXTCBb1SafpYZae1QCftwdCqJhyXFYcz/w641-h151/Picture2.png&quot; width=&quot;641&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora lo que tenemos que hacer es crear una
tabla en la nueva base de datos de SQLite&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIY3om3kqq2YzTgvdwAAAnX5K2nJ5k-mPuTZaTcrF_lWBi8PSYP5wfqu1VE-w5blOJpKOt8TBFXk95LIhIZ5nQdjWj_OSm-YnnT0G5YBuUesoBLW5T4E0KssVfgsMD8JMbkVYsmJRO3vmq/s248/Picture3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;209&quot; data-original-width=&quot;248&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIY3om3kqq2YzTgvdwAAAnX5K2nJ5k-mPuTZaTcrF_lWBi8PSYP5wfqu1VE-w5blOJpKOt8TBFXk95LIhIZ5nQdjWj_OSm-YnnT0G5YBuUesoBLW5T4E0KssVfgsMD8JMbkVYsmJRO3vmq/s0/Picture3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Vamos a usar una única table con 4 registros
para nuestro ejemplo. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo que debemos hacer ahora es una clase POCO
con las propiedades de la tabla. En nuestro ejemplo solo ocupamos el id y el producto.
Con esto ya podemos mapear nuestros datos a una clase POCO.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;br /&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT_riw2qGzb8L-UMXjoJgEBTsZlvbi6CspYb1KFJJbtka09ejYDAbKjqGL0aZxJ68W3kv5NtEfR9AXpVLykTVZTqm3AAHS9XDIYJWUz3NutybQA0D1ZKeY6WDJVek5JFYuHo_5rVqbgONc/s558/Picture4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;281&quot; data-original-width=&quot;558&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT_riw2qGzb8L-UMXjoJgEBTsZlvbi6CspYb1KFJJbtka09ejYDAbKjqGL0aZxJ68W3kv5NtEfR9AXpVLykTVZTqm3AAHS9XDIYJWUz3NutybQA0D1ZKeY6WDJVek5JFYuHo_5rVqbgONc/s320/Picture4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Tenemos que utilizar las librerías que instalamos
y algunas otras. Como se puede ver hacemos un using de Dapper.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzK3tuvAB_3WAQVl7yHanMwJy1x1uagbLHKjsOBsWk-uSJet5srAM7FmW1EOIwRvnJceZtBCKpM25xdlzk5muqO8lBpzkgWH3mbWaAauAA1AUCHVJhrB3PET1jyVBpdaCiegrsNNLu6cQn/s416/Picture5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;105&quot; data-original-width=&quot;416&quot; height=&quot;116&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzK3tuvAB_3WAQVl7yHanMwJy1x1uagbLHKjsOBsWk-uSJet5srAM7FmW1EOIwRvnJceZtBCKpM25xdlzk5muqO8lBpzkgWH3mbWaAauAA1AUCHVJhrB3PET1jyVBpdaCiegrsNNLu6cQn/w458-h116/Picture5.png&quot; width=&quot;458&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El código para las consultas lo vamos a hacer en
la clase Main&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicIg3NUMcowf3QFSH-oz7Q0UwnmXLdsbdwt4XjjIzbsS34-hepBr-Wq9LdkRicdhPlFaLXcm4gA4H8uWNAw1scf2SREToBDGKy3KwFsllkRdk2xmvCvd7rZC3G2xVclFutKU34jphEIzCE/s820/Picture6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;248&quot; data-original-width=&quot;820&quot; height=&quot;144&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicIg3NUMcowf3QFSH-oz7Q0UwnmXLdsbdwt4XjjIzbsS34-hepBr-Wq9LdkRicdhPlFaLXcm4gA4H8uWNAw1scf2SREToBDGKy3KwFsllkRdk2xmvCvd7rZC3G2xVclFutKU34jphEIzCE/w477-h144/Picture6.png&quot; width=&quot;477&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Como se puede ver en el primero script hacemos
un SELECT de todos los datos que tenemos. Creamos la conexión de SQLite para
poder hacer la consulta de datos. Luego simplemente usamos la clase POCO para
correr y mapear los datos resultantes del Query. Luego como se puede ver en el
ciclo for los datos se pueden manipular fácilmente.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Pero también tenemos la opción de pasar parámetros
a las consultas de SQL. Como se ve en el siguiente ejemplo tenemos el parámetro
@id el cual es la llave de nuestra tabla. En este caso solo se va a retornar un
solo dato.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-NvewT3wlJnPOYCA-dQXGOhBzIMeFimrYd1GQAciD7I8Pau-5HmB_77yiVBgpCmEU9UfhQ95W5qMp0vT9mCtEWqoBgw4FrsFGa-DiFddJlZ5Tx076eNCPcDAFykFvghEhTIRdAfO8G8HZ/s792/Picture7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;208&quot; data-original-width=&quot;792&quot; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-NvewT3wlJnPOYCA-dQXGOhBzIMeFimrYd1GQAciD7I8Pau-5HmB_77yiVBgpCmEU9UfhQ95W5qMp0vT9mCtEWqoBgw4FrsFGa-DiFddJlZ5Tx076eNCPcDAFykFvghEhTIRdAfO8G8HZ/w564-h148/Picture7.png&quot; width=&quot;564&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Para poder pasar los parámetros se pasan con el
query y el nombre de los parámetros con el valor que se necesita.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Dapper es un Framework simple pero poderoso
para poder cargar los datos de las bases de datos a objetos de POCO. Este, además,
requiere de menos memoria que EF. Por otro lado, nos permite utilizar lenguaje
de SQL para hacer las consultas que en lo personal me parece más fácil para
consultar las bases de datos SQL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Puede encontrar más información &lt;a href=&quot;https://dapper-tutorial.net/&quot; target=&quot;_blank&quot;&gt;aquí&lt;/a&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/2327076481644257335/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/12/dapper-sql.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/2327076481644257335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/2327076481644257335'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/12/dapper-sql.html' title='Dapper - SQL'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj18jbh4LDbJUfns8-J_4ye1h2G2EYmvbh-p-6fUGYdqi4deZmlcUg3uxLC78cyaIE-WgmirNDaztvRBD94kA4C8oF09Ik8zq_EzqHccDjgyfZyTkHST5mDHGstQ5OcjRtwfMkbkVIl0Out/s72-w528-h148-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-1712805254349932298</id><published>2020-11-28T19:35:00.005-06:00</published><updated>2020-11-28T19:35:35.696-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JDK"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Services"/><title type='text'>Hacer un servicio de SAOP con Apache Netbeans 12 </title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-no-proof: yes;&quot;&gt;Vamos a crear un simple
servicio de SOAP con Java y Netbeans 12. Para esto vamos a requerir la version
1.8 de Java ya que sin esta no vamos apoder crear el servicio. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-no-proof: yes;&quot;&gt;Lo primero que vamos hacer es crear
un proyecto nuevo usando Maven. Dentro los templates de Maven tenemos que
buscar el tipo de proyecto llamado Web Application, como se puede ver en la
siguiente imagen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-RAGGW-O2I7t4bMjt-2TK80Tpqnus3kMRRc03RWumFtXJf1BQyrzM7kGWG74DX35fBemOji5MLdwd8m2Ixm4_8HcQeKkJMX_yPkli77Uj8pxZLv0Yb8GTs5dQPWoIHZoQBN0ZaHs67QWs/s975/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;683&quot; data-original-width=&quot;975&quot; height=&quot;363&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-RAGGW-O2I7t4bMjt-2TK80Tpqnus3kMRRc03RWumFtXJf1BQyrzM7kGWG74DX35fBemOji5MLdwd8m2Ixm4_8HcQeKkJMX_yPkli77Uj8pxZLv0Yb8GTs5dQPWoIHZoQBN0ZaHs67QWs/w518-h363/Picture1.png&quot; width=&quot;518&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-no-proof: yes;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;text-align: justify;&quot;&gt;Luego de esto vamos a tener
una ventana con algunas otras opciones que se tienen que completar. Por ejemplo
el nombre del proyecto, el Group Id que podemos dejarlo como esta y la
direccion donde queremos guardar nuestro proyecto. Adicional a esto el nombre del
paquete donde vamos a guardar nuestro &lt;/span&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;text-align: justify;&quot;&gt;código.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrr2Kq7x4JkmnIahvjoaSTyhe5gkYmxYxiFzAnSoChjr3_CdfBC0hf8D2puks4_61p7pSJiIRcXXxE8iq1gSK1vnfKlNr25cCxTWynWlPYR5gduOUu3YPYDqR_DbAIBpgHIvel71RxD6ue/s975/Picture2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;669&quot; data-original-width=&quot;975&quot; height=&quot;318&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrr2Kq7x4JkmnIahvjoaSTyhe5gkYmxYxiFzAnSoChjr3_CdfBC0hf8D2puks4_61p7pSJiIRcXXxE8iq1gSK1vnfKlNr25cCxTWynWlPYR5gduOUu3YPYDqR_DbAIBpgHIvel71RxD6ue/w463-h318/Picture2.png&quot; width=&quot;463&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;Para este
proyecto vamos a seleccionar Java 7 y Glassfish que es nuestro servidor web.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3ZHTyg4-_Fm-V7qAh9E-WgO5xaoi4RtmsAy4ZMWEK6g1SNM3acmlNdcoTMvTPsdUc0kf-Dj9zSyzarnBVVWjffHn8JkTq3iXYdtIW4QKdY7lM4fPaUyqHh-_EWrBUUYjPkkJQZprmJX1t/s975/Picture3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;677&quot; data-original-width=&quot;975&quot; height=&quot;325&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3ZHTyg4-_Fm-V7qAh9E-WgO5xaoi4RtmsAy4ZMWEK6g1SNM3acmlNdcoTMvTPsdUc0kf-Dj9zSyzarnBVVWjffHn8JkTq3iXYdtIW4QKdY7lM4fPaUyqHh-_EWrBUUYjPkkJQZprmJX1t/w468-h325/Picture3.png&quot; width=&quot;468&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Luego le damos finalizar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Si no tenemos instalada la versión de Java 1.8 vamos
a ver una ventana como la siguiente donde se tiene que seleccionar el JDK 1.8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCs8xdQgEJ8lSFzzmwU8Pz5qHz3BDPVhbj9eo6AMXvs-n0X2Qvx0N_oqtrCDX-Gy_IhDMpvxx8brndDN4QSx9k9awAeX3I42dUKrarJ6vN1IFDKquX4paL_hPWEVBb3mdzl5GLmN2kc8ii/s784/Picture4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;367&quot; data-original-width=&quot;784&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCs8xdQgEJ8lSFzzmwU8Pz5qHz3BDPVhbj9eo6AMXvs-n0X2Qvx0N_oqtrCDX-Gy_IhDMpvxx8brndDN4QSx9k9awAeX3I42dUKrarJ6vN1IFDKquX4paL_hPWEVBb3mdzl5GLmN2kc8ii/w442-h207/Picture4.png&quot; width=&quot;442&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Ahora tenemos que instalar el JDK 1.8 luego de
esto simplemente lo tenemos que agregar al Netbeans. Como se puede ver en la
siguiente imagen. Seleccionamos esta plataforma para el desarrollo de nuestro
programa.&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMZo19MzjDj2EGoNQ0M0NnCVjV1sJ4MtN2gtxyp0pgFphePjH-niNuKEsJ_DH6WJWIMRYBKXEekQ5isGBgKSCQPSISvlZubJJ64MF8I4WDYhV7eyaTWiwu70novAyO7vG4V-en6h85jc2s/s622/Picture5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;622&quot; data-original-width=&quot;333&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMZo19MzjDj2EGoNQ0M0NnCVjV1sJ4MtN2gtxyp0pgFphePjH-niNuKEsJ_DH6WJWIMRYBKXEekQ5isGBgKSCQPSISvlZubJJ64MF8I4WDYhV7eyaTWiwu70novAyO7vG4V-en6h85jc2s/s320/Picture5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando el proyecto este listo debemos dar clic
derecho sobre el proyecto y seleccionar el menú de otros. En este menú vamos a
poder ver una serie de opciones para crear diferentes archivos. Vamos a ir a la
carpeta web services donde esta el tipo Web Service. Es la primera opción en
esta carpeta. Esta es la que tenemos que utilizar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXCvUweEXYNU3Fg1V9PfGwhmTuXK1uUGgxwPaCTh9TFqtwq3fr4wwdfLEn25nShy-vfJnElFzcNtmGkkGM-SoD8DSNXbTsdIvt_CHeauawtZ6KacD1zMa4jm5Y-kiPALkPY_J2E21oTgAk/s975/Picture6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;680&quot; data-original-width=&quot;975&quot; height=&quot;272&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXCvUweEXYNU3Fg1V9PfGwhmTuXK1uUGgxwPaCTh9TFqtwq3fr4wwdfLEn25nShy-vfJnElFzcNtmGkkGM-SoD8DSNXbTsdIvt_CHeauawtZ6KacD1zMa4jm5Y-kiPALkPY_J2E21oTgAk/w390-h272/Picture6.png&quot; width=&quot;390&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo que
tenemos que realizar ahora es simplemente agregar el nombre de nuestro servicio
y el paquete donde se desea guardar. Con estos dos valores tenemos que dar
finalizar y estamos listos para continuar con nuestro servicio de SOAP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUBRefzHs8HG5OwgkwaZ9g9ph_dPweOGcpxnHse3-p1mBO_1rZhJZNgFfjdBk3zZF2Q2CsiLcepP6I3Rn7VxB5e_um_NG_dv0aem6dz2HOL4xgZtZdkR4prLiCarWE_DDd5xKT5BWnttg4/s975/Picture7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;743&quot; data-original-width=&quot;975&quot; height=&quot;325&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUBRefzHs8HG5OwgkwaZ9g9ph_dPweOGcpxnHse3-p1mBO_1rZhJZNgFfjdBk3zZF2Q2CsiLcepP6I3Rn7VxB5e_um_NG_dv0aem6dz2HOL4xgZtZdkR4prLiCarWE_DDd5xKT5BWnttg4/w426-h325/Picture7.png&quot; width=&quot;426&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Como se
puede observar ya tenemos listo el código para iniciar a escribir nuestro nuevo
servicio. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP-WtETe4F-Zxpc13TaAW8Xh0RJO1c7d_HKsUeir1kBH8OfYWJnhsOXA4DF1nehZIkqMqZSNlrD1p9c8P9jWE1tO4MTrB2579CRR7cznFHsQNALB5Z6luRoxMhD0JxZGdGW1S9baQnqZ9b/s878/Picture8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;467&quot; data-original-width=&quot;878&quot; height=&quot;237&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP-WtETe4F-Zxpc13TaAW8Xh0RJO1c7d_HKsUeir1kBH8OfYWJnhsOXA4DF1nehZIkqMqZSNlrD1p9c8P9jWE1tO4MTrB2579CRR7cznFHsQNALB5Z6luRoxMhD0JxZGdGW1S9baQnqZ9b/w445-h237/Picture8.png&quot; width=&quot;445&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Tenemos un método
que se llama Hello, solamente tenemos que publicar el servicio a nuestro servidor
de Galssfish o correr la aplicación.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/1712805254349932298/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/11/hacer-un-servicio-de-saop-con-apache.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1712805254349932298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1712805254349932298'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/11/hacer-un-servicio-de-saop-con-apache.html' title='Hacer un servicio de SAOP con Apache Netbeans 12 '/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-RAGGW-O2I7t4bMjt-2TK80Tpqnus3kMRRc03RWumFtXJf1BQyrzM7kGWG74DX35fBemOji5MLdwd8m2Ixm4_8HcQeKkJMX_yPkli77Uj8pxZLv0Yb8GTs5dQPWoIHZoQBN0ZaHs67QWs/s72-w518-h363-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-3521091628142519184</id><published>2020-10-23T11:51:00.001-06:00</published><updated>2020-10-23T11:51:41.349-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Página web"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Minimizar javascript y css con Visual Studio 2019</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Parte importante del desarrollo de aplicaciones
web es el css y el javascript. Cuando ya tenemos listo nuestro código de javascript
y css es una buena práctica comprimir este código o minimizar su tamaño para la
distribución del sitio web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con Visual Studio tenemos diferentes técnicas para
hacer este tipo de tareas. Podemos usar webpack, gulp, etc. Sin embargo, hoy
vamos a ver una herramienta muy simple que podemos utilizar para comprimir
nuestros scripts y css. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando creamos nuestro proyecto web debemos de
instalar con Nuget la siguiente librería: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjorb7IlG-LXdjabDU8Jj9PCRpsEH2dhdk8HqhctvmcPYXBpm_7rcDrULtn3Uf6jXMfXy14ImaRgql2MeWU3bgE5biyTxIEk72EhB5PJt45cvfSnr2Rn29oOWm2g2N83K4jgCrJtBzOx-84/s975/Picture1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;100&quot; data-original-width=&quot;975&quot; height=&quot;65&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjorb7IlG-LXdjabDU8Jj9PCRpsEH2dhdk8HqhctvmcPYXBpm_7rcDrULtn3Uf6jXMfXy14ImaRgql2MeWU3bgE5biyTxIEk72EhB5PJt45cvfSnr2Rn29oOWm2g2N83K4jgCrJtBzOx-84/w636-h65/Picture1.png&quot; width=&quot;636&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;BuildBundleMinifier.
Con esta librería vamos a poder minimizar nuestros scripts. Cuando esta
instalado debemos crear un archivo en la ruta del proyecto llamado bundleconfig.json&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg8gtaLzGG-8ZwrXb8s1mNeG-i-hn_Du1nlqyEDoqaHdv49tlbQCJ3Po0qkzAMO5FULu2R9Tv4oS1v6RQoRzVQEYbI34mb3zOoBex5XKGOlkZZSa8uCnMlt-h_57Vc_UV179ZbWq8tPdG3/s350/Picture2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;350&quot; data-original-width=&quot;267&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg8gtaLzGG-8ZwrXb8s1mNeG-i-hn_Du1nlqyEDoqaHdv49tlbQCJ3Po0qkzAMO5FULu2R9Tv4oS1v6RQoRzVQEYbI34mb3zOoBex5XKGOlkZZSa8uCnMlt-h_57Vc_UV179ZbWq8tPdG3/s320/Picture2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Ejemplo de
como luce el documento de configuración&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;pre&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas;&quot;&gt;[&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;outputFileName&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;output/site.min.css&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;inputFiles&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: [&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot; output/site.css&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;],&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;minify&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;enabled&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #005cc5; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;commentMode&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;all&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;},&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;outputFileName&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;output/site.js&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot;inputFiles&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;: [&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #032f62; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&quot; output/site.js&quot;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: Consolas; font-size: 10pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Se puede hacer
otro tipo de configuraciones. Esta es como la simple. Lo importante es que cada
vez que guardamos el javasctipt o el css automáticamente se dispara la tarea de
minimizar los archivos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con esto no
tenemos que preocuparnos por estar minimizando nuestro código ni corriendo tareas.
Es fácil y muy rápido a la hora de comprimir el código. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Sitio de la
Librería &lt;a href=&quot;https://github.com/madskristensen/BundlerMinifier&quot; target=&quot;_blank&quot;&gt;https://github.com/madskristensen/BundlerMinifier&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/3521091628142519184/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/10/minimizar-javascript-y-css-con-visual.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/3521091628142519184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/3521091628142519184'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/10/minimizar-javascript-y-css-con-visual.html' title='Minimizar javascript y css con Visual Studio 2019'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjorb7IlG-LXdjabDU8Jj9PCRpsEH2dhdk8HqhctvmcPYXBpm_7rcDrULtn3Uf6jXMfXy14ImaRgql2MeWU3bgE5biyTxIEk72EhB5PJt45cvfSnr2Rn29oOWm2g2N83K4jgCrJtBzOx-84/s72-w636-h65-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-6885437451032926475</id><published>2020-10-13T20:16:00.006-06:00</published><updated>2020-10-13T20:18:30.341-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="windows&#xa;cmd"/><title type='text'>Terminar una tarea en Windows 10</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span style=&quot;text-align: justify;&quot;&gt;Suele pasar que alguna tarea deja de responder
o que se requiere detener para poder instalar alguna otra aplicación, incluso
para algunas actualizaciones.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo más fácil y siempre es ir al administrador
de tareas y buscar cual es la tarea que deseamos eliminar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5XjuKHBLsQPr1NXyqG9BwaJ9tE2LAvpaJg0wz5tqSi3C3ZoFcq9sBMf8oDA5xKgQh8ULlqjjrovEJJUeju8laexCRz2XiweWZmJKCbr0UgM87ahFnP4Uxuy7rU-J8NAYWmoIQV_kZthm6/s975/Picture1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;432&quot; data-original-width=&quot;975&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5XjuKHBLsQPr1NXyqG9BwaJ9tE2LAvpaJg0wz5tqSi3C3ZoFcq9sBMf8oDA5xKgQh8ULlqjjrovEJJUeju8laexCRz2XiweWZmJKCbr0UgM87ahFnP4Uxuy7rU-J8NAYWmoIQV_kZthm6/w521-h231/Picture1.png&quot; width=&quot;521&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Pero hace unos días yo tenía que detener una aplicación
y no la pude encontrar en el administrador de tareas por lo que me toco tratar
de detener la aplicación de otra manera.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Podemos buscas las tareas que están corriendo
en nuestra maquina usando el cmd. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando abrimos la pantalla del cmd podemos ver
la lista de tareas que están corriendo, usando el comando tasklist. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgusyGaq-UO57q9F614sKy15EZK3xsmQ0zgktjjYXSyNInaVDcM6HwcYKhIK89tedO5w16jWJFqtjmPK2BmCfPbhGqSHCxh5Uu6XOwxrSQDgy7oU35j7GDjlF41dylj6uXDd1u_NLL-2gsF/s713/Picture2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;172&quot; data-original-width=&quot;713&quot; height=&quot;116&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgusyGaq-UO57q9F614sKy15EZK3xsmQ0zgktjjYXSyNInaVDcM6HwcYKhIK89tedO5w16jWJFqtjmPK2BmCfPbhGqSHCxh5Uu6XOwxrSQDgy7oU35j7GDjlF41dylj6uXDd1u_NLL-2gsF/w482-h116/Picture2.png&quot; width=&quot;482&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Aquí podemos ver las tareas con su sesión y el
Id de la tarea.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora si para cerrar la tarea usamos el siguiente
comando&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5VtVmZ_QxCkVHeAJp1fhfEvv6yZkdPsiqr0MvhquGw4v1Z4L3hD4S5xz4zOSGKNr4U1WyYDsfj6wKU_L4KzZTiSXbCewHWfVeTE6QMcmSvn4TX9leUIcnbpzurrWY1Hgeugva6pTC_qKL/s623/Picture3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;63&quot; data-original-width=&quot;623&quot; height=&quot;49&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5VtVmZ_QxCkVHeAJp1fhfEvv6yZkdPsiqr0MvhquGw4v1Z4L3hD4S5xz4zOSGKNr4U1WyYDsfj6wKU_L4KzZTiSXbCewHWfVeTE6QMcmSvn4TX9leUIcnbpzurrWY1Hgeugva6pTC_qKL/w491-h49/Picture3.png&quot; width=&quot;491&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Taskkill y se tiene que poner el nombre de la
tarea que deseamos eliminar. Ahora bien, si cambiamos el /t por /f lo que vamos
a hacer es forzar el cierre de la aplicación en caso de que esta no responda,
por ejemplo.&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;También se puede eliminar una tarea usando el
ID con el comando taskkill /PID 12322 /F&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;De esta manera se puede cerrar la tarea muy fácilmente.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/6885437451032926475/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/10/terminar-una-tarea-en-windows-10.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/6885437451032926475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/6885437451032926475'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/10/terminar-una-tarea-en-windows-10.html' title='Terminar una tarea en Windows 10'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5XjuKHBLsQPr1NXyqG9BwaJ9tE2LAvpaJg0wz5tqSi3C3ZoFcq9sBMf8oDA5xKgQh8ULlqjjrovEJJUeju8laexCRz2XiweWZmJKCbr0UgM87ahFnP4Uxuy7rU-J8NAYWmoIQV_kZthm6/s72-w521-h231-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-1195916223684467746</id><published>2020-08-31T21:35:00.002-06:00</published><updated>2020-08-31T21:35:24.038-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".netcore"/><category scheme="http://www.blogger.com/atom/ns#" term="apps"/><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="desktop app"/><category scheme="http://www.blogger.com/atom/ns#" term="Programación"/><category scheme="http://www.blogger.com/atom/ns#" term="websocket"/><title type='text'>WebSocket Client con C#</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih9g3W7K2Fn8I73JEvOl71PSVbpUjlV7lSvuXdVaKC5dLjGNARfzvP6yx4I6Yyl0dyjkElOJm3ZpOnf_nLigeB-Q0ec9K0efINyk3eRxtoB7WZKN1z71XUydmBOlbQI0sgnK75ZTpaflx_/s346/clases.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;318&quot; data-original-width=&quot;346&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih9g3W7K2Fn8I73JEvOl71PSVbpUjlV7lSvuXdVaKC5dLjGNARfzvP6yx4I6Yyl0dyjkElOJm3ZpOnf_nLigeB-Q0ec9K0efINyk3eRxtoB7WZKN1z71XUydmBOlbQI0sgnK75ZTpaflx_/s0/clases.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;La tecnología de websocket se ha hecho muy
popular y es que realmente nos permite hacer algunas cosas muy fáciles como la
posibilidad de habilitar una conexión desde nuestra aplicación web para poder
transportar datos. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En este caso vamos a ver como crear un cliente WebSocket
con C#&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Vamos a crear una aplicación de console. Mi proyecto
tiene el nombre de WebSocketClient. Con el proyecto listo ya podemos iniciar a
escribir nuestro código para conexión. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo primero que debemos hacer es importar algunas
librerías para poder crear la conexión. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold;&quot;&gt;System&lt;/span&gt;;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold;&quot;&gt;System.IO&lt;/span&gt;;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold;&quot;&gt;System.Net.WebSockets&lt;/span&gt;;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold;&quot;&gt;System.Text&lt;/span&gt;;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #0e84b5; font-weight: bold;&quot;&gt;System.Threading&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span lang=&quot;&quot; style=&quot;text-align: justify;&quot;&gt;Vamos a usar el servicio gratuito de WebSocket que
tenemos en esta página &lt;/span&gt;&lt;a href=&quot;https://www.blogger.com/blog/post/edit/4078181550703157824/5347156880567708412&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;font-size: 13.5pt; line-height: 107%; mso-ansi-language: ES-CR;&quot;&gt;http://www.websocket.org/echo.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Como se puede observar lo primero que vamos a
declarar es la variable url que contiene la dirección del WebSocket&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;   &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #bb0066; font-weight: bold;&quot;&gt;Program&lt;/span&gt;
    {
        &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;string&lt;/span&gt; url = &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ws://echo.websocket.org&quot;&lt;/span&gt;;

        &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;async&lt;/span&gt; System.Threading.Tasks.Task Main(&lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style=&quot;color: #888888;&quot;&gt;//Iniciamos un cliente websocket para conectarnos con el servidor&lt;/span&gt;
            &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; (&lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;var&lt;/span&gt; websocket = &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;new&lt;/span&gt; ClientWebSocket())
            {
                &lt;span style=&quot;color: #888888;&quot;&gt;//Asignamos el url del servidor de websocket y nos conectamos&lt;/span&gt;
                &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;await&lt;/span&gt; websocket.ConnectAsync(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;new&lt;/span&gt; Uri(url), CancellationToken.None);

                Console.WriteLine(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;Message to the server&quot;&lt;/span&gt;);
                &lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;var&lt;/span&gt; info = Console.ReadLine();&lt;span style=&quot;color: #888888;&quot;&gt;//Mensaje que se quiere enviar al servidor&lt;/span&gt;
                &lt;span style=&quot;color: #888888;&quot;&gt;//Enviamos el mensaje que capturamos desde la consola&lt;/span&gt;
                &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;await&lt;/span&gt; websocket.SendAsync(Encoding.UTF8.GetBytes(info), WebSocketMessageType.Text, &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;true&lt;/span&gt;, CancellationToken.None);

                &lt;span style=&quot;color: #888888;&quot;&gt;//Creamos un arreglo de bytes para recibir la información del servidor&lt;/span&gt;
                &lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;var&lt;/span&gt; buffer = &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;new&lt;/span&gt; ArraySegment&amp;lt;&lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;byte&lt;/span&gt;&amp;gt;(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;byte&lt;/span&gt;[&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;2048&lt;/span&gt;]);
                WebSocketReceiveResult serverResponse;
                &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; (&lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;var&lt;/span&gt; ms = &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;new&lt;/span&gt; MemoryStream())&lt;span style=&quot;color: #888888;&quot;&gt;//Vamos almacenar todos los fragmentos de datos en este objeto en memoria.&lt;/span&gt;
                {
                    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;do&lt;/span&gt;
                    {
                        &lt;span style=&quot;color: #888888;&quot;&gt;//Vamos a recibir datos pequeños hasta que recibamos todo el mensaje. &lt;/span&gt;
                        serverResponse = &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;await&lt;/span&gt; websocket.ReceiveAsync(buffer, CancellationToken.None);
                        ms.Write(buffer.Array, buffer.Offset, serverResponse.Count);
                    } &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;while&lt;/span&gt; (!serverResponse.EndOfMessage);

                    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;if&lt;/span&gt; (serverResponse.MessageType == WebSocketMessageType.Close)
                        Environment.Exit(&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;0&lt;/span&gt;);&lt;span style=&quot;color: #888888;&quot;&gt;//Si el socket se cierra salimos de la aplicación &lt;/span&gt;

                    ms.Seek(&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;0&lt;/span&gt;, SeekOrigin.Begin);
                    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;using&lt;/span&gt; (&lt;span style=&quot;color: #333399; font-weight: bold;&quot;&gt;var&lt;/span&gt; reader = &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;new&lt;/span&gt; StreamReader(ms, Encoding.UTF8))
                        Console.WriteLine(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;await&lt;/span&gt; reader.ReadToEndAsync());
                }

            }
        }
    }
&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con un bloque using creamos un objeto de tipo
ClientWebSocket que nos permitirá la conexión con el servidor. Para poder
iniciar la conexión se tiene que pasar la dirección del servidor al método connectAsync.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;La variable info nos permite almacenar
cualquier dato que el usuario quiera pasarle al servidor. Luego se pasa al método
sendAsync para ser enviado. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En el caso de recibir datos es un poco más complicado.
Para esto vamos a recibir tamaños pequeños de información. Almacenándolos en un
arreglo de bytes como podemos ver en la variable buffer. Si lo que el servidor
nos envía es mayor se va a ir almacenando en la variable ms. En memoria hasta
tener toda la información completa. Por eso utilizamos un ciclo. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando tenemos toda la información en la variable
ms se debe convertir a un StreamReader que luego la pasaremos en un texto. Esto
es lo que al final estamos esperando, como resultado se muestra lo leído en la
consola de nuestra app. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://bit.ly/3gB8bPJ&quot; target=&quot;_blank&quot;&gt;Ejemplo&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/1195916223684467746/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/websocket-client-con-c.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1195916223684467746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1195916223684467746'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/websocket-client-con-c.html' title='WebSocket Client con C#'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih9g3W7K2Fn8I73JEvOl71PSVbpUjlV7lSvuXdVaKC5dLjGNARfzvP6yx4I6Yyl0dyjkElOJm3ZpOnf_nLigeB-Q0ec9K0efINyk3eRxtoB7WZKN1z71XUydmBOlbQI0sgnK75ZTpaflx_/s72-c/clases.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-2080704695838331498</id><published>2020-08-24T18:25:00.004-06:00</published><updated>2020-08-24T18:25:50.611-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="Programación"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="VSCode"/><title type='text'>Visual Studio Code y Python</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH6sJwaPAGOmDYXMg1tL5dHIEq7cQELB7zw8vVYxYfhWxxxB7OSMxi4XT_uyRGCdiSAbihOQ3v5KOX5nPrPemuBZBrdAh08JmXZWF8VZ2xOzacPPILWVfgx3PRrdHeSpBYVYEqWVNTByeV/s975/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;759&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH6sJwaPAGOmDYXMg1tL5dHIEq7cQELB7zw8vVYxYfhWxxxB7OSMxi4XT_uyRGCdiSAbihOQ3v5KOX5nPrPemuBZBrdAh08JmXZWF8VZ2xOzacPPILWVfgx3PRrdHeSpBYVYEqWVNTByeV/s640/Picture1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Python es un lenguaje de programación muy
popular hoy en día y la verdad es que podemos programar casi que, en cualquier IDE
o editor de texto, pero porque no hacerlo fácil y de una manera que nos
beneficie. Bueno usando Visual Studio Code que también hoy en día es una
herramienta muy popular lo podemos lograr ya que además cuanta con librerías
que nos ayudan a la hora de programar Python.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Primero debemos instalar Python. Si no lo tenemos
o no sabemos cómo hacerlo podemos ver este &lt;a href=&quot;https://compuarticulos.blogspot.com/2020/08/python-para-data-analysis.html&quot; target=&quot;_blank&quot;&gt;post&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora lo que tenemos que hacer es descargar VS
Code desde este sitio &lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot;&gt;web&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando tenemos estos dos instalados en nuestra
maquina tenemos que ir a la barra de herramientas al izquierdo. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmU8TAeM-Pv6j9O8r8buMQMQ_jbpPBHJLvB8Xmlrxmy2SnLW4Nmu76dOBcdc4i5TTKXEdkLAJmClf7oeHyqi2COKugpHhZdZYGspRnK5lgpSiCk0x8Boa_B2k0deq_fWD7aoHsFXxTTeni/s147/Picture2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;53&quot; data-original-width=&quot;147&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmU8TAeM-Pv6j9O8r8buMQMQ_jbpPBHJLvB8Xmlrxmy2SnLW4Nmu76dOBcdc4i5TTKXEdkLAJmClf7oeHyqi2COKugpHhZdZYGspRnK5lgpSiCk0x8Boa_B2k0deq_fWD7aoHsFXxTTeni/s0/Picture2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Se tiene que buscar Python. Se tiene que
instalar la primera que nos sale, la cual es de Microsoft.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh974rDUHcr6fBw_r55iw2XcV3oPoJ324QbdElA4bPS92Ybx8UL8k7h8HjqHt2YQjKrnqfdqEnzaySRT7RkNIJ0O98hyNyKqkW9Xa5A2IEVaurfmtXeT0vGYxSPA64S-5wAtiJ4HyPDNxT/s397/Picture3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;91&quot; data-original-width=&quot;397&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh974rDUHcr6fBw_r55iw2XcV3oPoJ324QbdElA4bPS92Ybx8UL8k7h8HjqHt2YQjKrnqfdqEnzaySRT7RkNIJ0O98hyNyKqkW9Xa5A2IEVaurfmtXeT0vGYxSPA64S-5wAtiJ4HyPDNxT/s0/Picture3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Luego buscamos la extensión de anaconda (si
queremos usar anaconda) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Y finalmente instalamos Visual Studio
Intellicode &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZ18WE76Hk-3WCCne8lvNxtA_3z0sFNaZxiYmWjBo9IKHMxgrlpOVJbjERJGxyaJl6yWjO2Ri-C_n0PRfr6Gy-Jj96XU_qDG3soEDDkwGxSaDHDn36DXQPcaybVO00a3mSO-Z1apGFp4M/s380/Picture4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;102&quot; data-original-width=&quot;380&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZ18WE76Hk-3WCCne8lvNxtA_3z0sFNaZxiYmWjBo9IKHMxgrlpOVJbjERJGxyaJl6yWjO2Ri-C_n0PRfr6Gy-Jj96XU_qDG3soEDDkwGxSaDHDn36DXQPcaybVO00a3mSO-Z1apGFp4M/s0/Picture4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esta ultima nos ayuda con nuestro código de Python.
Nos da ayudas y nos permite autocompletar nuestro código. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ya con todo esto instalado se tiene que seleccionar
el intérprete de Python que instalamos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuRbepcfFzVU6CfbnaQkUpwu-LzZOwazo2zC-2Dkwa9_ekajGghzEDFRQ9syipD4J6JWiPrMiUduDT2Fz2_Nwhs30COJ8BtK73-8ii8ATjzDEeZsfade7xnIfhgXycE6NahTv-thI_El1U/s933/Picture5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;203&quot; data-original-width=&quot;933&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuRbepcfFzVU6CfbnaQkUpwu-LzZOwazo2zC-2Dkwa9_ekajGghzEDFRQ9syipD4J6JWiPrMiUduDT2Fz2_Nwhs30COJ8BtK73-8ii8ATjzDEeZsfade7xnIfhgXycE6NahTv-thI_El1U/s640/Picture5.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para seleccionar el interprete se tiene que ir
a la línea de comandos que tenemos en la parte superior como se puede observar
en la imagen. La podemos abrir dando clic sobre la esquina inferior izquierda en
VS Code o con “control shift p” luego se escribe Python interpreter y nos da la
opción para selección la ubicación donde esta instalado nuestro interprete de
Python.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;De esta manera podemos iniciar a escribir código
de Python con VSCode&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/2080704695838331498/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/visual-studio-code-y-python.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/2080704695838331498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/2080704695838331498'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/visual-studio-code-y-python.html' title='Visual Studio Code y Python'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH6sJwaPAGOmDYXMg1tL5dHIEq7cQELB7zw8vVYxYfhWxxxB7OSMxi4XT_uyRGCdiSAbihOQ3v5KOX5nPrPemuBZBrdAh08JmXZWF8VZ2xOzacPPILWVfgx3PRrdHeSpBYVYEqWVNTByeV/s72-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-2263624612083786189</id><published>2020-08-24T17:15:00.003-06:00</published><updated>2020-08-24T17:19:20.112-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Analytics / Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Datamining"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Reporte Técnico Predicción Salarial</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span style=&quot;text-align: justify;&quot;&gt;Nuestro trabajo se centra en un dataset con
información relacionada a trabajos de Estados Unidos. La idea del dataSet es
poder predecir el salario de los trabajos utilizando modelos que nos permitan
predecir información.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Los datos fueron encontrados en Kaggle. El cual
es un dataset de libre uso para el análisis de datos, en el siguiente link &lt;/span&gt;&lt;a href=&quot;https://www.kaggle.com/andrewmvd/data-analyst-jobs/tasks&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;https://www.kaggle.com/andrewmvd/data-analyst-jobs/tasks&lt;/span&gt;&lt;/a&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;. El cual cuenta con 2253 filas y 16
columnas. Las propiedades del dataset se definen de la siguiente manera.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Id: esta propiedad es solamente un
número que identifica cada una de las filas del dataset&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Job Title: este describe el titulo o
nombre del empleo &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Salary Estimate: esta propiedad
tiene un rango de cuanto paga cada uno de los trabajos. Esta información fue
encontrada en Glassdoor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;4.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Job Description: tiene información
relaciona a que es el trabajo que se va a desempeñar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;5.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Rating: evaluación que le dan los
empleados a las empresas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;6.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Company name: el nombre la compañía
que se está evaluando&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;7.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Location: donde se encuentra ubicada
la empresa&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;8.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Company Headquartes location: la
ubicación de la compañía &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;9.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Size: la cantidad de empleados con
los que cuanta la compañía. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;10.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Founded: el año cuando fue fundada
la compañía&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;11.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Type of ownership: el tipo de
compañía que se va a analizar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;12.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Industry: la industria a la que
pertenece la empresa&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;13.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Sector: el sector en el que esta la
industria de la empresa&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;14.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Revenue: cuanto genera la compañía &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;15.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Competitors:&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;cuales con los posibles competidores de la
empresa&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 38.35pt; mso-add-space: auto; mso-list: l4 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;16.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Easy Apply: Si es fácil aplicar para
la empresa o no&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo primero que se realizó fue cargar el
documento en Python para ver su contenido. Se hace un head para ver el
contenido rápidamente del dataset. Luego se realiza un análisis de la
estructura del dataset, esto para ver que tipos de objetos tiene cada una de
las columnas. Después de esto se pasa verificar si existen valores nulos en el
dataset.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para poder hacer algunos análisis se requiere
cambiar los valores alfanuméricos a valores numéricos, por lo que se carga otro
dataset para poder analizar la información tanto en su estado original como en
con sus valores numéricos ya que se van a tener que hacer algunas
transformaciones de datos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Durante el proceso se crean diferentes dataset
para analizar diferentes cosas, por ejemplo, se crea un pequeño dataset con el
salario, título del trabajo y raiting del empleo. Esto para verificar algunas
preguntas que teníamos del set de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Utilizando ordenamiento se busca información
relacionada a los mejores salarios comparándolos con las calificaciones de las
personas. Con esto podemos encontrar datos interesantes del dataset y
determinar que únicamente con estos criterios no podemos predecir correctamente
los salarios. Definitivamente se va a requerir más datos. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzWsyJpw_MLjI7hmQ4JQs2aGV6OtgnjSr8n0mlg3esXUi4J7MIUgd4_to6hmC3L06mpDvVgCfKJ0am_5P7TVwRvIkTNjfJmDHrIGhhQc76N_U7PFyZsd7FaeRKTXbmpCmN_XWWzP8hEan2/s939/Picture1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;611&quot; data-original-width=&quot;939&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzWsyJpw_MLjI7hmQ4JQs2aGV6OtgnjSr8n0mlg3esXUi4J7MIUgd4_to6hmC3L06mpDvVgCfKJ0am_5P7TVwRvIkTNjfJmDHrIGhhQc76N_U7PFyZsd7FaeRKTXbmpCmN_XWWzP8hEan2/s640/Picture1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Se inicia hacer algunos gráficos para ver los
datos. Por ejemplo, la relación que existe entre Salary Estimate y Job Title.
Los gráficos inicialmente son un poco difíciles de interpretar ya que tiene
muchos datos por lo que se va a crear datasets más pequeños. La idea es poder
entender mejor los datos utilizando set de datos que se pueden visualizar en
los gráficos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Se crear más ordenamientos para ir entendiendo
los datos de manera simple. Lo primero que se hace es ordenar los datos por
medio del rating para verificar si los salarios más altos se encurtan ubicados
entre las empresas con mayores calificaciones o si no es así. Esto se logra
utilizando la función sort_values de Python que además permite crear
ordenamiento por diferentes tipos de valores del set de datos. Se hacen
ordenamientos por medio del Salary Estimate para poder ver si las empresas con
los salarios más altos cuentan con las mejores calificaciones con esto se puede
determinar que las mejores calificaciones no están estrictamente relacionas a
los mejores salarios de las personas. Por lo que se debe realizar otra serie de
estudios para encontrar mayores relaciones entre los datos con los que
contamos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;La idea de hacer conjuntos de datos más
pequeños realmente nos ayudo a crear muchas observaciones que se pueden
graficar y estudiar de manera detallada. Parte de las observaciones que se
hacen están basadas en los supuestos con los que se inicial el proyecto para
predicción de salarios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3S3OCKYncX7EJkvGlAz4ncFMbzFSdSpu7Bsm6sXGz-e_wd8eob1reOERxKncAtWu4mT2IXKIS-dGy3ADTb8vEsKX7Sdg5yIDTYYFjl2bmri7FZlmpCvs40CM1p3jrBtDNAM0tHFjCmmSH/s975/Picture2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;570&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3S3OCKYncX7EJkvGlAz4ncFMbzFSdSpu7Bsm6sXGz-e_wd8eob1reOERxKncAtWu4mT2IXKIS-dGy3ADTb8vEsKX7Sdg5yIDTYYFjl2bmri7FZlmpCvs40CM1p3jrBtDNAM0tHFjCmmSH/s640/Picture2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Se hacen otros filtros de datos con diferentes
valores para ir inspeccionando la información un poco más y de esta manera
comprendiendo mucho mejor con que estamos tratando. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Continuando con el proceso de análisis de datos
iniciamos a ver la información que contenía cada una de las propiedades de
nuestro dataset. Utilizando la función unique de Python buscamos los valores
únicos de las diferentes columnas con el fin de poder generar valores únicos
para cada una de las variables. Ya que algunos procedimientos y modelos no
soportan datos alfanuméricos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Nos damos cuenta de que los valores de las
columnas en algunos casos son muchísimos por lo que transformar esto de manera
manual no es simple. Con esto se decide a crear un algoritmo que nos permite
transformar los datos de manera automática, pero tenemos que guardar la
equivalencia de cada uno de estos datos para futuros estudios. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El algoritmo que creamos realmente es muy
simple. Lo que hacemos es buscar el valor único de cada una de las columnas que
tenemos en el dataset. Creamos una lista que se encarga de asignar un valor
numérico para cada uno de los valores de texto que tiene cada columna. Al final
como resultado tenemos una lista que cuenta con un formato llave/valor para
representar el valor numérico equivalente al dato que tenia el set de manera
original.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El proceso fue encontrar los valores únicos de
cada una de las columnas con esto se generaron valores numéricos que
representaran cada de los datos. Cada columna del dataset tiene una lista que
contiene sus valores números para futuros procesos, esto con el fin de no
olvidar que representa cada uno de los nuevos datos del conjunto. Luego de esto
se crea un ciclo que se encarga de recorrer la columna e ir cambiando el valor
alfanumérico por el valor numérico que representa el dato que tenemos en
nuestro dataset. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Este último proceso se corrió para cada una de
las columnas que no tenían valores numéricos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En el caso de la columna Easy Apply esto es un
valor true/false lo que representa valores de verdadero o falso. Esta columna
no tenia todos los datos completos y con algunos -1 dentro de su información.
Todos los valores de true se convirtieron en 1 los otros fueron convertidos a
0. Este fue un poco más simple ya que no teníamos esa cantidad enorme de datos
como las otras columnas. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;La ultima columnas a la que nos tocaba analizar
para ver que podíamos hacer con esta era la columna de job description. Tomamos
el tiempo de ver qué tipo de información teníamos en esta columna. Se
encuentran los valores únicos de esta columna y prácticamente toda la
información que tenia esta columna era de filas únicas. Es decir, cada una de
las diferentes descripciones de los trabajos eran únicos. Lo que nos llevo a la
tarea de analizar el contenido y fuimos viendo la información que tenía. Esta
columna realmente no tenía información cuantificable o medible. Lo que nos daba
esta columna eran datos de qué tipo de trabajo se estaba hablando, algunas
descripciones de roles y tipos de personas que podrían estar interesadas en el
trabajo. Por ejemplo, algunas hablaban de que querían personas que fueran muy
trabajadoras, etc. Pero no le estaban aportando un valor real al estudio que se
deseaba hacer. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Llegamos a la conclusión que lo mejor seria
quitar la columna de nuestro estudio. Ya que no nos estaba dando un valor
importante a nuestro análisis. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para continuar con el proceso se hace una
inspección de la estructura de los datos ya con la transformación. Nos damos
cuenta de que algunos tipos de datos no son de tipo int. Esto da problemas con
algunas tareas de análisis de datos.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU0Fc0G3GzVjt6P3-gebFFzkNqfmFdjzJrOeIz-fvhuo9sHfVMC7iO4S1mqieVLtFz-BDyPTmvTRa8hIS8RDGkuQtWJREhY3aiLnZ2vkBfm4s5VGRHACtxrq4OrrYy9O6nsUiTo0hnYdS4/s453/Picture3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;453&quot; data-original-width=&quot;389&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU0Fc0G3GzVjt6P3-gebFFzkNqfmFdjzJrOeIz-fvhuo9sHfVMC7iO4S1mqieVLtFz-BDyPTmvTRa8hIS8RDGkuQtWJREhY3aiLnZ2vkBfm4s5VGRHACtxrq4OrrYy9O6nsUiTo0hnYdS4/s0/Picture3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Por lo que nos dimos a la tarea de convertir
todos los tipos de datos a int32 que realmente era la forma en la que teníamos
almacenados ahora la información. Esto nos permite trabajar con la información
que tenemos con todos los modelos y procesos de visualización que queríamos
crear.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El resultado de dataset por procesar fue con
una estructura de tipos de datos numéricos (int32) que nos permitirá utilizar
todos los tipos de gráficos y modelos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0DWQks86Y3jK_NRCiUGCfmPoXuEd2PwGWhwKc0HHDy2X6KadDEd-QKDyz3JzQh-wrH0oCKvLBeq1rE41h7NCv11U7i-6-jJnU6LyKZpeqmGzxOz_ewW1zYp-SPpVWUcxt-tRxpNplZZB_/s450/Picture4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;450&quot; data-original-width=&quot;358&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0DWQks86Y3jK_NRCiUGCfmPoXuEd2PwGWhwKc0HHDy2X6KadDEd-QKDyz3JzQh-wrH0oCKvLBeq1rE41h7NCv11U7i-6-jJnU6LyKZpeqmGzxOz_ewW1zYp-SPpVWUcxt-tRxpNplZZB_/s0/Picture4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Nos dimos cuenta de que teníamos pendiente una
columna más por analizar la cual era founded. Esta columna representa cuando la
empresa fue fundada, pero en algunos casos tenia un -1 que representa que no
tiene una fecha de su fundación. Por lo que se realizo otra transformación de
datos y pasamos este dato a un 0. Ahora el 0 representa que la compañía no
tiene fecha de fundación. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;A partir de este punto se inicia otra serie de
análisis datos para ver cómo podemos entender mejor la información con la que
contamos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90OY8YMdWTzpKUOJOXPk8yGWqFGhoGkzWF7heAGI00Hs4HhPCUPW8ZLzEk-4kyUMvn_qTJTFqlxo4sUkRCtHB6tnp7jaYOXIPx-51tTn9uFEYEC34puQh917p-RROTw5N1MdxCFqP1fUA/s975/Picture5.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;481&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90OY8YMdWTzpKUOJOXPk8yGWqFGhoGkzWF7heAGI00Hs4HhPCUPW8ZLzEk-4kyUMvn_qTJTFqlxo4sUkRCtHB6tnp7jaYOXIPx-51tTn9uFEYEC34puQh917p-RROTw5N1MdxCFqP1fUA/s640/Picture5.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Como podemos observa en este grafico se hace un
conteo de los tipos de salarios. Que tenemos en los datos. Esto nos demuestra
cual es el salario más ofrecido por las diferentes empresas. Podemos visualizar
de manera simple como se agrupan los rangos salariales que tenemos. Además de
esto se continúa haciendo otros tipos de gráficos con diferente tipo de
información para poder entenderla mucho mejor. Algunos gráficos son difíciles
de entender ya que la cantidad de información es muy amplia. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con este problema lo que hacemos es crear
subdatasets con filtros que nos permitan ver información de manera más fácil.
Por ejemplo, tomamos todos los datos de las empresas con mejores calificaciones
y con este extracto de datos creamos gráficos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsphaFZoyLZ8lAhlYCBLQzYbOIXZ15yWy2rZlimKTyxwtoHKWDe5xxaysvwRopRt6OfUpUZ_HL9gxXDBvzaw9-HKURaerwZF_QpDpLs00OqgFGLEtirxGC9hoVwjsXJLibfGAm5t4yDHYA/s975/Picture6.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;438&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsphaFZoyLZ8lAhlYCBLQzYbOIXZ15yWy2rZlimKTyxwtoHKWDe5xxaysvwRopRt6OfUpUZ_HL9gxXDBvzaw9-HKURaerwZF_QpDpLs00OqgFGLEtirxGC9hoVwjsXJLibfGAm5t4yDHYA/s640/Picture6.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esta técnica sin ninguna duda permite entender
mejor la información y crear datos que nos permitan responder a interrogantes
específicas. Este proceso lo hicimos varias veces con el fin de entender diferentes
partes de la información con la que estamos trabajando. El filtrar la
información nos da mayor control sobre lo que deseamos investigar y los
resultados que estamos buscando. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;De esta forma por ejemplo se pudo encontrar la
relación que tenemos de los mayores salarios y las evaluaciones de las
personas. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;Ahora es
momento de trabajar con los modelos. Para hacer este trabajo se desarrollaron
tres modelos diferentes para 3 tipos de datasets. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Los modelos fueron&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo2; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;SVR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo2; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;RF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo2; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;LinearRegression&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En el caso de los dataset fueron seleccionados
de la siguiente forma. Uno que encontramos directamente en la página que
proponía cuales eran los valores que se debían seleccionar para crear los
modelos, este fue tomado como el modelo de criterio experto. En el caso de los
otros dos modelos se generar proceso para hacer un feature selection usando
librerías de Python. El primero dataset se utilizo el algoritmo de SelectKBest
y luego el ExtraTreeClassifier. Estos dos últimos nos dieron columnas muy
similares sin embargo si existían diferencias. Por lo que se toma la decisión
de usar ambos para crear modelos y ver cual nos brinda mejores resultados. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El primer modelo que de criterio experto
contiene los siguientes atributos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l1 level1 lfo3; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Industry&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo3; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Location&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l1 level1 lfo3; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Compny
revenue&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El modelo que con el algoritmo kBest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Job
Title&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Salary
Estimate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Company
Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Location&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Headquartes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Founded&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Type
of ownership&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Industry&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Sector&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Revenue&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Competitor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El modelo ExtreTreelassifier&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Job
Title&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Salary
Estimate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Compnay
name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Location&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Headquarters&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Size&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Founded&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Type
of ownersh&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Industry&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Sector&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l2 level1 lfo5; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;font-family: Symbol; mso-ansi-language: ES-CR; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Revenue&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ya con estos dataset se procede a crear una
variable para cada dataset que contenga la variable dependiente que será la que
vamos a predecir. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Después de esto se crean los dataset que vamos
a usar, pero sin la variable dependiente esto con el fin de crear los sets de
entrenamiento y de pruebas. Para cada uno de los dataset se crea una parte de
pruebas y una parte de entrenamiento. Se analiza la información que contiene
los sets de entrenamiento y pruebas solo para ver que fuero creados
correctamente. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Luego debemos importar algunas librerías extras
de Python para poder ejecutar algunos modelos que se requieren para poder
predecir la información. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Para la creación de los modelos más simple se
hacen variables que contiene cada uno de los modelos para cada uno de los
datasets. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAdo-b8_5JnQ3-gEfJyZCl2e4G7SP6Zkk7kyjetpzFK6570jhhwVvajJit26s0azvhC0f7S0kUQH1V8mKloUtct3U9wNaE393GQPznqmH4VIqgpQmAJxVAdQdfCBslI2m6lOXoH1bYKFDE/s547/Picture7.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;356&quot; data-original-width=&quot;547&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAdo-b8_5JnQ3-gEfJyZCl2e4G7SP6Zkk7kyjetpzFK6570jhhwVvajJit26s0azvhC0f7S0kUQH1V8mKloUtct3U9wNaE393GQPznqmH4VIqgpQmAJxVAdQdfCBslI2m6lOXoH1bYKFDE/s0/Picture7.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El siguiente paso que tenemos que hacer es iniciar
a construir los modelos.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Utilizando los
datos de entrenamiento vamos a crear cada uno de los modelos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En total vamos a generar 9 modelos que tenemos
que analizar para ver cual nos da mejores resultados. Con esto vamos a generar
estadísticas que nos permitan entender cual es el modelo que vamos a utilizar
basados en las estadísticas que se fueron generando en el proyecto.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Detalle de las estadísticas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsg7AODna0lHEiuix9zMe1OoHtOpFWKWlo-usUUY948iw696vkSgDOrOyvw_Ldwmr0g4FdAfiRro3cDxUwkUHV_KnmfGinILmUxOllPJqxifWRCgZWEHCowpDd5nnO_dCy3gpZBEkY2dq6/s975/Picture8.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;228&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsg7AODna0lHEiuix9zMe1OoHtOpFWKWlo-usUUY948iw696vkSgDOrOyvw_Ldwmr0g4FdAfiRro3cDxUwkUHV_KnmfGinILmUxOllPJqxifWRCgZWEHCowpDd5nnO_dCy3gpZBEkY2dq6/s640/Picture8.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En el cuadro anterior podemos observar las
estadísticas que hemos generado con los modelos para la predicción de los
empleos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Nos damos cuenta de que el dataset con la menor
cantidad de datos no es el que nos genera los mejores resultados. Los dos
dataset que usan la selección de atributos utilizando las funciones de Python
nos dan mejores resultados a la hora de predecir la información. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Nos damos cuenta de que no siempre el uso del
criterio experto nos da los mejores resultados es mejor crear estudios un poco
más profundos para poder comprender mejor que atributos son los correctos para
mejorar las predicciones.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;Código de Python&lt;a href=&quot; https://github.com/jeanPython/jobbSalary/blob/master/Job%20Salary.ipynb&quot; target=&quot;_blank&quot;&gt; https://github.com/jeanPython/jobbSalary/blob/master/Job%20Salary.ipynb&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/p/data-analytics-big-data.html&quot; style=&quot;text-align: justify;&quot;&gt;Regresar&lt;/a&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/2263624612083786189/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/reporte-tecnico-prediccion-salarial.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/2263624612083786189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/2263624612083786189'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/reporte-tecnico-prediccion-salarial.html' title='Reporte Técnico Predicción Salarial'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzWsyJpw_MLjI7hmQ4JQs2aGV6OtgnjSr8n0mlg3esXUi4J7MIUgd4_to6hmC3L06mpDvVgCfKJ0am_5P7TVwRvIkTNjfJmDHrIGhhQc76N_U7PFyZsd7FaeRKTXbmpCmN_XWWzP8hEan2/s72-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-6485180821628250716</id><published>2020-08-04T19:42:00.005-06:00</published><updated>2020-08-04T19:46:31.215-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Analytics / Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Datamining"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Python para Data Analysis</title><content type='html'>&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOhCRuoZw3BCPme_4gDrSbcNEvNR8df0NBvSo25sRIQrMyVrttL1_FnH5fJuxUBU6NMwxQp-LS12GynTy3flsewHKUHJ7UFtEypvpcWa9WpC6KYOy16xpm7XnLfW1Qu6VrEldUqy8STrLJ/s290/Picture1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;82&quot; data-original-width=&quot;290&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOhCRuoZw3BCPme_4gDrSbcNEvNR8df0NBvSo25sRIQrMyVrttL1_FnH5fJuxUBU6NMwxQp-LS12GynTy3flsewHKUHJ7UFtEypvpcWa9WpC6KYOy16xpm7XnLfW1Qu6VrEldUqy8STrLJ/s0/Picture1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Después de usar lagunas herramientas para el
estudio de datos como RapidMinder y R me parece que Python es mucho más fácil y
rápido para el estudio de datos. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;Por supuesto
R es una gran herramienta que no debemos menospreciar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Vamos a ver que se necesita para iniciar con el
análisis de datos con Python. Podemos hacer dos cosas descargar anaconda que ya
tiene varios frameworks para el análisis de datos o podemos instalar Python y
luego continuar con la instalación de las otras librerías. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Primero debemos descargar Python &lt;/span&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;a href=&quot;https://www.python.org/downloads/&quot; target=&quot;_blank&quot;&gt;https://www.python.org/downloads/&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;mso-ansi-language: ES-CR;&quot;&gt; &lt;span lang=&quot;&quot;&gt;tiene que buscar la versión que aplica para su sistema
operativo. En mi caso estoy usando Windows. Tenemos que agregar una variable en
el Home para Python. Después de esto podemos correr Python en el cmd &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5SFli6K18nrm6iQuEn30ErnIwjrlnAU6ztMKGr6Z0nmXVEVy9MGZ-E4JPovq7TVp2YggFG2Ojh7OLP_OG63OtAStK3811kxADnHq6aXBw3BRN6SnLrk2B10owb6eGc5VPI6oX5Us74u2I/s975/Picture2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;87&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5SFli6K18nrm6iQuEn30ErnIwjrlnAU6ztMKGr6Z0nmXVEVy9MGZ-E4JPovq7TVp2YggFG2Ojh7OLP_OG63OtAStK3811kxADnHq6aXBw3BRN6SnLrk2B10owb6eGc5VPI6oX5Us74u2I/s640/Picture2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esto nos mostrara la versión de Python que
tenemos instalado y nos permite asegurarnos que los instalamos correctamente. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora debemos verificar que versión de pip
tenemos. En el cmd debemos digitar “pip –version” &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNVsyB7UGFmfIcTRQdh3QzAOEEr_twf0xJeq58D6ihNcZuNBST5FO7hBnbszR9sDaBQNThSv8nW0fDsTMTpxBR7tts0IBSi1NZv1ZGUzzMFN1cjLiyfFGfMl49TCci4lJ-8dFMBWIY8kOf/s975/Picture3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;48&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNVsyB7UGFmfIcTRQdh3QzAOEEr_twf0xJeq58D6ihNcZuNBST5FO7hBnbszR9sDaBQNThSv8nW0fDsTMTpxBR7tts0IBSi1NZv1ZGUzzMFN1cjLiyfFGfMl49TCci4lJ-8dFMBWIY8kOf/s640/Picture3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Pip en Windows se debió haber instalado cuando
se instalo Python, pero se podría actualizar si fuera necesario. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora tenemos que instalar algunas librerías
que son necesarias para nuestro análisis de datos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Numpy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Pandas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Matplotlib&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;4.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Scipy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;5.&lt;span style=&quot;font: 7pt &amp;quot;times new roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Scikit-learn&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Estas librerías las vamos a instalar usando PIP
con el siguiente comando desde cmd. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;“pip install panda” &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora solamente se debe cambiar el nombre de la
librería que se desea instalar. Cuando terminamos con las librerías vamos a
usar el comando “pip freeze” con el fin de ver si tenemos todas las librerías necesarias
instaladas. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;A continuación, vamos a instalar Jupyter Note
para poder ejecutar nuestras operaciones de Python. Se puede usar con otros IDEs
pero realmente Jupyter es muy fácil y tiene muy buenas características para
hacer nuestro trabajo limpio y rápido. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Igual que las otras librerías tenemos que
correr pip install jupyter. Cuando lo tenemos instalados vamos a correr en el
cmd “jupyter notebook” esto nos abre nuestro editor de texto para Python. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;De esta forma podemos ver nuestro código de
Python &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjizXyVyayuZKlH4FqrdpQfGBPpd1CksClSBN7nWsoBvcJS50WoUp13uWCy6Gnx-yUPpMq0td23q9991ph5gUfgznqIENzZ7Ns94XZ_HPCKy2TMUcFwTMGDGM40S4NKQtOPOz-QfKXWEktw/s975/Picture4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;111&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjizXyVyayuZKlH4FqrdpQfGBPpd1CksClSBN7nWsoBvcJS50WoUp13uWCy6Gnx-yUPpMq0td23q9991ph5gUfgznqIENzZ7Ns94XZ_HPCKy2TMUcFwTMGDGM40S4NKQtOPOz-QfKXWEktw/s640/Picture4.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;&quot;&gt;Ya estamos listos para trabajar con nuestros proyectos
de datos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/p/data-analytics-big-data.html&quot;&gt;Regresar&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/6485180821628250716/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/python-para-data-analysis.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/6485180821628250716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/6485180821628250716'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/python-para-data-analysis.html' title='Python para Data Analysis'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOhCRuoZw3BCPme_4gDrSbcNEvNR8df0NBvSo25sRIQrMyVrttL1_FnH5fJuxUBU6NMwxQp-LS12GynTy3flsewHKUHJ7UFtEypvpcWa9WpC6KYOy16xpm7XnLfW1Qu6VrEldUqy8STrLJ/s72-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-8284188492328317484</id><published>2020-08-03T14:51:00.004-06:00</published><updated>2020-08-03T14:54:33.862-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><title type='text'>Crear Json desde SQLServer queries</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRVZ8sY9k5jmea-FNMflQ2koNwrx26UMCatG1IrfDvvSO8Yvq1CsInyVONfAPN3cbpdt8LtfCaPI6-IgUWczyea8eddE7T-y-oaRRXmbrxNSH49i6PuLQT59nmg6VkYBllimj1iD0Yoc12/s655/Image+1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;222&quot; data-original-width=&quot;655&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRVZ8sY9k5jmea-FNMflQ2koNwrx26UMCatG1IrfDvvSO8Yvq1CsInyVONfAPN3cbpdt8LtfCaPI6-IgUWczyea8eddE7T-y-oaRRXmbrxNSH49i6PuLQT59nmg6VkYBllimj1iD0Yoc12/s640/Image+1.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;El uso de Json se ha hecho muy popular y común para
transmitir datos por medio de la web y diferentes sistemas internos y externos
de diferentes empresas. Ahora a partir de SQLServer 2016 podemos crear queries
que pueden generar resultados con Json. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con el uso de Json se puede manipular el tipo
de resultado que vamos a crear. Vamos a ver unos ejemplos de como se puede logar
esto. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Primero vamos a crear una tabla para poder
crear los queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Las tablas y los datos los encontramos en este link
&lt;/span&gt;&lt;a href=&quot;https://www.progress.com/tutorials/ado-net/code-examples-sql-server&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;https://www.progress.com/tutorials/ado-net/code-examples-sql-server&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con el siguiente ejemplo podemos ver como generar
el resultado de Json. Usando “FOR JSON PATH” y también podemos controlar el
formato. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; mso-ansi-language: ES-CR;&quot;&gt;SELECT&lt;/span&gt;&lt;span lang=&quot;&quot; style=&quot;color: black; font-family: consolas; font-size: 9.5pt; mso-ansi-language: ES-CR;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;&quot; style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; mso-ansi-language: ES-CR;&quot;&gt;*&lt;/span&gt;&lt;span lang=&quot;&quot; style=&quot;color: black; font-family: consolas; font-size: 9.5pt; mso-ansi-language: ES-CR;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;&quot; style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; mso-ansi-language: ES-CR;&quot;&gt;FROM&lt;/span&gt;&lt;span lang=&quot;&quot; style=&quot;color: black; font-family: consolas; font-size: 9.5pt; mso-ansi-language: ES-CR;&quot;&gt; emp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%; text-align: justify;&quot;&gt;FOR&lt;/span&gt;&lt;span style=&quot;font-family: consolas; font-size: 9.5pt; line-height: 107%; text-align: justify;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%; text-align: justify;&quot;&gt;JSON&lt;/span&gt;&lt;span style=&quot;font-family: consolas; font-size: 9.5pt; line-height: 107%; text-align: justify;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%; text-align: justify;&quot;&gt;PATH&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;[{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;JOHNSON&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADMIN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-12-17T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;18000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;HARDING&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1998-02-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;52000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;300.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TAFT&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;SALES I&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1996-01-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;25000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;500.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;HOOVER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;SALES I&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-04-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;27000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;5&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;LINCOLN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TECH&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1994-06-23T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;22500.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;1400.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;GARFIELD&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1993-05-01T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;54000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;7&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;POLK&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TECH&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1997-09-22T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;25000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;8&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;GRANT&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1997-03-30T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;32000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;JACKSON&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;CEO&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-01-01T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;75000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;FILLMORE&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1994-08-09T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;56000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;11&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADAMS&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1996-03-15T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;34000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;12&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;WASHINGTON&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADMIN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1998-04-16T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;18000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;13&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MONROE&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;2000-12-03T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;30000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;14&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ROOSEVELT&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;CPA&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1995-10-12T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;35000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;}]
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Con el atributo de ROOT se puede crear un nodo
principal para agregar todo el resto del JSON&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt; empno&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;ename&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;job&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;mgr&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;hiredate&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;sal&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;comm&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;dept &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt; emp&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;FOR&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;JSON&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;PATH&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;ROOT&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;&#39;emp&#39;&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;&lt;!--HTML generated using hilite.me--&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:[{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;JOHNSON&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADMIN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-12-17T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;18000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;HARDING&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1998-02-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;52000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;300.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TAFT&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;SALES I&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1996-01-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;25000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;500.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;HOOVER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;SALES I&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-04-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;27000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;5&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;LINCOLN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TECH&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1994-06-23T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;22500.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;1400.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;GARFIELD&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1993-05-01T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;54000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;7&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;POLK&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TECH&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1997-09-22T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;25000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;8&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;GRANT&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1997-03-30T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;32000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;JACKSON&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;CEO&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-01-01T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;75000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;FILLMORE&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1994-08-09T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;56000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;11&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADAMS&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1996-03-15T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;34000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;12&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;WASHINGTON&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADMIN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1998-04-16T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;18000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;13&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MONROE&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;2000-12-03T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;30000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;14&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ROOSEVELT&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;CPA&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1995-10-12T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;35000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;}]}
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Podemos agrupar o crear Json dentro del Json principal
como podemos ver en el siguiente ejemplo.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt; empno [emp.empno]&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;ename [emp.ename]&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;job&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;mgr&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;hiredate&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;sal&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;comm&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt;dept &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt;&quot;&gt; emp&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;FOR&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;JSON&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;PATH&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: black; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;ROOT&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;&#39;emp&#39;&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:[{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;JOHNSON&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADMIN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-12-17T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;18000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;HARDING&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1998-02-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;52000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;300.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TAFT&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;SALES I&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1996-01-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;25000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;500.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;HOOVER&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;SALES I&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-04-02T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;27000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;5&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;LINCOLN&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TECH&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1994-06-23T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;22500.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;comm&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;1400.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;GARFIELD&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1993-05-01T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;54000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;7&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;POLK&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;TECH&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1997-09-22T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;25000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;8&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;GRANT&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1997-03-30T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;32000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;JACKSON&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;CEO&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1990-01-01T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;75000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;FILLMORE&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MANAGER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1994-08-09T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;56000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;11&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADAMS&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1996-03-15T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;34000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;12&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;WASHINGTON&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ADMIN&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1998-04-16T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;18000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;13&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;MONROE&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ENGINEER&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;2000-12-03T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;30000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;},{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;emp&quot;&lt;/span&gt;:{&lt;span style=&quot;color: #007700;&quot;&gt;&quot;empno&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;14&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;ename&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;ROOSEVELT&quot;&lt;/span&gt;},&lt;span style=&quot;color: #007700;&quot;&gt;&quot;job&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;CPA&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;mgr&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;9&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;hiredate&quot;&lt;/span&gt;:&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&quot;1995-10-12T00:00:00&quot;&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;sal&quot;&lt;/span&gt;:&lt;span style=&quot;color: #6600ee; font-weight: bold;&quot;&gt;35000.00&lt;/span&gt;,&lt;span style=&quot;color: #007700;&quot;&gt;&quot;dept&quot;&lt;/span&gt;:&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;}]}
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;De esta manera podemos generar documentos o
resultados de Json con nuestros datos de SQLServer&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/8284188492328317484/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/convertir-json-desde-sqlserver-queries.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/8284188492328317484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/8284188492328317484'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/08/convertir-json-desde-sqlserver-queries.html' title='Crear Json desde SQLServer queries'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRVZ8sY9k5jmea-FNMflQ2koNwrx26UMCatG1IrfDvvSO8Yvq1CsInyVONfAPN3cbpdt8LtfCaPI6-IgUWczyea8eddE7T-y-oaRRXmbrxNSH49i6PuLQT59nmg6VkYBllimj1iD0Yoc12/s72-c/Image+1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-6185296722410965898</id><published>2020-07-31T21:59:00.002-06:00</published><updated>2020-07-31T21:59:37.835-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="JDK"/><category scheme="http://www.blogger.com/atom/ns#" term="jdk14"/><category scheme="http://www.blogger.com/atom/ns#" term="Maven"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenJDK"/><category scheme="http://www.blogger.com/atom/ns#" term="Payara"/><category scheme="http://www.blogger.com/atom/ns#" term="RESTful"/><title type='text'>Apache Netbeans 12 Payara y JDK14 Para crear servicios de Rest</title><content type='html'>&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Hace unos días tenía que hacer un servicio de Rest
pero no quería utilizar los JDK anteriores al 14 de Java. encontré que se puede
utilizar un proyecto de Micro Payara con JEE8 (Jakarta) para crear esto. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Lo primero que vamos a hacer es crear un proyecto
nuevo en Netbeans usando Maven. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Clrv2FY3tf5unxuY7Q6cIrx4jnDKu_mSQVJVfx2AOEGAcPCipLcpGNiKJuEShjM89x2aFKLgQYPrNKLlbzKJishisQQGWDzqnh8KcLwLOXXgdKtD_86XcTFR5DUC9lMjqFryeKJIYD1u/s975/Picture1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;673&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Clrv2FY3tf5unxuY7Q6cIrx4jnDKu_mSQVJVfx2AOEGAcPCipLcpGNiKJuEShjM89x2aFKLgQYPrNKLlbzKJishisQQGWDzqnh8KcLwLOXXgdKtD_86XcTFR5DUC9lMjqFryeKJIYD1u/s640/Picture1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Buscamos el que dice Payara Micro Application,
damos clic en siguiente luego de esto debemos de asignarle un nombre a nuestro
proyecto y damos clic en siguiente. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En mi caso vamos a seleccionar la versión 5.201
del servidor de Payara. Luego clic en finalizar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGaJpeIuxqbpGsDKRXuA5ay8WYkR1NwxvGDav3MYT0Q8cxjRTWxDkDjxgCPls4UhyWNb499kMkFp4Hai3mkjljGuTvSIgmMr6XJpX9rBOduMyG4fB_p3R5QpMwMsdAywtSubQcQ7np7byL/s975/Picture2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;671&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGaJpeIuxqbpGsDKRXuA5ay8WYkR1NwxvGDav3MYT0Q8cxjRTWxDkDjxgCPls4UhyWNb499kMkFp4Hai3mkjljGuTvSIgmMr6XJpX9rBOduMyG4fB_p3R5QpMwMsdAywtSubQcQ7np7byL/s640/Picture2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Dentro de mi proyecto voy a crear un paquete
nuevo que se va a llamar codebase&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1TsU2-wZmd_gvTDB-IFxdiZBxwIBKr9MYff1tWzroW_KHY4lBrNc1_tgYVDeHlDi5JrM5TzCvENcJMnzv7QAla87eVxT1xyReBbkIMHyGyyIeZTlIM3IBKdxp1fys2cjZO3GzHYODTgGX/s331/Picture3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;308&quot; data-original-width=&quot;331&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1TsU2-wZmd_gvTDB-IFxdiZBxwIBKr9MYff1tWzroW_KHY4lBrNc1_tgYVDeHlDi5JrM5TzCvENcJMnzv7QAla87eVxT1xyReBbkIMHyGyyIeZTlIM3IBKdxp1fys2cjZO3GzHYODTgGX/s0/Picture3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En este paquete vamos a crear unas clases POJO
que utilizaremos para generar nuestros objetos de Json. Vamos a crear una clase
que se llama Article donde vamos a tener unas variables para describir artículos
que tendremos en nuestro sistema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora si es tiempo de agregar nuestro primero
servicio de Rest. Siguiendo los pasos a continuación&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Clic
derecho sobre el proyecto&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;New&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Clic
sobre otros&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;4.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Buscamos
la carpeta que dice Web Services &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;5.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Y
seleccionamos Restful Web Services From Patterns&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia_8sO79C-Jajo4JuxrqfAKaWFCN0Z93AdiChBLOMw0pCZGIK4G9VMCoGw1unJovtB7r52FpXmznHGcNAgnV0vNpr_TlH1zwXjGHEZqjhzzS5Wdu0zWth-Ln4ZkCq1GiOkXQp6ua_NLoNh/s805/Picture4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;306&quot; data-original-width=&quot;805&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia_8sO79C-Jajo4JuxrqfAKaWFCN0Z93AdiChBLOMw0pCZGIK4G9VMCoGw1unJovtB7r52FpXmznHGcNAgnV0vNpr_TlH1zwXjGHEZqjhzzS5Wdu0zWth-Ln4ZkCq1GiOkXQp6ua_NLoNh/s640/Picture4.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ahora hacemos clic en siguiente hasta llegar a
esta pantalla. Donde tenemos que hacer algunos cambios. Primero el paquete
donde queremos guardar las clases relacionadas a nuestros APIs, el path donde estará
ubicado nuestro servicio, el nombre del recurso. Es importante no olvidar
cambiar el MIME Type a json que es la forma que nuestro API va a responder. El campo
final no es tan importante cambiarlo ya que lo podemos hacer después para retornar
una lista de objetos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcnw5s4aNWmwgrbVk88cqrjaR1RMv1GaAmPdcDMU6frr0LMH9WgB8RidZzbnEH-4O3KshyPk1Ezd_8EHsRDBsj6Rfr1JpfHc7pNe4EX7dn8K5Wa3NR2J-ZS5yM5U7WzgQqNu3YteLT5D0/s816/Picture5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;391&quot; data-original-width=&quot;816&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcnw5s4aNWmwgrbVk88cqrjaR1RMv1GaAmPdcDMU6frr0LMH9WgB8RidZzbnEH-4O3KshyPk1Ezd_8EHsRDBsj6Rfr1JpfHc7pNe4EX7dn8K5Wa3NR2J-ZS5yM5U7WzgQqNu3YteLT5D0/s640/Picture5.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando tenemos todo listo damos clic en finalizar.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Esto genera un nuevo paquete con dos clases. La
clase que tiene nuestra definición del API que seria ArticleResource y la clase
con la configuración de nuestro servicio. Vamos a ir a la clase
ArticleResource.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;span lang=&quot;ES-CR&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: ES-CR; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br clear=&quot;all&quot; style=&quot;mso-special-character: line-break; page-break-before: always;&quot; /&gt;
&lt;/span&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjRxUkJgDHBX3YIYadaIllnZjTgmnwZy7rVyT0ONTV6c-_SJK5gv5P-QDmKx93NLH8WkvgAwA6qYFYbqQECZqeNSiUtEIO1FwoaifJUjnP-d2u0yt75IK6KpFD6mW7u98Fli-iaaggMh2C/s294/Picture6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;88&quot; data-original-width=&quot;294&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjRxUkJgDHBX3YIYadaIllnZjTgmnwZy7rVyT0ONTV6c-_SJK5gv5P-QDmKx93NLH8WkvgAwA6qYFYbqQECZqeNSiUtEIO1FwoaifJUjnP-d2u0yt75IK6KpFD6mW7u98Fli-iaaggMh2C/s0/Picture6.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;La clase AricleResource va a tener los verbos
de Rest. Para nuestro ejemplo vamos a utilizar únicamente el verbo de GET. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPyHNIIUPC9gSrmRKVA8373fme2gP6h_uANy74U6zi2Mz7nqtNNgLKxn5H6JdniBMBsQ-QG8xqxgemxlZ_0aa3hQekvoFeItuUOM5SQg0_rQH6FB0hPFEXcuG1mj8suygvPuaA67DOAOCS/s975/Picture7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;133&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPyHNIIUPC9gSrmRKVA8373fme2gP6h_uANy74U6zi2Mz7nqtNNgLKxn5H6JdniBMBsQ-QG8xqxgemxlZ_0aa3hQekvoFeItuUOM5SQg0_rQH6FB0hPFEXcuG1mj8suygvPuaA67DOAOCS/s640/Picture7.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En este método vamos a inicializar la lista
como se puede ver en la línea 45 y la vamos a retornar. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Ya estamos listos para correr nuestra aplicación.
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando corremos nuestra aplicación se va a
correr un servidor de Payara en le console out de Netbeans vamos a poder ver la
dirección que podemos usar para ver nuestro servicio en el browser. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVMlxUJzUQ5ScmYSQUDwht_CRguxBAF1FexlfHy7UYssHiaQ6FYay-Wa0DaQxXYgJICANS2ZrA6SQDya0ynJoLtRi9ie_XSQ-zGTrMGLuEsYamOW3X-tK0TNfhvxhbthhrtFpGv2Yg0Iye/s975/Picture8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;59&quot; data-original-width=&quot;975&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVMlxUJzUQ5ScmYSQUDwht_CRguxBAF1FexlfHy7UYssHiaQ6FYay-Wa0DaQxXYgJICANS2ZrA6SQDya0ynJoLtRi9ie_XSQ-zGTrMGLuEsYamOW3X-tK0TNfhvxhbthhrtFpGv2Yg0Iye/s640/Picture8.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;En el output vamos a poder ver el URL en mi
caso esta corriendo sobre el puerto 8081. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot; style=&quot;mso-ansi-language: ES-CR;&quot;&gt;Cuando lo abrimos en el navegador de internet
se puede ver el resultado de nuestro API de artículos que muestra un json. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHdq78EbzUrUHrd5pd-ElWJmFsbDmr9ftsJ8-PBOLRuyUyUMpjer3lzJDedM5gOTjih7auLgf-K0yMsUkIAaEF9lb2H-cj5BfUBkQXgctcAokJGjep_x4CO0MUsapxGbyTqaBVeh5eREN5/s864/Picture9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;405&quot; data-original-width=&quot;864&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHdq78EbzUrUHrd5pd-ElWJmFsbDmr9ftsJ8-PBOLRuyUyUMpjer3lzJDedM5gOTjih7auLgf-K0yMsUkIAaEF9lb2H-cj5BfUBkQXgctcAokJGjep_x4CO0MUsapxGbyTqaBVeh5eREN5/s640/Picture9.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://bit.ly/3gB8bPJ&quot; target=&quot;_blank&quot;&gt;Ejemplo&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/6185296722410965898/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/07/apache-netbeans-12-payara-y-jdk14-para.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/6185296722410965898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/6185296722410965898'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/07/apache-netbeans-12-payara-y-jdk14-para.html' title='Apache Netbeans 12 Payara y JDK14 Para crear servicios de Rest'/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Clrv2FY3tf5unxuY7Q6cIrx4jnDKu_mSQVJVfx2AOEGAcPCipLcpGNiKJuEShjM89x2aFKLgQYPrNKLlbzKJishisQQGWDzqnh8KcLwLOXXgdKtD_86XcTFR5DUC9lMjqFryeKJIYD1u/s72-c/Picture1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078181550703157824.post-1622483813835357590</id><published>2020-05-29T18:17:00.002-06:00</published><updated>2020-05-29T18:18:59.427-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Analytics / Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Datamining"/><category scheme="http://www.blogger.com/atom/ns#" term="R"/><category scheme="http://www.blogger.com/atom/ns#" term="RStudio"/><title type='text'>Como instalar una librería en R </title><content type='html'>&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Cuando instalamos R y RStudio tenemos una serie
de herramientas que nos permite hacer muchas manipulaciones sobre los datos que
importamos a nuestros proyectos de R. Sin embargo, existen librerías externas
que podemos instalar para darle mayores funcionalidades a nuestro ambiente de
desarrollo de R. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Existen muchas diferentes librerías que podemos
encontrar en internet para instalar como para hacer gráficos, manejar datos, generar
modelos para predecir datos, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Una librería muy popular que nos permite utilizar
una gran cantidad de modelos para generar predicciones. Esta es caret. Para nuestro
ejemplo vamos a ver cómo se puede instalar caret en nuestro ambiente de R. Las librerías
que están disponibles las podemos instalar de la misma forma que vamos a
instalar caret. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;En nuestro RStudio vamos a digitar la siguiente
instrucción &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3yghqaatX2OxI8xbIXn4NMabgbC2MuZVG6Sud_ACsWMYxxz7oHD0NSXPKSrkMQAdMpngFIlD_4uuZLeBvJEKgTszDsjzH2KZVtO55YCgYut4nLQHjT20aFyNwP7tuqoZ-rQNxo7BtRVaf/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;28&quot; data-original-width=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3yghqaatX2OxI8xbIXn4NMabgbC2MuZVG6Sud_ACsWMYxxz7oHD0NSXPKSrkMQAdMpngFIlD_4uuZLeBvJEKgTszDsjzH2KZVtO55YCgYut4nLQHjT20aFyNwP7tuqoZ-rQNxo7BtRVaf/&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span lang=&quot;ES-CR&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Damos enter y esperamos que se termine de
descargar e instalar toda la información relacionada con esta librería. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Importante el nombre del paquete lo vamos a
escribir entre comillas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Cuando se termina la instalación debemos
ejecutar la siguiente instrucción &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;25&quot; data-original-width=&quot;153&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiYRWrVMLVO0Fauwvh5pSghokQ-tY6oJUF1BvUk_jZNv8XsVFSJ2hLtvKxMT3GWuzARddVIKqYBOeWofiuwmwCUGE6QLB6QJ4xDQ95FVinldL5Q3Qq60YdcB_xEQtk9EeE-sSkA9ateDsm/&quot; /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;En este caso va sin comillas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span lang=&quot;ES-CR&quot;&gt;Esta instrucción nos permite poner a disposición
la librería en nuestro ambiente o proyecto. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href=&quot;https://compuarticulos.blogspot.com/p/data-analytics-big-data.html&quot; style=&quot;text-align: justify;&quot;&gt;Regresar&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://compuarticulos.blogspot.com/feeds/1622483813835357590/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://compuarticulos.blogspot.com/2020/05/como-instalar-una-libreria-en-r.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1622483813835357590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078181550703157824/posts/default/1622483813835357590'/><link rel='alternate' type='text/html' href='http://compuarticulos.blogspot.com/2020/05/como-instalar-una-libreria-en-r.html' title='Como instalar una librería en R '/><author><name>JC</name><uri>http://www.blogger.com/profile/00930130848002023170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcDQKgn-6UvjbiMbjtmfzJo9CRSF0gWchsL3DOtx-tozLpNz9yX3cXaL8MhqradN_wc9IYGeB7NHp9q5rvwDQWl74YvHY5rWmE-n70nU3XYeMLK1Xz6qL3Gcl2Z_tH8OM/s220/_ROC4428.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3yghqaatX2OxI8xbIXn4NMabgbC2MuZVG6Sud_ACsWMYxxz7oHD0NSXPKSrkMQAdMpngFIlD_4uuZLeBvJEKgTszDsjzH2KZVtO55YCgYut4nLQHjT20aFyNwP7tuqoZ-rQNxo7BtRVaf/s72-c" height="72" width="72"/><thr:total>0</thr:total></entry></feed>