{"id":25311642,"url":"https://github.com/rogeriols/projets_42_sp","last_synced_at":"2026-02-21T07:40:23.202Z","repository":{"id":189588011,"uuid":"680918265","full_name":"RogerioLS/Projets_42_SP","owner":"RogerioLS","description":"About cactus Todos os projetos desenvolvidos na escola 42 São Paulo guard All projects developed at 42 school São Paulo","archived":false,"fork":false,"pushed_at":"2025-04-05T20:00:58.000Z","size":38,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T20:29:31.182Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RogerioLS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-20T20:24:50.000Z","updated_at":"2025-04-05T20:01:01.000Z","dependencies_parsed_at":"2023-11-19T20:28:13.862Z","dependency_job_id":"b4de52f6-f5ed-4f49-815f-9964ed8169ae","html_url":"https://github.com/RogerioLS/Projets_42_SP","commit_stats":null,"previous_names":["rogeriols/projets_42_sp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RogerioLS/Projets_42_SP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogerioLS%2FProjets_42_SP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogerioLS%2FProjets_42_SP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogerioLS%2FProjets_42_SP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogerioLS%2FProjets_42_SP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RogerioLS","download_url":"https://codeload.github.com/RogerioLS/Projets_42_SP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RogerioLS%2FProjets_42_SP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29676833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T06:23:40.028Z","status":"ssl_error","status_checked_at":"2026-02-21T06:23:39.222Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-13T14:53:30.878Z","updated_at":"2026-02-21T07:40:23.185Z","avatar_url":"https://github.com/RogerioLS.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projetos na 42sp\nTodos os projetos desenvolvidos na escola 42 São Paulo.\n\n[![roglopes's 42 stats](https://badge.mediaplus.ma/greenbinary/roglopes?1337Badge=off\u0026UM6P=off)](https://github.com/oakoudad/badge42)\n\n- [O que é a 42](#o-que-é-a-42)\n- [Visão geral do currículo](#visão-geral-do-currículo)\n\t- [Fase 1](#fase-1)\n\t- [Fase 2](#fase-2)\n\t- [Fase 3](#fase-3)\n- [Como clonar este repositório](#como-clonar-este-repositório)\n- [Profile Intra 42](#profile-intra-42)\n\n# O que é a 42\n\n\u003e *\"Sem aulas, sem professores, sem grade horária: acreditamos no poder de **botar a mão na massa**, na **excelência** de habilidades, em avaliações **entre pares** e num sistema de progressão como de **videogames** para fomentar o aprendizado. Os grandes marcos se expressam através de níveis de experiência ao invés de horas-aula. Sua experiência individual determina o seu ritmo de aprendizado.\"*\n_[Adaptado de material promocional (em inglês).](https://www.42.us.org/wp-content/uploads/2020/01/42-Booklet-Spring-2020.pdf)_\n\n![Galáxia da 42 - o santo gráfico](https://user-images.githubusercontent.com/49699403/209717594-ea05be2d-14d7-42e1-a4db-22ea612d251c.png)\n\n\nO programa-constelação se divide em duas partes principais: o tronco principal de conhecimentos fundamentais (camadas internas, também chamado de **common core**), e as trilhas complementares de **especialização** (camada mais externa), ramificando rumo ao infinito e além.\n\nO *common core* é composto de 16 projetos que cobrem conceitos fundamentais da Ciência da Computação, e a cada projeto entregue você ganha habilidades novas e XP (pontos de experiência) para passar de fases e avançar em direção ao chefão: o grande **Transcendence**.\n\n![Visual representation of the 16 projects of the common core divided into 3 parts](https://user-images.githubusercontent.com/49699403/146021410-fdd95ceb-d3ce-436c-ba6f-c836d0d1a922.png)\n_(Projetos sob o mesmo número são alternativas para aprender na prática determinado conceito, apenas um deve ser escolhido.)_\n\nA partir deste ponto, tripulantes da nave mãe passam a orbitar os anéis mais distantes da galáxica, e estão livres para escolher um caminho para seguir se epecializando, ou até mesmo criar uma trilha de especialização para que outras pessoas tripulantes possam seguir depois de zerarem o *common core*.\n\n# Visão geral do currículo\n\n![image](https://user-images.githubusercontent.com/49699403/210290764-7fe036d4-cd88-482f-8a3d-77f5c5b403f7.png)\n\nFundamentalmente o grande objetivo de aprendizado da 42 é aprender a base e aprender a aprender, de maneira que a trilha básica de fundamentos forma pessoas capazes de aprender rápido qualquer linguagem, framework ou paradigma novo de programação, em um mundo em constante evolução.\n\nNa 42 São Paulo, o *common core* se divide em 3 partes principais. As primeiras duas são desenvolvidas inteiramente em C e Shell Scripts. Na terceira parte há uma mudança para a linguagem C++ e o paradigma de Programação Orientada a Objetos (POO), e tecnologias complementares de front-end, back-end e containerização.\n\nTodos os projetos da fase 1 são individuais. A partir da fase 2, tripulantes da nave-mãe devem se juntar para trabalhar em pares ou em grupos, para trabalhar, aprender e resolver problemas juntes. Os projetos em grupo estão sinalizados com um :restroom:.\n\n## Fase 1\n\n|   nome\t|   assunto\t|   resumo\t|\n|---\t|---\t|---\t|\n| **[libft](https://github.com/RogerioLS/Libft-42sp.git)**| Biblioteca estática, Makefile. \t| Construa sua própria biblioteca de funções básicas em C, que será utilizada por todo o resto do *common core*. Algumas funções ```ft_*``` são réplicas de funções tradicionais da libC, outras são personalizadas, e todas devem ser escritas usando no máximo ```write()``` e ```malloc()```.\t|\n| **[get_next_line](https://github.com/RogerioLS/Get_Next_Line-42sp.git)** \t| *File descriptors* e alocação estática/dinâmica de memória. \t| Escreva uma função que lê o conteúdo de um *file descriptor* e retorna uma linha, ou seja, uma sequência de caracteres terminada em ```\\n```. Este projeto é subsequentemente incorporado à Libft.\t|\n| **[ft_printf](https://github.com/RogerioLS/Ft_Printf-42sp)** \t| String de formatação e funções variádicas. \t| Faça sua própria ```printf```! Este projeto é subsequentemente incorporado à Libft.\t|\n| **[Born2BeRoot](https://github.com/RogerioLS/Born2BeRoot-42sp)** \t| Virtualização. \t| Monte um servidor SSH em Linux, com elementos fundamentais de administração de sistemas, regras de senha forte, criptografia e muito mais.\t|\n| **[Fractol](https://github.com/RogerioLS/Fractol-42sp)** / So_Long / FDF \t| Renderização de janelas e gerendiamento de eventos de mouse/teclado. \t| Aprendendo a desenhar visuais gráficos em janelas! Escolha entre desenhar fractais (`fractol`), projeção semi-3D isométrica (`fdf`) ou um videogame top-down em 2D (`so_long`). Projetos feitos utilizando a Minilibx, uma API do sistema X11. \t|\n| **[minitalk](https://github.com/RogerioLS/Mini_Talk-42sp)** / pipex \t| Introdução a processos Unix. \t| Escolha entre construir um par de cliente e servidor conversando entre si (`minitalk`), ou simular o operador de *pipe* (`\\|`) do Bash usando os conceitos de *pipes* e *forks* em C (`pipex`).\t|\n\n\n## Fase 2\n|   nome\t|   assunto\t|   resumo\t|\n|---\t|---\t|---\t|\n| **[Push_Swap](https://github.com/RogerioLS/Push_Swap-42sp)** \t| Algoritmos de ordenação e pilhas. \t| Uma lista de números desordenados deve ser ordenada, com um detalhe: para serem ordenados, devem-se utilizar exatamente `duas pilhas`, e 11 operações de pilhas pré-determinadas.\t|\n| **[Minishell](https://github.com/RogerioLS/Minishell-42sp)** :restroom: \t| Uma versão mini de uma shell Bash escrita em C. \t| Inclui a análise léxica e semântica necessária para operar pipelines e redirecionamentos, determinados built-ins, e a estrutura necessária para executar comandos via `$PATH` ou caminhos absolutos.\t|\n| **[Philosophers](https://github.com/RogerioLS/Philosophers-42sp)** \t| Paralelismo com *threads* em C. \t| Resolva o famoso problema do Jantar de Filósofes proposto por Dijkstra, evitando concorrência de dados (*data racing*) e impasses (*deadlocks*).\t|\n| **[Netpractice](https://github.com/RogerioLS/Net_Practice-42sp)** \t| Redes e roteamento. \t| Uma série de problemas simulando LAN's e redes conectadas à internet. Para resolvê-los (em menos de 15 minutos!) é necessário conhecimento de *endereços IP* e *tabelas de roteamento*.\t|\n| **[Cub3d](https://github.com/RogerioLS/Cub3D-42sp)** / miniRT :restroom: \t| Renderização 3D \t| Estudo aprofundado sobre computação gráfica para construir um motor de renderização em janelas utilizando a Minilibx. Escolha entre a renderização de perspectivas 3D por meio de raios projetados (*raycasting*, projeto `cub3d`), ou de renderização de objetos 3D com a técnica de contorno por luz e sombra (*raycasting*, projeto `miniRT`).\t|\n\n## Fase 3\n|   nome\t|   assunto\t|   resumo\t|\n|---\t|---\t|---\t|\n| **[CPP](https://github.com/RogerioLS/CPP-42sp)**\t| Programação Orientada a Objetos.\t| 9 listas de exercícios para guiar o aprendizado mão-na-massa sobre conceitos clássicos da POO.\t|\n| **inception**\t| Containerização de uma aplicação web.\t| Usando `docker-compose` e `Dockerfile`, configure uma rede de containers que contém os serviços necessários para rodar um servidor de Wordpress (servindo arquivos estáticos HTML e com banco de dados).\t|\n| **webserv / ft_irc** :restroom:\t| Protocolos da Internet em C++.\t| Escolha entre construir um servidor HTTP que recebe requisições e serve um arquivo estático (`webserv`) ou um serviço de bate-papo IRC que segue o protocolo TCP/IP (`ft_irc`). \t|\n| **Transcendence** :restroom:\t| Jogue o renomado *Pong* online com as amizades!\t| Em time, faça a implantação de uma aplicação web em que qualquer tripulante da 42 pode logar e arranjar uma dupla para jogar uma partida de *Pong*. A aplicação deve ser capaz de transmitir partidas ao vivo, permitir que tripulantes se adicionem em listas de amizades, *achievements* e mais.\t|\n\n\n# Como clonar este repositório\nEste repositótio contém submódulos git, ou seja, links para outros repositórios que guardam o código fonte de cada projeto separadamente. Se você apenas executar um `git clone`, a pasta baixada estará praticamente vazia. Caso deseje clonar esse repositório com todo o conteúdo de todos os submódulos, adicione a flag `--recurse-submodules` no seu `git clone`, desse jeito:\n\n```\ngit clone --recurse-submodules https://github.com/RogerioLS/Projets_42_SP.git\n```\n\nMas se quiser clonar apenas o código de um projeto específico, basta clicar no link do projeto desejado na página principal deste repositório, e cloná-lo.\n\n# Profile Intra 42\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://42term.vercel.app\"\u003e\u003cimg src=\"https://42term.vercel.app/api/widget/student/roglopes?theme=dark\" alt=\"roglopes 42 student\" /\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n---\n\n\n### **Valeu!** :wink:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogeriols%2Fprojets_42_sp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frogeriols%2Fprojets_42_sp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogeriols%2Fprojets_42_sp/lists"}