These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Tech newb, looking for direction.

First post
Author
Cor'El Dahken
Farmers Union Iced Coffee
Pandemic Horde
#1 - 2017-01-28 11:46:18 UTC
Hey guys.

I am interested in getting into the data and analysis side of eve. However I am at the moment, completely illiterate with this sort of thing.

I have found excellent resources such as Fuzzworks, and been trawling youtube and these forums for guidance, only everything is so confusing.

I want to focus on Market data to begin with, as I think that would be the most useful to me personally at the moment.
Now I understand that API/CREST are going away soon, and everything is going to ESI.

My question to you guys is, what should I learn first in order to start playing around with this data and creating useful analysis/applications.
-Python
-JSON
-C++

All of these things are confusing to me and I have no idea what I should learn and I have absolutely no idea what I don't know. If you guys could point me in the direction to start learning some of the stuff I don't know it would be much appreciated.

Regards,
Cor
Duramora Kado
Doomheim
#2 - 2017-01-28 18:13:32 UTC
What are you trying to do? Are you just trying to do some simple market monitoring and such? I'd just recommend learning how to get Google sheets to do all the calls for you.

Python would probably be easiest if you want something fancier..

Cor'El Dahken
Farmers Union Iced Coffee
Pandemic Horde
#3 - 2017-01-29 01:14:22 UTC  |  Edited by: Cor'El Dahken
I was more questioning about 'writing' in general than eve specifically.

I have tried a few runs with Google sheets but can't seem to get what I want out of it. Is there a specific language scripts for Google sheets have to be in? Or will python work.
And does MS Excel have the same functionality?

I am interested in learning a programming language and thought if I could learn while providing something useful for myself it would be handy.

Is there an exceptionally good resource anyone knows for learning python? Or any other language that is recommended? Or just pick something from a Google search and go for it?

Thanks for the advice.


Edit: What I am trying to say is, where the heck do I start? There is so much info out there and so many different things to learn I have no idea where to begin.
Anime Girl
Science and Trade Institute
Caldari State
#4 - 2017-01-29 09:23:39 UTC  |  Edited by: Anime Girl
I'd recommend node js with mongodb. It's a massive clusterfuck to learn but honestly with the type of app you'll be writing everything is like that. The nice thing about node is how easy it is to make ajax calls using jquery, how well it works with mongo, and how nicely it plays with JSON. If you're not already familiar with web development start off by spending some time learning basic html, css, and js. This **** gets pretty confusing once you have to deal with the troubles of full stack development so I strongly encourage you to get a solid understanding of these techs(especially js, you'll be working with it a lot). After that you should spend some time fiddling around on the esi website to get a feel for how it works. Then you should learn just a little bit of jquery to make client side public GETs. From there you should have a good enough foundation to build an express js server, and from there your goals are

1. public gets in node(you've already done this, but it takes some time to figure out how to do things that seem basic in node)
2. get running with mongodb and setup a system that allows you to add database entries through a field and view them(at this point you're far enough along to make a basic market analysis tool)
3. Figure out how to use OAuth to make private api calls

Just don't give up. When you open up a node tutorial you'll get a massive stream of confusing information that doesn't relate to what you're trying to do. Keep it small scale and focus on making individual calls at first, and eventually you'll be where you want to be. Feel free to eve-mail me if you have any questions.
Cor'El Dahken
Farmers Union Iced Coffee
Pandemic Horde
#5 - 2017-01-29 10:53:34 UTC
Thankyou for that info.

I am definitely not familiar with web development, so you would suggest learning about HTML5, CSS and JavaScript (is that java script).
Then move onto node and mongo.

Any particular resource you would recommend? Or they are all as good as each other?

Thanks again for the reply.

Sina Airuta
Doomheim
#6 - 2017-01-29 11:25:33 UTC
Mozilla Foundation gives good tutorial for html/css/js.

https://developer.mozilla.org/en-US/

Click on the big red link "Learn web development". Then follow the menu on the left. Start with "getting started with the web", it is made for absolute beginners and gives good cover of basic html/css/js. Then in the menu you can dive deeper into each of the 3 elements.
Anime Girl
Science and Trade Institute
Caldari State
#7 - 2017-01-29 11:52:15 UTC
Yup you've got the right idea! There's millions of tutorials out there these days on HTML, CSS, and JavaScript. HTML/CSS are pretty easy to get into because they aren't really programming languages. If you've ever used a forum that uses markdown formatting for comments like reddit you'll find that html is very similar. CSS can get kind of annoying because it has a tendency to be buggy as hell but you should get the hang of it. JS is gonna be your first foray into what programming is like, but its nature as a scripting language and the fact that you're running it in conjunction with your familiar html base makes it pretty painless. I suggest doing projects using these 3 techs without even having your end goal of making a market analysis tool in mind. Getting really comfortable with the way html and javascript work is going to make the next steps much easier, because you understand the ways node will be interacting with your html and you'll understand how programming in node works much more. (I'm not sure if I've mentioned this yet but node js is basically javascript that's run server side.) Jquery shouldn't take as much effort to learn because it's basically just an extension of javascript and isn't crazy different.

As for resources, really whatever you prefer works. HTML, CSS, and JS are very user friendly and there is no shortage of information surrounding them. Youtube is obviously great, and there are also tons of really high quality text based tutorials online. I personally learned these through https://www.codecademy.com/ which is great because of the structured lessons, but there are complaints of it not covering some parts very thoroughly as well as difficulties translating what you've learned to full projects. Definitely a good place to start though, w3schools will become your gospel for looking up specific tags/functions. Lynda.com also has some great, well structured lessons, but that comes with a price tag.

Good luck! And again feel free to send me an in game mail if you have any questions.

Fly safe. o7
YeuxVerts Belle
Royal Amarr Institute
Amarr Empire
#8 - 2017-01-31 11:33:18 UTC
I would suggest otherwise. While HTML, CSS and JavaScript can get you far, i think you need something less web-dependant if you want to perform large number-crunching.

In my mind, you need the following :
- JSON, because, let's be honest, you'll need to parse Eve's server data. JSON is easy, it's just a description language, and you can make it work without understanding the full depth of it ; it's fairly intuitive.
- A good high level language, preferably something easy to learn. Python is good, i was told. Java, C# and C++ can do the trick as well, though some are harder to learn than others.
- If you want large number-crunching, you'll interface all of that into a database, in which case learning SQL will be immensely helpful.

By reading what others say, i realize there are plenty of ways to do it. Querying ESI through PHP, using simple Googlesheets ... it's mostly what you can do that will decide what you will do.

The above message presents my opinions on the topic at hand. If there is a conflict between my views and reality, consider reality to be correct until proven otherwise.

Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#9 - 2017-01-31 11:44:44 UTC
JSON, really, isn't something you need to 'learn'. It's something you consume with a language.

After that, you just have a data object which you use.

As for what to learn:

Python is a great language for doing things in the backend. Non-interactive stuff. It's also good if you want to whip up a quick gui for something (PyQT or WX) You can use it for web stuff, but it's harder for a beginner than something like PHP. You form better habits with python, but the feedback loop is longer. (Python needs an application server)

PHP is good for whipping up a quick web front end. It's supported on most hosts which is handy. It's not a good language, but it works.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter