Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Usuario Invitado

#621
Foro Libre / Re: ¿Te consideras un hacker?
1 Febrero 2015, 18:25 PM
Yo veo una obsesión en los iniciados con el término hacker. Creo que les da un "plus" a su personalidad que hace que se sientan "importantes"  ;D

Para mí un hacker es simplemente la persona que tiene conocimientos avanzados sobre seguridad informática y las subramas que conlleva, como programación por ejemplo. Ese es mi punto de vista de un hacker desde el punto de vista "formal" por así decirlo.

Las personas que utilizan éstos conocimientos para DDoSear, defacer, vamos, joder y destruir pues son simplemente delincuentes. Cierto también es que debes conocer cómo funcionan los distintos tipos de ataques para poder prevenirlos.
#622
PHP / Re: PHP arrays.
1 Febrero 2015, 18:09 PM
Ya veo. Creo que la solución sería algo así, aunque supongo que se puede optimizar, no conozco muy bien PHP en realidad.

Código (php) [Seleccionar]
<?php

$date 
explode("/","25/04/2012"); // array dia/mes/año de la fecha antigua
$now getDate();
$now explode("/",$now["mday"]."/".$now["mon"]."/".$now["year"]); // array dia/mes/año actual

// constantes que definen el primer y ultimo mes a mostrar
define("INITIAL_MONTH", (int) $date[1]);
define("LAST_MONTH", (int) $now[1]);

$year_diff = (int)$now[2] - (int)$date[2]; // diferencia en años
$months_diff = ($year_diff 12) + (int)$now[1] - (int)$date[1]; // diferencia en meses

echo "<br />";

$currentMonth INITIAL_MONTH// el primer que se mostrara
// como $currentMonth no inicia en 1, le sumamos al total de meses INITIAL_MONTH
// Ej. si INITIAL_MONTH = 4 (abril), months_diff sumará 4 meses al total
while($currentMonth <= $months_diff INITIAL_MONTH) {
// cuando el mes sea 12 se imprime el mes y se reinicia la variable de control
// para que empiece a contar desde enero. Tambien se le restan 12 meses al total
// de meses ya que hemos descontado 12 a la variable de control
if($currentMonth === 12) {
print($months[$currentMonth]."<br />");
$currentMonth 1;
$months_diff -= 12;
}
print($months[$currentMonth]."<br />");
$currentMonth++;
}
#623
Java / Re: Controlar Timeout mediante un EJB
1 Febrero 2015, 17:52 PM
Yo lo haría así:

1.- Hacer la consulta en un Thread.
2.- Haces la consulta.
3.- Registras el Timer a 20 segundos.
4.- En el método @Timeout cancelas el Thread y por consiguiente la consulta.
#624
Cita de: Eleкtro en  1 Febrero 2015, 12:00 PM
¿Por qué no usan el buscador del foro?, es obvio que esta pregunta se ha formulado cientos de veces, y eso significa que podrás encontrar miles de opiniones distintas.

Saludos!

+1. Éstos temas ya no deberían hacerse. Así como "¿Qué lenguaje de programación es mejor?", todos te dan respuestas diferentes y en la mayoría de los casos su preferencia por algún lenguaje influye un buen porcentaje en su recomendación (aunque no lo admitan). Todos te dicen que X, Y o Z lenguaje es mejor para iniciarse. Lo mejor es que revises la documentación de los lenguajes que te interesan y veas cuál API te parece más sencilla de aprender, o cuál te gusta más.
#625
PHP / Re: PHP arrays.
1 Febrero 2015, 14:18 PM
Con el permiso de @MinusFour y los presentes.

Tu duda principal trata de cómo puedes imprimir los meses a partir de una fecha, ¿cierto?

Creo que por lógica lo puedes resolver con simple pseudocódigo, simplemente es identificar el mes e imprimir los meses posteriores. Si identificas un mes, lo haces por medio de su número en el calendario. Luego recorres los meses y condicionas que te imprima el mes siempre y cuando sea mayor al mes ingresado.

Código (php) [Seleccionar]
$month = substr("30/05/2014",3,2);

foreach($months as $key => $value) {
if($key >= $month) {
echo $value."<br/>";
if($key === 12)
echo $months[1];
}
}


Practicar resolviendo ejercicios algorítmicos para que desarrolles tu lógica.
#626
Java / Re: [Guía] Patrones de diseño - Parte 1
1 Febrero 2015, 00:15 AM
Gracias colega. Pensándolo mejor, el patrón Singleton es mejor aplicarlo como recomienda Joshua Bloch; como un Enum.

Código (java) [Seleccionar]
public enum Configuration {
INSTANCE;

private Map<String, Object> options;

public Map<String, Object> getOptions() {
if(options == null)
fillOptions();
return options;
}

private void fillOptions() {
options = new HashMap<>();
options.put("theme", "Dark");
options.put("show_hidden_files", true);
}

}


Para gustos colores ;) Salu2.
#627
Java / Re: Controlar Timeout mediante un EJB
1 Febrero 2015, 00:08 AM
No te entiendo. ¿Dices que quieres controlar el timeout dinámicamente?

Si es así, puedes controlarlo cancelándolo y volviendo a crearlo. Por ejemplo:

Código (java) [Seleccionar]
public void startOrModifyTimer(long initialExpiration, long interval, String name){     
        for (Timer timer: timer.getTimers()) {
            if (timer.getInfo().equals(name)) {
                timer.cancel();
            }
        }
        TimerConfig config = new TimerConfig();
        config.setInfo(name);
        config.setPersistent(false);
        timerService.createIntervalTimer(initialExpiration, interval, config);
}
#628
Sí ha estado down, ayer también.
#629
Cita de: daryo en 31 Enero 2015, 17:22 PM
los proyectos en java son mucho mas lentos que en otros lenguajes

¿A qué te refieres con lentos, lentos porque demora más en terminarse?

Java es muy verboso, sí, pero su API es una de las mejores. Lo que pasa es que en Java hay que aprender mucha teoría, para poder aplicar bien los conceptos, y eso aburre al 90% de los programadores porque obviamente prefieren estar 20% investigando y 80% desarrollando, cosa que con Java al principio es al revés.

Si te refieres a la velocidad de ejecución, pues estás equivocado. Ya hay muchos benchmarks que demuestran que Java es uno de los lenguajes más rápidos.

La única y fea verdad es que Java es difícil de aprender. Pero cuando lo aprendes, te das cuenta de la increíble potencia que tiene éste lenguaje.

C# me parece un excelente lenguaje, tiene interesantes características y tiene uno de los mejores IDEs que es Visual Studio. Además siempre se está actualizando. Python me parece un lenguaje muy potente también con una API buenísima.

Aquí se está olvidando un punto muy importante:

CitarLa necesidad de usar un lenguaje de programación nace de la necesidad del proyecto.

Si no voy a hacer una aplicación empresarial a múltiples capas, una aplicación compleja y por el contrario, haré una pequeña aplicación web, ¿Para qué usar Java? Es como si matara una mosca a cañonazos. Personalmente usaría PHP o Python o Ruby si algún día me digno a estudiarlo xD.

Salu2.
#630
Java / Re: Controlar Timeout mediante un EJB
31 Enero 2015, 15:42 PM
Cuando se utiliza un método timeout anotado con @timeout, la especificación nos dice que el método debe retornar void y sólo recibir como parámetro un objeto javax.ejb.TimerService o en su defecto, no debe recibir parámetros.

Para registrar un timeout podemos hacerlo de la siguiente manera (de acuerdo a la tercera forma):

Código (java) [Seleccionar]
createTimer(long duracionInicial, long duracionIntervalo, serializable objetoAsociado);

Así que puedes crearlo así:

Código (java) [Seleccionar]
@Resource TimerService timer; // opcional, aquí inyectamos al objeto TimerService

public void doSomething(Objeto obj) {
    timer.createTimer(15*60*1000, 15*60*1000, obj);
}


Lo que se ha hecho es crear un TimerService cuya primera véz de ejecución será un timeout de 15 minutos y el intérvalo entre ejecuciones será de 15 minutos también. Así mismo, hemos asociado al TimerService un objeto que debe implementar Serializable.

Bien, ahora el método que se ejecutará luego del registro del TimerService será:

Código (java) [Seleccionar]
@timeout doOtherThing(Timer timer)  {
    Objeto obj = (Objeto) timer.getInfo();
    // hacer otras cosas...
}


El método getInfo() retorna el objeto asociado al TimerService. Si al momento de crear el TimerService en lugar de un objeto se declara null, el valor devuelto será null también.

Ahora, si estoy en lo correcto, podemos cancelar un TimerService. Por ejemplo si en lugar de un objeto le hemos asociado un nombre, podríamos detenerlo así:

Código (java) [Seleccionar]
public void stop(String timerName) {
    for(Object obj : timerService.getTimers()) {
        Timer t = (Timer)obj;
        if (t.getInfo().equals(timerName)) {
        t.cancel();
        }
    }
}


Pero si no hemos asociado un nombre, podemos detenerlos iterando el conjunto de TimerService:

Código (java) [Seleccionar]
public void stop() { 
        List<Timer> timers = timerService.getTimers(); 
        if (timers != null) 
        { 
            for(Timer t : timers) {
                t.cancel();
            }
        } 
}


Salu2.

PD: Usa las etiquetas Geshi para colocar código.