Fixeando : NullInjectorError: No provider for InjectionToken MatDialogData

Bueno hoy me encontré con este error en la App Angular en la que estoy trabajando:

La solución fue importarlas directivas MatDialogModule, MAT_DIALOG_DATA y MatDialogRef en el spec:
import { MatDialogModule, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
Y luego en beforeEatch():
imports: [ MatDialogModule],
providers: [
    { provide: MAT_DIALOG_DATA, useValue: {} },
    { provide: MatDialogRef, useValue: {} }
  ]

Con esto salimos andando..

Fix: Error al instalar un Snap en Manjaro

Dependiendo la versión de linux esto puede pasar de manera similar y se debería corregir de igual manera.
El error que aparece a veces tras un upgrade de sistema es :

error: cannot install «rubymine»: classic confinement requires snaps under /snap or symlink from /snap
to /var/lib/snapd/snap.


Esto evita que podamos instalar cualquier paquete como ejemplo puse rubymine

La solución rápida a esto es crear un enlace simbólico desde la terminal como root:

#sudo ln -s /var/lib/snapd/snap /snap

 

Con este enlace simbolico, ya el instalador de snaps nos debería dejar instalar nuevamente los paquetes.

Hasta el próximo tip.

Manjaro Tips: ¿Como liberar espacio en manjaro?

Uno de los problemas que me encontré en Manjaro luego de un tiempo es que los logs de Journal me estaban ocupando mucho espacio.
Lo he resuelto ejecutando un cambio en el tamaño del vacuun con el siguiente comando:

sudo journalctl –vacuum-size=50M

De paso tambien le cambie cada cuanto limpiar con el siguiente comando :

journalctl –vacuum-time=10d

Esto lo podemos setear en el config por defecto :
/etc/systemd/journald.conf

Por otra parte limpie con pacman la cache de las descargas:
sudo pacman -Sc

Hasta el próximo tip

Laravel Tips: ¿Como agregar el año en tus plantillas Blade en Laravel?

Laravel es un excelente framework y tiene soluciones para muchas tareas habitulaes.
Una que se usa habitualmente es incorporar el año en una plantilla blade.
Es algo simple, pero que muchos novatos no saben hacer.
En nuestra plantilla por ejemplo en la vista footer.blade.php añadimos donde queremos que el año se actualice constantemente el siguiente metodo:

{{ now()->year }} o  {{ date(‘Y’) }} según la versión

Un ejemplo típico y más visible seria:

<footer class=»main-footer navbar-fixed-bottom» style=»max-height: 100px;text-align: center»>
  <strong>Copyright © 2008-{{now()->year}}
    <ahref=»{{config(‘app.company_url’) }}»>{{config(‘app.company’) }}</a>.
  </strong> Todos los derechos reservados.
</footer>

De esta manera siempre tu web o aplicación mostrara en esa parte de la plantilla el año actual.

Hasta el próximo tip.

Instalar mongodb en centos

Como configurar Mongo en tu servidor Centos

MongoDB es una base de datos open-source NOSQL con orientación basada en documentos. Miles de organizaciones dentro del mundo se encuentran usando esta base de datos para poder crear nuevos tipos de aplicaciones y así mejorar la experiencia del cliente y acelerar el tiempo de comercialización.

En lugar de guardar la información dentro de tablas, como hacen muchos sistemas similares en bases de datos relacionales, guarda las estructuras de datos en documentos con estructura BSON que seria el binario de un JSON. Esto genera que la integración de los datos dentro de determinadas aplicaciones sea fácil y rápida.

¿Que te llevará a utilizar MongoDB?

Alto rendimiento
El alto rendimiento para la persistencia en MongoDB se basa en dos puntos: La posibilidad de tener documentos con la información anidada, evitando, de esta forma, un número elevado de operaciones de I/O. Y el soporte de índices y la posibilidad de crear índices sobre arrays y subdocumentos.

Alta disponibilidad
MongoDB proporciona alta disponibilidad mediante la réplica automática conocida como replica set, la cual proporciona redundancia de datos y failover automático, es decir, la transferencia automática a un nuevo nodo cuando se encuentra un fallo en uno de los nodos.

Escalado Automático
MongoDB nos ofrece un escalado horizontal. Para ello el sistema de sharding nos permite distribuir información por diferentes cluster de máquinas.

Bueno pasada la introducción..vamos a instalar MongoDB en nuestro servidor.
1)nano /etc/yum.repos.d/mongodb-org.repo
2)Agregamos lo siguiente:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

y guardamos el archivo.
3)Revisamos la lista de repos
$ yum repolist
4)Instalamos mongodb
$ yum install mongodb-org

Bien ya tenemos instalado mongo.. ahora a configurarlo para iniciarlo y que levante en el booteo.

5)Iniciamos el servicio
$ systemctl start mongod
6)Habilitamos el servicio para que inicie al bootear
$ systemctl enable mongod

Con esto ya tenemos instalado mongo en nuestro servidor y listo para usarlo.

Por otra parte detallo los siguientes comandos:
Para recargar el servicio luego de modificar el mongo.conf ejecutamos
$ systemctl reload mongod

Para detener el servicio ejecutamos
$ systemctl stop mongod

Si queremos chequear el log podemos ejecutar:
$ tail /var/log/mongodb/mongod.log

Si queremos acceder a la shell de la db directamente ejecutamos
$ mongo

Bueno con esto ya podemos avanzar hacia el tema de crear colecciones, pero eso lo dejo para otro artículo.
Nos vemos!