{"action":"created","comment":{"url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments/148135035","pull_request_review_id":73332469,"id":148135035,"diff_hunk":"@@ -1,19 +1,29 @@\n ## Week Four - Module 4 Recap\n \n-Fork this respository. Answer the questions to the best of your ability. Try to answer them with limited amount of external research. These questions cover the majority of what we've learned this week. \n+Fork this repository. Answer the questions to the best of your ability. Try to answer them with limited amount of external research. These questions cover the majority of what we've learned this week.\n \n-Note: When you're done, submit a PR. \n+Note: When you're done, submit a PR.\n \n 1. What's your favorite project management tool?\n+  - Pivotal Tracker. I miss Waffle's integration with git issues, but  I think a lot more detail can go in to Pivotal cards.\n 2. Why do we create staging environments?\n+  - Because production apps are running on a different machine(a server) and sometimes assets are compiled differently(looking at you, Rails asset pipeline) we want to recreate that other environment as closely as possible to catch any errors that might occur on deploy.\n 3. What are the characteristics of a good README (in your opinion)?\n+  - A good readme contains notes about dependencies, set up instructions, and code samples.\n 4. What's one main improvement you're going to make to your code regarding accessibility issues?\n+  - Using semantic tags when writing HTML or React components, being conscious of color choices, and using best practices like alt tags for images.\n 5. What are some basic security concerns to be aware of when building applications?\n+  - Not exposing sensitive information(production keys, etc), sanitizing user inputs.\n 6. Why is continuous integration helpful/important?\n+  - Continuous Integration is important because it allows us to catch potential errors before they are introduced into the codebase through a PR.\n 7. What are some continuous integration tools?\n+ - TravisCI, CircleCI, HoundCI\n \n #### Review  \n \n 8. What are some characteristics of \"good\" git workflow?\n+  - Atomic commits, use of branches and PRs, merging updated code into feature branches regularly.\n 9. What are the four fundamental concepts of object oriented programming?\n+  - Abstraction, Polymorphism, Inheritance, and Encapsulation\n 10. What's a module in Ruby and what's the difference between a class and a module?\n+ - A module is a piece of code that contains constants and behavior, but does not contain state like a class does. ","path":"module-4/backend/week_four.md","position":31,"original_position":31,"commit_id":"12adb5a1649243d384b34f47c8e3693aa99ba981","original_commit_id":"12adb5a1649243d384b34f47c8e3693aa99ba981","user":{"login":"case-eee","id":6503717,"avatar_url":"https://avatars0.githubusercontent.com/u/6503717?v=4","gravatar_id":"","url":"https://api.github.com/users/case-eee","html_url":"https://github.com/case-eee","followers_url":"https://api.github.com/users/case-eee/followers","following_url":"https://api.github.com/users/case-eee/following{/other_user}","gists_url":"https://api.github.com/users/case-eee/gists{/gist_id}","starred_url":"https://api.github.com/users/case-eee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/case-eee/subscriptions","organizations_url":"https://api.github.com/users/case-eee/orgs","repos_url":"https://api.github.com/users/case-eee/repos","events_url":"https://api.github.com/users/case-eee/events{/privacy}","received_events_url":"https://api.github.com/users/case-eee/received_events","type":"User","site_admin":false},"body":"what are some use cases for a module vs a class?","created_at":"2017-10-31T21:40:30Z","updated_at":"2017-10-31T21:40:39Z","html_url":"https://github.com/turingschool/checks-for-understanding/pull/645#discussion_r148135035","pull_request_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments/148135035"},"html":{"href":"https://github.com/turingschool/checks-for-understanding/pull/645#discussion_r148135035"},"pull_request":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645"}}},"pull_request":{"url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645","id":149408972,"html_url":"https://github.com/turingschool/checks-for-understanding/pull/645","diff_url":"https://github.com/turingschool/checks-for-understanding/pull/645.diff","patch_url":"https://github.com/turingschool/checks-for-understanding/pull/645.patch","issue_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/645","number":645,"state":"open","locked":false,"title":"1705BE - Michael Sagapolutele Week 4 CFUs","user":{"login":"MikelSage","id":26507085,"avatar_url":"https://avatars0.githubusercontent.com/u/26507085?v=4","gravatar_id":"","url":"https://api.github.com/users/MikelSage","html_url":"https://github.com/MikelSage","followers_url":"https://api.github.com/users/MikelSage/followers","following_url":"https://api.github.com/users/MikelSage/following{/other_user}","gists_url":"https://api.github.com/users/MikelSage/gists{/gist_id}","starred_url":"https://api.github.com/users/MikelSage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikelSage/subscriptions","organizations_url":"https://api.github.com/users/MikelSage/orgs","repos_url":"https://api.github.com/users/MikelSage/repos","events_url":"https://api.github.com/users/MikelSage/events{/privacy}","received_events_url":"https://api.github.com/users/MikelSage/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-10-29T21:47:02Z","updated_at":"2017-10-31T21:40:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e1e796546c6f58af46bae32d88dd8ce2f8a6e7a7","assignee":{"login":"case-eee","id":6503717,"avatar_url":"https://avatars0.githubusercontent.com/u/6503717?v=4","gravatar_id":"","url":"https://api.github.com/users/case-eee","html_url":"https://github.com/case-eee","followers_url":"https://api.github.com/users/case-eee/followers","following_url":"https://api.github.com/users/case-eee/following{/other_user}","gists_url":"https://api.github.com/users/case-eee/gists{/gist_id}","starred_url":"https://api.github.com/users/case-eee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/case-eee/subscriptions","organizations_url":"https://api.github.com/users/case-eee/orgs","repos_url":"https://api.github.com/users/case-eee/repos","events_url":"https://api.github.com/users/case-eee/events{/privacy}","received_events_url":"https://api.github.com/users/case-eee/received_events","type":"User","site_admin":false},"assignees":[{"login":"case-eee","id":6503717,"avatar_url":"https://avatars0.githubusercontent.com/u/6503717?v=4","gravatar_id":"","url":"https://api.github.com/users/case-eee","html_url":"https://github.com/case-eee","followers_url":"https://api.github.com/users/case-eee/followers","following_url":"https://api.github.com/users/case-eee/following{/other_user}","gists_url":"https://api.github.com/users/case-eee/gists{/gist_id}","starred_url":"https://api.github.com/users/case-eee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/case-eee/subscriptions","organizations_url":"https://api.github.com/users/case-eee/orgs","repos_url":"https://api.github.com/users/case-eee/repos","events_url":"https://api.github.com/users/case-eee/events{/privacy}","received_events_url":"https://api.github.com/users/case-eee/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645/commits","review_comments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645/comments","review_comment_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments{/number}","comments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/645/comments","statuses_url":"https://api.github.com/repos/turingschool/checks-for-understanding/statuses/12adb5a1649243d384b34f47c8e3693aa99ba981","head":{"label":"MikelSage:master","ref":"master","sha":"12adb5a1649243d384b34f47c8e3693aa99ba981","user":{"login":"MikelSage","id":26507085,"avatar_url":"https://avatars0.githubusercontent.com/u/26507085?v=4","gravatar_id":"","url":"https://api.github.com/users/MikelSage","html_url":"https://github.com/MikelSage","followers_url":"https://api.github.com/users/MikelSage/followers","following_url":"https://api.github.com/users/MikelSage/following{/other_user}","gists_url":"https://api.github.com/users/MikelSage/gists{/gist_id}","starred_url":"https://api.github.com/users/MikelSage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikelSage/subscriptions","organizations_url":"https://api.github.com/users/MikelSage/orgs","repos_url":"https://api.github.com/users/MikelSage/repos","events_url":"https://api.github.com/users/MikelSage/events{/privacy}","received_events_url":"https://api.github.com/users/MikelSage/received_events","type":"User","site_admin":false},"repo":{"id":106286060,"name":"checks-for-understanding","full_name":"MikelSage/checks-for-understanding","owner":{"login":"MikelSage","id":26507085,"avatar_url":"https://avatars0.githubusercontent.com/u/26507085?v=4","gravatar_id":"","url":"https://api.github.com/users/MikelSage","html_url":"https://github.com/MikelSage","followers_url":"https://api.github.com/users/MikelSage/followers","following_url":"https://api.github.com/users/MikelSage/following{/other_user}","gists_url":"https://api.github.com/users/MikelSage/gists{/gist_id}","starred_url":"https://api.github.com/users/MikelSage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikelSage/subscriptions","organizations_url":"https://api.github.com/users/MikelSage/orgs","repos_url":"https://api.github.com/users/MikelSage/repos","events_url":"https://api.github.com/users/MikelSage/events{/privacy}","received_events_url":"https://api.github.com/users/MikelSage/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MikelSage/checks-for-understanding","description":null,"fork":true,"url":"https://api.github.com/repos/MikelSage/checks-for-understanding","forks_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/forks","keys_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/teams","hooks_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/hooks","issue_events_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/issues/events{/number}","events_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/events","assignees_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/assignees{/user}","branches_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/branches{/branch}","tags_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/tags","blobs_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/refs{/sha}","trees_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/statuses/{sha}","languages_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/languages","stargazers_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/stargazers","contributors_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/contributors","subscribers_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/subscribers","subscription_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/subscription","commits_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/commits{/sha}","git_commits_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/commits{/sha}","comments_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/comments{/number}","issue_comment_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/issues/comments{/number}","contents_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/contents/{+path}","compare_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/merges","archive_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/downloads","issues_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/issues{/number}","pulls_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/pulls{/number}","milestones_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/milestones{/number}","notifications_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/labels{/name}","releases_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/releases{/id}","deployments_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/deployments","created_at":"2017-10-09T13:18:47Z","updated_at":"2017-09-02T18:52:10Z","pushed_at":"2017-10-29T21:46:16Z","git_url":"git://github.com/MikelSage/checks-for-understanding.git","ssh_url":"git@github.com:MikelSage/checks-for-understanding.git","clone_url":"https://github.com/MikelSage/checks-for-understanding.git","svn_url":"https://github.com/MikelSage/checks-for-understanding","homepage":null,"size":55,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"turingschool:master","ref":"master","sha":"def3b1c6b5a384f102a7fa564f8dde437254a903","user":{"login":"turingschool","id":7934292,"avatar_url":"https://avatars0.githubusercontent.com/u/7934292?v=4","gravatar_id":"","url":"https://api.github.com/users/turingschool","html_url":"https://github.com/turingschool","followers_url":"https://api.github.com/users/turingschool/followers","following_url":"https://api.github.com/users/turingschool/following{/other_user}","gists_url":"https://api.github.com/users/turingschool/gists{/gist_id}","starred_url":"https://api.github.com/users/turingschool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turingschool/subscriptions","organizations_url":"https://api.github.com/users/turingschool/orgs","repos_url":"https://api.github.com/users/turingschool/repos","events_url":"https://api.github.com/users/turingschool/events{/privacy}","received_events_url":"https://api.github.com/users/turingschool/received_events","type":"Organization","site_admin":false},"repo":{"id":66577733,"name":"checks-for-understanding","full_name":"turingschool/checks-for-understanding","owner":{"login":"turingschool","id":7934292,"avatar_url":"https://avatars0.githubusercontent.com/u/7934292?v=4","gravatar_id":"","url":"https://api.github.com/users/turingschool","html_url":"https://github.com/turingschool","followers_url":"https://api.github.com/users/turingschool/followers","following_url":"https://api.github.com/users/turingschool/following{/other_user}","gists_url":"https://api.github.com/users/turingschool/gists{/gist_id}","starred_url":"https://api.github.com/users/turingschool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turingschool/subscriptions","organizations_url":"https://api.github.com/users/turingschool/orgs","repos_url":"https://api.github.com/users/turingschool/repos","events_url":"https://api.github.com/users/turingschool/events{/privacy}","received_events_url":"https://api.github.com/users/turingschool/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/turingschool/checks-for-understanding","description":null,"fork":false,"url":"https://api.github.com/repos/turingschool/checks-for-understanding","forks_url":"https://api.github.com/repos/turingschool/checks-for-understanding/forks","keys_url":"https://api.github.com/repos/turingschool/checks-for-understanding/keys{/key_id}","collaborators_url":"https://api.github.com/repos/turingschool/checks-for-understanding/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/turingschool/checks-for-understanding/teams","hooks_url":"https://api.github.com/repos/turingschool/checks-for-understanding/hooks","issue_events_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/events{/number}","events_url":"https://api.github.com/repos/turingschool/checks-for-understanding/events","assignees_url":"https://api.github.com/repos/turingschool/checks-for-understanding/assignees{/user}","branches_url":"https://api.github.com/repos/turingschool/checks-for-understanding/branches{/branch}","tags_url":"https://api.github.com/repos/turingschool/checks-for-understanding/tags","blobs_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/refs{/sha}","trees_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/trees{/sha}","statuses_url":"https://api.github.com/repos/turingschool/checks-for-understanding/statuses/{sha}","languages_url":"https://api.github.com/repos/turingschool/checks-for-understanding/languages","stargazers_url":"https://api.github.com/repos/turingschool/checks-for-understanding/stargazers","contributors_url":"https://api.github.com/repos/turingschool/checks-for-understanding/contributors","subscribers_url":"https://api.github.com/repos/turingschool/checks-for-understanding/subscribers","subscription_url":"https://api.github.com/repos/turingschool/checks-for-understanding/subscription","commits_url":"https://api.github.com/repos/turingschool/checks-for-understanding/commits{/sha}","git_commits_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/commits{/sha}","comments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/comments{/number}","issue_comment_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/comments{/number}","contents_url":"https://api.github.com/repos/turingschool/checks-for-understanding/contents/{+path}","compare_url":"https://api.github.com/repos/turingschool/checks-for-understanding/compare/{base}...{head}","merges_url":"https://api.github.com/repos/turingschool/checks-for-understanding/merges","archive_url":"https://api.github.com/repos/turingschool/checks-for-understanding/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/turingschool/checks-for-understanding/downloads","issues_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues{/number}","pulls_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls{/number}","milestones_url":"https://api.github.com/repos/turingschool/checks-for-understanding/milestones{/number}","notifications_url":"https://api.github.com/repos/turingschool/checks-for-understanding/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/turingschool/checks-for-understanding/labels{/name}","releases_url":"https://api.github.com/repos/turingschool/checks-for-understanding/releases{/id}","deployments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/deployments","created_at":"2016-08-25T17:10:28Z","updated_at":"2017-10-31T21:04:39Z","pushed_at":"2017-10-30T20:07:02Z","git_url":"git://github.com/turingschool/checks-for-understanding.git","ssh_url":"git@github.com:turingschool/checks-for-understanding.git","clone_url":"https://github.com/turingschool/checks-for-understanding.git","svn_url":"https://github.com/turingschool/checks-for-understanding","homepage":null,"size":48,"stargazers_count":3,"watchers_count":3,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":158,"mirror_url":null,"archived":false,"open_issues_count":29,"forks":158,"open_issues":29,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645"},"html":{"href":"https://github.com/turingschool/checks-for-understanding/pull/645"},"issue":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/645"},"comments":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/645/comments"},"review_comments":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645/comments"},"review_comment":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/645/commits"},"statuses":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/statuses/12adb5a1649243d384b34f47c8e3693aa99ba981"}},"author_association":"NONE"}}
{"actor":{"display_login":"case-eee"}}