{"id":19947330,"url":"https://github.com/clementvidon/exams_42","last_synced_at":"2025-05-03T17:33:45.884Z","repository":{"id":119380095,"uuid":"448982136","full_name":"clementvidon/exams_42","owner":"clementvidon","description":"Training method for 42 exams.","archived":false,"fork":false,"pushed_at":"2024-02-05T08:08:12.000Z","size":282,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T18:52:41.058Z","etag":null,"topics":["42","42born2code","42cursus","42exam","42exams","42network","42paris","42projects","42school","commoncore","exam42","learning-by-doing","method","methodology","methods"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clementvidon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-01-17T17:13:15.000Z","updated_at":"2024-06-12T10:22:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"303e6484-945b-4e88-a584-7ee8a6e51405","html_url":"https://github.com/clementvidon/exams_42","commit_stats":null,"previous_names":["clementvidon/exams_42","clemedon/exams_42"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clementvidon%2Fexams_42","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clementvidon%2Fexams_42/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clementvidon%2Fexams_42/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clementvidon%2Fexams_42/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clementvidon","download_url":"https://codeload.github.com/clementvidon/exams_42/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252227166,"owners_count":21714955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["42","42born2code","42cursus","42exam","42exams","42network","42paris","42projects","42school","commoncore","exam42","learning-by-doing","method","methodology","methods"],"created_at":"2024-11-13T00:35:33.366Z","updated_at":"2025-05-03T17:33:45.595Z","avatar_url":"https://github.com/clementvidon.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n#           EXAMS 42\n\n## Summary\n\nThis repository is intended to help me to **learn** functions by heart for the\n42 exams.  It also aims to **improve** these functions at the same time.  For\nthis purpose I developed the following method.\n\nAt level one we find `tool` folder that contains my minimal exam `config`, the\ndefault 42 vimrc, and debugging tools to quickly check the improvements.\n\nInside the `func` directory there is a folder for each function that we can\nencounter during the exams.\n\nInside each of these folder we find the core of the method, three source files:\n- `base.c` functional starting point, *must not be modified*.\n- `check.c` the improvement file, with annotation and modifications allowed.\n- `try.c` this file will be used and reused to code and recode the function by\n  heart.\nAnd (optionally) a `doc` and `test` folders.\n\n## Method\n\nThe workflow is the following:\n1. recode `base.c` function into `try.c`\n2. debug `try.c`\n3. diff `try.c` and `base.c` into `check.c`\n\n\u003e **HINT** Vim users will like `:h vimdiff`, the `do` and the `dp` commands.\n\n***LEARN***\n\n4. update `check.c` with the mistakes found in `try.c` and document with a\n  `TODO` comment\n\n        ssize_t r; // TODO ssize_t instead of long\n\n***IMPROVE***\n\n4. update `check.c` with comments that keep a track of mistakes found in\n   `try.c`, the number preceding the `XXX` ( here `2` ) indicates indicates the\n   number of times the error has been done during `try.c` attempts.\n\n        static char *temp; // 2 XXX static keyword missing\n\n***THUS***\n\nBefore the exam **I can check my most common mistakes** using `check.c`.\nAfter the exam **I can improve my function** using `check.c`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclementvidon%2Fexams_42","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclementvidon%2Fexams_42","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclementvidon%2Fexams_42/lists"}