¡Bienvenido!
Este repositorio es el principal espacio de entrega de proyectos para la clase impartida por Gunnar Wolf de Sistemas Operativos de la Facultad de Ingeniería de la UNAM, en el semestre 2017-2 (enero-mayo de 2017). El sitio Web de la materia, donde encontrarán listas, calificaciones, presentaciones, temas y demás materiales es http://gwolf.sistop.org/ y el sitio desde donde pueden consultar y descargar el libro que emplearemos como referencia para el cursado es http://sistop.org/
Los alumnos utilizarán este espacio para enviar sus prácticas, tareas, proyectos, exposiciones, etc..
La razón para utilizar un árbol Git es que se vayan familiarizando con las principales herramientas de colaboración para el desarrollo de software que encontrarán. Podrán usar Git para colaborar en cada uno de los equipos, y podrán usar el flujo definido por la plataforma GitHub para realizar las entregas una vez que terminen con cada tarea o proyecto.
Un par de tutoriales para aprender a usar Git y GitHub:
- git - la guía sencilla Una corta serie de pasos para comenzar a trabajar con Git. Muy escueto, pero fácil de entender.
- Got 15 minutes and want to learn Git? Tutorial interactivo y fácil de seguir para comprender el flujo básico de Git.
- A visual Git reference Explica en términos de grafos qué son las principales operaciones en los repositorios. Muy recomendado para tener una mejor comprensión de lo que hace Git "tras bambalinas".
Emplearemos en particular la forma de trabajo impulsada por el sitio GitHub, muy popular en comunidades de desarrollo de software. ¡Espero que muchos de ustedes ya conozcan a este sitio, y espero que todos aprendan algo más acerca de cómo aprovecharlo!
- Hello World Guía de 15 minutos para comprender el flujo de trabajo colaborativo basado en los pull requests de GitHub.
- Fork a repo Otra explicación del modelo de interacción de GitHub.
- Sometimes you just need a little help Amplia lista de preguntas y respuestas de GitHub.
Como nota al pie, siendo yo un firme entusiasta del software libre de todo a todo, me duele un poco utilizar un servicio propietario (GitHub) en vez de las alternativas plenamente libres que hay para esta infraestructura, pero al mismo tiempo me resulta importante iniciarlos en el uso de esta importante herramienta de desarrollo colaborativo, así como su interacción en tanto red social.
-
Todos los alumnos deben tener una cuenta en GitHub.
-
Siempre que el profesor anuncie una tarea en clase, creará un subdirectorio dentro del área correspondiente.
-
Todos los alumnos harán un fork del árbol y desarrollarán la tarea en su fork.
- Si la tarea es en equipos, basta con que uno de ustedes lo haga — ¡Pero no olviden documentar claramente quiénes son los integrantes del equipo!
- Pueden también crear un fork y trabajar colaborativamente en éste entre varios.
-
Para todas las entregas, usa el esquema de nombre estandarizado que presentamos en la sección 4 de la práctica 1:
`[tipo_entrega]/[numero]/[ApellidoNombre]/`
- Esto es, por ejemplo, si voy a entregar la primera práctica,
lo hago en el directorio
tareas/1/WolfGunnar
- Si estamos resolviendo algo en equipo, el directorio se crea con
los nombres de ambos integrantes en órden alfabético, separado
por guiones: Si el segundo proyecto lo hago con Abraham Álvarez,
el directorio de entrega será
proyectos/2/AlvarezAbraham-WolfGunnar
- Esto es, por ejemplo, si voy a entregar la primera práctica,
lo hago en el directorio
-
¡Registren el desarrollo de su proyecto! En todas las entregas no triviales, se calificará el que haya un avance visible, reflejado en varios commits.
- Ojo, importa que los mensajes en la bitácora resuman el trabajo realizado a cada paso.
-
Cuando estén contantos con el desarrollo, hagan un pull request. Eso (y únicamente eso) contará como una entrega de trabajo.
El planteamiento de tareas, ejercicios y actividades que forman parte de este repositorio, así como sus resoluciones, están amparadas por la licencia Creative Commons Attribution 4.0 International (CC BY 4.0).
Puedes consultar el texto completo de la licencia.
La originalidad y autoría de cada elemento contenido en el repositorio es responsabilidad de quien lo registró (alumno o profesor).