Skip to content

Instantly share code, notes, and snippets.

View luizjacomn's full-sized avatar
🎯
Focusing

Luiz Jacó luizjacomn

🎯
Focusing
View GitHub Profile
@luizjacomn
luizjacomn / dart.json
Last active December 28, 2021 04:07
Snippets VSCode para Dart/Flutter
{
"aaaTest": {// criar estrutura de testes "triple a" (arrange, act, assert)
"prefix": "aaa",
"body": [
"test(",
"\t'should $1',",
"\t() async {",
"\t\t// arrange",
"\t\t$2",
"\t\t// act",
@luizjacomn
luizjacomn / main.dart
Created March 1, 2021 16:11
Difference between two dates, in days
void main() {
var d1 = DateTime(2021, 2, 4);
var d2 = DateTime.now();
print(d2.difference(d1).inDays);
}
@luizjacomn
luizjacomn / init-pages-firefox.dart
Last active August 11, 2020 20:07
Manipular urls de inicialização do firefox
// menu > opções > Página inicial e novas janelas > URLs personalizadas > Copiar o conteúdo do campo (caso exista)
void main() {
String fromFirefox = '<from-firefox>';
String token = '|';
List<String> urls = fromFirefox.split(token);
urls.add('<new-url>');
urls.insert(<at-position>, '<new-url>');
@luizjacomn
luizjacomn / flutter_cart.dart
Last active January 10, 2020 20:01
Protótipo de tela de carrinho de compras
import 'package:flutter/material.dart';
final pc = Colors.blueGrey.shade900;
final sc = Colors.blueGrey.shade800;
final bc = Colors.blueGrey;
final wc = Colors.white;
final ac = Colors.amber;
final tc = Colors.transparent;
final gc = Colors.green;
final rc = Colors.red;
@luizjacomn
luizjacomn / singleton.dart
Last active November 22, 2019 14:08
Implementando o padrão Singleton em dart. Baseado em https://forum.flutterando.com.br/d/59-criando-singleton-com-dart-flutter
void main() {
Contador single = Contador();
Contador single2 = Contador();
Contador single3 = Contador();
print(single.count++);
print(single2.count++);
print(single3.count);
}
void main() {
Venda venda = Venda();
CalculadoraDesconto calculadora = CalculadoraDesconto();
venda.adicionarItem(Item('Tenis', 270.0));
venda.adicionarItem(Item('Sapato', 350.0));
venda.adicionarItem(Item('Camisa', 200.0));
venda.adicionarItem(Item('Calça', 180.0));
double desconto = calculadora.calcularDesconto(venda);
void main() {
Imposto icms = ICMS();
Imposto iptu = IPTU();
CalculoImposto calc = CalculoImposto();
print(calc.calcularImposto(icms, 100));
print(calc.calcularImposto(iptu, 50));
}
void main() {
// criando variável teste.
String teste = 'teste';
// "printa" 5 no console.
print(teste.length);
// setando valor para null.
teste = null;
// caso tente acessar a variável diretamente esta estando nula, uma exceção é lançada.
// com o operador ?. isso é evitado pois a variável teste somente é acessada quando seu valor for diferente de nulo.
print(teste?.length);
extension on String {
String concat(String toConcat) => this + toConcat;
}
main() {
String test = 'primeira';
String expected = test.concat(' e segunda');
assert('primeira e segunda' == expected);
print(expected);
@luizjacomn
luizjacomn / CloneUtil.java
Created August 12, 2019 18:35
Clone object using Jackson's library (allows modify properties without affects the original one).
public <T> T clone(Object obj, Class<T> clazz) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
try {
return objectMapper.readValue(objectMapper.writeValueAsString(obj), clazz);
} catch (IOException e) {
throw new Exception();
}
}