Skip to content

Instantly share code, notes, and snippets.

de forma geral, a convenção é que em Ruby o == compara se dois objetos tem o mesmo valor, não que são a mesma instância, como acontece em Java. Esse valor pode ser depender do domínio da sua aplicação, mas eu costumo pensar "esses 2 objetos tem a mesma representação em memória?". De novo, em geral. Existem exceções quando isso faz sentido.

'1' == 1 # é falso, pq o valor de '1' em memória seria o encoding desse caractere em unicode/ascii (49) e não 1
false == 0 # é falso, pq o tipo "boolean" é _como se fosse_ um enum que só aceita os valores true e false
# um exemplo que foge a regra, mas "faz sentido" (de acordo com o Rails team), assumindo que User é um model do Rails
u1 = User.new(id: 1, username: 'john.doe')
u2 = User.new(id: 1, username: 'joao.silva')
# pq do ponto de vista do AR dois objetos com o mesmo id representam o mesmo registro, já que se eu salvar os 2 no banco um vai sobrescrever o outro

o === checa se o objeto "aceita" o outro como um similar ou membro. a definição de

Boolean() or !! (double bang, double negation)?

What's the best way to answer the question "true or false?" in JavaScript

JavaScript does not bother you too much with types (at first), which is both a blessing and a cure. But we all know the Boolean type. Boolean variables can either be true or false. Yes or no.

Every value in JavaScript can be translated into a boolean, true or false. Values that translate to true are truthy, values that translate to false are falsy. Simple.

This is about two ways to make that translation.

Ruby e Rails
Guias:
http://guides.rubyonrails.org/
Livros (Free mas vale pagar um café para o autor ;) ):
https://leanpub.com/conhecendo-ruby
Livros (Pagos):
https://leanpub.com/conhecendo-rails
@loilo
loilo / pass-slots.md
Last active July 9, 2024 14:47
Vue: Pass Slots through from Parent to Child Components

Vue: Pass Slots through from Parent to Child Components

The Situation

  • We've got some components A, B and C which provide different slots.
    const A = {
      template: `<div><slot name="a">Default A Content</slot></div>`
    }

const B = {

@yalab
yalab / bootstrap-memo.md
Last active July 20, 2022 20:29
rails5 + webpacker + bootstrap
$ echo 'gem "webpacker"' >> Gemfile
$ bundle install
$ rails webpacker:install
$ yarn add bootstrap@4.0.0-beta jquery popper.js
diff --git a/config/webpack/environment.js b/config/webpack/environment.js
index d16d9af..86bf1a7 100644
@guilhermebruzzi
guilhermebruzzi / github-net-config.md
Last active May 22, 2023 17:02
NET não libera a porta 22 e impede de acessar o github por ssh

Usar ssh do github com wifi do netcombo

A NET parece que só libera o uso de qualquer porta, como a porta 22 de ssh, para pessoa jurídica em seus novos planos (desde 2016).

Para conseguir usar o github por ssh com plano de internet da NET para pessoa física, é necessário:

Criar o arquivo ~/.ssh/config e adicionar:

Host github.com
@pierrejoubert73
pierrejoubert73 / markdown-details-collapsible.md
Last active July 17, 2024 20:17
How to add a collapsible section in markdown.

How to add a collapsible section in markdown

1. Example

Click me

Heading

  1. Foo
  2. Bar
    • Baz
  • Qux
@telekosmos
telekosmos / uniq.js
Last active November 15, 2022 17:13
Remove duplicates from js array (ES5/ES6)
var uniqueArray = function(arrArg) {
return arrArg.filter(function(elem, pos,arr) {
return arr.indexOf(elem) == pos;
});
};
var uniqEs6 = (arrArg) => {
return arrArg.filter((elem, pos, arr) => {
return arr.indexOf(elem) == pos;
});
@jaydson
jaydson / gist:27756965e32314cf28d8
Last active April 17, 2017 18:56
Convença o seu chefe - BrazilJS 2015

#Convença seu chefe - BrazilJS 2015

A BrazilJS Conf é a principal conferência de JavaScript do Brasil e uma das maiores do mundo (sério).
O evento já é tradição na comunidade de desenvolvimento Web brasileira. Todos os anos, centenas (+-1000) de desenvolvedores de todos os estados do Brasil comparecem ao que muitos dizem ser, o Woodstock da tecnologia.
Na sua 5º edição, a BrazilJS Conf 2015 acontecerá nos dias 21 e 22 de Agosto, sendo sediada na cidade de Porto Alegre, Rio Grande do Sul, no Shopping Center BarraShoppingSul, localizado na Av. Diário de Notícias, 300, bairro Cristal.

Justificativa

JavaScript é uma linguagem de programação em extrema ascensão, ganhando cada vez mais destaque no mercado e certamente, a linguagem mais apoiada por empresas como Google, Mozilla, Microsoft, Facebook, Yahoo!, Opera, Adobe, entre outras gigantes do mercado de tecnologia.
Apesar do nome, a conferência abrange diversos temas relacionados ao desenvolvimento web em geral,

@lapastillaroja
lapastillaroja / DividerItemDecoration.java
Last active November 17, 2023 23:06 — forked from akmalxxx/DividerItemDecoration.java
DividerItemDecoration. RecyclerView.ItemDecoration simple implementation
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;