Во-первых, кроме аннотации Query есть еще и шаблонные методы findBy, которые делают всю эту фильтрацию в стримах ненужной. Какой джун вообще так пишет? Можно получить любой простой запрос, написав аля findAllByName, и дальше магия репозитория сделает все за вас.
Во-вторых, я не знаю какую версию Hibernate брал автор для своих тестов, но Hibernate и правда работает с кешом, вот только пишет он в него каждое изменение. И знает, если объект есть в БД или нет на основании того, есть ли объект в кэше, сессии, является ли он управляемым.
Ну и наконец, зачем нужна пляска с транзакциями, автор, похоже, тоже не очень понимает, судя по этим тестам. А все это придумано просто для обеспечения консистентности данных в случае отказов.
Вот это и есть ключ ко всей ветке. Есть турникеты - зачем приложение? Нет турникетов - надо как-то купить билет, нужно приложение. Разные UX задачи решаются.
В Праге тоже нет турникетов, ничего никуда не надо прикладывать. Покупаем билеты через приложение и везде проходим свободно
Есть у меня проект, на довольно старой кодовой базе (vue2, вот это все). И без тестов. Решил покрывать тестами потихоньку, добавил jest 27 и vue-test - сломалась компиляция TS, проект полностью перестал собираться. Потратил часы чтобы найти нужные флаги и совместимые версии и зафиксировать их в package-lock. Бэк на котлине не обновлялся с того же времени - как минимум не ломается компиляция при добавлении новой зависимости.
Ну я, например, джва года ждал. На курсор переходить не готов, VSC вызывает стойкое отторжение, лучше idea для джавы еще ничего не щупал (вкусовщина), поэтому я вот уже пользуюсь и радуюсь. Туповат - да, медленный - очень. Но пока он пишет код, я могу поесть, убраться, с женой поболтать, с кошкой поиграть.
Я обычно называю согласованность «принципом обезличенного кода» - это значит, что должно быть невозможно понять, кто из разработчиков написал код, кроме как по истории коммитов. Да, это часто бывает и копи-паста, и использование не самых удачных решений. Зато даже через два года, когда я уже забуду, что именно я писал, я смогу в этом разобраться, будучи просто погруженным в кодовую базу целиком. Это же упрощает жизнь остальным.
Почему же не получится? Подаем выход на вход и получаем бесконечный цикл диалога с самим собой. Нет никаких ограничений со стороны железа, кроме счета за электричество. о1 так и работает, просто у нее этот процесс ограничен в количестве итераций до вывода готового ответа пользователю.
Живой мозг ведь в основном тем и занимается, что реагирует на внешние раздражители. Нет условия - нет действия, но чтобы ресурсы не простаивали - запускаем внутренний диалог. Нет достаточно ресурсов (мозг маленький и примитивный) - непрерывная работа все еще присутствует, но вся ее мощь уходит на окружающий мир с его опасностями.
Вы, похоже, путаете причину и следствие различных явлений. Да, сон и внутренний диалог - это все следствие того, что мозг работает непрерывно. Только сознание не является следствием непрерывной работы мозга, как вытекает из вашего утверждения. Непрерывная работа и сознание все еще не связаны напрямую причиной и следствием, между ними есть что-то еще. И на мой взгляд, это избыток вычислительных ресурсов и, как следствие, их использование для саморефлексии и размышлений.
На мой взгляд, модели демонстрируют понимание и взаимосвязь понятий. Как минимум, те модели, которые обучены на мультимодальных датасетах - с использованием речи, визуала и аудиала. Они могут корректно (в некоторых пределах) соотносить визуальный образ с речевой репрезентацией, реагировать на изменения и прочее.
Я думаю, основная помеха формированию именно сознания как такового (как бы мы его ни постулировали) - работа по модели промпт-ответ. Естественное сознание отличается тем, что оно непрерывно. Кроме того, у всех существ с мозгом есть фаза сна, в которой информация структурируется, окрашивается, сохраняется, соотносится с предыдущим опытом и знаниями. Причем происходит это «подсознательно» - без участия основной части мозга, которая максимум выступает зрителем для этого процесса.
Соответственно если мы хотим получить сознательную модель, нужно выполнить эти два условия: дать ей возможность вести «внутренний диалог», обеспечить непрерывность потока размышления, и дать ей возможность дообучаться вне активной фазы взаимодействия с окружающим миром, дать ей механизм «сновидений», который будет реструктурировать и раскашивать накопленную информацию, но без участия активной части, которая отвечает за взаимодействие с внешним миром.
И вот если при выполнении этих условий модель не скатится в бесконечное ыыыыыааааоооооууууииииэээээ, а сохранит вменяемый (пусть с галлюцинациями и непонятными ассоциациями, но отслеживаемый и понимаемый) поток мыслей, тогда возможно стоит говорить о том, что у нее есть сознание.
Пока что о1 подобралась к этому довольно близко, ведь ход ее внутренних рассуждений не виден со стороны, но сохраняется в течение продолжительного времени.
Все так, вы абсолютно правы! Без живой практики вообще все бесполезно. Конкретно в моем случае, уроки португальского достаточно сложно найти (во всяком случае, сложнее, чем английского и испанского), поэтому Дуолинго сейчас для меня очень адекватный и бюджетный вариант.
Ну, справедливости ради, Дуолинго помог мне заговорить на совершенно новом для меня языке. Именно заговорить, с людьми. Я изучаю португальский по одному упражнению в день уже почти три года. За два года (при условии наличия практики говорения хотя бы раз месяц - это важно) я смог начать говорить с людьми на базовые темы, за три - расширил список тем и стал это делать увереннее. Да, я еще использую словарь (особенно в письменном общении), но больше никаких других инструментов.
Так что медленно, но Дуолинго работает именно как главный инструмент изучения языка, а не второстепенный. Но, думаю, мой кейс скорее исключение.
Подождите-подождите. Это не хуже, это сильно лучше! Да, 27 часов думала. Но в итоге она признала, что не знает ответ. GPT4 так не умеет и начинает галлюцинировать. Тут где-то была статья про то, где четверку ловили на вопросе «какого цвета был брючный костюм у героини», хотя она была в юбке. И вместо ответа «у нее не было брючного костюма» или «я не знаю», модель сыпала разным упорином. Так что это, я считаю, сильный прорыв.
У хороших врачей этим ассистенты и медсестры занимаются. Но вообще я разговаривал со знакомым врачом, мне раскрыли секрет - это разновидность стенографии, способа очень быстро писать, практически в скорости устной речи. Их этому даже специально учат.
Есть у меня несколько знакомых, которые проработали больше 10 лет в одной и той же компании/галере. Они получили звания Senior developer, Lead developer и прочие. Но есть у этой компании специфика. Ее продукт - фреймворк «все в одном», который умеет вообще все, если его правильно сконфигурировать. Как можно догадаться (иначе я бы не стал об этом писать), товарищи все года работали на проектах внедрения, и даже не занимались разработкой этой платформы. Я бы сказал, что они не Senior Developer, а Senior N* platform configurator.
И вот, наступает 2022. Компания начинает сокращения в России. И так получается, что эти лиды и сениоры никому не нужны. Они не могут пройти техническое собеседование даже на джуниор позицию, а оклады, которые им предлагают, иногда в 10 раз меньше того, что они получали в этой конторе. Из них только одному знакомому повезло доказать руководству свою ценность и остаться в пузыре. Остальным пришлось оказаться на улице и принять реальность вне пузыря.
За себя очень рад, что ушел оттуда, как только распознал пузырь, и начал развиваться.
Честно говоря, не вижу проблемы. Захожу каждые три часа или когда еду в трамвае, играюсь по приколу. Заработаю что-то - хорошо. Нет - забуду как и cookie clicker, в который залипал в школе.
Я думаю, что главная задача, решаемая микросервисами - масштабирование части приложения при возрастании нагрузки на него. Ответственность вторична. То есть, например, если есть онлайн магазин с черной пятницей, то микросервисы дают возможность масштабировать не весь магазин с соответствующими затратами ресурсов, а только те его части, которые подвержены наибольшей нагрузке. В черную пятницу нет смысла сильно раздувать read-only каталог, зато возможно стоит апскейлить корзину и скидочный сервис. Экономия.
А описываемые автором проблемы с размазанными транзакциями - пример плохого разбиения на сервисы.
Выскажу непопулярное мнение. Мне не нравится Зен в BM. В первой HL это было отчужденное, выжженное индустриальное пространство, в котором уже действительно не осталось ресурсов, и вторжение Нихиланта на Землю ощущалось логичным. Он ощущался тем самым пограничным миром, в котором невозможно было оставаться надолго. В BM же Зен - цветущий, насыщенный, явно способный прокормить всех желающих. Красиво, конечно, захватывающе и интересно, но абсолютно, на мой взгляд, противоречит внутренней логике и сюжету.
Я не очень понимаю, каким именно образом аналитики из оригинальной статьи превратились в менеджеров. Аналитики - такие же работники, как и программисты, находятся примерно на том же уровне пищевой пирамиды. Не вижу ничего крамольного в выделении аналитиков в отдельную подкоманду при условии плотного взаимодействия с разработчиками. Лично я читаю слово «методолог» как «эксперт», эксперт в том, что программист не знает. Когда вы пишете бухгалтерский софт, вам нужен эксперт области, методолог, аналитик - как угодно. Иначе программисту придется изучать бухгалтерию. Если это отчеты - нужен методолог, который знает как это отчеты читаются в первую очередь, а не как строятся.
Также не очень понимаю, почему у автора бомбит от дачи сроков заказчику. Подписание любого контракта подразумевает подписание его на определенный срок, в течение которого работа должна быть выполнена. Нормальный адекватный процесс при этом подразумевает возможность их изменения, но в любом случае все начинается со сбора требований, их грануляризации и оценки.
Отдельным пунктом идет идея о том, что заказчику необходимо знать сроки. А деньги вам платят тоже за сроки?
В любом случае заказчику необходимо понимать, когда он это получит, чтобы подстроить свои процессы. Обеспечить железо, подготовить работников - это все не появляется ниоткуда, а требует расчета бюджета, амортизации, подготовки. Не только исполнитель делает работу, но и заказчик со своей стороны тоже.
Ну и главный мой вопрос - а как надо? Я, например, так и не понял.
Хорошая точка зрения. В принципе, да, чистый код расширяется легко и хорошо. Но все же, при написании библиотек и фреймворков лучше такие моменты закладывать изначально.
Вы категорически правы! Я в начале своей карьеры работал в телеком галере (широко известной в узких кругах), их продукт - фреймворк с безграничной возможностью конфигурации через дб модель и интерфейс модулей (и немного можно дописать джаву). Оттуда вышли десятки Senior Developer с опытом 10+, которые писали код от силы 20% этого стажа, а все остальное время занимались накликиванием конфигураций. Мой друг до сих пор там работает сениором, потому что его даже миддлом не берут, и уж тем более на зп, которую он хочет.
Кажется, автор не умеет готовить Spring Data.
Во-первых, кроме аннотации Query есть еще и шаблонные методы findBy, которые делают всю эту фильтрацию в стримах ненужной. Какой джун вообще так пишет? Можно получить любой простой запрос, написав аля findAllByName, и дальше магия репозитория сделает все за вас.
Во-вторых, я не знаю какую версию Hibernate брал автор для своих тестов, но Hibernate и правда работает с кешом, вот только пишет он в него каждое изменение. И знает, если объект есть в БД или нет на основании того, есть ли объект в кэше, сессии, является ли он управляемым.
Ну и наконец, зачем нужна пляска с транзакциями, автор, похоже, тоже не очень понимает, судя по этим тестам. А все это придумано просто для обеспечения консистентности данных в случае отказов.
Вот это и есть ключ ко всей ветке. Есть турникеты - зачем приложение? Нет турникетов - надо как-то купить билет, нужно приложение. Разные UX задачи решаются.
В Праге тоже нет турникетов, ничего никуда не надо прикладывать. Покупаем билеты через приложение и везде проходим свободно
Есть у меня проект, на довольно старой кодовой базе (vue2, вот это все). И без тестов. Решил покрывать тестами потихоньку, добавил jest 27 и vue-test - сломалась компиляция TS, проект полностью перестал собираться. Потратил часы чтобы найти нужные флаги и совместимые версии и зафиксировать их в package-lock. Бэк на котлине не обновлялся с того же времени - как минимум не ломается компиляция при добавлении новой зависимости.
Ну я, например, джва года ждал. На курсор переходить не готов, VSC вызывает стойкое отторжение, лучше idea для джавы еще ничего не щупал (вкусовщина), поэтому я вот уже пользуюсь и радуюсь. Туповат - да, медленный - очень. Но пока он пишет код, я могу поесть, убраться, с женой поболтать, с кошкой поиграть.
Я обычно называю согласованность «принципом обезличенного кода» - это значит, что должно быть невозможно понять, кто из разработчиков написал код, кроме как по истории коммитов. Да, это часто бывает и копи-паста, и использование не самых удачных решений. Зато даже через два года, когда я уже забуду, что именно я писал, я смогу в этом разобраться, будучи просто погруженным в кодовую базу целиком. Это же упрощает жизнь остальным.
Почему же не получится? Подаем выход на вход и получаем бесконечный цикл диалога с самим собой. Нет никаких ограничений со стороны железа, кроме счета за электричество. о1 так и работает, просто у нее этот процесс ограничен в количестве итераций до вывода готового ответа пользователю.
Живой мозг ведь в основном тем и занимается, что реагирует на внешние раздражители. Нет условия - нет действия, но чтобы ресурсы не простаивали - запускаем внутренний диалог. Нет достаточно ресурсов (мозг маленький и примитивный) - непрерывная работа все еще присутствует, но вся ее мощь уходит на окружающий мир с его опасностями.
Вы, похоже, путаете причину и следствие различных явлений. Да, сон и внутренний диалог - это все следствие того, что мозг работает непрерывно. Только сознание не является следствием непрерывной работы мозга, как вытекает из вашего утверждения. Непрерывная работа и сознание все еще не связаны напрямую причиной и следствием, между ними есть что-то еще. И на мой взгляд, это избыток вычислительных ресурсов и, как следствие, их использование для саморефлексии и размышлений.
На мой взгляд, модели демонстрируют понимание и взаимосвязь понятий. Как минимум, те модели, которые обучены на мультимодальных датасетах - с использованием речи, визуала и аудиала. Они могут корректно (в некоторых пределах) соотносить визуальный образ с речевой репрезентацией, реагировать на изменения и прочее.
Я думаю, основная помеха формированию именно сознания как такового (как бы мы его ни постулировали) - работа по модели промпт-ответ. Естественное сознание отличается тем, что оно непрерывно. Кроме того, у всех существ с мозгом есть фаза сна, в которой информация структурируется, окрашивается, сохраняется, соотносится с предыдущим опытом и знаниями. Причем происходит это «подсознательно» - без участия основной части мозга, которая максимум выступает зрителем для этого процесса.
Соответственно если мы хотим получить сознательную модель, нужно выполнить эти два условия: дать ей возможность вести «внутренний диалог», обеспечить непрерывность потока размышления, и дать ей возможность дообучаться вне активной фазы взаимодействия с окружающим миром, дать ей механизм «сновидений», который будет реструктурировать и раскашивать накопленную информацию, но без участия активной части, которая отвечает за взаимодействие с внешним миром.
И вот если при выполнении этих условий модель не скатится в бесконечное ыыыыыааааоооооууууииииэээээ, а сохранит вменяемый (пусть с галлюцинациями и непонятными ассоциациями, но отслеживаемый и понимаемый) поток мыслей, тогда возможно стоит говорить о том, что у нее есть сознание.
Пока что о1 подобралась к этому довольно близко, ведь ход ее внутренних рассуждений не виден со стороны, но сохраняется в течение продолжительного времени.
Все так, вы абсолютно правы! Без живой практики вообще все бесполезно. Конкретно в моем случае, уроки португальского достаточно сложно найти (во всяком случае, сложнее, чем английского и испанского), поэтому Дуолинго сейчас для меня очень адекватный и бюджетный вариант.
Ну, справедливости ради, Дуолинго помог мне заговорить на совершенно новом для меня языке. Именно заговорить, с людьми. Я изучаю португальский по одному упражнению в день уже почти три года. За два года (при условии наличия практики говорения хотя бы раз месяц - это важно) я смог начать говорить с людьми на базовые темы, за три - расширил список тем и стал это делать увереннее. Да, я еще использую словарь (особенно в письменном общении), но больше никаких других инструментов.
Так что медленно, но Дуолинго работает именно как главный инструмент изучения языка, а не второстепенный. Но, думаю, мой кейс скорее исключение.
Подождите-подождите. Это не хуже, это сильно лучше! Да, 27 часов думала. Но в итоге она признала, что не знает ответ. GPT4 так не умеет и начинает галлюцинировать. Тут где-то была статья про то, где четверку ловили на вопросе «какого цвета был брючный костюм у героини», хотя она была в юбке. И вместо ответа «у нее не было брючного костюма» или «я не знаю», модель сыпала разным упорином. Так что это, я считаю, сильный прорыв.
У хороших врачей этим ассистенты и медсестры занимаются. Но вообще я разговаривал со знакомым врачом, мне раскрыли секрет - это разновидность стенографии, способа очень быстро писать, практически в скорости устной речи. Их этому даже специально учат.
Есть у меня несколько знакомых, которые проработали больше 10 лет в одной и той же компании/галере. Они получили звания Senior developer, Lead developer и прочие. Но есть у этой компании специфика. Ее продукт - фреймворк «все в одном», который умеет вообще все, если его правильно сконфигурировать. Как можно догадаться (иначе я бы не стал об этом писать), товарищи все года работали на проектах внедрения, и даже не занимались разработкой этой платформы. Я бы сказал, что они не Senior Developer, а Senior N* platform configurator.
И вот, наступает 2022. Компания начинает сокращения в России. И так получается, что эти лиды и сениоры никому не нужны. Они не могут пройти техническое собеседование даже на джуниор позицию, а оклады, которые им предлагают, иногда в 10 раз меньше того, что они получали в этой конторе. Из них только одному знакомому повезло доказать руководству свою ценность и остаться в пузыре. Остальным пришлось оказаться на улице и принять реальность вне пузыря.
За себя очень рад, что ушел оттуда, как только распознал пузырь, и начал развиваться.
Честно говоря, не вижу проблемы. Захожу каждые три часа или когда еду в трамвае, играюсь по приколу. Заработаю что-то - хорошо. Нет - забуду как и cookie clicker, в который залипал в школе.
Я думаю, что главная задача, решаемая микросервисами - масштабирование части приложения при возрастании нагрузки на него. Ответственность вторична. То есть, например, если есть онлайн магазин с черной пятницей, то микросервисы дают возможность масштабировать не весь магазин с соответствующими затратами ресурсов, а только те его части, которые подвержены наибольшей нагрузке. В черную пятницу нет смысла сильно раздувать read-only каталог, зато возможно стоит апскейлить корзину и скидочный сервис. Экономия.
А описываемые автором проблемы с размазанными транзакциями - пример плохого разбиения на сервисы.
Не думай о белой обезьяне…
Hidden text
У вас там в скриншоте мелькнул Karavan Food - люто рекомендую попробовать у них плов ? лучший узбекский плов в Праге на мой вкус.
А вообще да, все так. Датовку только мне лениво заводить… в остальном точно не жалуюсь.
Выскажу непопулярное мнение. Мне не нравится Зен в BM. В первой HL это было отчужденное, выжженное индустриальное пространство, в котором уже действительно не осталось ресурсов, и вторжение Нихиланта на Землю ощущалось логичным. Он ощущался тем самым пограничным миром, в котором невозможно было оставаться надолго. В BM же Зен - цветущий, насыщенный, явно способный прокормить всех желающих. Красиво, конечно, захватывающе и интересно, но абсолютно, на мой взгляд, противоречит внутренней логике и сюжету.
Я не очень понимаю, каким именно образом аналитики из оригинальной статьи превратились в менеджеров. Аналитики - такие же работники, как и программисты, находятся примерно на том же уровне пищевой пирамиды. Не вижу ничего крамольного в выделении аналитиков в отдельную подкоманду при условии плотного взаимодействия с разработчиками. Лично я читаю слово «методолог» как «эксперт», эксперт в том, что программист не знает. Когда вы пишете бухгалтерский софт, вам нужен эксперт области, методолог, аналитик - как угодно. Иначе программисту придется изучать бухгалтерию. Если это отчеты - нужен методолог, который знает как это отчеты читаются в первую очередь, а не как строятся.
Также не очень понимаю, почему у автора бомбит от дачи сроков заказчику. Подписание любого контракта подразумевает подписание его на определенный срок, в течение которого работа должна быть выполнена. Нормальный адекватный процесс при этом подразумевает возможность их изменения, но в любом случае все начинается со сбора требований, их грануляризации и оценки.
В любом случае заказчику необходимо понимать, когда он это получит, чтобы подстроить свои процессы. Обеспечить железо, подготовить работников - это все не появляется ниоткуда, а требует расчета бюджета, амортизации, подготовки. Не только исполнитель делает работу, но и заказчик со своей стороны тоже.
Ну и главный мой вопрос - а как надо? Я, например, так и не понял.
Хорошая точка зрения. В принципе, да, чистый код расширяется легко и хорошо. Но все же, при написании библиотек и фреймворков лучше такие моменты закладывать изначально.
Вы категорически правы! Я в начале своей карьеры работал в телеком галере (широко известной в узких кругах), их продукт - фреймворк с безграничной возможностью конфигурации через дб модель и интерфейс модулей (и немного можно дописать джаву). Оттуда вышли десятки Senior Developer с опытом 10+, которые писали код от силы 20% этого стажа, а все остальное время занимались накликиванием конфигураций. Мой друг до сих пор там работает сениором, потому что его даже миддлом не берут, и уж тем более на зп, которую он хочет.