Descargar archivos ({{ 2 }})
Version 0.2.5
{{{"Negros estoy haciendo una api rest con Laravel por los loles, ya sé que es un overkill y que existe lumen, y go rest apis, etc, solo lo uso por los loles.\n\nel problema es que de vez en cuando el json que envío como response está corrupto, lo cual jode mi react app a la hora del parseo. No crashea todo porque en el frontend use error boundaries, pero no muestra data. Y ese error solo pasa 1 de cada 10 veces en promedio, ¿puede deberse a falta de memoria ram? estoy programando en una pc con 1.5g y no se si el servidor está enviando esos json corruptos por falta de recursos." | renderPostMessage 55717}}}
>> | {{{">>55717 (OP)\n¿Corruptos en que sentido? ¿El parseo del json sale bien? ¿No será que en algunos casos el json que formas tiene el formato mal? A mi me pasaba mucho que venían con bits que no debían estar, o no usaba strings, checa todo eso y si no pues ya no sé kek." | renderPostMessage 55719}}} |
>> | {{{">>55717 (OP)\nUsa, el sistema de PHP nativo para JSON y prueba en tu envio de datos, si laravel tiene errores o prueba haciendo todo en PHP nativo por si tiene un error." | renderPostMessage 55720}}} |
>> | 157973659655.jpg [Google] [ImgOps] [iqdb] [SauceNAO] ( 324.37KB, 1242x2208, 1576361539628.jpg ) {{{">>55719\n\n>¿Corruptos en que sentido? ¿El parseo del json sale bien? ¿No será que en algunos casos el json que formas tiene el formato mal?\n\nUn ejemplo, estoy registrando varias copias (pueden haber varias copias de un mismo libro) en el sistema. Establecí las relaciones y todo va perfecto, quiero hacer uso de dichas herramientas así que tengo que jugar un poco para conseguir el resultado que deseo en el frontend.\n\n[code]\npublic function getCopias() {\n $copias = Copia::all();\n $copiasConTitulos = $copias->map(function($copia){\n return [\n 'id' => $copia->id,\n 'cota' => $copia->cota,\n 'libro' => [\n 'id' => $copia->libro_id,\n 'titulo' => $copia->libro()->first()->titulo\n ],\n 'estado_id' => $copia->estado_id \n ];\n });\n return response()->json($copiasConTitulos);\n }\n[/code];Como dije, cada tanto mi frontend no muestra nada, hice debugg y encontraba esto:\n\n[code]\nSyntaxError: JSON.parse: expected ',' or '] at #inserteColumnaAqui\n[/code]\n\nEs raro, a veces funciona perfectamente y otras veces simplemente me tira dicho error sin haber cambiado nada en la db o en el servidor, a veces variando la posición de la columna donde se corrompe. Por eso pensé en que era algo relacionado a los recursos o algo parecido, porque tengo vscode abierto y el servidor corriendo, me llega a 80% de uso de ram.\n\n>>55720\n\n¿te refieres a tirar laravel por la ventana y hacer todo vía php vainilla? se PHP y puedo hacerlo sin problemas, pero el punto de usar Laravel era evitar precisamente hacer todo eso a pie." | renderPostMessage 55722}}} |
>> | {{{"Ya no te había respondido ? Que revisaras como generabas el JSON porque iban datos undefined o vacíos.Aldo si es muy grande podrías subir el [i]memory_limit[/i] a [i]256M[/i] pero si es una tostadora será igual \n\n>Configuración en php.ini\nSi estás enviando Un JSON muy grande considera dividirlo con otra lógica \n\nPodrías tocar \n\nupload_max_filesize = XXM\npost_max_size = XXM\n\nPara ver si aumentando sin embargo si no lleva esa magnitud de tamaño el JSON no sirve de nada modificarlo\n\nEn el mejor de los casos deberías ir destruyendo todo después de servir el JSON con [i]unset[/i] o más profesionalemente hablando crear un destructor de objetos.\n\nOtra cosa que puedes hacer es mandarte un análisis probando dónde sirves el JSON con memprof y google-perftools para ver los vaciados de memoria y analizar dónde se está rompiendo tu script o donde está el cuello de botella.\n\nY si no entiendes bien lo que te escribí no, repito NO lo saques a producción ni siquiera se lo enseñes a un cliente para testing porque o estructuras te ese JSON como simio con síndrome de down o el bucle de generación del JSON es loop dentro de loop dentro de loop y tendrías que cambiarlo a una función recursiva mejor." | renderPostMessage 55724}}} |
>> | {{{"Acabo de replicar un error, después de 8 intentos:\n\n[code]\nSyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data\n[/code]\n\nContenido de la respuesta:\n\n[code]\nie O'Kee\",\"libro\":{\"id\":2,\"titulo\":\"Kristoffer Adams\"},\"estado_id\":1},{\"id\":18,\"cota\":\"Blake Lang\",\"libro\":{\"id\":4,\"titulo\":\"Carey Hauck\"},\"estado_id\":1},{\"id\":19,\"cota\":\"Arely J\",\"libro\":{\"id\":13,\"titulo\":\"Neal Marks\"},\"estado_id\":1},{\"id\":20,\"cota\":\"Deion McD\",\"libro\":{\"id\":1,\"titulo\":\"Miss Nyah\"},\"estado_id\":4},{\"id\":21,\"cota\":\"Lloyd Marks\",\"libro\":{\"id\":2,\"titulo\":\"Kristoffer Adams\"},\"estado_id\":3},{\"id\":22,\"cota\":\"Haylie Heidenreich\",\"libro\":{\"id\":3,\"titulo\":\"Prof. Melvina Reinger\"},\"estado_id\":2},{\"id\":23,\"cota\":\"Dr. Bonnie Von\",\"libro\":{\"id\":4,\"titulo\":\"Carey Hauck\"},\"estado_id\":5},{\"id\":24,\"cota\":\"Trycia Par\",\"libro\":{\"id\":11,\"titulo\":\"Bartholome Hackett\"},\"estado_id\":5},{\"id\":25,\"cota\":\"Noe Murphy\",\"libro\":{\"id\":2,\"titulo\":\"Kristoffer Adams\"},\"estado_id\":4},{\"id\":26,\"cota\":\"Prof. Yesse\",\"libro\":{\"id\":11,\"titulo\":\"Bartholome Hackett\"},\"estado_id\":2},{\"id\":27,\"cota\":\"Nicolette O\",\"libro\":{\"id\":13,\"titulo\":\"Neal Marks\"},\"estado_id\":5},{\"id\":28,\"cota\":\"Ms. Matilde Qu\",\"libro\":{\"id\":1,\"titulo\":\"Miss Nyah\"},\"estado_id\":1},{\"id\":29,\"cota\":\"Dr. Bi\",\"libro\":{\"id\":7,\"titulo\":\"Aletha Orn\"},\"estado_id\":3},{\"id\":30,\"cota\":\"Luz Keeb\",\"libro\":{\"id\":7,\"titulo\":\"Aletha Orn\"},\"estado_id\":2}...]\n[/code]\n\nOtro error, después de intentos:\n\n[code]\nSyntaxError: JSON.parse: expected ',' or ']' after array element at line 1 column 1475 of the JSON data\n[/code]" | renderPostMessage 55725}}} |
>> | {{{">>55722\nPuede que sea que generes un JSON muy grande, que un parte lo rompas o la request quede capada por tamaño o algun limite de tiempo.\n\nLo normal para poder testear algo nuevo, es replicarlo en algo que sepas que no fallara o solo pueda fallar por cosas que tu sepas.\n\nDe tu ultima respuesta parece que rompe el JSON antes de terminarlo." | renderPostMessage 55726}}} |
>> | {{{">>55724\n>Ya no te había respondido ? Que revisaras como generabas el JSON porque iban datos undefined o vacíos.\n\nkek no negro es mi primera vez en /t/.\n\n>Aldo si es muy grande podrías subir el memory_limit a 256M pero si es una tostadora será igual\n\n>Si estás enviando Un JSON muy grande considera dividirlo con otra lógica\n\nAnotado y btw el resultado final es un JSON de 10,65kb ¿será mucho? no tengo npi de con que compararlo.\n\n>Otra cosa que puedes hacer es mandarte un análisis probando dónde sirves el JSON con memprof y google-perftools para ver los vaciados de memoria y analizar dónde se está rompiendo tu script o donde está el cuello de botella. \n\nEso estoy aprendiendo, nunca había usado memprof ni ningún tipo de devtools antes, sin embargo ahí voy, lo que me frustra es que no hay un patrón en donde se corrompe, puede corromperse en la primeras columnas añadiendo un texto extraño, como puede que le falte una ',' o un ']' en la 1400.\n\n>Y si no entiendes bien lo que te escribí no, repito NO lo saques a producción ni siquiera se lo enseñes a un cliente para testing porque o estructuras te ese JSON como simio con síndrome de down o el bucle de generación del JSON es loop dentro de loop dentro de loop y tendrías que cambiarlo a una función recursiva mejor.\n\nEs funcional en 9/10 ocasiones pero ni en drogas llevaré esto a producción hasta no resolver esta mierda, kek." | renderPostMessage 55727}}} |
>> | {{{">>55726\n\nAparte de php solo se express/nodejs, puedo replicarlo en unos minutos pero no se si sea la misma mierda dada la fama de node, kek." | renderPostMessage 55729}}} |
>> | {{{">>55726\n\naldo, me gustaba la idea de poder navegar entre todos los resultados inmediatamente pero puedo añadirle querys a la paginación para separar los resultados en chunks y no tirar un json gigante con todo.\n\npor ahora solo tenía 100 copias registradas y el resultado era 10,65kb, no se cuanto json se considera mucho json, me gustaría saber eso también." | renderPostMessage 55731}}} |
>> | {{{">>55729\n>Aparte de php solo se express/nodejs, puedo replicarlo en unos minutos pero no se si sea la misma mierda dada la fama de node, kek.\n\nYo cuando hago APIs en php uso slim framework porque se me hace más fácil de usar que laravel, aunque tiene una opción que te crea toda una estructura como el mismo laravel, no quise usarla y mejor decidí usar la forma de este tutorial https://www.youtube.com/watch?v=iLRjbGC6jIs más simple y fácil de usar, y aquí usando:\n\n[code]echo json_encode(tuarreglo)[/code] \n\no como sea que formes tus estructuras nunca me ha dado un problema con el parseo de json. Aunque como tengo entendido ya que nunca he usado laravel, este te crea tus tablas y todo lo de la db y este no, eso sí sería una desventaja.\n\n>>55722\n>SyntaxError: JSON.parse: expected ',' or '] at #inserteColumnaAqui\n\nSí algo no está bien con el json que formas, imprimelo primero y usa un json validator en internet a ver que es lo que viene mal." | renderPostMessage 55736}}} |
>> | {{{">>55722\n>metodos en spanglish\n>variables en español\n>objetos en español\n>campos en español\nCringe." | renderPostMessage 55740}}} |
>> | {{{"Se que suena tonto. Pero quiero que me expliquen que es una rest api. Y por favor como si fuera un retrasado. He buscado en google y no entiendo. Seguro he hecho cosas de esas y no lo se. Ah y cual es su objetivo. Segun tengo entendido es algo que envia datos de una pagina a otras por medio de json." | renderPostMessage 55755}}} |
>> | {{{"Aprende a escribir, porque programas como escribes y por eso te da error." | renderPostMessage 55758}}} |
>> | {{{">>55755\n>Segun tengo entendido es algo que envia datos de una pagina a otras por medio de json.\nCy" | renderPostMessage 55760}}} |
>> | {{{">>55736\n\nusaré slim para probar, ya que con nodejs no me dió problemas.\n\n>Sí algo no está bien con el json que formas, imprimelo primero y usa un json validator en internet a ver que es lo que viene mal.\n\nEl mismo error lo dice, de vez en cuando falta una ',' o un ']', a veces añade un texto extraño como aquí >>55725. Lo que quiero saber es porque se genera, por ahora no encuentro un patrón.\n\n>>55740\n\n>metodos en spanglish\n\nfetiche mío cuando hago codigo para clientes hispanos kek.\n\n>variables en español\n>objetos en español\n>campos en español \n\nespecificaciones del cliente.\n\n>>55755\n\nenviar datos en forma de json de un servidor a un a algún lugar, por lo general una app que funciona como frontend.\n\n>>55758\n\nson 15 líneas de código >>55722, obviamente podría hacerlo más estético y robusto pero no viene al caso en estos momentos." | renderPostMessage 55764}}} |
>> | {{{">>55717 (OP)\nLaravel debio ser PHP y no un framework" | renderPostMessage 55769}}} |
>> | {{{">>55769\nClaro un framework sobre otro framework, sobre otro framework ¿Qué podría salir mal?" | renderPostMessage 55774}}} |
>> | {{{"Sin tener más información sobre tu problema, y además porque no pegaste el json completo, sólo se me ocurre sugerir que el problema puede ser por querer imprimir caracteres con acentos (un problema de encoding de UTF-8)." | renderPostMessage 55775}}} |
>> | {{{">>55774\nMe referia a que PHP en su inicio debio ser como Laravel, y no como lo hizo su creador tan caca" | renderPostMessage 55776}}} |
>> | {{{">>55764\nNo se si ya lo hayas arreglado, peroIntenta esto en tu Frontend a ver si sirve:\n\n[code]JSON.parse(JSON.stringify(tuJson));[/code]" | renderPostMessage 55779}}} |
>> | {{{">>55717 (OP)\nPara eso sirven las pruebas unitarias negrito bobo, usa PHP Unit" | renderPostMessage 55780}}} |
>> | {{{">>55775\n>sólo se me ocurre sugerir que el problema puede ser por querer imprimir caracteres con acentos (un problema de encoding de UTF-8).\n\ngood shit negrito, no se me había ocurrido eso. Estoy trabajando con uno que otro dato en español, todo es posible.\n\n>>55769\n\nindeed.\n\n>>55779 \n\nlo usaré, en 30 minutos daré resultados.\n\n>>55780\n\nse me ocurrió usarlas, pero luego me di cuenta de que son más importantes de lo que creí, por lo dejaré para el fin de semana, es algo que quiero aprender a fondo y si de aquí a ese momento no he arreglado el error pues perfecto, quizás me de alguna pista de lo que pasa." | renderPostMessage 55781}}} |
>> | {{{">>55781\nPregunta en stackoverflow para este tipo de preguntas" | renderPostMessage 55782}}} |
>> | {{{">>55779\n\nNo sé si es casualidad pero ya van 30/30 intentos sin fallo.\n\nDigo que no estoy seguro porque cuando tenía fallos normalmente la response que contenía el json pesaba menos de los 10,65kb. Por eso suponía que el error venía del backend (retornaba json incompleto). Pero ahora no hay problema alguno.\n\nseguiré hasta los 100 intentos, si no falla nada lo dejaré así hasta que haga las pruebas unitarias el sábado.\n\n>>55782\n\naquí es más a meno. Aparte uno de sus mods me baneó por decirle \"andate a la mierda\" a un pibe." | renderPostMessage 55783}}} |