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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 28
81  Programación / Desarrollo Web / Permisos de descarga en servidores HTTP en: 31 Mayo 2011, 13:24 pm
Hola gente,

Mi duda es la siguiente: Si tenemos un servicio X, donde un usuario tiene almacenado un archivo en nuestra web, ¿cómo controlamos que este usuario sea el único en poder descargar el fichero?

A este punto estoy suponiendo que no hubo autenticación HTTP, por ejemplo un webmail o un foro.

¿Cómo controlar que realmente SOLO USUARIOS tienen acceso real al archivo?

¿Cómo lo harían?
82  Comunicaciones / Redes / Re: Contratar Hosting o Poner Server? en: 30 Mayo 2011, 20:43 pm
Es muy buena info. Entonces para empezar un servicio plenamente Web quedan 2 alternativas:

Alt.1.CASA) En principio, poner un server único que maneje "todoenuna". Acá es donde me pregunto ¿CentOS?¿Debian?¿Gentoo?

Alt.2.Contratado) También hay servicios, por ejemplo en Dattatec, para contratar un server dedicado (o más). Aquí me pregunto. Si el servicio crece ¿habrá que cambiar para manejar la arquitectura de red dentro de la empresa como lo hacen Google, Facebook, Etc?

Una pregunta filosofal final es: ¿La época del garage fue, o sigue siendo la mejor idea?
83  Comunicaciones / Redes / Contratar Hosting o Poner Server? en: 30 Mayo 2011, 14:29 pm
Hola amigos,

Mi pregunta del día de hoy viene por este lado: Todos sabemos que si vas a poner una web para tu empresa o algo por el estilo, contratas un hosting, registras el dominio y ya.

Ahora supongamos esto: Un proyecto de empresa totalmente web, con un flujo importante de datos. Algo como que digamos "los inventores de Google" o un nuevo webmail o lo que sea. ¿Contratas un hosting o pones un server propio?

Ahora vamos más adentro. En un país como Argentina, donde la velocidad y el ancho de banda no son cosas que sobren... ¿cómo te las arreglas para montar una arquitectura de red de digamos... 1.000.000 de usuarios? ¿Cómo te aseguras no tener un cuello de botella que deje a la mitad de tus usuarios sin servicio? ¿Qué haces si de repente tu cantidad de usuarios sube como si se tratara de una inundación?

Creo que es algo que representaría un desafío de arquitecturas de red. ¿Cómo hacés para no crashear y morir?
84  Programación / Programación C/C++ / Re: nueva duda pila en C en: 28 Mayo 2011, 16:50 pm
Citar
sino vas a ayudar mjor no respondas
Ayudé. Te dije qué deberías abrir un nuevo tema. A demás, aplicando ese mismo concepto, no deberías haber posteado en primer instancia  ;)
Lo ideal es que pongas tu propio tema, para que la gente lo vea en el tablón, o que mandes un privado a akai, si deseas hacerle una pregunta personal.

Citar
y si el post lleva tanto tiempo para q t metist en ste tema???
Como comentaba antes, resucitaste el tema. Cuando posteas en un tema, este queda en la parte superior del tablón nuevamente. Por eso es que no es buena idea resucitar un tema cuando tiene más de 1 mes (2 meses por reglamento, pero en 1 mes habrás levantado un tema viejo).

Tomalo a modo de consejo. No necesitas defenderte cuando te dan un consejo. Por otra parte, el consejo de escribir adecuadamente también vale.

PD: No dejes pasar 4 días solo para postear una antítesis no fundamentada.

Saludos.
85  Programación / Programación C/C++ / Re: nueva duda pila en C en: 24 Mayo 2011, 17:25 pm
1) Deberías abrir otro tema si tienes dudas, no resucitar un tema que lleva más de un mes sin posts.
2) Usa resaltado para el código, por favor.
3) Escribe en un español que todos entendamos. Es decir: ¿Realmente se supone que interpretemos esto?
Código
  1. /*hice st programa y m salen errores q no c que son intent corregirlos pro nada!!!
  2. errores:
  3. -cannot convert `tiponodo***' to `tiponodo**' for argument `1' to `void push(tiponodo**, int)'
  4. -In function `float media(tiponodo**)':
  5. -In function `int impardelete(tiponodo*)':
  6.  
  7. Y muchos otros mas!!!!!! talz vz puedan ayudarm xfa!!!!!  */
No estamos escribiendo un SMS ni nada por el estilo. Nadie te cobra por los carácteres que completan las palabras.

Saludos
86  Programación / Programación C/C++ / Re: Orientacion c/c++ en: 23 Mayo 2011, 14:17 pm
Citar
Teóricamente, todos los lenguajes pueden ser compilados o interpretados, pero no te van a enseñar interpretar por ejemplo C/C++ debido a que no te será fácil depurar, juntar archivos (librerías, archivos de cabecera...) entre otras cosas. Lo mismo pasa con .NET y Java.
Un lenguaje puede ser interpretado o compilado dependiendo de cómo se haga efectivo su contenido. El lenguaje en sí es sólo el léxico, con su sintáxis y semántica. A lo que se refiere el texto que citas cuando dice que, por ejemplo, C ha sido implementado como lenguaje interpretado, es a que alguien ha escrito un programa que puede leer C y ejecutarlo mediante un intérprete. Eso no significa que C sea un lenguaje interpretado, sino que alguien ha implementado un intérprete.

Se dice que un lenguaje es compilado si se genera código de máquina en una imágen de proceso que el SO carga a memoria para iniciar un proceso nuevo. Se pueden iniciar procesos para programas interpretados, pero la instancia del proceso es la del intérprete, y no la del script o bytecode en cuestión.

C y C++ son DOS lenguajes compilados (lo digo porque me pareció leer que alguien interpretaba que era un solo lenguaje). Los intérpretes que se hicieron son aparte de su uso real.
JAVA es un lenguaje interpretado, porque aún el bytecode necesita del proceso java para funcionar. Una máquina virtual NO deja de ser un proceso, y un intérprete. No importa que sus códigos se parezcan a los de una máquina y que le digan máquina. JAVA NO es una máquina. Es un intérprete.

Saludos
87  Programación / Programación C/C++ / Re: Orientacion c/c en: 21 Mayo 2011, 04:28 am
Yo primero aprendí C++, después ASM, después C, y lo amé.

Con C++ tenés punteros y prácticamente todo lo de C, más algo parecido a OO, aunque no te va a gustar si sos purista de objetos.

Si los objetos te gustan, entonces C++ es lo tuyo. Personalmente el paradigma OO me da asco, y AMO C.

Si me pedís una opinión: C
Si me pedís un consejo: Aprendé los dos, usá los dos, después elegí. Al fin y al cabo no son muy diferentes, no es que vas a malgastar tu vida por aprenderlos.

Saludos.
88  Programación / Programación C/C++ / Re: ¿Es normal hacer este tipo de conversiones de punteros void? en: 20 Mayo 2011, 04:21 am
Citar
Obviamente si sos nuevo en un proyecto tampoco te vas a meter en el comportamiento interno de una función sin ver como están implementadas sus entidades básicas, claro esta.
jeje... cómo quisiera que sea así siempre, me ha tocado cada cosaa  :¬¬

Saludos!
89  Programación / Programación C/C++ / Re: ¿Es normal hacer este tipo de conversiones de punteros void? en: 20 Mayo 2011, 03:46 am
Esto ya es un mareo. A ver:
Dependiendo el problema depende que solución es mas aceptable, y esto ultimo siempre va a ser subjetivo. Personalmente para este caso en particular me parece mas correcta la idea de Pucheto que hacer un cast directo. Tal vez las ventajas del planteo de Pucheto no son tan visibles en 10 lineas pero se notarían si tenes que ponerte al día en un proyecto relativamente extenso y encima mantenerlo, aunque esto por supuesto depende de cada uno.

Supongo que será por lo relativo, pero yo, siendo nuevo en un proyecto, preferiría mil veces encontrar esto:
Código
  1.    if (flag == esMedico)
  2.            funcionMedico((struct medico*)puntero);
  3.  
  4.    if (flag == esPaciente)
  5.            funcionPaciente((struct paciente*)puntero);

que es explícito en lo que hace, y no esto:
Código
  1.    case f_medico:
  2.        //lo manejo como medico
  3.        handleMedico(m.data.m);
  4.        break;
  5.    case f_paciente:
  6.        //lo manejo como paciente
  7.        handlePaciente(m.data.p);
  8.        break;

que es como... poco claro, a mi parecer.


Del 1er punto sigo sin ver que variable local uso...
Si no lo entiendo mal, recibes un puntero en la función, y haces algo como:
Código
  1. void
  2. funcion(void *punt ...) {
  3.    personaHospital p = (personaHospital) *punt; /* algo asi, que requiere una variable local p, o un puntero */
  4.  
  5.    switch(p.flag){
  6.        case f_medico:
  7.            //lo manejo como medico
  8.            handleMedico(m.data.m);
  9.            break;
  10.        case f_paciente:
  11.            //lo manejo como paciente
  12.            handlePaciente(m.data.p);
  13.            break;
  14.    }
  15. }
  16.  

Que no era necesaria sin la union...

Del punto 2, si una funcion trabaja con un paciente solamente, le paso el puntero al paciente, no toda el struct con el flag... el struct con el flag solamente lo uso cuando tenga q manejar de manera generica a medicos y pacientes por igual, y tal vez aplicarle alguna funcion generica que necesite tratarlos de maneras distintas. Depende mucho del contexto de uso todo esto.
Creo que nunca se manejarían "por igual"... si tuvieran miembros en común que se manejen por igual, entonces metería algo como herencia. Una estructura compartida entre ambos al inicio de la estructura de cada uno. Y así los despachos con un único puntero siguen siendo válidos, aunque en realidad habrá código compartido tanto como código para cada implementación.

Estamos tratando de dar solución a ningún problema, creo que eso es lo más confuso  :)

Muestrame el código que pondrías para darme una mejor idea de tu idea.

Saludos
90  Programación / Programación C/C++ / Re: ¿Es normal hacer este tipo de conversiones de punteros void? en: 19 Mayo 2011, 21:25 pm
El cast directamtnte es mejor.


Una cosa que no veo aca, hagas como hagas, si o si vas a tener que pasarle el puntero a la otra funci\'on. No veo donde esta el problema. En tu codigo tambien tenes que pasar el puntero a una funcion.
No fue lo que expuse. La diferencia, aclaro, es que necesitas una variable local para usar la union.

Tampoco veo pq se pierde la posibilidad de tener secciones donde solo se manejan solo medicos o solo pacientes.

Si podes pone un ejemplo donde se vea mejor.
Este sería el otro caso. Si no usas una variable local, pasas las uniones desde que las creas... probablemente desde el main. Entonces, si una función o grupo de funciones trabajan con "struct paciente", necesitas una funcion intermediaria (un dispatcher), que les pase el puntero. Eso significa una funcion para adaptar a cada flujo que use solo una estructura, cosa que no pasaría si las estructuras fueran siempre diferentes. Solo los flujos que aceptan ambos tipos necesitan el dispatcher.

Saludos
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 28
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines