Implementar un REST API en PHP con GitHub Copilot
Clase 4 de 13 • Curso de GitHub Copilot
Contenido del curso
Clase 4 de 13 • Curso de GitHub Copilot
Contenido del curso
Luis Quiroz Prada
Jairo Saul Salas Quiñones Pro-Dev | Sci-Tech
Jhonathan Angeles
Carlos Miguel Colque Montoya
Patricio Sánchez Fernández
Ana Liotta
Guillermo Jonathan Rodríguez Pineda
Daniel Jussef Zamorano Silva
Javier Esteban Rodríguez Cárdenas
Diego Alejandro Lesmes
Marcos Sarmiento Loarte
Zaidibeth Ramos
Johan Rodriguez
Luis Boivar
Alan Enrique Medrano Maldonado
Cristhian Alexis Vera Sandoval
Diego Andrés Lopez Rodriguez
Marifer Villarroel
Iván Andrés Pineda Salazar
John Ortiz
Patricio Sánchez Fernández
Platzi Team
Guillermo Jonathan Rodríguez Pineda
No se porque pero no puedo ver la primera clase, me manda a home
igual a mí
igual a mi, al parecer es un error!
Al parecer ocurrió un problema con el lanzamiento del curso, puesto que no se puede acceder a la primera clase que explica qué es GitHub Copilot y cómo integrarlo en VSC. Estoy seguro que el Team Platzi lo solucionará pronto. De momento les comparto esta página donde encontrarán información oficial sobre GitHub Copilot, y al hacer clic en el botón "Install" les abrirá VSC para añadirlo como extensión. Adicionalmente les comparto un video sobre las ventajas de usar GitHub Copilot. https://youtu.be/jsHAyBmFZlo?si=6r4__ajSYLwSD6lu
Muchas gracias, Micky...!
Para la gente que no puede usar Github copilot porque no lo pueden pagar o porque no puedes acceder a la prueba gratis porque no tienen tarjeta, pueden utilizar alternativas gratuitas como Amazon codewhisperer, que es gratuita y funciona parecido. Saludos
como recien se habilita el curso no se ve la clase 1 , como se configura copilot a visual studio code ?
Mi resumen sobre GitHub Copilot para Crear Funciones
GitHub Copilot facilita la creación de funciones y la manipulación de datos, acelerando el proceso de desarrollo y mejorando la eficiencia en la programación.
si no puedo pagar copilot como hago jajaj
No grave, la unica es pedile a tu empresa /universidad si tienen convenio y puedes accedr a una version gratuita o algo
En la clase 1 hay mensaje de Milton Estrada que indica como hacerlo como estudiante de Platzi:
Para registrarte en GitHub Education y acceder a los beneficios de estudiante, sigue estos pasos:
Crea una cuenta de GitHub () y activa el 2FA ()
Desde tu dispositivo móvil, ingresa a GitHub Education () y da clic en "Join GitHub Education". Selecciona que eres un "Estudiante" y desliza hacia abajo para seleccionar una escuela. Ingresa "Platzi" como institución y da clic en "Siguiente".
GitHub solicitará que compartas una prueba de que estás registrado en Platzi. Para ello, selecciona la opción 3 ( "Dated Enrollment letter on school#). Esta opción te permitirá compartir una foto de tu perfil de Platzi como comprobante.
Ingresa a tu Suscripción en Platzi (https://platzi.com/mi-suscripcion/) y con tu dispositivo, toma una foto en la que se vea claramente tu nombre y la fecha de finalización de tu suscripción.
Nota: puedes intentar usar la cámara posterior, si GitHub te lo permite, pero si no funciona, toma la foto con la cámara frontal. No tiene que salir perfecta, solo deben verse con claridad los datos mencionados y el logo de Platzi.
Envía tu solicitud.
GitHub te avisará por correo en cuanto tu solicitud haya sido revisada
Hecho con python y AWS Code Whisperer
#Escribe una funcion que se conecte a una API online y devuelva el resultado de la consulta en un array asociativoimport requests
def consulta_api(url): response = requests.get(url) if response.status_code == 200: return response.json() else: return None
# Escribe una url donde pueda probar tu funcionurl = 'https://jsonplaceholder.typicode.com/users'result = consulta_api(url)# print(result)
# Crea una funcion que procese el resultado de getApi() y si detecta que hay valores numericos# los reemplace por un texto que diga "numero"def procesar_resultado(result): for dato in result: for key, value in dato.items(): if isinstance(value, int): dato[key] = 'numero' return resultresult = procesar_resultado(result)
# Crea una funcion que reciba un array asociativo y muestre dicho array en una tabla HTML. La tabla# tendra una fila con los nombres de las columnas y una fila por cada elemento del array.import html
def crear_tabla_html(datos): tabla = '<table>' tabla += '<tr>' for key in datos[0]: tabla += f'<th>{key}</th>' tabla += '</tr>' for dato in datos: tabla += '<tr>' for valor in dato.values(): tabla += f'<td>{html.escape(str(valor))}</td>' tabla += '</tr>' tabla += '</table>' return tabla
tabla_html = crear_tabla_html(result)
# Muestra la tabla siendo servida desde el puerto 3000from flask import Flask, render_template
app = Flask(__name__)@app.route('/')def index(): return tabla_html
if __name__ == '__main__': app.run(debug=True, port=3000)
Hice el mismo procedimiento de la clase pero con JavaScript:
/* Escribe una función que se conecte a una API online y devuelva los datos en un array asociativo. */ async function getApiData() { const response = await fetch("https://jsonplaceholder.typicode.com/posts"); const data = await response.json(); return data; } getApiData() .then((data) => { console.log(data); // Logs the fetched data to the console }) .catch((error) => { console.error("Failed to fetch data:", error); }); // Crea una función para mostrar el array asociativo de getApiData() en una tabla HTML. La tabla tendrá una fila con los nombres de las columnas y una fila por cada elemento del array. function createTable(data) { const table = document.createElement("table"); table.setAttribute("border", "1"); const thead = document.createElement("thead"); const tbody = document.createElement("tbody"); const columns = Object.keys(data[0]); const columnRow = document.createElement("tr"); columns.forEach((column) => { const th = document.createElement("th"); th.textContent = column; columnRow.appendChild(th); }); thead.appendChild(columnRow); table.appendChild(thead); data.forEach((item) => { const row = document.createElement("tr"); columns.forEach((column) => { const cell = document.createElement("td"); cell.textContent = item[column]; row.appendChild(cell); }); tbody.appendChild(row); }); table.appendChild(tbody); document.body.appendChild(table); } // Crea una función que procese el resultado de getApiData() y si detecta en cualquiera de los niveles del array que hay valores númericos los reemplace por un texto "ES NÚMERICO" function replaceNumbersWithText(data) { return data.map((item) => { return Object.fromEntries( Object.entries(item).map(([key, value]) => { if (typeof value === "object") { return [key, replaceNumbersWithText(value)]; } else { return [key, typeof value === "number" ? "ES NÚMERICO" : value]; } }) ); }); } getApiData() .then((data) => { const processedData = replaceNumbersWithText(data); createTable(processedData); }) .catch((error) => { console.error("Failed to fetch data:", error); });
hay una version de copilot para los que nos gusta el ecosistema de jetbrains, está en la tienda de plugins.
Les dejo el link para configurar GitHub Copilot,
Buenas comunidad estoy aprendiendo el curso de manejo de Copilot pero en Html como hago para que me ayude ?
¿Es posible utilizar PHP sin instalar XAMPP?
¿Este curso incluye varias clases que también están en el curso de "Herramientas de Inteligencia Artificial para Developers", no?
Asi pinta mas organizado el json
print("<pre>".print_r($result,true)."</pre>");
Me gusta mucho poder aprender más con estos ejemplos.
Gracias.
Consulto desde la ignorancia misma, ya que estoy aprendiendo a programar. Copié al pie de la letra el texto de la profesora, pero en mi ambiente, Copilot me dio la función: "processArray($Array) ¿Tiene alguna incidencia respecto a la función que figura en el ejercicio: "replaceNum"
//Crea una función para mostrar el array asociativo de getApiResponse() en una tabla HTML. La tabla tendrá un fila con los nombres de las columnas y una fila por cada elemnto array function showTable($array) { // Mostrar la tabla HTML echo "<table border='1'>";
// Mostrar la fila con los nombres de las columnas echo "<tr>"; foreach ($array[0] as $key => $value) { echo "<th>$key</th>"; } echo "</tr>"; // Mostrar una fila por cada elemento del array foreach ($array as $row) { echo "<tr>"; foreach ($row as $key => $value) { echo "<td>$value</td>"; } echo "</tr>"; } // Cerrar la tabla HTML echo "</table>";
} showTable($result); //Crea una función que procese el resultado de getApiResponse() y si detecta que hay valores numéricos los reemplace por un texto "ES NUMERICO" function processArray($array) { // Recorrer el array foreach ($array as $key => $value) { // Si el valor es numérico if (is_numeric($value)) { // Reemplazar el valor por el texto "ES NUMERICO" $array[$key] = "ES NUMERICO"; } }
// Retornar el array procesado return $array;
} showTable(processArray($result));
si algo esta mal
Puedes usar para imprimir variables el var_dump