Этот тип вопроса возникает достаточно часто, поэтому, если вы выполните поиск, вы найдете много тем, и у многих из них будет много хороших ответов.
Я упоминаю об этом только потому, что, возможно, лучшие ответы здесь больше не повторятся.
Очевидно, что не все участники будут отвечать на все темы ...
Если вы прочитаете их все, вы увидите похожий от меня тоже. :)