Re[31]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 24.10.24 19:12
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Как я не раз отмечал, код, выдаваемый чатгпт, не работает.


Вы обратили внимание на то что он исправил заголовок — убрал Barrer? Или пробуете первую версию. Вот этот код:

  Скрытый текст
static async Task UploadAsync(string url, string filePath)
{
    using (var httpClient = new HttpClient())
    {
        try
        {
            // Установка заголовка авторизации без схемы 'Bearer'
            httpClient.DefaultRequestHeaders.Add("Authorization", "testkey");

            using (var content = new MultipartFormDataContent("8dcf3906305b7f8")) // Устанавливаем границу вручную
            {
                var fileContent = new ByteArrayContent(File.ReadAllBytes(filePath));
                fileContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");
                content.Add(fileContent, "file", Path.GetFileName(filePath));

                // Отключаем заголовок 'Expect: 100-continue'
                var request = new HttpRequestMessage(HttpMethod.Post, url)
                {
                    Content = content
                };
                request.Headers.ExpectContinue = false;

                var response = await httpClient.SendAsync(request);
                response.EnsureSuccessStatusCode();
            }
        }
        catch (HttpRequestException httpEx)
        {
            // Обработка исключения
        }
    }
}


P>Если что, свои первые GET и POST я сделал где-то в 2003-2004 году. Всё руками. И про заголовки кое-что слышал. Часто там имеет значение каждый пробел и каждая кавычка.


Открываете Fiddler — тупо копируете заголовки запроса который работает и того, который не работает. Если не все заголовки скопировались — еще раз даете ему на доработку.
Re[32]: LLM: Конец тестовым заданиям на дом
От: Privalov  
Дата: 25.10.24 06:03
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вы обратили внимание на то что он исправил заголовок — убрал Barrer? Или пробуете первую версию. Вот этот код:


А вы обратили внимание, что выше по ветке я уже писал: у меня всё работает. А вы с упорством, достойным лучшего применения, демонстрируете неработающий код, причём один и тот же. Меня тут больше интересует ваше умение общаться с чатгпт.

S>Открываете Fiddler — тупо копируете заголовки запроса который работает и того, который не работает. Если не все заголовки скопировались — еще раз даете ему на доработку.


Вы действительно думете, что я читать не умею? Или не знаю, что такое Fiddler? Зачем одно и то же повторяете? меня не это интересует.
Re[33]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 25.10.24 06:12
Оценка:
Здравствуйте, Privalov, Вы писали:

P>А вы обратили внимание, что выше по ветке я уже писал: у меня всё работает.


Что именно работает?


P>А вы с упорством, достойным лучшего применения, демонстрируете неработающий код, причём один и тот же.


Код можете проверить только вы, т.к. у нас нет доступа к вашему серверу. Почему ваш сервер не принимает код — можете знать только вы. Давайте ошибку — рассмотрим. Вы ключ то подставили или так и оставли testkey?

S>>Открываете Fiddler — тупо копируете заголовки запроса который работает и того, который не работает. Если не все заголовки скопировались — еще раз даете ему на доработку.

P>Вы действительно думете, что я читать не умею? Или не знаю, что такое Fiddler? Зачем одно и то же повторяете? меня не это интересует.

Так в чем вопрос?
Re[6]: LLM: Конец тестовым заданиям на дом
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.10.24 07:09
Оценка:
Здравствуйте, novitk, Вы писали:

N>Если очень все жестко с безопасностью, то почему не организовать полностью изолированный виртуальный десктоп с "вашими" инструментами и т.д.?


Движемся в этом направлении.

N>>Хочется узнать, как кандидат может писать код с чистого листа, а не только разбираться в чужом — это можно спросить и на интервью.

N>Не понимаю ценности этого "с чистого листа". Оно как-то по другому потом пахнет?

Да, конечно.

N>У меня обратное впечатление и желания. Люди совершенно не умеет готовить с AI. Если copilot не вывалил готовый код сам, они не знают, что собственно делать.

N>IMHO умение использовать АИ >>> code monkey с hackerrank.

Считай, что у меня такой старчееский бзик, что программист должен уметь писать код и без ИИ.
Re[34]: LLM: Конец тестовым заданиям на дом
От: Privalov  
Дата: 25.10.24 08:22
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Что именно работает?


Что, чатгопота и этого не сумел объяснить?
PDF отправляется, код возврата 201. Но это не тот код, который вы с упорством, достойным лучшего применения, здесь показываете.

S>Так в чем вопрос?


Что, чатгопота этого не знает?
Нет у меня к вам никаких вопросов по разработке. Но тут КСВ, как пройти мимо? Оказывается, ктму-то, чтобы попасть в зависимость от робота, даже зов не нужен. Как это показывали в хорошем детском фильме "Отроки во Вселенной".
Re[35]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 25.10.24 08:24
Оценка: :)
Здравствуйте, Privalov, Вы писали:

P>Что, чатгопота и этого не сумел объяснить?

P>PDF отправляется, код возврата 201. Но это не тот код, который вы с упорством, достойным лучшего применения, здесь показываете.

Не предметный разговор — вы занимаетесь самоуспокоением, не хотите видеть реальное положение дел.
Re[7]: LLM: Конец тестовым заданиям на дом
От: Skorodum Россия  
Дата: 25.10.24 09:30
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Считай, что у меня такой старчееский бзик, что программист должен уметь писать код и без ИИ.

А что насчет вспомогательных задач и незнакомых языков? Bash, Python, JS?

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

Я спросил ЧатГПТ сделать такую
  функцию
std::vector<std::string_view> splitPath(std::string_view path) {
    std::vector<std::string_view> result;
    std::size_t start = 0;
    while (start < path.size()) {
        std::size_t end = path.find('/', start);
        if (end == std::string_view::npos) {
            end = path.size();
        }
        // Skip empty segments (e.g., in "//")
        if (end != start) {
            result.emplace_back(path.substr(start, end - start));
        }
        start = end + 1;
    }
    return result;
}


ИМХО, интерфейс от GPT (возвращение std::string_view) даже лучше. Если возвращать std::string, то результат GPT не хуже, чем реализация за 20 минут от профессионального разработчика на С++.

Количество задач, о которых человек может реально думать сильно ограниченно, и если что-то можно автоматизировать, стоит это автоматизировать.
gpt
Re[8]: LLM: Конец тестовым заданиям на дом
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.10.24 10:29
Оценка:
Здравствуйте, Skorodum, Вы писали:

N>>Считай, что у меня такой старчееский бзик, что программист должен уметь писать код и без ИИ.

S>А что насчет вспомогательных задач и незнакомых языков? Bash, Python, JS?

Я только за, сам тоже пользуюсь локальной версией ИИ помощника. Я против использования его во время собеседования, потому что не ясно, что умеет сам кандидат.
Re[9]: LLM: Конец тестовым заданиям на дом
От: Skorodum Россия  
Дата: 25.10.24 11:21
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Я против использования его во время собеседования, потому что не ясно, что умеет сам кандидат.

А как его использовать во время собеседования? Только если собеседование не в живую, да и то заметно будет
Re[10]: LLM: Конец тестовым заданиям на дом
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.10.24 11:25
Оценка:
Здравствуйте, Skorodum, Вы писали:

N>>Я против использования его во время собеседования, потому что не ясно, что умеет сам кандидат.

S>А как его использовать во время собеседования? Только если собеседование не в живую, да и то заметно будет

Вот тут товарищи говорят, что они не против — главное, чтобы задание было сделано. И как-то на самом собеседовании, и при выполнении домашнего ТЗ.
Re[36]: LLM: Конец тестовым заданиям на дом
От: Privalov  
Дата: 25.10.24 12:11
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Не предметный разговор — вы занимаетесь самоуспокоением, не хотите видеть реальное положение дел.


Ну да. Не работает у чатгопоты, а самоуспокоением занимаюсь я.
А с чего нервничать-то мне? У меня, в отличие от, всё работает.
Re[8]: LLM: Конец тестовым заданиям на дом
От: so5team https://stiffstream.com
Дата: 25.10.24 12:33
Оценка: +2
Здравствуйте, Skorodum, Вы писали:

S>ИМХО, интерфейс от GPT (возвращение std::string_view) даже лучше.


Это сильно зависит от того, что мы имеем на входе и как долго собираемся использовать результат дробления на части.
Может быть так, что у нас есть кусок данных в памяти, который был прочитан из сокета, в этих данных есть значение path, его нужно разобрать. Чтобы не создавать лишних копий path в split передается string_view. А вот результат split-а может пережить исходный кусок данных, в этом случае вектор из string_view -- это прямой путь к повисшим ссылкам и use-after-free.
Re[9]: LLM: Конец тестовым заданиям на дом
От: Skorodum Россия  
Дата: 25.10.24 12:43
Оценка:
Здравствуйте, so5team, Вы писали:

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

Но согласись, что в этом случае ИИ дал вполне хороший ответ, особенно если правильно понимать время жизни

Для истории: запрос был "split string in C++17" и "Use this approach to implement "split_path" with "/" as delimiter."
Re[9]: LLM: Конец тестовым заданиям на дом
От: novitk США  
Дата: 25.10.24 13:51
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Я только за, сам тоже пользуюсь локальной версией ИИ помощника. Я против использования его во время собеседования, потому что не ясно, что умеет сам кандидат.


ИМХО человек, который может сравнить реализации splitPath по количеству копирований, memleaks и т.д., вполне может показать свое "умение".
И кстати да, для меня тоже важен уровень "языка в пальцаx". Вырожденный пример, это чел говорит, что работает с Питоном каждый день, a потом начинает писать "a.len()". Однако это очень легко выяснить на собеседовании.
Отредактировано 25.10.2024 14:26 novitk . Предыдущая версия .
Re[10]: Оффтоп
От: Miroff Россия  
Дата: 26.10.24 08:12
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Неправ в чём? В том, что беря человека на алгоритмы надо спрашивать алгоритмы?


В том, что гребешь все алгоритмы под одну гребенку. Если нужен человек дизайнить алгоритмы, то нужно такого и искать, причем именно в этой области. Если человек занимался топологией в ГИСах, он может быть крут, но в матмоделировании от него будет столько же пользы, сколько от толкового джуна.

N>Да, проекты на 6-12 месяцев обычно. Так оно и работает. Но есть и поменьше, например, когда текущий наивный очевидный был хорош, но увеличилась нагрузка, узкое место у всех на виду, но задача пока не сильно важная. И специалисты примерно знают, что надо сделать, но руки не доходят. Вот на такие задачи лучше всего сажать людей, чтобы вкатились.


На такие задачи лучше всего сажать студентов. И я, кстати, вполне серьезно, сажать "взрослого" алгоритмиста на такие задачи это из пушки по воробьям.

N>Это классическая и хорошая научная работа, все стадии, теория, практика, всё норм.


Вот я о чем и говорю: перенести алгоритм из матлаба на GPU это серьезная работа.

N>А теперь можно просто взять базовый алгоритм этого исследователя, взять туеву хучу затуманенных снимков с со своих камер, сгенерировать ими датасет и обучиться. Стало намного легче, оптимизация доступная каждому практически даже без знания предметной области.


Так это черрипикинг: взять чужой подход, чужую модель и чужой алгоритм и допилить для своих данных. Даже этого можно даже программировать не уметь, достаточно уметь компилировать и запускать.
Re[11]: Оффтоп
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 26.10.24 09:12
Оценка:
Здравствуйте, Miroff, Вы писали:

M>В том, что гребешь все алгоритмы под одну гребенку. Если нужен человек дизайнить алгоритмы, то нужно такого и искать, причем именно в этой области. Если человек занимался топологией в ГИСах, он может быть крут, но в матмоделировании от него будет столько же пользы, сколько от толкового джуна.


Мы так и делаем.

M>На такие задачи лучше всего сажать студентов. И я, кстати, вполне серьезно, сажать "взрослого" алгоритмиста на такие задачи это из пушки по воробьям.


На какие задачи-то? Новые алгоритмы в нашей области выносят на свет обычно либо PhD из того же Eth, либо небольшие лаборатории. Одному студенту можно справиться с реализацией алгоритма по статье, но не со всеми этапами от R, D до продакшена.

M>Вот я о чем и говорю: перенести алгоритм из матлаба на GPU это серьезная работа.


Так никто и не спорит.

M>Так это черрипикинг: взять чужой подход, чужую модель и чужой алгоритм и допилить для своих данных. Даже этого можно даже программировать не уметь, достаточно уметь компилировать и запускать.


Вот студенты-практиканты, студенты-стадеры этим и занимаются. Отличная штука, чтобы въезать в тему, узнать и базу, и современный подход.
Re[8]: LLM: Конец тестовым заданиям на дом
От: serg_joker Украина  
Дата: 29.10.24 15:49
Оценка:
Здравствуйте, Слава, Вы писали:

Учитывая это:
С>C++ на таком уровне я не знаю ( = delete — это что такое? move-конструктор?).

Вот это — правда:
С>Но нюанс здесь, по-моему, заключается в том, что на С++ писать нельзя.

Но нюанс здесь, по моему, заключается в том, что на С++ писать нельзя Вам.
Отредактировано 29.10.2024 15:54 serg_joker . Предыдущая версия .
Re[9]: LLM: Конец тестовым заданиям на дом
От: Слава  
Дата: 29.10.24 18:45
Оценка:
Здравствуйте, serg_joker, Вы писали:

_>Учитывая это:

С>>C++ на таком уровне я не знаю ( = delete — это что такое? move-конструктор?).

_>Вот это — правда:

С>>Но нюанс здесь, по-моему, заключается в том, что на С++ писать нельзя.

_>Но нюанс здесь, по моему, заключается в том, что на С++ писать нельзя Вам.


Я его не трогал этак 21 год. Разумеется, я его не знаю. Только я много каких языков не знаю, а понять написанное как-то смогу. А вот с С++ — не могу. Потому что ребус, глядь.
Re[9]: LLM: Конец тестовым заданиям на дом
От: Слава  
Дата: 29.10.24 18:47
Оценка:
Здравствуйте, so5team, Вы писали:

S>Может быть так, что у нас есть кусок данных в памяти, который был прочитан из сокета, в этих данных есть значение path, его нужно разобрать. Чтобы не создавать лишних копий path в split передается string_view. А вот результат split-а может пережить исходный кусок данных, в этом случае вектор из string_view -- это прямой путь к повисшим ссылкам и use-after-free.


И для борьбы с этим придумали Rust с его borrow. Но упорные ёжики---
Re[10]: LLM: Конец тестовым заданиям на дом
От: so5team https://stiffstream.com
Дата: 30.10.24 07:44
Оценка:
Здравствуйте, Слава, Вы писали:

S>>Может быть так, что у нас есть кусок данных в памяти, который был прочитан из сокета, в этих данных есть значение path, его нужно разобрать. Чтобы не создавать лишних копий path в split передается string_view. А вот результат split-а может пережить исходный кусок данных, в этом случае вектор из string_view -- это прямой путь к повисшим ссылкам и use-after-free.


С>И для борьбы с этим придумали Rust с его borrow. Но упорные ёжики---


А у вас реально есть рецепт как в одночасье заменить мегатонны Си-шного и C++ного кода на Rust?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.