10 meneos
215 clics
Este envío tiene varios votos negativos. Asegúrate antes de menear
Es hora de cambiar: Muchos usuarios no se sienten cómodos en stackoverflow [EN]
El equipo de stackoverflow ama su producto, por eso le es tan difícil asumir la realidad que se han encontrado: Muchos colectivos, especialmente mujeres, personas de color y otros colectivos excluídos, se sienten discriminados y piensan que stackoverflow es un lugar elitista. Stackoverflow va a cambiar sus políticas para tratar de resolver este problema.
|
comentarios cerrados
Lo que ellos dicen no es que estén de acuerdo o que no, sino que reciben quejas de usuarios diciéndoles que ocurre y que ellos se limitan a recoger estas quejas. No me gusta la medida que han tomado pero entiendo la lógica de la gente de stackoverflow.
Y les jode especialmente porque no es algo impuesto.
PREGUNTA:
I have the following code:
fTuple2.cogroup(gTuple2).flatMap { t =>
val fList: ListBuffer[classF] = ListBuffer()
val gList: ListBuffer[classG] = ListBuffer()
while (t._2._2.iterator.hasNext) {
gList.add(t._2._2.iterator.next)
}
val fIter = t._2._1.iterator
while (fIter.hasNext) {
val f = fIter.next
val hn = f.getNum()
//-----------------
try {
val gValue = FindGUtiltity.findBestG(hn, gList)
f.setG(gValue)
} catch {
case e: Exception => println("exception caught: " + e);
}
fList.add(f)
}
fList
}
and at line:
gList.add(t._2._2.iterator.next)
I got the following error:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:176)
at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)
at scala.collection.mutable.BufferLike$class.appendAll(BufferLike.scala:147)
at scala.collection.mutable.AbstractBuffer.appendAll(Buffer.scala:48)
at scala.collection.mutable.BufferLike$class.append(BufferLike.scala:142)
at scala.collection.mutable.AbstractBuffer.append(Buffer.scala:48)
at scala.collection.convert.Wrappers$MutableBufferWrapper.add(Wrappers.scala:80)
When the gList size is 1, it worked fine. But if the average gList size is ~ 5, the memory issues occurs. The total number of instances of classG is not too big, so the total gList shouldn't be too large. Is gList actually duplicating itself in Scala? Is there a better way to create List in Scala? or should I use some Java List here instead?
Thank you!
RESPUESTA ACEPTADA [Y normalmente suelen ser así las respuestas]:
Your while loop will never end as long as there's at least one element to iterate over, because you are requesting a new iterator with every cycle and getting the first element every time, adding it to a list that blows the memory.
That's why (based on your comment) getting an iterator only once and assigning it to a val solved it.
Dime tú como se puede ofender alguien con estas respuestas.
TIene un sentido, que es que la página tenga solo preguntas y respuestas, pero es verdad que para la gente que es nueva en la programación (no digo nueva en stackoverflow porque a día de hoy no se puede ser programador sin stackoverflow ) se puede llevar una muy mala impresión.
En otros casos sí que he visto malas respuestas del nivel "googlea un poco antes de venir a que hagamos el trabajo por ti", pero qué quieres que te diga, esa "mala educación" hacia quien hace las cosas mal es lo que hace que las preguntas de stackoverflow estén razonadas y bien planteadas, y que la gente mire un poco antes de hacerlas. Gracias a eso solo he hecho una pregunta en mi vida (que me respondió uno de los creadores de Spring para decirme que habían abierto un bug porque yo tenía razón con que no funcionaba ), casi cualquier pregunta que se te ocurra la ha hecho alguien antes, y si la ha preguntado con buenas palabras claves la vas a encontrar.
- Utilizas LAS variables para meter dentro lo que quieres, literalmente violación.
- Son LAS funciones las que hacen todo el trabajo. Los objetos solo están ahí esperando a que los muevas. Clara perpetuación de identidad de géneros sexistas.
- Son los errores los errores los que me explican que he hecho mal. Mansplaining.
- Tienes que usar LAS librerías con LA interfaz sin importar lo que hay dentro, solo juzgando el exterior. Esa librería tiene sentimientos ¿sabes?
Seems like you already understand the issue pretty well, so what's the question?
Que puede que esto si aplique a los usuarios novatos que aún no le tienen la medida cogida a la web (que vendría a ser un "ves al grano", por las costumbres de no saludar y agradecer que dicen en la noticia)... Aunque el que pregunte sea negro, ver un acto racista ahí es un salto TAN grande...
fuente: stackoverflow.com/questions/50055163/issue-when-registering-into-sql-s
Hala, a mamarla.
O sea, exactamente como los meneantes que votan negativo a noticias por microblogging, duplicados, aede o a comentarios que no les gustan.
INUTIL, TE FALTA flatMap(map(_._1)).flatMap[T].filter(_.hasNext) MUJER TENIAS QUE SER
Por otra parte, stackoverflow es una web donde hacer preguntas concretas, y recibir respuestas igual de concretas. No es una web para aprender a programar, si no para programadores experimentados que no quieren perder el tiempo leyendo manuales para programar en un nuevo lenguaje.