Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - zagk

#1
Hola, buen día.

He leído que el internet inicialmente fue un proyecto con fines militares y toda esa cuestión, pero cuando sigo leyendo, tengo estas interrogantes.

Una de las primeras es por supuesto, se supone que a nosotros nos  distribuye el internet las ISP, ahora, ¿quién les da el internet a ellos para que ellos nos lo den a nosotros? y luego ¿quién les da el internet a esos que le dan internet a los ISP? Me imagino que tienen que haber unas empresas o una empresa en la punta de todo, que básicamente esa empresa es internet, me imagino que esa empresa no tiene límite de internet pues ella es internet...

Si una nueva empresa quisiera por ejemplo ser de esas que distribuyen el internet a los ISP, ¿qué hay que hacerse? ¿Habría que contactar a esa empresa que está en lo más alto del internet?

Tengo una super duda que la verdad no entiendo y es con respecto al uso de proxy: yo actualmente trabajo en una empresa que tiene sucursales en todo el mundo, se llama PwC (PricewaterhouseCoopers), ellos, aquí en la sede en mi país, tienen bloqueado páginas como Facebook y YouTube (la tienen bloqueada por el router), básicamente lo que he escuchado es que todas las peticiones que salen de todas las sedes en el mundo van a la sede central (en el Reino Unido) y luego devuelven la búsqueda... ¿Esto quiere decir que ellos tienen a todas las empresas unidas con cables de fibra óptica en donde el tráfico llega principalmente a los servidores de la sede central? Apreciaría que me aclararan la duda.

Por ejemplo, yo cuando hago una petición desde mi computadora hacia cierta página web, por ejemplo: Facebook, esta, como he oído, obligatoriamente pasa por el router y si este encuentra que la petición coincide con una de las que tiene bloqueada, devuelve un error a mi petición. Pero la cuestión ocurre cuando se usa algún proxy, ¿acaso la petición no pasa por el mismo router? ¿No debería bloquearla de todas maneras?, cabe acotar que hay algunas páginas, que ya sea con el uso de proxy o lo que sea no te deja entrar por que lo tienen bloqueada desde los servidores en la sede central (ojo, es lo que he oído); pero aquí, internamente, ¿por qué sucede eso al hacer uso de proxy? Igualmente apreciaría que me aclararan, si es posible, lo más explicado posible como funcionan las peticiones con/sin proxy. Por cierto yo entiendo eso de que el proxy es una computadora que hace la petición por ti, pero inicialmente cuando sale la petición de mi computadora hacia esa computadora para que haga la búsqueda, ¿no pasa primero por el router igual?

Muchas gracias, espero tener respuestas de ustedes, buen día.
#2
Hola a todos, la verdad es que estoy iniciando con MySQL, Python y ,más importante, estoy aún novato con la programación multi-hilos en python, tengo un gran problema que no sé cual es el error, he visto la descripción de los errores que genera python y a veces me suelta un error que me dice que se ha perdido la conexión, supongo que será porque hago muchas peticiones; y a veces me salta otro error que dice algo como que no pudo analizar la información de la tabla.

Aquí les dejo una foto de los 2 errores que me da el script:


Intenté solucionar lo anterior buscando a ver como se podía hacer que MySQL trabajara con distintos puertos, para asignarle a cada hilo un puerto pero no he conseguido nada.

De todas formas aquí les dejo el código, solo vean el contexto de como aplico el procesamiento multi-hilo, si pueden entenderlo, mejor, así me dicen en qué me equivoco. Por cierto, he verificado que todo está bien: los nombres de los campos y tablas coinciden correctamente, así que por ese lado no ocurre algún error.

Antiguamente cuando no utilizaba el multi-hilos (que tenía el código con menos funciones) todo iba a la perfección, los problemas llegaron con eso y supongo que estoy haciendo varias cosas mal de las que no me doy cuenta. Aquí se los dejo:

Código: python
# -*- coding: utf-8 -*-

import threading
import mysql.connector
import win32con
import sys, os
import struct
import time
from win32api import *
from win32gui import *
from mysql.connector import Error
from threading import Thread

cnx = mysql.connector.connect(host="localhost",
                              user="root",
                              password="1234",
                              database="gammu")
cnx2 = mysql.connector.connect(host="localhost",
                              user="root",
                              password="1234",
                              database="gammu")
cnx3 = mysql.connector.connect(host="localhost",
                              user="root",
                              password="1234",
                              database="gammu")

cursor = cnx.cursor()
cursor2 = cnx.cursor()
cursor3 = cnx.cursor()

global errKey
global errHash

class WindowsBalloonTip:
    def __init__(self, title, msg):
        message_map= {
            win32con.WM_DESTROY: self.OnDestroy,
        }

        wc = WNDCLASS()
        hinst = wc.hInstance = GetModuleHandle(None)
        wc.lpszClassName = "NotificationTaskR"
        wc.lpfnWndProc = message_map
        classAtom = RegisterClass(wc)

        style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
        self.hwnd = CreateWindow(classAtom, "Taskbar", style, 0, 0, \
                                 wind32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, \
                                 0, 0, hinst, None)
        UpdateWindw(self.hwnd)
        iconPathName = os.path.abspath(os.path.join(sys.path[0], 'balloontip.ico'))
        icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE
        try:
            hicon = LoadImage(hinst, iconPathName, win32con.IMAGE_ICON, 0,0, icon_flags)
        except:
            hicon = LoadIcon(0, win32con.IDI_APPLICATION)
        flags = NIF_ICON | NIF_MESSAGE | NIF_TIP
        nid = (self.hwnd, 0, flags, win32con.WM_USER+20, hicon, "New message received")
        Shell_NotifyIcon(NIM_ADD, nid)
        Shell_NotifyIcon(NIM_MODIFY, (self.hwnd, 0, NIF_INFO, win32con.WIM_USER+20, \
                                      hicon, "Balloon tooltip", msg, 200, title))

        time.sleep(3)
        DestroyWindow(self.hwnd)
        classAtom = UnregisterClass(classAtom, hinst)
    def OnDestroy(self, hwnd, msg, wparam, lparam):
        nid = (self.hwnd, 0)
        Shell_NotifyIcon(NIM_DELETE, nid)
        PostQuitMessage(0)

def balloon_tip(title, msg):
    w = WindowsBalloonTip(title, msg)

def newWh():
    while True:
        cnx.connect()
        lastRquery = ("select UpdatedInDB, AES_DECRYPT(TextDecoded, (select AES_DECRYPT(cryptkey, '373630303a3a3') from decryptkey)), "
                      "AES_DECRYPT(SenderNumber, (select AES_DECRYPT(cryptkey, '373630303a3a3') from decryptkey)), ID from inboxencrypt where "
                      "chck=0 order by UpdatedInDB asc limit 1")
        cursor.execute(lastRquery)
        regL = cursor.fetchall()
        if not regL:
            cnx.close()
            import time
            time.sleep(3)
            continue
        else:
            for row in regL:
                time = row[0]
                timeC = str(time)
                timeO = timeC[10:]
                message = row[1]
                telephone = row[2]
                toUR = row[3]
                lengM = len(message)
            smsDetect = message[27:]
            procMR = message.split()
            if procMR[0] == "\send":
                #Detect first command
                cnx.close()
                cnx.connect()
                queryAuth = ("SELECT privkey FROM transferauth WHERE "
                             "privkey=sha(%s)", procMR[1])
                cursor.execute(queryAuth)
                authStorage = cursor.fetchall()
                for row in authStorage:
                    key = authStorage[0]
                if procMR[1] == key:
                    #Detect authentication key
                    if procMR[2] == "\a":
                        #Detect command to send multiple messages to all contact list
                        print("Ok")
                    elif len(procMR[2]) == 13:
                        #Send message to specific contact
                        if telpComm[0] == "+" and telpComm [1:3] == "58":
                            #Verifying international code
                            telpComm == procMR[2]
                            if len(smsDetect) > 3:
                                #Verifying minimum message length
                                if smsDetect[-1] == '"' and smsDetect[0] == '"':
                                    #Verifying message format and sending message
                                    msgToSend = smsDetetct[1:-1]
                                    cnx.close()
                                    cnx.connect()
                                    sendQuerExt = ("insert into outbox(DestinationNumber, "
                                                   "TextDecoded, CreatorID) values "
                                                   "('%s','%s','PwC')" % (telpComm, msgToSend))
                                    cursor.execute(sendQuerExt)
                                    cnx.commit()
                                    cnx.close()
                                    #Reconnecting to database and ipdating message status
                                    cnx.connect()
                                    updateRquery = ("update inbox set chck=1 where "
                                                    "ID=%s" % toUR)
                                    cursor.execute(updateRquery)
                                    cnx.commit()
                                    cnx.close()
                                    #Wait for re-establish loop
                                    import time
                                    time.sleep(3)
                                    print("~~~Send message is required for: "+telephone)
                                    print("~~~Send message in required for: "+telpComm+"\n\n")
                                    continue
                                else:
                                    #Invalid message format => ERR_FORMATSMS_INVALID
                                    cnx.connect()
                                    srcErrorSource = ("select errordesc, hexcode from transfererrors "
                                                      "where cause='ERR_FORMATSMS_INVALID'")
                                    cursor.execute(srcErrorSource)
                                    errStorageA = cursor.fetchall()
                                    for row in errStorageA:
                                        errKey = row[0]
                                        errHash = row[1]
                                        cnx.close()
                                    cnx.connect()
                                    recQueryErrorNumb = ("insert into outbox(Text, DestinationNumber, "
                                                         "TextDecoded, CreatorID) values "
                                                         "('%s','%s','%s','PwC')" % (errHash, telephone, errKey))
                                    cursor.execute(recQueryErrorNumb)
                                    cnx.commit()
                                    cnx.close()
                                    #Reconnecting to database and updating message status
                                    cnx.connect()
                                    updateRquery = ("update inbox set chck=1 where "
                                                    "ID=%s" % toUR)
                                    cursor.execute(updateRquery)
                                    cnx.commit()
                                    cnx.close()
                                    #Wait for re-establish loop
                                    import time
                                    time.sleep(3)
                                    continue
                            else:
                                #Minimum message length required => ERR_LENGTHSMS_INVALID
                                srcErrorSource = ("select errordesc, hexcode from transferrors "
                                                      "where cause='ERR_LENGTH_INVALID'")
                                cursor.execute(srcErrorSource)
                                errStorageA = cursor.fetchall()
                                for row in errStorageA:
                                    errKey = row[0]
                                    errHash = row[1]
                                    cnx.close()
                                cnx.connect()
                                recQueryErrorNumb = ("insert into outbox(Text, DestinationNumber, "
                                                         "TextDecoded, CreatorID) values "
                                                         "('%s','%s','%s','PwC')" % (errHash, telephone, errKey))
                                cursor.execute(recQueryErrorNumb)
                                cnx.commit()
                                cnx.close()
                                #Reconnecting to database and updating message status
                                cnx.connect()
                                updateRquery = ("update inbox set chck=1 where "
                                                    "ID=%s" % toUR)
                                cursor.execute(updateRquery)
                                cnx.commit()
                                cnx.close()
                                #Wait for re-establish loop
                                import time
                                time.sleep(3)
                                continue
                        else:
                            #Wrong international telephone format => ERR_FORMATNUMBER_INVALID
                            srcErrorSource = ("select errordesc, hexcode from transfererrors "
                                              "where cause='ERR_FORMATNUMBER_INVALID'")
                            cursor.execute(srcErrorSource)
                            errStorageA = cursor.fetchall()
                            for row in errStorageA:
                                errKey = row[0]
                                errHash = row[1]
                            cnx.connect()
                            recQueryErrorNumb = ("insert into outbox(Text, DestinationNumber, "
                                                 "TextDecoded, CreatorID) values "
                                                 "('%s','%s','%s','PwC')" % (errHash, telephone, errKey))
                            cursor.execute(recQueryErrorNumb)
                            cnx.commit()
                            cnx.close()
                            #Reconnecting to database and updating message status
                            cnx.connect()
                            updateRquery = ("update inbox set chck=1 where "
                                            "ID=%s" % toUR)
                            cursor.execute(updateRquery)
                            cnx.commit()
                            cnx.close()
                            #Wait for re-establish loop
                            import time
                            time.sleep(3)
                            continue
                    else:
                        #Unknown message or command => ERR_TLPNUMBER_INVALID
                        srcErrorSource = ("select errordesc, hexcode from transfererrors "
                                                      "where cause='ERR_TLPNUMBER_INVALID'")
                        cursor.execute(srcErrorSource)
                        errStorageA = cursor.fetchall()
                        for row in errStorageA:
                            errKey = row[0]
                            errHash = row[1]
                            cnx.close()
                        cnx.connect()
                        recQueryErrorNumb = ("insert into outbox(Text, DestinationNumber, "
                                                         "TextDecoded, CreatorID) values "
                                                         "('%s','%s','%s','PwC')" % (errHash, telephone, errKey))
                        cursor.execute(recQueryErrorNumb)
                        cnx.commit()
                        cnx.close()
                        #Reconnecting to database and updating message status
                        cnx.connect()
                        updateRquery = ("update inbox set chck=1 where "
                                                    "ID=%s" % toUR)
                        cursor.execute(updateRquery)
                        cnx.commit()
                        cnx.close()
                        #Wait for re-establish loop
                        import time
                        time.sleep()
                        continue
                else:
                    #Authetication error, wron key => ERR_AUTHKEY_INVALID
                    srcErrorSource = ("select errordesc, hexcode from transfererrors "
                                                      "where cause='ERR_AUTHKEY_INVALID'")
                    cursor.execute(srcErrorSource)
                    errStorageA = cursor.fetchall()
                    for row in errStorageA:
                        errKey = row[0]
                        errHash = row[1]
                        cnx.close()
                    cnx.connect()
                    recQueryErrorNumb = ("insert into outbox(Text, DestinationNumber, "
                                                         "TextDecoded, CreatorID) values "
                                                         "('%s','%s','%s','PwC')" % (errHash, telephone, errKey))
                    cursor.execute(recQueryErrorNumb)
                    cnx.commit()
                    cnx.close()
                    #Reconnecting to database and updating message status
                    cnx.connect()
                    recQueryErrorNumb = ("update inbox set chck=1 where "
                                                         "ID=%s" % toUR)
                    cursor.execute(updateRquery)
                    cnx.commit()
                    cnx.close()
                    #Wait for re-establish loop
                    import time
                    time.sleep()
                    continue
            else:
                print("|| "+telephone+"\t\t"+timeO)
                print("|| "+message+"\n\n")
                balloon_tip("Mensaje recibido",message+"\nDe: "+telephone+"\t"+timeO)
                file = open("smscenter.log","a")
                file.write("Message was received at: "+timeO+"\n")
                file.write("----------------------------------------\n")
                file.write("|| "+telephone+"\n")
                file.write("|| "+message.encode("utf8")+"\n")
                file.write("-----Length of sms: "+str(lengM)+"\n")
                file.write("-----Recognize: \n\n\n")
                file.close()
                cnx.close()
                cnx.connect()
                updateRquery = ("update inbox set chck=1 where ID=%s" % toUR)
                cursor.execute(updateRquery)
                cnx.commit()
                cnx.close()
                import time
                time.sleep(3)
                continue           

def readWh():
    while True:
        cnx2.connect()
        lastRquery2 = ("select UpdatedInDB, TextDecoded, SenderNumber, ID from inbox where "
                       "chck=0 order by UpdatedInDB asc limit 1")
        cursor2.execute(lastRquery2)
        regL2 = cursor2.fetchall()
        if not regL2:
            cnx2.close()
            cnx2.connect()
            queryTrunc = ("delete from inbox where chck=1")
            cursor2.execute(queryTrunc)
            cnx2.commit()
            cnx2.close()
            import time
            time.sleep(3)
            continue
        else:
            for row in regL2:
                timeReceived = row[0]
                timeReceivedC = str(timeReceived)
                timeReceivedO = timeReceivedC[10:]
                messageRec = row[1]
                telephoneRec = row[2]
                idRec = row[3]
                cnx2.close()
            print("Hola menor")
            cnx2.connect()
            queryA = ("insert into inboxencrypt(id, UpdatedInDB, TextDecoded, SenderNumber) "
                      "values (%s, %s, AES_ENCRYPT('%s', (select AES_DECRYPT(cryptkey, '373630303a3a3') from decrypkey)), "
                      "AES_ENCRYPT('%s', (select AES_DECRYPT(cryptkey, '373630303a3a3') from decrypkey)))")
            cursor2.execute(queryA)
            cnx2.commit()
            cnx2.close()
            #Drop message
            cnx2.connect()
            queryB = ("update inbox set chck=1 where "
                      "ID=%s" % idRec)
            cursor2.execute(queryB)
            cnx2.commit()
            cnx2.close()
            cnx2.connect()
            queryC = ("delete from inbox where chck=1")
            cursor2.execute(queryC)
            cnx2.commit()
            cnx2.close()
            continue

def sentWh():
    while True:
        cnx3.connect()
        lastRquery3 = ("select UpdatedInDB, InsertIntoDB, SendingDateTime, DestinationNumber, "
                       "TextDecoded, ID, Status, CreatorID from sentitems where chck=0 order by UpdatedInDB asc limit 1")
        cursor3.execute(lastRquery3)
        regL3= cursor3.fetchall()
        if not regLr:
            cnx3.close()
            cnx3.connect()
            queryTrunc1 = ("delete from sentitems where chck=1")
            cursor3.execute(queryTrunc1)
            cnx3.commit()
            cnx3.close()
            import time
            time.sleep(3)
            print("Hola menor")
            continue
        else:
            for row in regL3:
                timeUpdated = row[0]
                timeInsert = row[1]
                timeSent = row[2]
                telephoneSent = row[3]
                messageSent = row[4]
                idSent = row[5]
                status = row[6]
                creator = row[7]
                cnx3.close()
            cnx3.connect()
            print("Hola menor")
            queryD = ("insert into sentencrypt(id, UpdatedInDB, InsertIntoDB, SendingDateTime, "
                      "DestinationNumber, TextDecoded, Status, CreatorID) values "
                      "(%s, '%s', '%s', '%s', "
                      "AES_ENCRYPT('%s', (select AES_DECRYPT(cryptkey, '373630303a3a3') from decrypkey)), "
                      "AES_ENCRYPT('%s', (select AES_DECRYPT(cryptkey, '373630303a3a3') from decrypkey)), "
                      "'%s', AES_ENCRYPT('%s', (select AES_DECRYPT(cryptkey, '373630303a3a3') from decrypkey)))"
                      % (idSent, timeUpdated, timeInsert, timeSent, telephoneSent, messageSent, status, creator))
            cursor3.execute(queryD)
            cnx3.commit()
            cnx3.close()
            #Drop message
            cnx3.connect()
            queryZ = ("update sentitems set chck=1 where "
                      "ID=%s" % idSent)
            cursor3.execute(queryZ)
            cnx3.commit()
            cnx3.close()
            cnx3.connect()
            queryE = ("delete from sentitems where chck=1")
            cursor.execute(queryE)
            cnx3.commit()
            cnx3.close()
            import time
            time.sleep(3)
            continue


if __name__ == '__main__':
    print("Be sure you have Windows pop-ups notifications enabled.\n\n")
    print("SMS Center will show pop-ups notifications when message is being received."
          "\nThis window need to be open at anytime.")
    Thread(target = newWh).start()
    Thread(target = readWh).start()
    Thread(target = sentWh).start()
#3
Hola, buen día. Tengo una interrogante con respecto a MySQL:

Actualmente estoy programando un Centro de Mensajería usando una librería externa y python. El problema radica en lo siguiente: la librería externa hace uso del módem y la base de datos, cada mensaje que recibe el módem, la librería lo procesa y lo envía a la base de datos automáticamente (la tabla llamado inbox, específicamente), ese es un servicio que se está ejecutando constantemente para detectar alguna recepción y guardarla automáticamente; ahora en python (al mismo tiempo que se ejecuta el servicio que os he dicho) se ejecuta un script que es un bucle que está leyendo la tabla inbox constantemente en busca de alguna actualización de la tabla (es decir, cuando llegue un mensaje nuevo) y cuando la tabla se actualiza (o debería), que llega un mensaje nuevo, lanza una notificación que se muestra en Windows, el ciclo en python es infinito (while True) por lo que nunca se detiene de leer la tabla inbox.

Cuando inicio ambos, funciona la recepción, almacenamiento y notificación perfectamente, pero una vez que han transcurrido 5 o 10 minutos pareciera que todo deja de funcionar aunque ninguno de los 2 muestra error; el módem no recibe mensajes, tampoco envía (también tengo una monitor que me muestra datos sobre el módem, tales como la señal, etc, este tampoco se actualiza).

Quisiera poder resolver esto, pero no sé lo que está sucediendo, pareciera que no permitiera tantas peticiones a la tabla (quizás por el bucle del script en python) o es que se le cae el servicio al módem.

¿Alguna idea sobre cómo solucionar este problema?
#4
Hace poco tiempo vengo trabajando en inteligencia artificial aplicando un poco de machine learning en python, el problema surge cuando por ejemplo le enseño ciertos patrones de cualquier cosa y lo guardo en un arreglo o diccionario. Obviamente todo esto se pierde cuando me salgo del programa, ahora aquí va mi pregunta:

¿Para los trabajos de inteligencia artificial actualmente también se usan bases de datos como el cerebro de la inteligencia artificial (es decir, donde se guarda todo sus aprendizajes, patrones, etc) o simplemente lo hacen almacenando datos en la memoria (arreglos, variables)?

Entonces por ejemplo, si es así (que usan bases de datos) ¿utilizan tales como MySQL, MongoDB, Cassandra, etc, o un tipo diferente de base de datos?

Entonces me imagino que si utilizan base de datos utilizarán muchas tablas o colecciones, y muchos registros, índices, etc, ¿verdad?

Agradezco su respuesta a esta duda, buen día.
#5
¿Cuál es la diferencia entre envío de mensajes más rápidamente entre un módem usb movistar(sin antena) y un teléfono? ¿Quién envía los mensajes más rápido? ¿Cuántos es lo máximo que cada uno pueden enviar por minuto?

¿Un módem puede trabajar con multi-hilos, es decir, enviar mensajes al mismo tiempo y no que se envíen uno detrás de otro o así es que se envían los mensajes por defecto?
#6
Hola, buenas tardes. Perdón si he publicado este tema en el foro equivocado, no estaba seguro si publicarlo en el de Redes porque es una simple pregunta.

¿Qué significa en los módems, antenas, teléfonos este tipo de conexión? Yo he oído acerca de la frecuencia que es 900MHZ por ejemplo, pero esta conexión at, at19200 y at115200, ¿qué hay de diferencia en ellas? ¿Qué significa cada una?

Agradezco sus respuesta.
#7
¿En cuál sección puedo publicar un aporte sobre envío de mensajes a través de un módem? ¿Redes y antenas, Windows, Manuales y libros o en Dudas generales? Este aporte no tiene un lenguaje de programación en sí.
#8
Bueno, en realidad me referia a que de el route conecto un cable al conmutadora (que aqui se conoce generalmente como switch) y este tiene 8 puertos, donde conectaba las 2 computadoras.

Solo estoy al tanto que mi ISP me provee internet por ADSL y, no se si importe, pero ambas toman una IP diferente al conectarse al switch.

El problema, como te digo, llego cuando obtuve la tercera computadora que conecte al switch, nunca reconocio la IP y se quedaba con el triangulo amarillo y hacia que las otras computadoras tampoco reconocieran la direccion IP. La unica forma de que la tercera computadora se conecte a internet es por medio del cable directamente del router (desconectando las otras 2 computadoras).

?Me podrias dar alguna guia sobre que podria hacer mas o menos? Te lo agradeceria.
#9
Hola, buen dia.

Tengo un problema, y es el siguiente:

Resulta que en mi oficina tenia 2 computadoras a las que conectaba a internet mediante un conmutador que obviamente tenia una conexion a un router, todo estaba normal hasta que compre una tercera computadora, cuando la conecto a uno de los puertos del conmutador, se queda reconociendo la ip (en el simbolo en Windows sale con el triangulo amarillo) y entonces asi tambien se colocan las otras 2 computadoras, pero cuando desconecto la nueva las otras 2 se arreglan, la unica forma de que la nueva se conecte a internet es tomando directamente la conexion desde el router.

He intentado un monton de veces reiniciando el router, desconectando, cambiando la posicion de los cables. He colocado los comandos ipconfig /release e ipconfig /renew pero aun nada.

?Que creen que sucede alli, hay alguna manera de solucionar ese problema?


Perdon por no usar las tildes y reglas ortograficas, es que no poseo metodo de entrada en espanol.
#10
Excelente amigo, gracias por la colaboración, te agradezco un montón.
#11
¿Como es que hacen paginas como tutorialspoint, w3school o codecademy para subir una especie de interprete (una terminal, consola) para los lenguajes, que traduzca según los codigos que se escriban de acuerdo al lenguaje que sea, en la misma pagina web? ¿Hay que hacerlo en algún lenguaje en especifico? ¿Es muy difícil recrear ese ambiente de consola o terminal en un pagina web para que interprete los comando de algún lenguaje en especifico?
#12
Exacto, eso mismo, utilizo un gateway sms, pero aun asi envia los mensajes así como lo dije previamente, ¿crees que sea un problema de señal o como tu te refieres, que ya de por si el modem viene limitado?
#13
Hola amigos, buenas tardes. Tengo una duda con respecto a un Modem 3G Movistar:

He hecho un pequeño programa con una librería que me permite enviar y recibir mensajes, la cuestión es que en la empresa donde me lo estan pidiendo, pretenden enviar cerca de 50 mensajes en 1-2 minutos (un mensajes para cada persona de un evento), pero he hecho pruebas y el módem envía 1 solo mensaje (desde que se envía el comando de envío hasta que llega al destinatario) entre 4 - 8 segundos y con eso tiempo promedio se tardaria en enviar 50 mensajes alrededor de 6 minutos y un poco mas, he probado incluir la señal y me marca entre 45 - 71 en la escala de senal, no se realmente si es la senal, el modem o el programa que he hecho que hace que los mensajes se envien tan lentamente.

Ademas tambien tengo un problema que cuando se envien y se reciben mensajes al mismo el modem como que se queda estatico y no recibe ni envia, pareciera que la senal se cortara y todos los mensajes, tanto de envio como de recepcion se quedaran en cola, ¿me podrian dar alguna sugerencia sobre que es lo que ocurre?
#14
Vale, te agradezco haberme aclarado algunas dudas. Estaba poniendo más o menos un ejemplo para ver si podían explicarme como es que se armaba unos servidores a nivel LAN exactamente (funcionamiento interno), yo aún no manejo mucho de esa información, por eso me refería.

Y con respecto a lo de las velocidades de internet, por ejemplo, aquí en mi país lo máximo que ofrecen serán 50 mbps, y para el proyecto que doy ejemplo se necesita al menos 200.000 - 500.000 mb entre subida y bajada, ¿allí tendría que hablar con empresas como AT&T o Google, o implementar la fibra óptica, no sé? Yo he oído que el mundo está conectado gracias y miles de kilómetros de cables de fibra óptica, pero aún no me aclara la duda del todo.

#15
Hola, amigos, buenas tardes.

Hace un tiempo para acá tengo ciertas dudas con respecto a lo que mencioné en el título de esta publicación, ya he publicado antes que estoy en una empresa que está desarrollando una aplicación web, etc, etc. Pero, yo solo me encargo de la parte de lo que es programación, nada de infraestructura, aunque esto no quiere decir que yo me limite a aprender tales cosas, por ende publico esto a ver si pueden aclararme algunas dudas.

1. Supongamos que yo acabo de comprar un servidor físico, o varios, digamos unos cinco; he comprado los conmutadores, cables rj45 y routers, y tengo 3 computadoras personales y/o monitores... ¿cómo es que tengo que armar todo para que yo pueda comunicarme entre cada servidor a nivel interno? ¿Me podría decir o narrar mas o menos como es el proceso para armar todo eso?

2. He oído que los cables rj45 y los conmutadores solo pueden transferir una cantidad límite de datos (10/100/1000 megabytes creo), ¿acaso no existen de más capacidad o también las grandes empresas usan esos?

3. Con esto mismo de la empresa y la aplicación web que se estaba montando, me dijeron que se necesitaba, para la cantidad de usuarios que iba a manejar (la aplicación es sobre videos streaming) aproximadamente 50000 - 100000 usuarios diarios se necesitaba una gran cantidad de velocidad de internet, recuerdo que me dijeron entre 300.000 mb  y 500.000 mb entre subida y bajada, ¿cómo es que hago yo para conseguir un contrato o no sé cómo se haga, de esa capacidad? Por ejemplo, y siempre me he preguntado, ¿quién o quienes le proveen el internet a aplicaciones como YouTube, Twitch, etc? Podrían explicarme más o menos como es que es eso. Yo he oído que hay empresas como AT&T que son las que manejan todo eso (están el Tier 1 del internet), pero aún no entiendo muy bien eso, les agradecería un montón.



Espero puedan aclararme todas las preguntas, si me equivoco en algo, díganmelo, siempre es bueno aprender algo nuevo. Gracias y buen día.
#16
Si, claro por supuesto la infraestructura en servidores si la poseemos.

Entonces, ¿crees que cualquiera de los 2 lenguajes: Go o Django, o incluso usar los 2, estaría bien para la magnitud de la aplicación?
#17
Hola a todos, buenas tardes, tengo una duda, de hecho una gran duda.

Estoy por desarrollar una aplicación web, de alto tráfico: la aplicación trata literalmente de que alrededor de 50.000 personas graben videos en directo, ya sea desde su móvil android, iOS, winPhone o PC (se hará una aplicación para cada una de estas plataformas) y estos puedan ser visualizados por cualquier persona en directo, desde su teléfono o computadora, pudiendo tener a 100.000 personas visualizando una emisión, etc. Algo así es la aplicación que se está por desarrollar en mi empresa.

Con esto, he pensado incluir los siguientes lenguajes o frameworks: Java para Android, Swift para iOS, para front-end obviamente html, css, jvscript, pero para el back-end no estoy muy seguro de cual soporta un tráfico de esa magnitud o procesar todo ese tipo de información, por lo que estoy decidiendo entre Go y Django, tengo un equipo dispuesto a invertir tiempo en cualquier lenguaje desconocido para implementar esta aplicación, pero no estoy definido por cualquier o.. en que sectores de la aplicación puedo implementar cada uno.

¿Que opinan de los lenguajes/frameworks que he mencionado en comparación con esta aplicación? ¿Cómo ven el desempeño de cada uno de ellos? ¿Qué lenguajes me recomiendan incluir en la aplicación? ¿Cómo y en que lado, sector puedo explotar al máximo cada lenguaje?

Por cierto, tenemos definido al gestor de base de datos a MongoDB.

Espero puedan ayudarme, díganme o sugieranme en qué usar cada lenguaje, en qué se le puede sacar provecho a cada uno de ellos, para qué sirve uno que otro no, etc, etc.

Gracias y espero que puedan ayudarme.
#18
Hola, chicos del foro. Buenos días.

Tengo algunas preguntas que verdaderamente quisieran que me respondieran, no he encontrado información acerca de ello, por lo que aquí las publico para ver si pueden responder las que sepan, o aclararme, al menos, un poco la duda. Aquí van (estas no son todas las preguntas, es que por ahora no recuerdo las demás):

1. No sé si es en el proceso de fabricación (que supongo que es allí), qué es lo que hace; qué material o las dimensiones, no sé; qué es lo que hace que una memoria RAM o una unidad USB sea solo de 2 GB o de 4 GB o de 32 GB, ¿qué es aquello que lo limita? Supongo que tiene que haber algo que limite la capacidad, quizás sea usar más un material en el proceso de fabricación u otra cosa, pero ¿qué es?

2. Cuando se escribe un sistema operativo (supongo que esta pregunta va para personas más experimentadas) que es lo primero (en específico) que se empieza escribiendo, ¿acerca de qué?, o sea, porque uno puede decir: "tienes que escribir el bootloader o el kernel", pero esas son ideas muy generales, me imagino que uno sigue más o menos un patrón al momento de escribir un bootloader o un kernel, ¿qué es lo primero o lo esencial que se empieza escribiendo al momento de realizar un sistema operativo?

3. No sé si han oído acerca de la máquina Watson de IBM (pura inteligencia artificial), dicen que los que lo hicieron (el grupo que trabajo en eso de IBM) almacenaron toda la información en la memoria RAM porque tenían que tener un acceso mucho más veloz a la información (y hasta ahora lo mantienen así), ¿eso quiere decir que hacen funcionar a la memoria RAM como un disco duro? ¿Es muy difícil hacer eso llevándolo a la programación (en el caso de que yo quisiera hacerlo y contara con un número amplio de memorias RAM y procesadores) en bajo nivel, que si en el lenguaje C o Ensamblador?

4. Esta pregunta la verdad me ha tenido pensativo hace tiempo, ¿como es que hacían en lo tiempos cuando no habían unidades USB, saben cuando las empresas terminaban de fabricar los procesadores, ya ahí todos sabemos que pueden reconocer entre sí o no, etc, etc, pero, cómo es que hacían para introducirle el código fuente de un sistema operativo (UNIX por ejemplo) sin tener ninguna interfaz para escribirlo, me imagino que antes de crear un editor de texto tuvieron que escribirlo para que el procesador lo creara en una interfaz y así pudiera programar desde ahí, pero como hicieron para crear eso antes? ¿Como le introducían el código fuente al procesador sin ninguna interfaz que te permitiera escribirlo como ahora, sin tener IDE ni nada?


Espero que me puedan aclarar algunas de estas preguntas que tengo, por ahora no recuerdo las demás pero estoy seguro de que las recordaré, muchas gracias y buen día.
#19
Hola, muy buenas tardes a todos ustedes, tengo una duda:

Ya yo estoy por empezar la universidad pero aún no estoy seguro si finalmente entrar a estudiar ingeniería en sistema (o infomática) o quedarme sin estudiar (por mi cuenta) y aprender por mi mismo todo lo que a ello respecta (lenguajes y todo eso), ¿creen que es buena idea? Saben, porque he oído mucho ingenieros informáticos que se gradúan y saben menos que de aquellos que nunca estudiaron esa carrera, entonces si es por ese punto lo considero una pérdida de tiempo, ¿no creen que se pudiera aprender más por cuenta de uno mismo? Por favor quisiera oír las opiniones de ustedes, es que aún no estoy seguro, y no es por la cuestión de obtener el título para que te acepten en una empresa, yo no quiero eso, yo quiero hacer la empresa con mis conocimientos sin importar por ahora un título, es que de todas formas no estoy seguro.
#20
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Imaginate que le queres competir a google. Agarremos de ejemplo chrome. Como es de codigo cerrado, miremos chromium, que es solo una parte: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Tiene 16 millones de lineas de código. Escritas por 5400 personas, de las cuales 1712 participaron el el último año.

Me atrevo a decir que si estás preguntando esto no estás al nivel de la gente que tiene google. Tampoco tenes plata para tener muchisima gente programando para vos 40 horas por semana. Como harias para competir con eso?

Exacto, puede que tengas razón, pero yo me imagino que es proyecto comenzó por una idea y a medida que se fue tomando experiencia, también se fue conociendo gente y así es que el proyecto es lo que es ahora, creo que es cuestión de iniciativa, el dinero va llegando con el tiempo, no sé solo es mi opinión y respeto la tuya porque tiene mucha lógica en realidad, pero bueno es cuestión de solo pensar y saber lo que se quiere y la iniciativa como dijo el amigo en los comentarios arriba.