Skip to content

Instantly share code, notes, and snippets.

View josh-works's full-sized avatar

Josh Thompson josh-works

View GitHub Profile

Enumerators for beginners

I'm going to start at Turing School in a few days, and have been eagerly studying in preparation.

There are many, many things I don't yet understand, but I'm trying to slow down and make sure I understand the basics before throwing myself into more complicated things.

One of the things that has been causing me lots of confusion are Enumerators. Mostly because I can use enumerables on both hashes and arrays, and can use it to pick data out of an array or hash, or to insert data into an array or a hash, and at the moment it feels like I'm blindly mashing keys on my keyboard. :(

Specifically, I'm trying to wrap my head around .sort, .each, .inject, and other similar methods, all as it pertains to arrays and hashes.

Week 1 Diagnostic

start time: 10:22
end time: 10:45
total: 24 min

Floats and Integers

What’s the difference between a float and integer?

TLDR. I have two questions, though... the first one got answered after I typed all this up.

  1. How can I access objects inside of another object. (SOMEONE GAVE ME AN ANSWER. Feel free to skip to #2)

  2. I've attached by pry error output and gem list below, as will as troubleshooting and steps to reproduce it on my machine. (It's functionality is intermittent)

More detail on how I got the answer to #1

I was using IRB instead of Pry, couldn't tell that the objects were inside of an array. So, it's an array, so I can iterate through it with all the enumerables.

As part of the HTTP Server project.

First, I'm working through Practicing Ruby's "Implementing an HTTP File Server" for general practice and understanding.

I'm going to use Postman to capture traffic and try to replicate some of the things the guides reference.

Lastly, I just found Jeff Casamir's walkthrough of almost everything I've discovered in the last week. Save yourself the time, and go read it here

Finding GET requests/responses in the wild

if you're here from www.josh.works, here's the gist Jason sent back to me the next day, with his answers:

Jason's answers He said:

From then on, you duplicate that class variable to an instance variable. The .dup should "protect" you from one test modifying data for another test, which is a concern with class variables.

Hey Jason!

@josh-works
josh-works / git_commits_for_mastery.md
Last active March 19, 2017 03:59
mastery_via_git_commits.md

To master anything, we need to build mental models, and build some habits around using those mental models.

For example, the first time you set up a ruby file with testing, you probably had to refer to something to come up with the right file structure.

Lets say you have dragon.rb:

class Dragon
  # maybe some attr_readers

TL;DR

I'd like to alias awesome_print + the _ command in rails console to pp. In other words, I'd like pp[return] to function the same as ap _[return].

Context

As I'm spending more and more time in a rails console session, I'd like to be able to use awesome print to regularly evaluate objects.

I know I can enter ap _ at any time to return the prior object in awesome_print's sweet formatting, but I want to map ap _ to pp.

it takes six keystrokes (including return) to hit ap _, but only three for pp. The problem is, I couldn't figure out a way to alias this inside of my .irbrc.

in .psqlrc, I've got:

\set PROMPT1 '\n%[%033[1;31;40m%] ➤ %[%033[32m%]psql%033[36m%]%/ %[%033[K%]%[%033[0m%]\n\n%[%033[1;33m%]%#%[%033[0m%] '
\set PROMPT2 '%[%033[1;33m%]%##%[%033[0m%] '
\timing
\set HISTSIZE 2000


\set alldata 'SELECT * FROM '

On cleaner controllers

A few days ago, I worked on a project that was mostly about serving up basic store data (modeled after Etsy) to an API.

We had a few dozen end-points, and all responses were in JSON.

Most of the action happened inside of our controllers, and as you might imagine, our routes.rb file was bananas.

One of the instructors made an exceptionally simple suggestion, I was embarrassed to not have seen it.