21 de junho de 2018
18 de junho de 2018
CSS: O que são prefixos CSS
18 de junho de 2018 henrique
14 de junho de 2018
JavaScript: Eventos
14 de junho de 2018 henrique
11 de junho de 2018
JavaScript: querySelectorAll e limitar casas decimais
11 de junho de 2018 henrique
var aluno = tabelaAlunos[i];
7 de junho de 2018
JavaScript: Alterando estilos CSS
7 de junho de 2018 henrique
4 de junho de 2018
Mongo: Atualização (Update)
4 de junho de 2018 henrique
{"_id" : ObjectId("16db0004b8d72ea12f75d3b9")},
{ $push : { notas : 7.0 } }
)
{"_id" : ObejctId("16db0004b8d72ea12f75d3b9")},
{ $push : { "notas" : {$each : [7.5, 5.0] } }}
29 de maio de 2018
Mongo: Find limitando registros e ordenação sort
29 de maio de 2018 henrique
Poderíamos executar este comando:
db.funcionarios.findOne({
aproveitamento : { $gt : 8}
})
O findOne retorna o primeiro valor encontrado, no caso seria o primeiro funcionário que tenha aproveitamento maior que 8.
Portanto talvez fosse interessante partir para outra opção. Como listar os funcionários ordenando pelo aproveitamento. Para isso usamos o sort.
db.funcionarios.find().sort({"aproveitamento" : 1})
Com este comando estamos ordenando por ordem crescente, caso queira que seja por ordem decrescente é só alterar o segundo parâmetro para -1.
db.funcionarios.find().sort({"aproveitamento" : -1})
Tendo ordenado podemos limitar a quantos registros desejamos. Imagine que quero lançar aquele desconto para os 5 funcionários com aproveitamento mais alto. O limit tem esta função, nele se pode colocar o número de registros desejados.
db.funcionarios.find().sort({"aproveitamento" : -1}).limit(5)
24 de maio de 2018
Mongo: Comandos para selecionar (find)
24 de maio de 2018 henrique
21 de maio de 2018
Mongo: Comandos para inserção e remoção (insert e delete)
21 de maio de 2018 henrique
17 de maio de 2018
JavaScript: Introdução
17 de maio de 2018 henrique
14 de maio de 2018
Mongo DB: Introdução
14 de maio de 2018 henrique
Mongo é orientado à documentos (JSON), ou seja, ele é um banco não relacional document-based.
- mongod: inicializa o servidor de banco de dados;
- mongo: inicializa o cliente de banco de dados;
- mongodump: realiza dump do banco (backup binário);
- mongorestore: restaura dumps do banco (restore binário);
- mongoimport: importa documentos JSON ou CSV pro seu banco;
- mongoexport: exporta documentos JSON ou CSV do seu banco;
- entre outros.
Para subir um servidor mongo
C:\mongo\bin> mongod --dbpath C:\mongo\data
|
c:\mongo\bin> mongo
|
> show databases
|
> use workshop
|
> show collections
|
> db.customers.find({nome: { $regex: /a/ }})
|
> db.customers.find({idade: {$gte: 18}})
|
> db.customers.find({nome: "Luiz", idade: {$gte: 18}})
|
- $eq: exatamente igual (=)
- $ne: diferente (<> ou !=)
- $gt: maior do que (>)
- $lt: menor do que (<)
- $lte: menor ou igual a (<=)
- $in: o valor está contido em um array de possibilidades, como em um OU. Ex: {idade: {$in: [10,12] }}
- $all: MongoDB permite campos com arrays. Ex: { tags: [“NodeJS”, “MongoDB”] }. Com esse operador, você compara se seu campo multivalorado possui todos os valores de um array específico. Ex: {tags: {$all: [“NodeJS”, “Android”]}}
> db.customers.find().skip(1).limit(10)
|
> db.customers.find().sort({idade: 1})
|
10 de maio de 2018
UX: Microcopy (Microtexto)
10 de maio de 2018 henrique
30 de abril de 2018
UX Research (Pesquisa em UX)
30 de abril de 2018 henrique
- Entenda o que você quer descobrir;
- Não faça perguntas que influenciem respostas, deixe as perguntas mais abertas;
- Faça a mesma pergunta de formas diferentes, para caso o entrevistado não entender de primeira;
- Comece com perguntas simples para quebrar um pouco o gelo e fazer com que o entrevistado fique mais à vontade;
19 de abril de 2018
SQL: Collate, ignorando acentos
19 de abril de 2018 henrique
Na dica de hoje vou mostrar um comando SQL do qual eu precisei utilizar alguns dias atrás.
Vamos imaginar a seguinte situação, você tem um cadastro de clientes e deseja filtrar alguns clientes pelo bairro onde ele mora. Até aí teríamos um select bem simples selecionando os clientes quando o bairro contiver as palavras digitadas, "SELECT * FROM CLIENTES WHERE BAIRRO LIKE '%Texto%', mas e para bairros que contenham acento, vamos fazer o usuário pesquisar duas vezes, uma digitando com acento e outra sem o acento para poder localizar o cliente correto? E maiúsculas e minúsculas? Muitas vezes isso não é interessante, aí que entra o tal do COLLATE.
Retomando o select do exemplo acima teríamos apenas que adicionar "COLLATE SQL_Latin1_General_CP1_CI_AI", ou seja, ficaria "SELECT * FROM CLIENTES WHERE BAIRRO LIKE '%Texto%' COLLATE SQL_Latin1_General_CP1_CI_AI", com isso estamos ignorando acentos e diferenças entre letras maiúsculas e minúsculas.
16 de abril de 2018
UX: Thumb zone
16 de abril de 2018 henrique
12 de abril de 2018
UX: Lei de Fitts
12 de abril de 2018 henrique
9 de abril de 2018
UX: Microinterações, importância e aplicações
9 de abril de 2018 henrique
- Quando colocamos o celular na opção vibrar o celular emite uma vibração curta para indicar que a opção foi ativada com sucesso.
- Quando no smartphone estamos em um aplicativo que atualiza ao puxarmos a tela para baixo e um ícone de animação indicando que está carregando.
- Ou outro exemplo, são e-commerces que mostram no ícone de carrinho de compras quantos itens já adicionamos mesmo sem entrar na página do carrinho de compras propriamente dito, isso faz com que o usuário tenha certeza que aquele item foi adicionado ao carrinho ou então que ele confira que já adicionou os três itens procurados.
Conforme vimos nos exemplos acima, uma microinteração pode ser uma animação, uma informação a mais exibida ao usuário ou mesmo uma ação de hardware (caso do smartphone vibrando).
Uma microinteração necessita de um gatilho, uma ação, um feedback e um loop / mode.
- Gatilho: Quando deverá ser iniciada.
- Ação: O que vai acontecer.
- Feedback: Como saber que a microinteração terminou e qual será a forma de mostrar ao usuário o que aconteceu ou se a operação foi concluída.
- Loop: Quando deverá ser repetida.Mode: Ter ação ou feedback diferente para uma diferença de gatilho.
Portanto quando estiver desenhando/desenvolvendo seu aplicativo ou site pense em como adicionar microinterações para trazer mais conforto ao usuário e deixá-lo sempre informado do que está acontecendo. Mas também lembre-se de que tudo em excesso faz mal, então adicionar excessivas microinterações sejam animadas ou não, pode tornar a experiência do usuário mais chata, com um ar mais pesado.
5 de abril de 2018
UX: Lei de Hick
5 de abril de 2018 henrique
A intenção aqui não é mostrar o cálculo ou dizer que para fazer uma interface de usuário você precisará fazê-lo sempre, caso queira poderá ver no wikipédia, mas conscientizar que muitas vezes dar muitas opções de escolha ao usuário pode fazer com que o mesmo demore a escolher uma e com isso perca o interesse em escolher ou utilizar seu aplicativo, pensemos em um site de compras onde a navegação é complicada, pois no menu o usuário tem de escolher entre muitas subdivisões quando na verdade ele só quer ver os notebooks mais vendidos do momento e escolher um, ao demorar à chegar na busca desejada e decidir entre tantas opções o mesmo perde o interesse e compra em outro site, pronto, foi perdida uma venda quase certa.
3 de abril de 2018
UX: Por onde começar (Leis básicas)
3 de abril de 2018 henrique
Vou mostrar alguns para sempre que possível incluir os itens listados abaixo no trabalho de UX de modo geral.
Sempre mostrar um feedback para o cliente para ele saber que tal ação foi ou não realizada (mensagens de sucesso, erro ou aviso), também na medida do possível ter e mostrar uma forma fácil do usuário cancelar ou reverter aquela ação. Ou seja, sempre deixar o usuário no controle da aplicação.
Manter um padrão de ações (confirmar seguir um padrão, sempre ter opção de cancelar operação no mesmo lugar) e ícones (controles de um modo em geral, textbox, botão, ícones), e caso possível tentar reaproveitar a experiência do usuário para dentro da sua aplicação por exemplo um botão de editar ser um lápis (padrão para muitos aplicativos) ou então o menu estar na esquerda ou acima, etc.
Ter prevenção de erros, como por exemplo ter auto complete ou auto correct, isso faz com que o usuário utilize mais facilmente sua aplicação sem ter de ir e voltar nas ações.
Contar com a memória limitada do usuário, ou seja, exibir o que o usuário está fazendo e o que usuário já fez, como por exemplo nos sites que mostram as páginas acessadas até chegar aonde se está (home > produtos > eletrdomésticos), este conceito se chama breadcrumb.
Ter documentação online ou no próprio aplicativo para caso o usuário tenha dúvidas de alguma funcionalidade, esta documentação deve ser o mais simples possível, uma boa opção é ter em esquemas de tutoriais e perguntas mais comuns juntos.
Sempre pensar que menos é mais, ter uma interface simples apenas com as opções necessárias naquele momento.
