@bitrixfordevelopers

Страница 899 из 1492
Vlad
17.08.2017
15:57:11
ну серьезно, все начинали с верстки , все начинали с jqery , ну нафига мне еще что то что даже через отладчик не просматривается и ошиками в консоль не валит

Даже интеграция с 1с через попу если за грань стандартной выгрузки товаров

Уже каждае крупная компания в своем блоге написала как они 1с или 1с их нагинала

https://www.intervolga.ru/blog/projects/1c-bitrix-exchange-contragents/?bx_sender_conversion_id=142864&utm_source=intervolgaru&utm_medium=email&utm_campaign=month_digest

Google
Vlad
17.08.2017
16:01:25
Хотя некоторые творчества читать весьма забавно, не помню где сслыка лежит к сожалению(

Я к тому что все публикует это как достижение, но любая компания которая выпутила от 5 сайтов на битриксе сталкивалась уже с багами

И это сейчас не про стандартные из разряда часть изображений теряется по пути

А кстати водяные знаки при выгрузки из 1с так до сих пор не ложатся?

Чет я разволновался, обычно не ругаюсь на битрикс или умеренонно)

Vlad
17.08.2017
17:41:51
Мм... Очередной не осиливший новый soa
дык на основе чего такой вывод?

Denis
17.08.2017
17:42:58
На основе кучи постов выше. И фраз типа там нет oop там не отнаследуешься

Victor
17.08.2017
20:04:19
Поделючь опытом d7 подхода корзины/заказа. 1. Создаем объект заказа, делаем что-то с объектом баскета полученным из объекта заказа, делаем ->save(). И тут очищаются все корзины других пользователей, удаляются все записи b sale basket без ORDER ID. Ткнул поддержку носом еще пол года назад, прямо в код в ядре где из-за нестрогого сравнения баг. Ноль реакции. 2. Утекает память. Создаем объект ордер через load(), unset-им, смотрим, памяти меньше стало :) не критично для обычной корзины, но фатально для демона обмена заказами со сторонней базой. Место где утекает так и не нашел. 3. Очень много запросов. Попробуйте сделать load потом save, и там прям шквал. Для сложного обмена решил прямо в базу писать, скорость больше чем на 3 порядка выросла

Мне кажется если парни из битрикса запостят ядро на github, без обфусцированных частей ессесно, и будут принимать пуллы, разбирать issues, битрикс станет намного лучше. Был случай когда из-за ошибки в регулярке в том месте где ядро парсит вывод компонента на предмет ссылок для ajax режима, эта херня хватала все теги на букву <a. Им понадобилось 4 месяца что бы после обращения в саппорт выкатить апдейт.

https://idea.1c-bitrix.ru/to-post-the-actual-kernel-version-in-the-repository/

Мне бы вот например было бы совсем не впадлу найти где там утекает память, если бы я был точно уверен что мол пулл рассмотрят, примут и выкатят апдейт, в течение нескольких дней.

Google
Victor
17.08.2017
20:28:23
memory_limit 9999 на https://yadi.sk/i/IOsJ9ZIT3M7FtL и будет все в шоколаде ?
если демон сутки-вторые работает и пропустил через себя тысячи заказов?)

Pavel
17.08.2017
20:28:45
если демон сутки-вторые работает и пропустил через себя тысячи заказов?)
php рожден чтобы умирать, надо на основе этого понятия делать архитектуру))

Victor
17.08.2017
20:30:06
Реальный кейс, хайлоад магазин 300-400 заказов в день, в не сезон, нужно все из учетной системы быстро перегонять заказы в crm + обновлять уже сущуствующие.

Pavel
17.08.2017
20:31:10
Хотя не такой, заказов поболее))

Victor
17.08.2017
20:31:48
Прямо в базу пишет?

Pavel
17.08.2017
20:32:43
Прямо в базу пишет?
нет, все через апи и очереди

прямо в базу писать опасно, если юзаешь стандартные модули

никто не гарантирует что следующим обновлением не появится b_sale_order_old

Victor
17.08.2017
20:33:44
Да, согласен.

Ну, если во время итерации обмена память не утекает, если ловить все исключения, даже падение базы, то нормально все работает и на пыхе

Pavel
17.08.2017
20:36:06
Ну, если во время итерации обмена память не утекает, если ловить все исключения, даже падение базы, то нормально все работает и на пыхе
да у нас и так работает все нормально, мы не гоняем туда сюда сотни тысяч заказов при интеграции, гоняем только те, что надо гонять и гоняем сразу как надо гнать, а не по крону раз в ночь

и да, мы не пишем демонов на php, так как php для этого не особо пригоден

Victor
17.08.2017
20:37:17
Да, у нас тоже, учетная система дает ченжлог, поэтому обновляется только то что нужно обновлять, просто манагеров много, днем по несколько заказов в секунду уходит.

Pavel
17.08.2017
20:37:48
там все окружение расчитано на то, что при каждом запросе оно восоздается заного с чистого листа, если этим принебречь, можно кучу багов поймать в стандартной пхп библиотеке

по этому в пхп нет многопоточности))

Victor
17.08.2017
20:39:23
там все окружение расчитано на то, что при каждом запросе оно восоздается заного с чистого листа, если этим принебречь, можно кучу багов поймать в стандартной пхп библиотеке
таки не через apache же демонов запускать)) для обычного обмена заказами не так много параметров нужно для старта, все можно сложить в b_option какой нить и считать в начале.

Google
Pavel
17.08.2017
20:40:36
таки не через apache же демонов запускать)) для обычного обмена заказами не так много параметров нужно для старта, все можно сложить в b_option какой нить и считать в начале.
консольные скрипты конечно же мы пишем на php, мы не пишем демонов, те что висят на порту всегда и ожидают когда их дернут. И да, мы не юзаем апач, даже не знаю кейсов, когда он нужен сайту

а нет, знаю кейс - шаред хостинг, там особо по другому никак

да и битрикс то у нас витрина по факту, если подумать. А так ИМ это часть большой микросервисной системы. У нас даже история заказов юзверя тянется не с базы битрикса, а напрямую с ерп/срм

Victor
17.08.2017
20:45:46
На данный момент я вижу только одно преимущество Java или NodeJs для этих целей - Многопоточность. А минус в виде написания шин-коннекторов-очередей и прочего больше на мой взгляд. В Вашем проекте используется многопототчность? скорее всего это преимущество нивелируется узкой пропускной способностью исходной базы - из которой Вы тянете данные.

Pavel
17.08.2017
20:46:34
NodeJS однапоточна, она асинхронна, но если она обратится к залоченному ресурсу, то зависнет))

Victor
17.08.2017
20:46:51
Плюс врядли вы поспорите с тем что поддержка таких проектов усложняется.

Pavel
17.08.2017
20:47:04
Нет, в ИМ у нас нет многопоточности)) это вообще тема очень сложная и приносит большще багов чем пользы

в плане многопоточности мне больше нравится эрланг со своей виртуальной машиной, но это не про битрикс

Victor
17.08.2017
20:47:57
Тогда чем плох демон на php, слушающий измнения от учетной системы?)

Кроме тех случаев когда из-за кривого кода сторонних разрабов он падает )

Pavel
17.08.2017
20:49:03
Плюс врядли вы поспорите с тем что поддержка таких проектов усложняется.
вы не поверите, со временем поддержка проектов усложняется всегда от обилия говнокода)) даже топы битриксовые пишут код как курица пяткой левой ноги ))

Pavel
17.08.2017
20:50:47
Кроме тех случаев когда из-за кривого кода сторонних разрабов он падает )
память течет не от кода, а от реализации сборщика мусора, пхп расчитывает что он всегда запускается заного, представляете какого качества там сборка мусора?

Одно дело говоногод на одном языке, другое из зоопарка языков.
Ну у нас в компании больше 3500 человек, представляете сколько там ПО и сколько зоопарка в департаменте IT?? на одном php далеко не уедешь))

Pavel
17.08.2017
20:53:41
Честно скажу что не представляю матчасть, но опыту никаких проблем с этим нет, а если и есть то выпаливаются на ранних этапах.
ну обычно действительно нет, и на пхп я за свою долгую практику проблем с этим особо не встречал, по крайней мере не припомню

Mike
17.08.2017
23:04:07
NodeJS однапоточна, она асинхронна, но если она обратится к залоченному ресурсу, то зависнет))
Именно однопоточна, поэтому запускается несколько нод одновременно. Как-то на одном из митапов, на котором я рассказывал какое же нода говно евангелисты возразили мне мол дай ноде корректно упасть, отруби её клиентов и перезапусти. В правильном падении философия ноды, говорили они. Я сначала даже не нашёлся что ответить.

JS не место на сервер сайд.

Pavel
17.08.2017
23:56:35
JS не место на сервер сайд.
Если что у нас на java а не на js

Google
Алексей
18.08.2017
05:22:43
NodeJS однапоточна, она асинхронна, но если она обратится к залоченному ресурсу, то зависнет))
Ну что вы её богу. Обрабатывайте эти ситуации. Любой код на любом языке завивиснет. Пример в студию кейса по зависанию Node JS.

Aleserche
18.08.2017
06:31:20
ребята, TxtToHTML может вызываться неявно? У меня есть вывод <div class="detail_text"><?=$arResult["DETAIL_TEXT"]?></div>. В тексте есть https://contoso.com, он оборачивает его в тег a. Кто и на каком этапе это делает?

Aleserche
18.08.2017
06:40:14
Там чистый текст

Petr
18.08.2017
06:41:07
Admin
ERROR: S client not available

Petr
18.08.2017
06:41:20
что показывает исходный код страницы

уже обернуто?

Aleserche
18.08.2017
06:41:29
Уже преобразованный

Да. Я думал, может js конвертит, но нет

Petr
18.08.2017
06:42:32
а detail когда echo делаешь там просто текст?

Бобур
18.08.2017
07:08:20
Добрый день, ребята можно передать компоненту main.file.input $_POST? как в качестве параметра?

Aleserche
18.08.2017
07:09:19
а detail когда echo делаешь там просто текст?
уже преобразованный прилетает. Посмотрю, может в init запихали чего. Я так надеялся, что с битриксом все. Но нет. Он опять догнал меня

Aleserche
18.08.2017
07:10:47
точно. Сейчас посмотрю, что в бд лежит

Petr
18.08.2017
07:10:51
а так костылей можно понапихать http://php.net/manual/ru/domxpath.query.php

еще есть jquery like библиотека

https://code.google.com/archive/p/phpquery/

Aleserche
18.08.2017
07:15:15
да дом не проблема перелопатить, просто не люблю такие костыли

Google
Petr
18.08.2017
07:15:27
=)

ну ищи тогда код записи

Mike
18.08.2017
07:35:44
Товарищи, подскажите. У меня в паре скриптов задаются абсолютные пути к изображениям относительно корня. Насколько бредовой выглядит идея переименовать some.min.js -> some.min.js.php для возможности подстановки в нем SITE_TEMPLATE_PATH?

Anton
18.08.2017
07:39:08
Не сильно круто. Как вариант просто в header.php объявите переменную js и в нее поместите путь до шаблона и уже в скриптах эту переменную подставите

Mike
18.08.2017
07:44:54
Как вариант. Но тут тоже может быть разное развитие событий. Писать в глобальную область видимости тоже так себе идея.

Но спасибо, буду думать дальше

Anton
18.08.2017
07:46:02
Да норм. Посоны из готовых решений пастаянна пользуют. Только естессно они заполняют целый json настроечную переменную типа var globalProjectConfig

Mike
18.08.2017
07:46:25
О, вот это интереснее, спасибо

Anton
18.08.2017
07:47:55
А сами битриксоиды просто на уровне компонентов создают js объекты. Которые на вход получают всю нужную инфу от php. И уже в template.php в объект отдают типа JSBxSmartFilter.init(<?=$params;?>); принцип такой синтаксис другой

а сам объект js описывается в script.js

Aleserche
18.08.2017
07:50:05
вот чего я не упомянул. Ссылка оборачивается классом txttohtmllink

Михаил
18.08.2017
07:55:57
Добрый день! Подскажите, пожалуйста, почему ResizeImageGet может выдавать такой результат (путь к исходному файлу, а не к уменьшенной копии в папке resize_cache)? http://i.imgur.com/KuyrBFq.png

Михаил
18.08.2017
07:59:13
http://i.imgur.com/LXcGQxJ.png

Anton
18.08.2017
08:01:04
например исходное изображение меньше теъ парамтеров до каких ресайзите

Mv
18.08.2017
08:02:20
а что за "resizeType" у вас?

http://i.imgur.com/LXcGQxJ.png
я вот так ресайз делаю $arFileTmp = CFile::ResizeImageGet( $arResult['PREVIEW_PICTURE'], array("width" => 644, 'height' => 1400), BX_RESIZE_IMAGE_EXACT, false );

Страница 899 из 1492