Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
sudo apt-get update | |
sudo apt-get install build-essential git libreadline-dev zlib1g-dev libssl-dev libbz2-dev libsqlite3-dev | |
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash | |
# may need this, but install script above should handle it; and yeah, you can do multiline inserts with awk/sed or whatever | |
echo 'export PATH="/root/.pyenv/bin:$PATH"' >> ~/.bashrc | |
echo 'eval "$(pyenv init -)"' >> ~/.bashrc | |
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc | |
source ~/.bashrc | |
pyenv install 3.6.0 |
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
sudo amazon-linux-extras install postgresql12 | |
pg_dump -Fc -O -h yyy-production.xxx.region.rds.amazonaws.com -p 5432 -U yyy yyy_production -f yyy.dump | |
# TRUNCATE TABLE tables ... RESTART IDENTITY | |
# rails db:migrate | |
pg_restore -Fc -O --disable-triggers --data-only -h yyy-staging.xxx.region.rds.amazonaws.com -d yyy_staging -U yyy yyy.dump | |
# both commands accept the --table option to specify which table to dump/restore | |
# select setval('TABLE_NAME_id_seq', (select max(id) from TABLE_NAME)); may be required after RESTART IDENTITY, +1 | |
# In case of version mismatch between the server and pg_dump, add pgdgXX repo and install XX client | |
[pgdg14] |
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
import traceback; [line for line in traceback.format_stack() if not 'site-packages' in line] |
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
# alternatively use benchmark/ips | |
n = 100_000 | |
data = "..." | |
Benchmark.ips do |benchmark| | |
benchmark.report("include?") do | |
n.times { data.to_s.downcase.include?('windows') } | |
end | |
benchmark.report("match?") do |
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
# Have you ever had to sleep() in Capybara-WebKit to wait for AJAX and/or CSS animations? | |
describe 'Modal' do | |
should 'display login errors' do | |
visit root_path | |
click_link 'My HomeMarks' | |
within '#login_area' do | |
fill_in 'email', with: 'will@not.work' | |
fill_in 'password', with: 'test' |
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
[database] | |
log_queries = true |
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
result = ActiveRecord::Base.connection.execute("select * from my_shapes_table limit 1;") | |
shape = parser.parse result.values.first.last # .first row , .last column | |
RGeo::GeoJSON.encode(shape).to_json | |
# => "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[...]]]]}" |
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
# Gemfile | |
# gem "ruby-prof" | |
# gem "ruby-prof-flamegraph" | |
# gem "stackprof" | |
require "ruby-prof" | |
require "stackprof" | |
module ProfilerWrapper | |
def self.stackprof(name) |
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
# Currently (2017/2018) it's not possible to change the Ruby 'minor' version (eg. 2.3 => 2.4) using the web console | |
# However, it's possible using the 'awscli' tool. | |
brew install awscli # pip install awscli | |
aws elasticbeanstalk update-environment \ | |
--solution-stack-name "64bit Amazon Linux 2017.09 v2.6.1 running Ruby 2.4 (Puma)" \ | |
--environment-name "myappenv1" --region "us-east-2" \ | |
--version-label "app-1234-210000_120123" | |
# For Amazon Linux 2 |