Сообщения
Сообщения за 2019
Ответы по результатам бассейна
- Получить ссылку
- Электронная почта
- Другие приложения
Как выглядит examshell школы программирования 21 (42)
- Получить ссылку
- Электронная почта
- Другие приложения
Видео от студентов с основного обучения в школе программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Немного про финальный экзамен в школе программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
О программе основного обучения
- Получить ссылку
- Электронная почта
- Другие приложения
Интересное видео о школе программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
ДЕНЬ 1. Он же Day 00 :)
- Получить ссылку
- Электронная почта
- Другие приложения
В первый день вы получите два аккаунта. Один это логин и пароль в Slack, другой это логин и пароль в интру школы 42. Ага школы 42, я надеюсь вы уже в курсе почему школы 42, вам это должны были разъяснить на личной встрече. А если у вас еще этой встречи не было и вы читаете мой блог заблаговременно перед поступлением в школу, то вкратце могу сказать что школа программирования 21 от сбербанка это франшиза французской школы программирования 42 . И так еще раз по порядку: 1. Slack - тут вы будете общаться с пирами, то есть с друзьями товарищами по бассейну, а так же с администрацией школы. Это просто групповой чат . В слеке есть гурппы bocal и adm. Так вот в бокал писать только по техническим проблемам . Например комп завис, перезагрузился, мышь не работает и тд и тп. По административным и бытовым проблемам это в адм , вода закончилась на кухне, холодно в кластере, жарко в кластере, открыть окно, закрыт окно, привести гостя и тд и тп. Не путайте эти два канала, иначе вылетите из б
Правила школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Правила Школы 21 0. Введение Цель этой главы очертить права и обязанности пользователей Школы 21, также называемой школой в представленном документе, IT ресурсах. Под пользователями мы подразумеваем тех, кто получил доступ к IT оборудованию как к части его взаимодействия со школой. Приведенная глава не заменяет обязательства по соблюдению закона. 1. Область применимости Эта глава относится ко всем людям, вне зависимости от их статуса, имеющим доступ к IT оборудованию Школы 21. 2. IT оборудование Под IT оборудованием понимается: Рабочие станции Серверы Проводные сети Беспроводные сети Настоящая глава применяется к описанию взаимодействия с IT оборудованием организации, вне зависимости от того как происходит взаимодействие - через внешний канал связи или через внутреннюю сеть школы Эта глава применима к использованию личных устройств в беспроводной сети школы. 3. Пользователи 1. Идентификация Идентификация проводится с использованием логина связанного
Устав школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
#CodingTime? НАЗВАНИЕ Школа 21. КРАТКОЕ СОДЕРЖАНИЕ 21 как стиль жизни. ОПИСАНИЕ Юмор. Усердие. Страсть. Нестандартное мышление. Готовность к обучению по инновационной методологии. Это те качества, которые Школа 21 ждет от своих последователей. Мы готовим профессионалов нового поколения. Прежде чем ты займешься делом всей своей жизни, необходимо усердно работать… Используя экстраординарные подходы к обучению и программированию, Школа 21 подготовит тебя к самым каверзным задачам в передовых инновационных компаниях. Глубокие и высокопрофессиональные знания программирования - цель, которую мы преследуем. Какие обязательства ты должен взять на себя для успешного обучения в Школе 21? Просто прочитай Мануал! МОИ ПЕРСОНАЛЬНЫЕ ОБЯЗАННОСТИ Ты должен тратить не менее 50 часов в неделю на обучение (более, чем 8 часов 6 дней в неделю). Главная цель Школы 21 - за период от 1,5 до 4 лет сделать из тебя высококвалифицированного профессионала своей области. Для этого тебе
Holy Graph 42 Карта проектов школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Как не наступить на грабли на экзаменах!
- Получить ссылку
- Электронная почта
- Другие приложения
Запомните святые заклинания на экзаменах! Прежде чем сделать grademe! git add . git commit git push Очень многие валятся на том, что хоть и пишут задание но забывают сделать git push. Если вы это не сделаете, то мулинету будет нечего проверять и результате 0 баллов! Кроме того, у вас есть ТОЛЬКО ОДНА ПОПЫТКА сделать grademe , то есть проверить каждое задание на экзамене. Поэтому сто раз проверьте работу вашего когда и то, что вы сделали git push . Четко различайте когда нужно написать функцию, а когда программу. Внимательно читайте задания и тесты к ним, и так же дополнительные тесты если они есть к зданию. Всегда компилируйте gcc -Wall -Wextra -Werror ! Как только вы сделали grademe , после проверки вы сразу получаете новое задание! На этом тоже валились многие, так как думали что можно два раза отправлять одно задание на проверку. И не злите смотрителей на экзамене! Они тоже люди и выполняют свое задание. Если встали и стоят у вас за спино
Советы для решения задач на экзамене.
- Получить ссылку
- Электронная почта
- Другие приложения
1. Не стесняйтесь писать код в лоб, не бойтесь "костылей" и "велосипедов" на экзамене. Помните, преждевременные оптимизации - корень всех зол. Если будет время, то оптимизруйте код, но когда задача сложная то лучше написать ее возможно тупо но правильно, чем круто, но неправильно. 2. Придумывайте хорошие имена для переменных. Это поможет вам лучше понять что происходит когда вы будете искать ошибки и неточности. 3. Не ленитесь нарисовать что происходит в коде. Это очень помогает. Также можете попробовать писать на бумаге псевдокод, в потом уже приступать к решению задачи 4. Проговаривайте что вы делайте При этом будьте точнее с понятиями. Почему это важно: вы должны четко знать что у вас находится в каждой переменной каждый момент времени и знать что именно к вам приходит на вход функции: указатель на char, char или строка(последний символ - '\0') 5. Всегда компилируйте gcc -Wall -Wextra -Werror ! 6. Всегда тестируйте св
Правила финального экзамена школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
FINAL EXAM IS COMING Поздравляем всех, кто доплыл до этого момента. Остался последний, пожалуй, самый сложный рывок и снова настанет уже непривычная для многих спокойная жизнь. Чтобы финальный экзамен прошел как можно более предсказуемо и спокойно для вас, мы подготовили небольшой cheatsheet. По времени: 1) Все кластеры должны быть свободны в 8:00 пятницы. С 9:20 до 10:00 можно будет пройти и занять место. Не опаздывайте на финальный экзамен , так как при опоздании даже на секунду кураторы не пропустят вас к своему месту. По перемещениям: 2) Вход и выход осуществляется через левые турникеты (как обычно), пройдя через которые, вы незамедлительно поднимаетесь на третий этаж в кластеры. 3) Перед экзаменом настоятельно рекомендуем вам воспользоваться уборной. Находиться в любых других помещениях (в коридорах, на кухне, etc.) без разрешения кураторов экзамена ЗАПРЕЩЕНО. После окончания экзамена вы также можете воспользоваться уборной, после чего нужно будет забр
TIJелая жизнь участников бассейна!
- Получить ссылку
- Электронная почта
- Другие приложения
Немного про экзамены в школе программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Выдержки из официальных документов школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
В школе программирования 21 сперциально создают стрессовые ситуации
- Получить ссылку
- Электронная почта
- Другие приложения
Вопрос участника бассейна школы программирования 21 и ответ администрации От сюда вывод, что готовится к бассейну надо заранее. Нужно понимать что вас специально будут вгонять в стресс кучей заданий. И к этому надо быть готовым. Поэтому очень важно высыпаться. Еще раз очень важно высыпаться. Уходить из школы надо не позже 20 часов чтобы вы могли полноценно отдохнуть дома. Именно отдохнуть а не сесть вечером дома за комп и допиливать задания. Очень важно держать свой ритм, а не тот что вам пытаются навязать в школе.
Как быстро разобраться с указателями в Си
- Получить ссылку
- Электронная почта
- Другие приложения
Пример для понимания работы malloc и указателей Идете на сайт http://www.pythontutor.com/visualize.html#mode=edit 198 И вводите следующий код: #include <stdlib.h> int * newarray ( int array_size ) { int i ; i = 0 ; int * ar ; ar = malloc ( sizeof ( * ar ) * array_size ); if ( ! ar ) return ( 0 ); while ( i < array_size ) { ar [ i ] = i + 1 ; i ++ ; } return ( ar ); } int main () { int array_size ; int * pa ; array_size = 5 ; pa = newarray ( array_size ); return ( 0 ); }
Проверка скорости работы BSQ
- Получить ссылку
- Электронная почта
- Другие приложения
// Чтобы измерить скорость работы вашей программы, добавьте в header main.c #include <time.h> #include <stdio.h> // В начале вашего main() добавьте: clock_t tic = clock (); // в конце main() перед return (0) добавьте: clock_t toc = clock (); printf ( "Elapsed: %f seconds \n " , ( double )( toc - tic ) / CLOCKS_PER_SEC ); // Не забудьте удалить эти данные, когда будете пушить программу на проверку мулинету!
Скрипт генерации карт для BSQ
- Получить ссылку
- Электронная почта
- Другие приложения
#!/usr/bin/perl use warnings ; use strict ; die "program x y density" unless ( scalar ( @ARGV ) == 6 ); my ( $x , $y , $density , $e , $o , $f ) = @ARGV ; print "$y" ; print "$e" ; print "$o" ; print "$f" ; print "\n" ; for ( my $i = 0 ; $i < $y ; $i ++ ) { for ( my $j = 0 ; $j < $x ; $j ++ ) { if ( int ( rand ( $y ) * 2 ) < $density ) { print "$o" ; } else { print "$e" ; } } print "\n" ; } использование ./mymapgen.pl 10 10 3 x _ .
Перевод задания BSQ
- Получить ссылку
- Электронная почта
- Другие приложения
Глава II Тема Самый большой квадрат: ◦ Цель этого проекта - найти самый большой квадрат на карте, избегая препятствий. ◦ Вам будет предоставлен файл, содержащий карту. Он должен быть принят вашей программой как аргумент. ◦ Первая строка карты содержит информацию о том, как читать карту : Количество линий на карте; Символ ”пустоты"; Символ "препятствия"; Символ “залит”. ◦ Карта состоит из символов "пустоты", линий и символов "препятствий". ◦ Цель программы - заменить символы "пустоты" на “залитые” символы для того, чтобы представить самый большой квадрат. ◦ В случае, если существует более одного решения, мы выбираем сначала тот квадрат, что ближе к верхнему, затем тот, что ближе к левому краю карты. Критерии валидности карты: ◦ Все линии карты должны иметь одинаковую длину. ◦ Хотя бы одна линия должна содержать хотя бы одну клетку. ◦ Каждая линия оканчивается переносом строки. ◦ Символы на карте могут б
Лирика бассейна школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Big brother watch you!!!!
- Получить ссылку
- Электронная почта
- Другие приложения
Таки открылось что все что вы делаете за компами в школе записывается и анализируется. А вот тут и сам текст этих файликов: cat /etc/zshenv precmd () { command="$(fc -n -e - -l -1)" /bin/syslog.py "zsh: $USER : $command" } cat /bin/syslog.py #!/usr/bin/python # clem@42.fr - 02/11/2015 try: import socket import time import sys if len(sys.argv) > 1: sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) data = "<30>%s %s %s" % (socket.gethostname(), time.strftime('%a %d %H:%M:%S'), ' '.join(sys.argv[1:])) sock.sendto(data, ('syslog.21-school.ru', 514)) else: print 'Usage: %s <message>' % sys.argv[0] except: pass
Примеры проверки moulinette
- Получить ссылку
- Электронная почта
- Другие приложения
Книга всех времен и народов по Си
- Получить ссылку
- Электронная почта
- Другие приложения
Проверка заданий moulinette
- Получить ссылку
- Электронная почта
- Другие приложения
Хорошая справка по командам редактора VIM
- Получить ссылку
- Электронная почта
- Другие приложения
Помощь на интре школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Названия проектов школы программирования 21 на основном обучении
- Получить ссылку
- Электронная почта
- Другие приложения
Я думаю это далеко не полный список. Если у вас есть названия проектов, а тем более материалы по ним, пишите в комментах пожлуйста. Piscine Reloaded Push_swap Root-me | Cracking RT RTv1 Rubik Savoir Relier Snow Crash Wolf3d In the Shadows Lem_in Libft LibftASM Malloc minishell N-puzzle Framework 0 Framework 1 Framework 2 ft_ls ft_p ft_printf ft_select ft_sh2 ft_sh3 Get_Next_Line Big Web Project C Exam Alone In The Dark - Beginner C Exam Alone In The Dark - Intermediate Corewar docker-deprecated docker-1 Dr Quine FdF Filler Fillit Piscine PHP Rushes Piscine CPP First Internship Part-time Final Internship Piscine Unity 42 Commandements 42sh roger-skyline-1 Hercules Camagru Hypertube Matcha Curriculum Vitae C Piscine Shell 00 C Piscine Shell 01 Get_Next_Line Communication Trainer Check Your Dorms harassment_policy ft_debut Yellow Brick Road avaj-launcher Hackathon Born2Hack Abstract VM ComputorV1 Corewar Championship Fract
Делаем проверку norminette удобнее
- Получить ссылку
- Электронная почта
- Другие приложения
Получение ТИЖа за отказ от защиты группового проекта Rush
- Получить ссылку
- Электронная почта
- Другие приложения
Day10 Makefile
- Получить ссылку
- Электронная почта
- Другие приложения
http://embedded.ifmo.ru/sdk/sdk11/soft/make/make.pdf https://ru.bmstu.wiki/Makefile https://m.habr.com/ru/post/155201/ https://tdelegia.ru/linux/mini-rukovodstvo-po-sozdaniyu-makefile-ov-makefile-dlya-samyh/ https://www.gnu.org/software/make/manual/make.html https://www.gnu.org/software/make/manual/make.pdf
А вот ну очень крутой чел с уровнем 21 (самый высокий)
- Получить ссылку
- Электронная почта
- Другие приложения
Таблица видео и документов бассейна с внутреннего сайта
- Получить ссылку
- Электронная почта
- Другие приложения
Как проверять свой код с помощью тестов 42 Stupidity
- Получить ссылку
- Электронная почта
- Другие приложения
Переходим в домашний каталог командой cd ~ Клонируем репозиторий командой git clone https://github.com/mirror12k/42us-stupidity.git 42Stupidity Переходим в созданный каталог cd 42Stupidity Клонируем свой репозиторий с залитыми заданиями в каталог внутри каталога 42Stupidity. Например: git clone vogsphere@vogsphere.21-school.ru:intra/2019/activities/piscine_c_day_05/nick day05 Далее даете команду ./spawn.pl day05 config_d05.pl В данном случае day05 это каталог с заданиями day05 и в нем есть подкаталоги ex00, ex01 и т.д. После этого генерируются файлы для создания тестов. Затем даете команду ./tools/build.sh Она уже создает исполняемые файлы с тестами ваших функций. После этого прогоняете тесты на норминет командой ./tools/verify.sh Ну и в конце концов сами тесты. Команда ./tools/check_all.sh
FAQ бокала шоклы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Вот так выглядит календарь бассейна на июль 2019
- Получить ссылку
- Электронная почта
- Другие приложения
РЕГИСТРИРУЙТЕСЬ НА ПРОЕКТЫ!
- Получить ссылку
- Электронная почта
- Другие приложения
К удивлению моему, даже через две недели бассейна, люди забывают регистрироваться на проекты и пролетают! Это очень обидно! ПОМНИТЕ! Всегда проверяйте открылась ли регистрация на следующий день, и на день после него. Регистрация на проект обычно открывается за два три дня до него. Ниже скрины как регистрироваться Под проектами подразумеваются как обычные дни, так и экзамены, а так же и групповые проекты Rush. Внимание!!! На экзамены надо регистрироваться в двух местах! Как обычно в списке проектов, и на начальном экране. Если вы на начальном экране видите вот такую надпись то все ок. А так должна выглядеть регистрация на экзамен в списке проектов На проекте BSQ можно создавать свои команды (обратите внимание) Но эта команда состоит не более чем из двух человек :) Опять же обратите внимание что когда вы создали команду ее необходимо залочить нажав кнопку Lock бла бла бла
Тестирование своего кода
- Получить ссылку
- Электронная почта
- Другие приложения
Как тестировать свой код, чтобы не править его перед отправкой Если тебе надоело в каждую свою функцию постоянно добавлять реализацию ft_putchar и main , по несколько раз править и компилировать до тех пор, пока не заработает, а потом вычищать это перед git push , то можешь сделать так же, как и я. В рабочем каталоге я создал файл test.c со следующим содержанием: # include <unistd.h> int ft_putchar ( char c ) { /* Здесь моя реализация ft_putchar (почти такая же, как и в видео к Day02 */ } /* В следующий строке XXXXX надо заменить на имя файла с твоей функцией, которую и надо тестировать Например #include "ex04/ft_print_combo.c" */ # include "XXXXX" int main ( void ) { YYYYY ( ) ; /* Подставь вместо YYYYY имя функции тестируемой, например ft_print_comb(); */ return ( 0 ) ; } Компилирую я это командой: gcc -Wall -Wextra -Werror -o test test.c ,если есть ошибки, то редактирую vim ex04/ft_print_comb.c , и так до тех пор,
Экзамены в школе программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
В конце недели каждую пятницу в школе проходит экзамен. Требования к поведению во время экзамена, очень строгие, напоминает фильмы про СС. Посмотреть на соседа, повернуть голову вправо, влево приравнивается к побегу, посмотреть в потолок к попытке обращения за помощью к Богу. За подобные действия просто выводят с экзамена. Если возник какой-то вопрос, то надо молча встать и ждать пока к тебе подойдет смотритель экзамена. Несколько человек из студентов прошедших бассейн, находящихся на основном обучении, ходят по залу и следят за правилами. Бывали случаи что кто-то из экзаменующихся что-то спрашивал у другого, так с экзамена снимали целый ряд. Или просто, человек вставал, к нему подходили, он задавал вопрос, садился, и потом уже когда куратор отходил то вдогонку задавали ему дополнительный вопрос и за это тоже выводили с экзамена. В общем все очень строго. Естественно ни какие телефоны, электронные часы и вообще ни какие электронные устройства не разрешены на экзамене. Раз
Начальные тесты, для того чтобы попасть в бассейн
- Получить ссылку
- Электронная почта
- Другие приложения
Видео школы программирования 21
- Получить ссылку
- Электронная почта
- Другие приложения
Это видео которое вы будете смотреть в школе в разные дни. Да, да многие на французском. :) Причем качество на интре школы такое же преотвратное. Видимо они не очень парились когда его записывали :) Да они там вообще не парятся :) Плывите как хотите :) Ссылка на плейлист https://www.youtube.com/watch?v=FbOvjKqBvFY&list=PLfxuRgWiQ4rhJJhX8zkX8olpk_4DLE00h&index=1
Что такое ТИЖ (TIJ) и с чем его едят
- Получить ссылку
- Электронная почта
- Другие приложения
ТИЖ это "подарок судьбы" в шокле программирования 21. Выдается за несоблюдение правил школы . Когда вы получаете ТИЖ, то вам блокируют доступ на интра сайт школы. И соответственно вы не можете получать задания, а от сюда следует, что и выполнять их. И длится это будет до тех пока не отработаете свою провинность занимаясь общественно полезным трудом на благо школы, как то, протирка мониторов, вынос мусора и другая хозяйственная деятельность. Поэтому не нарушайте правил и будет вам счастье :) Вот так выглядит ТИЖ (слава Богу не мой) :) Не нарывайтесь на такое!
Проверка кода C online
- Получить ссылку
- Электронная почта
- Другие приложения
По этим линкам можно быстро проверить свой код https://www.onlinegdb.com/online_c++_compiler 0 Справка по этому отладчику http://www.onlinegdb.com/blog/brief-guide-on-how-to-use-onlinegdb-debugger/ https://rextester.com/l/c_online_compiler_gcc 12 https://gcc.godbolt.org/ По этому адресу хороший визуальный оладчик http://www.pythontutor.com/visualize.html#mode=display
Вот что такое проверка norminette в школе 21
- Получить ссылку
- Электронная почта
- Другие приложения