Показаны сообщения с ярлыком studying. Показать все сообщения
Показаны сообщения с ярлыком studying. Показать все сообщения
среда, 18 июля 2012 г.
среда, 13 июня 2012 г.
Защитился!
Ну вот я и защитился )
На отлично ) Теперь вопрос в цвете корки. У меня всего 7 четвёрок, но фишка в том, что при расчёте корки берут не все оценки, а входящие в диплом. В диплом попадают не все предметы, а часть пятёрок пропадает из-за объединения курсов - например 4 матана (или 5, не помню сколько их там было) дадут всего одну оценку. А вот четвёрки разбросало так, что они не объединятся и не пересчитаются (
Ещё сказали, что у меня рекомендация на аспирантуру.. Вот думаю - надо оно мне или нет...
А ещё, всё таки немножко грустно, что инст кончился. С одной стороны, привык уже к нему, не смотря на весь гемор, а с другой - как будто в жизни прошла какая-то черта на возрастной шкале..
На отлично ) Теперь вопрос в цвете корки. У меня всего 7 четвёрок, но фишка в том, что при расчёте корки берут не все оценки, а входящие в диплом. В диплом попадают не все предметы, а часть пятёрок пропадает из-за объединения курсов - например 4 матана (или 5, не помню сколько их там было) дадут всего одну оценку. А вот четвёрки разбросало так, что они не объединятся и не пересчитаются (
Ещё сказали, что у меня рекомендация на аспирантуру.. Вот думаю - надо оно мне или нет...
А ещё, всё таки немножко грустно, что инст кончился. С одной стороны, привык уже к нему, не смотря на весь гемор, а с другой - как будто в жизни прошла какая-то черта на возрастной шкале..
вторник, 5 июня 2012 г.
Ночь, диплом и мячик
Вот самое офигенное, это когда ты в полчетвёртого ночи отрываешься от диплома чтобы сделать себе кофе и тут краем глаза видишь движение на полу около ног. А это, оказывается, ни с того ни с сего на кухню вкатился мячик из коридора.. Привет, Эдгар! Так, млин, никаких нервов не хватит.
четверг, 31 мая 2012 г.
Ура, БЖД подписан!!!!
Ппц, самым гемором в дипломе оказалось не решение проблемы синхронизации капчи пакетов и их забрасывания в мускуль, а проектирование защиты разработчика от поражения эл.током )))
Думал, никогда не сдам эту фигню, но сегодня, наконец, с 4 или 5 раза мне её подписали.
Вот так, диплом по программированию, а дерут больше всего по проектированю света, вентиляции и прочей лабуде, не имеющей отношения к делу.
Думал, никогда не сдам эту фигню, но сегодня, наконец, с 4 или 5 раза мне её подписали.
Вот так, диплом по программированию, а дерут больше всего по проектированю света, вентиляции и прочей лабуде, не имеющей отношения к делу.
суббота, 21 апреля 2012 г.
fork vs pthread
Попытка построить ядро моего диплома, включающего сбор ip, tcp и http заголовков с отправкой их в mysql для последующего анализа на базе одного процесса провалилась - инсерт сильно дольше приёма очередного пакета при большом трафике, в БД каша получается.
Попытался делать так - форкать отдельный процесс под отправку данных в БД и передавать ему обработанный пакет через пайп - тот же эффект.
Стал одним процессом собирать запросы в shared memory, дочерним зеркалировать участок памяти и из зеркала слать. Синхронизацию делал через posix semaphores. Что получил - при большом трафике тот процесс, что загребает трафик, постоянно заходит в свою критическую зону, а отсылающий процесс просто висит в ожидании, отжирая целое ядро.
Уже было отчаился, но решил переписать с тредами - и, о диво! Оно заработало!!!
Механика такая: создаём 2 треда - для сбора трафика и для отправки.
Первый в pcap_loop callout раздирает пакет и формирует VALUE список, добавляя его в своей критической секции в шаренный через анонимный mmap участок.
Второй тред в своей критикал цепляет содержимое вышеуказанного участка в свой буфер и после выхода из критикала спокойно инсертит одним запросом. Сегодня вечером выкатил на продакшн, было около 3 тыс. инсертов в секунду.
Вот сам код, непричёсанный ещё, правда:
https://github.com/speedcorezombie/pget/blob/master/pget.c
Попытался делать так - форкать отдельный процесс под отправку данных в БД и передавать ему обработанный пакет через пайп - тот же эффект.
Стал одним процессом собирать запросы в shared memory, дочерним зеркалировать участок памяти и из зеркала слать. Синхронизацию делал через posix semaphores. Что получил - при большом трафике тот процесс, что загребает трафик, постоянно заходит в свою критическую зону, а отсылающий процесс просто висит в ожидании, отжирая целое ядро.
Уже было отчаился, но решил переписать с тредами - и, о диво! Оно заработало!!!
Механика такая: создаём 2 треда - для сбора трафика и для отправки.
Первый в pcap_loop callout раздирает пакет и формирует VALUE список, добавляя его в своей критической секции в шаренный через анонимный mmap участок.
Второй тред в своей критикал цепляет содержимое вышеуказанного участка в свой буфер и после выхода из критикала спокойно инсертит одним запросом. Сегодня вечером выкатил на продакшн, было около 3 тыс. инсертов в секунду.
Вот сам код, непричёсанный ещё, правда:
https://github.com/speedcorezombie/pget/blob/master/pget.c
понедельник, 12 марта 2012 г.
Госы сданы
Пришли в инст, у нас отобрали зачётки и отвели куда-то на нижние этажи, где усадили за работу. Через 2 часа стали сдавать. В итоге почти всем дали по пять, но зачётки не отдали )
вторник, 31 января 2012 г.
Последняя сессия сдана
Сабж, собственно )
Результат сессии - 1x 4 и 4x 5.
Всего, если не ошибаюсь, 7x 4 и всё остальное 5.
Теперь остались госы и диплом, который уже надо начинать, между прочим.
Вроде как проект в голове обрисовался, можно за ядро садиться.
Результат сессии - 1x 4 и 4x 5.
Всего, если не ошибаюсь, 7x 4 и всё остальное 5.
Теперь остались госы и диплом, который уже надо начинать, между прочим.
Вроде как проект в голове обрисовался, можно за ядро садиться.
понедельник, 30 января 2012 г.
Аццкий БЖД
Рановато, наверно, делать выводы, т.к. ещё не все экзамены сданы, но на данный момент самым жёстким оказался БЖД, это за почти 5.5 лет.
Сдал только со второго раза - у препода интересная система оценки. Мне хотел поставить пару токо за то, что посчитал - раз я написал длинную формулу, то значит списал и можно не заморачиваться с оценкой )) Пришлось непосредственно на его глазах всё переписывать и отвечать ) В итоге поставил 4. Я ещё никогда так рад 4 не был )))
Вообще, это не первый раз, когда по непрофильному предмету спрос гораздо круче чем со "своих", но этот раз всех переплюнул. Теперь мне этим товарищам надо будет кусок диплома сдавать... Но его ещё написать надо )
А вот завтра предстоит, к слову, сдавать Человеко-машинное взаимодействие (не имеет отношения к sexmashines.com), на котором придётся рассказывать про разбившиеся самолёты, утонувшие титаники и коста-что-то-там, а так же про то, что программисты ничего не понимают в интерфейсах. Ибо "так записано" в книжке некоего Купера.
Но надо поднапрячься, прочитать за ночь томик этого товарища и завтра сдать.
И это записано.
Сдал только со второго раза - у препода интересная система оценки. Мне хотел поставить пару токо за то, что посчитал - раз я написал длинную формулу, то значит списал и можно не заморачиваться с оценкой )) Пришлось непосредственно на его глазах всё переписывать и отвечать ) В итоге поставил 4. Я ещё никогда так рад 4 не был )))
Вообще, это не первый раз, когда по непрофильному предмету спрос гораздо круче чем со "своих", но этот раз всех переплюнул. Теперь мне этим товарищам надо будет кусок диплома сдавать... Но его ещё написать надо )
А вот завтра предстоит, к слову, сдавать Человеко-машинное взаимодействие (не имеет отношения к sexmashines.com), на котором придётся рассказывать про разбившиеся самолёты, утонувшие титаники и коста-что-то-там, а так же про то, что программисты ничего не понимают в интерфейсах. Ибо "так записано" в книжке некоего Купера.
Но надо поднапрячься, прочитать за ночь томик этого товарища и завтра сдать.
И это записано.
вторник, 27 декабря 2011 г.
Диплом: начало
Наконец-то получил дипломного руководителя и утвердил задание )
Пару подписей получить осталось. Наверно, надо начинать писать диплом.. Но как-то пока таак неохоооооота... ))
Пару подписей получить осталось. Наверно, надо начинать писать диплом.. Но как-то пока таак неохоооооота... ))
воскресенье, 19 июня 2011 г.
воскресенье, 5 июня 2011 г.
Программа для программиста
Меня уже задрал инст своими дебильными программами. По всем профильным предметам вопросы решены, остался предмет с пафосным название Организация производства. И ведь было бы понятно, если бы нам почитали лекции и поставили бы зачёт автоматом.
Но нет, оказался самым загруженным предметом - тест из 60 вопросов, задачи, экзамет и реферат, причем не "реферат", а реферат. Тётушка цепляется за буквально каждую точку, за интервал и шрифт. Вопросы в тесте просто нечитабельны. Сам предмет - мешанина магагерских курсов, объём материала огромный. Кому это надо - непонятно. Если человеку нужно заниматься организацией производства - это другая специальность и поготовка там - не один семестр какого-то говнища.
Просто трата времени.
А у меня уже набралось много книг, которые хочется прочесть, но вместо этого приходится заниматься всякой хернёй, нужной только одному человеку - преподу.
Но нет, оказался самым загруженным предметом - тест из 60 вопросов, задачи, экзамет и реферат, причем не "реферат", а реферат. Тётушка цепляется за буквально каждую точку, за интервал и шрифт. Вопросы в тесте просто нечитабельны. Сам предмет - мешанина магагерских курсов, объём материала огромный. Кому это надо - непонятно. Если человеку нужно заниматься организацией производства - это другая специальность и поготовка там - не один семестр какого-то говнища.
Просто трата времени.
А у меня уже набралось много книг, которые хочется прочесть, но вместо этого приходится заниматься всякой хернёй, нужной только одному человеку - преподу.
вторник, 22 июня 2010 г.
Сессия completed!
Четвёртый курс позади! ))
Но без потерь не обошлось, потерял 2 очка, одно - за счёт крайней своеобразности преподавателя при оценке курсовой, и ещё одно - попал к чужому преподу, который начал спрашивать то, что наш не отчитал.
Итого, за четыре года 3 четвёрки. Ну, в принципе неплохо..
По идее, надо начинать писать курсовую за 9 семестр, но пока как-то неохота )
Но без потерь не обошлось, потерял 2 очка, одно - за счёт крайней своеобразности преподавателя при оценке курсовой, и ещё одно - попал к чужому преподу, который начал спрашивать то, что наш не отчитал.
Итого, за четыре года 3 четвёрки. Ну, в принципе неплохо..
По идее, надо начинать писать курсовую за 9 семестр, но пока как-то неохота )
четверг, 10 июня 2010 г.
ФЛП: GPSS
Наткнулся я тут случайно на свою курсовую полугодичной давности по gpss. Сделал я её тогда за ночь )) Пусть висит )
Надо было смоделировать такую карусель:
Автобус совершает в день N рейсов между пунктами A и B. В течение дня с вероятностью a возможно появление дефекта, при котором автобус может продолжать движение. На устранение дефекта необходимо затратить время одного рейса. Если дефект не устранить, то с вероятностью b возникает поломка, на устранение которой уходит весь оставшийся день.
У водителя, в случае появления дефекта, есть выбор:
1. Устранить дефект.
2. Продолжить движение.
При каком b предпочтителен тот или иной вариант?
a = 0.2, N = 25
Реализовал я это так:
Вот, довольно лаконично.
Надо было смоделировать такую карусель:
Автобус совершает в день N рейсов между пунктами A и B. В течение дня с вероятностью a возможно появление дефекта, при котором автобус может продолжать движение. На устранение дефекта необходимо затратить время одного рейса. Если дефект не устранить, то с вероятностью b возникает поломка, на устранение которой уходит весь оставшийся день.
У водителя, в случае появления дефекта, есть выбор:
1. Устранить дефект.
2. Продолжить движение.
При каком b предпочтителен тот или иной вариант?
a = 0.2, N = 25
Реализовал я это так:
10 INITIAL LS$POLOMKA 0 ; инициализация флага20 TAB_RES TABLE P1 10 15 2 ; создание таблицы30 GENERATE 30,,,25 ;генерация N транзактов40 GATE LR POLOMKA SLOMAN ;проверка флага и соотв. переход50 TRANSFER .2,,DEFECT ;переход с вероятностью a в DEFECT60 SUCCESS ASSIGN 1 1 ;запись в параметр успешного значения70 TABULATE TAB_RES ;запись параметра в таблицу80 TERMINATE 1 ;завершение100 DEFECT TRANSFER .1,,LOMAETSA ;переход с вероятностью b в LOMAETSA110 TRANSFER ,SUCCESS ;переход в SUCCESS120 LOMAETSA LOGIC S POLOMKA ;поднятии флага POLOMKA130 SLOMAN ASSIGN 1,25 ;запись в параметр неудачного значения140 TABULATE TAB_RES ;запись параметра в таблицу150 TERMINATE 1 ;завершение
Вот, довольно лаконично.
воскресенье, 23 мая 2010 г.
Минус один.
Сдали с Ромкой, Славой и Ваней ООП - зачёт, курсовую и экзамен ))
Причём Ф-ой!!!
Думали, это никогда не случится... Она нас предупредила, что на 6 курсе просто убивать будет. Вроде, она у нас ещё 4 предмета будет вести.
Осталось всего ничего - курсовую по сетям и придумать свой язык с транслятором и написать. И ещё кой-какая писанина. Осталось на всё 2 дня ) Как обычно..
Причём Ф-ой!!!
Думали, это никогда не случится... Она нас предупредила, что на 6 курсе просто убивать будет. Вроде, она у нас ещё 4 предмета будет вести.
Осталось всего ничего - курсовую по сетям и придумать свой язык с транслятором и написать. И ещё кой-какая писанина. Осталось на всё 2 дня ) Как обычно..
Считать число. Продолжение темы.
Ранее я уже писал, как проще всего считать число из стандартного ввода и строки. Теперь возникла необходимость считать некую белиберду из строки, в которой может быть неск. элементов, пробелы и всякий мусор. Но главное, если там не чисто целое число, а, например, 4.aa, то чтобы не была считана 4, отбросив остальное. И можно было бы определить, что тут косяк.
Сделал функцию, которой передаём поток (как при чтении числа из строки),
из которого читаем:
Отрывок из кода, где такая штука используется:
Сделал функцию, которой передаём поток (как при чтении числа из строки),
из которого читаем:
string getElement(istringstream* strStream) {А потом полученную строку пытаемся загнать в переменную.
char ch;
string* input = new string;
input->assign("");
// Пропуск пробелов
do {
strStream->read(&ch, 1);
} while (ch == ' ');
// Считывание минуса, если он есть
if (ch == '-') {
input->append(1, ch);
strStream->read(&ch, 1);
}
// Поэлементное считывание числа
do {
if ((ch >= '0') && (ch <= '9')) {
if (strStream->good()) {
input->append(1, ch);
strStream->read(&ch, 1);
} else
break;
} else if (!strStream->good() || (ch == ' ') || (ch == '\n') || (ch == '\0'))
break;
else {
return "error";
}
} while (1);
return *input;
}
Отрывок из кода, где такая штука используется:
testString->assign("");
getline(inputfile, *testString);
testStream = new istringstream(*testString);
element = new istringstream(getElement(testStream));
delete testStream;
if ((*element >> s) && (s > 0) && (s <= 127)) {
outputfile << s << endl;
delete element;
}
суббота, 22 мая 2010 г.
Пятницо
Обычно по пятницам все пуляются друг в друга картинками с пьяными котами и обезьянами, тусят и отдыхают. И только мирэашники, как последние задроты, сидят за компами и пишут что-то типа:
Ибо через 8 часов надо сдавать курсовую. Да, именно в субботу.
Митяй бы сказал: "А я могу это объяснить очень просто: жизнь - это боль!" )))
Надеюсь, завтра, вернее уже сегодня, хоть одим кошмар кончится и останется ещё два )
class TwoDimenArray {
private:
short int array[ss][cc];
short int s;
short int c;
short int max;
short int maxs;
short int maxc;
bool errFlag;
public:
TwoDimenArray();
~TwoDimenArray();
void SearchMaxEl();
void CreateArray();
short int GetMax();
short int GetMaxStr();
short int GetMaxCol();
void PrintArray();
bool ErrTest();
};
void TwoDimenArray::CreateArray(int mode) {
istringstream* element;
istringstream* testStream;
//что-то будет...
}
short int TwoDimenArray::GetMax() {
return this->max;
}
short int TwoDimenArray::GetMaxStr() {
return this->maxs;
}
short int TwoDimenArray::GetMaxCol() {
return this->maxc;
}
void TwoDimenArray::SearchMaxEl() {
this->max = this->array[0][0];
for (int i = 0; i < this->s; ++i)
for (int j = 0; j < this->c; ++j)
if (this->max < this->array[i][j]) {
this->max = this->array[i][j];
this->maxs = i;
this->maxc = j;
}
}
void TwoDimenArray::PrintArray() {
outputfile << "Введённый массив:" << endl;
for (int i = 0; i < s; ++i) {
outputfile << "Строка " << i + 1 << ": ";
for (int j = 0; j < c; ++j)
outputfile << this->array[i][j] << " ";
outputfile << endl;
}
}
bool TwoDimenArray::ErrTest() {
return errFlag;
}
TwoDimenArray::TwoDimenArray() {
};
TwoDimenArray::~TwoDimenArray() {
};
Ибо через 8 часов надо сдавать курсовую. Да, именно в субботу.
Митяй бы сказал: "А я могу это объяснить очень просто: жизнь - это боль!" )))
Надеюсь, завтра, вернее уже сегодня, хоть одим кошмар кончится и останется ещё два )
пятница, 12 февраля 2010 г.
суббота, 30 января 2010 г.
В чём измеряется сопротивление?
Вот как вы думаете?
На сегодняшнем последнем экзамене по метрологии, взрослый студент МИРЭА четвётрого курса сделал предположение, что в амперах, потом поправил себя и сказал, что в вольтах.
Вот так вот.
А между тем:
[****************************************]
Сессия: 100% completed
Все пятёрки )
За 3,5 курса по прежнему только одна четвёрка )))
На сегодняшнем последнем экзамене по метрологии, взрослый студент МИРЭА четвётрого курса сделал предположение, что в амперах, потом поправил себя и сказал, что в вольтах.
Вот так вот.
А между тем:
[****************************************]
Сессия: 100% completed
Все пятёрки )
За 3,5 курса по прежнему только одна четвёрка )))
вторник, 26 января 2010 г.
Сессия progress bar
[********************************--------]
Сессия: 80% completed
БД успешно сданы автоматом )
Осталась метрология в субботу.
Сессия: 80% completed
БД успешно сданы автоматом )
Осталась метрология в субботу.
Работа по КГ
А вот и моя экзаменационная работа, про которую говорил ранее.
На самом деле, всё это конечно двигается более плавно, записалось не очень хорошо.
На самом деле, всё это конечно двигается более плавно, записалось не очень хорошо.
Подписаться на:
Сообщения (Atom)

.jpg)