¿cual es la funcionalidad de String double quoted en PHP?

Mientras leia un articulo de PHP, vi el tipo de string php double quoted y me dio curiosidad saber como funciona mientras leia su documentacion en ingles en PHP.

fuente

no encontre mucha informacion sobre el , un String double quoted es sencillamente un String simple y corriente o tiene alguna funcional especial o adicional?

¿Cual es la alternativa de fragment o el nuevo componente en android?

Por que fragment no funciona, me dice fragment deprecated cuando instancio me sale error:

 Fragment fra = new usersFragment(); 

Y cuando quiero reemplazar tambien me sale error, se marca de rojo ,no funciona para nada

getSupportFragmentManager().beginTransaction()                     .replace(R.id.container, fra)                     .commit(); 

Si fragment no funciona,cual es al aletrnativa o el nuevo componente el que tengo que usar?

Cual es la manera las eficiente de recorrer un array en Javascript

Hola como están? quería consultarles si alguien tiene idea de cual es la manera mas eficiente de recorrer un array formado de objetos, el objetivo seria concatenar las propiedades dentro de un para dibujar una tabla en html.

la principio lo realice con un for in, funciono bien pero quería tratar de hacerlo con un reduce para usar las nuevas características de JS, también me funciono, pero al una prueba de rendimiento note para mi sorpresa que el recude era algunas centésimas de segundo mas lento que el for in. Me asombro teniendo en cuenta que el reduce se supone que es una característica nueva y mas compleja de usar, pensé que tenia que ser lo mas eficiente.

Alguien sabe bien cual es la manera mas performante de recorrer array.

¿Cuál es la diferencia entre estas formas de cancelar eventos en JQuery?

Si tengo un formulario y le asigno una función al evento submit así:

$  ('#miForm').on('submit',hazAlgo);  function hazAlgo(evento) {   console.log('Me han pulsado');   // ...    return false; //evito el submit }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>  <form id="miForm" action="#">    <button>Púlsame</button> </form>

He visto que hay varias formas de evitar que ocurra el submit:

  1. Que la función hazAlgo devuelva false.
  2. Que la función hazAlgo llame a evento.preventDefault().
  3. Que la función hazAlgo llame a evento.stopImmediatePropagation().

¿Cuáles son las diferencias entre estas tres? o ¿Cuándo se debe llamar a cada una?

cual es la mejor manera de asignar roles y permisos

Estoy desarrollando una api con node.js y mongodb donde utilizo express en conjunto con handelbars y necesito tener roll de administrador y de usuarios tengo en mi frontend donde muestro 3 botones que son editar, borrar, ver el administrador puede ver los todos y realizar las acciones pero los usuarios normales solo tienen la opcion de solo ver los demas botones tienen que estar desavilitados tengo mis codigos asi

para los usuarios tengo asi

const express = require('express'); const router = express.Router(); const passport = require('passport');  //models const User = require('../models/user');   //routers router.get('/users/signup', (req, res) => {     res.render('users/signup');   });  //Ruta para Recibir datos para registro! router.post('/users/signup', async (req, res) => {     let errors = [];     const { name, email, password, confirm_password } = req.body;     if(password != confirm_password){         errors.push({text: 'Contraseñas no coinciden!!'});     }     if(errors.length > 0){         res.render('users/signup', {errors, name, email, password, confirm_password});     }else{         //Validar si el email ya se encuentra registrado!!!         const emailUser = await User.findOne({email: email});             if(emailUser) {             req.flash('error_msg', 'E-mail ya se encuentra Registrado!!');             res.redirect('/users/signup');         }          const newUser = new User({name, email, password});         newUser.password = await newUser.encryptPassword(password);         await newUser.save();         req.flash('success_msg', 'Usuario Registrado Exitosamente!');         res.redirect('/users/signin');     } });   //Metdo para realizar la peticion del wiev! router.get('/users/signin', (req, res) => {     res.render('users/signin');   });  //Autenticacion de usuario antes de llegar al vequipos router.post('/users/signin', passport.authenticate('local', {     successRedirect: '/vequipos',     failureRedirect: '/users/signin',     failureFlash: true }));  router.get('/users/logout', (req, res) => {     req.logOut();     res.redirect('/'); }); //Exportar las rutas para ser leidas desde index.js module.exports = router; 

y para los botones son estos

            <thead>               <tr>                 <th colspan="7">IDENTIFICACIÓN DE LA EMPRESA Y/O PERSONA NATURAL</th>                                  </tr>               <tr style="text-align: left;">                  <!--<th scope="col">Fecha</th>-->                  <th scope="col">Tipo de Persona</th>                 <th scope="col">tipo Ident.</th>                 <th scope="col">Nº Ident.</th>                 <th scope="col">Razon Social</th>                 <th scope="col">Telefono</th>                 <th scope="col">Ciudad</th>                 <th scope="col">Acciòn</th>                </tr>             </thead>               <tbody>                 {{#each lisclient }}                   <tr style="text-align: left;">                     <!--<td> {{data}} </td>-->                     <td> {{tipo_persona}} </td>                     <td> {{ident_ncc}} </td>                     <td> {{ident_numer}} </td>                     <td> {{rasocial}} </td>                     <td> {{telefono}} </td>                     <td> {{ciudad}} </td>                       <!---<td> {{ter_cond}} </td>--->                         <td class="form-inline">                            <a href="/clients/update/{{_id}}" {{#if status}} class="btn p-1 ml-1 mr-1 btn-info" {{/if}} class="btn p-1 ml-1 mr-1 btn-dark"><i class="fas fa-check"></i> </a>                            <a href="/clients/view/{{_id}}" class="btn btn-success p-1 ml-1 mr-1"><i class="fas fa-eye"></i> </a>                            <form id="confir" action="/clients/delete/{{_id}}?_method=DELETE" method="POST">                             <input type="hidden" name="_method" value="DELETE">                                 <button class="btn btn-danger p-1" type="submit"><i class="fas fa-trash-alt"></i>                                  </button>                             </form>                         </td>                         </tr> 

y las rutas estan asi

const express = require('express'); const pdf = require('pdfkit'); const fs = require('fs'); const router = express.Router();   //Llamado de base que tiene que tener para enviar a la base de datos const clients = require('../models/clientes'); const {isAuthenticated} = require('../helpers/auth');   //routers router.get('/clientes', (req, res) => {     res.render('clientes'); });    //Almacenamiento de una ruta para que ser consultada desde el login router.post('/add', async (req, res) => {     //Validacion de que numero del documento no se encuentre registrado     const dcliente = await clients.findOne({ident_numer: req.body.ident_numer});     if(dcliente !== null){         req.flash('error_msg', 'Cliente ya esta Registrado!!');         res.redirect('/');        }      //Almacena en la base de datos sin problema     const cliente = new clients(req.body);     await cliente.save();     req.flash('success_msg', 'Cliente Registrado Exitosamente!');     res.redirect('/');  });   //Consultamos en la base de datos y los pinta en la pag de vequipos router.get('/vequipos/clients', isAuthenticated, async (req, res) => {     const lisclient = await clients.find().sort({date: 'desc'});     //clients.find({nit : 'parametro'});Aca puedo solo poner los que considen con el parametro que le pase     res.render('rclientes', {lisclient});   //== listclient: listclient });   //Ruta para mostrar toda la informacion en una ventana router.get('/clients/update/:id', isAuthenticated, async (req, res) => {     const update = await clients.findById(req.params.id);     update.status = !update.status;     await update.save();     res.redirect('/vequipos/clients'); });   //Ruta para mostrar toda la informacion en una ventana router.get('/clients/view/:id', isAuthenticated, async (req, res) => {     const view = await clients.findById(req.params.id);     res.render('view/Vista', {view}); });   //routers para eliminar solo clientes router.delete('/clients/delete/:id', isAuthenticated, async (req, res) => {     await clients.findByIdAndDelete(req.params.id)     req.flash('success_msg', 'Cliente Eliminado Exitosamente!');     res.redirect('/vequipos/clients'); });  //Exportar las rutas para ser leidas desde index.js module.exports = router; 

no se como realizar el enrutamiento para que filtre los botones y le asigne roles a cada usuario espero me puedan ayudar gracias

recupere grub perdida pero con error porque no esta el kernel con cual trabajo sino uno mas viejo

Tengo este gran problema, de antemano muchas gracias si me pueden ayudar: Recuperè mi grub perdida con el programa boot repair pero con un error porque mi version de ubuntu es studio 4.4.0-31-lowlatency y solo aparece en el menu una versiòn 10.10 de ubuntu, entro en ella y cuando intento editar desde el terminal con el comando chroot me pide contraseña que no es la misma y desconozco, es decir no acepta la contraseña que usaba en studio, tengo el live cd de ubuntu studio pero no he logrado editar el menu para que cargue el kernel adecuado.

JAVA – Alguien sabe cual es el error en el codigo ? (se queda estancado)

es un código en donde la idea es que luego de insertar el nombre de ciertos procesos, estos se detengan, funciona pidiendo los nombres de los procesos a detener, los cuales se guardan en un array, este debe ser leído por un método que se encarga de cerrar los procesos, el problema es que a la hora ejecutarse ese método, el programa queda estancado. Ya he probado el método poniendo el nombre de un proceso manualmente y funciona, pero a la hora de decirle que lea los datos del array, el programa se atasca.

package foroverflow; public class ForOverflow {     public static void main(String[] args) throws Exception {         System.out.print("Ingrese la cantidad de procesos a detener: ");         ForOverflow1 obj = new ForOverflow1();         obj.Procesos_aaa();         ForOverflow2.killProcess();     } }  package foroverflow; import java.util.Scanner; public class ForOverflow1 {     Scanner in = new Scanner(System.in);     String Procesos[] = new String [in.nextInt()];       public void Procesos_aaa() {         in.nextLine();         for(int con = 0; con < Procesos.length; con++) {             System.out.print("Ingresa el nombre del " + ++con + " proceso, (x ej: chrome.exe): ");             Procesos[--con] = in.nextLine();          }     }     public String[] getProcesos() {         return Procesos;     } }  package foroverflow; import java.io.BufferedReader; import java.io.InputStreamReader; public class ForOverflow2 {     private static final String TASKLIST = "tasklist";     private static final String KILL = "taskkill /F /IM ";      public static boolean isProcessRunning(String serviceName) throws Exception {         Process p = Runtime.getRuntime().exec(TASKLIST);         BufferedReader reader = new BufferedReader(new          InputStreamReader(p.getInputStream()));         String line;         while ((line = reader.readLine()) != null) {             System.out.println(line);                 if (line.contains(serviceName)) {                     return true;                 }         }         return false;     }      public static void killProcess() throws Exception {         ForOverflow1 obj = new ForOverflow1();         for (String aaa : obj.getProcesos()) {             Runtime.getRuntime().exec(KILL + aaa);         }     } } 

Cual es la diferencia entre los cifrados SHA1 y AES?

En resumen cual es la diferencia ?

Por que AES permite ingresar una clave de cifrado la cual te permite decifrar el contenido y SHA1 no?

En que circunstancias diferentes se utilizan estos 2 cifrados ? Supongo que por ejemplo puedes enviar una carta cifrada en AES y fijando una contraseña entonces el mismo contenido de la carta, solo necesita la contraseña para poder decifrarla, esto se puede con SHA1 ?

SHA1 es un cifrado de longitud fija de 64 caracteres, es teoricamente decifrable ? o solo funciona cifrando una cadena y devolviendo un valor que es casi imposible decifrar, y solo se utiliza para eso ?

AES que tan vulnerable es ? dependiendo la clave que asignes ? pero que tanto ? cuanto tomaria decifrarla si la clave fuera “ABC” o “ABC8961Xb” , la clave es sensible a mayusculas y minuscalas ?

Agradeceria mucho alguien me aclarara estas dudas.

¿Cuál es el sitio adecuado para definir funciones personalizadas en Laravel?

Hay una serie de funciones que suelo crear de forma habitual en mis proyectos, algunas de ellas son funciones de debug propias (utilizo microtimes, var_dumps, print_r,…) para formatear los datos a mi gusto, y otras son funciones que acaban siendo utilizadas muy a menudo en el proyecto en cuestión (por ejemplo funciones que hagan determinadas cosas con variables de sesión, que “mastiquen” un objeto/array y lo devuelvan de una forma determinada, etc..).

Siempre tengo dudas acerca de dónde debería englobar estas funciones. Hasta ahora el segundo tipo de funciones (trabajo con variables de sesión, funciones de ambito general que alteren variables del proyecto) las ponía en un controlador (CommonController), mientras que el primer tipo de funciones (funciones de debug en su gran mayoría) las pensaba poner en un helper.

No obstante, sigo teniendo serias dudas acerca de si ambos grupos de funciones deberían ser colocados en esos sitios.

Por favor, ¿alguien que me pueda orientar un poco?

Muchas gracias!