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

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

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

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

Комментарии
Избранное Подписка Сортировка: Древо
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 2012 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 7317 14.02.20 13:54 Сейчас в теме
(80) отвечать: так вышло. :)
ipoloskov; +1 Ответить
96. starik-2005 2012 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 7317 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 7317 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 7317 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 7317 15.02.20 13:56 Сейчас в теме
(127) см. мой комментарий выше.
130. lunjio 62 15.02.20 14:13 Сейчас в теме
(128)
Вы можете своей статьей вводить новичков в заблуждение ) которые будут стремиться к усложнению и заморочкам, вместо простоты и чистоты. Комментарии не все читаю, просто на мой взгляд заголовок статьи и преподносимое содержимое, должно звучать по другому - как может меняться и далее в этом духе. В конце же, сделать заключение, что-то типа не стоит стремиться к вариантам типа кэширования и получения через статистику, поэтому и поэтому. Это мое мнение. Белокаменцева никто не оскорблял, вы так решили)
131. YPermitin 7317 15.02.20 14:15 Сейчас в теме
(130) Надо читать статью, а не только заголовок. Тут не желтая пресса.

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

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

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

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

Поэтому у меня и нет вопросов.
129. YPermitin 7317 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 7317 15.02.20 15:22 Сейчас в теме
(137) я бы даже попросил прогноз курса валют и акций у Вас и доверился бы ему :D
139. pm74 163 15.02.20 15:26 Сейчас в теме
(138)
попросил прогноз курса валют и акций

могу
зы. напоследок выскажусь по сабжу
пофиг какой код абсолютно, важнее идея которую он реализует
140. user633166 3 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 7317 17.02.20 21:00 Сейчас в теме
(174) нет, нету. Там нужно использовать альтернативные пути. Все от задачи зависит.
178. paramedic2 17.02.20 22:09 Сейчас в теме
(177) Ну тогда гнать надо эксперта поганой метлой за жесткую привязку к винде.
Давно уже 1с слезла с этой иглы и в 2020 году решать задачи методами 2001-2003 годов для эксперта - верх безграмотности.
179. YPermitin 7317 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 7317 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 7317 18.02.20 11:19 Сейчас в теме
(188) звучит весело, но это не Highload :)
190. maxlab 30 18.02.20 11:55 Сейчас в теме
(189)
Ну вот... опять конфликт поколений! ;)) Тогда что-же по Вашему Highload, как если не возможность подключиться к кофемолке на 386SX процессоре с 640кб озу и MFM-овским винтом на 20Гб 10000 пользователям и осуществить одновременно, параллельно списание товара из регистра накопления?
191. YPermitin 7317 18.02.20 11:59 Сейчас в теме
(190) да почему конфликт )

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

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

Все таки задачи за 30 лет изменились и проблемы уже другие. В противном случае этот сайт был бы посвящён разработке на ASMе :)
194. maxlab 30 18.02.20 12:25 Сейчас в теме
(193) Это расхожее заблуждение молодого поколения. ;) Вспоминается анекдот про молодого и старого быка. Из-за цензуры не буду озвучивать. Представляете, как раз пилот кукурузника справится с Боингом. Потому что он теорию и практику полета впитал с молоком матери. А эта теория одинакова применительно к любому летающему аппарату. Просто у Боинга в кабине больше разноцветных лампочек и автопилотов (конструкторов форм и запросов, применительно к нашему предмету дисскусии)

pS. Главное - это понимание что все старо как мир. Проблемы тогда и сейчас - одни и те-же. Технологические обертки разные, и не всегда то что СЕЙЧАС , эффективней чем то что было ТОГДА. Это философский вопрос.
195. YPermitin 7317 18.02.20 12:30 Сейчас в теме
(194) спорить дальше не буду :)
Остановлюсь на позитивной ноте.

Добра Вам!

Пора работать.
196. maxlab 30 18.02.20 12:33 Сейчас в теме
199. TODD22 18 18.02.20 16:52 Сейчас в теме
(194)
Представляете, как раз пилот кукурузника справится с Боингом.

Дилетантское мнение диванного эксперта. У нас на новых самолётах пилоты мало того что обучаются в специализированном учебном центре производителя, летать именно на конкретной модели, так ещё и пол года летают с инструктором имеющем большой налёт именно на этой модели.
YPermitin; +1 Ответить
200. maxlab 30 18.02.20 18:04 Сейчас в теме
(199)
Вы,мил человек, также далеки от авиации... как я от дивана. Позвольте полюбопытствовать, куда делась целая ватага пилотов гражданской авиации почившего в бозе Советского Союза, когда массово списывали Тушки, Яки и те же кукурузники? Пральна, часть из них пошло на переобучение. Только вот их путь к сертификации пилота по международным правилам был значительно короче и легче, чем нынешнего курсанта. Так шта... Вы не поняли главную мысль - Квалификацию или навык проще восстановить и прокачать на новую модель, нежели приобрести с нуля и прокачать. У старой гвардии (с опытом) однозначно это быстрей получиться.
YPermitin; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

Архитектор 1С
Нижний Новгород
зарплата от 180 000 руб.
Полный день

Программист 1С
Балашиха
зарплата от 80 000 руб.
Полный день

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

Разработчик 1С
Нижний Новгород
зарплата до 90 000 руб.
Полный день