-
Notifications
You must be signed in to change notification settings - Fork 2
/
wtf.txt
155 lines (113 loc) · 5.83 KB
/
wtf.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
My understanding so far as to how all this stuff functions
~~~~~~~~~~~~~~~~~~~EXPRESS FORMAT~~~~~~~~~~~~~~~~~~~
controllers – defines your app routes and their logic. Handles web requests, serve tamplates to
users, interacts with models to retreive and process data. The glue that connects
and controls the web app. NEVER directly call a database.
helpers – code and functionality to be shared by different parts of the project. Utility code,
like for dates and times, that can be called from anywhere.
middlewares – Express middlewares which process the incoming requests before handing them down
to the routes
models – represents data, implements business logic and handles storage. Interacts with
databases. Good to have at least one for each type of data in database. Does stuff
like creating, reading, updating and eleting database items.
public – contains all static files like images, styles and javascript
views – provides templates which are rendered and served by your routes. "where the
designers work." Don't do data processing in the views, do that in controllers.
tests – tests everything which is in the other folders
app.js – initializes the app and glues everything together
package.json – remembers all packages that your app depends on and their versions
~~~~~~~~~~~~~~~~~~~~~~~MODULES~~~~~~~~~~~~~~~~~~~~~~~
Name: Bluebird
Usefulness: Bullshit
Chance of Use: None
Notes: Bluebird is a "promise manager," used to avoid asynch hell. It makes unreadable
async not undreadable. Apparently pretty important. I should look into this.
Name: Body Parser
Usefulness: Unknown
Chance of Use: Liekly
Notes: This thing takes data objects like JSON and raw text and turns them into raw text (or
HTML or sometyhing else, the documentation is awful)
Name: Compression
Usefulness: Practically None
Chance of Use: Almost Zero
Notes: Compresses things. Why would we need to comrpess things!?!?
Name: Cookie Parser
Usefulness: Potential?
Chance of Use: Maybe?
Notes: Takes cookie data and turns it into JSON data and the like. I'm just confused why we
would ever take that much data and stick it in a cookie for someone to keep on their
local machine...
Name: Express
Usefulness: I would still argue it's annoying...
Chance of Use: Certain
Notes: Express runs the whole app. It's likely responsible for the folder setup and all
that jazz. Express does do everything for you in a nice fashion though.
Name: Glob
Usefulness: Small
Chance of Use: Likely
Notes: A simnple module that lets us search for things like *.js. The documentation
references Adventure time though
Name: Grunt
Usefulness: Super Useful
Chance of Use: Certain
Notes: Grunt runs automated tasks, both on time bases, and on events. This is the thing
that will update the LESS files whenever they're changed, runs tasks automagically,
and does a variety of other things. It has plenty of smaller grunt scripts that plug
into it to automate even more tasks ont eh site. Grunt seems highly useful and well
made.
Name: Grunt Contrib Less
Usefulness: Super Duper
Chance of Use: Certain
Notes: Grunt script that compiles less
Name: Grunt contrib Watch
Usefulness: Super
Chance of Use: Certain
Notes: Watches files for changes to update them
Name: Jade
Usefulness: Alright (necessary)
Chance of Use: Certain
Notes: I have my quibble with teh language itself, but Jade is what turns the markups into
HTML (which NORMAL PEOPLE USE, might I add...). Whatever, it's experience.
Name: Load Grunt Tasks
Usefulness: High
Chance of Use: Certain
Notes: Stops me from typing all the locations for grunt tasks. small time saver. Why is it
not named Grunt Load Tasks though...????
Name: Lodash
Usefulness: Supreme
Chance of Use: Almost zero
Notes: A selection of really really cool functions, abilities, modularities and features.
The whole thing would make coding js in both node and backend super easy, simple,
and fast... If I had the time to learn it. The functions offered are simply amazing
but I'm almost certain I won't use a single part of it.
Name: Method Override
Usefulness: None
Chance of Use: None
Notes: As from stack overflow: "If you pass in the _method post parameter set to 'delete'
or 'put', then you can use app.delete and app.put in Express instead of using
app.post all the time (thus more descriptive, verbose)". Useless
Name: Morgan
Usefulness: Pretty good
Chance of Use: Likely
Notes: Logs stuff to files and the console. Seems alright.
Name: MySQL
Usefulness: Super
Chance of Use: Certain
Notes: Does all the sql bullshit. Pretty self explanatory
Name: Request
Usefulness: High
Chance of Use: Likely
Notes: It gets HTTP pages. Really short, small, and usefull. Follows redirects and
everything. I'll be this is how we're changing pages in teh middle of a page.
Name: Sequelize
Usefulness: ????
Chance of Use: Currently using so...
Notes: Object oriented databse interaction. WHY ARE WE NOT JUST USING MYSQL FUNCTIONS??????
Name: Favicon Serve
Usefulness: Practically None
Chance of Use: Likely
Notes: Serves favicons. *facepalm*
Name: Time Grunt
Usefulness: Fair
Chance of Use: Certain
Notes: Runs grunt stuff and says how long it takes