Сказ о Луаре и машзале
Oct. 29th, 2008 07:42 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Часть 1. KDE
В машзале стоит Линукс. Конкретно - FreeBSD. Кажется. И графический интерфейс - KDE. Когда было первое занятие в машзале (это было еще в сентябре), препод не пришел. А мы пришли - получить логины, посмотреть, что за система стоит и как с ней работать (это важно, так как хоть немножко с линуксом немногие из группы умеют общаться.
Заглянул Никита из 14-й группы. Он в линуксе разбирается, так что решил он поднастроить мне графический интерфейс. Настроил. Хорошо настроил, все работало, только флэшка не всегда монтировалась. Впрочем, она у всех не всегда монтировалась.
Потом пара кончилась, мы разошлись.
На следующей паре нужно было сдавать прогу. Я запустил KDE. Первый раз оно еще запустилось, но тормозило. Потом зависло. Я нажал ресет. После этого KDE стало зависать на этапе запуска.
Ну, прогу я сдал из-под логина нашего старосты, потом попытался подойти к администраторше разбираться. Администраторша, оказалось, в линуксе ничего не понимает, послала в... кажется, 672 комнату, к тому админу, который действительно админ, а не только следит за поведением студентов в машзале.
Но вот беда - 672 комнаты не было. То есть двери в нее не было вообще, на плане пожарной эвакуации она была, но там, где она была нарисована на плане эвакуации двери не было. Я подумал, что туда нужно телепортироваться. А телепортироваться я не умею.
Так что забил до сдачи следующей проги.
Когда стал сдавать следующую прогу, я снова забил на вопрос о KDE, даже проверять не стал. Потому что мне было объяснено, что иксы (графический интерфейс) - это не круто, круто - это консоль, и под ней флэшка вполне монтируется. Так что пока иксы не шибко нужны, будем сидеть без них и не париться. Хотя с русскими кодировками там немножко не то. В смысле я не знаю, как там читать текст не в той кодировке, которая по умолчанию - и забыл выяснить, какая кодировка по умолчанию. И еще я не умею пользоваться тамошним текстовым редактором, работаю через f4 у midnight commander'а (аналог нортон-коммандера или фар-менеджера, по крайней мере, внешне).
Часть 2. Как Луары прогу сдавали.
Ну, собственно, не только Луары. А все.
Дело в том, что у нас по прогерству (для практических занятий) три препода. Тетка, дядька и аспирант=)
Тетка и дядька по очереди ведут семинары (а вообще-то должны поделить группу пополам и вести каждый у своей половины), аспирант принимает проги в машзале, плюс еще на контрольной за нами приглядывал. Иногда еще проги в машзале принимает дядька (судя по всему - когда выясняется, что желающих сдать больше, чем времени у аспиранта).
У аспиранта по крайней мере на эту прогу был способ проверки методом ввода всякой фигни. Цифр в те места, где нужно ввести буквы, букв, где нужно ввести цифры, непечатаемых символов, несуществующих команд и т.д.
То есть помимо реализации описанных в задании функций, что я сделал еще к прошлому машзалу, надо было предусмотреть все фигни, которые только может ввести пользователь.
Предусматривал я их методом "сохранил прогу, скопировал на флэшку, решил, что готова, через час опомнился, ибо вспомнил еще слабое место... и так итерации четыре"
Все так и не предусмотрел. Сегодня преподу удалось подловить мою прогу еще три или четыре раза, плюс еще раз я увидел, как препод подловил Саньку, решил на всякий случай проверить. Переделал. Правда, сильно подозреваю, что исправляя другой баг, я это место испортил обратно. Ну да фиг с ним, не заметили.
Заметили, но простили другой баг.
Команды моей программе выглядят как ввод одной буквы (более-менее ассоциирующейся с тем, что команда делает) или этой одной буквы и одного-двух параметров через пробел. Конечно, я проверяю, написал пользователь команду в нужном формате или какую-то фигню. Ну, например, добавление записи у меня идет по "a", но не идет "aghuiw" или "a ghuiw". Но фишка в том, что я забыл сделать соответствующие проверки для выхода и для вывода помощи. Ибо эти проверки шли в функциях обработки соответствующих команд, а для выхода и вывода помощи никаких функций нет, выход вообще идет как условие цикла... Так что препод вышел по "qwe".
Но, похоже, я ему успел надоесть, и он все-таки засчитал мою прогу. К тому же мое "ой, забыл...." было столь натуральным, что он понял, что я действительно просто забыл, а как это сделать - вполне знаю.
Кстати вообще говоря после всех своих исправлений я даже не знаю, как прога еще хоть как-то работает))
В машзале стоит Линукс. Конкретно - FreeBSD. Кажется. И графический интерфейс - KDE. Когда было первое занятие в машзале (это было еще в сентябре), препод не пришел. А мы пришли - получить логины, посмотреть, что за система стоит и как с ней работать (это важно, так как хоть немножко с линуксом немногие из группы умеют общаться.
Заглянул Никита из 14-й группы. Он в линуксе разбирается, так что решил он поднастроить мне графический интерфейс. Настроил. Хорошо настроил, все работало, только флэшка не всегда монтировалась. Впрочем, она у всех не всегда монтировалась.
Потом пара кончилась, мы разошлись.
На следующей паре нужно было сдавать прогу. Я запустил KDE. Первый раз оно еще запустилось, но тормозило. Потом зависло. Я нажал ресет. После этого KDE стало зависать на этапе запуска.
Ну, прогу я сдал из-под логина нашего старосты, потом попытался подойти к администраторше разбираться. Администраторша, оказалось, в линуксе ничего не понимает, послала в... кажется, 672 комнату, к тому админу, который действительно админ, а не только следит за поведением студентов в машзале.
Но вот беда - 672 комнаты не было. То есть двери в нее не было вообще, на плане пожарной эвакуации она была, но там, где она была нарисована на плане эвакуации двери не было. Я подумал, что туда нужно телепортироваться. А телепортироваться я не умею.
Так что забил до сдачи следующей проги.
Когда стал сдавать следующую прогу, я снова забил на вопрос о KDE, даже проверять не стал. Потому что мне было объяснено, что иксы (графический интерфейс) - это не круто, круто - это консоль, и под ней флэшка вполне монтируется. Так что пока иксы не шибко нужны, будем сидеть без них и не париться. Хотя с русскими кодировками там немножко не то. В смысле я не знаю, как там читать текст не в той кодировке, которая по умолчанию - и забыл выяснить, какая кодировка по умолчанию. И еще я не умею пользоваться тамошним текстовым редактором, работаю через f4 у midnight commander'а (аналог нортон-коммандера или фар-менеджера, по крайней мере, внешне).
Часть 2. Как Луары прогу сдавали.
Ну, собственно, не только Луары. А все.
Дело в том, что у нас по прогерству (для практических занятий) три препода. Тетка, дядька и аспирант=)
Тетка и дядька по очереди ведут семинары (а вообще-то должны поделить группу пополам и вести каждый у своей половины), аспирант принимает проги в машзале, плюс еще на контрольной за нами приглядывал. Иногда еще проги в машзале принимает дядька (судя по всему - когда выясняется, что желающих сдать больше, чем времени у аспиранта).
У аспиранта по крайней мере на эту прогу был способ проверки методом ввода всякой фигни. Цифр в те места, где нужно ввести буквы, букв, где нужно ввести цифры, непечатаемых символов, несуществующих команд и т.д.
То есть помимо реализации описанных в задании функций, что я сделал еще к прошлому машзалу, надо было предусмотреть все фигни, которые только может ввести пользователь.
Предусматривал я их методом "сохранил прогу, скопировал на флэшку, решил, что готова, через час опомнился, ибо вспомнил еще слабое место... и так итерации четыре"
Все так и не предусмотрел. Сегодня преподу удалось подловить мою прогу еще три или четыре раза, плюс еще раз я увидел, как препод подловил Саньку, решил на всякий случай проверить. Переделал. Правда, сильно подозреваю, что исправляя другой баг, я это место испортил обратно. Ну да фиг с ним, не заметили.
Заметили, но простили другой баг.
Команды моей программе выглядят как ввод одной буквы (более-менее ассоциирующейся с тем, что команда делает) или этой одной буквы и одного-двух параметров через пробел. Конечно, я проверяю, написал пользователь команду в нужном формате или какую-то фигню. Ну, например, добавление записи у меня идет по "a", но не идет "aghuiw" или "a ghuiw". Но фишка в том, что я забыл сделать соответствующие проверки для выхода и для вывода помощи. Ибо эти проверки шли в функциях обработки соответствующих команд, а для выхода и вывода помощи никаких функций нет, выход вообще идет как условие цикла... Так что препод вышел по "qwe".
Но, похоже, я ему успел надоесть, и он все-таки засчитал мою прогу. К тому же мое "ой, забыл...." было столь натуральным, что он понял, что я действительно просто забыл, а как это сделать - вполне знаю.
Кстати вообще говоря после всех своих исправлений я даже не знаю, как прога еще хоть как-то работает))