Эта статья предназначена для тех, кто находится в школе 21 недавно, и еще не успел наступить на дорожку из граблей. Так же это будет являться памяткой для студентов-олдфагов, которые что-либо упустили или забыли, но не хотят волновать токсичный slack вопросами, которые кажутся дурацкими настоящим просветленным гуру.
По вопросам, несостыковкам и ошибкам пишите в slack. Мой ник - swarner. На все остальное есть ADM.
Вопросы, не связанные с технической стороной
- Удаленная сдача проектов в период карантина
- Вопросы о ТИЖах
- Как привести гостя в школу
- Что делать, если заболел
- Что делать, если что-то разлил/испачкал
- Что делать, если сломался/не работает Mac
- Забыл разлогиниться и теперь при попытке зайти в учетку выскакивает какая-то ошибка
- Обязательные педагогические встречи
- Получение справки от школы
- Пришло сообщение о blackhole
- Где получить вещи, купленные за wallets
- Вопросы по норме кода
- Вопросы об экзамене (C Exam Alone In The Dark - Beginner)
- Как получить лицензию JetBrains (Clion, PyCharm и т.д.)
- Пора делать резюме. С чего начать?
- Сайты со счетчиком уровней за проекты
- Полезные каналы в slack
Вопросы, связанные с технической стороной
- Установка Oh-My-Zsh
- Установка HomeBrew на Mac
- Ликбез по устройству памяти компьютера и утечкам
- Установка valgrind для поиска утечек
- Проверка на утечки в графическом проекте (FDF, Fract'ol и другие)
- Кончилось место на маке. Как почистить кэш?
- Почему moulinette в fillit поставила -42 за функцию из libft
- Настройка дебаггера в vscode
- Настройка clion
- Скрипт для цветного norminette
- Сборник чекеров на проекты
- Официальные правила сдачи и проверки проектов - ТУТ
- Официальная информация, мануалы по настройке Windows, MacOS и Ubuntu, полезные бонусы для студентов школы и правила школы от ADM - ТУТ
- Записаться в интре на удобный вам день, кроме субботы и воскресенья.
- Подойти в назначенный день в ADM в 11:00 и получить задание.
- Отрабатывать ТИЖ.
Администрация раздает ТИЖи в зависимости от тяжести проступков. В итоге вы можете отрабатывать 8 часовой ТИЖ, каждый день приходя в 11:00, выполняя задание по 2 часа в течение 4 дней.
За неявку на отработку администрация автоматически даст вам второй двухчасовой ТИЖ. Остается лишь корить себя за нерасторопность и идти отрабатывать.
Нужно писать в канал ADM в slack и просить перенести отработку.
Переходим по ссылке — ТУТ и записываем гостя.
Помните основные правила — гость приходит максимум на час, везде ходит с сопровождающим и носит бейджик.
Записывать гостя необходимо за день до его прибытия.
В выходные привести гостя нет возможности, потому что ADM присутствует в школе только по будням.
При болезни лучше сидите дома, чтобы не заражать других студентов. Справки администрации приносить не нужно.
Однако если вы не успеваете в дедлайны и заболели, пишем в ADM и просим отсрочку дедлайнов по болезни, после приносим им все справки. Естественно, болезнь у вас должна быть серьезнее, чем насморк.
Пишем в канал в slack #help о случившемся, или подходим к уборщицам и просим убрать беспорядок.
Пишем в канал в slack #boсal о случившемся и пересаживаемся за другой компьютер
Все очень просто. Нужно нажать кнопку "Terminate sessions" и все. Однако вероятно при этом у вас сбросятся настройки учетки и придется выставлять их заново, поэтому лучше всего не забывать разлогиниться.
Иногда после всего этого интра начинает насчитывать вам время бесконечно и неправильно указывает за каким компьютером вы сидите. Решение также тривиально - пишем в #boсal и ждем пока исправят.
К сожалению, приходить нужно обязательно. При неявке на встречу выдается ТИЖ.
Пишем вашу причину в #adm и ждем ответа.
На входе стоит Face ID, который определяет по лицу кто зашел в школу и во сколько.
В атриуме сидеть не обязательно. Достаточно быть в школе и смотреть трансляцию.
Вам нужна справка от школы для армии/вуза/посольства. Нашей справкой об обучении является контракт со школой. При необходимости сканируем и показываем копию договора.
Вы заходите в интру, а вам высвечивается ошибка "blackhole". Это означает, что вы провалили французский дедлайн, где нужно получить 7 уровней за полгода. Но наша школа живет по своим дедлайнам, так что волноваться не о чем. Просто нажимаем "продолжить игру". Но если вы не можете после зайти в интру и/или нажали "покинуть игру", то пишем в #bocal и просим разблокировать учетку.
Приходим в ADM в рабочее время и просим выдать вашу покупку.
По ссылке - ТУТ. Перевод правил нормы на русский вы можете найти - ТУТ. Перевод оставляет желать лучшего, и вообще — учите английский, он программисту необходим.
Нельзя. Norminette и пиры не пропустят такие вещи как:
#define SUM(x, y) (x + y)
К тому же в подобных вещах абсолютно нет нужды. Просто создайте отдельную функцию.
Статические переменные используются без ограничений, глобальные с учётом обоснования (см. разд. II.1 Правил). Обратите внимание, что в некоторых проектах использование глобальных переменных прямо запрещено.
Необоснованное использование глобальной переменной: счётчики, переменная использованная в одной функции. Обоснованное использование: ссылка на структуру хранения, например, символьный буфер.
Можно. Если сомневаетесь, просто скопируйте исходный код себе в проект.
В теле функции комментарии не допускаются. Комментарии в стиле С99 - //, запрещены. (см. разд. II.11 Правил). Правильно оформленный комментарий выглядит так:
/*
** Текст комментария.
*/
По четвергам в 12:00. Если к ближайшей субботе наберутся волонтеры, которые готовы присматривать за экзаменующимися, то будет и в эту субботу в 12:00.
- Приходим и логинимся с помощью учетки экзамена - exam:exam.
- Далее заходим в терминал и пишем kinit [ваш логин] и вводим ваш пароль.
- Ждем команды от экзаменаторов о начале экзамена и после в терминале пишем examshell.
- Экзамен начался!
Нет. На экзамене это не нужно.
Значит что-то неверно. Внимательно читайте трассировку от moulinette (её пониманию очень поможет знание команды diff). Так же вероятно вы забыли скомпилировать с флагами -Wall -Werror -Wextra и не увидели скрытой ошибки. Впрочем, moulinette — программный комплекс, и в нём тоже могут быть ошибки. Если считаете, что это именно ваш случай — можете попробовать оспорить в ADM.
На самом деле если вы сделали 00-03 уровни включительно, потом ушли то по приходу вы можете начать с любого уровня до которого дошли и баллов будет предложено максимум, а не сколько вы набрали. То есть если вы сделали 00-03 уровни допустим, на 16-11-16-16 баллов, потом ушли на следующий раз вы можете начать с 00-04 уровня, и за 04 вам сразу будет предложено на 80(16-16-16-16-16).
Плюс есть исключение с 5 уровнем, если вы сделали 04 без ошибки и ушли, то в следующий раз вы можете начать с 05 уже за 100 баллов, но если вы сделали 04 с ошибкой, то вы не сможете начать с 05 в следующий раз, если ушли, а снова с 04 за 80 баллов
- Зайти на сайт JetBrains и создать аккаунт.
- Далее перейти по ссылке Apply for a free student or teacher license for educational purposes
- Нажать "Apply now".
- Ввести правильно все свои данные в форме. Email нужно указывать ваш школьный - [ваш ник]@student.21-school.ru.
- Ждать подтверждения на почте.
- Прочитайте рекомендации по написанию к резюме
- Заходите на сайт canva.com и начинайте создавать резюме :)
- #21hackers - канал с хакатонами.
- #21lectures - студенты пишут, кого хотят позвать в школу в качестве лектора.
- #club-raspberry - канал кружка робототехники.
- #help - канал для помощи в уборке.
- #talks - обсуждение насущных вопросов школы с директором.
- #datascience - канал дата саентистов.
- #born_to_code - канал по вопросам о проектах и коде.
- #school_life - обзор мероприятий и каналов.
- #java - в основном Java SE.
Пишем в терминал и запускаем:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Пишем в терминал и запускаем:
curl -fsSL https://rawgit.com/kube/42homebrew/master/install.sh | zsh
Данный ликбез написан студентом школы 21 amatilda.
Он отвечает на самые распространенные вопросы о памяти и ее утечках.
Начинающим программистам и новым студентам школы 21 крайне рекоммендовано к прочтению и изучению.
Мануал можно найти - ТУТ
Пишем в терминал и запускаем:
- Если нет HomeBrew:
curl -fsSL https://rawgit.com/kube/42homebrew/master/install.sh | zsh
brew install valgrind
- Если HomeBrew есть:
brew install valgrind
Использование:
valgrind ./[ваш бинарник] [аргументы] --leak-check=full
Проверить на утечки в проектах графики можно двумя способами.
Первый:
- Запускаем вашу программу
- В другом терминале пишем:
leaks [имя вашего бинарника]
Второй:
- Запускаем Xcode
- Вверху нажимаем на вкладку Xcode
- Ищем "Open Developer Tool" и нажимаем на "Instruments"
- Выбираем "Leaks"
- Нажимаем на кнопку с красным кругом и выбираем свой бинарник.
- Если нужны аргументы - пишем их в поле "Arguments".
- Пишем в терминал и запускаем:
curl -fsSL https://raw.githubusercontent.com/daniiomir/faq_for_school_21/master/docs/clear.sh | sh
- Появляется сообщение:
Clean cache? (y/n):
- Пишем - y.
- Кэш очищен.
Или:
rm -rfv ~/Library/*42_cache*
Это происходит, потому что moulinett в проекте fillit неправильно обрабатывает хедеры, которые построены подобным образом:
#include "../libft/libft.h"
Необходимо исправить все хедеры в проекте на:
#include "libft.h"
А также скопировать сам файл libft.h в папку includes в корне проекта.
И исправить Makefile в том месте, где подключаются хедеры, на:
-I includes/
На всех остальных проектах нет разницы как подключать хедеры. Данная проблема была замечена только в fillit.
- Установите в VSCode расширение CodeLLDB
- Не забудьте почитать Users Manual, там много интересного.
Или:
- Берем и копируем конфигурацию из этого файла
- Вставляем все вместо вашего файла launch.json, который лежит в .vscode
- После у вас появится вверху кнопка "(lldb) Запустить"
- Теперь вы можете дебажить ваш код :)
Вы можете поменять переменную ${workspaceFolderBasename} на имя вашего бинарника, если ваш бинарник называется не также как и папка.
Чтобы запускать программу с аргументами нужно в строчке - "args": [], в скобки вставить ваши аргументы.
Для корректной работы clion нужен аналог Makefile - CMakeList.txt. К счастью, clion умеет генерировать его автоматически.
- Нужно открыть clion и нажать - New CMake Project from sources.
- Откроется окно, где нужно будет выбрать папку проекта.
- Нажимаем окей в следующем окне, где clion предлагает выбрать файлы проекта.
- Clion готов к работе.
Если вам нужно запустить программу с аргументами:
- Нажимаем вверху на вкладку Run.
- Ищем Edit configurations и нажимаем.
- В поле Program arguments вписываем аргументы.
Ссылка на репозиторий, а так же скриншоты - ТУТ
Как установить:
sh -c "$(curl -s https://bitbucket.org/liftchampion/colorised-norminette/raw/b4272f2c2dac52b1da721ae658815c43f64e5cb2/colorised_norm_install_installer.sh)"
Чекер для 6 начальных проектов - 42FileChecker
pft
printf-unit-test - 3,4 миллиона тестов
curqui_test
push_swap cheker (супер крутой чекер, сделанный студентом школы 21)