elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación General / Re: ¿CualEsLaMejor forma_de_nombrar? en: 4 Diciembre 2023, 16:19 pm
Lo ideal es seguir las convenciones del lenguaje en que estés programando y nombrar muy detalladamente los diferentes elementos (constantes, variables, métodos/funciones, etc etc).

A día de hoy existen herramientas de autocompletado que facilitan esta tarea. Igualmente yo me aseguraría que el nombre sugerido es el adecuado para cada caso (en la mayoría lo es pero para algunos casos puede que quieras indicar un nombre diferente por algún motivo). Con respecto al nombre generado suelen basarse en el tipo al que representan y si el tipo pertenece a una colección suelen añadir una S al nombre.

Ejemplo tipo en java:

Código
  1. class Example {
  2.  private Pelota (autocompletar, solo completa el nombre del atributo: 'pelota')
  3. }

Código
  1. class Example {
  2.  private Pelota pelota = new Pelota(...);
  3. }

Ejemplo colección en java:

Código
  1. class Example {
  2.  private List<Pelota> (autocompletar, solo completa el nombre del atributo: 'pelotas')
  3. }

Código
  1. class Example {
  2.  private List<Pelota> pelotas = new ArrayList<>();
  3. }

Estos ejemplos son sencillos pero los identificadores pueden a llegar ser mucho más complejos:

Citar
This is the class with longest name, (92 chars long excluding the .java extension) in JDK 1.6.0 source in package com/sun/java/swing/plaf/nimbus

InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState.java

https://www.quora.com/What-are-the-longest-Java-class-names-in-Java-API-or-famous-open-source-libraries

Código
  1. class Example {
  2.  private HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor hasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor;
  3. }

Me gustaría añadir que debemos intentar usar los nombres más cortos posibles pero que sean completamente descriptivos. Que sean largos ahora no es un problema, que para algo existe el autocompletado.
2  Programación / Scripting / Re: dudas script en: 4 Diciembre 2023, 12:52 pm
Hola inma55.

En python tienes muchas más posibilidades y, de hecho, es también un lenguaje completo.

Un saludo
3  Programación / Scripting / Batch backuper en: 4 Diciembre 2023, 12:02 pm
¡Hola!

Es raro pero me ha pasado con una aplicación que tras ejecutarla varias veces seguidas se me desconfigura totalmente (esto no es nada habitual). Por lo que cada vez que inicio sesión en el equipo ejecuto un script que me genera un backup con las siguientes entradas:

OF = ORIGIN FOLDER (carpeta origen)
DF = DESTINATION FOLDER (carpeta destino)
MAX_BACKUPS = Máximo número de copias de seguridad (para no petarme el disco duro).

Código
  1. @echo off
  2.  
  3. setlocal enabledelayedexpansion
  4.  
  5. set OF=ORIGIN\FOLDER\PATH
  6. set DF=DESTINATION\FOLDER\PATH
  7. set /a MAX_BACKUPS=10
  8.  
  9. :: check if origin folder exits
  10. if not exist "%OF%" (
  11. goto :quit
  12. )
  13.  
  14. :: create destination folder if it does not exist
  15. if not exist "%DF%" (
  16. mkdir "%DF%"
  17. )
  18.  
  19. :: check if we reached the max limit of backups, if so, delete the very first backup or keep deleting backups until we reach the maximum backups limit minus one (we will create next backup to get the maximum allowed).
  20. :cbf
  21. set /a bfc=0 & for /f "tokens=*" %%F in ('dir /b /a:d "!DF!"') do @(set /a bfc+=1 > nul)
  22. if %bfc% LSS %MAX_BACKUPS% (
  23. goto :skipcbf
  24. )
  25. for /f "delims=" %%F in ('dir %DF% /O-D /TW /B') do set lastbackup=%%F
  26. del /f /q /s "%DF%\%lastbackup%"
  27. for /f "usebackq" %%d in (`"dir "%DF%\%lastbackup%" /ad/b/s | sort /R"`) do rmdir /q /s "%%d"
  28. rmdir /q /s "%DF%\%lastbackup%"
  29. if %bfc% GEQ %MAX_BACKUPS% (
  30. goto :cbf
  31. )
  32.  
  33. :skipcbf
  34. :: generate backup
  35. for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
  36. set "YYYY=%dt:~0,4%"
  37. set "MM=%dt:~4,2%"
  38. set "DD=%dt:~6,2%"
  39. set "HH=%dt:~8,2%"
  40. set "MI=%dt:~10,2%"
  41. set "SS=%dt:~12,2%"
  42. set "TS=%YYYY%-%MM%-%DD%_%HH%-%MI%-%SS%"
  43.  
  44. Xcopy /E /I "%OF%" "%DF%\YOUR_BACKUPNAME.backup_%TS%\"
  45.  
  46. :quit
  47. :: exiting the script

Para ejecutarlo en cada inicio de sesión del equipo:

Código
  1. schtasks /create /SC ONLOGON /TN TASKNAME /TR "BAT/PATH" /F /HRESULT

Muy recomendable que la copia se haga dentro del mismo disco y partición para que la copia sea relativamente rápida. Si no, quizá os compensa establecer otra estrategia de tarea programada.

Un saludo :D
4  Programación / Scripting / Re: Git Update Manager en Batch en: 4 Diciembre 2023, 11:56 am
Hola,

¡Está bien!

Sin embargo, la parte de configuración de repos la extraería a un fichero .config o .json e implementaría la carga de configuraciones (python + json sería comodísimo).

Por otra parte, el usuario no solo debe configurar los repos si no también cambiar los parámetros permitidos !!! Eso no debería ser así, tu script debería cargar las configuraciones permitidas y así definir los parámetros permitidos, para el usuario debería ser transparente.

Y lo sé, yo algunas veces también pico script personales y los hago así porque solo los voy a usar yo y me simplifica la tarea, solo quería sacarle punta al código JAJAJA.

Un saludo, good work!
5  Programación / Bases de Datos / Re: Error en la carga del JDBC en: 1 Mayo 2014, 20:10 pm
Me alegro ^^
6  Programación / Java / Re: "c" es distinto de un string?. en: 1 Mayo 2014, 15:46 pm
La razón que ha dado gordo23, es la correcta.

El operador == sirve para realizar la comparación de igualdad entre elementos primitivos y la comparación de identidad entre objetos.

El método equals() (sobrescrito por algunas clases hijas) de la clase Object (heredada por todas las clases) permite comparar dos objetos entre sí a través de una comparación de igualdad (lógica).

Esto puede que te ayude: http://tutorialesnet.net/cursos/curso-de-java-7

Capítulo 14.

¡Saludos!
7  Programación / Bases de Datos / Re: Error en la carga del JDBC en: 1 Mayo 2014, 15:11 pm
Esto te va a servir ;)

http://tutorialesnet.net/cursos/curso-de-java-7/java-database-connectivity
8  Programación / Programación General / ¿Borrar pantalla Pascal? en: 9 Diciembre 2011, 01:56 am
Ya sé que puedo borrar la "pantalla" con la instrucción clrscr(); invocando a la unidad CRT, pero sé que hay otra forma para hacerlo y creo recordar que era con writeln.

Mi pregunta es la siguiente: ¿cómo borro la pantalla utilizando la instrucción writeln()?
9  Programación / Bases de Datos / Re: Consulta SQL - problema coalesce en: 17 Noviembre 2011, 11:26 am
case when sal is null Then 'SI' Else 'NO' End

¡Gracias por tu aporte! Pero uso postgres y desde el terminal me da error el case...
10  Programación / Bases de Datos / Consulta SQL - problema coalesce en: 16 Noviembre 2011, 16:46 pm
Suponiendo que el año próximo la subida del sueldo total de cada empleado será del 6 %, y el año
siguiente del 7 %, haya los nombres y el salario total actual, del año próximo y del siguiente, de
cada empleado. Indique además con SI o NO, si el empleado tiene comisión. Si no tiene comisión, el total se considerá igual al salario. Se supone que no existen comisiones negativas.

Citar
select ename,
coalesce(sal+comm,sal) as salario_actual,
coalesce((sal+comm)+(sal+comm)*0.06,sal+(sal*0.06)) as salario_one,
coalesce((sal+comm)+(sal+comm)*0.06+((sal+comm)+(sal+comm)*0.06)*0.07,sal+(sal*0.06)+(sal+(sal*0.06))*0.07) as salario_two,
coalesce() as commision
from emp;

Mi problema es que no sé crear la columna con SI o NO cuando el salario (sal) es NULL o no.

¿Alguna ayudita por favor?

Nota: El formulario no me deja escribir "hal la" en vez de "haya".
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines