Hoy le he dado la siguiente orden a la Inteligencia Artificial ChatGPT para la creación de un broque de código: «crea codigo en python para conectarse a una base de datos postgresql y insertar datos desde un archivo csv linea por linea omitiendop el encabezado»
La IA, como en otras ocasiones, empezó a escribir el bloque de código en la ventana del chat:
import psycopg2
import csv
# Conexión a la base de datos
conn = psycopg2.connect(
host="hostname",
database="database",
user="username",
password="password"
)
cursor = conn.cursor()
# Nombre de la tabla y los nombres de las columnas que se insertarán
table_name = "table_name"
column_names = ["col_1", "col_2", "col_3"]
# Apertura del archivo CSV y lectura de datos
with open('data.csv', 'r') as file:
reader = csv.reader(file)
header = True
for row in reader:
if header:
header = False
continue
# Creación de una lista con los valores de cada columna
values = [row[0], row[1], row[2]]
# Creación de una sentencia SQL para insertar datos
sql = f"INSERT INTO {table_name} ({','.join(column_names)}) VALUES ({','.join(['%s'] * len(column_names))});"
cursor.execute(sql, values)
# Guardar los cambios y cerrar la conexión
conn.commit()
cursor.close()
conn.close()
Es un código correcto, en donde únicamente hay que considerar que se asume que el archivo CSV data.csv tiene tres columnas y que el encabezado está en la primera línea del archivo. Se puede modificar el código según sea necesario para adaptarlo a los requisitos específicos, como son las credenciales a la base de datos, o restringir por campos el volcado de datos del CSV.
Sin embargo lo interesante es que ChatGPT recomendara, por defecto, el uso de psycopg v2 y no la version 3 der apadtador la cual tiene ya un par de años de estar disponible. Esta versión de adaptador la utilizo en la actualidad satisfactoriamente.
Psycopg 3 es un adaptador de base de datos PostgreSQL de nuevo diseño para el lenguaje de programación Python.
Psycopg 3 presenta una interfaz familiar para todos los que han utilizado Psycopg 2 o cualquier otro adaptador de base de datos DB-API 2.0, pero permite utilizar características más modernas de PostgreSQL y Python, tales como:
En los últimos tiempos, el antisemitismo en línea se ha convertido en una de las formas más extendidas de discurso de odio en las principales plataformas de redes sociales.
El aumento exponencial de las redes sociales en línea ha permitido la creación, distribución y consumo de información a un ritmo sin precedentes. Sin embargo, también ha llevado al florecimiento de varias formas de abuso en línea.
Los crecientes casos de antisemitismo en línea se han convertido en una de las principales preocupaciones debido a sus consecuencias sociopolíticas.
A diferencia de otras formas importantes de abuso en línea como el racismo, el sexismo, etc., el antisemitismo en línea no se ha estudiado mucho desde la perspectiva del aprendizaje automático.
El machine learning o aprendizaje automático es una de las disciplinas más conocidas y exitosas de la Inteligencia Artificial (IA). Esta disciplina proporciona a los sistemas la capacidad de aprender y mejorar automáticamente a partir de la experiencia, sin ser explícitamente programados para ello.
Los autores proponen de esta investigación proponen una arquitectura detallada de detección de antisemitismo multimodal (texto e imagen) que aprovecha el progreso reciente en arquitecturas de aprendizaje profundo (deep learning).
El chatbot es un gran modelo de lenguaje ajustado con técnicas de aprendizaje tanto supervisadas como de refuerzo. O lo que es, en pocas palabras, un robot de conversación con inteligencia artificial.
Para probar esta AI puede superar algunos limites que presupopnes respecto de estas nuevas tecnologías le solicité que resolviera uno de los retos de codificación que plantea HackerRank en su serie «30 Days of Code». Propiamente, «Day 10: Binary Numbers».
La codificación plantea la conversión entre sistemas numéricos y el conteo de series. La respuesta de ChatGPT la dió en una función que denominó «consecutive_ones()», como se muestra en la imagen.
Esto código lo corrí en la plataforma de testeo de HackerRank y lo validó como correcto.
Código en Python generado por ChatGPTValidación de código por HackerRank
Sin embargo esto no nos permite extraer conclusiones generalizadas ni mucho menos contestar a la pregunta inicial. En mi criterio la AI puede emular capacidades de cálculo y razonamiento, es lo que hacen los sistemas de cómputo actuales, y generar decisiones sobre esto.
Pero aún distan mucho de poder hacer valoraciones éticas o morales conforme a paradigmas vigentes en la sociedad, pero de lo visto si podemos concluir que la inteligencia artificial podría cambiar la forma en la que los seres humanos ejecutan sus labores a corto y mediano plazo.
Porque a través de ellos puedes comunicar tus programas a bases de datos y almacenar información procedente de textos, archivos, hojas de cálculo, inventarios, datos de usuarios y ventas en sitios web o puntos de venta.Cómo conectarse al servidor de base de datos #PostgreSQL en el programa #Python utilizando el adaptador de base de datos psycopg.
#python #databases
Cómo conectarse al servidor de base de datos #PostgreSQL en el programa #Python utilizando el adaptador de base de datos psycopg.
Proyecto: creación de la base de datos de Boston para informes sobre delitos
In this Data Engineering track project , I built a database using PostgreSQL for storing data related to crimes that occurred in Boston. Data is provided the dataset boston.csv for input.
En este proyecto de seguimiento de ingeniería de datos, construí una base de datos utilizando PostgreSQL para almacenar datos relacionados con delitos que ocurrieron en Boston. Los datos se proporcionan en el conjunto de datos boston.csv para la entrada.
SS Concentration and Labor Camps Database and Visualization the data posted here originated in a dataset of camp names, locations, and attributes developed by researchers at the United States Holocaust Memorial Museum as part of the USHMM Encyclopedia of Camps and Ghettos, vol. 1, Early Camps, Youth Camps, and Concentration Camps and Subcamps under the SS-Administration Main Office
Descubra cómo crear un mapa web de huella ecológica (o cualquier tipo de mapa analítico de datos) a partir de sus conjuntos de datos, utilizando la programación Python, OpenStreetMaps y la biblioteca Folium.
Vino para quedarse, y algunos paises donde se ha controlado el contagio la han recalificado como «gripe o enfermedad respiratoria simple».
El sentimiento frente al COVID19 entre usuarios de redes sociales (en este caso Twitter) se ha tormado positivo como se muestra en el mapa de calor donde verde es positivo (1-0) y rojo negativo (-1.0).
Sin embargo esta percepción positiva podría acarrear problemas a corto plazo por ejemplo en la efectividad de los esquemas de vacunación frente a la mutabilidad del virus, y otros pautas de prevención que en forma generalizada se han ido relajando.
Por otro lado, es importante considerar que a pesar del carácter esencial de los datos para la toma de decisiones tanto de las autoridades, grupos de influencia y población en general, no ha habido un buen manejo de los datos como los casos y muertes por sexo y edad, salvo en pocos paises.
Incluso la polémica se ha llevado a esferas de algunos gobiernos a quienes señalan de haber ocultados o manipulado las cifras con algún interés calculado. Caso aparte es el de paises como China, Venezuela o Corea del Norte.
Desde las sorprendentes recomendaciones de compra de Amazon o Mercado Libre, hasta las cada vez más sofisticadas herramientas de traducción de Google, la Inteligencia Artificial (IA) ya no es cosas de ciencia ficción, sino que se ha convertido en una parte habitual de nuestra vida.
Pero esta adopción de productos basados en la IA y el incremento de empresas tecnológicas, ha provocado una escasez de talento dentro de esta área que, según lo que comentan los expertos, no podrá ser aliviada en los últimos años.
Seguramente en estos momentos pensamos que eso ocurre solamente en grandes países, como Estados Unidos, Reino Unido o en China, y que acá, en donde vives (Latinoamérica o en España) no habrá escasez, ya que son pocas las empresas que están implementando estos sistemas.
La realidad es que esto no es así, son cada vez más las empresas, de origen hispano, que están explorando e implementando esta tecnología, ya que ven el potencial y los beneficios que ofrecen.
Dos ejemplos relacionados con las ventas al detal, tanto Mercado Libre, como Inditex (los dueños de Zara, Pull&Bear, Massimo Dutti, Bershka, Stradivarius, Oysho y Zara Home), están utilizando la Inteligencia Artificial para aumentar sus ventas así como la atención de los usuarios. No son empresas que tienen sus orígenes en estos grandes países, sino son empresas hispanas que se están aprovechando de las nuevas tecnologías para mejorar sus procesos y llegar a su máximo objetivo que es vender más.
La inteligencia artificial puede utilizarse para mejorar la personalización de las comunicaciones con los clientes potenciales. Los representantes de ventas pueden utilizar la IA para predecir cuándo un cliente potencial está listo para comprar y enviar mensajes automáticos al cliente potencial en el momento adecuado. La IA también puede utilizarse para puntuar a los clientes potenciales de modo que los representantes de ventas puedan priorizar su tiempo. Ya existen numerosas herramientas de IA que pueden asumir por completo las subtareas y acelerar los procesos existentes.
Incluso en los últimos años, los chatbots han evolucionado hasta el punto de poder sustituir a los representantes humanos de atención al cliente. Los chatbots son programas informáticos diseñados para imitar una conversación humana. La mayoría de los chatbots utilizan la inteligencia artificial (IA) para entender las necesidades del cliente y ofrecerle una solución.
La Inteligencia Artificial está impulsando la innovación, ayudando a las empresas de todos los rincones del mundo a desarrollar nuevos servicios para optimizar los conocimientos y mejorar la experiencia del usuario.
Para un reclutador o gerente de contratación que busca un especialista en software de desarrollo web, la tarea de encontrar uno es potencialmente una contratación costosa. Se debe hacer una investigación seria, tanto en términos de búsqueda y selección de candidatos, ya que contratar a la persona equivocada podría ser potencialmente muy costoso.
Como entrevistado primero deberás responder algunas preguntas básicas para ser seleccionado como el candidato adecuado. Entonces tu entrevistador puede preguntarte algo como:
¿Cuáles son las habilidades técnicas que debe tener un programador front-end?
Un programador front-end necesita ser experto en HTML, CSS, JQuery y JavaScript. Además, debe tener experiencia en sistemas de gestión de contenido (WordPress, Drupal, Joomla); conocimiento de las pruebas entre navegadores; habilidades en OOPS y PHP; algunos conocimientos básicos sobre SEO y cómo trabajar con herramientas como Dreamweaver y Flash.
¿Cuáles son las capas presentes en una página web?
Hay 3 tipos de capas en cualquier página web: la capa de contenido, la capa de presentación y la capa de interacción.
La capa de contenido es la información que contiene un sitio web determinado. La capa de presentación define cómo aparecerá el contenido para sus usuarios, o sea, la apariencia de la página web. La capa de interacción es la que lleva la interacción en tiempo real entre los usuarios y la página web.
Mencione algunas ventajas de usar CSS
CSS:
Ahorra tiempo
Ayuda en la carga rápida de páginas
Es fácil de mantener
Es superior al estilo HTL
Tiene compatibilidad con múltiples dispositivos
Es un estándar global para la web
Permite la navegación sin conexión
Es independiente de la plataforma donde funciona
Háblame sobre la diferencia entre XHTML y HTML.
HTML y XHTML son lenguajes para escribir páginas web. La principal diferencia es que la sintaxis HTML está basada en SGML, mientras que la sintaxis XHTML está basada en XML.
Nombra algunas de las nuevas características presentes en HTML5.
Algunas características nuevas en HTML5 son:
La declaración DOCTYPE
La etiqueta Sección (<sección /.… </section>)
La etiqueta de encabezado y pie de página
La etiqueta Flgcaption
¿Cuál es la diferencia entre cookies, almacenamiento de sesión y almacenamiento local?
Las cookies permiten que las aplicaciones almacenen datos en el navegador. La propiedad de almacenamiento de sesión permite almacenar datos hasta que se cierre la ventana. La propiedad de almacenamiento local permite que las aplicaciones almacenen datos sin que estos expiren.
¿Cuáles son los beneficios de Coffee Script sobre JavaScript?
CoffeeScript tiene muchos complementos ligeros, como la comprensión de la lista de estilos de Python o la interpolación de cadenas Ruby. Con CoffeeScript podemos hacer un programa con un código mucho más corto que JavaScript, y hace que incluso un buen código JavaScript sea más legible. Las tareas cotidianas son más fáciles de realizar con CoffeeScript que con JavaScript.
Preguntas técnicas principales
Luego, deberás responder preguntas más técnicas. Ten en cuenta que las preguntas se alinearán con el interés de los empleadores para cumplir con una tarea actual, por lo que debe estar preparado para responder preguntas relacionadas con la tecnología que la empresa utiliza.
¿Cuándo usarías CSS float?
Float se usa cuando necesitamos hacer que un elemento de nuestra página web sea empujado hacia la derecha o hacia la izquierda y hacer que otros elementos se alineen a su alrededor.
¿Cuál es la diferencia entre la clase y la herencia de prototipos?
La herencia en JavaScript difiere de la mayoría de los otros lenguajes de programación, ya que el sistema de objetos en JavaScript está basado en prototipos, no en clases.
Los objetos en JavaScript son una colección de un nombre (clave) y pares de valores. Cuando se trata de herencia, JavaScript solo tiene una construcción: objetos. Cada objeto tiene una propiedad privada que contiene un enlace a otro objeto llamado prototipo.
¿Cuál es la importancia del HTML DOCTYPE?
DOCTYPE es una instrucción para el navegador web que indica en qué versión del lenguaje está escrita la página. La declaración debe ser lo primero en su documento HTML, incluso antes de la etiqueta <html>.
La declaración DOCTYPE apunta a una definición de tipo de documento (DTD) que proporciona las reglas del lenguaje, por lo que un navegador puede interpretar el contenido correctamente.
¿Qué es la carga diferida? (lazy loading)
La carga diferida es un patrón de diseño que generalmente se usa para retrasar la inicialización de un objeto hasta el período en el que se requiere. Puede ayudar al rendimiento en la operación del programa si se usa correcta y adecuadamente.
Es un código que carga solo una vez que el usuario lo necesita, como un botón en la página que revela un diseño diferente una vez que el usuario lo presionó. Por lo tanto, no es necesario cargar el código para ese diseño en la carga inicial de la página.
¿Cómo manejas la incompatibilidad de estilo específica del navegador?
Hay varias formas de solucionar este problema. La forma más sencilla de hacerlo sería usar una declaración condicional en la etiqueta principal de nuestro HTML. De esta manera, podemos reconocer el navegador y cargar una hoja de estilo externa si es necesario.
Explica la diferencia entre diseño web adaptable y sensible.
Responsive Web Design se basa en una cuadrícula fluida que cambiará automáticamente con el navegador, sin importar cuál sea la resolución de la pantalla, el contenido puede separarse y realinearse si es necesario.
Por otro lado, el diseño web adaptativo no se establece necesariamente en una cuadrícula fluida. Apunta a resoluciones específicas del dispositivo y puede establecer anchos relativos con porcentajes, controlados por consulta de medios.
Puedes leer mas, y analizar mas preguntas/respuestas en los sighuientes links;