Как стать автором
Обновить
73
Карма
0.3
Рейтинг

Пользователь

Жуткий сценарий использования ChatGPT

>и сказал (сверкая честными глазенками) «готово».
А вы видели хоть один кусок кода, «написанный» ChatGPT, который был бы не таким? Я вот пока нет. Все что тут в статьях расхваливали, что вот оно, будущее настало, все что сам пробовал — оно на, мой взгляд, все примерно такое, как у вас получилось. То есть — на практике неприменимое. Несопровождаемое. И так далее. Без исключений.

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Это много лет назад было ) Не, не вся планета, только РФ. Я не претендую, я лишь про то, что ноута в принципе хватало чтобы показывать карты и что-то понемногу искать в прямоугольнике, используя геохеши. Дальше у нас пошел второй этап работ, там начался спарк, и как инструмент был паркетизер.

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Теперь для запуска базы не нужен мощный специализированный сервер

Яб сказал, что это зависит от того, что за аналитику хочется. У меня на проекте по геоаналитике приходилось держать базу (с PostGIS), и веб, на основе по моему geoserver, которые отдавали тайлы, на нотбуке для демо. И там же жил клиент в браузере. И в общем,
вполне обычного ноута типа i7 8Gb хватало. Одному человеку :) И что-то типа геохеша конечно рулит.

На что еще хватает?

Нужны ли тимлиды?

А откуда берутся такие команды? Я вот не верю, что они самозарождаются, во всяком случае где попало. Как правило лидер в человеческом смысле в этом случае всегда есть.

Выйди и зайди правильно

>Ну, вспомните, что было 20 лет назад — и сравнивайте.
Ну вообще говоря, методы оптимизации, которые сегодня переросли в нейросети и т.п. существовали очень давно. Меня именно им учили в институте в XX веке.

>У меня есть перед глазами пример
Ну что, пример интересный, почему не обсудить. Задачи логистической оптимизации? Ну так как по мне, это как раз те задачи, которые в общем-то и может решать то, что сегодня ошибочно называют ИИ. Которые скажем по природе NP, и на решение которых раньше не хватало ресурсов. А сейчас стало хватать, и их условно «в лоб» решила нейросеть. А методику решения при этом придумал человек.

Ну так а вывод-то какой? Разве других задач мало? Ну вот пример, я как раз с GPT поигрался, и решил подсунуть ему свою реальную задачку в формулировке «сравни мне два больших Dataframe в Apache Spark»:

def compare_dataframes(df1, df2):
    # Create a new dataframe to store the comparison results
    df_compare = spark.createDataFrame(
        sc.emptyRDD(),
        StructType([
            StructField("column", StringType(), True),
            StructField("df1_value", StringType(), True),
            StructField("df2_value", StringType(), True),
            StructField("match", BooleanType(), True)
        ])
    )
    
    # Get the list of columns to compare
    columns = df1.columns
    
    # Iterate through each column
    for col in columns:
        # Get the values from each dataframe
        df1_values = df1.select(col).collect()
        df2_values = df2.select(col).collect()
        
        # Iterate through each value in the column
        for i in range(len(df1_values)):
            # Compare the values and store the result
            match = df1_values[i] == df2_values[i]
            df_compare = df_compare.union(spark.createDataFrame([(col, df1_values[i], df2_values[i], match)], df_compare.schema))
    
    # Return the comparison dataframe
    return df_compare


Это вообще не решение. Тут нет ни грамма понимания задачи. Можно для сравнения позвать любого джуна, владеющего инструментарием (Spark или Pandas сойдет), и попросить сделать тоже самое. Я уверен, что код будет более умным. А этому место только на помойке — потому что чтобы написать такое, нужно реально думать. А думанья и не видно.

>Правда, поначалу им не хватало 700гб оперативки
Ну вот я тоже до текущего проекта никогда не видел машинки с терабайтом оперативки. А сейчас вокруг меня таких сотни. Ресурсы стали дешевле, решаемые задачи — сложнее. Совершенно не вижу связи с тем, что задач для программистов станет меньше. Просто будут другие.

Выйди и зайди правильно

А каковы признаки, что через 20 лет что-то изменится? То что джуны не нужны — это да, есть такое. Но причины этого вполне очевидны, и их уже выше озвучили. Грубо говоря, их научились как-то производить, и добились перепроизводства. Но качества добиться еще не смогли. Поэтому их вроде и дофига, а в тоже время, выбрать хорошего из большого числа кандидатов все так же нелегко.

А синьоры — все еще такой же штучный продукт, как много лет назад. И никаких признаков, что их можно выращивать массово, я лично не вижу.

ИИ? Ну, восторгаются результатами ChatGPT на мой взгляд пока те, кто сам не умеет. Я попробовал дать ему задачу написать примерно то, что у меня работает в проекте. Результат… ну это нельзя даже назвать «написал» или «накодил», это в чистом виде «спер где-то в интернете что-то похожее по названию». Что же до естественного языка, так его вовсе не смущает в двух последовательных ответах выдать противоречащие самому себе факты. То есть, никакого понимания в обычном смысле этого слова за всем этим не стоит. И какие у нас поводы думать, что добавление еще ядер и увеличение «размеров» нейросети что-то поменяет?

Конспект лекций по ООП, или Только не ещё одна статья про SOLID

>применяемых при разработке объектно-ориентированных программ
Я бы все же чуть сменил формулировку. Не настаиваю, но: формулировка из википедии, не та что в самом начале, а чуть ниже, она лучше показывает, для чего и почему. Ну то есть:

При создании программных систем использование принципов SOLID способствует созданию такой системы, которую будет легко поддерживать и расширять в течение долгого времени[3].

То есть, подчеркнуть, что речь о поддержке и развитии. И значит, например, что если вам вашу систему и так легко поддерживать — то вам это все в общем-то пока и не нужно. И уже от этого отталкиваться, при обсуждении конкретных принципов.

Конспект лекций по ООП, или Только не ещё одна статья про SOLID

Не, ну вы спросили, что делать. Я думаю, что если вам нужно расширить набор тем, то упомянуть SOLID конечно можно. Но это таки явно необязательная тема, которая студенту без опыта принесет мало пользы, как показывает моя практика. до таких принципов все же надо дозреть самому хоть немного, понять, что вам нужно как-то бороться со сложностью на таком уровне, который чуть выше одного файла кода.

Ну и потом, как по мне, когда слушатель без опыта, хорошие примеры кода им как раз полезнее, чем абстрактные принципы. То есть, именно показать, что вот класс, у которого скажем нарушается SRP. Показать, к каким негативным результатам это приводит, показать как сделать лучше. Уже потом дать этому название.

Ну и еще — если уж кругозор и перспектива — то стоит вообще отойти чуток от ООП, и показать хоть немного, как подобные проблемы решаются в других парадигмах. Скажем, что есть такая штука как ФП, и там это вот так.

Понятно, что хорошие примеры это тоже сложно.

Конспект лекций по ООП, или Только не ещё одна статья про SOLID

А зачем их упоминать? Ну вот скажите, вы разве не сможете без них разрабатывать? Ведь неправда же — сможете.

Выбираем формат хранения данных в экосистеме Hadoop

Конечно. По сравнению с тем, что методика измерения не описана вовсе — это совсем ерунда. По-моему, даже софт не был описан, который данные читал (сейчас я вижу что это спарк был). А без этого любые измерения на хадупе — как цена на бананы в африке. Ну вот реально, запустили вы в 10 или в 100 раз больше процессов спарка, и запрос выполнился быстрее в два раза. Как бы время выполнения меньше — но при этом ядра*часы, и гигабайты*часы намного хуже. Это лучше, или хуже?

Ну или как выше вопрос задали: «вычитывание 5 столбцов из 6 в колоночном формате имеет все шансы оказаться менее эффективным» — а как по мне, надо начать с определения эффективности. Потому что паркет и сжатие — это про размен объема читаемых с диска данных на ядра процессора. Так как паркет хорошо сжимается, то объем считываемых данных (из HDFS, а может из из облака) возможно резко сократится, но процессор на сжатие и разжатие мы пожрем. В зависимости от того, что мы хотим, это может быть как плюсом, так и минусом.

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

Я ничего не говорил про аттестацию, я говорю лишь о том, что ждать от работника «по собственному» не нужно. Но разумеется, неудовлетворительный результат придется показать. И озаботиться этим чуть заранее. Это все правда.

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

Насколько я помню, уволить в процессе испытательного срока — как раз тот случай, когда не надо «по собственному».

Выбираем формат хранения данных в экосистеме Hadoop

К минусам можно отнести то, что этот формат отсутствует из коробки и для возможности чтения и записи необходимо устанавливать внешний компонент Avro.

Когда это кому-то мешало? В типичном хадуп кластере сотни, если не тысячи компонентов (в виде jar-файлов, например), какой-то один внешний компонент Авро — вообще ни разу не проблема.

Мифы об изучении иностранных языков

Ну… вот мне не интересна тема рекламных компаний. Вообще. Есть такие темы, на которые вообще не хочется говорить. В обычной жизни я могу себе такое позволить. На экзамене видимо нет. Будет ли снижена оценка по IELTS, если я буду говорить о блохах, как в том анекдоте про студента, при этом покажу хорошее знание грамматики, использование конструкций языка, произношение и т.п.? Но по теме при этом не скажу ни слова, и буду всячески от нее уходить?

>Другого способа я не знаю.
Ну тут вопрос в том, что этот способ — он очень неэффективный. Много времени нужно. Не натаскаешься быстро ну никак.

Мифы об изучении иностранных языков

>Вам придется научиться говорить на абстрактные и незнакомые темы.
А можете кратко, как этому вообще учат? Я вот всегда упираюсь в простую проблему — я даже на родном языке не смогу сказать, как там владельцы магазинов «бороздят просторы Большого театра» (с). А если в голове нет мыслей по теме — их и на иностранном языке выразить сложно. Можно ли научиться говорить (или писать) складную чепуху, по типу той, что выдает ChatGPT?

Мифы об изучении иностранных языков

Ну вот мой опыт мне тоже говорит, что некий барьер таки есть. И у меня была сильно другая история, с похожим результатом. Когда до этого я спокойно читал, и даже как-то профессионально писал, но только на технические темы, деньги переводами зарабатывал неплохие, но вообще не говорил. А за три недели примерно — начал. Будучи поставленным в условия, когда вокруг никто не говорит на русском, а понимают только английский и французский (ну или на выбор итальянский). Ну и что поделать, пришлось как-то выкручиваться — и за это время понял, что проблем-то в общем и нет, что при желании (и некотором напряжении мозгов конечно) вполне можно и говорить самому, и даже понимать что-то у китайцев коллег, с их ужасным акцентом. И напряжение это постепенно становится приемлемым. А страх сказать что-то не так — пропадает.

Про нейросети

Ну я вас понял, надеюсь. Однако хочется добавить, что иногда мы таки можем сказать, что молоток это тупик, и нужно сразу взять нейлер. Который фигачит гвозди по 5 штук в секунду. Особенно если он у нас есть, этот нейлер, и мы можем выбрать.

Микросервисы — отчуждение от результатов труда

Но в любой конкретный момент VALUE в одном и том же месте может быть как объектом, так и массивом. То есть тип одного конкретного элемента, с одним и тем же ключиком, будет разный сегодня и завтра. Или его вообще не будет. Но прямо сегодня он конечно имеет какой-то тип.

Микросервисы — отчуждение от результатов труда

Мне каждое второе предложение работы приходит с упоминанием FIX протокола. Регулярно. Может в вашем мире розовых поней он и помер, а в моем мире кровавого энтерпрайза — цветет и пахнет. И кстати схема — это именно типизация.

Про нейросети

Давайте я уточню. Вот смотрите, имеем мы на сегодня chatGPT, который понимает наши вопросы, и дает весьма сложные, развернутые, но иногда совершенно бессмысленные ответы. Мне кажется, что основной проблемой этих ответов сейчас является то, что оно не может объяснить, откуда оно их берет (в широком смысле).

Ну вот на днях буквально кто-то описывал свои диалоги, где chatGPT утверждал, что Буратино придумал Акунин в 1938 году. Что бы сделал разумный человек в такой ситуации, чтобы показать, что это чепуха? Например, сослался бы на страницу про Акунина на Википедии, что Акунин на самом деле не Борис а Григорий, и вообще не Акунин (уже интересно поговорить о таком, понимает ли робот, как мы идентифицируем человека), и что родился он в 1956, следовательно придумать Буратино в 1938 никак не мог. То есть, человек
может ошибаться, а для доказательства своих утверждений ссылается на первоисточники. В моем понимании, пока ИИ так не научился, тест Тьюринга он не пройдет.

>хотя тут я согласен, что это не то
Ну да. Я тоже согласен, что не то, и тоже не могу объяснить, почему именно.

>могут быть вспомогательной частью
Тоже вопрос интересный. Если в конечном счете в общем устройстве сильного ИИ нейросети будут играть примерно такую роль, какую играет скажем синус — можно ли считать, что ИИ построен на синусе? Ну или так — если у ИИ будет мобильное приложение, можно ли сказать, что ИИ будет построен на котлине или свифте? Я бы все же считал, что только ключевые технологии стоит учитывать, без которых эту же задачу мы сегодня не решим.

Информация

В рейтинге
1 710-й
Зарегистрирован
Активность