Skip to content

Instantly share code, notes, and snippets.

View deHelden's full-sized avatar
🏠
Working from home

Ivan Zinkevich deHelden

🏠
Working from home
View GitHub Profile
## Task 1
# find closest border number in fib sequence
# near_fib_number(9) => 8
# near_fib_number(12) => 13
require 'benchmark'
def near_fib_number(num)
start_array = [0, 1]
while !(start_array[0] <= num && start_array[1] >= num) do
@deHelden
deHelden / .zshrc.sh
Created April 2, 2020 11:37
Separate .zshrc file for aliases and exports
# Source exports
if [ -f ~/.zsh_exports ]; then
source ~/.zsh_exports
fi
# Source aliases
if [ -f ~/.zsh_aliases ]; then
source ~/.zsh_aliases
fi
@deHelden
deHelden / fix-libv8-mac.txt
Last active March 3, 2020 11:46 — forked from fernandoaleman/fix-libv8-mac.txt
Fixing libv8 and therubyracer on Mac
brew tap homebrew/versions
# Error: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated.
# https://github.com/mrirecon/homebrew-bart/issues/1
brew unlink v8
brew link --force v8-315
gem install therubyracer -v '0.12.2' -- --with-system-v8
@deHelden
deHelden / nginx-setup
Last active October 7, 2019 16:34
Nginx setup from binary
sudo apt update
sudo apt install build-essential
wget https://nginx.org/download/nginx-1.17.4.tar.gz
tar -xzvf nginx-1.17.4.tar.gz
cd nginx-1.17.4
@deHelden
deHelden / "torn" 1 Setup vps.md
Last active April 24, 2024 15:12
Deploy Rails 7.0.4.2 to VPS(DigitalOcean Ubuntu 20). Nginx, Puma, Capistrano3, PostgreSQL, Rbenv.

SETUP VPS

based on DigitalOcean guide

Create local project

local$ rails new appname -T -d postgresql
local$ rails g scaffold Story title:string body:text
local$ rails db:migrate
@deHelden
deHelden / palindrome_checker.rb
Created January 5, 2019 12:09
[Task 9] Check string for palindrome
# 9) Дана строка. Необходимо проверить, является ли она палиндромом.
class PalindromeChecker
def palindrome_check
string = "Never a foot too far, even"
palindrome?(string)
end
def palindrome?(str)
str == str.reverse
end
@deHelden
deHelden / word_counter.rb
Created January 5, 2019 12:07
[Task 8] Count words in a string
# 8) Дана строка в которой записаны слова через пробел. Необходимо посчитать
# количество слов.
def word_counter
string = "alskdfj asd;lfjk asdkfj;lasd flaskdj f as;dlfjk a;sd fkla sdf;"
string.split.size
end
@deHelden
deHelden / sort_string_by_words_length.rb
Created January 5, 2019 12:06
[Task 7] Sorts string by word's length
# 7) Дана строка в которой записаны слова через пробел. Необходимо упорядочить
# слова по количеству букв в каждом слове.
def sort_string_by_words_length
string = "alskdfj asd;lfjk asdkfj;lasd flaskdj f as;dlfjk a;sd fkla sdf;"
splitted = string.split
splitted.sort_by(&:length)
end
@deHelden
deHelden / array_sort.rb
Created January 5, 2019 12:04
[Task 6] Sorting an array
# 6) Дан целочисленный массив. Упорядочить его по возрастанию.
def array_sort
victim_array = Array.new(15){rand(-100...100)}
victim_array.sort!
end
@deHelden
deHelden / shaking_array_left.rb
Created January 5, 2019 12:02
[Task 4 ] array elements moved 1 position to the left
# 4) Дан целочисленный массив. Осуществить циклический сдвиг элементов массива
# влево на одну позицию.
class ShakingArrayLeft
def initialize
@not_so_greatest_array = Array.new(7){rand(-100...100)}
end
def shake_2_left
primary_element = @not_so_greatest_array[0]
@not_so_greatest_array.each_with_index do |element, index|
if index + 1 < @not_so_greatest_array.length