Su camino hacia el aprendizaje y la contribución
Imagen Suyash Chandrakar
El desarrollo de software de código abierto es un ecosistema próspero que ofrece una oportunidad única para que los desarrolladores contribuyan a proyectos interesantes, colaboren con una comunidad global y mejoren sus habilidades. Si buscas sumergirte en el código abierto y adquirir una experiencia valiosa mientras aprendes de algunos de los mejores, estás en el lugar correcto.
En este artículo, exploraremos los 15 principales proyectos de código abierto en varios dominios y brindaremos descripciones y ejemplos de código para ayudarlo a comenzar. Ya sea que esté interesado en desarrollo web, inteligencia artificial, sistemas operativos o cualquier otra cosa, encontrará un proyecto que se adapte a sus intereses y nivel de habilidad.
Repositorio de GitHub:
https://github.com/torvalds/linux
Descripción:
El Kernel de Linux es el corazón del sistema operativo Linux, responsable de gestionar los recursos de hardware y proporcionar servicios esenciales. Contribuir al kernel de Linux es una experiencia desafiante pero gratificante que puede enseñarle mucho sobre la programación de sistemas de bajo nivel.
Ejemplo de código:
// Un ejemplo de un módulo de kernel simple int init_module(vacío) { módulo_limpieza vacío(nulo) {
#incluir
printk(KERN_INFO “¡Hola mundo!\n”);
devolver 0;
}
printk(KERN_INFO “¡Adiós mundo!\n”);
}
Repositorio de GitHub:
https://github.com/microsoft/vscode
Descripción:
Visual Studio Code (VSCode) es un popular editor de código de fuente abierta desarrollado por Microsoft. Contribuir a VSCode le permite mejorar una herramienta de desarrollo ampliamente utilizada y aprender sobre tecnologías web, extensiones y el funcionamiento interno de una base de código compleja.
Ejemplo de código:
// Un ejemplo simple de extensión VSCode
const vscode = requerir('vscode');
función activar (contexto) {
let desechable = vscode.commands.registerCommand('extension.sayHello', () => {
vscode.window.showInformationMessage('¡Hola, VSCode!');
});
contexto.suscripciones.push(desechable);
}
Repositorio de GitHub:
https://github.com/facebook/react
Descripción:
React es una biblioteca de JavaScript para crear interfaces de usuario. Contribuir a React es una excelente oportunidad para profundizar en el desarrollo front-end, JSX y la arquitectura basada en componentes.
Ejemplo de código:
// Un componente React simple
importar Reaccionar desde 'reaccionar';
clase HelloWorld extiende React.Component {
prestar() {
return
¡Hola, reacciona!
;
}
}
Repositorio de GitHub:
https://github.com/nodejs/node
Descripción:
Node.js es un tiempo de ejecución de JavaScript que le permite crear aplicaciones del lado del servidor. Contribuir a Node.js puede enseñarle sobre programación basada en eventos, E/S asíncrona y JavaScript del lado del servidor.
Ejemplo de código:
// Un servidor Node.js simple
const http = requerir('http');
servidor constante = http.createServer((req, res) => {
res.writeHead(200, { 'Tipo de contenido': 'texto/sin formato' });
res.end('¡Hola, Node.js!\n');
});
servidor.listen(3000, 'localhost', () => {
console.log('Servidor escuchando en el puerto 3000');
});
Repositorio de GitHub:
https://github.com/django/django
Descripción:
Django es un marco web Python de alto nivel que simplifica el desarrollo web. Contribuir a Django le permite aprender sobre aplicaciones web, bases de datos y el ecosistema Python.
Ejemplo de código:
# Una vista simple de Django
desde django.http importar HttpResponse
def hola (solicitud):
return HttpResponse(“¡Hola, Django!”)
Repositorio de GitHub:
https://github.com/tensorflow/tensorflow
Descripción:
TensorFlow es un marco de aprendizaje automático de código abierto desarrollado por Google. Contribuir a TensorFlow le brinda información sobre el aprendizaje profundo, las redes neuronales y el campo de la inteligencia artificial.
Ejemplo de código:
# Una red neuronal TensorFlow simple
importar tensorflow como tf
modelo = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation=’relu’, input_shape=(784,)),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=’softmax’)
])
Repositorio de GitHub:
https://github.com/kubernetes/kubernetes
Descripción:
Kubernetes es una plataforma de orquestación de contenedores que automatiza la implementación y el escalado de aplicaciones en contenedores. Contribuir a Kubernetes le enseñará sobre tecnología de contenedores, sistemas distribuidos y desarrollo nativo de la nube.
Ejemplo de código:
# Una implementación simple de Kubernetes
Versión api: aplicaciones/v1
tipo: Despliegue
metadatos:
nombre: mi-aplicación
Especificaciones:
réplicas: 3
selector:
coincidirEtiquetas:
aplicación: mi-aplicación
plantilla:
metadatos:
etiquetas:
aplicación: mi-aplicación
Especificaciones:
contenedores:
– nombre: contenedor-mi-aplicación
imagen: mi-aplicación-imagen: más reciente
Repositorio de GitHub:
https://github.com/pytorch/pytorch
Descripción:
PyTorch es una biblioteca de aprendizaje automático de código abierto desarrollada por Facebook. Contribuir a PyTorch puede profundizar su comprensión del aprendizaje profundo, la autograduación y la investigación de redes neuronales.
Ejemplo de código:
# Una red neuronal PyTorch simple
importar antorcha
importar torch.nn como nn
clase Net(nn.Módulo):
def __init__(yo):
super(Neto, propio).__init__()
self.fc1 = nn.Lineal(784, 64)
self.fc2 = nn.Lineal(64, 10)
Repositorio de GitHub:
https://github.com/angular/angular
Descripción:
Angular es un marco de interfaz de usuario popular para crear aplicaciones web dinámicas. Contribuir a Angular mejorará sus habilidades en TypeScript, programación reactiva y arquitectura de componentes web.
Ejemplo de código:
// Un componente angular simple
importar {Componente} desde '@angular/core';
@Componente({
selector: 'raíz de aplicación',
plantilla: '
¡Hola, Angular!
',
})
exportar clase AppComponent {}
Repositorio de GitHub:
https://github.com/jupyter/notebook
Descripción:
Jupyter Notebook es un entorno informático interactivo para crear y compartir documentos con código en vivo, ecuaciones, visualizaciones y texto narrativo. Contribuir a Jupyter Notebook puede ayudarle a comprender cómo crear herramientas interactivas de ciencia de datos.
Ejemplo de código:
# Una celda simple de Jupyter Notebook
importar matplotlib.pyplot como plt
x = [1, 2, 3, 4, 5]y = [10, 8, 6, 4, 2]
plt.plot(x, y)
plt.xlabel('eje X')
plt.ylabel('Eje Y')
plt.title('Trama simple')
plt.mostrar()
Repositorio de GitHub:
https://github.com/rails/rails
Descripción:
Ruby on Rails es un marco de aplicación web escrito en Ruby. Contribuir a Rails puede enseñarle sobre convenciones sobre configuración, modelado de bases de datos y el lenguaje de programación Ruby.
Ejemplo de código:
# Una acción simple del controlador Ruby on Rails
clase BienvenidoController
@message = “¡Hola, rieles!”
fin
fin
Repositorio de GitHub:
https://github.com/elastic/elasticsearch
Descripción:
Elasticsearch es un motor de análisis y búsqueda distribuido. Contribuir a Elasticsearch le brindará información sobre sistemas distribuidos, búsqueda de texto completo y big data.
Ejemplo de código:
// Un ejemplo de consulta de Elasticsearch
OBTENER /mi-índice/_búsqueda
{
“consulta”: {
“fósforo”: {
“campo”: “valor”
}
}
}
Repositorio de GitHub:
https://github.com/freeCodeCamp/freeCodeCamp
Descripción:
FreeCodeCamp es una organización sin fines de lucro que brinda educación gratuita en codificación. Contribuir a freeCodeCamp puede ayudarle a compartir sus conocimientos, mejorar sus habilidades docentes y contribuir a la comunidad de programación.
Ejemplo de código:
# Ejemplo de rebajas
Este es un texto en **negrita** y *cursiva*.
– Listar elemento 1
– Lista del elemento 2
Repositorio de GitHub:
https://github.com/python/cpython
Descripción:
CPython es la implementación de referencia del lenguaje de programación Python. Contribuir a CPython profundizará su comprensión de los aspectos internos de Python, el diseño de intérpretes y el desarrollo de lenguajes.
Ejemplo de código:
# Un script Python simple
definición hola():
imprimir(“¡Hola, Python!”)
Hola()
Repositorio de GitHub:
https://github.com/openstreetmap/openstreetmap-website
Descripción:
OpenStreetMap es un proyecto de mapeo colaborativo que crea y proporciona datos geográficos gratuitos. Contribuir a OpenStreetMap puede enseñarle sobre datos geoespaciales, cartografía y aplicaciones cartográficas basadas en web.
Ejemplo de código:
Estos proyectos de código abierto cubren una amplia gama de dominios y tecnologías, ofreciéndole la oportunidad de explorar diversos aspectos del desarrollo de software. Comience eligiendo un proyecto que se alinee con sus intereses y nivel de habilidad, y luego profundice en el código base, la documentación y las discusiones de la comunidad.
Imagen Suyash Chandrakar