UTNianos

Versión completa: Animaladas de código
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
(01-10-2016 09:51).py escribió: [ -> ]
(30-09-2016 21:47)Vallo escribió: [ -> ]no es una animalada pero vale la pena ponerlo acá...

básicamente nuestro sw compara que el número de placa que estás leyendo por USB sea el mismo que le pretenés grabar para que no modifiquen el número de placa. Llamaban los clientes de que les tiraba error de que la placa no coincidía, y no entendíamos qué carajo pasaba.

Esto pasaba

Nunca comparen strings por "=". Nunca.


[Imagen: VMhgg1E.png]


ehrm string.equals es como c# 101.
"ya estaba así cuando llegué"


(01-10-2016 13:07)gonnza escribió: [ -> ]hay algo que no entiendo, en C# "=" es la asignación, la comparación no es por "==" ? o ya estoy oxidado de C# y me perdí de algo ?

es vb
(01-10-2016 13:07)gonnza escribió: [ -> ]hay algo que no entiendo, en C# "=" es la asignación, la comparación no es por "==" ? o ya estoy oxidado de C# y me perdí de algo ?

== es referencia no valor. la vm optimiza el codigo para que las strings repetidas traten de ser siempre las misma referencia pero no esta 100% garantizado que 2 strings "abc" apunten siempre a la misma referencia.

tldr: no user == para valores
(01-10-2016 18:52).py escribió: [ -> ]
(01-10-2016 13:07)gonnza escribió: [ -> ]hay algo que no entiendo, en C# "=" es la asignación, la comparación no es por "==" ? o ya estoy oxidado de C# y me perdí de algo ?

== es referencia no valor. la vm optimiza el codigo para que las strings repetidas traten de ser siempre las misma referencia pero no esta 100% garantizado que 2 strings "abc" apunten siempre a la misma referencia.

tldr: no user == para valores

ta bien igual la pregunta era "con = no comparas en C#" porque claro, era vb
Cuando pones a un QA de india a escribir tests de selenium..




var vehicle1 = grid.GetReadOnlyCellAdapterElement(1, InvestorAllocationGrid.FinalLEAmount).Text;
decimal vehicle1Amount = 0;
if (vehicle1.Length == 0) {
vehicle1Amount = 0;
}
else
vehicle1Amount = Convert.ToDecimal(vehicle1, CultureInfo.InvariantCulture);
// get the data from second vehicle
var vehicle2 = grid.GetReadOnlyCellAdapterElement(7, InvestorAllocationGrid.FinalLEAmount).Text;
decimal vehicle2Amount = 0;
if (vehicle2.Length == 0) {
vehicle2Amount = 0;
}
else
vehicle2Amount = Convert.ToDecimal(vehicle2, CultureInfo.InvariantCulture);
// get the data from third vehicle
var vehicle3 = grid.GetReadOnlyCellAdapterElement(10, InvestorAllocationGrid.FinalLEAmount).Text;
decimal vehicle3Amount = 0;
if (vehicle3.Length == 0) {
vehicle3Amount = 0;
}
else
vehicle3Amount = Convert.ToDecimal(vehicle3, CultureInfo.InvariantCulture);
// get the data from forth vehicle
var vehicle4 = grid.GetReadOnlyCellAdapterElement(21, InvestorAllocationGrid.FinalLEAmount).Text;
decimal vehicle4Amount = 0;
if (vehicle4.Length == 0) {
vehicle4Amount = 0;
}
else
vehicle4Amount = Convert.ToDecimal(vehicle4, CultureInfo.InvariantCulture);
// add the vehicles amount to get the LE sum
var legalEntityAmountSum = vehicle1Amount + vehicle2Amount + vehicle3Amount + vehicle4Amount;


Selenium was a mistake
les traigo mas (no de la misma persona, si del mismo proyecto)



var increase = function(number) {
return ++number;
};
var decrease = function(number) {
return --number;
};


(05-01-2017 18:54)gonnza escribió: [ -> ]les traigo mas (no de la misma persona, si del mismo proyecto)



var increase = function(number) {
return ++number;
};
var decrease = function(number) {
return --number;
};



Esta perfecto. Si no meten los incrementos en funciones como van a hacer cuando los quieran superoptimizar y reimplementarlos en assembler para máxima performance? Hace tu parte y crea una que use right shift para multiplicar por 2^n.
Acabo de ver algo que amerita reivir este test. El código fuente original de nroff (n6.c).

https://blogs.oracle.com/eschrock/real-l...cated-code

Me siento el personaje de Sam Neill en event horizon.

Spoiler: Mostrar

Off-topic:

A donde vamos no necesitamos... ojos.

En Taringa se mandaron una animalada de codigo. No tengo el cacho de codigo exacto pero se lo pueden imaginar.

https://thehackernews.com/2017/09/taring...cking.html


Cita:Taringa is a popluar social network geared toward Latin American users, who create and share thousands of posts every day on general interest topics like life hacks, tutorials, recipes, reviews, and art.

The Hacker News has been informed by LeakBase, a breach notification service, who has obtained a copy of the hacked database containing details on 28,722,877 accounts, which includes usernames, email addresses and hashed passwords for Taringa users.


The hashed passwords use an ageing algorithm called MD5 – which has been considered outdated even before 2012


Wanna know how weak is MD5?, LeakBase team has already cracked 93.79 percent (nearly 27 Million) of hashed passwords successfully within just a few days.
(04-09-2017 11:22)gonnza escribió: [ -> ]Wanna know how weak is MD5?, LeakBase team has already cracked 93.79 percent (nearly 27 Million) of hashed passwords successfully within just a few days.

TaringaGate?
Eso les pasa por no usar bcrypt.
estoy refactorizando una clase de esas grandotas con metodos asi



ApplyRemaindersUnitByUnit_AllocateByQuantity_LocalAndLegalEntityAmountProcessors

Estoy refactorando un componente hecho para el orto y me encuentro con esto:



class ButtonAdd extends Component {

componentDidMount() {

let context = this;

$("#bloqueoUsuario").validate({
rules: { ... }
}
}



Bonus points si vieron algo de react.
(05-01-2017 18:54)gonnza escribió: [ -> ]les traigo mas (no de la misma persona, si del mismo proyecto)



var increase = function(number) {
return ++number;
};
var decrease = function(number) {
return --number;
};



Imaginate que tenes un array de numeros y queres a todos sumarles uno:



arr.map(increase)



No se, a mi no me parece una animalada de codigo.
si igual el uso no era ese =P
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
URLs de referencia