Skip to content

Instantly share code, notes, and snippets.

View jonaselan's full-sized avatar
🎯
Focusing

Jonas Elan jonaselan

🎯
Focusing
View GitHub Profile
@jonaselan
jonaselan / division.js
Created January 21, 2021 18:26
division numbers in javascript
// int -> float
module.exports = (value) => parseFloat((value / Math.pow(10, 2)).toFixed(2))
// float -> int
module.exports = (value) => parseInt(Math.floor(0.5 + parseFloat(value) * 100))
@jonaselan
jonaselan / geoCodeDistance.js
Created October 14, 2020 20:11
Distance between to coordinates
module.exports = function distance (lat1, lon1, lat2, lon2, unit = 'K') {
if (lat1 === lat2 && lon1 === lon2) {
return 0
}
const radlat1 = (Math.PI * lat1) / 180
const radlat2 = (Math.PI * lat2) / 180
const theta = lon1 - lon2
const radtheta = (Math.PI * theta) / 180
let dist =
Math.sin(radlat1) * Math.sin(radlat2) +
@jonaselan
jonaselan / model_custom_method.rb
Created May 22, 2020 11:47
add custom money_attributes to a model
# ref http://pauldeardorff.com/2013/08/14/handling-currencies-in-ruby-on-rails-apps/
# db/migration/
class AddPriceToProducts < ActiveRecord::Migration
def change
add_column :products, :price_in_cents, :integer
add_column :products, :currency, :string
end
end
# A Figura 1 representa o grafo de dependência entre módulos de um sistema. A aresta indica
# A relação de dependência entre dois módulos indicada pelo sentido, por exemplo: 1 2,
# indica que o módulo 1 é uma dependência do modulo 2 (ou o modulo 2 depende de 1), ou
# seja, para carregar o modulo 2 precisamos primeiro carregar o modulo 1.
# Implemente um algoritmo em Ruby ou Javascript (Node) que retorne a ordem correta de
# carregamento de todos os módulos do sistema.
class Graph
attr_reader :graph, :nodes, :visited, :sort_nodes
# Dado o grafo da Figura 2, implemente um algoritmo em Ruby ou Javascript (Node) que
# encontre o caminho de menor custo a partir de um nó de origem. Imprima o shortest_pathsado do
# custo e o caminho calculado a partir do vértice 0 para todos os outros no seguinte formato:
# node, Cost, Path -> 1, 2, 0-1
# Principal referência
# https://en.wikipedia.org/wiki/Dijkstra's_algorithm
class Graph
attr_reader :graph, :nodes
#!/bin/bash
REPO="[email protected]:org/repo.git"
DIST="/home/USER/apps/"
# Create folder if does not exist
if [ -d "$DIST" ]; then
cd $DIST
else
mkdir -p $DIST
@jonaselan
jonaselan / authorized_keys.sh
Last active November 5, 2019 11:41
Authorized local machine to conect to server
cat ~/.ssh/id_rsa.pub | ssh root@IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
@jonaselan
jonaselan / commit-msg
Last active May 17, 2023 14:29
append jira id on commit messages
#!/bin/bash
# TESTED IN MACOS
# make hook executable
# chmod +x .git/hooks/commit-msg
# get current branch
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
@jonaselan
jonaselan / sanitizeString.php
Last active August 19, 2019 21:29
Transform strings like 'Ábç Éfg' to 'abc_efg'
/**
* @param $str
* @return mixed
*/
function sanitizeString($str) {
$str = preg_replace('/[áàãâä]/ui', 'a', $str);
$str = preg_replace('/[éèêë]/ui', 'e', $str);
$str = preg_replace('/[íìîï]/ui', 'i', $str);
$str = preg_replace('/[óòõôö]/ui', 'o', $str);
$str = preg_replace('/[úùûü]/ui', 'u', $str);
#!/bin/bash
# general variables
_user=$(whoami)
_pwd=$(pwd)
_prefix="[APP]"
# symbolic link for keep ref anywhere
echo "$_prefix Creating symbolic link 'app' on /usr/local/bin/ path..."
if [[ $_user != "root" ]]; then