Replies: 8 comments 43 replies
|
Например первый вопрос, с которого планировал начать — надо бы мне освоить Go хотя бы в минимальной степени, чтобы хотя бы уметь делать минимальные форки в ту же программу геоматрицы, например меня который месяц теребит желание чтобы в выводных файлах kml у линейной геометрии было описание, в котором бы указывались родительские параметры, их породившие. Описание удобно тем, что во-первых не нужно открывать папку и искать конкретный элемент чтобы вычислить его название (для резонансов актуально), а во-вторых саму геометрию можно схватить мышкой, что не всегда возможно для азимутов, особенно когда их много — с какого-то количества геометрии на гуглобусе отрисовываются какие-то слои, через которые мышка не может пробиться, если у объекта нет описания, глаза видят, а руки не дотягиваются.
|
|
Вполне нормальный список, просмотрел , увидел много ссылок, с которыми знакомился сам в разное время и изучал материалы. Понял, что ни прочитал ни одной книги по GO. В первой ссылке есть цитата: Сначала надо знакомиться с основными операторами языка, основные операции во всех языках это — переменная, присвоение значения, математические операции, условия и циклы. Для простых задач этого достаточно. Даже так почти для всех задач этого может быть достаточно) Каждый язык позволяет решать определенные задачи боле эффективно, предоставляет абстракции и функции, которые под капотом делают простые операции. Пропускает сигал, нули, единицы по регистрам процессора. Далее надо разобраться, как в языке создаются функции, и как организуются структуры и типы данных. В go например, есть только структуры данных, которые могут обладать методами. Метод — это какое то действие над данными в структуре/просто данными. Функция — это какое-то действие на данными. Каждый отдельный блок кода полагается оформлять в пакет(package) который должен быть в своей папке, главное, что бы пакеты не создавали циклической зависимости, не должны циклично импортироваться друг в друга. Импорт — это когда код из одного файла можно использовать в коде другого файла. (функции, переменные методы) На разных уровня абстракций. Если будет циклическая зависимость об этом напишет компилятор при сборке. Так что мимо не пройти. Пакет А импортировал, Пакет Б, Пакет Б импортирует пакет А. Критическая ошибка. Вообще вопрос достаточно сложный и у меня пока нет ответа. Кроме одного, который следует из методологии работы с информацией — нужно брать и писать, и можно представить это как написание комментария в тему, чем больше пишешь, тем больше опыта и понимания. И потом начинаешь читать и понимать код на любом языке, но все же писать пока ещё на этом языке не получится, пока не начнёшь писать, наделаешь ошибок, исправишь, повторишь, решишь простые задачи, которые до тебя решали 1000 раз, или ты сам уже решал эти задачи на другом языке до этого, начиная с банального hello word! :). Основная проблема в таких задачах состоит в том, что надо не только знать язык, а надо ещё и понимать, разобраться, что же там накодил автор. И как показывает практика, разные авторы по-разному пишут код, несмотря на то, что в сообществах существуют различные патенры-шаблоны написания кода и практики, фреймворки, для того чтобы упрощать поддержку и понимание, но несмотря на это сотни и тысячи строк чужого кода почти никогда не загрузить моментально в голову, нужно время чтобы изучить код, и вот уже от уровня понимания программиста будет зависеть, сколько ему потребуется ресурсов мозга и времени, чтобы понять выраженные в коде алгоритмы. Более того, через некоторое время, даже сам автор кода возвращаясь к написанному ранее, может получить внезапное озарение, что он вот так сходу, без подключения повышенного внимания ничего не понимает из того, что написано им ранее в этом коде. http://golang-book.ru/ — хорошо, можно попробовать, понятно. Для решения поставленного вопроса, потребуется указать на те файлы, где происходит формирования kml файла. Это я подскажу и укажу. Нужно почитать про пакет kml, который формирует структуру файла, про его методы (api) и можно попытаться сделать изменения. И ещё, автору кода почти всегда проще и быстрее внести правки в свой код. Но если задача в том, чтобы научиться, то будем грызть. Пока так. Обязательно ещё посмотрю, какие материалы у меня есть, чем я пользовался при обучении. Но факт, большинство задач которые я решал на языке go, это задачи по svodd, terratensor и библиотекам, началось это с парсера fct. В профессии я go не использую. Наращиваю понимание с постепенным усложнением задач. Кстати у меня была мысль, идея. Что можно сделать ещё и версию геоматрицы, расчетов на Typescript (надстройка javascript), чтобы использовать прямо в браузере. Тайпскрипт очередной язык, который грызу потихоньку, показывал в наработках по вики и локальной библиотеке. Это не отменяет текущих наработок, скорее позволяет учиться и делать сложные задачи на новом языке, задачи которые смог решить ранее. |
|
Ассистент для разработчика от сбергрефа, устанавливается в vs code и другие редакторы/IDE. Так же интересный проект, бесплатный, но с регистрацией, китайский чат гп |
|
Первый результат изучения go (на самом деле второй). eventmap — конвертер топонимов в KMLhttps://github.com/terratensor/eventmap Утилита для захвата из текста новости топонима и генерации kml файла, который будет содержать название топонима, координаты места события и фрейм с оригинальной статьёй. Значительно ускоряет разметку новостей в ручном режиме, не нужно искать координаты топонима вручную на картах и вбивать их в гуглобус, затем оформлять. Теперь это можно сделать в пару кликов. Используется API яндекс карт, требуется получить API key, очень простая операция. Получаем ключ — он позволяет обработать 1000 запросов в сутки, чего должно хватить с лихвой для ручного добавления. ИспользованиеСкачиваем eventmap.exe Копируем ключ и помещаем в файл apikey.txt рядом с исполняемым файлом eventmap.exe в той же папке, где расположена программа. На странице интересующей новости в хромоподобных браузерах выделяем топоним и в контекстном меню выбираем «копировать ссылку на выделенный текст» (copy link to highlight). В командной строке из папки, куда скачана программа, запускаем её: В результате без лишних вопросов будет создан kml документ в папке по умолчанию — Протестировано на новостях ТАСС, РИА-новости и RT, первые два сайта нормально попадают во фрейм, RT слегка ругается сертификатом, но тоже работает. Другие сайты пока не проверял, но в целом если сам домен не запретил встраивание во фреймы, текст будет виден для любого сайта. Даже если фрейм не работает, kml всё равно будет успешно создан. В консоли отражается процесс геокодинга, можно сразу угадать, распознал ли яндекс топоним, или мелет чушь (редко, но бывает) — это позволяет попробовать схватить другое упоминание топонима, например в другом падеже, или в крайнем случае найти ту же новость на другом сайте с другим вариантом оформления текста. Например, может попасться форма типа «село Ивановка Оренбургской области» — выделив в хайлайт все четыре слова, скорее всего будет успешный результат работы геокодера яндекса. Пока как-то так. В дальнейшем, если потребуется, к этой логике можно будет прикрутить геоматрицу — на выделенный в хайлайт топоним сразу набросить резонансы, а потом и посчитать для них все связи из базы данных. |
|
Работает. Взял первую новость в тасс, на которую кликнул «не глядя» tass.ru/proisshestviya/23146619 Вторая попытка и попадание — станице Благовещенской. Получил kml файл, там ссылка на новость. Работает. Сразу можно открыть новость во фрейме. |
|
Долго среди прочих проектов мурыжился с GUI для go скриптов и приложений. В целом, многообещающие фреймворки только отняли время у китайских дипсиков, которые в процессе разработки стали материться на меня нехорошими словами. Ничего то у них не работает. Однако оказалось, что если использовать прямо виндовские dll и брать ресурсы для отображения GUI и его работы непосредственно напрямую — о чудо, оно работает. Сейчас так: rW4T6hv04C.mp4Логика преследуется такая — чтобы не искать постоянно командную строку, адреса папок и прочее, в углу рабочего стола висит запущенное приложение в оболочке без виндовс-интерфейса, тратящее пару мегабайт оперативки, при нажатии на которое выполняется go скрипт. Как версию выкладывать не буду, но наверное позже укпомлектую побочный бранч, чтобы если нужно запустить какую-то корягу с интерфейсом, под рукой был рабочий код, не требующий разворачивания фреймворков и прослоек между go и виндой. |
|
Надо бы к нашим делам попробовать прикрутить инструменты теории катастроф и теории обработки сигналов. Тексты это всё отлично, но без суровой математики суровая реальность никак не вычисляется (с) Пока в поисках. |
|
Из текущих анекдотов. Докер отказался запускаться и отдал ошибку, после рестарта сказал «нужно обновить wsl до более новой версии». Перезапустил wsl, она перестала откликаться на команды Ну, обновляю wsl, хорошо. Обновление скачивается, установщик крутит проценты, далее нет ответа. Обновлённый вариант установлен, но на команды в шелле не отвечает. Хелп микрософта утверждает, что нужно просто удалить старый wsl и всё должно заработать. Удалил, обновление всё равно не отвечает на команды. Затем я захожу на диск, где хранится образ библиотеки — а образа нет. (с) в журнале ералаш. |


Uh oh!
There was an error while loading. Please reload this page.
Здесь собирался открыть дискуссию в духе «что изучить», в которой можно было бы набрасывать вопросы и ответы.
All reactions