[Bottom ▼]

[Volver]
Estás en el hilo 8748 de /t/.
Título  
Opciones
Post
Archivo
Pass  (Para eliminar tu post, opcional)
Lee las Reglas antes de participar. [Ver bans]
Lee las Reglas antes de participar. [Ver bans]
Tipos de archivo: GIF, JPG, PDF, PNG, SWF, WEBM . Tamaño máximo: 12 MB.
En este tablón puedes publicar código con el tag [code] .

No abuses de los hilos de pedidos y consultas técnicas. Si hay demasiados, tu hilo podría ser eliminado. Consulta en un motor de búsqueda antes de crear ese tipo de hilos. Los trolls/flames no están permitidos.

Hilo Oficial de Programación
[A]
148013074427.jpg [S] ( 321.46KB , 1971x1971 , TerryADavis.jpg )
8748

/#/ 8748
(Este hilo ha llegado al límite de bumps.)

Hilo anterior >>6524

Si tienes dudas relacionadas con la programación en general no abras nuevos hilos y realiza aquí tus preguntas.

Si estás trabajando en un proyecto te recomendamos que pases por este hilo >>8552 para reportar tus avances.

>> /#/ 8753 [X]
148014177345.png [S] ( 21.17KB , 752x560 , Code.png )
8753
>>8748 (OP)
Negros he estado pensando en crear un programa autoclick e investigando un poco la mejor opción que halle fue usar visual basic, pero se muy poco de este lenguaje (solo he manejado python y c++ y ya hace mucho tiempo), hice un borrador de la lógica del programa en un pseudo código (pic related) y no se como hacerlo en visual (es mas no se si es la mejor opción), negros necesito sus consejos ya que desde hace tiempo no programo y quisiera refrescarme con esto.

>> /#/ 8754 [X]
>>8753
Por cierto de un vídeo saque algo parecido hecho en visual para que al presionar la barra espaciadora de click en una coordenada
Public Class Form1     Private Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)     Private Sub Button1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown         If e.KeyValue = Keys.Space Then             Cursor.Position = New Point(185, 462)             mouse_event(2, 100, 100, 0, 0)             mouse_event(4, 100, 100, 0, 0)         End If     End Sub End Class


Pero de ahí no se como continuar

>> /#/ 8760 [X]
>>8754
¿Qué es lo que no funciona, no hace click, no recibe el evento o qué?

>> /#/ 8761 [X]
>> /#/ 8763 [X]
>>8760
No se como completarlo, ese el problema, pido ayuda para por ejemplo generar un numero aleatorio en un intervalo o crear el delay aleatorio entre clicks

>> /#/ 8764 [X]
Negritos es urgente. se puede escribir y mostrar en pantalla en tiempo real con allegro? y si es asi, como lo hago?

pd:soy el mismo que usa codeblock

>> /#/ 8766 [X]
>> /#/ 8768 [X]
148020134778.png [S] ( 46.38KB , 1017x703 , Ashampoo_Snap_2016_11_26_14h59m33s_001_.png )
8768
>>8748
Alguien ayuda, no logro hacer que aparezcan las imágenes aquí

https://my.mixtape.moe/asixgk.rar

La pagina donde lo saque
http://unckel.de/kanateacher/index-en.html

>> /#/ 8774 [X]
¿Por qué, y en qué casos, en C se permite que una función regrese dos tipos de datos?

Me explico: estoy empezando a estudiar programación en windows y para ello estoy leyendo el Petzold, y allí se nos muestra la función WinMain como sigue:
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)

En el libro se explica que WINAPI es un tipo de dato, así que tenemos una función definida como
data_type_1 data_type_2 function_name ( /*parameter list*/ )


>> /#/ 8775 [X]
Bien, pues de una vez que andamos en el desmadre de C, eso es lo que quiero, aprender a programar, alguien sabe de alguna buena pagina donde pueda aprender el como programar, siempre me ha llamado la atención negros.

>> /#/ 8776 [X]
¿Alguien sabe de un downloader para hispachan? (El que estaba desapareció).
He probado con varias extensiones para chrome pero no descargan las imágenes en la resolución original. Si no existe uno, para programarlo.

>> /#/ 8777 [X]
>>8774
>¿Por qué, y en qué casos, en C se permite que una función regrese dos tipos de datos?
En ningún caso, WINAPI es una macro que está definido como __stdcall (https://msdn.microsoft.com/es-ar/library/zxk0tw93.aspx), que es una palabra clave para MSVC.

>En el libro se explica que WINAPI es un tipo de dato
Tira ese libro a la basura.

>>8775
http://www.nachocabanes.com/

>> /#/ 8778 [X]
>>8774

No. WINAPI no es un tipo de dato, es una definición del tipo de convención de llamada (stdcall) en este caso.
¿Por cierto qué libro es anón?

>> /#/ 8779 [X]
>>8776
python+requests+beautifulsoup

>> /#/ 8788 [X]
He estado intentando programar el programa Hola mundo en c, pero no se compila.
He probado [code]
#include <stdio.h>

int main ()(
printf ("Hola mundo./n");

system ("pause");
return 0;
)
[code]
4 C:\C\Programas\SinNombre3.c syntax error before '(' token

4 C:\C\Programas\SinNombre3.c `main' declared as function returning a function

6 C:\C\Programas\SinNombre3.c syntax error before string constant
[code]

6 C:\C\Programas\SinNombre3.c [Warning] data definition has no type or storage class

#include <conio.h>
#include <stdio.h>

int main()
{
printf("Hola mundo.");

getch(); /* Pausa */

return 0;
}
[code] En este simplemente pone "Código fuente no compilado" Gracias por adelantado.

>> /#/ 8789 [X]
Soy >>8788, siento no saber usar el tag...

>> /#/ 8792 [X]
>>8788
Estás usando paréntesis y tienes que usar llaves {}.

int main ()(  <-- printf ("Hola mundo./n"); system ("pause"); return 0;)             <--


conio.h no es una librería estándar. Evita usar cualquier documentación/tutorial/libro donde aparezca la palabra "borland" para aprender.

#include <conio.h>   <-- #include <stdio.h> int main() { 


>> /#/ 8794 [X]
>>8777
>>8778
Quedé igual, anones, pero gracias.

>> /#/ 8801 [X]
>>8748 (OP)
Alguien me puede explicar quién es el tipo de la pic y por qué lo están memeando a morir?

>> /#/ 8803 [X]
>> /#/ 8806 [X]
>> /#/ 8807 [X]
Se puede dado un boton de x,y coordenadas del mouse cuando se de click izq que esta accion imprima una letra en pantalla? y si se puede, como seria, por ejemplo, en caso de que tenga varios botones que al presionarlos vayan escribiendo cada letra...
digamos que tengo un boton que al presionarlo imprima por pantalla 'a' y otro que al precionarlo imprima 'b', osea que cuando presione ambos en pantalla aparezca 'ab'.

>> /#/ 8809 [X]
>>8807
se me olvidaba...estoy usando c++ y una libreria grafica osea que los botones son BITMAPS en pantalla y las cordenadas son las de la posicion de dichos botones

>> /#/ 8810 [X]
>> /#/ 8905 [X]
>>8748 (OP)
bump

>> /#/ 8955 [X]
148047740152.jpg [S] ( 12.10KB , 300x227 , machine_code.jpg )
8955
¿En qué tipo de libros puedo aprender a programar en código binario?

>Inb4: ayy el jorge
No, no soy un jorgito; me interesa el tema de los compiladores y simplemente no hallo un libro en concreto que trate el tema, salvo algunos estándares de codificación binaria, pero eso sólo es parte de lo que quiero.

>> /#/ 8956 [X]
>>8955
¿Que mierda quieres hacer?

Por la imagen busca cosas de ensamblador, en el tablón hay un hilo sobre éso.

Pero si quieres realmente hacer cosas con código binario, la electronica digital es tu caminó.

>> /#/ 8957 [X]
>>8955
Libro para programar compiladores: "Compilers: Principles, Techniques, and Tools"
Referencia de opcodes para Intel: http://ref.x86asm.net/

>> /#/ 8968 [X]
>>8955
>usar binario en vez de ensamblador

Negro...

>> /#/ 8969 [X]
¿Cual es la matemática necesaria para aprender programación?

>> /#/ 8970 [X]
>>8969
Aritmética y Álgebra basica.
Aún que no es necesaria, ayuda en el pensamiento logico

>> /#/ 8971 [X]
>>8970

pero algun ejemplo especifico, ¿y que lenguaje deberia empezar?

>> /#/ 8972 [X]
>>8971
> ¿y que lenguaje deberia empezar?
Yo aprendí con c así que es el que te recomiendo.

Pero en fin lanza un puto dado y escoje el que quieras igual y no vas a lograr nada.

http://www.tiobe.com/tiobe-index/

Vivimos en la era de la información y hay Miles y Miles de recursos para aprender a programar...

>> /#/ 8973 [X]
= 90

>>8972

a ver el dadito

>> /#/ 8976 [X]
= 05

>>8973

a ver lanzo otra vez porque me da flojera buscar el 90

>> /#/ 8979 [X]
148052462862.png [S] ( 105.01KB , 1741x643 , 148052228595.png )
8979
>>8748 (OP)
Me sale este error: Problemas de conexión: Access denied for user 'root'@'localhost' (using password: YES)


¿Alguien sabe a qué se debe?

Descarga del código fuente:

http://rincondelcodigo.com/codes/1426077462_code/1426077462_code.zip

>> /#/ 8980 [X]
>>8979
Te dice que tiene problemas de conexión, revisa que los datos de conexión a la DB sean correctos

>> /#/ 8981 [X]
>> /#/ 8982 [X]
>>8981
No lo se, pero prueba y nos dices que tal.

>> /#/ 8984 [X]
>>8980
Es que no sé SQL, este es el archivo de la conexión a la Base de Datos:

<?php $con=mysqli_connect("localhost","root","password","base_de_datos"); if (mysqli_connect_errno()) { echo "Problemas de conexion: " . mysqli_connect_error(); }?>


>> /#/ 8985 [X]
>>8984
>Es que no sé SQL
Aprende, google es tu amigo.

Pero en el caso concreto de tu problema es que no estas poniendo los datos de tu base.


Sustituye lo que esta entre comillas por los datos de acceso a tu base, esos datos los sacas cundo instalas la DB o si es en un host contratado te los proporciona el proveedor.


http://stackoverflow.com/questions/4371/how-do-i-retrieve-my-mysql-username-and-password

>> /#/ 9014 [X]
148056386033.png [S] ( 36.58KB , 1027x549 , Hispayuda.png )
9014
>>8748 (OP)

Buenas anoncitos.
Apenas estoy aprendiendo en Java. Como proyecto tengo pensado hacer un mini-reproductor de archivos.wav (musica).
Seguramente tendre muhas dudas,asi que podria estar aqui algunas veces.
La primera (y a la vez la mas tonta):
¿Por que no me aparece en la ventana que se abre al ejecutar la clase los JRadioButton?

>> /#/ 9048 [X]
>>9014
Donde están declaradas tus variables?
porque haces tantas cosas en un constructor?

>> /#/ 9053 [X]
>>8748 (OP)
>>8888
Test

>> /#/ 9121 [X]
>>8748 (OP)
Tengo una dudo respecto a comparar varias variables en total cuatro para definir quien de esas es mayor y menor. El proceso solo con numeros es sencillos pero este caso es distinto debido a que quiero realizar esa comparacion con variables globales con datos ya establecidos, son double. y asi evitar hacer multiples lineas de codigo con if. un ejemplo(variable global n1=10,n2=11;n3=13) comparar eso en una extructura repetitiva para evitar hacer decenas de lineas de if.

>> /#/ 9134 [X]
>>9121
Declara las variables como array (n= [10,11, 13]) y con un for busca el numero mayor y el menor.

>> /#/ 9149 [X]
148078008810.jpg [S] ( 290.93KB , 1365x2048 , 67607_l26zgor644_123_527lo.jpg )
9149
>>9121

Los bucles afectan la performance, lo mejor que puedes hacer es usar macros.

#define MAX(a, b) (((a) > (b)) ? (a) : (b)) #define MIN(a, b) (((a) < (b)) ? (a) : (b)) mayor = MAX(MAX(n1, n2), MAX(n3, n4)) menor = MIN(MIN(n1, n2), MIN(n3, n4))


>> /#/ 9180 [X]
>>9134
Ya realice ese proceso me sale perfecto, pero hay un detalle, esas variables son globales y son modificables, entonces al meter esas variables al arreglo no son modificables. Ejem: variable global n= 10 *** el arreglo*** int [] arreglo={n}; alli dentro de arreglo esta la variable global n, pero n debe cambiar en el transcurso del programa segun el usuario y el arreglo no toma esa modificacion o hay alguna manera de hacerlo?

>> /#/ 9189 [X]
148082195458.jpg [S] ( 322.64KB , 2048x1365 , 36877946_metart_humedo_virgin.jpg )
9189
>>9180
Punteros. Aldo, estas haciendo realmente tonto.

>> /#/ 9190 [X]
>>9189
*algo.

>> /#/ 9196 [X]
>>9180
#include<stdio.h> static int n[] = {10,11, 13}; void main() {   printf("%d\n",n[0]);   printf("%d\n", n[1]);   printf("%d\n", n[2]);   n[0]++;   printf("%d\n", n[0]); }


>> /#/ 9209 [X]
Hola, tengo dificultades con esta funcion que cree para saber si un numero es primo o no, ¿en que me estoy equivocando?
int numprimo(int b){ int np; if(b==1){ np=0; //no es primo }else if(((b/1)==b) || ((b/b)==1)){ np=1; //si es primo } return np; }


>> /#/ 9226 [X]
Hey negros! Alguien sabe como redireccionar una vista + variable en Laravel?

>> /#/ 9228 [X]
>>9209

>¿en que me estoy equivocando?
En la lógica, un numero primo sólo es divisible por 1 y por sí mismo, y todo numero es divisible por 1 y por sí mismo.
Verificar si es primo requiere un loop. Aunque hay algoritmos más eficientes (Criba de Eratóstenes).

def isprimo(n):     for i in range(n/2):         if n % i == 0:             return True     return False


>> /#/ 9232 [X]
>>9228
gracias

>> /#/ 9233 [X]
>>9232
De nada, pero ese código está mal :P. El valor de retorno está invertido. Y puedes ahorrar ciclos si primero verificas que no sea divisible por 2 y por 5, y que el numero no sea ni 2, ni 5 porque justamente son primos.

>> /#/ 9236 [X]
148091033466.gif [S] ( 8.73KB , 511x494 , 1465492637693.gif )
9236
>>8748 (OP)
(print (cons 'p (cons 'u (cons 't (cons 'o (cons 'e (cons 'l (cons 'k (cons 'l (cons 'o (cons 'l (cons 'é (cons 'e nil)))))))))))))


>> /#/ 9247 [X]
¿Algun negro experto en php y mysql?

tengo el siguiente problema.... Necesito crear tablas apartir de un codigo en php, mas especificamente, necesito por darle un nombre variable a la tabla, que la pueda obtener atraves de una etiqueta INPUT intente colocando la varible directamente como si de introducir un dato fuera, y no me funciono.

este es el codigo que tengo:

$Nombre_Varible_Tabla $conexion=mysql_connect("localhost","root","rooot"); mysql_select_db("MyDB",$conexion); $SQL="CREATE TABLE $Nombre_Varible_Tabla (dato1 char(50),dato2 int, dato3 int)"; mysql_query($SQL); Mysql_close($conexion);  


>> /#/ 9248 [X]
>>9247
por si acaso.. $Nombre_Varible_Tabla no esta vacia.

>> /#/ 9249 [X]
>>9247
Que error te manda??

>> /#/ 9283 [X]
>>9249
ya lo solucione

pero ahora tengo otro problema... parecido:


$id=123; $conexion=mysql_connect("localhost","root","root"); mysql_select_db("registro2",$conexion); $SQL="SELECT G1,G2 FROM `V_".$id."` "; $rsql=mysql_query($SQL); $y=mysql_result($rsql,0); echo "$y"; mysql_close($conexion);


Manda el siguiente error:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in

se mas o menos que el problema radica en el valor de $SQL.

>> /#/ 9292 [X]
>>9283
que version de php estás usando? te recomiendo empieces a usar php 7 o superior, difieren ciertas cosas al guardar y consultar datos.

Also php7 tiene protecciones default para los strings contra inyección.

Checa bien como estás intentando seleccionar el dato para tu echo, ya que recibes 2 columnas.

>> /#/ 9299 [X]
>>9283
Porque le pones apostrofes al select?

>> /#/ 9309 [X]
>>9299
>>9283
Porque su valor es un combinado de string con entero pero para estar seguros usa comillas simples '', algunas versiones de base de datos no aceptan esas potostrofes como acentos (te recomiendo usar una distribución de teclado US international).

Aunque hay formas mas elegantes de formular una query, por ejemplo declarar toda la query dentro del mysql_query de esa manera declaras las variables dentro de la query sin usar la concatenacion de php.

Por ejemplo en php 7 (este usa mysqli)

mysqli_query($con,"INSERT INTO Alumno(NoControl,Nombre,PromGen,Avance,Correo,Telefono,Creado) VALUES('$nocontrol','$nombrealumno','$promedio','$avance','$correo','$telefono','CURRENT_TIMESTAMP')");

>> /#/ 9310 [X]
>>9309
Kek, pensé que lo mas estándar para evitar eso era usar las comillas dobles "

En general en varios lenguajes uso las comillas dobles.

>> /#/ 9330 [X]
>>9310
no me referia a eso negro;
comilla simple '
ex: $res=mysql_query("Select * from potato where fecha= '$fecha' ;")
Comilla doble "
ex: $res=mysql_query("Select * from potato;");

Acento ` < nunca uses esta mierda.

>> /#/ 9452 [X]
>>8748 (OP)
Hola, una pregunta, quiero que banear IPs dinámicas con php, o sea que cuando el usuario intente reiniciar el módem y para así poder cambiar sus dos últimos dígitos de su IP no pueda entrar a mi página. Por Ejemplo, quiero banear esta IP: 201.178.42.xx

xx= Últimos dos números de la IP dinámica.

Código:

<?php $blockedips = array(); $blockedips[] = '201.178.42.73'; $blockedips[] = 'x.x.x.x'; $blockedips[] = 'x.x.x.x'; for ($i = 0; $i < sizeof($blockedips); $i++) {   if ($_SERVER["REMOTE_ADDR"] == $blockedips[$i])  header("Location: https://www.hispachan.org/coca/"); }?>


>> /#/ 9455 [X]
>>9452
No es tan simple negrito, en general las IP cambian mas de unos dígitos.

En un ejercicio mi ip era algo así como 178.215.45.86 y después de reiniciar mi maquina queda como 178.215.78.100

Que son mas de dos numeros....

>> /#/ 9456 [X]
>>9455
Ok, entonces, banear esta parte de la IP y listo: 178.215.

>> /#/ 9457 [X]
>>9456
pero si haces eso podrias negarle el acceso a otras personas que no tienen nada que ver.

>> /#/ 9459 [X]
>>9457
No importa :^)

>> /#/ 9460 [X]
>>9459
Ya encontré el código que banea las IPs por rango:

<?php /* Listado con las IPs */ $ban_ip_list = array('64.233.167.99', '207.46.232.182');   /* Listado con el rango de IP. Use the '*' as the range selector */ $ban_ip_range = array('201.178.*');   /* Ip Visitante */ $user_ip = $_SERVER['REMOTE_ADDR'];   /* Mensaje que verá si está baneado */ $msg = 'No tenés permiso para visitar esta página.';   /* Message to output if the IP is in the ban list */       if(in_array($user_ip, $ban_ip_list)) {   exit($msg); }   /* Check if the Visitor's IP is in our range's list */   if(!empty($ban_ip_range)) { foreach($ban_ip_range as $range) { $range = str_replace('*','(.*)', $range);       if(preg_match('/'.$range.'/', $user_ip)) {   exit($msg); } } }?>


>> /#/ 9461 [X]
>>9460
Also, alguien sabe cómo redirigir las ips de $ban_ip_range a una página en específico?

Ejemplo: header("Location: https://www.hispachan.org/coca/");

>> /#/ 9462 [X]
>>9461
Tan simple como cambiar el último código negro:

if(!empty($ban_ip_range)) { foreach($ban_ip_range as $range) { $range = str_replace('*','(.*)', $range);       if(preg_match('/'.$range.'/', $user_ip)) {   header("Location: https://www.hispachan.org/coca/"); } } }?>


>> /#/ 9463 [X]
>>9462
Gracias, sirvió :^)

El código quedó así:

<?php /* Listado con las IPs */ $ban_ip_list = array('xx.xx.xx', 'xx.xx.xx', 'xx.xx.xx');   /* Listado con el rango de IP. Use el '*' como selector de rango */ $ban_ip_range = array('xx.xx.*');   /* Ip Visitante */ $user_ip = $_SERVER['REMOTE_ADDR']; /* Verifica si la IP del visitante está en el rango y la redirecciona */   if(!empty($ban_ip_range)) { foreach($ban_ip_range as $range) { $range = str_replace('*','(.*)', $range);       if(preg_match('/'.$range.'/', $user_ip)) {   header("Location: https://www.hispachan.org/coca/"); } } }?>


>> /#/ 9465 [X]
>>9463
Kek, igual mete la lista de proxys conocidas
https://incloak.es/proxy-list/

Ademas puedes analiza las IPs para evitar los ataques de sustitución de IP, por ejemplo, si una IP que son que van así
172.168.54.12
172.168.54.13
172.168.54.14

>> /#/ 9466 [X]
>>9465
Es en vano, voy a tardar mucho, hay como 50 hojas de proxies en esa página. Mejor busco algo que detecte los proxies y redireccione al usuario a una página de que no se permiten los proxies.

>> /#/ 9467 [X]
>>9466
Aprende a leer, tiene un API...

>> /#/ 9470 [X]
>>9467
Kek, de todas formas esta es la mejor manera de bloquear un proxi:

https://perishablepress.com/press/2008/04/20/how-to-block-proxy-servers-via-htaccess/


Si alguien es tan amable que me averigüe a ver si se le puede redireccionar a una página y no que se quede en un Forbidden 403 ;_;

>> /#/ 9488 [X]
>>9470
No sé mucho de.htaccess ;_; voy a ver si encuentro algo, todo lo que intenté no funcionó.

>> /#/ 9518 [X]
Necesito ayuda con un proyecto de java de la universidad en el que debo hacer manejo de archivos binarios, hacer un vector y guardar sus datos en el archivo binario(lo cual no fue muy complicado) pero el problema es que debo de poder modificar esos datos desde un main externo, pero no encuentro la forma.

ejemplo tengo un vector de materias guardo varias materias
sus atributos son
int id;
String nombre;
int creditos;

en el archivo quedaría mas o menos
02 español 5

el problema es que desde otro main externo modificar una parte deseada del archivo binario ejemplo cambiar los créditos, como podría hacer eso?

>> /#/ 9519 [X]
>>9518
este es el código que uso actualmente
package Especialidad; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.ObjectOutputStream; import java.util.Scanner; import java.util.Vector; public class PlanEstudios {     String id;     Scanner sc = new Scanner(System.in);     Materia materia;     Vector<Materia> materias = new Vector<Materia>();     int cont = 0;     int total = 0;     int[] pos;     final int limite = 2;     public PlanEstudios() {     }     public PlanEstudios(String id) {         this.id = id;     }     public PlanEstudios(Materia materia) {         this.materia = materia;     }     public void setId(String id) {         this.id = id;     }     public String getId() {         return id;     }     public Materia getMateria() {         return materia;     }     public void setMateria(Materia materia) {         this.materia = materia;     }     public Vector<Materia> getMaterias() {         return materias;     }     public void setMaterias(Vector<Materia> materias) {         this.materias = materias;     }     public void agregarMateria() {         if (cont == limite) {             System.out.println("Ya alcanzo el limite de " + limite + " materias");             return;         }         int clave;         String nombre;         int creditos;         System.out.println("clave:");         clave = sc.nextInt();         System.out.println("nombre:");         nombre = sc.next();         System.out.println("creditos:");         creditos = sc.nextInt();         materias.addElement(new Materia(clave, nombre, creditos));         cont += 1;     }     public void listar() {         for (int i = 0; i < materias.size(); i++) {             materias.elementAt(i).imprimir();         }     }     public void quitarMateria(int clave) {         if (materias.size() <= 0) {             System.out.println("No existen materias");         }         for (int i = 0; i < materias.size(); i++) {             if (materias.get(i).getClave() == clave) {                 materias.remove(i);                 System.out.println("Se elimino el elemento");                 break;             }         }         cont -= 1;     }     public void GuardarMateria() throws FileNotFoundException, IOException {         ObjectOutputStream file = new ObjectOutputStream(new FileOutputStream("src/Especialidad/planestudios.obj"));         byte[] bytes;         pos = new int[materias.size()];         total = 0;         for (int i = 0; i < materias.size(); i++) {             bytes = materias.get(i).toString().getBytes();             pos[i] = bytes.length;             total += bytes.length;             file.writeBytes(materias.get(i).toString());             if (i < materias.size() - 1) {                 file.writeBytes("\n");             }         }         file.close();     }     public void recuperarMateria() throws FileNotFoundException, IOException {         BufferedReader ra = new BufferedReader(new FileReader(new File("src/Especialidad/planestudios.obj")));         String salida = "";         while ((salida = ra.readLine()) != null) {             System.out.println(salida);         }         ra.close();     }     @Override     public String toString() {         String salida = "";         for (int i = 0; i < materias.size(); i++) {             salida += materias.get(i).getClave() + " ";         }         return salida;     }     public void imprimir() {         System.out.println(toString());     } }


>> /#/ 9539 [X]
>> /#/ 9541 [X]
Ante todo, pido perdón si mi pregunta es un tanto estúpida.

Supongamos que tenemos una matriz "M" la cual puede aceptar valores numéricos en cualquiera de sus posiciones. ¿Existe alguna manera rápida y simple de evaluar si una serie de posiciones corresponde con una serie de números dados? Por ejemplo, deseo verificar si la matriz tiene tres casillas horizontales consecutivas con valores tales como 0 ó 1 (es decir, 001, 101, 000, 111...). Supongo que, de utilizarse un ciclo anidado, la alternativa más sencilla sería:

if( ( M[i][j] == 1 || M[i][j] == 1 ) && ( M[i][j+1] == 1 || M[i][j+1] == 1 ) && ( M[i][j+2] == 1 || M[i][j+2] == 1 ) ) {      // Instrucción }


Nota: le sumo un número entero a "i" en cada posición para evaluar las tres posiciones en un sólo condicional.

¿Existe una manera más eficiente de hacer esto? ¿Algún detalle que permite verificar si una variable es igual a un valor u otro?

>> /#/ 9549 [X]
>>9541
¿Cual es el propósito?, ademas de esa forma en la que tú lo haces podría también hacerse con multiplicación de matrices, pero de ese modo consumiría más ciclos porque la multiplicación es costosa.

>> /#/ 9550 [X]
>>9549
Estoy haciendo un método minimax con poda alpha-beta, por lo que debo calcular de cuántas formas se puede ganar una partida partiendo de un tablero dado. Me encontré este problema a la hora de analizar el tablero de manera horizontal y diagonal.

Lo de la multiplicación suena interesante, mas no sé si se traduzca en un mayor tiempo de espera para la jugada de la computadora. Claro, tampoco estoy seguro si mi idea también sufra de ese mismo problema.

>> /#/ 9553 [X]
>>8748 (OP)
Quiero empezar a programar, se lo básico de Pseint y Visual Basic
Quisiera saber si tienen algunos consejos y con que programas debo empezar para poder ser un programador
no digo que lo haré de la noche a la mañana, pero tengo paciencia

>> /#/ 9554 [X]
Negros, ando estudiando python y C, la verdad anteriormemtehe hecho proyectos muy simples en c++ pero mi interés en estudiar estos lenguajes es la creación de software, quiero hacer muchos programas que vulneren seguridades nada mas por los loles

¿Voy por buen camino?
¿Añado o quito otro lenguaje?

>> /#/ 9610 [X]
Negritos, necesito optimizar mi procedimiento en SQL Server 2008. Necesito crear un sorting condicional, el cual me permita ordenar mi tabla así...:
where ((DOCU_DB.VENCIMIE >= CONVERT(DATETIME, @FECHA1 , 102)) and  (DOCU_DB.VENCIMIE <= CONVERT(DATETIME, @FECHA2 , 102))) and  (TIDOC_DB.CODIGO like '%' + 'CBCH' + '%') order by  DOCU_DB.VENCIMIE asc DOCU_DB.NUMFACT asc


[...] o así:
where ((DOCU_DB.VENCIMIE >= CONVERT(DATETIME, @FECHA1 , 102)) and  (DOCU_DB.VENCIMIE <= CONVERT(DATETIME, @FECHA2 , 102))) and  (TIDOC_DB.CODIGO like '%' + 'CBCH' + '%') order by  DOCU_DB.VENCIMIE desc DOCU_DB.NUMFACT desc


Intenté usar CASE de esta forma:
where ((DOCU_DB.VENCIMIE >= CONVERT(DATETIME, @FECHA1 , 102)) and  (DOCU_DB.VENCIMIE <= CONVERT(DATETIME, @FECHA2 , 102))) and  (TIDOC_DB.CODIGO like '%' + 'CBCH' + '%') order by  case @ORDER_DIR when 1 then (DOCU_DB.VENCIMIE asc DOCU_DB.NUMFACT asc) end, case @ORDER_DIR when 2 then (DOCU_DB.VENCIMIE desc DOCU_DB.NUMFACT desc) end


Pero como sabrán, de esta forma la consulta me lanza error de sintaxis. Sé que para funcionar tiene que quedar algo así:
where ((DOCU_DB.VENCIMIE >= CONVERT(DATETIME, @FECHA1 , 102)) and  (DOCU_DB.VENCIMIE <= CONVERT(DATETIME, @FECHA2 , 102))) and  (TIDOC_DB.CODIGO like '%' + 'CBCH' + '%') order by  case @ORDER_DIR when 1 then (DOCU_DB.VENCIMIE) end asc, case @ORDER_DIR when 2 then (DOCU_DB.VENCIMIE) end desc


pero así no me sirve porque necesito ordenar usando 2 Columnas. ¿Alguien sabe cómo hacer un sorting condicional que afecte a 2 columnas al mismo tiempo y que uncluya el orden asc o desc?

>> /#/ 9611 [X]
>>9610
Si pones ejemplos de la tabla o de que es lo que quieres, pero exactamente que es lo que Da un ejemplo de tu entrada y otro de tu salida

>> /#/ 9617 [X]
>>9611
No puedo colocar ejemplos exactos porque es información confidencial, pero lo que quiero conseguir es hacer un procedimiento, al cual le envío unos parámetros, y de acuerdo a esos parámetros me devuelve una u otra tabla. Por ejemplo:

exec PROCEDIMIENTO '123456', 'vencimiento', 'desc' --'123456' es el N° del documento --'vencimiento' es la otra columna con la cual se ordenará la tabla --'desc' ordenar la tabla usando esta columna junto con los números de dcto en forma descendente


>> /#/ 9618 [X]
¿Que lenguaje de programacion es bueno para empezar? soy muy nuevo en esto.

>> /#/ 9619 [X]
>>9617
Desconozco como hacerlo en SQLServer, pero en PL/SQL lo aria mas o menos asi.

CREATE OR REPLACE PROCEDURE get_emp_rs (p_deptno    IN  emp.deptno%TYPE,               v_sentido   IN  varchar2,                       p_recordset OUT SYS_REFCURSOR) AS  BEGIN    IF v_sentido = 'asc' THEN     OPEN p_recordset FOR       SELECT ename,              empno,              deptno       FROM   emp       WHERE  deptno = p_deptno       ORDER BY ename asc;   ELSE      OPEN p_recordset FOR       SELECT ename,              empno,              deptno       FROM   emp       WHERE  deptno = p_deptno       ORDER BY ename desc;   END IF;    END GetEmpRS;


Busca alguna equivalencia para tu base de juguete :^)...

>> /#/ 9620 [X]
>>9553
>>9554
>>9618

Entren a esta pagina
http://www.tiobe.com/tiobe-index/

Lancen un dado y le sacan el modulo 10.
Al resultado le suman 1.
El resultado sera el lenguaje con el que iniciaran...
Si no entiendes las instrucciones mejor dedícate a coser.

>> /#/ 9621 [X]
>>9620
Implicando que lo popular sea bueno, Pascal no entraría en esa lista de 10.

>> /#/ 9622 [X]
>>9621
¿Pascal?

Es para iniciados en programación.

>> /#/ 9624 [X]
>>9619
la DB que tienen acá es un completo caos Kek, entonces debería seguir hacíendolo como lo hacía antes. Lo que hacía es prácticamente lo mismo que el ejemplo que pusiste, o sea, colocar If para todas las opciones y parámetros que le envíe al procedimiento y para cada If, colocarle toda la consulta completa. Es jodido porque el código termina siendo innecesariamente enorme (pero no conozco otra forma y tampoco la he encontrado). Así me está quedando:

http://hastebin.com/ralobiqadu.sql

>> /#/ 9626 [X]
>>9624
Por que no creas un paquete y cada opcion la pones en un procedimiento distinto, para facilitar la lectura de código, ademas tus Querys son simples y están cortos.

>> /#/ 9627 [X]
>>9622
Pascal se ha utilizado históricamente para enseñar programación, hasta que fue reemplazado por Jarba.

>> /#/ 9630 [X]
>>9627
De eso ya tiene muchos, muchos años, digo fue por los 90, a principios del 2000 lo que se usaba era C/C++ y en particular Borlan...
Luego por el 2010 se cambio a Java...

Actualmente lo que enseñan es Python...

Ademas depende la universidad/escuela maestros y demas...


Fuente, mi culo y platicas con amigos docentes y ex profesores de la Universidad.

>> /#/ 9636 [X]
>>9626
¿Te refieres a crear una carpeta y meter ahí los procedimientos parecidos?¿La forma de llamarlos sería diferente a la usual en SQL Server?
exec NOMBRE_DEL_PROCEDIMIENTO @var1, @var2, @var3


>> /#/ 9638 [X]
>>9636
>¿Te refieres a crear una carpeta y meter ahí los procedimientos parecidos?¿La forma de llamarlos sería diferente a la usual en SQL Server?
No, un paquete
https://docs.oracle.com/cd/A97630_01/appdev.920/a96624/09_packs.htm

https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6006.htm

>> /#/ 9641 [X]
148166959282.gif [S] ( 1.03MB , 500x281 , original.gif )
9641
Pienso aprender a programar Con java probablemente porque es el mas famoso y por lo tanto el mejor me recomiendan algun libro o alguna pagina que esté medianamente actualizada en la que pueda iniciar o cualquiera sirve?

>> /#/ 9643 [X]
>>9641
Como JavaFag no te recomiendo que inicies con ese.

Se un hombre y aprende C, luego cuando te canses de hacer todo a mano te cambias a Java...

>> /#/ 9644 [X]
148167013120.png [S] ( 343.86KB , 1280x1385 , 148148253452.png )
9644
>>9643
Voy a seguir tu consejo, muchísimas gracias por responder, cualquier consejo me sirve.

>> /#/ 9645 [X]
>> /#/ 9659 [X]
148172898023.jpg [S] ( 548.12KB , 1024x768 , Lighthouse.jpg )
9659
Con se usa deepcopy en el lenguaje python.

>> /#/ 9661 [X]
>>9659
Hasta que borres el hilo anterior te ayudare.

>> /#/ 9663 [X]
Me pueden ayudar a entender lo que es parametro por valor y referencia? Ando empezando con funciones en c++ pero falte a clases por un problema y me perdi esto. Le di y le di hasta que comprendi el uso de funciones y los parametros. Pero quiero profundizar ya que siento que no es suficiente lo que se.

>> /#/ 9665 [X]
>> /#/ 9666 [X]
>>9664

Gracias negro. Entonces deberia evitar las referencias y trabajar con punteros, no?

Quiero dominar bien el lenguaje para no ser de esos de los que hablan mal.

>> /#/ 9743 [X]
>>8748 (OP)
Bump.

>> /#/ 9861 [X]
>>8748 (OP)
Bumpeo

>> /#/ 9870 [X]
148215918743.png [S] ( 144.69KB , 520x520 , protip.png )
9870
>>9743
>>9861
Cuando hagas bump, borra el comentario para que el hilo no llegue al limite de bumps con comentarios basura.

>> /#/ 10023 [X]
Que hace a un lenguaje de programación mejor que otro?
>las funciones
>el manejo de las variables
>la sintaxis
>su capacidad de ser accedido por otros dispositivos
?

>> /#/ 10025 [X]
>>10023
Depende de cada lenguaje y el propósito. C por ejemplo fue creado para implementar sistemas y ser un compilar liviano que convierta el código a assambler y mejorar la portabilidad. Generalmente cuanto más top-level es el lenguaje es más fácil de aprender y por lo tanto la calidad del código tiende a ser inferior, por culpa de los programadores novatos, esto se veía mucho en los 2000s en lenguajes como PHP y JavaScript.

>> /#/ 10043 [X]
>>8748 (OP)

Los tutoriales de Derek Banas son buenos para aprender programación? Me vi su tutorial de Lua en el que en una hora enseña muy bien y de forma directa las cosas básicas.

https://www.youtube.com/watch?v=iMacxZQMPXs

>> /#/ 10070 [X]
148244107045.gif [S] ( 1.99MB , 437x177 , tmp_25703-1480890459288-1817805582.gif )
10070
Pregunta para el buen programador.

Tengo costumbre de usar variables en español en mi código, no lo comparto y soy el único que hace cambios

¿Está mal este tipo de prácticas?

>> /#/ 10071 [X]
>>10070
no

>> /#/ 10075 [X]
>>10070

Sí, no debes hacerlo negro. El idioma Inglés es el standard de la industria, y visto desde un punto de vista practico, las palabras tienden a ser más cortas.

>> /#/ 10078 [X]
>>10043
Se ve bueno, pero si vas a aprender complementa con algún libro y práctica, no creo que una hora sea suficiente para aprender un nuevo lenguaje.

>> /#/ 10083 [X]
>>10070
>¿Está mal este tipo de prácticas?
No, no esta mal.

Siempre y cuando tus variables sean representativas y descriptivas....

>>10075
Solo es aplicable cuando haces código para compartir con otros negros no hispanohablantes, pero es cuestiones de gusto...

Pero bueno, si quieres ser un purista y un buen artesano recomiendo: Code Complete, digo se dedica un montón de paginas para hablar de los espacios en blanco.

>> /#/ 10087 [X]
>>10070

No le hagas caso a este anon >>10083. Es una practica que sólo lleva errores, y es estúpido porque la base de todo lenguaje de programación es el Inglés, es como mezclar gatos y pájaros.

>>10083
>Solo es aplicable cuando haces código para compartir con otros negros no hispanohablantes, pero es cuestiones de gusto...
No es una cuestión de gusto, es para que otros negros entiendan el código mejor, ademas hay palabras de difícil o dudosa traducción que resultarían en interpretaciones erróneas al leer el código.

>> /#/ 10089 [X]
Negros vale la pena Aprender Haskell o cualquier lenguaje de programación funcional, sirve en el mundo real?

>> /#/ 10093 [X]
148246558087.png [S] ( 598.27KB , 600x791 , lol.png )
10093
>>10089
>vale la pena Aprender Haskell o cualquier lenguaje de programación funcional
IMHO sí, aprendes a ver y resolver los problemas de una forma diferente.

>sirve en el mundo real?
Los lenguajes funcionales en sí, no, pero los conceptos sí te pueden ser útiles.

Aldo, libro recomendado.

>> /#/ 10103 [X]
Que librerias debo de utilizar para convertir numeros a letras de ascii (con la ñ incluida) y al reves

>> /#/ 10104 [X]
>>10103

ASCII no tiene "ñ"(sólo utiliza 7 bits), debes usar ASCII extendido (que no es standard (también conocido en Windows como codepage)) o puedes usar Unicode.

>> /#/ 10321 [X]
>>8753
Además de lo que te recomendaron (supongo que para hacerlo con la API de Windows), quizás también te interese probar Sikuli (http://www.sikuli.org/).
>>8777
>Tira ese libro a la basura.
Para consultar sobre alguna función de la API de Windows suelo usar http://winapi.conclase.net/ (también hay una versión en pdf que se puede bajar desde la misma pagina).
>>8776
>>8779
Otra opción seria usando Wget como un descargador básico mediante este comando:
wget -r -l 1 -x --accept-regex "(src|thumb)/.*\.(webm|png|gif|jpg|swf|pdf)|.*\.css" -nc enlace

A continuación explico cada uno de los parámetros:
* -r -l 1: Recursividad de nivel 1.
* -x o --force-directories: Convierte los enlaces en directorios (es opcional pero así es mas sencillo tener los archivos organizados en lugar de dejar todo en una misma carpeta).
* --accept-regex...: Con esto baja tanto los archivos adjuntos de los hilos así como las hojas de estilo del sitio (en lugar de.*\.css también podría ser.*\.(css|js) pero no veo la necesidad de descargar el Javascript). Para inyectar un estilo concreto a los archivos en lugar del que usa por defecto requeriría algo de programación adicional (o hacer un reemplazo recursivo con sed después de terminar las descargas).
* -nc o --no-clobber: Reemplaza un archivo cuando se vuelve a descargar en el mismo directorio (de lo contrario los preserva con otro nombre). No estoy seguro si el programa permite hacer un "reemplazo condicional" cuando hay una versión mas reciente de una pagina que la que esta guardada.
* enlace: Pueden ser uno o varios enlaces, o con la opción -i archivo.txt descarga todos los enlaces encontrados en un archivo.

En Linux es muy probable que ya este instalado y para Windows se puede probar con alguno de estos ports:
* http://opensourcepack.blogspot.com/2010/05/wget-112-for-windows.html
* https://eternallybored.org/misc/wget/
* http://gnuwin32.sourceforge.net/packages/wget.htm
* http://wayback.archive.org/web/20141229115804/http://users.ugent.be/~bpuype/wget/wget.exe
* https://norfipc.com/ftp/wget/wget.zip
* http://nebm.ist.utl.pt/~glopes/wget/
Y luego verificar en la ayuda cual soporta todos los parámetros mencionados.
>>8956
>Por la imagen busca cosas de ensamblador, en el tablón hay un hilo sobre éso.
Había, pero hay una copia del mismo en https://www.hispachanfiles.org/t/res/1863.html
>>8972
>>8973
>>8976
>>9620
Si quieren aprender lenguajes con el dado de Hispa mejor usen https://jaxbot.me/articles/github-most-popular-languages que tiene un listado de 100 lenguajes (por lo que no hay que hacer cosas raras si te toca un numero mayor a 50).
>>9452
Imagino que ya solucionaste tu problema, pero otra forma de hacerlo podría ser con Squid (aunque no se si permite indicarle rangos de IP).
>>10103
Depende del lenguaje, pero en Python tienes las funciones chr (para el ASCII estándar) y unichr (para Unicode, con esto puedes convertir números desde 0 hasta 1114111).

>> /#/ 10411 [X]
>>8753
> de
NOOOOOOO! asco, visual basic es basura, mejor usa java, es mas amigable si usas netbeans (es el que enseñan en la escuela) y pues los pro se la rifan en C, baja el visual studio, ahí esta todo en uno.

>> /#/ 10412 [X]
148283921277.png [S] ( 13.44KB , 822x389 , TiVrXyf.png )
10412
>>10411
>Casi 2017
>Seguir recomendado Botnet Studio

>> /#/ 10543 [X]
>>10321
Esto es prueba de que /t/ es la única calidad del chon.

>> /#/ 10574 [X]
Alguien sabe como hacer '' en LISP? e tenido que estar usando `` ya que funcionan casi igual

>> /#/ 10576 [X]
>>10574
¿De que hablas negrito?

>> /#/ 10577 [X]
>>10576
hacer el signo que se usa para declarar una lista '(1 2 3 4) pero en lisp no puedo hacerlo por que no me deja usar alt 39 y tengo que usar `(1 2 3 4)

>> /#/ 10578 [X]
>>8748 (OP)
Negros, como trabaja un programador en una empresa? Es decir, como se comparte el código y todo eso? Siempre he tenido esa duda de como se trabaja programando en alguna empresa o al menos con un grupo de gente.

>> /#/ 10579 [X]
>>10577
¿Qué editor estás usando?

>> /#/ 10580 [X]
148312362598.png [S] ( 5.88KB , 910x380 , Git.png )
10580
>>10577
Sigo sin entenderte, explica mejor tu problema con código.
No se si es un problema de tu teclado o del editor o no se que quieres decir...

>>10578
>Negros, como trabaja un programador en una empresa?
Pues llegas, programas, pruebas y te vas...
>Es decir, como se comparte el código y todo eso?
Depende de la empresa, pero en general se usa git o svn, si es un proyecto muy grande y trabajan varios al mismo tiempo, vas subiendo tus cambios al manejador de versiones, y ya se otro colega o el jefe lo integra al código general o bien si depende de algún otro modulo bajas ese branch a tu proyecto local y pruebas.

>Siempre he tenido esa duda de como se trabaja programando en alguna empresa o al menos con un grupo de gente.

Como dije antes, con un repositorio de versiones, (SVN, GIT) y si la empresa es muy primitiva o no tienen políticas así, pues por correos y así...

>> /#/ 10778 [X]
>>10577
Una razón podría ser una mala configuración del teclado como ya te dijeron (yo al ' lo tengo al lado del 0 con un teclado en español para latinoamerica) aunque si estas usando Linux tienes que saber que el "Alt + numero" no funciona, sino que para escribir caracteres especiales tienes que usar "Ctrl + Shift + u" y luego teclear alguno de los códigos que tienes en https://es.wikipedia.org/wiki/P%C3%A1gina_de_c%C3%B3digos_850 (en mi opinión es una forma bastante pendeja y engorrosa de hacer esto).

>> /#/ 10799 [X]
Negros,estoy planeando el aprender a manejar el lenguaje de computación LUA para poder usar el programa de creación de juegos LOVE2D, si bien es una meta básica y poco profunda quiero aprovechar mi tiempo como neet y ver si puedo crear un juego con ese lenguaje.
also
Me podrían recomendar libros y material de referencia para poder empezar con mi pequeño proyecto.
Cabe destacar que muy lamentablemente mis conocimientos de programación son nulos.

>> /#/ 10800 [X]
>>10799
Hola, estimado neet. Mi consulta es la siguiente: ¿quieres hacer un juego con love2d porque te gusta LUA, como objetivo de aprendizaje? O quieres hacer un juego y simplemente te decantaste por ese engine?

Te pregunto porque los de King (la empresa que hizo Candy Crush y otros tantos) hace un tiempo liberó y regala 100% completo y sin restricciones legales el engine de ellos que se llama Defold. Lo usé un rato y está bastante bueno. Hay varios tutoriales por ahí. Lo bueno es que defold hace deploy en muchos sistemas. Hasta html5.

>> /#/ 10808 [X]
148340391225.png [S] ( 38.49KB , 534x480 , code.png )
10808
>>10800
No lo sabia,supongo que debería echarle un ojo mas tarde,aunque para ser sincero nunca me han gustado los juegos para móviles tal vez porque me acostumbre a jugarlos en una computadora.
Elegí love2D por el hecho de que a siempre vista me pareció "sencillo",por supuesto quizá este equivocado ya que no tengo experiencia en este medio,si contesto tu pregunta seria la segunda opción.
de cualquier forma ¿crees que es una buena idea hacer un juego en LUA? tomando en cuenta que quiero hacer mas bien un juego de plataformas o algo como megaman o metroid, O ¿debería optar por otro lenguaje?

>> /#/ 10885 [X]
= 96

Vamo.

>> /#/ 10936 [X]
148355482559.jpg [S] ( 70.78KB , 955x427 , pic and web.jpg )
10936
Tengo la duda del titulo, para programar pic o microcontroladores en cuanto a electrónica se refiere cual es el mejor lenguaje el que aporta mas ventajas, he leido que c o lenguaje esamblador, pero soporta java u otros lenguajes de que depende eso? En cuanto a programación web he leido php, jsp y ruby pero siempre escucho quejas de php, cual sería el que más ventajas se refiere en cuanto a ser multiplataforma y potencia, ojala haya algún anon con experiencia que aporte su sabiduría.

>> /#/ 10937 [X]
>>10936
>Para programar pic o microcontroladores en cuanto a electrónica se refiere cual es el mejor lenguaje
Para programar microcontroladores tienes que usar SDCC http://sdcc.sourceforge.net/.
Si quieres programar un Arduino puedes usar https://www.arduino.cc/en/main/software
Si quieres programar SoC y otras placas similares a las RPi, puedes usar cualquier lenguaje que usas en un ordenador normal.

>> /#/ 10938 [X]
>>10936
Microchip tiene su propio copilador de C.

>En cuanto a programación web
Ruby es para hipters insufribles y creo que sólo existe un único framework, Rails. La versión 7 de PHP ha mejorado el lenguaje considerablemente en cuanto a seguridad, y performance, y es la opción más popular.
NO tengo idea de Java, pero lo odio. Existen ademas otras alternativas, una es Node.JS basado en JavaScript, y la otra es usar Python con algún framework como Django o Flask.
Todas esas opciones son multiplataforma, y han sido probadas, pero importa poco porque los requerimientos dependen de cada proyecto. Node y Java tienen la mejor performance (porque usan JIT supongo), PHP no está mal para hacer las cosas rápido y puedes usar un servidor compartido sin problemas, cosa que difícil usando las otras alternativas.

>> /#/ 10939 [X]
>>8748 (OP)

Hola OP, últimamente me esta cayendo mensajes de error en Ubuntu, que dice que dejo de funcionar... es algo molesto, porque siempre que estoy trabajando...

>> /#/ 10947 [X]
14835699818.png [S] ( 35.47KB , 655x428 , ProblemaPractico01.png )
10947
>>8748 (OP)
Tengo 120gb de información en texto plano en windows server 2012 con una cuenta de usuario...

Tengo que buscar dos renglones que se perdieron...

¿Como resolverían el problema?

Ademas me gustaría sacar unas estadísticas, como numero de mensajes por segundo(máximo, mínimo, promedio)...

Si necesitan mas información pregunten...

>> /#/ 10952 [X]
>>10947
Regex

>> /#/ 10955 [X]
>>10952
Si sirve, pero no es tan util, para encontrar la orden que falta es hacerlo por folio...

la regex solo la usaría para split de la cadena...

Ejemplo del texto

14:05:44.802|895422|folio_5372|8= 14:05:44.802|895423|folio_5372|8= 14:05:44.802|895424|folio_5372|8= 14:05:44.802|895425|folio_5372|8= 14:05:44.802|895426|folio_5372|8= 14:05:44.803|895427|folio_5372|8= 14:05:44.803|895428|folio_5372|8= 14:05:44.803|895429|folio_5372|8= 14:05:44.804|895430|folio_5372|8= 14:05:44.805|895431|folio_5372|8= 14:05:44.805|895432|folio_5372|8= 14:05:44.805|895433|folio_5372|8= 14:05:44.805|895434|folio_5372|8=


Entonces el texto lleva un contador, que en teoría es consecutivo, por lo cual debo debo de ir verificando que no existan saltos de secuencia...

Ahorita, estoy haciendo la estructura para procesar los archivos...

public class ProcesaArchivo {     private String fileName;     private int numeroLineas;     private boolean procesando = false;     private HashMap<String, HashMap<String, Integer>> hMensajesXSegundo = new HashMap<>();     private HashMap<String, Integer> maxMensajes;     private HashMap<String, Integer> minMensajes;     private HashMap<String, Integer> promedioMensajes;     private HashMap<String, List> hFoliosFaltanes = new HashMap<>();     private List<String> latencias;     private HashMap<String, Integer> maxLatencia;     private HashMap<String, Integer> minLatencia;     private HashMap<String, Integer> promedioLatencia;     public ProcesaArchivo(String fileName) {         this.fileName = fileName;     }     public void procesaPublicador() {         this.procesando = true;     }     public boolean existeArchivo() {         File f = new File(fileName);         return f.exists() && !f.isDirectory();     } }


>> /#/ 11071 [X]
148375396469.png [S] ( 272.35KB , 2726x768 , Estadisticas.png )
11071
>>10955
Bueno ya termine el programa, ya no le optimice el consumo de memoria (tengo mucha) pero bueno, lleva unos 40 minutos trabajando, y lo hice con hilos...

EL proceso lleva unas media hora trabajando...

>> /#/ 11072 [X]
148375426246.png [S] ( 24.70KB , 677x397 , AyyMiMemoria.png )
11072
>>11071
Kek, se fue a la mierda...

Necesito darle mas memoria...

>> /#/ 11079 [X]
148375877711.png [S] ( 237.35KB , 2726x768 , Estadisticas2.png )
11079
>>11072
En fin...
Deje la mierda de analizar de forma secuencial, que tarde lo que tenga que tardar...


Eliminar tu hilo/post:
 
Reportar un hilo/post: