Все новости проекта теперь доступны в telegram-канале – подписывайтесь! А ниже по темам сгруппированы все статьи, которые вы можете найти на сайте.
Базовые алгоритмы, которые могут быть реализованы на любом языке программирования.
Различные задачи, которые можно решить с помощью популярных библиотек.
Kotlin, Java, Spring, Spring Boot, Spring Data, SQL, PostgreSQL, Oracle, Linux, Hibernate, Collections, Stream API, многопоточность, файлы, Nginx, Apache, maven, gradle, JUnit, YouTube, новости, руководство, ООП, алгоритмы, головоломки, rest, GraphQL, Excel, XML, json, yaml.
Точно так же, как и строки - всегда помнить про неизменяемость таких объектов и надеяться на своевременную сборку мусора.
Его нельзя перезаписать, тогда как же его использовать в циклах?
Спасибо за сервис!)
Это гениально!
Конечно конечно. Всего лишь 5.3 * 10 ^ 36
Разве количество уидов конечно?
спасибо
У `properties` файла есть одна замечательная особенность: в нем можно задавать переменные окружения, которые в свою очередь будут использоваться в `yaml` файле.
Например при запуске сервиса локально, с профилем.
То что доктор прописал
Дима, спасибо за коммент! Я немного переработал статью в части рекурсивного алгоритма и добавил вариант с кешированием.
Да, я согласен с Потребителем) Не генерируем уиды без крайней нужды! 1 уид в одни руки!
Ребята, вижу, что тут все генерируют уиды по поводу и без, но может быть пора одуматься и генерировать уиды только когда они действительно необходимы. Помните, число уидов конечно.
1) видео немного устарело, см. в данной статье раздел про конфигурацию обработчика
2) в Idea в Run Configurations можно задать любые переменные окружения (Environment variables)
3) это значит вы при генерации выбрали просто gradle (скрипт сборки на groovy). а надо именно gradle - kotlin (скрипт сборки на kotlin). Хотя разница между ними не столь уж большая, удобно для kotlin-проектов использовать именно kotlin-синтаксис.
У меня пока не очень большой опыт в IntelliJ IDEA, так что извините за дилетантские вопросы
Вот мои вопросы пока не начинал редактирование, а только сгенерил:
1) В видео ничего не сказано про (Конфигурация обработчика) - где это и как создается
2) По поводу переменной окружения (TELEGRAM_TOKEN) - где ее создавать и как
3) у меня в папках нет build.gradle.kts, есть только build.gradle
Спасибо, очень помогло
Рекурсивный вариант нахождения числа фибаначи в такой реализации является не очень хорошим в плане "сложности алгоритма". Тут сложность будет расти экспоненциально почти.
Почему так происходит? Допустим я считаю fib(6). Рекурсивно я пойду считать fib(5) и fib(4). Но проблема в том, что в каждой "ветке" (и их дочерних) я буду каждый раз считать одни и те же значения.
Как вариант, можно улучшить алгоритм "запоминая" уже высчитанные значения. И прежде чем начать их считать, проверять в "кеше".
Есть еще формула Бине, для подсчета чила фибоначи. Но это уже не про алгоритмы, а про математику: https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D0%A4%D0%B8%D0%B1%D0%BE%D0%BD%D0%B0%D1%87%D1%87%D0%B8#%D0%A4%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B0_%D0%91%D0%B8%D0%BD%D0%B5
Попробую написать и потестировать для больших чисел в 1024 bit. "Готовых" простых чисел для http://shmeleff.com/CzechEntropy.apk не нашел. Похоже их никто не хочет публиковать :-))
Потому что имя города - это единственное, чего нельзя вывести автоматически.
id города - это автоинкремент, назначаемый базой данных.
country_id - это id страны, с которой связан данный город. Поскольку в этом примере работа с городами всегда происходит в контексте какой-либо страны - id страны нам всегда известно.
Не понимаю почему в дто города мы только имя вводим