Апрельские "нешутки", записанные в пятницу не 13-го

04.04.15

Сообщество - О жизни

Пара баек из жизни незадачливого кодера или почему падал сервер.

Жил-был незадачливый кодер на фиксе. Он не очень твердо выговаривал буквы и цифры, путал 1 и 0, приход с расходом и дебет с кредитом, и вообще матчасть знал на твердую тройку, догадываясь о ней по её реакциям на кодерский код, но был прилежен и усидчив в работе, начальники и проектировщики попадались все добрые и понимающие, давали мелкие и средние задачи, которые выполнялись почти в срок, за что к кодеру относились вполне сносно и терпеливо.

Байка №1. Непроверенный кусок кода или "злобный копипаст".

Приходит как-то кодер на работу и видит, что руководитель отдела напряженно смотрит в монитор и по громкой связи разговаривает с сисадмином. Оказалось, что у мощного терминального сервера, верой и правдой обслуживающего до сих пор огромную файловую базу, зашкаливает загрузка всех 16-ти ядер, и это с самого утра, когда пользователей совсем немного.

Тут кодер смутно припоминает, что вчера вечером он внес небольшое изменение в код. Посмотрел, ага, именно он.

Функция ДляУправляемыхФормВернутьДеньНачалаОткрытияСписка() Экспорт
	ДеньНачалаОткрытияСписка = ДобавитьДниКДате(ТекущаяДата(), -3);
	// Учитываем пятницу и субботу
	Пока (ДеньНедели(ДеньНачалаОткрытияСписка) = 5) ИЛИ (ДеньНедели(ДеньНачалаОткрытияСписка) = 6) Цикл
		ДатаЗапретаИзменений = ДобавитьДниКДате(ДеньНачалаОткрытияСписка, - 1);
	КонецЦикла;
	
    Возврат ДеньНачалаОткрытияСписка;
КонецФункции

Скопипастил, а переменную внутри цикла заменить забыл. Приходит пользователь, открывает журнал документов и одно ядро занято, крутит бесконечный цикл. И так далее. "Бомба" срабатывает только по понедельникам и вторникам. Потом заменив одну переменную, сорок минут обновлял базу, отбиваясь от наседающих пользователей, желающих работать. Морали нет, всех время от времени клинит...

Байка №2. Размножающийся Paint.

Как-то кодеру дали очередное несложное задание: сваять макет ценника для акций, акции обозначаются галочками и текстом. Сколько акций, столько и галочек. PNG-файл с галочкой прилагается.

Кодер почесал в затылке, открыл Paint-ом файл, скопировал в буфер галочку, вставил в макет... и получил вместо галочки черный квадрат Малевича. Ладно, решил он, объедем на другой козе. Вставил в макет объект Paint, вставил в открывшийся Paint галочку, закрыл, посмотрел - хорошо получилось. Сдал задачу коллеге-заказчику.

Спустя некоторое время звонит коллега и говорит, что вывод на экран нескольких десятков ценников занимает весьма значительное время, в течение которого компьютер невероятно тормозит.

Подробный анализ ситуации показал, что для вывода каждого ценника на экран, для каждой галочки в этом ценнике, сервер трудолюбиво открывал свой Paint, таким образом размножая Paint в процессах в геометрической прогрессии. Белые экраны конфигуратора и предприятия на тормозящем сервере представляли собой зрелище не для слабонервных. Закрытие сформированного табличного документа с ценниками закрывало все Paint-процессы.

Для чего вообще существует такая возможность, вставлять в макет объект, и почему сервер реагирует на это именно таким образом, осталось за пределами скромного кодерского разума, галочки были переставлены в макет как картинки из файла, макет с несколькими десятками ценников стал формироваться в секунду и все разошлись по своим делам.

Продолжение следует...

копипаст падение сервера объект в макете

См. также

"250+ тысяч, в штат и работу пока не ищу": как изменился типичный 1С-ник в 2023 году

О жизни Россия Бесплатно (free)

Подводим итоги работы в 1С за 2023 год. Все о вас: 4 подробных раздела с цифрами, графиками и ужасными цветами диаграмм (должна же где-то быть стабильность).

08.02.2024    20860    Neti    85    

101

Адекватность работодателя. Как её определить? Часть 2. Процесс работы, от испытательного срока до увольнения

О жизни Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

22.01.2024    3398    biimmap    61    

66

Адекватность работодателя. Как её определить? Часть 1. Собеседование, заключение трудового договора

О жизни Конфигурации 1cv8 Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

16.01.2024    4850    biimmap    99    

74

Идеальное место работы для ЗУПера... Какое оно?! Часть 1. Негативные тенденции, ненужные знания.

О жизни Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Импортозамещение увеличило потребность в архитекторах, аналитиках, разработчиках 1С, в т.ч. по ЗУП. Все их ищут всеми возможными способами, но не могут найти и не знают, чем же их завлечь к себе!? Давайте разберёмся в этом вопросе!

27.11.2023    4103    biimmap    52    

71

15 лет вместе...

О жизни Сообщество Бесплатно (free)

Прочитав название публикации, мысль возникает о свадьбе... Но речь не об этом!

25.08.2023    2377    biimmap    23    

45

Как изменилось собеседование разработчиков 1С за последний год

О жизни Россия Бесплатно (free)

«Многие кандидаты хотят от собеседования простую вещь: чтобы оно длилось пять минут и брали сразу на 300 000 в наносекунду», — Эльдар Мингалиев, разрабатывает новые форматы собеседований.

22.08.2023    13619    Neti    161    

107

Зачем и как ставить плюсы

О жизни Бесплатно (free)

Не раз сталкивался с тем, что пользователи сайта не очень понимают, как ставить плюсы и зачем. Многие думают, что поставить плюс = добавить публикацию в избранное. В статье будет кратко об этом.

21.08.2023    3499    biimmap    93    

125
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. script 128 04.04.15 07:57 Сейчас в теме
Коды разные важны - коды разные нужны
maxkisa; amon_ra; cargobird; +3 Ответить
2. varovinm 09.04.15 08:17 Сейчас в теме
Ну с пэинтом ты погарячился, Сэнсэй :)
cargobird; +1 Ответить
3. cargobird 306 09.04.15 11:18 Сейчас в теме
(2) varovinm, Миша, рад тебя здесь видеть)
Ага, это возможная тема для очередной статьи "Сборник неочевидных затыков для бывалого программиста")
Оставьте свое сообщение