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ú

Temas - n-utz

#1
Seguridad / FTPS - TLS/SSL
29 Octubre 2018, 18:56 PM
Buenas chicos,

Vengo con una consulta bastante simple. La primera vez que me meto con este protocolo, y no me queda claro la información que encuentro en otras fuentes, por eso recurro a ustedes.

Desarrollé un FTP, y quiero cifrar la comunicación con TLS/SSL para que pase a ser FTPS, y la verdad tengo nulo conocimiento en esto.

Estoy usando una libreria que levanta el certificado desde un archivo *.pfx, pero no me queda claro qué debo alojar ahí (del lado del servidor), y qué le tengo que disponibilizar al cliente para que pueda comunicarse correctamente. Por si se darán cuenta que me cuesta entender el protocolo, qué es necesario para una comunicación correcta.

Por otro lado, ¿cómo genero los certificados *.pfx o cert?.

Me conformo con un link explicativo pero los que leí no puedo comprenderlos.

Gracias, y saludos!
#2
.NET (C#, VB.NET, ASP) / FTPS en ASP.NET Core
12 Octubre 2018, 19:33 PM
Buenas gente,

Hace mucho no posteaba en el foro, siempre lo uso como último recurso cuando no encuentro salida con algún problema.

Estoy desarrollando un FTP Server en ASP.NET Core utilizando la libreria Fubar FTP : http://fubardevelopment.github.io/FtpServer/index.html

Utilicé esta libreria porque te permite, a través de DI, cambiar el comportamiento del file system (o el file system completamente), lo diseñé para que almacene los archivos que recibe en un storage de Azure.

Ahora me encuentro con un problema bastante simple (para el que esté en tema), y es que quiero que la comunicación del FTP sea mediante SSL/TLS, estuve leyendo y en lo samples de la libreria ellos levantan un certificado X509 desde un .pfx.

El problema es que no entiendo bien cómo funciona este certificado, es decir, el servidor debe tener un .pfx para que lo levante y ahí tendrá su private key, y el usuario debe tener otro certificado con alguna relación al mio?

No sé bien cómo crear el .pfx y si debo hacerlo en runtime o ya debe estar alocado en el server que esté corriendo el FTP.

¿Me podrían orientar?, gracias.
Quizá este post debería ir en criptografía, ¿no?.
#3
Buenas,

Hace mucho no posteo en el foro, pero siempre va a ser mi última opción cuándo no encuentre la información en ningún otro lado o no pueda entender conceptos..

Vengo ahora con un problema de mapeos, estoy desarrollando un sistemita, para uso personal, donde voy a registrar las deudas o deudores que tengo.

Les paso código, que explica más que mil palabras:


    public class Person
    {
        protected virtual long Id { get; set; }
        protected virtual string Name { get; set;  }
        protected virtual string Nickname { get; set; }
        protected virtual string Surname { get; set; }

        public Person() { }

        public Person(string name, string nickname, string surname)
        {
            Name = name;
            Nickname = nickname;
            Surname = surname;
        }
    }



    public abstract class Transaction
    {
        protected virtual long Id { get; set; }
        protected virtual float OriginalAmount { get; set; }
        protected virtual float RemainingAmount { get; set; }
        protected virtual string Detail { get; set; }
        protected virtual DateTime Stamp { get; set; }
        protected virtual Person Person { get; set; }

        protected Transaction() { }

        protected Transaction(float originalAmount, string detail, Person person)
        {
            OriginalAmount = originalAmount;
            RemainingAmount = originalAmount;
            Detail = detail;
            Stamp = DateTime.Now;
            Person = person;
        }
    }

   public class Asset : Transaction
    {
        public Asset() { }

        public Asset(float originalAmount, string detail, Person person) :
            base(originalAmount, detail, person) { }
    }


Como es un sistema para mi, solo me centro en las transacciones que se producen y no en las personas, aunque quiero tenerlas registradas. Debido a esto, cada transacción tiene que estar registrada a una persona (clase Person).
Al registrar una transacción, si o si, debe estar asociada a una persona.

Vamos a la BD:


Table - Person

Id - bigint
Name - varchar(50)
Nickname - varchar(50)
Surname - varchar(50)



Table - Asset

Id - bigint
OriginalAmount - float
RemainingAmount - float
Detail - varchar(50)
Stamp - Date
PersonId - bigint (fk a Person.Id)


Ahora a los mapeos, el error que estoy teniendo es que no inserta el PersonId correspondientemente, lo intenta insertar como null y al tenerlo no nullable me rompe.

  <class name="Person">
    <id name="Id">
      <generator class="native"/>
    </id>

    <property name="Name"/>
    <property name="Nickname"/>
    <property name="Surname"/>
  </class>


  <class name="Asset">
    <id name="Id">
      <generator class="native"/>
    </id>

    <property name="OriginalAmount"/>
    <property name="RemainingAmount"/>
    <property name="Detail"/>
    <property name="Stamp"/>

    <one-to-one name="Person"
                constrained="true"
                foreign-key="none"
                property-ref="Id"
                class="Person" />
  </class>



Si les soy sincero, soy nuevo con NHibernate, me he copiado varios mapeos one-to-one y ninguno me funcionó. Siento que mi relación de clases no es consistente con mi relación de BD.
Si me pueden orientar fantástico.

Saludos y gracias!
#4
Java / Quitar IF
24 Febrero 2018, 15:19 PM
Holas buenas,

Estoy intentando empezar a seguir la filosofía "real devs don't use if's", y me encuentro con códigos en los que no se como quitar el condicional, por eso les traigo uno, a ver si me tiran ideas y me abren un poco más la cabeza:

public static GregorianCalendar traerFecha (int año, int mes, int dia) {
GregorianCalendar fecha = null;

if (esFechaValida(año, mes, dia))
fecha = new GregorianCalendar(año, mes - 1, dia);

return fecha;
}


Creo que el codigo se entiende bastante bien, tiene nombres predictivos. Se le pasa un año, mes y dia, y te devuelve un GregorianCalendar con la fecha, pero solo si los parametros pasados son correctos (mes del 1 al 12, dia correcto dentro de ese mes, se contempla año bisiesto). Al mes le resto uno porque GregorianCalendar tiene los meses desfazados hacia abajo, el 0 es Enero.

Y les dejo otro de plus, que es justamente el que consume al que llama el código de arriba.


public static boolean esFechaValida (int año, int mes, int dia) {
int[] meses = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
boolean response = false;

if (esBisiesto(año))
meses[1] = 29;

if (mes >= 1 && mes <= 12)
response = meses[mes - 1] >= dia;

return response;
}


Si pueden tirarme ideas sobre como podria quitar los condicionales buenisimos, también agradecido si me recomiendan lecturas. Estoy yendo de a poco, para mi los casos en donde se pueden aplicar polimorfismo son más fáciles.
#5
Java / Duda, mala práctica?
9 Diciembre 2017, 23:51 PM
Buenas,

Vengo con una duda, estoy haciendo un programa para la facultad, nada complicado. No es más que un ABM, por eso lo estoy haciendo bastante 'rapido', es decir, sin mucha dedicación solo para recordar Java.

En un método me encontré con lo siguiente, hice esto para simplificar:


private Producto traerProducto(int idProducto)
{
for(Producto prod: this.lstProducto)
{
if(prod.getIdProducto() == idProducto)
return prod;
}
return null;
}


En una lista de productos, busco un producto por id. Si lo encuentra retorna el producto, si no, null.
Mi duda es si es una buena o mala práctica utilizar múltiples return's en un mismo método. Yo lo hice para ahorrarme la variable flag.

Esta duda me surgió porque recuerdo haber visto en un analizador de código que cuándo tenía múltiples return's debía simplificarlo. Pero acudo a ustedes a ver que me dicen.

PD: Capaz haga una prueba de rendimiento (solo velocidad, aunque sospecho cual ganarà).
#6
Hacking / Ejecutar script en modo administrador
6 Octubre 2017, 22:57 PM
Buenas gente, no sé si es el lugar correcto, en realidad podría ir en el apartado Windows pero confío más en los consejos que me puedan brindar en este foro, o tal vez un camino alternativo.

Como bien dice el título, codeé un .bat, dónde hace X cosa que no viene al caso.

Quiero que ese script se pueda ejecutar automáticamente en modo administrador, ¿es posible?.

Probé el runas administrator pero pide una contraseña, ¿qué método se suele utilizar para engañar al sistema operativo y ejecutar comandos en modo administrador sin contar con esa contraseña?

¿Se puede cambiar desde otro .bat los permisos de ejecución de ese .bat para que ejecute siempre en administrador y salte solamente la advertencia "SI/NO"?


Muchas gracias, saludos!
#7
Programación General / Importar módulos en Python
16 Septiembre 2017, 02:08 AM
Buenas gente, duda sencilla, tal cual dice el título, vengo de java y c# y estoy complicado con Python.

He leído y todos dice que para importar una clase o módulo a otra se debe usar import nombreDeClase, o from nombreDeClase import */nombreDeMetodo.

Bien, he probado ambas alternativas en mi programa sencillo que hice justamente para ver cómo se resolvía este tema y no me reconoce la función a la que quiero llamar. Les paso el código:

import ClaseDePrueba

if __name__ == '__main__':
    '''Comentario: Aca va a iniciar el programa'''

    print "Iniciando juego"
    print ClaseDePrueba.llamadaAClase()
   
   


class MyClass(object):
    '''
    Clase de prueba para importarla a Main
    '''


    def __init__(self):
        '''Constructor'''
       
    def static llamadaAClase(self):
        print "Importada correctamente"
       
#8
Buenas gente, miren, estoy en un proyecto dónde tuve que desarrollar un método para subir un .TIF a un FTP levantado con un IIS de Windows (un WebSite con FTP).

Ocurre algo muy raro, resulta que localmente el método funciona sin problemas, pero en el servidor no funciona, el error que me tira es: Underlying connection was closed: The server committed a protocol violation.

Estuve buscando en muchos foros, y encontré soluciones pero que en mi código no funcionan, les paso el código:

public static string SubirAFTP(string localPath, string numeroDeEnvio, string ftpKey, string extension, string user = null, string pass = null,
           string prefijoANumeroDeEnvio = null)
       {
           try
           {
               string nombreDeArchivo;

               if (prefijoANumeroDeEnvio == null)
                   nombreDeArchivo = numeroDeEnvio + extension;
               else
                   nombreDeArchivo = prefijoANumeroDeEnvio + numeroDeEnvio + extension;

               FileInfo toUpload = new FileInfo(nombreDeArchivo);

               FtpWebRequest request = (FtpWebRequest)WebRequest.Create(IcsCommonConfig.DeEsteComponente.AppSettings.GetString(ftpKey)
                   + "/" + numeroDeEnvio + extension);

               request.Method = WebRequestMethods.Ftp.UploadFile;
         

               if (user != null && pass != null)
                   request.Credentials = new NetworkCredential(user, pass);

               request.KeepAlive = true;

               Stream ftpStream = request.GetRequestStream();
               FileStream file = File.OpenRead(localPath);

               int length = 1024;
               byte[] buffer = new byte[length];
               int bytesRead = 0;

               do
               {
                   bytesRead = file.Read(buffer, 0, length);
                   ftpStream.Write(buffer, 0, bytesRead);
               } while (bytesRead != 0);

               file.Close();
               ftpStream.Close();
           }
           catch (Exception ex)
           {
               _log.Info("Fallo subida al FTP del proyecto");
               throw ex;
           }

           return IcsCommonConfig.DeEsteComponente.AppSettings.GetString(ftpKey) + "/" + numeroDeEnvio + extension;
       }



El error ocurre en esta línea:

Stream ftpStream = request.GetRequestStream();

El código lo fui haciendo con otros post porque es mi primera experiencia con FTP desde código C#.

Lo ideal sería realizar la subida sin librerias de terceros, por eso estoy usando estos métodos.

Acepto sugerencias, y si precisan más información me dicen.

Gracias por la ayuda.

EDIT:

Intenté acceder desde el servidor (remotamente) al FTP con el CMD y no logra conectarse, mientras que fuera del servidor en otra máquina pude entrar sin problemas.


EDI 2: SOLUCIÓN

Eran problemas de Bindings, lo solucionó un colega así que no se bien que camino tomo, pero les dejo el indicio de qué era el problema.
#9
Buenas noches gente, soy un programador novato en C#, y estoy haciendo una pasantía, les vengo con una duda.. para esto estoy utilizando el Visual Studio 2016.

Resulta que estoy a cargo de hacer los tests de un proyecto, el tema es que estoy teniendo varias dificultades..

Empecemos por lo principal, creé un proyecto aparte en la misma solución y debido a eso estoy teniendo problemas en acceder a las clases de mi proyecto principal, no sé si tengo que agregar alguna dependencia o referencia, o simplemente incluir los namespace.

Lo segundo, y esto es más específico, hacemos los mappings con Spring Object.
En los test tengo que teestear parte del mapeo en varias situaciones, y cuando realizar el mapeo, utilizo la funcion:

ContextRegistry.

Eso me provoca un error que dice Error de contexto inválido para ContextRegistry, la verdad sobre esto busqué en Google y no encontré nada, solo una solución de stack bastante ofusca.

Más allá de todo, si pueden recomendarme algún paper que pueda leer para llevar a cabo una configuración limpia se los agradecería.

Les agradecería una mano, saludos!
#10
Software / ¿VPN gratuita fuera de 14 eyes?
2 Septiembre 2017, 06:18 AM
Buenas gente, tal como lo dice el título ando buscando una VPN gratuita, va a ser mi primera experiencia con VPN's.

Vi que la mayoría son pagas, capaz puedan recomendarme alguna que conozcan, en lo posible que este fuera de la lista de los 14 eyes countries.


Muchas gracias.
#11
Dudas Generales / Iniciandome en GIT
27 Agosto 2017, 18:30 PM
Buenas gente, la verdad que quería evitarme este post pero estoy tirando comandos sin saber que hacen bien hace rato sin conseguir resultados.

Estoy usando por primera vez git, con git bash.

Resulta que tenemos un proyecto entre 4 personas, para la facultad, yo soy simplemente un colaborador, no master.

El primer paso para empezar a entender git era simplemente subir una carpeta con el nombre Documentacion tecnica, pero no estoy teniendo suerte.

Les cuento lo que hice hasta ahora:


$git init    //En mi carpeta local
$git remote add origin {url de repo de github}


Luego, agregue una carpeta en mi carpeta local llamada Documentacion tecnica, para poder subirla, leí que debía tener por lo menos un archivo, leí que por convención se suele agregar .keep, entonces agregue un .keep.txt dentro de la carpeta de Documentación técnica.


$git status    //Para corroborar que me tome los cambios, y si los tomo.
$git commit -m "Subo carpeta de dcumentacion tecnica"


Hasta acá todo bien, pero cuando quise pushear es cuándo empezó el problema.


$git push origin master


Leí que para pushear había que tirar ese comando, pero al tirarlo me sale:

To https://github.com/SeminarioLenguajes/Seminario-de-Lenguajes
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/SeminarioLenguajes/Seminario-de-Lenguajes'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.


Entendí que me falta pullear antes, entonces puse, como leí por ahí:


$git pull origin master

//ESTO ME DEVUELVE:

From https://github.com/SeminarioLenguajes/Seminario-de-Lenguajes
* branch            master     -> FETCH_HEAD
fatal: refusing to merge unrelated histories



Y ahí me estanqué y es cuándo empecé a tirar comendos sin saber bien qué es lo que hacían.

De algo me estoy perdiendo y no entiendo ni puedo encontrar que es. Entiendo que es algo de merge y las branch, pero sinceramente no sé cómo proseguir.

Acepto también algún documento que tenga bien explicado todos los comandos y cómo iniciarte en git, todos los que encontré explican bastante a las apuradas o mal.

Gracias gente.
#12
Desarrollo Web / Duda HTML || javascript
25 Agosto 2017, 00:19 AM
Buenas gente, en realidad no sé bien en qué sección iría esta duda o bien, en qué lenguaje a expondría, pero el tema es el siguiente:

Entré a una página que publicaron acá para aprender javascript, html y demás lenguajes de una forma bastante copada. Son páginas que tenés que intentar 'hackear', y vas avanzando niveles a medida que las vas hackeando.

Para empezar no sé nada de javascript y poco de HTML, pero me mandé igual, y llegué al nivel 4.

En este nivel me salta un popup que dice Entrar a interface de Windows, supongo que es una pista. Les paso una imagen de la página:


Mi duda es cómo poder inspeccionar ese POPUP. Todos los anteriores niveles los fui solucionando inspeccionando el HTML y fijandome en el src cuál era la contraseña válida, pero ahora no se cómo inspeccionar dicho POPUP.

Saludos y gracias!
#13
Dudas Generales / ¿Internet, qué es?
19 Agosto 2017, 04:55 AM
Buenas gente, me surgió la duda existencial de INTERNET, qué es, física o lógicamente.

Estuve buscando información y llegué a ciertas conclusiones que seguramente tienen muchos baches, y por eso acudo a ustedes. La verdad es algo básico que todos usamos continuamente cómo si fuera algo natural, una extensión de nosotros, pero muy pocos saben qué es, y por qué es.

Pude leer que nació como un proyecto, "ARPANET", pero la historia de quién lo lanzó no me interesa, si no el cómo se mantiene hoy en día y qué es realmente.

Supe entender que es una red WAN, creada lógicamente por máquinas descentralizadas.
Supe entender que también las redes WAN, no hacen más que conectar LAN entre sí.

Voy a enumerar mis dudas/preguntas, así el post se hace menos tedioso:

1) Pero tengo mis dudas, ¿por qué la utilización de cable intraoceanicos? Supongo que es para transmitir información, bien, pero mi pregunta es más abstracta, ¿a dónde están conectados, por qué utilizarlos si la WAN Internet sería de alcance GLOBAL?

2) ¿Quiénes hostean esta famosa WAN?, me han dado a entender qué no es una máquina que hostea internet, si no que cada máquina hostea ALGO (webs, en este caso), y todo ese conjunto de máquinas hosteando aportan su grano de arena en la gran INTERNET. ¿Pero qué, cómo?.

3) ¿Cuándo entran en juego los satélites, cumplen el mismo rol que los cables intraoceanicos?.


En resúmen, mis dudas están en qué es, qué lo hostea (qué lo mantiene), y cómo trabaja.

Puede parecer una duda bastante básica para alguien que ya lo sepa, pero una duda dificil de resolver para quién no sepa nada. Ya he buscado en el gran motor de búsquedas, pero muchos se contradicen o solo hablan de su historia.
#14
.NET (C#, VB.NET, ASP) / HTML to PDF/TIFF
10 Agosto 2017, 23:51 PM
Buenas gente, cómo va. Como bien dice el título estoy buscando alguna libreria estable, open source en lo posible, para convertir un HTML (con CSS) a PDF y a TIFF.

Puede ser bien una libreria que convierta de HTML a ambas, o primero por ejemplo a PDF, y luego de PDF a TIFF con otra libreria.

El tema es que nos pusieron como requisito este convert y no podemos encontrar alguna libreria que ande.


Estamos trabajando en VS2017, .NET 4.5, C#.

¿Alguno se topó con el mismo requisito?


Muchas gracias.
#15
Buenas gente, miren vengo con una idea que necesito que me orienten para poder hacerla.

La idea es esta >

Tengo varias 'resumenes' en txt que completo dia a dia en mi PC, y despues los voy copiando/reemplazando en la carpeta desktop de Google Drive, resulta que siempre reemplazo los mismos archivos, es decir mantengo actualizados mis resumenes de Google Drive y siempre son los mismos.

Se me ocurrio poder hacer algun programa (tengo la idea de .exe en la cabeza) que ejecute una macro o pedazo de codigo que mueva y reemplace los archivos de cierta carpeta/s a la de Google Drive y haga todo el proceso solo con tan solo ejecutar el .exe .

Por otro lado, estoy buscando información sobre como poder usar el Isolated Storage, no suelo entender la libreria de ms.

Si pueden orientarme en este asunto les agradezco, planeo hacerlo en VS 2017 con C#.
#16
Buenas gente, bien cómo dice el título ando buscando páginas para descargar libros, que estén actualizadas, ya que a todas las que he entrado tienen el 80% de los links caídos y libros no buscados.


Específicamente estoy buscando el Patterns Design de Gamma, o "de los 4", en español preferentemente, pero además me gustaría de saber de páginas para conseguir algunos más.

Y por otra parte, si me recomiendan libros relacionados a programación, sistemas, bienvenidos sean!

Gracias!
#17
Hardware / Disco externo no reconocido
14 Julio 2017, 01:57 AM
Buenas gente, miren un conocido me dio un disco externo el cual dice que cuando lo conecta a su pc, su pc se vuelve "loca" jaja, y no le deja hacer nada con ese disco.

Lo acabo de conectar a mi laptop y no sucedio nada, pero tampoco lo reconoce, el disco es un ssd de 500gb marca WD, si no me equivoco.

Quisiera saber que pasos harian ustedes para saber si se puede salvar o esta fallado y listo para el tacho.

Lo unico que hice fue conectarlo en WIndows y no lo reconocio, despues lo conecte en un LIVE USB de Ubuntu, y tampoco lo reconocio, ni lo pude ver con el GParted.

Me dan una mano?
#18
Buenas gente, les vengo con unas dudas.

Tengo que desarrollar un algoritmo que cambie las letras puntuadas o simbolos "no comunes" como ' ñ ', ' á ', etc, de un String.

Estuve leyendo que tengo que usar una función llamada Normalize, y que hay 4 formas de normalizar.

Lo que no entiendo de qué forma "normaliza" dicha función, y qué variantes tiene cada una de sus formas "C, D, .. ".

Ya busqué en el BIG BROWSER pero no encontré ninguna explicación clara o con ejemplos entendibles.



Me puse a hacer ejemplos manuales y por lo menos entendí la diferencia entre FormD y FormC, pero ahora tengo otra duda.

Si tengo una Lista de Strings

List<String> lista;

Y tengo un metodo llamemoslo reverse(), que da vuelta los Strings.

Ahora si yo quiero dar vuelta con dicho metodo cada String de la Lista, como podria hacerlo? Con un select? Como sería la sintaxis??

Sin tener la necesidad de hacerlo con un for o foreach obviamente.
#19
Buenas gente! Tal cuál lo dice el título, estoy buscando libros para leer y este post les puede servir a muchos. No hay preferencia de temas, simplemente el requisito es que sean libros relacionados con Sistemas (ingenieria inversa, programacion, web, hacking ético, etc..).

Capaz ya haya un post así pero no lo encontré y en ese caso, actualizamos los libros.

Pues bien, comenten cuál es el mejor o los mejores libros que hayan leído y si quieren un breve "por qué".

Pues, por mi parte yo la verdad no leí muchos, recién estoy adentrándome.

Uno de los pocos que leí pero recomiendo para los que se quieran iniciar en la programación es:

Fundamento de Programación en C de Joyanes

A veces se puede tornar algo tedioso pero si lo lees completo aprendes muchisimo sobre programación estructurada.

¿Qué hay de ustedes?
#20
Buenas gente, les traigo un problema complicado, por lo menos para mi. Estoy haciendo un curso de Orientación a Objetos y nos propusieron un ejercicio. El ejercicio está compuesto por una clase Padre denominada Numeros, y dos Subclases denominadas Fraccion y Entero.

Obviamente la clase Fraccion está compuesta por dos colaboradores internos, numerador y denominador, mientras que la clase Entero solo por el colaborador interno value.

Me dieron test's implementados con errores los cuales yo tengo que corregir. Son varios, pero lo que no entiendo es la escencia de como comenzar a resolver todos, ya que todos los tengo que resolver con polimorfismo, les cuento el problema poniendoles de ejemplo el primer test a corregir:

Tengo que realizar una suma entre dos numeros, pero uno de ello es entero y otro es una fracción, entonces tengo que hacerle saber que son de tipos distintos a través del polimorfismo y hacer la suma correspondiente. La idea es resolverlo sin utilizar IF'S y solo con Polimorfismo

La verdad es un curso que estoy haciendo y estoy muy metido, queriendo aprender, soy muy novato en objetos, por eso vengo acá a que me ayuden a plantear el problema dandome el primer empujón que preciso.

Ideas? Tips? Ayudas?

Explayo lo que analice hasta ahora porque ni yo sé bien que pide..

Supongo que cuando haga esto:

InstanciaDeEntero.suma(InstanciaDeFraccion);

El metodo deberia averiguar por su cuenta si el parametro que le estoy pasando es una fraccion o un entero, una vez que lo haga realizar las operaciones correspondientes y devolver el valor, pero lo principal es como hacer que reconozca qué es el parámetro por el polimorfismo y no con un simple IF.
#21
GNU/Linux / Particiones, necesito ayuda
28 Mayo 2017, 22:37 PM
Buenas, no sé si es el sub-foro correcto para postear este problema, en caso de que no, moverlo porfavor y mis disculpas.

No tengo muy en claro el tema de las particiones logicas/primarias/extendidas, no se bien cuantas de cada una me hes posible tener, y cuantas seria lo ideal.

Ahora mismo tengo las particiones de esta manera, con un dual boot de Windows 7 y Ubuntu:


El tema es que quiero acortar esos 465GB de NTFS que uso en Windows para aislar otra particion y comenzar a pasar archivos allí, independientemente de los dos sistemas operativos, por si el dia de mañana quiero sacar ambos y poner IOS solamente (ejemplo bruto para que me entiendan) y aun asi conservar mis archivos que mande en esa particion.

Pero aca empieza la otra duda, como veran tengo una extendida con una particion /home, en caso de que decida desinstalar Ubuntu y conservar solo Windows 7, al estar en una extendida, podria conservar /home? O desapareceria, porque en caso de que pudiera conservarla seria en vano crear otra particion mas. En caso de que la respuesta sea no, empieza el baile.

Preciso que me ayuden a reacomodar mis particiones, sin afectar los sistemas operativos para que me quede una nueva particion de aproximadamente 300 GB'S extrayendoselos del NTFS de Windows.
#22
Java / Duda sencilla, workspace IDE Eclipse
28 Mayo 2017, 22:26 PM
Buenas tardes colegas, vengo con una duda sencillita, pero que simplemente no encontré en el motor de busqueda...

Tengo en el workspace carpetas/proyectos que fui creando con Eclipse, y hoy quise copiar una y me di cuenta que están bloqueadas de cierta forma por el IDE para impedir copiarlas o eliminarlas, como si este IDE las estuviera utilizando constantemente, les paso a dejar una imagen.

Lo raro es que no son todas, sino algunas. Mi duda es simple, cómo las desbloqueo y por qué se bloquearon?


#23
Cómo va gente, no soy de postear códigos que no corren o simplemente algoritmos que fallan en la lógica. Pero cómo a mi me gusta corregir algunos programas de C que postean, pienso que a los amantes de Java les gusta corregir/ayudar a los novatos, y realmente en esta lógica no sé que es lo que vaya.


El caso de uso se trata de la validación de patentes de automotores argentinos, hay dos formatos de patentes vigentes hoy en día acá, paso a explicarlas:

2 letras - 3 numeros - 2 letras (NUEVAS)
WW231EQ - ejemplo

3 letras - 3 numeros
JBN321

En el caso creo el objeto y le mando el parametro dominio (patente) como string al objeto, lo que debo hacer es validar si la patente cumple con algun formato correctamente. Esto es lo que hice:

public boolean validarDominio(String dominio) throws Exception{
boolean flag = true;
while(flag){
switch(dominio.length()){
case 6:
if(!(Funciones.esCadenaLetras(dominio.substring(0, 3))));
flag = false;
if(!(Funciones.esCadenaNros(dominio.substring(3, 6))));
flag = false;
break;
case 7:
if(!(Funciones.esCadenaLetras(dominio.substring(0, 2))));
flag = false;
if(!(Funciones.esCadenaNros(dominio.substring(2, 5))));
flag = false;
if(!(Funciones.esCadenaLetras(dominio.substring(5, 7))));
flag = false;
break;
}
break;
}
if(!flag)
throw new Exception("Dominio invalido");
return flag;
}



Por si quieren corroborar les dejo el set y el test.

public class Rodado {
private int idRodado;
private String dominio;
private int modelo;
private String marca;

public Rodado(int idRodado, String dominio, int modelo, String marca)
throws Exception{
this.idRodado = idRodado;
this.setDominio(dominio);
this.modelo = modelo;
this.marca = marca;

}


public void setDominio(String dominio) throws Exception {
if(validarDominio(dominio))
this.dominio = dominio;
}



package test;
import modelo.Rodado;


public class TestRodado {

public static void main(String[] args) {
try{
//DOMINIO JN332EW
Rodado rod_1 = new Rodado(1,"JN332EW",2011,"Ford");
System.out.println(rod_1.getIdRodado());
System.out.println(rod_1.getDominio());
System.out.println(rod_1.getModelo());
System.out.println(rod_1.getMarca());
} catch (Exception ex){
System.out.println(ex.getMessage());
}
}

}


Como pueden ver el dominio/patente es el segundo parametro. El problema aquí es que siempre salta la excepción del dominio inválido, aunque no esté inválido.


Tranquilos y sin apuros, a ver si le podemos encontrar la vuelta.

Aclaro que soy nuevo programando en Java, cualquier consejo es más que bienvenido.
#24
Buenas, supongo que mi duda es algo sencilla de responder.

Cree un proyecto con el nombre Libreria, y dentro de esta hay una clase "estatica" llamada Funciones, que es una libreria para utilizar en otros proyectos.


Ahora cree un nuevo proyecto en el cual voy a trabajar y necesito añadir esa clase correctamente en este nuevo proyecto. ¿Como debo hacer?

Muchas gracias.
#25
Buenas gente, hace varias semanas estoy publicando por la misma PC, la cual Randomize me ayudó mucho a armarla.

Cómo es mi primera PC tuve muchas complicaciones para armarla. Ahora me encuentro con una nueva, y espero que la ultima.

Manipulé los componentes demasiado para dejarla andando, estos son:

2x RIPJAWS 4GB DDR4
Intel I3 7100
GTX 1050 TI
H110M-E ASUS


El problema que tengo ahora rige en que no puedo hacerla prender con los modulos de RAM puestos, es más, tengo dos slots, si pongo cualquier RAM en el slot (llamémoslo A) la PC no enciende, pero si hay una sola RAM conectada, y esta conectada en el slot B, la PC enciende sin problemas.

El gran problema de esto es que la mother cuenta con solamente 2 SLOTS para las RAM, y si uno no anda, limita mucho toda la arquitectura, por eso pretendo hacerlo andar.

La verdad que no se como se daño, ni si realmente está dañado.

Me gustaría que me ayuden a realizar una serie de pruebas para corroborar y esto y si puedo hacer algo al respecto.

Compré alcohol isopropílico y lo esparcí por el SLOT y ambas RAM's pero nada.


Y ahora se me agregó un problema, dios. Mi PC ayer me reconocía la placa de video y ahora ya no, que pudo haber sido??
#26
Hardware / PC Armada no da señal de video
24 Abril 2017, 00:32 AM
Buenas buenas, hace unas semanas postee para que me ayuden a armar una PC, elección de componentes y demás.

Hoy me encuentro acá, con todo conectado adelante mio:

i3 7100
2x RipJaws DDR4 4xGB.
Fuente 600w Bronze.
H110M-E
GTX 1050 SC
SATA 1 TB

El problema surge que cuando enciendo, todos los ventiladores y leds funcionan correctamente, pero la PC no da imagen.

Probé con la placa de video, y sin la placa de video, conectando el hdmi directamente al mother.

La verdad me quedé sin ideas, porque estuve leyendo del Jumper, pero tengo un problema.

En todos los videos que vi, el Jumper se manipula con una "carcasa" vacía, y no dispongo de eso. Cómo podría realizarlo? No sé como verificar tampoco si el Jumper esta en su ubicación correcta.


SOLUCIONADO: REMOVIENDO LA PILA Y DEJANDOLA 1 MINS AFUERA.
#27
Java / Java util cannot be resolved
18 Abril 2017, 00:17 AM
Buenas gente, estoy teniendo un problema con compatibilidad de Java en el IDE Eclipse.

Esta mañana estuve programando en la facultad e hice un programa, cuando lo corro en mi PC, me marca varios errores de compatibilidad con los import de java.util.GregorianCalendar y java.util.Calendar.

Como podría resolver esto? se que probablemente sea un error de la versión de Java, pero acabo de instalar la 8 y tampoco lo soluciona.

package modelo;   //The type java.lang.Object cannot be resolved

import java.util.Calendar; //The import java.util cannot be resolved
import java.util.GregorianCalendar;  //Igual que anterior


Por ejemplo me marca error en esos dos import y hasta en el package, como comentario dejo los errores que dice.
#28
Buenas, tal como el titulo lo dice, necesitaria saber como manejar/leer las teclas especiales en C, en el entorno de Linux. Ya sea suprimir, las flechas o lo que sea.

Muchas gracias.
#29
GNU/Linux / Problemas en el GRUB
10 Abril 2017, 18:53 PM
Buenas tardes gente, ayer deje de utilizar mi notebook a la noche sin apagarla, en reposo en Ubuntu y hoy cuando me levanto rebooteo para iniciar Windows 7 que lo tengo instalado en otra particion y resulta que el GRUB por defecto de Ubuntu me elimino la opcion de Windows de la nada y ahora no puedo iniciarlo.

Que deberia hacer para recuperar la opcion de WIndows o para colocar un GRUB decente.

EDIT: Me fije en GParted y la particion NTFS esta ahi intacta.
#30
Hardware / Armado de PC, preciso ayuda
6 Abril 2017, 18:55 PM
Buenas tardes gente, miren me encuentro a con que tengo que armar una PC. En realidad mi sobrino, encargo una PC "Gamer" de bajo presupuesto, y le pasaron un listado con unos componentes que no me convencen mucho y siento que lo van a timar.

Les paso la lista de los componentes que le pasaron:

DISCO SATA 1TB (WD).

GABINETE SLIM +  FUENTE 500W ESTANDAR

RAM DDR3 8GB 1600MHZ KINGSTON

MICRO FM2 APU A10 6790K FM2

MOTHER FM2 MSI A68HM-E33. Usb 3.0 HDMI.

PLACA DE VIDEO SAPPHIRE ATI RADEON RX 460 4GB DDR5.

FUENTE 730W XCP730-HM/FAN (SENTLEY).

.. bueno. Tengo varias preguntas con respecto a esto, por empezar no me convence el micro, y consegui una promocion de:

AMD FX 6300 3.5gHz con socket AM3+

ASUS M5A78L -M USB3 con chipset 760g y socket AM3+.

RAM DDR3 8GB 1600MHZ KINGSTON

A un precio mucho mas accesible, tambien consegui un gabinete con fuente de 500W.

Me convendria armar el combo a partir del AMD FX 6300? va bien con esa Mother de 760g? Xq' lei que 760g es un poco antigua ya, y no optimiza el funcionamiento del CPU.


Otra pregunta no entiendo xq intenta venderle dos fuentes, la que viene con el gabinete de 500w y la otra de 700w con el ventilador.

Realmente nunca arme una PC y quiero empezar con esta oportunidad.
#31
Buenas noches gente, miren estoy programando con el IDE Code:blocks en Ubuntu, y ultimamente me encontre con problemas no normales, donde supongo que el codigo esta bien e igual el programa se comporta extrañamente.

Generalmente se da cuando cargo un string y luego quiero imprimirlo, no lo imprime, o imprime uno solo y no los otros tres. Realice un codigo simple para que vean de que se trata:


typedef struct {
    char detalle[300];
    char sentencia[20];
    }funciones;

int main()
{
    funciones f;
    FILE* fichero;
    fichero = fopen("stdio_h.txt", "w");
    printf("escribi\n");
    scanf("%[^\n]", &f.detalle);
    scanf("% [^\n]", &f.sentencia);
    fwrite(&f, sizeof(funciones), 1, fichero);
    fclose(fichero);

    system("clear");
    fichero = fopen("stdio_h.txt", "r");
    fread(&f, sizeof(funciones), 1, fichero);
    printf("%s", f.detalle);
    printf("%s", f.sentencia);
    fclose(fichero);
    return 0;
}


Por ejemplo este codigo solo imprime lo que guarde en f.detalle, y lo de f.sentencia no lo imprime y finaliza el programa en consola.

Yo supongo que es un problema con el buffer, pero al estar en Ubuntu no puedo hacer uso de fflush(stdin);

Puede que limpie el buffer manualmente con este codigo:

void limpiar_buffer(){

    int c;
    do {
        c = getchar;
        }while (c != '\n' && c != EOF);

    return;}*/

/*void cargar_funcion();
char selec_libreria();
void ver_funciones();


Pero igual el programa falla, es mas parece que nunca sale de esa funcion/bucle, aunque el codigo lo saque de google.

Espero que puedan ayudarme, ya que necesito hacer un programa en C con archivos y demas.

Tambien acepto sugerencias de otros IDES.
#32
Buenas noches gente, los saludo. Veran el IDE Eclipse NEON me esta dando un problema con el toString que viene por defecto, al querer utilizarlo para que me imprima un array bidimensional.

Aclaro que soy nuevo en Java, y el siguiente segmento de codigo lo realizo el IDE automaticamente.

Realmente pense en una solucion a este problema, pero quisiera saber si tocando algo simple de este codigo se solucionaria, vamos a ello.

Teniendo:

double[][] matriz = {{2,5,7},{8,3,6}};
Bidimensional arrayBi = new Bidimensional(matriz);

System.out.println(arrayBi.toString());


Y utilizando este metodo:

public String toString() {
return "Bidimensional [matriz="+ (matriz != null ? Arrays.asList(matriz) : null) + "]";
}



Imprime esto:
Bidimensional [matriz=[[D@15db9742, [D@6d06d69c]]


No se si el IDE es viejo o algo, pero se me hace que es un error propio de el.

Muchas gracias.
#33
Java / Dudas en metodos
2 Abril 2017, 00:30 AM
Buenas gente, soy muy nuevo en Java y en esto de programacion orientado a objetos. En la facultad me dieron un codigo para que interprete, y la verdad no entiendo bien unos metodos:

public class Punto {
private double x;
private double y;

//GETTERS & SETTERS

public boolean equals(Punto p) {
return (((x == p.getX()) && (y == p.getY())));
}

public String toString() {
return "(" + x + "," + y + ")";
}



Esos metodos son con los que tengo dudas, no se que hace el equals, en el apunte dice que es para redefinir un objeto pero a que se refiere con eso. No entiendo si es para cambiar los valores de un objeto o no se.

Y el metodo toString simplemente transforma dichos parametros en un String?, es decir devuelve como String esos valores?

Muchas gracias.
#34
Java / Error al retorno de un metodo
25 Marzo 2017, 19:37 PM
Buenas, estoy haciendo un TP bastante sencillo, y en uno de los metodos de la Clase Numeros (int n), me pide que pase dicho numero a binario (base 2).

La clase deberia devolver un String, resulta que pongo el return con un string e igual me dice que el retorno es invalido: This method must return a result of type String.

Les dejo el codigo del metodo, no creo que necesiten mas.

public String pasarBase2(){
int resto = 0, x;
int resultado;
String respAux,resp=null;
resto = n % 2;
resultado = n / 2;
respAux = String.valueOf(resto);
while(resultado!=1 && resultado!=0){
resto = resultado % 2;
resultado = resultado / 2;
respAux = respAux + String.valueOf(resto);
}
for(x=respAux.length()-1;x>=0;x--){
resp = resp + respAux.charAt(x);
}
return (respAux);
}
#35
Java / Mi primer programa en JAVA
22 Marzo 2017, 18:52 PM
Buenas gente, me estoy iniciando en JAVA, recien tuve una clase y me mandaron a hacer un Trabajo Practico.

Mi pregunta es sencilla, si tengo en una clase llamada Paciente los atributos:

Nombre
Apellido
Peso
Estatura

Y luego tengo otra clase llamada Medico, en el cual debo tener un metodo que calcule el IMC (Indice de Masa Corporal) de las instancias de la clase Paciente.

La pregunta es como le paso como parametros al metodo, los atributos Peso y Estatura de la clase Paciente, de la clase Medico para hacer dicho calculo.

Intente de la siguiente forma:

public float calculaIMC(Paciente.estatura, Paciente.peso){
....}


Pero no resulta asi.

Muchas gracias, y espero que se haya entendido,
#36
EDIT: Tenia un problema debido a que no se me reproducian los videos de youtube, y lo solucione de la siguiente manera.

SOLUCION:

Lo solucione instalando Adobe Flash Player Plugin desde la terminal, gracias.

**************************************************************************************************************************
Edito para no crear un nuevo tema, y plantear otro problema:

Instale un programa X de Ubuntu, el problema es que al querer desinstalarlo no se con que nombre desinstalarlo desde la terminal.

sudo apt-get --purge remove NOMBRE

De donde puedo obtener dicho nombre para completar el codigo?

Muchas gracias, y disculpen por el desorden del POST.
#37
Buenas tardes gente, miren, quiero hacer algo sencillo pero acudo a ustedes para no cometer errores.

Voy a instalar Ubuntu 16.04v desde un DVD, ya lo he hecho pero esta vez quiero particionar el disco para utilizar esa partición para almacenar archivos, y si en un futuro deseo cambiar de SO, que esos archivos no se pierdan.

Como debería realizar la particion? bajo que punto de montaje y que utilizacion? (EXT4, NTFS).


Mi duda es si creo de esta manera, root "/", "/home", y swap. Creándolas asi, podre mantener la /home sin formatearla en todo momento? cambiando el SO en root nada mas?

Deberán ser lógicas o primarias? cual es su diferencia?

Muchas gracias.
#38
GNU/Linux / Ubuntu no reconoce mi mouse USB
9 Marzo 2017, 03:09 AM
Buenas noches gente, miren hace poco elimine windows e instale Ubuntu 16.04v en mi laptop Dell Inspirion 5500.

Ahora me encuentor con un problema y es que mi laptop no me reconoce el mouse USB marca EuroCase, este era reconocido perfectamente en WIndows, y ahora no se como hacerlo funcionar.

He estado leyendo pero ninguna solucion que encontre me ha servido.

#39
Programación C/C++ / [C] Varias dudas
25 Febrero 2017, 20:32 PM
Buenas tardes gente, tengo algunas dudas básicas con programación en C, las ordenaré.

1) Preciso alguna función o alguna forma para convertir una variable de tipo caracter en entero, y luego viceversa. El caso es que tengo un caracter, el cual preciso su codigo ASCII como valor en una variable, realizar algo con ese numero, como restar o sumar, y luego convertir el resultado a caracter nuevamente.

2) Al trabajar con archivos utilizo las funciones fwrite y fread, pero al escribir en archivos de textos por estas funciones, luego al ir a la raiz y abrirlos con un reader veo que guarda basura. Solo lo puedo leer correctamente si lo leo con fread desde el algoritmo. Alguno sabe como puedo solucionar esto?

3) Qué libro o apunte me recomiendan para aprender C en profundidad. Ultimamente me estaba manejando con Fundamentos de Joyanes, pero tiene varios errores y su explicación no es muy convincente. Alguno para recomendar?


Gracias!

EDIT: Agrego una 4 duda.

4) Quiero generar numeros aleatorios en C, estuve leyendo y se que es mediante las funciones rand() y srand(), pero no logro que cambie el numero en cada ejecución, les adjunto el codigo que hice.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
    int n=0;
    srand(time(NULL));
    n=(rand() % 10);
    printf("%d",n);
    return;
    }
#40
Programación C/C++ / Enviar mail en C
13 Febrero 2017, 06:54 AM
Buenas noches gente, ando en busca de un código en C que envíe un mail en texto plano, en lo posible un codigo bastante limpio ya que busco entenderlo, si está comentado es un plus.

Intento programar con sockets y me resulta complejo.
#41
Windows / Formatear Windows con BIOS antiguo
5 Diciembre 2016, 18:20 PM
Buenas gente, verán le quise formatear la PC a un amigo e instalarle Windows 7 con un pendrive.

La cosa fue que cuando ingrese a la BIOS para acomodar las prioridades de booteo, solo tenía tres opciones.

Floppy disc (o drive, no recuerdo).
HDD
CDD

Supongo que es por que maneja un BIOS antiguo y no me da la opción de bootear desde un usb.

La cosa es que la lectora de CD's de mi amigo está rota.

Cómo podría solucionar este temita?
Pensé en conectarle capaz una lectora externa, pero siento que lo va a reconocer como usb. Es necesario arreglar la lectora si o si?
#42
Hacking / Brute Force [DUDAS]
27 Noviembre 2016, 03:16 AM
Buenas noches gente, me estoy adentrando en este tema de seguridad informatica y hacking. Decidi arrancar por el brute force ya que pensaba combinarlo con programacion en C, la idea es la siguiente a ver si pueden orientarme un poco.

Hice un algoritmo en C que me crea un txt con casi todas las posibilidades que existen para una contrasena de 6 caracteres (luego pienso hacer para 7, 8 y hasta 15 caracteres).

El algoritmo lo optimizo para que no cree todas las posibilidades, y abarcar las mas importantes.

Ahora mi duda es si esto se puede realizar o si es preferible hacerlo con alguna wordlist descargada, ya que capaz que al tener tantas posibilidades puede tardar demasiado en probar todas.

Que programa me recomiendan para hacer el brute force? especificamente queria probarlo con facebook o con mails, y correrlo en Ubuntu. Es con fines de aprendizaje en este campo, probare con cuentas propios sin mas.

Muchas gracias
#43
Buenas gente, miren, cortito y al pie, necesito pasar una variable:

char* pass;

Cómo debería declarar la función y como le mandaría dicha variable por referencia?

Lei que puede ser funcion(&pass), y para declararla void funcion(char** pass) pero la verdad es que estoy bastante perdido.

Una mano por favor, necesito la sintaxis de como pasar el parametro.
#44
Buenas gente, miren tengo una duda..

En caso de tener una cadena de caracteres "estática", por ejemplo en mi caso:

lista[n], siendo n un entero pedido antes.

Y quiero pasar dicha variable a una función para que la modifique y después retorne al main para escribirlo en un txt.

Se puede trabajarlo así? O tengo que trabajarlo con malloc?

Mi idea es escribir por ejemplo un nombre, después que retorne al main, lo limpia a 0, y que vuelva a mandarle la misma cadena pero toda llena de 0 para que la complete devuelta.
#45
Windows / Recuperar GRUB W7
17 Noviembre 2016, 19:42 PM
Buenas tardes amigos, miren, tuve un problema con mi double boot.

Tenía el GRUB perfecto, con Windows 7, (hice la facil, primero W7 desde 0 y despues Ubuntu 16.0), todo funcionaba de maravillas, pero tuve que actualizar Windows ya que tenía muchas actualizaciones por hacer.

Actualicé, y se ve que una de ellas me comió el GRUB y ahora inicia directamente con Windows.

Dato: Entré desde un LIVE CD, y corroboré mis particiones, el resultado es el siguiente...

Tengo una extendida con un swap para ubuntu y todo lo otro, en total la extendida son 350 gbs. Al corroborar me salta un mensaje que dice que dicha particion no empieza en un limite del sector físico (does not start on a physical sector boundary), no sé si se me pudo haber jalado dicha partición, por las dudas dejo el dato.


Bien, lo que quiero hacer en fin, es recuperar el GRUB desde Windows, por eso posteo acá.

Muchas gracias.