I usually will send a quick message or reply to an email from the person, praising something cool they did, or something that impressed me etc. Sometimes it's tiny, like "hey, I approved your Code Review request, I really like how elegant your solution is".
Then if I come across their manager I will comment on that person positively. Again it might be short, like "<name> has been doing some great work on <widget>", or "<name> did <something>, your group seems to be <on the cutting edge || agile || embracing change". I do try to use manager speak when talking to managers, because the details, like how something was abstracted doesn't seem valuable to non-technical people.
I don't keep a list or anything, but if you really are grateful about someone you will remember to bring it up to them. I try to do it spontaneously. As a side note it appears that I have made a name for myself, for multiple reasons, so my praise seems to be valued a lot, both by management and the person receiving it. I'm not sure if that ties to my competency, or my frequency of praise (it's not frequent, but it feels like I do it once a week).
I am bringing this up because I have seen a praise anti-pattern, where it's done so frequently, or for anything that someone does even if it's super minor, and it feels like brown-nosing. The other anti-pattern, if you are a manager, is sending praise to everyone in the team, which again devalues the action.
Again, this is my personal opinion.
Edit: I almost forgot. Praise aside, a good way to show Gratitude is caring. If you know they have a hobby, if you come across something that relates you can ping them about it. It might seem small, but everyone like knowing that others think/care about them. An alternate way is carving time out of your day to help them. Again, in my case pretty much about 700 people know me by name, so when they see that I am spending a time on one of their problems it means something.
I feel like I am coming across as narcistic in this reply, but I am just trying to analyze my behavior objectively, all of this is done subconsciously.