For anybody learning Japanese, here’s how I’m learning:
I used to start learning Japanese from a textbook, but the book had all the Japanese written in romaji, i.e. the Latin alphabet. This is something I would very much advice against: the first step is learning the 平仮名 hiragana and the 片仮名 katakana, which is the basic alphabet that Japanese uses. There are 46 of each of them, so it will take a little more than learning the Greek or Cyrillic alphabet, but it’s not as bad as Chinese, which doesn’t have an alphabet. The way I practiced is repeatedly trying to write the whole table from memory. I found that writing things down will help a lot in keeping it in your memory, and it will also train you to have an eye for detail. I decided to throw away my textbook and only use Japanese characters for Japanese writing. Forcing the characters to be used, meant that it was necessary to learn them. I also took time to learn the kanji radicals, which will help a lot with learning the kanji later.
I learned a lot of grammar from Tae Kim’s Guide, which is a friendly introduction to Japanese grammar. More recently I discovered Imabi, which is a lot more thorough and arguably more correct than Tae Kim’s guide. The only “problem” with Imabi is that it is a little on the technical side: it’s a tough read for a beginning learner, especially if you don’t have a lot of experience with learning languages. On the other hand, this might be a bonus to some other people (like me, who want to understand the fine details).
Whenever I have the need to look up words I use Jisho.org. You could also find kanji reference (writing order, readings), sentences using the vocabulary (from the tatoeba project), names, and several other things.
Most of my time I spend on learning new vocabulary. For this I use spaced-repetition programs. I learnt the first 1000 or so kanji with Tagaini Jisho, but that application is more a dictionary than a spaced-repetition tool. Recently I have switched to Anki, but the drawback is that I have to create my own flashcards. On the other hand, during the creation of flashcards you automatically practice the vocabulary for the first time, so it’s actually not a big problem. There are also decks shared by others, but I don’t trust them as much as I would myself. Anki is also very useful to learn other stuff, by the way. I’ve started to use it to review grammar points and even mathematical proofs. If you’re decent at coding / css / latex, the possibilities of Anki are almost limitless, since flashcards can be styled with css, support latex, and anki itself allows for user created add-ons.
The way I learn vocabulary is as follows: I started with learning the JLPT vocabulary from the easiest level to the harder ones. Both Tagaini and Jisho will tell you which words belong to which JLPT level. Generally when learning a new word, I would learn the kanji simultaneously. In order to truly remember the kanji, I would recommend to put effort in learning how the symbol is composed of radicals (small tangent: technically only one part of a kanji is the radical of the kanji, decided by which part gives the Chinese pronunciation of the character. However, I use radical just to mean any of the parts that the kanji is made up of). Learning the stroke order is also important to have readable handwriting, and it will greatly help with remembering the character if you practice writing it a lot. I would also learn a few other words that use the kanji, to be able to place the kanji in a larger context. Finally I don’t think it’s useful to memorise the reading of a kanji; that knowledge will come naturally with learning the vocabulary.
As an example, suppose I decide to learn the word for “school”. Then I’d go to Jisho to find out that “school” in Japanese is 学校, pronounced as がっこう. I would then learn the kanji 学 and 校, as well as some vocabulary that uses these kanji (and does not use kanji I don’t know yet). For 学 I would recognise that it is composed of three radical parts: ⺍ at the top, ⼍ in the middle and 子 at the bottom. For each of these radicals I already know their official meaning, or if it’s too vague I have made up one. In this case ⺍ means “small”, ⼍ means “roof” and 子 means “child”. I could then remember that 学 means “study” by making up some story, for example “studying is what happens in a classroom: a group of small children under a roof”. I would then look at some other vocabulary that uses 学 to make sure I truly understand its meaning. Of this vocabulary I choose a few to put into my spaced-repetition program, as long as these words do not depend on kanji that I haven’t learnt yet. For example, I could put 学ぶ, pronounced as まなぶ “to study (in depth), to learn” in my study program. Finally, for each word I take a look at how they are used in sentences to get a feel for the word in a natural context.
Once I knew some Japanese I started some reading practice. A good place to look for Japanese texts is Aozora, a library of public domain books. It could be difficult to find something of the right level, though. Easier things to read are often graphic novels and manga, but they can be hard to find outside of Japan.