Pull to refresh

Comments 26

Переименуйте статью в «как сделать так чтобы меня не уволили или happy debugging, bitches»
Поставил бы минус, но кармы не хватает.
Доброе утро!
Возможно вам приходилось решать такие задачи другим путем.
Пишите вас оценят.
С уважением
А SQL не разрешает делать комментарии в коде?
А 1C не позволяет вызывать процедуры из внешних библиотек?
Почему нельзя было, наконец, написать, скрипт на любом языке программирования и просто положить результаты в базу?
Мне всегда казалось что база данных — слишком ценный ресурс сети чтобы тратить его время на подобные задачи.
Вы, конечно, извините за прямоту, но с моей стороны статья выглядит как «потому что могу». Решение ужасное со всех точек зрения.
В серьезной компании такая статья в резюме, для меня например, служила бы прямым поводом даже не приглашать на собеседование.
Добрый день еще раз!
Комментарий есть. Внешние библиотеки тоже возможны.
Можно и так, но это займет на порядок больше времени.
Решение задачи было не для вас. К вам я пока не обращался.
П.С. В резюме этой статьи нет. Публикации я делаю для потомков.
С уважением
Если вы выкладываете статьи в общий доступ на ресурс с другими участниками, то будьте готовы к коментариям. И не только к восхваляющим. Если для потомков и без комментариев — то можно же в своем блоге.
И еще раз — подходы «потому что работает», «не умею по другому», «потому что написал быстро», «потому что могу», «не знаю другого языка» не очень ценятся.
Решение работает, для себя можно писать как угодно.
Но для «потомков» я бы хотел высказать и свое предупреждение: не делайте так. На SQL можно много чего сделать, но это не значит что нужно. Код должен быть легко читаем, сопровождаем и следовать хоть каким-то общим принципам построения архитектуры.

Вы показали как с помощью SQL можно скачать данные и разобрать их. Ок, вы молодец что знаете как. Именно как «я молодец» статья может выглядеть.
Но как руководство к созданию подобных подходов — я считаю что она вредна.

Заметьте, я не критикую подход к ручному разбору HTML(XML?) вместо использования парсеров. Для небольшого объема так иногда проще, соглашусь.
Использование COM-объекта WinHttpRequest — не переносимо, могут быть вопросы по безопасности, но ок, имеет право на жизнь в каких-то условиях.

Был, кажется, доклад Федора Сигаева (могу ошибаться автором) на одной из конференций по PostgreSQL, где он рассказывал как рекурсивно нарисовать снежинку или елочку в PostgreSQL или написать парсер JSON на SQL. Каждый пример завершался фразой «да, можно, но зачем?»
Прав не хватает на плюсик, я с вами согласен
Добрый день ещё раз!
Спасибо за ваш комментарий.
Рад, что хоть кто то прочитал статью.
Публикацию делал как подсказку к
решению любых задач за пару часов.
С уважением
Будет много запросов к геокодеру яндекса (запросы в курсоре) и вас забанят. Если запросов немного, то конечно прокатит. Как вариант, можно использовать геокодер от DaData, у них бесплатный тариф вполне может подойти чтобы лимит по запросам не превысить. На боевом окружении я бы предпочел легально использовать апи, чем однажды обнаружить что все перестало работать. Чисто мысли вслух)
Доброе утро еще раз!
Данный геокодер легальный (API).
С уважением
Доброе утро. Конечно этот апи легальный при соблюдении всех условий его использования, но условия использования геокодера от яндекс подразумевают неиспользование его без отображения карты и результаты должны быть отображены на общедоступной карте.
Использовать геокодер можно бесплатно, если в сутки к нему, а также к маршрутизатору и панорамам вы делаете суммарно не больше 25 тысяч запросов. Подробности о том, как считаются запросы, можно узнать в документации. Даже если обращения происходят по протоколу HTTPS, результаты должны быть отображены на общедоступной карте. Результаты геокодирования нельзя сохранять и использовать без карты. Также нужно соблюдать остальные условия бесплатного использования API.

https://tech.yandex.ru/maps/geocoder/
Как я понимаю, все пункты условия использования геокодера вы не соблюдаете (обязательное отображение карты на общедоступной странице, например), т.к. действо происходит в 1с, у меня бы их тоже не получилось соблюсти, поэтому я и считаю что использование этого апи нелегально для этой задачи (не соблюдаются все условия).
Доброе утро еще раз!
Вы не знакомы ко сожалению с настройками нашей базы увы.
В справочнике данные координаты (полученные через геокодинг)
выводятся на карте яндекса (как по вашему их увидит пользователь).
По количеству записей в сутки мы проходим (максимум 300).
Классная ссылка — я там тоже в свое время активно бывал ;)
С уважением
Эта карта общедоступна? Я ее могу увидеть или любой другой? Может быть у вас проект некоммерческий? Я действительно не знаю тонкостей вашей реализации, но условия использования этого апи все же не полностью соблюдаются:) Если я ошибаюсь, то приношу вам свои извинения. Я пока останусь при своем мнении.
Вообще статья мне нравится, решение рабочее.
Где тэг «ненормальное программирование»?
Доброе утро еще раз!
Предложите свое решение «программированием».
С уважением
Отчасти я согласен по поводу «ненормальности» этого решения, конкретно это касается вызова sp_OACreate, эта фича во включенном состоянии создает потенциальную дыру в безопасности, а она вполне не иллюзорна, учитывая что sql server у вас имеет доступ в инет. Веб запрос к геокодеру мне кажется лучше делать из 1с, а в хранимку передавать ответ сервера, если парсинг все же хочется сделать на t-sql. А если sql server доступен извне, то ему надо уделить достаточно внимания в плане безопасности. Возможно у вас просто не было возможности сделать иначе, поэтому не берусь судить, зачастую рамки исполнения сильно сужены и приходится искать такие решения.
Доброе утро еще раз!
Мое мнение:
— Получение данных средствами 1С заняли бы больше ресурсов (на порядок).
Про решение я имею в виду — реально выполненная задача.
С уважением
Не предназначен T-SQL для написания парсеров, для этого есть другие ЯП, да хоть на том же 1С можно было написать. Вы конечно решили задачу, но решили её путём забивания гвоздя пассатижами. Конечно, если молотка нет, решение оправдано, но это не значит, что забивать гвозди пассатижами — нормально.
Добрый день еще раз!
Возможно вы автор этого языка, тогда да я с вами абсолютно согласен.
Если же это просто ваше мнение, то боюсь мне придется вам возразить.
В моем понимании решать задачу на встроенном языке 1с и есть забивание
С уважением

Держите -1 в карму по совокупности прилежного хамства в комментариях.

Во-первых, согласен с комментаторами о том, что T-SQL не предназначен для таких задач и что статья вредная. Во-вторых, почему Geektimes, а не Habrahabr? Там бы пост с большой вероятностью ушел в минус.

Добрый вечер!
Не соглашусь с вами коллега.
На хабре статья есть — у нее рейтинг +4.
С уважением

Ну и где она? Нашел только эту, скрытую в черновики автором или самим НЛО.


На заметку: писать "Добрый вечер" и "С уважением" в каждом сообщении — информационный шум.

Доброе утро!
Да, она скрыта — но рейтинг +4!
И снова не соглашусь с вами коллега.
-«Только лаской можно приручить любое живое существо» (М. Булгаков)
С уважением

Зачем ее скрывать если у нее положительный рейтинг? Позвольте вам не поверить.

Добрый день!
Это ваше дело.
С уважением
Sign up to leave a comment.

Articles