Blockly web, he estado trabajando en esta herramienta para desarrollo, inicialmente orientada a personas que se están iniciando en el mundo de la programación, a futuro el uso profesional va a ser cada vez más frecuente, en este video muestro un ejemplo básico de configuración de #Blockly, esto lo aplicaré en los desarrollos que estoy realizando, la tecnología es altruista y debe empezar siendo pensada para dar acceso y oportunidades :)
jueves, 21 de diciembre de 2017
sábado, 16 de diciembre de 2017
Library test with cli NPM
judlup-calc
A node Calc npm module, testing bin option
Install
Output:
Run
Output:
Output:
Output:
Output:
@Judlup
13
Install
npm install judlup-calc -g
CLI
Runcalc
Output:
···Judlup Calc···
Run
calc + 1 2
or calc add 1 2
Output:
···Judlup Calc···
+**************+
| Add result 3 |
+**************+
Runcalc - 1 2
or calc subs 2 1
Output:
···Judlup Calc···
+***************+
| Subs result 1 |
+***************+
Runcalc m 1 2
or calc mult 3 2
Output:
···Judlup Calc···
+***************+
| Mult result 6 |
+***************+
Runcalc / 1 2
or calc div 3 2
Output:
···Judlup Calc···
+***************+
| Div result 6 |
+***************+
Library
Example
//var calc = require("judlup-calc");
var calc = require("../index.js");
calc.printMsg();
//Add
var add = calc.add(8,5);
console.log("Add result is : ",add);
//Substract
var subs = calc.subs(17,4);
console.log("Substract result is : ",subs);
//Multiply
var mult = calc.mult(2,6.5);
console.log("Multiply result is : ",mult);
//Divide
var div = calc.div(26,2);
console.log("Divide result is : ",div);
@Judlup
13
GitHub | NPM Module
martes, 12 de diciembre de 2017
Añadir aplicación al inicio y como comando en linux [ Unix - Node.js ]
Añadir aplicacion al inicio de linux como service
Opción 1:
Crear a
myapp.service
file (remplace 'myapp' con el nombre de su app):[Unit]
Description=My app
[Service]
ExecStart=/var/www/myapp/app.js
Restart=always
User=nobody
# Note RHEL/Fedora uses 'nobody', Debian/Ubuntu uses 'nogroup'
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/myapp
[Install]
WantedBy=multi-user.target
Copy your service file into the /etc/systemd/system
.Start it with
systemctl start myapp
.Enable it to run on boot with
systemctl enable myapp
.See logs with
journalctl -u myapp
Fuente: StackOverflow
Opción 2:
server.js:
const http = require('http');
const hostname = '0.0.0.0'; // listen on all ports
const port = 1337;
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port, hostname, () => {
console.log('Server running at http://${hostname}:${port}/');
});
Guardar en la ruta
/opt/nodeserver/server.js
.Verificar que el servidor funcione correctamente:
node /opt/nodeserver/server.js
Server running at http://0.0.0.0:1337/
Systemd
Create the service file
Crear/etc/systemd/system/nodeserver.service
[Unit]
Description=Node.js Example Server
#Requires=After=mysql.service # Requires the mysql service to run first
[Service]
ExecStart=/usr/local/bin/node /opt/nodeserver/server.js
# Required on some systems
#WorkingDirectory=/opt/nodeserver
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=10
# Output to syslog
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs-example
#User=
#Group=
Environment=NODE_ENV=production PORT=1337
[Install]
WantedBy=multi-user.target
Enable the service
Ejecutar:
systemctl enable nodeserver.service
Mostrará esto al ejecutarse correctamente:
Created symlink from /etc/systemd/system/multi-user.target.wants/nodeserver.service to /etc/systemd/system/nodeserver.service.
Start the service
systemctl start nodeserver.service
Verificar que se esté ejecutando correctamente:
Ejecutar:
systemctl status nodeserver.service
Mostrará esto al ejecutarse correctamente:
● nodeserver.service - Node.js Example Server
Loaded: loaded (/etc/systemd/system/nodeserver.service; enabled)
Active: active (running) since Thu 2015-12-31 09:29:35 NZDT; 7s ago
Main PID: 8952 (node)
CGroup: /system.slice/nodeserver.service
└─8952 /usr/local/bin/node /opt/nodeserver/server.js
Dec 31 09:29:35 fileserver nodejs-example[8952]: Server running at http://0.0.0.0:1337/
*Nota: podría generar un error por la ubicación del
/usr/local/bin/node, ejecutando
which node les mostrará la ruta correcta.
Security / testing
Ruta del servicio:
/etc/systemd/system/nodeserver.service
Cuando se realicen cambios en el archivo .service es necesario ejecutar:
systemctl daemon-reload
Después de reiniciar systemctl se debe reiniciar nuestro servicio:systemctl restart nodeserver.service
Como sugerencia es bueno revisar el estado de nuestro servicio:systemctl status nodeserver.service
Podemos terminar el proceso manualmente con el ID del proceso y reiniciar mediante systemctl:
ps -ef | grep server.js # find the current pid
kill 12345 # kill the process by its pid reported above
ps -ef | grep server.js # notice node process is immediately respawned with a different pid
Fuente: Axllent
* Nota: El servicio puede ser administrado mediando systemctl o service
- Crear un directorio llamado "bin" en su ruta home.
- Actualizar la variable de entorno $PATH añadiento la ruta a la carpeta bin en el archivo
.profile
o.bash_profle
Ejecutar:
export PATH=$PATH":$HOME/bin"
- Crear un script llamado "hello" en el directorio bin y darle permisos de ejecución al mismo
$ chmod +x hello
.
#!/bin/bash echo My first program
- Recargar el registro
.profile
or.bash_profle
:
$ . ~/.bash_profile o $ . ~/.bashrc
- Desde cualquier ruta en la terminal podrá ejecutar
$ hello
Si todo funciona bien mostrará:
My first program
Adcional hice este ejemplo ejecutando una aplicación node
1. Tener enrutado al $PATH la carpeta bin
2. crear un archivo llamado world
#!/usr/bin/node console.log("Hello World!");
3. Desde cualquier ruta ejecutar
$ world
Mostrará:
Hello World!
Fuente: Stackexchange
Ver logs en tiempo real
Ejecutar:
$ journalctl -u kospr.service -f
Para crear un comando para ver sus registro en tiempo real en la carpeta bin crean un archivo llamado serverLogs:
#!/bin/bash
journalctl -u nodeserver.service -f
journalctl -u nodeserver.service -f
y en la terminal ejecutan
$ serverLogs
Suscribirse a:
Entradas (Atom)