Настройка .properties для локального окружения
Пару дней назад в чате обсуждали ситуацию с правками файла окружения
Одно из озвученных решений — указать Git игнорировать файлы в папке
Команда
Такое решение имеет недостаток: вы больше не будете получать обновления по этому файлу.
Другое решение — это использование переменных окружения. Вы можете задать расположение файла конфигурации вне директории проекта.
Как это сделать?
Откройте IntelliJ IDEA: Run → Edit Configurations. В появившемся окне выберите Modify options → Add VM options.
Здесь можно указать любые настройки для Spring Boot. Например, задать расположение файла конфигурации:
Или указать отдельные настройки, например только профиль:
А как вы работаете с настройками локального окружения?
Больше информации вы можете найти на нашем курсе Spring Core | AOP на платформе https://job4j.ru.
Пару дней назад в чате обсуждали ситуацию с правками файла окружения
application.properties. Ситуация стандартная: вы клонируете проект и настраиваете окружение. Как вы это делаете? Изменяете файл application.properties. Эти изменения отслеживает Git. После завершения задачи вы с радостью фиксируете изменения и загружаете настройки своего окружения в удалённый репозиторий.Одно из озвученных решений — указать Git игнорировать файлы в папке
config. Например, так:git update-index --assume-unchanged /путь/к/файлу
Команда
git update-index --assume-unchanged /путь/к/файлу сообщает Git, что вы хотите, чтобы он перестал отслеживать изменения указанного файла, но при этом не удаляет его из репозитория и не изменяет сам файл.Такое решение имеет недостаток: вы больше не будете получать обновления по этому файлу.
Другое решение — это использование переменных окружения. Вы можете задать расположение файла конфигурации вне директории проекта.
Как это сделать?
Откройте IntelliJ IDEA: Run → Edit Configurations. В появившемся окне выберите Modify options → Add VM options.
Здесь можно указать любые настройки для Spring Boot. Например, задать расположение файла конфигурации:
-Dspring.config.location=file:c:/tmp/application.properties
Или указать отдельные настройки, например только профиль:
-Dspring.profiles.active=test
А как вы работаете с настройками локального окружения?
Больше информации вы можете найти на нашем курсе Spring Core | AOP на платформе https://job4j.ru.
👍13🔥1
KISS для Spring Boot и \*.properties
Добавил урок в блок Spring Core | AOP
Настройка окружения *.properties [#505377]
Коротко в уроке:
Чтобы упростить работу с конфигурациями, в Spring Boot можно вынести настройки в разные файлы. Например, создать структуру:
В каждом файле храним параметры, сгруппированные по назначению.
Также можно подключать внешние папки (например,
Не забудьте добавить папку
А для переопределения конфигураций поместите нужные настройки в папку
Блок Spring Core | AOP можно пройти отдельно. Стоимость: 8650 рублей. http://job4j.ru/
Добавил урок в блок Spring Core | AOP
Настройка окружения *.properties [#505377]
Коротко в уроке:
Чтобы упростить работу с конфигурациями, в Spring Boot можно вынести настройки в разные файлы. Например, создать структуру:
config/common/application.properties
config/logs/application.properties
config/telegram/application.properties
config/database/application.properties
В каждом файле храним параметры, сгруппированные по назначению.
Также можно подключать внешние папки (например,
dev/config/) как необязательные, используя ключ optional. Для этого в application.properties (в самом конце!) добавляем: spring.config.location=optional:file:./dev/config/*/
Не забудьте добавить папку
dev/ в .gitignore: dev/*
А для переопределения конфигураций поместите нужные настройки в папку
config/z_override/.Блок Spring Core | AOP можно пройти отдельно. Стоимость: 8650 рублей. http://job4j.ru/
🔥8
Добавлены новые уроки в курс DevOps:
1. Обзор Kubernetes [#505375]
2. Kubernetes в Debian [#505376]
3. DockerHub [#505379]
4. Запускаем проект в Kubernetes [#505378]
Друзья, у меня к вам большая просьба: кто уже взял этот курс — доделывайте его!
Сожмите булки, скрипите зубами, но делайте! )
А тем, кто ещё не решился погрузиться в «тёмную сторону CMD», напоминаю:
— Стоимость курса: 7990 рублей.
— В курсе весь «фарш» для микросервисов: Gradle | Docker | Testcontainers | Kubernetes | Helm | Prometheus | Grafana | ELK.
Если вы хотите освоить DevOps с нуля и научиться управлять контейнерами, деплоить сервисы и автоматизировать всё на свете, — присоединяйтесь!
Будет горячо 🔥
1. Обзор Kubernetes [#505375]
2. Kubernetes в Debian [#505376]
3. DockerHub [#505379]
4. Запускаем проект в Kubernetes [#505378]
Друзья, у меня к вам большая просьба: кто уже взял этот курс — доделывайте его!
Сожмите булки, скрипите зубами, но делайте! )
А тем, кто ещё не решился погрузиться в «тёмную сторону CMD», напоминаю:
— Стоимость курса: 7990 рублей.
— В курсе весь «фарш» для микросервисов: Gradle | Docker | Testcontainers | Kubernetes | Helm | Prometheus | Grafana | ELK.
Если вы хотите освоить DevOps с нуля и научиться управлять контейнерами, деплоить сервисы и автоматизировать всё на свете, — присоединяйтесь!
Будет горячо 🔥
🔥15
Maven Builds Cache
После недолгого использования Gradle я настолько проникся удобством инкрементного кеша, что задумался о переводе всех своих проектов на Gradle.
После первого проекта я решил, что и так неплохо, ведь адаптация занимает некоторое время. Но в голове всё крутилась мысль, что неужели Maven не может предложить что-то подобное?
Сегодня мне надоело ждать, пока Maven завершит выполнение тестов, ведь я добавил всего один тест. Я решил поискать информацию о том, как включить инкрементальную сборку с кешированием.
Как же я был рад, когда узнал, что для этого достаточно добавить один блок в конфигурацию:
Теперь Maven стал намного быстрее!
Пример проекта с этой настройкой можно найти здесь: https://github.com/peterarsentev/job4j_elementary.
Если вы хотите углубиться в тему и изучить ещё больше интересных решений, приглашаю вас на наш курс на Job4j.ru! 🚀
#Maven #Gradle #Caching #Job4j #Разработка
После недолгого использования Gradle я настолько проникся удобством инкрементного кеша, что задумался о переводе всех своих проектов на Gradle.
После первого проекта я решил, что и так неплохо, ведь адаптация занимает некоторое время. Но в голове всё крутилась мысль, что неужели Maven не может предложить что-то подобное?
Сегодня мне надоело ждать, пока Maven завершит выполнение тестов, ведь я добавил всего один тест. Я решил поискать информацию о том, как включить инкрементальную сборку с кешированием.
Как же я был рад, когда узнал, что для этого достаточно добавить один блок в конфигурацию:
<extensions>
<extension>
<groupId>org.apache.maven.extensions</groupId>
<artifactId>maven-build-cache-extension</artifactId>
<version>1.2.0</version>
</extension>
</extensions>
Теперь Maven стал намного быстрее!
Пример проекта с этой настройкой можно найти здесь: https://github.com/peterarsentev/job4j_elementary.
Если вы хотите углубиться в тему и изучить ещё больше интересных решений, приглашаю вас на наш курс на Job4j.ru! 🚀
#Maven #Gradle #Caching #Job4j #Разработка
GitHub
GitHub - peterarsentev/job4j_elementary
Contribute to peterarsentev/job4j_elementary development by creating an account on GitHub.
🔥11👍5❤1
👋 TalkSharp - языковой партнер
Рад представить вам мой новый пет-проект — TalkSharp! 🎤
👉 https://t.me/talksharp_bot
Что это?
Это Telegram-бот, который поможет вам оттачивать навыки "говорения"! 💬
💡 Идея родилась из моего желания улучшать английский и немецкий. Когда ты выполняешь грамматические задания или читаешь книги, появляется желание обсудить материал на целевом языке. Я пробовал говорить вслух, но хотел бы записать себя и проанализировать. А еще лучше — получить аудио-ответ от носителя с указанием ошибок. 🎧
В первой версии проекта мы реализовали этот функционал!
Как это работает?
1️⃣ Отправляете аудио-сообщение.
2️⃣ Бот анализирует вашу речь и преобразует её в текст.
3️⃣ Получаете результат с возможными ошибками и исправлениями. 📝
🌟 Буду очень признателен за ваши отзывы! Ваше мнение поможет сделать проект лучше. 🙏
Рад представить вам мой новый пет-проект — TalkSharp! 🎤
👉 https://t.me/talksharp_bot
Что это?
Это Telegram-бот, который поможет вам оттачивать навыки "говорения"! 💬
💡 Идея родилась из моего желания улучшать английский и немецкий. Когда ты выполняешь грамматические задания или читаешь книги, появляется желание обсудить материал на целевом языке. Я пробовал говорить вслух, но хотел бы записать себя и проанализировать. А еще лучше — получить аудио-ответ от носителя с указанием ошибок. 🎧
В первой версии проекта мы реализовали этот функционал!
Как это работает?
1️⃣ Отправляете аудио-сообщение.
2️⃣ Бот анализирует вашу речь и преобразует её в текст.
3️⃣ Получаете результат с возможными ошибками и исправлениями. 📝
🌟 Буду очень признателен за ваши отзывы! Ваше мнение поможет сделать проект лучше. 🙏
🔥8👍4
🚀 Рынок IT начинает расти!
Когда-то у нас был сервис CheckDev, который собирал статистику по запросам с HH. Я время от времени заглядывал, чтобы отслеживать тренды на рынке.
Но недавно заметил, что рынок снова начинает расти, и хотел красиво визуализировать это с помощью графика. Оказалось, что наш сервис просто обновляет одно поле, а не собирает данные для полноценной статистики. 😅
Не досмотрел реализацию фичи... Это такой момент, когда хочется что-то сделать, а потом понимаешь, что всё не совсем так, как планировал. 😎
#IT #Тренды #Статистика #Развитие #Ошибки
Когда-то у нас был сервис CheckDev, который собирал статистику по запросам с HH. Я время от времени заглядывал, чтобы отслеживать тренды на рынке.
Но недавно заметил, что рынок снова начинает расти, и хотел красиво визуализировать это с помощью графика. Оказалось, что наш сервис просто обновляет одно поле, а не собирает данные для полноценной статистики. 😅
Не досмотрел реализацию фичи... Это такой момент, когда хочется что-то сделать, а потом понимаешь, что всё не совсем так, как планировал. 😎
#IT #Тренды #Статистика #Развитие #Ошибки
😁4🔥2🤷♂1
TalkSharp - языковой партнер
Обновления проекта:
- Добавил поддержку языков. По умолчанию English
- Подключили улучшенную модуль для языков.
Пробуйте 🚀 @talksharp_bot
Обновления проекта:
- Добавил поддержку языков. По умолчанию English
- Подключили улучшенную модуль для языков.
Пробуйте 🚀 @talksharp_bot
🔥6
TalkSharp научился вести диалог
Добавили интерактивный режим. Теперь бот полноценно ведет диалог.
Пробуйте и пиши отзывы @talksharp_bot
Добавили интерактивный режим. Теперь бот полноценно ведет диалог.
Пробуйте и пиши отзывы @talksharp_bot
❤4🔥1🤩1
TalkSharp предоставляет перевод
Добавили перевод диалога на русский язык.
Переписали меню и метки так же на русский язык.
Экспериментируйте @talksharp_bot
Добавили перевод диалога на русский язык.
Переписали меню и метки так же на русский язык.
Экспериментируйте @talksharp_bot
🔥8👍1
TalkSharp | Лингво-тренер
Сегодня поправили первые баги )):
1. Убрали авто воспроизведение аудио.
2. Поправили проблему с произношением "звездочек"
Прокачивайте 🇺🇸🇩🇪🇪🇸 с @talksharp_bot
Сегодня поправили первые баги )):
1. Убрали авто воспроизведение аудио.
2. Поправили проблему с произношением "звездочек"
Прокачивайте 🇺🇸🇩🇪🇪🇸 с @talksharp_bot
🔥9
TalkSharp | Обновления
Добавили анализ словарного запаса.
Это позволяет отслеживать свой прогресс в языке.
Так же дополнительно мотивирует заниматься больше. Бот анализирует и словарный запас и длительность аудио- сообщения.
- A1: 90–100 часов обучения, из них ~25–30 часов на разговорную практику.
- A2: 180–200 часов обучения, ~45–60 часов разговорной практики.
- B1: 350–400 часов обучения, ~90–120 часов разговорной практики.
- B2: 600–750 часов обучения, ~150–225 часов разговорной практики.
- C1: 800–1000 часов обучения, ~200–300 часов разговорной практики.
- C2: 1200–1500 часов обучения, ~300–375 часов разговорной практики.
Тренируйтесь @talksharp_bot
Добавили анализ словарного запаса.
Это позволяет отслеживать свой прогресс в языке.
Так же дополнительно мотивирует заниматься больше. Бот анализирует и словарный запас и длительность аудио- сообщения.
- A1: 90–100 часов обучения, из них ~25–30 часов на разговорную практику.
- A2: 180–200 часов обучения, ~45–60 часов разговорной практики.
- B1: 350–400 часов обучения, ~90–120 часов разговорной практики.
- B2: 600–750 часов обучения, ~150–225 часов разговорной практики.
- C1: 800–1000 часов обучения, ~200–300 часов разговорной практики.
- C2: 1200–1500 часов обучения, ~300–375 часов разговорной практики.
Тренируйтесь @talksharp_bot
🔥4👍3
DeepSeek в кармане
Для проекта TalkSharp я использую GigaChat для генерации диалога. С задачей поговорить о жизни этот ИИ справляется хорошо.
Но сегодня утром появилось желание использовать что-то помощнее, и я решил взять DeepSeek.
Конечно, мне хотелось бы вторнуть сюда GPT, но чтобы его использовать, нужно держать сервер за границей и платить кучу денег.
DeepSeek выглядит доступной альтернативой для этой цели. Первое, что хотел сделать — это попробовать REST API. Документация простая и понятная. Однако запустить её я не смог, так как нужно оплатить токены, а оплату они временно закрыли.
В одном из постов про невозможность оплаты API я увидел комментарий о возможности запустить DeepSeek локально. Посмотрев документацию по использованию Ollama, я решил, что стоит попробовать. И вот, через 10 минут у меня DeepSeek на сервере.
От возможности использовать DeepSeek локально у меня были радости полные штаны.
В голове я уже прокручивал, как я его прикручу в Job4j и TalkSharp и ещё наделаю 100500 пет-проектов.
Но после первых запросов я понял, что, увы и ах, мощности моего сервера для приемлемой работы не хватает.
Ещё я заметил интересную особенность. Я обычно не обращаю внимания, когда GPT o1 показывает сводную информацию об анализе запроса, но так как DeepSeek локально работал медленно, а мне пришлось ждать, то я стал читать его "мысли".
Я вам скажу, что мысли его были отвратительные. Сложилось впечатление, что китайцы специально заложили в него такое поведение. Я делал простой запрос для проверки времени отклика: 1 + 1 = ?. Во второй раз DeepSeek отметил, что я, как кожаный мешок, уже спрашивал этот вопрос, что он считает странным. Видимо, — продолжает DeepSeek, — я его проверяю, и он понял это и даст тот же ответ.
Пока продолжаем с GigaChat, а как откроют возможность оплаты DeepSeek переключу на него свои проекты.
Для проекта TalkSharp я использую GigaChat для генерации диалога. С задачей поговорить о жизни этот ИИ справляется хорошо.
Но сегодня утром появилось желание использовать что-то помощнее, и я решил взять DeepSeek.
Конечно, мне хотелось бы вторнуть сюда GPT, но чтобы его использовать, нужно держать сервер за границей и платить кучу денег.
DeepSeek выглядит доступной альтернативой для этой цели. Первое, что хотел сделать — это попробовать REST API. Документация простая и понятная. Однако запустить её я не смог, так как нужно оплатить токены, а оплату они временно закрыли.
В одном из постов про невозможность оплаты API я увидел комментарий о возможности запустить DeepSeek локально. Посмотрев документацию по использованию Ollama, я решил, что стоит попробовать. И вот, через 10 минут у меня DeepSeek на сервере.
От возможности использовать DeepSeek локально у меня были радости полные штаны.
В голове я уже прокручивал, как я его прикручу в Job4j и TalkSharp и ещё наделаю 100500 пет-проектов.
Но после первых запросов я понял, что, увы и ах, мощности моего сервера для приемлемой работы не хватает.
Ещё я заметил интересную особенность. Я обычно не обращаю внимания, когда GPT o1 показывает сводную информацию об анализе запроса, но так как DeepSeek локально работал медленно, а мне пришлось ждать, то я стал читать его "мысли".
Я вам скажу, что мысли его были отвратительные. Сложилось впечатление, что китайцы специально заложили в него такое поведение. Я делал простой запрос для проверки времени отклика: 1 + 1 = ?. Во второй раз DeepSeek отметил, что я, как кожаный мешок, уже спрашивал этот вопрос, что он считает странным. Видимо, — продолжает DeepSeek, — я его проверяю, и он понял это и даст тот же ответ.
Пока продолжаем с GigaChat, а как откроют возможность оплаты DeepSeek переключу на него свои проекты.
🔥11👍5
TalkSharp - режим "ситуация"
- добавили режим ситуация. Выберите в меню пункт "Режим ситуация". Бот сгенерирует ситуацию и задаст вопросы в контексте этой ситуации. Ваша задача ответить.
Попробуйте и дайте обратную связь @talksharp_bot
- добавили режим ситуация. Выберите в меню пункт "Режим ситуация". Бот сгенерирует ситуацию и задаст вопросы в контексте этой ситуации. Ваша задача ответить.
Попробуйте и дайте обратную связь @talksharp_bot
🔥5❤1
Еще один транскриптор языков?! 🤔
В большей степени этого бота я создаю для себя. У меня английский начался, как и у большинства, в школе 📚, потом продолжился в институте 🎓, а сейчас используется на работе 💼. В пассивном варианте язык находится на хорошем уровне, а вот в активном совсем слабо.
Бот закрыл первую потребность. Теперь есть с кем потренироваться в разговоре 💬. Да, я понимаю, что есть вагон и маленькая тележка таких приложений 🚂, не говоря уже о GPT Voice 🎙. Мне ими пользоваться неудобно. Для GPT нужен VPN 🌍, Busuu работает тормознуто 🐢, Memorize имеет ограниченное количество диалогов 🧠. Хотелось просто открыть Telegram и начать тренироваться, а не искать подходящее приложение 📲.
Далее я добавил анализ словарного запаса 📊. Дело в том, что в повседневной речи мы используем крайне ограниченный набор слов. Чтобы расти в языке, нужно использовать разнообразную лексику 🌱. Эта проблема сразу отобразилась в статистике 📈. На уровне A1 мой прогресс замедлился. Проблема в том, что мне нужно было придумывать, о чем поговорить 🤷♂️. Тут появилась вторая важная функция — режим ситуации 🏙.
Чтобы не ломать голову, о чем поговорить, я добавил режим ситуации. Пользователь выбирает место, а ИИ придумывает ситуацию и задаёт вопросы в контексте этой ситуации 📍. Как вы заметили, последнюю неделю я активно добавляю функции в этот проект и прошу вас попробовать им пользоваться ✨. Однако по статистике использования вижу, что отправляют одно сообщение и дальше ничего не происходит 🚫.
Дайте обратную связь! 🙌
У меня есть несколько предположений:
1. Нет интереса к иностранным языкам. Пользователь не входит в фокус-группу 🎯. Тут я ничего поделать не могу.
2. Хотел бы поговорить, но не знаю о чём. Как раз тут поможет режим ситуации 💡. Опять же, добавил его в первую очередь из своей потребности.
3. Ваши поделки мне не нужны. Я использую и то, и то 🔄. Тут, конечно, хотелось бы услышать, кто чем пользуется, чтобы тренировать разговорный навык 💬. Я уже писал пост про сервисы DeepL и Quizlet, но они больше для расширения словарного запаса 📚.
4. И последняя группа — уровень языка не позволяет участвовать в диалоге 🗣. Мой уровень немецкого языка A1, но даже с ним я могу спросить или рассказать о себе на немецком 🇩🇪. Это, конечно, тяжело, но всё же.
Пробник тут @talksharp_bot. Жду ваших комментарии... 💬
В большей степени этого бота я создаю для себя. У меня английский начался, как и у большинства, в школе 📚, потом продолжился в институте 🎓, а сейчас используется на работе 💼. В пассивном варианте язык находится на хорошем уровне, а вот в активном совсем слабо.
Бот закрыл первую потребность. Теперь есть с кем потренироваться в разговоре 💬. Да, я понимаю, что есть вагон и маленькая тележка таких приложений 🚂, не говоря уже о GPT Voice 🎙. Мне ими пользоваться неудобно. Для GPT нужен VPN 🌍, Busuu работает тормознуто 🐢, Memorize имеет ограниченное количество диалогов 🧠. Хотелось просто открыть Telegram и начать тренироваться, а не искать подходящее приложение 📲.
Далее я добавил анализ словарного запаса 📊. Дело в том, что в повседневной речи мы используем крайне ограниченный набор слов. Чтобы расти в языке, нужно использовать разнообразную лексику 🌱. Эта проблема сразу отобразилась в статистике 📈. На уровне A1 мой прогресс замедлился. Проблема в том, что мне нужно было придумывать, о чем поговорить 🤷♂️. Тут появилась вторая важная функция — режим ситуации 🏙.
Чтобы не ломать голову, о чем поговорить, я добавил режим ситуации. Пользователь выбирает место, а ИИ придумывает ситуацию и задаёт вопросы в контексте этой ситуации 📍. Как вы заметили, последнюю неделю я активно добавляю функции в этот проект и прошу вас попробовать им пользоваться ✨. Однако по статистике использования вижу, что отправляют одно сообщение и дальше ничего не происходит 🚫.
Дайте обратную связь! 🙌
У меня есть несколько предположений:
1. Нет интереса к иностранным языкам. Пользователь не входит в фокус-группу 🎯. Тут я ничего поделать не могу.
2. Хотел бы поговорить, но не знаю о чём. Как раз тут поможет режим ситуации 💡. Опять же, добавил его в первую очередь из своей потребности.
3. Ваши поделки мне не нужны. Я использую и то, и то 🔄. Тут, конечно, хотелось бы услышать, кто чем пользуется, чтобы тренировать разговорный навык 💬. Я уже писал пост про сервисы DeepL и Quizlet, но они больше для расширения словарного запаса 📚.
4. И последняя группа — уровень языка не позволяет участвовать в диалоге 🗣. Мой уровень немецкого языка A1, но даже с ним я могу спросить или рассказать о себе на немецком 🇩🇪. Это, конечно, тяжело, но всё же.
Пробник тут @talksharp_bot. Жду ваших комментарии... 💬
🔥2
TalkSharp | Поболтать ни о чем
Сегодня добавил функцию "Поболтать". Бот задает короткий вопрос.
Так же. Поправил запрос к ИИ. Теперь бот стал отвечать интересней.
Поправил вывод статистики. Добавил иконки языков.
Поболтаем? @talksharp_bot 💭
Сегодня добавил функцию "Поболтать". Бот задает короткий вопрос.
Так же. Поправил запрос к ИИ. Теперь бот стал отвечать интересней.
Поправил вывод статистики. Добавил иконки языков.
Поболтаем? @talksharp_bot 💭
🔥10
TalkSharp | Рейтинги
Продолжаю работать над проектом лингво-тренер.
В целом тестирую в основном на себе )).
1. Добавил баллы за количество слов.
2. Добавил информированию об использовании новых слов. Позволяет отслеживать активный словарный запас.
3. Убрал перевод. Вынес его в кнопку. Ранее он занимал много места.
Статистика по своей тренировке: я наговорил 1 час. Словарный запас 1000 слов.
На самом деле это крайне мало в расчете на неделю получается меньше 10 минут в день. Крайне мало. Зато теперь есть статистика.
Пробуйте @talksharp_bot
Продолжаю работать над проектом лингво-тренер.
В целом тестирую в основном на себе )).
1. Добавил баллы за количество слов.
2. Добавил информированию об использовании новых слов. Позволяет отслеживать активный словарный запас.
3. Убрал перевод. Вынес его в кнопку. Ранее он занимал много места.
Статистика по своей тренировке: я наговорил 1 час. Словарный запас 1000 слов.
На самом деле это крайне мало в расчете на неделю получается меньше 10 минут в день. Крайне мало. Зато теперь есть статистика.
Пробуйте @talksharp_bot
🔥1
Словарный запас
В этой статье я продолжу тему изучения иностранных языков и хотел бы затронуть тему словарного запаса.
Какую основную проблему должен решать проект лингво-тренер? Он должен решать проблему тренировки разговорной речи. По моему мнению, любой язык нужно улучшать через общение, а не через текст или письмо. То есть основные навыки — это восприятие звуков и подражание этим звукам. Дети так и учат родной язык.
Эту задачу удачно решает этот бот. Записывай голосовые сообщения, затем переслушай свою речь. Осознай, что ты далек от оригинала. Сравни, как бот произносит твою речь. Проверь грамматику и получи ответ от бота, продолжая общение.
Теперь встает другая проблема. В своей повседневной речи мы используем крайне ограниченный словарный запас — бытовые слова. Чтобы помочь решить эту задачу, я добавил функцию "Подсказка".
Как это работает? Бот предлагает ответить на короткий открытый вопрос. В бота встроено более 2000 вопросов по более чем 15 темам. Под вопросом появляется кнопка "Подсказать". Бот предлагает варианты ответа и дополнительные слова, которые можно использовать при ответе на этот вопрос. Таким образом, вы можете изучить новые слова или активировать старые.
Другой проблемой является то, что повторить слово один раз недостаточно, чтобы оно стало активным в вашем словарном запасе. Чтобы решить эту задачу, я добавил режим "История". Каждый раз, когда вы общаетесь с ботом, он собирает ваш индивидуальный словарный запас. Бот отслеживает, сколько раз вы использовали то или иное слово. Затем он выбирает 4 редких слова из вашего словаря. Редкими считаются те слова, которые вы использовали наименьшее количество раз. Из этих слов бот составляет короткую историю, которую вам нужно пересказать. Моя идея заключается в том, что, во-первых, вы прослушиваете те слова, которые использовали всего один раз, а во-вторых, можете их повторно использовать в пересказе. Такой механизм позволяет запоминать слова естественным способом, без заучивания, флешкарт и другой ерунды.
Попробуйте @talksharp_bot.
В этой статье я продолжу тему изучения иностранных языков и хотел бы затронуть тему словарного запаса.
Какую основную проблему должен решать проект лингво-тренер? Он должен решать проблему тренировки разговорной речи. По моему мнению, любой язык нужно улучшать через общение, а не через текст или письмо. То есть основные навыки — это восприятие звуков и подражание этим звукам. Дети так и учат родной язык.
Эту задачу удачно решает этот бот. Записывай голосовые сообщения, затем переслушай свою речь. Осознай, что ты далек от оригинала. Сравни, как бот произносит твою речь. Проверь грамматику и получи ответ от бота, продолжая общение.
Теперь встает другая проблема. В своей повседневной речи мы используем крайне ограниченный словарный запас — бытовые слова. Чтобы помочь решить эту задачу, я добавил функцию "Подсказка".
Как это работает? Бот предлагает ответить на короткий открытый вопрос. В бота встроено более 2000 вопросов по более чем 15 темам. Под вопросом появляется кнопка "Подсказать". Бот предлагает варианты ответа и дополнительные слова, которые можно использовать при ответе на этот вопрос. Таким образом, вы можете изучить новые слова или активировать старые.
Другой проблемой является то, что повторить слово один раз недостаточно, чтобы оно стало активным в вашем словарном запасе. Чтобы решить эту задачу, я добавил режим "История". Каждый раз, когда вы общаетесь с ботом, он собирает ваш индивидуальный словарный запас. Бот отслеживает, сколько раз вы использовали то или иное слово. Затем он выбирает 4 редких слова из вашего словаря. Редкими считаются те слова, которые вы использовали наименьшее количество раз. Из этих слов бот составляет короткую историю, которую вам нужно пересказать. Моя идея заключается в том, что, во-первых, вы прослушиваете те слова, которые использовали всего один раз, а во-вторых, можете их повторно использовать в пересказе. Такой механизм позволяет запоминать слова естественным способом, без заучивания, флешкарт и другой ерунды.
Попробуйте @talksharp_bot.
🔥8
Задание
1. Сначала опишу проблему. Как я уже писал выше, точкой входа в Telegram API является абстрактный класс LongPoll. Его менять нельзя в этом задании. Опишем его как:
2. Есть сервисы, которые описывают бизнес-логику. Проблема в том, что в первой версии сервисы возвращают список сообщений для отправки. Процесс формирования списка сообщений занимает значительное время.
Сервис для проверки:
3. Как поправить класс VoiceHandle, чтобы сообщения отправлялись сразу, а не ждали завершения.
4. На проверку пришлите только класс VoiceHandle в тексте сообщения, а не через GitHub.
—-
Для тех кто хочет качнуть знания по Spring Core и написать своего телеграм-бота может пройти наш блок Spring Core | AOP
https://job4j.ru/profile/courses/34
В нем все это рассматривается.
1. Сначала опишу проблему. Как я уже писал выше, точкой входа в Telegram API является абстрактный класс LongPoll. Его менять нельзя в этом задании. Опишем его как:
package ru.job4j.tg;
public abstract class LongPoll {
abstract void receive(String message);
public final void sent(String message) {
System.out.println(message);
}
}
2. Есть сервисы, которые описывают бизнес-логику. Проблема в том, что в первой версии сервисы возвращают список сообщений для отправки. Процесс формирования списка сообщений занимает значительное время.
package ru.job4j.tg;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;
public class VoiceHandle {
public List<String> process(String message) {
var result = new ArrayList<String>();
IntStream.range(0, 5).forEach(it -> {
try {
Thread.sleep(1000);
result.add(String.format("Message: %s", it));
} catch (Exception e) {
e.printStackTrace();
}
});
return result;
}
}
Сервис для проверки:
package ru.job4j.tg;
public class TgService extends LongPoll {
private final VoiceHandle voiceHandle;
public TgService(VoiceHandle voiceHandle) {
this.voiceHandle = voiceHandle;
}
@Override
void receive(String message) {
voiceHandle.process(message)
.forEach(this::sent);
}
public static void main(String[] args) {
new TgService(new VoiceHandle()).receive("Hello");
}
}
3. Как поправить класс VoiceHandle, чтобы сообщения отправлялись сразу, а не ждали завершения.
4. На проверку пришлите только класс VoiceHandle в тексте сообщения, а не через GitHub.
—-
Для тех кто хочет качнуть знания по Spring Core и написать своего телеграм-бота может пройти наш блок Spring Core | AOP
https://job4j.ru/profile/courses/34
В нем все это рассматривается.
👍3🔥3👎1