Skip to content

Instantly share code, notes, and snippets.

View bethsebian's full-sized avatar

Beth Sebian bethsebian

View GitHub Profile
One thing I learned looking at my partner's css/Bootstrap/styling was…
How to center a well.
One thing I suggested to my partner was…
Play with column widths.
The thing I liked best about my partner's css/Bootstrap/styling was…
Aesthetic.
@bethsebian
bethsebian / cfu_crud_in_sinatra.markdown
Last active December 2, 2015 20:21 — forked from rwarbelow/cfu_crud_in_sinatra.markdown
CRUD in Sinatra -- Check for Understanding
  1. Define CRUD.
    CRUD defines the four features an app that interacts with a database should have: create, read, update, delete.

  2. There are seven verb + path combinations that are necessary in a basic Sinatra app in order to provide full CRUD functionality. List each of the seven combinations, and explain what each is for.

    • get '/tasks' - displays (reads) all existing tasks in database
    • get '/tasks/new' - provides form for inputting new task (create)
    • post '/tasks' - submits data for new task (create)
    • get '/tasks/:id' - displays (reads) data from one task
    • get '/tasks/:id/edit' - provides form for editing existing task (update)
  • put '/tasks/:id' - submits data for revising existing task (update)

1. How does the Agile model compare to the Waterfall model?
Agile is...

  • More resilient, flexible, able to respond
  • Suited to work that is uncharted
  • Allows for players to deepen understanding of project needs and respond to constraints based on best, most recent information

2. Why do you think Agile is so popular in software development?
Software is developed for clients (business people) by software developers to be used by users. While each group can have some insight into the others' needs from the beginning, it is impossible for each group to understand the needs, behaviors, and constraints of the other groups. As an iterative process, Agile development allows these three groups to deepen their understanding and ability to respond to each others needs based on successive interactions.

3. Do you think Agile is applicable in all industries?

Setting Group Expectations

Group Member Names: Hector Huertas, Beth Sebian-lead

1. When are group members available to work together? What hours can each group member work individually? Are there any personal time commitments that need to be discussed? Our work calendar is posted here: https://docs.google.com/spreadsheets/d/1QjxyP7p08GaC4Ncxw_rbkp8lwWO6ticnu_-L6dQEp90/edit?usp=sharing

2. How will group members communicate? How often will communication happen, and how will open lines of communication be maintained? We will have a 15-min check-in during lunch every day to review progress from the night before, set new goals for the evening ahead, and confirm our afternoon work time. We will use this time to update Waffle and revise deadlines.

What is the difference between a primary key and a foreign key?
Primary key is the unique identifier for an entry in a table. A foreign key is a value in a table that references the primary key of another table.
Where would we find a primary key?
Generally in the first column of a table.
What would it be called by default?
id
Where would we find a foreign key?

What were we trying to accomplish?

  • Goals: take single-tenancy store to multi-tenancy store
  • Learning more important than extensions
  • Learning, familiarize ourselves with structure
  • Individual learning goals

Where did we hit (or miss) our objectives?

  • Lenny: felt like got 80% of exposure out of it
  • Justin: got base stuff done, didn’t get chance
  • Beth: refactoring, didn’t get a chance to work on permission service, implementing permission service early so everyone has a chance to touch it

Which of Sandi's rules do you feel like might be the hardest to follow—why? Rule 3, limit params passed to method to 4, including hashes, would be the most difficult. I agree it clutters code to call a method and pass it multiple params, but in the case of hashes, the benefit does not seem so clear.

My main question is how that affects creating objects from form data. We're accustomed to passing object params to a model, after verifying them with a private method that allows us to ensure we are only passing user-generated data we know is safe and useful. Haha...just answered my own question here: remembered that we don't actually pass the private object_params method params, that the private object_params method has access to those params and we don't need to pass them through.

I image there are still cases when passing a set of attributes along in a hash, between controller and model for example, would be handy.

Setting Group Expectations

Group Member Names: Beth, Penny

1. When are group members available to work together? What hours can each group member work individually? Are there any personal time commitments that need to be discussed?
Schedule here: https://docs.google.com/spreadsheets/d/1QjxyP7p08GaC4Ncxw_rbkp8lwWO6ticnu_-L6dQEp90/edit#gid=0
Penney: Mornings are better Beth: Mornings are better, crash ~4.

2. How will group members communicate? How often will communication happen, and how will open lines of communication be maintained?

"Police Data Tracker" is a website I built in mod 3 to aggregate and standardize police data from law enforcement agencies. My work in mod 3 was focused on developing a proof of concept, and for this reason I was not confronted with the entirety of the technical and strategic questions surrounding my work. Revisiting the project in mod 4, including defining and beginning to tackle my MVP, has proved much more difficult. Below, I outline the 3 most challenging issues I encountered and how I chose to resolve them.

###Defining data attributes for each data category
####Problem Disparities in each cities datasets complicate adding them to my database. Cities publish wildly different information. For example, consider the category of officer-involved shootings (OIS).

Los Angeles publishes 3 separate API endpoints to cover OIS: 1) data about the incident itself, 2) information about the officer(s) involved, and 3) information about the suspect(s) involved. This structure allows them to document incidents th