Normal classes, duolingo, self-study, talking to people(I live in Germany).
If you don't live in a country where they speak the language, I suggest you learn it in a class, for a long period of time and do your homework. There are no secrets imho. The more time you dedicate, the more you learn. It is really like learning an instrument, there is no short way of becoming good at it as some might claim. Your brain needs a lot of time to do the bit flipping it needs to get accustomed to the language.
Some tips that worked for me for learning German: Join some Discord where people speak the language, use some reddit sub in that language, read the news and so on. Today using the web I think somebody can learn how to speak it fluently as they can talk to other people online. You don't really need to move to that country in order to learn it.
To be honest, even though I live in Germany, people would rather almost always just talk in English with me. Only when I go to the doctor or some government agency I have the chance to speak German. Discord and internet friends/people made me learn much more than in real life. Maybe it is my personality type, check what works better for you. As long as you have exposure and you feel challenged by what you are studying, I think you are learning as good as you can.