0. YPermitin 7406 14.02.20 07:52 Сейчас в теме

Код разработчика в зависимости от опыта работы

Пятничный пост! Как меняется код разработчика в зависимости от опыта работы.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
66. acanta 73 14.02.20 12:46 Сейчас в теме
Ситуация, когда студент спрашивает у преподавателя есть ли технико-экономическое обоснование постановки задачи..
72. pm74 163 14.02.20 13:01 Сейчас в теме
... зачем я первым пост написал
YPermitin; +1 Ответить
75. YPermitin 7406 14.02.20 13:07 Сейчас в теме
(72) рукописи (комментарии) не горят :D
79. pm74 163 14.02.20 13:42 Сейчас в теме
(75) да нет
просто ответ на сообщение так на ИС настроен скобочка (номер поста ) скобочка

поэтому все "олдскульные" запросы валятся мне в сообщения
73. reset2 1 14.02.20 13:05 Сейчас в теме
Затестил. Вариант Junior и Middle по скорости одинаковые
-с одним сеансом
-70.000 элементов в справочнике
-Postgres
97. Jimbo 6 14.02.20 16:16 Сейчас в теме
(73) хотя бы от миллиона надо
76. awk 695 14.02.20 13:10 Сейчас в теме
Олд скул вообще отказался бы реализовывать, сославшись на инструменты разработчика в которых все уже есть...
VasDmi666; YPermitin; +2 Ответить
77. alex_4x 81 14.02.20 13:15 Сейчас в теме
Мне почему то сразу пришла мысль, что нужно по типу объекта метаданных определить, бывают ли у исследуемого справочника группы, и в зависимости от этого добавлять или не добавлять условие на отбор элементов, ведь вопрос поставлен о количестве элементов, а не записей.
78. starik-2005 2013 14.02.20 13:26 Сейчас в теме
Правильно, "SEL ECT COUNT(*) FR OM t WHERE NOT isGroup" - это просто и без всякой лишней шелухи. И засунуть это в модуль с повторным использованием, чтобы не дергать лишний раз...
80. awk 695 14.02.20 13:48 Сейчас в теме
(78) И как отвечать на вопрос: "Почему у сергея 1 элемент, а у меня два"?
81. YPermitin 7406 14.02.20 13:54 Сейчас в теме
(80) отвечать: так вышло. :)
ipoloskov; +1 Ответить
96. starik-2005 2013 14.02.20 15:09 Сейчас в теме
(80) вчера у них три, а сегодня у меня пять - кто-то что-то добавил. Но количество элементов - это вряд ли то самое значение, которое нужно знать до двадцатой точки после запятой. Тут и приблизительного значения часто достаточно, ибо количество элементов в справочнике - постоянно изменяющееся значение. Если шеф спросил, сколько там у них товаров, то когда он прочитает почту с "идеальным" значением, реальное значение может даже не однажды поменяться...
82. JohnGalt 46 14.02.20 13:59 Сейчас в теме
Синьер даст задание джуну,

А эксперт запросит экспресс-обследование, или, например, докажет нецелесообразность получения этого результата, потому что нужно совсем другое.
86. awson 14.02.20 14:42 Сейчас в теме
Когда разработчик один в компании, и еще с небольшим опытом, то пишет как попало, главное что бы работало. Но когда он работает в команде разработчиков, то уже начинает обращать внимание на код более опытных коллег и начинает стараться писать красиво.
YPermitin; +1 Ответить
88. YPermitin 7406 14.02.20 14:44 Сейчас в теме
(86) подписываюсь под каждым словом!
90. VmvLer 14.02.20 14:48 Сейчас в теме
(86) "красиво" - это не то слово, которое определяет рост опыта элемента команды.
если тело старается писать "красиво", значит оно деградирует.
а вот "рационально" другое дело.
если член команды не видит разницы, то это упырь.
87. brr 179 14.02.20 14:44 Сейчас в теме
На самом деле опыт/длительность работы так себе параметр оценки разработчика, можно всю жизнь рисовать кнопки и не понять зачем в нормальных других языках все носятся с гетерами и сетерами. Или не рисовать кнопки, а вполне себе в одно лицо разрабатывать мощную конфигурацию и опять не понять зачем нужны гетеры и сетеры. :)
YPermitin; +1 Ответить
89. YPermitin 7406 14.02.20 14:45 Сейчас в теме
(87) +

Я в статье так и написал:
"Опыт работы - это не размер стажа в трудовой книжке, а совокупность навыков, приобретенных в процессе решения задач.".
92. brr 179 14.02.20 14:50 Сейчас в теме
(89)Прошу прощения, вынырнул из разработки и заново не перечитал статью.
93. awson 14.02.20 14:52 Сейчас в теме
94. VmvLer 14.02.20 14:58 Сейчас в теме
совокупность навыков - это "хромая кляча" которою за собой таскают и всем говорят, что это, мол,
ломовая лошадь, которая тянет все.

сейчас на практике нужна не старая лошадь, а умение быстро и надежно объездить молодого жеребца
или обломать рога горной лани. но когда клиент просит ковбоя это сделать, то он предлагает
свою клячу-медалистку и потом слышим лепет... не успели, отложили, закрыли.
95. acanta 73 14.02.20 15:04 Сейчас в теме
Мир конечно не совершенен, но он тоже... Оптимизируется....
101. maxlab 30 14.02.20 16:52 Сейчас в теме
Настоящий oldschool (т.е я :)) еще с оптимизировал бы код

&НаСервереБезКонтекста
Функция КолвоНоменклатуры()
Текст = "ВЫБРАТЬ
        |	Номенклатура.Код КАК Код
        |ИЗ
        |	Справочник.Номенклатура КАК Номенклатура"
;
Запрос = Новый Запрос;
Запрос.Текст = Текст;
Возврат  Запрос.Выполнить().Выгрузить().Количество();
КонецФункции
Показать
105. YanTsys 12 14.02.20 17:33 Сейчас в теме
(101) Судя по всему это Microsoft oldschool ... :)
ipoloskov; +1 Ответить
110. maxlab 30 14.02.20 17:39 Сейчас в теме
(105) Не-а.... EXPLAIN в руки

Текст = "ВЫБРАТЬ
        |	ВЫРАЗИТЬ(Номенклатура.Код КАК Строка(1)) КАК Код
        |ИЗ
        |	Справочник.Номенклатура КАК Номенклатура";


Так еще оптмальней :)

Не знаю как у мелкософта , но на postgresql конструкция типа sel ect count(*) fr om ... тяжело работает. Проще к статистике обратиться Плюс-минус лапоть узнаешь количество записей в таблице
111. YanTsys 12 14.02.20 17:43 Сейчас в теме
(110) В смысле вы ищете способ максимально эффектно впустую растратить ресурсы? Причем тут oldschool? Это иначе называется...
112. maxlab 30 14.02.20 17:47 Сейчас в теме
(111) За все платить надо. Вопрос - чем жертвовать. Временем ожидания выполнения запроса или засира... оперативной памяти
113. YanTsys 12 14.02.20 17:49 Сейчас в теме
(110)
Не знаю как у мелкософта , но на postgresql конструкция типа sel ect count(*) fr om ... тяжело работает. Проще к статистике обратиться Плюс-минус лапоть узнаешь количество записей в таблице


вы серьезно думаете что перебросить миллионы записей на клиента, загрузить их в таблицу значений, после чего посчитать быстрее чем sel ect count(*) fr om на сервере??? Вы так шутить изволите?
114. maxlab 30 14.02.20 17:54 Сейчас в теме
(110) Ну так... пятница же :)
А если серьезно, можете попробовать. Иногда говнокод работает лучше чем методики от Гуру :)
115. YanTsys 12 14.02.20 17:57 Сейчас в теме
(114) Провокатор :)
Я активно пользуюсь
Запрос.Выполнить().Выгрузить()

но надо же понимать пределы допустимого безобразия :)
119. Newcomer 4 14.02.20 22:50 Сейчас в теме
(101)
Умещать логику в одну строку, мысль правильная, но "Возврат Запрос.Выполнить().Выгрузить().Количество();" - это лютый быдлокод)
Далеко еще до олда, вот так правильно: "Возврат Запрос.Выполнить().Выгрузить()[0].КоличествоЭлементов" (не меняя изначального запроса и игноря пустоту)
В 2000 разовом цикле 8 секунд против 6 минут на 70 000 элементах)
143. buganov 59 17.02.20 05:37 Сейчас в теме
(101) о господи, это не оптимизация! Это хрень полная! Зачем всасывать в хост весь объем данных, если у ВыборкаИзРезультатаЗапроса есть метод количество, который гораздо лучше отработает. От Вашего олдскула у меня свело скулы. Без обид, но я бы такой код не показывал никому.
152. maxlab 30 17.02.20 11:41 Сейчас в теме
(143)
Прозевал Вашу реплику... Отвечу так. Истинный ТРУ Олдскул знает о чем Вы говорите. Но Метод Вами предложенный конечно дает выигрыш по времени извлечения результат (1690 ms), но гораздо затратней по ресурсам. И в хост ничего не сосется :) На клиент возвращается примитивное значение. А что творится в рамках кластера, олдскульного 1С-нига не должно интересовать. Бикоз, если одноэсниг начнет разбираться а что же там на самом деле происходит, он быстро соскочит на ДОТ.НЕТ например.
153. buganov 59 17.02.20 11:47 Сейчас в теме
(152) То есть Вы и правда считаете, что метод Выгрузить не засасывает в хост результат полностью?
154. maxlab 30 17.02.20 11:50 Сейчас в теме
(153)
А мы в какой парадигме дискуссию ведем? И что Вы подразумеваете под хостом?
156. buganov 59 17.02.20 11:50 Сейчас в теме
157. maxlab 30 17.02.20 11:54 Сейчас в теме
(156)
Ну конечно, rphost получит выборку. Это же очевидно! Не очевидно почему загрузка процессора в этот момент прыгает под 80%. Сам удивился.
155. buganov 59 17.02.20 11:50 Сейчас в теме
(152)Допустим, Вы подняли условные 50Гб данных. Скуль считал часть страниц и передал их серверу 1С. Сервер 1С бережно сложилэти данные во временный файл и так, пока не закончится передача от СУБД. Потом метод Выбрать считывает порциями результат и постепенно его подгружает. Метод Выгрузить сразу размещает в памяти хоста весь результат. Именно поэтому Вы можете увидеть любую строку выгруженного результата, а выбранного только последовательным чтением
158. maxlab 30 17.02.20 12:08 Сейчас в теме
(155)
Выше ответил. Но все равно интересный результат.
При
Возврат Запрос.Выполнить().Выгрузить().Количество();
имеем
2464ms 15% 47%
при
Возврат Запрос.Выполнить().Выбрать().Количество();
1700ms 90% 45%
Время, rphost,pgsql
159. buganov 59 17.02.20 12:18 Сейчас в теме
(158)как Вы меряете процессор? База изолирована? Нагрузка на сервере SQL или 1С?
161. maxlab 30 17.02.20 12:22 Сейчас в теме
(159)
Чисто визуально, в момент отработки запроса. Для контроля монитор ресурсов и утилита top. Постгри и сервер 1С на одном железе.
164. buganov 59 17.02.20 12:43 Сейчас в теме
(161)хм, вот чисто из поиска истины попробую дома повторить тест. Странно, что процессор нагружается, там же по сути считывание одного и того же файла с диска. И даже число логически не может быть сильно разного рещультата по процессору
165. maxlab 30 17.02.20 12:48 Сейчас в теме
(164)
О сколько нам открытий чудных
Готовит просвещенья дух

Интересно будет взглянуть на Ваши замеры
168. buganov 59 17.02.20 13:00 Сейчас в теме
(165)постараюсь сделать как можно больше данных, чтобы сравнить
175. buganov 59 17.02.20 18:06 Сейчас в теме
(165) что я могу сказать, Вы были правы насчет потребления процессора. В то же время память оч

Текст запроса


Сюда положил счетчики оборудования, если кому интересно. Смотреть %Загруженности процессора и байт исключительного пользования rphost1800
Интересная статистика получилась, никогда не мог бы подумать, что экономя память приходится жертвовать процессором. Может кто из экспертов подскажет.

17.02.2020 21:58:20 Выгрузить().
17.02.2020 21:58:34 Выбрать()
https://dropmefiles.com/gNPgv

П.С. Виртуалка не настроена и используется как временная песочница и дал я ей только 3 ядра, чтобы на оставшемся смотреть котиков в интернете.
176. maxlab 30 17.02.20 19:39 Сейчас в теме
(175)
Спасибо за проделанную работу!
В заключение пятничного флейма... Не могу согласится с мнением коллег, что длина стажа не имеет значения. Когда 20 лет помедитируешь на творение 1С , аж с самого основания, такие нюансы начинаешь спинным мозгом чувствовать, без всяких рекомендаций от 1С. Даже если и отстаешь от модных фишек платформы. И не всегда, ТО, чему учат в УЦ, нужно слепо применять на проектах в виде гуд практикс
YPermitin; +1 Ответить
185. buganov 59 18.02.20 05:53 Сейчас в теме
(176) Кстати, обратил внимание, что всплеск нагрузки на процессор составляет порядка 1-2 секунд из 11, которых выполнялась выборка и подсчет. При этом пик находится как раз в момент освобождения памяти.
160. buganov 59 17.02.20 12:20 Сейчас в теме
(158) И можно про нагрузку на rphost, что конкретно имеется ввиду? Хост нагрузил ядро на 90%, все ядра на 90%?
162. maxlab 30 17.02.20 12:24 Сейчас в теме
(160)
Судя по кривым в мониторе, грузится одно ядро на 90%
120. maxlab 30 14.02.20 22:59 Сейчас в теме
(119)
Сейчас проверим :) у кого длиннее олдскульней :) У меня уже 975000 позиций нарандомлено в номенклатуре
121. maxlab 30 15.02.20 00:52 Сейчас в теме
Итак, результаты измерений при 1072000 записей в спр Номенклатура
Железо I7-2600 4 физических ядра, память 16 гектар, сервер 1С и Постгрес 9,2 #изкаропки. Ничего не тюнил. ОС Центос - 7
Запрос ВремяИсполнения Загрузка rpHost Загрузка PostgreSQL
#1 485ms 10% 96%
#2 2464ms 15% 47%
#3 2393ms 34% 48%

Где Запрос #1 - олдскульный от автора
Запросы #2 и #3 - ТРУ олдскульные... можно даже сказать ЛАМПОВЫЕ от меня ... сейчас объясню почему.
Не смотря на то что результат запроса #2 был получен за 2464мс (5раз медленней чем #1), были сэкономлены ресурсы сервера для других
,более важных операций. Экстаполируйте такие ситуации на продакшен эксплуатацию системы. Когда Вы побежите за новым железом ? :)
Замеры средние, каждая выборка по 10 раз. Расход оперативы 25% во всех случаях. Даже не шелохнулось.

Вывод - хоть и пятничная тема, но следует задуматься за счет чего делается оптимизация и нужна ли она повсеместно. За все приходится платить. Или временем или деньгами на гонку вооружений.
123. logarifm 1069 15.02.20 13:26 Сейчас в теме
Не успел ((( к сожалению прочесть в пятницу но думаю сегодня засчитается.
На самом деле информативненько было посомтреть особенно, что относилось к АДО. Ну я с Вами могу поспорить конечно. Вы забыли о главном это какой же реально объем у справочника номенклатуры и какой у него прирост. Поэтому эффективность запроса у мидла вполне адекватная. Во-вторых я сомневаюсь, что эксперт такое бы городил огород с АДО! А с регистром кэшей тоже не так все сладко - его ведь надо еще и записать тем же самым раставить блокировки. Ну да конечно можно записывать в нерабочее время и бла-бла... Не ну однозначно я не говорю, что я эксперт но однозначно запрос 1с будет выигрывать не только в быстроте но и простоте своей значимости. Более того раз уж так хочется его можно разместить в кеш вызова повторного использования. Все зависит от прироста справоника. Это есть над чем поговорить - простая тема, а у дельных спецов я думаю вызовет массу споров. Вот меня заинтриговала Ваша позиция...

З.Ы. Забыл уточнить еще время соединения очень интригующая штука и тут вы с АДО можете проиграть! Выыгриш может и будет только надо понять на каком количестве позиций, а это зависит от многих факторов. Железа , загрузка системы, состояне и актуальнсть статистики . много факторов и каждый раз может же меняться. Так что я Уважаю я Вас как профессионала своего дела но все же как мне кажется это притянуто за уши. Извените если бросил камень в Ваш огород.
acanta; YPermitin; +2 Ответить
124. YPermitin 7406 15.02.20 13:36 Сейчас в теме
(123) хайп улёгся, можно спокойно ответить :)))

Моя позиция проста: решение должно быть рабочим и не усложнять жизнь сопровождению и разработке. Так что все эти решения имеют право на жизнь. Я бы поспорил только с решением джуна :)

Я человек простой - решаю задачи в зависимости от условий, архитектуры. А спорить о реализации - это холивар. Не ко мне :) Коллеги выше много наобсуждали, это к ним. Я бы выбрал простое решение.

Выше отвечал, продублирую здесь:

Честно сказать, я не ожидал такой бурной реакции. Я хотел показать, что часто при росте от джуна до сеньора разработчики используют фичи которые им интересны, но без которых можно было бы решить задачу проще и быстрее. Но интерес делает свое дело и решения в угоду творчеству и экспериментов значительно усложняется. Это не плохо, даже хорошо, но в меру.

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

Всем добра, кто прочитает этот комментарий :)
Чем меньше токсичности в ИТ, тем лучше! )))
SirYozha; +1 Ответить
125. acanta 73 15.02.20 13:40 Сейчас в теме
Насчет роста справочников это к внедренцам. При необходимости можно и каждую поставку приходовать отдельной позицией номенклатуры и на каждую продажу заводить нового клиента. Реально такие генераторы справочников были и не раз. Статистика в таких случаях не очень нужна, а вот адо хорошо помогло бы в отчетах за несколько лет.
В принципе партии-серии-договора-соглашения так и работают.
126. logarifm 1069 15.02.20 13:42 Сейчас в теме
Я бы точно сделал запросом и забил на все!
127. lunjio 62 15.02.20 13:52 Сейчас в теме
Не совсем корректный заголовок, автор скорее всего рассматривает частный случай и заголовок должен звучать - Как может … а не утверждающе. Надеюсь это просто фантазии, а не случай из жизни, ибо получать статистику из кэша или напрямую из БД, уже пребор. Все очень относительно, кто-то сразу может понимать, что запросом на количество получать нужно исключая группы и т.п, кто-то за все время работы так и будет пользоваться что-то типа выборкой. Вывод - не надо подводить всех под какую-то градацию и т.п, можно превратиться в Белокаменцева )
128. YPermitin 7406 15.02.20 13:56 Сейчас в теме
(127) см. мой комментарий выше.
130. lunjio 62 15.02.20 14:13 Сейчас в теме
(128)
Вы можете своей статьей вводить новичков в заблуждение ) которые будут стремиться к усложнению и заморочкам, вместо простоты и чистоты. Комментарии не все читаю, просто на мой взгляд заголовок статьи и преподносимое содержимое, должно звучать по другому - как может меняться и далее в этом духе. В конце же, сделать заключение, что-то типа не стоит стремиться к вариантам типа кэширования и получения через статистику, поэтому и поэтому. Это мое мнение. Белокаменцева никто не оскорблял, вы так решили)
131. YPermitin 7406 15.02.20 14:15 Сейчас в теме
(130) Надо читать статью, а не только заголовок. Тут не желтая пресса.

Ничего не понял, но ладно.

Удачи :) и хорошего дня)
133. lunjio 62 15.02.20 14:39 Сейчас в теме
(131)
Я статью прочитал, пытаюсь объяснить вам свою точку зрения, попытаюсь еще раз:
Ваша градация по количеству опыту и принимаемому решению, это чисто ваша фантазия/видение, на деле, все может различаться, причем кардинально. некоторые программисты могут сразу понимать что к чему, кто-то так и писать такие задачи на уровне выборке. Варианты с кэшом и получением из БД, извиняюсь, чистая фантазия, очень удивлюсь, если встречу такие решения в жизни, должны быть весомые обоснования. Тоесть в вашем видении с опытом у человека меняется стиль кодирования, на каком-то уровне он заморачивается, а потом становится Буддой 1С, к сожалению это не так. Как-то пришлось проводить собеседование одного товарища, 10 лет опыта, дал задание на запрос, где участвовали перечисления, он обращался в перечислениях не по ЗНАЧЕНИЕ() а по Индексу или как там это поле в запросе. Все очень относительно, поэтому на мой взгляд, не стоит проводить такую градацию.
logarifm; YPermitin; +2 Ответить
134. YPermitin 7406 15.02.20 14:58 Сейчас в теме
135. lunjio 62 15.02.20 15:01 Сейчас в теме
(134)
Все понял, вопрос нет :)

Надеюсь идею поняли, почему я считаю статья должна говорить о возможном изменении стиля кода, а не утверждать именно такую эволюцию программиста.
Спасибо, вам тоже хорошего и удачного дня )
136. YPermitin 7406 15.02.20 15:07 Сейчас в теме
(135) Проблема в том, что статья была в виде шутки и с так и преподносилась. Но все пропустили это мимо и начали серьезное обсуждение.
В том числе и Вы.

Пятница выдалась веселой.

Поэтому у меня и нет вопросов.
129. YPermitin 7406 15.02.20 13:57 Сейчас в теме
(127) а Белокаменцева то за что оскорбили?
149. logarifm 1069 17.02.20 10:14 Сейчас в теме
(129)Пургу пишет - ищет хайп. Вначале народ читал эту публицистику в итоге понял, что это ересь какая-то!
132. acanta 73 15.02.20 14:26 Сейчас в теме
Однажды слышала фразу о том, что база при внедрении была организована так, что теперь из нее невозможно получить никакую осмысленную информацию и требуется другое внедрение. Это не просто плохой код или junior, это провал.
Это конечно, другая сфера, к статье относящаяся слабо, по разному оцениваются последствия. Дешевле или правильнее или интереснее или привычнее сделать другую базу той же УТ 11, где будет по характеристикам и с партнерами. Или обработками перекроить? Или новые приходы-расходы по другому вводить?
И после нескольких таких изменений могут попросить сформировать отчет за несколько лет.
АДО для таких случаев вполне адекватный выбор инструмента.
Это тоже уровни, но уже консультантов.
YPermitin; +1 Ответить
137. pm74 163 15.02.20 15:19 Сейчас в теме
(0) вижу правильно наванговал

понабежали
acanta; YPermitin; +2 Ответить
138. YPermitin 7406 15.02.20 15:22 Сейчас в теме
(137) я бы даже попросил прогноз курса валют и акций у Вас и доверился бы ему :D
139. pm74 163 15.02.20 15:26 Сейчас в теме
(138)
попросил прогноз курса валют и акций

могу
зы. напоследок выскажусь по сабжу
пофиг какой код абсолютно, важнее идея которую он реализует
140. user633166 4 16.02.20 20:26 Сейчас в теме
(139) я бы всё-таки уточнил :) решает-ли он поставленную задачу
145. pm74 163 17.02.20 08:35 Сейчас в теме
(140)

ну должен решать - само собой

вот на фига вообще номенклатуру считать ?
141. MainUser1C 16.02.20 20:35 Сейчас в теме
Я чет не увидел самого ленивого варианта.
Почему бы не отдать все считать серверу SQL как самому производительному в нашей цепочке, при этом код остается доступным и понятным для поддерживания даже джунами.
&НаКлиенте
Процедура Посчитать(Команда)
    ПосчитатьНаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПосчитатьНаСервере()
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   КОЛИЧЕСТВО(Номенклатура.Ссылка) КАК Количество
        |ИЗ
        |   Справочник.Номенклатура КАК Номенклатура";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
        Сообщить(ВыборкаДетальныеЗаписи.Количество);
    КонецЦикла;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецПроцедуры
Показать
maxlab; acanta; +2 Ответить
142. maxlab 30 17.02.20 00:20 Сейчас в теме
(141)
Плохо смотрели... Я не поленился и все "олдскульные" способы проверил на 1005000 записей. По скорости извлечения результата победил Автор! Но на моей тестовой площадке PostgreSQL кратковременно уперся рогами в землю. Поэтому в выигрыше экспермент #2! Так как, не смотря на потерю скорости в 5 раз, были сэкономлены ресурсы сервера для других, не менее важных параллельных! запросов/транзакций :) Только истинные мастера думают о high_load. Но! Судя по Вашему кодингу - Вы настоящий ТРУ Олдскул... круче чем я, даже! Вы единственный, кто догадался заюзать конструктор запросов с обработкой результата.
Хорошего настроения до следующей пятницы. Может еще кто сможет нас развеселить :)
acanta; buganov; +2 Ответить
144. buganov 59 17.02.20 05:43 Сейчас в теме
Пять плюсцов этом господину за
(142)
Вы единственный, кто догадался заюзать конструктор запросов с обработкой результата.
180. MainUser1C 17.02.20 23:26 Сейчас в теме
(142)
странно, будет под рукой сервер протестирую на скорость вариант 2 и мой.
Что же касательно конструктора, то тут пример, как написав одну строчку кода в кратчайшие сроки можно получить результат понятный и доступный для всех. Вот уж олдскулом тут пахнет мало))))))))))
182. maxlab 30 17.02.20 23:33 Сейчас в теме
(180)
Есть другая идея. Взять реальную задачу из ОУ и выполнить ее в самых жестких, с точки зрения оборудования, условиях. И критерием настоящего олдскульного решения будет минимальное время проведения на списание товара, при минимальном потреблении ресурсов процессора. На одном физическом ядре с оперативой в 4 gb. Тактовая частота процессора не имеет значения, потом апроксимируем на время при наличии нескольких решений. в качестве sql сервера - постгрес. Вот это будет веселуха! Могу подкинуть задачку из 1С-Специалист, доведенную до реальных боевых условий
183. MainUser1C 17.02.20 23:43 Сейчас в теме
(182)
Не ну если говорить о самых жестких условиях - то это файловая база)))))
И это, мне как то за всю деятельность ни разу не приходилось писать ОУ специалиста на реальных задачах. Зачастую проще предложить шо нить базовое и доработать.
184. maxlab 30 17.02.20 23:47 Сейчас в теме
(183)
Файловая не пойдет. Не те масштабы. Только PostgreSql - только хардкор ;) Не забываем что мы думаем о highload на зачуханном железе 10 летней давности. Обычно у подавляющего большинства клиентов такое стоит
147. user604727_yugoo 17.02.20 08:54 Сейчас в теме
Только собрался писать ироничный, полный сарказма и едких сравнений ответ про программиста №3 и №4, но вовремя увидел код №5. Поздравляю себя и всех, кто рассуждал также, готовясь быть забаненным. Мы - программисты с огромным опытом.
151. SlavaKron 17.02.20 10:51 Сейчас в теме
(147) Я б почитал
ироничный, полный сарказма и едких сравнений ответ
163. Skopoxod 17.02.20 12:30 Сейчас в теме
А где вариант "не придумал как загуглить задачу и посчитал элементы вручную"?
166. maxlab 30 17.02.20 12:52 Сейчас в теме
(163)
А это ваабще высший пилотаж с точки зрения highload. Прикидываете, миллион пользователей посчитали вручную без взаимных блокировок и прочей мути. А олдскул сэкономил свое время на девочек и 10000$ на новый 32 ядерный проц
167. ogidni 161 17.02.20 12:54 Сейчас в теме
Мамонты пишут - выполнить().выгрузить(). Так как мамонты не верят рекомендациям фирмы 1С
Так же Папонты - всегда используют isnull(..).
169. maxlab 30 17.02.20 13:11 Сейчас в теме
(167)
Не важно как пишут мамонты и папонты. Важно под что заточен человек который называет себя 1С девом. In my opinion, одноэсник должен эффективно решать задачи предметной области используя инструмент под названием платформа 1С. А все что связано с оптимизацией, индексами и прочей ерундой пусть занимается команда Нуралиева, если хочет устоять на рынке. Еще раз повторюсь, если одноэсник начнет разбираться со всеми потрохами что происходят "позади сцены" - он быстро придет к выводу что пора валить.
170. ogidni 161 17.02.20 13:13 Сейчас в теме
(169)
А все что связано с оптимизацией, индексами и прочей ерундой пусть занимается команда Нуралиева, если хочет устоять на рынке.

Ниче не понял, но звучит как то не айс.
Вообще команда Нуралиева - это лишь вершина айсберга. Каждый разраб 1С - есть ячейка судна общества Нуралиева, который непрерывно борется с косяками 1С - чтобы судно не затонуло
171. VmvLer 17.02.20 13:23 Сейчас в теме
(170) внутри айсберга замороженные динозавры в анабиозе и если айсберг отнесет в теплые воды - они выйдут утолит свой голод?
172. maxlab 30 17.02.20 13:38 Сейчас в теме
(170)
Каждый разраб 1С - есть ячейка судна общества Нуралиева, который непрерывно борется с косяками 1С - чтобы судно не затонуло


Вот это и есть главная проблема.

Вспоминается капитан Врунгель. Как вы яхту назовете, так она и поплывет
174. paramedic2 17.02.20 17:18 Сейчас в теме
Простите, но у меня глупый вопрос: а разве на *nix есть COM объекты?
177. YPermitin 7406 17.02.20 21:00 Сейчас в теме
(174) нет, нету. Там нужно использовать альтернативные пути. Все от задачи зависит.
178. paramedic2 17.02.20 22:09 Сейчас в теме
(177) Ну тогда гнать надо эксперта поганой метлой за жесткую привязку к винде.
Давно уже 1с слезла с этой иглы и в 2020 году решать задачи методами 2001-2003 годов для эксперта - верх безграмотности.
179. YPermitin 7406 17.02.20 22:11 Сейчас в теме
(178)
Прикрепленные файлы:
user774630; +1 Ответить
181. Tarlich 84 17.02.20 23:29 Сейчас в теме
а что, код такой уже не работает
нн=0;
Пока выборка следующий() цикл
нн=нн+1 ;
-))
186. Tavalik 2188 18.02.20 07:38 Сейчас в теме
Ого! Я олдскул! :)

Так через все "велосипедные" методы уже проходил.

Спасибо за статью, повеселили!
YPermitin; +1 Ответить
187. YPermitin 7406 18.02.20 08:11 Сейчас в теме
(186) спасибо :)

Хорошо, что коллеги с юмором еще есть на просторах сообщества :) А то ведь выше люди очень серьезные в комментариях )))
188. maxlab 30 18.02.20 10:50 Сейчас в теме
(187)
Требую продолжение банкета! :))

Предлагаю Вам поддержать инициативу пенсионера в IT следующего содержания;

- Взять реальную задачу из ОУ и выполнить ее в самых жестких, с точки зрения оборудования, условиях. И критерием настоящего олдскульного решения будет минимальное время проведения на списание товара, при минимальном потреблении ресурсов процессора,памяти и т.д. На одном физическом ядре с оперативой в 4 gb. Тактовая частота процессора не имеет значения, потом апроксимируем на время при наличии нескольких решений.
В качестве sql сервера - постгрес. Вот это будет веселуха!
Могу подкинуть задачку из 1С-Специалист, доведенную до реальных боевых условий.
Файловая система не пойдет. Не те масштабы. Только PostgreSql - только хардкор ;)
Не забываем что мы думаем о highload на зачуханном железе 10 летней давности. Обычно, у подавляющего большинства клиентов такое стоит.
YPermitin; +1 Ответить
189. YPermitin 7406 18.02.20 11:19 Сейчас в теме
(188) звучит весело, но это не Highload :)
190. maxlab 30 18.02.20 11:55 Сейчас в теме
(189)
Ну вот... опять конфликт поколений! ;)) Тогда что-же по Вашему Highload, как если не возможность подключиться к кофемолке на 386SX процессоре с 640кб озу и MFM-овским винтом на 20Гб 10000 пользователям и осуществить одновременно, параллельно списание товара из регистра накопления?
191. YPermitin 7406 18.02.20 11:59 Сейчас в теме
(190) да почему конфликт )

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

Кофемолка -- ну это не высокая нагрузка. 10000 на кофемолке не взлетят, ядер не хватит))))
192. maxlab 30 18.02.20 12:06 Сейчас в теме
(191) Ну... Вы рассказали о тех же фаберже, только в профиль. Дело в том, когда, 30 лет назад, нас учили искусству обработки данных, профессора говорили нерадивым студентам - Если вы научитесь нырять в пустой бассейн (аналогия с кофемолкой), то в наполненный водой (то о чем Вы говорили) вы будете нырять как чемпионы.
193. YPermitin 7406 18.02.20 12:16 Сейчас в теме
(192) не согласен с таким подходом. Это как говорить пилоту АН-2, что раз умеешь на этом самолете летать, то и с Боингом справишься.

Все таки задачи за 30 лет изменились и проблемы уже другие. В противном случае этот сайт был бы посвящён разработке на ASMе :)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата до 130 000 руб.
Полный день