Here is a compiled list of terminology from learn app lessons – more will be up as I get time.
Association: A way to create relationships between models to more easily have them interact with one another.
Cache: A cache is a component that transparently stores a request for data (for example, from a database) so that future requests for that same data can be served faster.
ERD: An entity-relationship diagram is a data modeling technique that creates a graphical representation of the entities, and the relationships between entities, within an information system.
Foreign key: A column within a database table that references the primary key of another table. In the `showtimes` table, `movie_id` would be the foreign key.
Join model: In Rails, a join model sits in between the two sides of a many-to-many relationship. In the example of `Doctor` and `Patient` models, an `Appointment` would represent the join model. Additional information can be stored on the join model.
Join table: A database table that contains the primary key fields from two or more other database tables within the same database. It is on the many side of a one-to-many relationship with each of the other tables.
Many-to-many: When one or more rows in a table are associated with one or more rows in another table.
Nested resource: A way to create resources that are children of other resources (e.g. showtimes as a child of the movie resource) so that they have better, more semantic URLs.
One-to-many: In relational databases, a one-to-many relationship occurs when a child record in one table stores a reference to a parent record in another table.
Primary key: A column that uniquely identifies a record within a database table. In Rails, this field is always `id`.
Ticket tracking system: A system for keeping track of necessary changes to a software system. Bugs and feature requests are logged to the ticket tracker.
Unit Tests: In the context of Rails, tests that ensure your model methods are returning the values you expect them to
Cookies: Small amounts of data that get saved in a user’s browser and get sent back to the server when the user returns to the website or app
Session: Information that gets saved between Rails requests and can be used for things like remembering which user is logged in at any given time. Usually stored in a cookie on the user’s machine.
Encryption:Encoding something to make it difficult to read. Used with things like passwords so that, even in the event of being stolen, they aren’t usable (at least easily)
Authentication:The process of logging in users to determine who they are.
Compress:This refers to making the files smaller by “zipping” them. By using the gzip compression format, a few more bytes are shaved off. Browsers are capable of downloading gzipped assets and decompressing them.
Ajax: A way to send asynchronous requests from a client to a server so as not to require a complete reload of the webpage
Asynchronous: To do things out of sync, i.e. sending requests at times other than page load
Data attribute: a way to store custom data on html tags for use with web applications
Live-compiled (assets): When assets are recompiled with each request to a server. This is the default for Rails development environments.
Stack trace: The list of files that shows the progression of code
Edge case: a problem or situation that occurs only when the parameters are especially extreme. Checkin for nil is an example of checking for an edge case.