Skip to content

Instantly share code, notes, and snippets.

View javierav's full-sized avatar
😎

Javier Aranda javierav

😎
View GitHub Profile

Indices

SQLite

En SQLite un índice único sobre un campo de texto es sensible a mayúsculas (case-sensitive), lo que quiere decir que podremos insertar un registro "Javier" y otro "javier" ya que se consideran diferentes.

PostgreSQL

module Sqidsable
extend ActiveSupport::Concern
module ClassMethods
def find(*ids)
expects_array = ids.first.is_a?(Array)
uniq_ids = ids.flatten.compact.uniq
uniq_ids = uniq_ids.first unless expects_array || uniq_ids.size > 1
  • db:migrate: runs migrations
  • db:create: creates the database
  • db:drop: deletes the database
  • db:schema:load: create tables using schema.rb and deleting existing data
  • db:setup: does db:create, db:schema:load, db:seed
  • db:reset: does db:drop, db:create, db:schema:load, db:seed
  • db:migrate:reset: does db:drop, db:create, db:migrate
  • db:prepare: does db:setup if database does not exists and db:migrate if exists
  • db:seed: load seed from db/seeds.rb
  • db:seed:replant: truncate tables and does db:seed

Platforms

cpu architectures

  • arm: 32-bit Advanced RISC Machine
  • arm64, aarch64: 64-bit Advanced RISC Machine
  • x64, x86_64, amd64: 64-bit extended systems

operating systems

Hotwire Turbo

Drive

Intercepta los enlaces y el envío de formularios, los ejecuta en segundo plano y actualiza la página con la respuesta sin hacer una carga completa de toda la página. EL contenido de head se mezcla y el de body se sustituye.

@javierav
javierav / rubymine-shortcuts-mac.md
Last active August 8, 2023 12:47
Atajos de teclado de Rubymine para Mac

Atajos de teclado para Rubymine en Mac

Navegación

⎋ Esc: Poner el foco en el editor de texto

⌃ Ctrl + ⇥ Tab: Selector para elegir qué mostrar. Mantener pulsado ⌃ Ctrl. Avanzar con ⇥ Tab.

⇧ Shift + ⎋ Esc: Cerrar la ventada abierta (por ejemplo la consola)

aasm column: :status do
  state :pending, initial: true
  state :running, :completed, :failed

  event :start, success: :success_event_start, after: :after_event_start, after_commit: :after_commit_event_start do
    transitions from: :pending, to: :running,
                after: :after_transition_from_pending_to_running,
                success: :success_transition_from_pending_to_running
 end
@javierav
javierav / sshkeys.md
Last active August 2, 2023 16:54
SSH Keys

SSH Keys

Por defecto en Ubuntu, cuando instalamos openssh-server se generan 4 claves públicas con sus correspondientes claves privadas usando cada una un algoritmo diferente:

  • /etc/sshd/ssh_host_dsa_key.pub - ssh-dss
  • /etc/sshd/ssh_host_ecdsa_key.pub - ecdsa-sha2-nistp256
  • /etc/sshd/ssh_host_ed25519_key.pub - ssh-ed25519
  • /etc/sshd/ssh_host_rsa_key.pub - ssh-rsa
# Use with Ubuntu 22.04 jammy
# Prepare system
sudo apt update
sudo apt upgrade -y
# install docker
@javierav
javierav / rails-models-queries.md
Last active April 12, 2023 11:50
Consultas de datos de varios modelos en Rails

Consultas de datos de varios modelos en Rails

Tipos de joins

En estos ejemplos la Tabla A tiene un has_many y la Tabla B un belongs_to y no tienen en cuenta que en la Tabla B podría haber varias referencias al mismo registro de la Tabla A, lo que produce duplicados de los registros de la Tabla A al hacer los joins.

Alias