- I found that the best thing was to ask myself what this or that line was meant to accomplish, and then to search labs.phaser.io for a Phaser 3 example of that task.
- Usually the issue is just that a function has moved, or some property now requires a setter.
- There's a real migration guide here: part 1, part 2
N+1 query problem
- ORMs make it easy to a query per loop iteration, which we want to avoid
eager_load
- single query (left outer join)
- can reference the other table's columns in
where
preload
- a few queries (one per table)
- typically faster
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Formatting | |
* describe_class - argument to 1st `describe` should be a constant | |
* describe_method - 2nd argument to 1st `describe` should be a method name | |
* describe_symbol - don't describe a symbol | |
* described_class - use `described_class` over restating class name | |
* empty_example_group - no empty example groups | |
* empty_line_after_final_let - empty line after last `let` | |
* empty_line_after_subject - empty line after last `subject` | |
* example_wording - do not use "should" or "it" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
❯ vi /usr/local/lib/ruby/gems/2.3.0/gems/pronto-0.8.2/lib/pronto/formatter/text_formatter.rb | |
# change line 17 to ... | |
# "[#{message.runner.title}] #{format_location(message)} #{format_level(message)}: #{message.msg}".strip | |
❯ pronto run -r reek | |
Running Pronto::Reek | |
[reek] app/decorators/course_membership_decorator.rb:21 I: Is controlled by argument 'current_user' (ControlParameter) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Install VirtualBox guest additions on Ubuntu | |
# https://www.vagrantup.com/docs/virtualbox/boxes.html | |
VB_VERSION='5.0.20' | |
wget "http://download.virtualbox.org/virtualbox/$VB_VERSION/VBoxGuestAdditions_$VB_VERSION.iso" | |
sudo mkdir /media/VBoxGuestAdditions | |
sudo mount -o loop,ro "VBoxGuestAdditions_$VB_VERSION.iso" /media/VBoxGuestAdditions | |
sudo sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run | |
rm "VBoxGuestAdditions_$VB_VERSION.iso" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Browserify 3rd-party React components found on npm | |
# (prevents React & ReactDOM from being bundled) | |
export PACKAGE='simple-react-modal' # npm package | |
export EXPORT_NAME='SimpleReactModal' # will end up on window with this name | |
mkdir project && cd project | |
npm init -f | |
npm install -D browserify react react-dom |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
table.fixed-header | |
table-layout: fixed | |
border-collapse: collapse | |
thead tr | |
display: block | |
position: relative | |
tbody | |
display: block | |
overflow: auto | |
width: 100% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<opml version="2.0"> | |
<head> | |
<ownerEmail>johnmikecip@gmail.com</ownerEmail> | |
</head> | |
<body> | |
<outline text="div#assignment-submission-app" > | |
<outline text="(modals)" /> | |
<outline text="<b>AssignmentSubmissionViewer</b>" _note="<b>div#assignment-submission-show</b>" > | |
<outline text="PageViewerContainer" _note="div#assignment-submission-viewer (merge with child if possible)" > |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 264 - Count on Cantor | |
* | |
* Given an input value N, print the Nth term in Cantor's enumeration. | |
* | |
* There may be a simpler closed form of this. However, what strikes me as | |
* possible right now is: we figure out what diagonal n is on, which gives us | |
* the beginning of that diagonal (1/2, 3/1, 1/4, 5/1, etc.). Then, we adjust | |
* the numerator and denominator based on the distance from the first term in | |
* the diagonal and the direction it takes (up-right for odd, down-left for |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
log = StringIO.new | |
ActiveRecord::Base.logger = Logger.new(log) | |
Gradescope::Application.config.colorize_logging = false | |
RSpec.configure do |config| | |
config.after :suite do | |
lines = log.tap(&:rewind).readlines.to_a | |
matching = lines.map do |line| | |
next unless line =~ /Load/ |
NewerOlder