Всем привет!
Что входит в состав JDK - Java Development Kit - кроме стандартной библиотеки Java?
Разные утилиты, сразу можно вспомнить java и javaс. Но не только они, есть еще ряд полезных консольных утилит, о которых расскажу ниже.
Сразу скажу, про таких монстров, как JVisualVM и Mission Control, стоит рассказать отдельно, что я и сделаю. Но потом)
Все утилиты лежат в папке bin внутри JDK.
Поехали:
1) javap - прочитать версию байткода, а также увидеть байткод в человекочитаемом виде.
Как запускать: javap -verbose Class1.class
2) jcmd - позволяет отправлять команды работающему процессу. Что за команды - да самые разные, например:
- сделать дамп кучи
- показать статистику использования памяти, причем после некоторых манипуляция - любых областей памяти, не только кучи
- время работы и другую информацию о JVM
- информацию о запущенных процессах
Если запусить jcmd без параметров - покажет список работающих java процессов.
Если запустить ее как jcmd PID - покажет доступные для процесса команды.
Описание почитать можно тут https://docs.oracle.com/en/java/javase/17/troubleshoot/diagnostic-tools.html#GUID-42A18B29-B4AD-4831-B846-2CDBA55F2254
3) jstat - показывает краткую статистику по Java процессу.
jstat -class PID - иннформация по загрузке классов
jstat -compiler PID - по JIT компиляции
jstat -gc PID - информация по работе GC, ее расшифровку и другие опции см. тут https://docs.oracle.com/en/java/javase/11/tools/jstat.html#GUID-5F72A7F9-5D5A-4486-8201-E1D1BA8ACCB5
Аналог линуксовых vmstat, iostat.
4) keytool - утилита для работы с сертификатами в формате jks.
5) jshell - начиная с Java 9 появляется консоль для выполнения Java кода интерактивно, без создания классов.
Что удобно: не нужно создавать класс, import-ы, ставить ; в конце строки, просто можно проверить выполнение какого-то простого кода.
6) jdeprscan - сканирует jar, класс или папку на наличие Deprecated API. Можно использовать в DevOps.
7) jconsole - графическая утилита для отображения использования CPU, памяти и другой информации, которую может отображать jcmd. Также показывает MBean-ы. Главное ее достоинство заключается в том, что она полностью бесплатна и есть в любой JDK.
При этом JVisualVM и Mission Control могут гораздо больше, но с ними есть нюансы)
Полный список утилит можно найти здесь: https://docs.oracle.com/en/java/javase/11/tools/tools-and-command-reference.html
#jdk #java #tools
Что входит в состав JDK - Java Development Kit - кроме стандартной библиотеки Java?
Разные утилиты, сразу можно вспомнить java и javaс. Но не только они, есть еще ряд полезных консольных утилит, о которых расскажу ниже.
Сразу скажу, про таких монстров, как JVisualVM и Mission Control, стоит рассказать отдельно, что я и сделаю. Но потом)
Все утилиты лежат в папке bin внутри JDK.
Поехали:
1) javap - прочитать версию байткода, а также увидеть байткод в человекочитаемом виде.
Как запускать: javap -verbose Class1.class
2) jcmd - позволяет отправлять команды работающему процессу. Что за команды - да самые разные, например:
- сделать дамп кучи
- показать статистику использования памяти, причем после некоторых манипуляция - любых областей памяти, не только кучи
- время работы и другую информацию о JVM
- информацию о запущенных процессах
Если запусить jcmd без параметров - покажет список работающих java процессов.
Если запустить ее как jcmd PID - покажет доступные для процесса команды.
Описание почитать можно тут https://docs.oracle.com/en/java/javase/17/troubleshoot/diagnostic-tools.html#GUID-42A18B29-B4AD-4831-B846-2CDBA55F2254
3) jstat - показывает краткую статистику по Java процессу.
jstat -class PID - иннформация по загрузке классов
jstat -compiler PID - по JIT компиляции
jstat -gc PID - информация по работе GC, ее расшифровку и другие опции см. тут https://docs.oracle.com/en/java/javase/11/tools/jstat.html#GUID-5F72A7F9-5D5A-4486-8201-E1D1BA8ACCB5
Аналог линуксовых vmstat, iostat.
4) keytool - утилита для работы с сертификатами в формате jks.
5) jshell - начиная с Java 9 появляется консоль для выполнения Java кода интерактивно, без создания классов.
Что удобно: не нужно создавать класс, import-ы, ставить ; в конце строки, просто можно проверить выполнение какого-то простого кода.
6) jdeprscan - сканирует jar, класс или папку на наличие Deprecated API. Можно использовать в DevOps.
7) jconsole - графическая утилита для отображения использования CPU, памяти и другой информации, которую может отображать jcmd. Также показывает MBean-ы. Главное ее достоинство заключается в том, что она полностью бесплатна и есть в любой JDK.
При этом JVisualVM и Mission Control могут гораздо больше, но с ними есть нюансы)
Полный список утилит можно найти здесь: https://docs.oracle.com/en/java/javase/11/tools/tools-and-command-reference.html
#jdk #java #tools
Oracle Help Center
Troubleshooting Guide
The Java Development Kit (JDK) provides diagnostic tools and troubleshooting tools specific to various operating systems. Custom diagnostic tools can also be developed using the APIs provided by the JDK.
Всем привет!
Что должен знать разработчик кроме своего основного языка, в нашем случае Java. Или Kotlin. Паттерны, основы архитектуры, фреймворки - это я включаю в знание Java.
1) git. На самом деле систем хранения исходников много - svn, mercurial, darcs, git, но последний победил всех. Да, многое можно сделать в IDEA или графических клиентах типа TortoiseGit. Но часто возникают задачи автоматизации набора повторящих команд или разные нетривиальные вещи типа смены автора коммита по всей истории. Кроме базовых команд надо знать основные модели ветвления - gitflow, githab flow, gitlab flow, trunk-based и условия их применимости
2) SQL. Почему - большинство сервисов имеет хранилище, очень часто оно реляционное. Даже если noSQL - к нему может быть прикручен слой SQL-подобного API. Даже если ORM - там есть JQL или HQL.
Объем знаний: DML, DDL, PK, FK, sequences, индексы, партиционирование, неплохо понимать план выполнения запроса
3) shell scripts. Частно приходится выполнять какие-то повторяющиеся действия на рабочей машине или на сервере. Сервера на 90% это Linux, рабочие машины по разному, но для Windows есть несколько реализаций Linux shell. На N-ом повторе возникает мысль про автоматизацию. Часто готовые скрипты можно найти на просторах сети, но в любом случае нужно понимать, что они делают. Чтобы случайно не отформатировать диск C)))
Набор команд, примерный: cd, cp, grep, cat, tail, less, echo, ps, top, tar, gz, sudo, chmod, wget, curl, apt-get или его аналог. Сюда же уметь сгенерировать ssh ключи и сертификаты. Также неплохо бы знать vi. Уточнение - учить наизусть все ключи не нужно, важно понимать что можно сделать в shell, принцип pipeline и какие команды что делают.
4) RegExp. Потребность возникает как при кодирование, так и при отладке - например, для поиска по логам. Опять же есть готовые выражения, есть крутой, хотя небесплатный редактор RegExp Buddy, но читать этот язык надо уметь
5) build tool. На данный момент это Maven и\или Gradle. Опять же IDEA умеет компилировать проекты сама, но на любом более менее сложном нужна утилита для сборки.
Объем: build lifecycle, управление зависимостями, многомодульные проекты, управление настройками сборки, плагины и их прикручивание к нужному шагу сборки
6) docker. Мы идем в светлое облачное будущее, Docker - это его основа.
Что важно: зачем нужен Docker, Docker Registry, слоистость образов, структура Docker файла
to be continued
#java #tools #обучение
Что должен знать разработчик кроме своего основного языка, в нашем случае Java. Или Kotlin. Паттерны, основы архитектуры, фреймворки - это я включаю в знание Java.
1) git. На самом деле систем хранения исходников много - svn, mercurial, darcs, git, но последний победил всех. Да, многое можно сделать в IDEA или графических клиентах типа TortoiseGit. Но часто возникают задачи автоматизации набора повторящих команд или разные нетривиальные вещи типа смены автора коммита по всей истории. Кроме базовых команд надо знать основные модели ветвления - gitflow, githab flow, gitlab flow, trunk-based и условия их применимости
2) SQL. Почему - большинство сервисов имеет хранилище, очень часто оно реляционное. Даже если noSQL - к нему может быть прикручен слой SQL-подобного API. Даже если ORM - там есть JQL или HQL.
Объем знаний: DML, DDL, PK, FK, sequences, индексы, партиционирование, неплохо понимать план выполнения запроса
3) shell scripts. Частно приходится выполнять какие-то повторяющиеся действия на рабочей машине или на сервере. Сервера на 90% это Linux, рабочие машины по разному, но для Windows есть несколько реализаций Linux shell. На N-ом повторе возникает мысль про автоматизацию. Часто готовые скрипты можно найти на просторах сети, но в любом случае нужно понимать, что они делают. Чтобы случайно не отформатировать диск C)))
Набор команд, примерный: cd, cp, grep, cat, tail, less, echo, ps, top, tar, gz, sudo, chmod, wget, curl, apt-get или его аналог. Сюда же уметь сгенерировать ssh ключи и сертификаты. Также неплохо бы знать vi. Уточнение - учить наизусть все ключи не нужно, важно понимать что можно сделать в shell, принцип pipeline и какие команды что делают.
4) RegExp. Потребность возникает как при кодирование, так и при отладке - например, для поиска по логам. Опять же есть готовые выражения, есть крутой, хотя небесплатный редактор RegExp Buddy, но читать этот язык надо уметь
5) build tool. На данный момент это Maven и\или Gradle. Опять же IDEA умеет компилировать проекты сама, но на любом более менее сложном нужна утилита для сборки.
Объем: build lifecycle, управление зависимостями, многомодульные проекты, управление настройками сборки, плагины и их прикручивание к нужному шагу сборки
6) docker. Мы идем в светлое облачное будущее, Docker - это его основа.
Что важно: зачем нужен Docker, Docker Registry, слоистость образов, структура Docker файла
to be continued
#java #tools #обучение
- быстрое получение ссылки на код: сopy path или сopy reference, а с внешними плагинами и Copy Bitbucket Link
- shortcuts практически для всего: https://www.jetbrains.com/help/idea/reference-keymap-win-default.html А для действий без стандартных shortcuts можно назначить свои, причем не только клавиатурные, но и мышинные)
Рекомендую начинать учить, если еще не сделали.
Начать можно с https://blog.jetbrains.com/idea/2020/03/top-15-intellij-idea-shortcuts/
Также не стоит выключать обучающий режим, когда при открытии проекта IDEA показывает полезные советы, в т.ч. shortcuts.
- разнообразие внешних плагинов, рекомендую заглянуть в соответствующий раздел настроек.
В общем IDEA - это целый мир, в который можно и нужно погрузится с головой.
Возможно я что-то упустил из крутых или важных фичей, напишите об этом.
#IDEA #IDE #tools #обучение
- shortcuts практически для всего: https://www.jetbrains.com/help/idea/reference-keymap-win-default.html А для действий без стандартных shortcuts можно назначить свои, причем не только клавиатурные, но и мышинные)
Рекомендую начинать учить, если еще не сделали.
Начать можно с https://blog.jetbrains.com/idea/2020/03/top-15-intellij-idea-shortcuts/
Также не стоит выключать обучающий режим, когда при открытии проекта IDEA показывает полезные советы, в т.ч. shortcuts.
- разнообразие внешних плагинов, рекомендую заглянуть в соответствующий раздел настроек.
В общем IDEA - это целый мир, в который можно и нужно погрузится с головой.
Возможно я что-то упустил из крутых или важных фичей, напишите об этом.
#IDEA #IDE #tools #обучение
IntelliJ IDEA Help
Predefined Windows keymap | IntelliJ IDEA
Всем привет!
Не знаю зарегистрировались ли вы на бесплатный день JPoint, но мне понравился там доклад "Пирамида потребностей Маслоу для Java/Kotlin-разработчика" https://jpoint.ru/talks/dfb53bfc4ec74165830e81c036a28ad8
Доклад был вчера, регистрация закрыта, увы, но можно скачать pdf.
Мне понравились две вещи:
1) идея разделения всех инструментов разработчика на уровни по их необходимости. Как это сделано в докладе - можно поспорить, но сама идея хороша.
2) нашел новые для себя инструменты - генератор тестов для бизнес-логики, расшаривание набора зависимостей между проектами в Gradle, автоматизация обновления библиотек в проекте. Еще интересна метрика Hits of code вместо Lines of code, полезно для для наблюдения за проектом. Жаль, что SonarQube ее не умеет считать.
Ну и интересно кто оказался на вершине пирамиды...
В общем рекомендую почитать, возможно найдете для себя что-то новое.
#conference #tools
Не знаю зарегистрировались ли вы на бесплатный день JPoint, но мне понравился там доклад "Пирамида потребностей Маслоу для Java/Kotlin-разработчика" https://jpoint.ru/talks/dfb53bfc4ec74165830e81c036a28ad8
Доклад был вчера, регистрация закрыта, увы, но можно скачать pdf.
Мне понравились две вещи:
1) идея разделения всех инструментов разработчика на уровни по их необходимости. Как это сделано в докладе - можно поспорить, но сама идея хороша.
2) нашел новые для себя инструменты - генератор тестов для бизнес-логики, расшаривание набора зависимостей между проектами в Gradle, автоматизация обновления библиотек в проекте. Еще интересна метрика Hits of code вместо Lines of code, полезно для для наблюдения за проектом. Жаль, что SonarQube ее не умеет считать.
Ну и интересно кто оказался на вершине пирамиды...
В общем рекомендую почитать, возможно найдете для себя что-то новое.
#conference #tools
JPoint 2023. Конференция для опытных Java‑разработчиков
Пирамида потребностей Маслоу для Java/Kotlin-разработчика | Доклад на JPoint 2023
Спикеры постараются раскрыть тему необходимых каждому Java/Kotlin-разработчику dev tools и классифицировать эти технологии в зависимости от иерархии потребностей.
Всем привет!
У каждого разработчика есть набор любимых инструментов. И на самом деле это важно - инструменты сильно облегчают нам жизнь. И если рассматривать разработку как ремесло, то правильные инструменты - это конкурентное преимущество.
Исторически так сложилось, что я работаю на Windows. Mac просто не зашел.
Поэтому решил поделится своим набором инструментов под Windows.
На первом месте безусловно IntelliJ IDEA. Я бы сказал, что ее хватает для 80% задач разработчика. Более того, хорошо видно, что разработчики IDEA работают над тем, чтобы эта цифра приблизилась к 100))))
Но на текущий момент IDEA - не только лишь наше все) Как я уже писал - кроме собственно написания кода, предположим на Java, разработчик сталкивается с рядом сопутствующих задач - https://t.me/javaKotlinDevOps/26 и https://t.me/javaKotlinDevOps/26.
И для них нужны свои инструменты, которых нет в IDEA.
Notepad++ - для работы с текстовыми файлами и файлами настроек. Намного круче редактора IDEA, особенно с плагинами.
Total Commander - работа с файловой системой. Альтернатива - Far, но лично я не люблю UI из DOS )))
KeePass - хранение и обмен паролями.
RegexBuddy - отладка RegEx выражений.
Официальный Git клиент - для работы с репозиториями, не содержащими код. Также для клонирования новых репозиториев. Если удобнее работать из контекстного меню - есть TortoiseGit.
Linux утилиты в Windows. Без Linux никак, да) Есть два порта утилит Linux для Windows - Cygwin и MinGw, последний входит в состав дистрибутива Git. Что как по мне удобно - два в одном.
WinSCP, Putty, MTPutty - доступ по ssh для настройки серверов и просмотра логов. Замечу, что после перехода на Docker уже не так актуально.
Postman, Insomnia, SoapUI - тестирование http. Встроенный в IDEA http client подходит для простых случаев - когда не требуются проверки, сложная настройка кук, сред, переменных...
JMeter - нагрузочное тестирование по http.
Keystore Explorer - работа с SSL сертификатами.
Beyond Compare - сравнение файлов и каталогов. Для простых случаев хватает инструментов, встроенных в Total Commander.
Docker Desktop или VirtualBox плюс WSL (Windows subsystem for Linux) - для запуска Docker.
DBeaver, EMS SQL Manager, Navicat - если вам не хватает IDEA Database tools. Мне сейчас хватает))) Но раньше использовал все три, все три нравятся.
Менеджер буфера обмена, например ArsClip. Для работы вне IDEA,в IDEA уже есть работа с буфером обмена.
Работа с заметками. Лично я пользуюсь Evernote. Как альтернатива - OneNote. Еще альтернатива - Telegram канал, куда можно сбрасывать все заметки и расставлять тэги)))
WinRar или 7Zip - архивирование. Сейчас уже не так актуально, диски у нас условно безразмерные, но для отправки по почте - бывает нужно.
Отладчик Google Chrome или Yandex Browser (по вкусу).
kubectl или oc - клиент для работы с k8s или Openshift
Работающий VPN - для работы с тем же ChatGPT.
P.S На самом деле эта заметка преследует скрытую цель - узнать что-то новое. Если вы используете что-то полезное для разработки, а я о нем забыл, не знал - напиши, плиз, в комментах.
#tools #windows
У каждого разработчика есть набор любимых инструментов. И на самом деле это важно - инструменты сильно облегчают нам жизнь. И если рассматривать разработку как ремесло, то правильные инструменты - это конкурентное преимущество.
Исторически так сложилось, что я работаю на Windows. Mac просто не зашел.
Поэтому решил поделится своим набором инструментов под Windows.
На первом месте безусловно IntelliJ IDEA. Я бы сказал, что ее хватает для 80% задач разработчика. Более того, хорошо видно, что разработчики IDEA работают над тем, чтобы эта цифра приблизилась к 100))))
Но на текущий момент IDEA - не только лишь наше все) Как я уже писал - кроме собственно написания кода, предположим на Java, разработчик сталкивается с рядом сопутствующих задач - https://t.me/javaKotlinDevOps/26 и https://t.me/javaKotlinDevOps/26.
И для них нужны свои инструменты, которых нет в IDEA.
Notepad++ - для работы с текстовыми файлами и файлами настроек. Намного круче редактора IDEA, особенно с плагинами.
Total Commander - работа с файловой системой. Альтернатива - Far, но лично я не люблю UI из DOS )))
KeePass - хранение и обмен паролями.
RegexBuddy - отладка RegEx выражений.
Официальный Git клиент - для работы с репозиториями, не содержащими код. Также для клонирования новых репозиториев. Если удобнее работать из контекстного меню - есть TortoiseGit.
Linux утилиты в Windows. Без Linux никак, да) Есть два порта утилит Linux для Windows - Cygwin и MinGw, последний входит в состав дистрибутива Git. Что как по мне удобно - два в одном.
WinSCP, Putty, MTPutty - доступ по ssh для настройки серверов и просмотра логов. Замечу, что после перехода на Docker уже не так актуально.
Postman, Insomnia, SoapUI - тестирование http. Встроенный в IDEA http client подходит для простых случаев - когда не требуются проверки, сложная настройка кук, сред, переменных...
JMeter - нагрузочное тестирование по http.
Keystore Explorer - работа с SSL сертификатами.
Beyond Compare - сравнение файлов и каталогов. Для простых случаев хватает инструментов, встроенных в Total Commander.
Docker Desktop или VirtualBox плюс WSL (Windows subsystem for Linux) - для запуска Docker.
DBeaver, EMS SQL Manager, Navicat - если вам не хватает IDEA Database tools. Мне сейчас хватает))) Но раньше использовал все три, все три нравятся.
Менеджер буфера обмена, например ArsClip. Для работы вне IDEA,в IDEA уже есть работа с буфером обмена.
Работа с заметками. Лично я пользуюсь Evernote. Как альтернатива - OneNote. Еще альтернатива - Telegram канал, куда можно сбрасывать все заметки и расставлять тэги)))
WinRar или 7Zip - архивирование. Сейчас уже не так актуально, диски у нас условно безразмерные, но для отправки по почте - бывает нужно.
Отладчик Google Chrome или Yandex Browser (по вкусу).
kubectl или oc - клиент для работы с k8s или Openshift
Работающий VPN - для работы с тем же ChatGPT.
P.S На самом деле эта заметка преследует скрытую цель - узнать что-то новое. Если вы используете что-то полезное для разработки, а я о нем забыл, не знал - напиши, плиз, в комментах.
#tools #windows
Telegram
(java || kotlin) && devOps
Продолжим с hard-skills, не связанными с основным языком программирования.
7) базовые навыки DevOps. DevOps есть в любой более менее современной компании. Любой разработчик с ним соприкасается. Понимать основы надо.
Что я понимаю под основами: зачем вообще…
7) базовые навыки DevOps. DevOps есть в любой более менее современной компании. Любой разработчик с ним соприкасается. Понимать основы надо.
Что я понимаю под основами: зачем вообще…
Всем привет!
Запилил небольшое сравнение AI чатов для задач разработки.
https://gitverse.ru/javadev/ai-tools-comparision/content/master/README.md
Почему в Git - потому что там есть полноценный Markdown и таблицы.
Фокус на бесплатных инструментах - для тех, кто хочет попробовать. Сравнение функциональное + бенчмарки, без реальных запросов. По реальным задачам сделаю отдельный пост.
Пока мне больше всего нравится Perplexity. Работает без VPN, есть ссылки на источники, под капотом несколько мощных моделей, можно загружать книжки для пересказа и есть упор на точный поиск в интернете. Далеко не все инструменты в принципе умеют искать в интернете. Но даже те, что умеют - часто галлюцинируют. Примеры:
1) что нового в Java 22 - все, кто умеют искать, ответили более менее точно
2) первая тройка на Олимпиаде 2024 и разбивка по медалям - точно ответила только Perplexity, остальные показали рандомные цифры и даже страны.
Из минусов - в бесплатном режиме есть 5 запросов в режиме Pro в день, но нет выбора модели. Т.е. какая модель использовалась - понять невозможно. Но отвечает неплохо.
По VPN - это может быть критично, если уже сидишь под рабочим VPN.
Также выглядят интересными ChatGPT, Deepseek Coder и Mistral.
Еще замечания:
1) YandexGPT добавил как гарантировано доступный в России, хотя сам Яндекс для разработки ее не позиционирует. И еще забавный момент - в Алисе последняя версия YandexGPT доступна ограничено, а в Cloud - похоже что нет. Более того, она и отвечает лучше на "той же" версии модели по вопросам разработки. Лучше, но все равно слабее иностранных конкурентов.
2) GigaCode - это отдельная модель, отличающаяся от GigaChat. Доступна только через плагин IDE. Ребята неплохо развиваются, хотя и с упором на AutoCompletion, а не режим чата.
3) Copilot c сайта выглядит как вариант ChatGPT, отстающий от него по версиям, и главное - не заточенный под разработку, а под интеграцию с продуктами Microsoft. Скорее всего Copilot из GitHub - это другая, дообученная модель. Но, увы, только платная https://github.com/features/copilot
4) размер контекста модели - понятие растяжимое. Напомню - контекст определяет размер запроса, ответа и памяти модели в рамках текущего диалога. Почему растяжимое - не столько из-за того, что считается в токенах, а токен не равен слову. Похоже каждый инструмент интерпретирует это число по-своему - вот тут интересно насчет ChatGPT https://habr.com/ru/articles/758890/ Вот что пишет Perplexity: By default Perplexity reads at least 4000 tokens per question but it can read many more with file upload. Longer pasted text is converted to a file automatically.
5) если инструмент показывает источник ответа - не факт, что ответ в точности такой, как в источнике. Но в любом случае источник полезен.
6) Deepseek Coder и Mistral не так известны, но заточены под работу с кодом и неплохо работают судя по бенчмаркам, поэтому и попали в сравнение
P.S. Я не спец по ML инструментам, я только учусь)
#ml #tools
Запилил небольшое сравнение AI чатов для задач разработки.
https://gitverse.ru/javadev/ai-tools-comparision/content/master/README.md
Почему в Git - потому что там есть полноценный Markdown и таблицы.
Фокус на бесплатных инструментах - для тех, кто хочет попробовать. Сравнение функциональное + бенчмарки, без реальных запросов. По реальным задачам сделаю отдельный пост.
Пока мне больше всего нравится Perplexity. Работает без VPN, есть ссылки на источники, под капотом несколько мощных моделей, можно загружать книжки для пересказа и есть упор на точный поиск в интернете. Далеко не все инструменты в принципе умеют искать в интернете. Но даже те, что умеют - часто галлюцинируют. Примеры:
1) что нового в Java 22 - все, кто умеют искать, ответили более менее точно
2) первая тройка на Олимпиаде 2024 и разбивка по медалям - точно ответила только Perplexity, остальные показали рандомные цифры и даже страны.
Из минусов - в бесплатном режиме есть 5 запросов в режиме Pro в день, но нет выбора модели. Т.е. какая модель использовалась - понять невозможно. Но отвечает неплохо.
По VPN - это может быть критично, если уже сидишь под рабочим VPN.
Также выглядят интересными ChatGPT, Deepseek Coder и Mistral.
Еще замечания:
1) YandexGPT добавил как гарантировано доступный в России, хотя сам Яндекс для разработки ее не позиционирует. И еще забавный момент - в Алисе последняя версия YandexGPT доступна ограничено, а в Cloud - похоже что нет. Более того, она и отвечает лучше на "той же" версии модели по вопросам разработки. Лучше, но все равно слабее иностранных конкурентов.
2) GigaCode - это отдельная модель, отличающаяся от GigaChat. Доступна только через плагин IDE. Ребята неплохо развиваются, хотя и с упором на AutoCompletion, а не режим чата.
3) Copilot c сайта выглядит как вариант ChatGPT, отстающий от него по версиям, и главное - не заточенный под разработку, а под интеграцию с продуктами Microsoft. Скорее всего Copilot из GitHub - это другая, дообученная модель. Но, увы, только платная https://github.com/features/copilot
4) размер контекста модели - понятие растяжимое. Напомню - контекст определяет размер запроса, ответа и памяти модели в рамках текущего диалога. Почему растяжимое - не столько из-за того, что считается в токенах, а токен не равен слову. Похоже каждый инструмент интерпретирует это число по-своему - вот тут интересно насчет ChatGPT https://habr.com/ru/articles/758890/ Вот что пишет Perplexity: By default Perplexity reads at least 4000 tokens per question but it can read many more with file upload. Longer pasted text is converted to a file automatically.
5) если инструмент показывает источник ответа - не факт, что ответ в точности такой, как в источнике. Но в любом случае источник полезен.
6) Deepseek Coder и Mistral не так известны, но заточены под работу с кодом и неплохо работают судя по бенчмаркам, поэтому и попали в сравнение
P.S. Я не спец по ML инструментам, я только учусь)
#ml #tools
gitverse.ru
README.md - master | Gitverse
README.md - master. Актуальные файлы и описания. Ветки и обсуждения на платформе для разработчиков GitVerse.
Ещё один интересный доклад - про самую производительную утилиту для НТ - и это wrk2. Позволяет на типовой машине 8 ядер и 12 Гб (надеюсь правильно запомнил конфигурацию, но плюс минус так) подымать 10 000+ параллельных соединений в несколько потоков. Плюс минимизировать эффект от временной недоступности тестируемой системы - т.наз. Coordinated Omission - как числом потоков, так и математической корректировкой результата теста и дальнейшей последовательности вызовов. Надеюсь, заинтриговал) Минус - утилита заброшена автором с 2016 года, но этот минус поправили, см https://t.me/rybakalexey/98
По ссылке - блог автора доклада. Плюс сам доклад https://t.me/rybakalexey/170
#нт #tools
По ссылке - блог автора доклада. Плюс сам доклад https://t.me/rybakalexey/170
#нт #tools
Telegram
System Design & Highload (Alexey Rybak)
Нагрузочное тестирование с wrk2/wrkx. Онлайн-митап DevHands.io 14 мая 18:30 MSK
В прошлом году когда я запускал хайлоад-буткемп и делал модуль про нагрузочное тестирование, мониторинг и тюнинг, я выбрал wrk2. Выбрал за скорость и простоту и ни разу не пожалел…
В прошлом году когда я запускал хайлоад-буткемп и делал модуль про нагрузочное тестирование, мониторинг и тюнинг, я выбрал wrk2. Выбрал за скорость и простоту и ни разу не пожалел…