« first day (787 days earlier)      last day (2530 days later) » 

7:06 AM
Я тут допилил нипильником свой алгоритм, которым подобрал коллизию для djb хеш функции в недавнем крипто-гольфе. Можно генерить коллизии со скоростью более 10 коллизий/сек для любого произвольного значения хеша. Вроде как эта хеш функция используется в PHP до сих пор и точно использовалась в 5.6 (для хеш таблиц и прочего). Если это действительно так, то с моим решением ez можно составлять POST запросы, JSON файлы, где у всех строк будет одинаковый хеш (т.н. hash table DoS).
Не везде можно присунуть JSON сгенерированный и не везде такой вектор атаки прокатит, но все же. Я хочу на хабре написать обо всех подробностях, код дать, побольше раскрыть тему. Так вот - может ли это (публикация) привести к каким-то нехорошим последствиям? Типа появления еще одной возможной атаки или типа того? Может лучше заткнувшись сидеть?
 
 
2 hours later…
9:21 AM
@m9_psy а мужики то и не знали )
 
9:35 AM
@VladimirGamalian, знали - это известная проблема. Понятно, что я не Америку открываю, но в постановке 'отыскать коллизии с конкретным значением хеша' я её не видел. Мало ли
 
9:47 AM
@m9_psy попробуйте, но боюсь, реакция хабра может быть именно в таком ключе
 
 
2 hours later…
11:46 AM
-1
Q: Показ картинки при вводе слова

WebMasterДоброго времени суток. Необходима Ваша помощь по реализации следующего: При вводе определенного текста, к примеру "apple" в текстовой строке загружалась/появлялась картинка яблоки. Вот мой html: <input type="text" onchange="showMe(value)"> <div class = 'div1'></div> Не знаю как реализовать ...

> Саму задачу желательно реализовать на Macromedia Flash Professional. Но можно и на Javascript
Нужно, чтобы компьютер бибикал при нажатии на кнопку. Саму задачу желательно реализовать на Microsoft Visual C# 2010 Professional Edition. Но можно и на Лого.
 
Пробовал с помощью сайта, но там эта последовательность задана как 100000 строк. — nivok 3 mins ago
Эпик
 
0
A: Вопрос по @media запросам

shugichFront-end профессионалы используют ли медиа-запросы. Шрифты и картинки уменьшать при помощи медиа-запросов нормально.

Что ерунда за это?
 
это вам на fl.ru — Aliaksandr Pitkevich May 23 at 14:09
Времени нет для ожидания. :( — WebMaster May 23 at 14:09
Надо сразу кастрировать банить :-/
Забавно, но на такой вопрос ответил тот, кто недавно на мете спрашивал про Есть ли смысл сразу давать ответ на вопрос, или лучше подтолкнуть участника, который задал вопрос, к правильному ответу? и я написал в комментарии, что "можно и подтолкнуть, но всегда найдется тот, кто просто плюхнет решение, пока ты там подталкиваешь кого-то))" и вот он и есть тот, кто плюхнул решение :D
гыгы
 
12:02 PM
@АлексейШиманский Вопрошающий незарегистрирован. Он и так себя фактически забанит при утере куки.
0
Q: Ошибка в запросе SQL добавление данных .(QT)

haysЛог ошибки. INSERT INTO Delivery_statistics (Номенклатура товара, Кол-во, Цена,Дата) VALUES('Карандаш', 111, 15,#01/01/2017#)" QODBCResult::exec: Unable to execute statement: "[Microsoft][Диспетчер драйверов ODBC] Ошибка последовательности функций" "[Microsoft][Диспетчер драйверов ODBC]...

0
Q: Ошибка в запросе SQL добавление данных

haysВероятно проблема в параметре 'ТОО СтройТоргВсе' ... Тут нужно как то экранировать его ?! Лог ошибки. QODBCResult::exec: Unable to execute statement: "[Microsoft][Диспетчер драйверов ODBC] Ошибка последовательности функций" "[Microsoft][Диспетчер драйверов ODBC] Ошибка последовательности функц...

С @hays определённо надо провести профилактическую беседу...
А, отбой:
Ошибки похожи но разные ... — hays yesterday
Добавил преамбулу в более новый из вопросов.
 
 
1 hour later…
1:19 PM
> Годовалый - Активный участник на протяжении года, с репутацией не менее 200
Странный знак, всё-таки... 8 месяцев не заходил на ruSO, а знак получил...
Моё мнение, что надо придумать какие-то критерии этой "активности на протяжении года". Или пояснить их, хотя бы...
Ладно, вру... Последний раз я заходил активно в ноябре и по одному разу в декабре и январе... Но всё равно это пол-года...
 
 
2 hours later…
3:24 PM
Ку-ку, где все? :)
 
3:48 PM
а что?
 
@Abyx просто тишина необычная.. :)
 
выходной
 
 
1 hour later…
5:05 PM
0
Q: Как оптимизировать код

Артем ДобрякИмею следующее одоробло: function lpt($input) { $text = array(); static $langs = array("", "az", "sq", "am", "en", "ar", "hy", "af", "eu", "ba", "be", "bn", "my", "bg", "bs", "cy", "hu", "vi", "ht", "gl", "nl", "mrj", "el", "ka", "gu", "da", "he", "yi", "id", "ga", "it", "is", "es", "kk"...

 
5:55 PM
Коллеги, а что есть «одоробло»? Это приличное хоть слово?
@NicolasChabanovsky Можно вопрос?
 
@VladD Добрый день! Буду рад ответить!
 
@NicolasChabanovsky Я правильно понимаю, что гольф-вопросы у нас узаконены и считаются нормальными вопросами? А то я за последнее время имел диалоги с несколькими участниками, которые считают их оффтопиком. Причём ссылка на Мету их не убеждает. Что делать?
 
@NicolasChabanovsky Это из вопроса на строчку выше («Как оптимизировать код»): «Имею следующее одоробло»
 
@VladD Да, узаконены и крайне приветствуются. В 99% Мета – это наш свод законов. Если на Мете сообщество приняло решение и не у кого из участников нет очень весомых аргументов, можно считать, что публикация есть правило. Кстати, можно обновить соответствующую страницу в справке, чтобы на нее тоже можно было ссылаться.
3
 
6:02 PM
@NicolasChabanovsky Спасибо!
 
@VladD Вероятно это?
 
@NicolasChabanovsky Да, справку надо бы тоже обновить, конечно...
 
@NicolasChabanovsky Спасибо, вот уж не знал этого украинского слова :)
 
@VladD Я тоже :)
 
6:09 PM
0
A: Предлагаю объединить и синонимизировать PascalABC.NET

ByulentОбъединить. Но главной сделать pascal-abc.

 
@Abyx а у меня рабочий. XD
@Abyx я себе специально при устройстве на работу выпросил выходные на пятницу и воскресенье - надо чтоб эти дни были свободными.
К тому же в субботу перед работой, и в воскресенье утром, у меня курсы по С++.
 
6:37 PM
Ребят, кому не сложно, добейте голоса на правку, если она имеет право на жизнь. :)
 
7:09 PM
@intro94 нужно/надо чуть ли не подряд
 
7:46 PM
@FoggyFinder первое "нужно" писал не я. :) Я бы написал, "а достаточно один раз". Но за замечание спасибо - не обратил внимание. :)
 
8:00 PM
@VladD кстати, а почему вот такое решение работает:
var a = string.Concat(s.Select(c => c.ToString()).OrderBy(x => x, Comparer<string>.Create(
(x, y) => x.ToLower() == y.ToLower() ? y.CompareTo(x) : x.CompareTo(y)
)));

А вот такое нет:

var b = string.Concat(s.Select(c => c).OrderBy(x => x, Comparer<char>.Create(
(x, y) => char.ToLower(x) == char.ToLower(y) ? y.CompareTo(x) : x.CompareTo(y)
)));

В душЕ я понимаю. Но в целом - не до конца
@VladD а еще вот этого я не понял: string s(string x) => new string(x.OrderBy(char.ToUpper).ToArray()); )) не компилится :D
 
@АлексейШиманский Ну, вопрос на самом деле в разницу между 'е' > 'ё' и "е" > "ё"
Символы сравниваются тупо по кодам, у строки — по Unicode collation.
@АлексейШиманский 2017-ая студия?
 
@VladD а строки, даже односимвольные - по хэшам?
@VladD 2015
 
@АлексейШиманский не по хешам, а по Unicode-правилам
@АлексейШиманский И не взлетит, это новый, более короткий синтаксис
 
@VladD все куда бегут вечно за чем-то новым. нет чтоб остановиться в 2007)
 
аналог для 2015 string s(string x) { return new string(x.OrderBy(char.ToUpper).ToArray()); }
 
8:05 PM
@VladD так, а что там в правилах, можно кратенько?)
 
@АлексейШиманский Кратенько не выйдет, но у меня где-то недавно был ответ на эту тему :)
 
@VladD я хотел смухлевать в кодах, типа x == y+32 || x + 32 == y но что-то не взлетело у меня
 
3
A: Сортировка массивов русских символов и строк с участием буквы Ё

VladDЗдесь причиной вашего удивления является не странность алгоритмов BCL, а имплементация стандарта Unicode. Документация стандарта Unicode Unicode® Technical Standard #10 / Unicode Collation Algorithm гласит (перевод мой): 1.1 Многоуровневое сравнение Сортировка, требуемая человеческими ...

 
@VladD о. надо будет почитать. спасибо
 
@АлексейШиманский Ну, никто ж не гарантирует, что upcase можно сделать взведением одного бита
Там на самом деле ужасы
Во-первых, порядок сравнения зависит от языка
т. к. порядок букв точно так же зависит от языка
например, в украинском когда-то алфавит оканчивался на ЮЯЬ
то есть Ь был последней буквой
а значит, сортировка в украинской локали должна быть не такой, как в русской
Далее, по поводу больших-маленьких букв
в немецком к маленькой ß большая — ДВЕ буквы SS.
 
8:10 PM
@VladD да, я после ответа Qwertiy глянул в функцию js localCompare, прочитал об этом )) Хотя мог бы и догадаться
 
затем, чешский. в нём ch — одна буква
которая идёт после c и перед d
то есть порядок такой:
c, ca, cb, ck, cz, ch, d
вот всем этим должно заниматься правильное Unicode-сравнение
 
фуф, хоророшо, что это не cze.stackoverflow.com))
 
@АлексейШиманский если мне память не отшибло, то вы специализируетесь по жуквери и джэ-эс? Я правильно помню?
 
A K
@АлексейШиманский А там всё непросто с апкейсом и локалью, цитирую: как вы думаете, что возвратит этот метод "i".toUpper()? Большинство скажут: «I», а вот и нет! Для турецких региональных настроек метод вернёт "İ" (код U+0130, описание символа: «Latin capital I with dot above»). Для выполнения регионально-независимой смены регистра вы можете использовать свойство CultureInfo.InvariantCulture и передать его как параметр в перегруженную версию метода String.ToUpper, которая принимает CultureInfo.
 
8:14 PM
@AK да, знаю. но для инглиша и русиша в данном варианте (представленный выше) благо этого делать не надо
 
А в греческом lowercase(Σ) (это сигма) зависит от положения буквы в слове. В конце слова ς, не в конце σ.
 
@intro94 так, иногда подглядываю
 
A K
@АлексейШиманский это вы пример из кодголфа, верно? Вроде как там какие только кодировки не приводили в пример, откуда уверенность что это ру или ен?
 
Это сразу навскидку означает, что нельзя lowercase'ить посимвольно
 
@AK там пример на русском. остальное меня не волнует)
@AK Строка, передаваемая в вашу функцию может быть как на английском, так и русском языке, но не комбинированной обоими
 
8:18 PM
@АлексейШиманский я в нём не силён, но попытался помочь человеку. Можете окинуть взглядом мой ответ, и если есть где-то ошибки, указать на них? Хоть я и не уделяю JS внимание, но знать свои ошибки, было бы полезно... :)
0
A: Как правильнее дать большое количество CSS классов в обработку для jQuery?

intro94С трудом, но понял вашу проблему. Если уж так хочется поиграться, то из бд через AJAX выгружайте обычный массив со списком классов, потом записываете этот список классов с помощью цикла, в строку по такому алгоритму (в принципе, это можно сделать и на стороне бэкенда): var per = '.class_1, .clas...

 
@intro94 вот @УткаУчитсяУму более по js и Grundy
@VladD даже не знаю радоваться этому или нет)
 
@АлексейШиманский Радоваться, конечно! Это значит, что профессия программиста вечна!
 
@VladD пока через N-лет искусственный интеллект не осознает себя, устроит апокалипсис и не отправит человечество в каменный век)
@intro94 сейчас мне точно не хочется сильно вникать во что-то)
 
@АлексейШиманский понятно. Ну и ладно. :)
 
кстати смотрю Harry как раз мухлюет с 32: return (a|32)<(b|32);
Только заметил
 
8:33 PM
Опаньки... Что-то новенькое... Мне только что написали, цитата:
> как бы в практике хорошего JS-кода тернарные операторы не приветствуются
Это так? Или бред?
Я в PHP привык к ним. Да и в С++ их нередко, вроде, используют...
> а обычным ифом можно было бы написать, что бы я глаза об тернарные операторы не ламал?
С товарищем только что общался на эту тему...
В отличии от меня он в JS намного лучше разбирается, да и учился на курсах на FE. И работу ищет по FE.
 
@intro94 ну если там конструкии вида: условие ? операция : условие ? операция : условие ? операция : условие ? операция : операция - тогда да. Простой тернарник, особенно если нужно просто что-то вернуть, а-ля return condition ? returnVal1 : returnVal2; - гораздо лучше чем иф, имхо
 
per = (i + 1) < len ? per + '.' + arr[i] + ', ' : per + '.' + arr[i];
Вот и весь тернарник. :)
 
@intro94 так что бред это.... вон мне Naumov минусы на ответы ставил за то, что я в ответе массивы в PHP не через array объявлял, а через [] :D
 
@АлексейШиманский Не должно работать, разве что в определённых кодировках
 
Такие мне темы задвигал, что охохо
@VladD да, я уже почитал комменты. Он это делал в начале с упором на инглиш. Да вопрос сыроват собссн. условия несколько раз менялись и добавлялись. В общем ему бы сказать, что есть чат для обсуждения гольфа так-то
 
8:38 PM
@АлексейШиманский я люблю через array объявлять, но если код валидный, минусы ставить - это подло... Разве что по-холиварить можно - это другой разговор (но без минусов)... :)
А простые тернарники я просто обожаю... :)
 
@intro94 ты у per конкатенацию забыл
 
@АлексейШиманский Где? Вроде всё норм...
 
@intro94 вот он ставил минус потому, что это не так как он привык)
2
 
@АлексейШиманский А я люблю код наподобие
 
for (i = 0; i < len; i++) {
per = (i + 1) < len ? per + '.' + arr[i] + ', ' : per + '.' + arr[i];
}
 
8:40 PM
return cond1 ? result1 :
       cond2 ? result2 :
       cond3 ? result3 :
       cond4 ? result4 :
       result_default;
@АлексейШиманский combo breaker :)
 
@VladD а я бы запутался. а в php кажется это дало бы другой результат
 
@АлексейШиманский Ыыыыыыыыы!
у ?: есть ровно одна правильная ассоциативность
и точно
 
@АлексейШиманский в смысле забыл конкатенацию? Если бы я что-то забыл, код не работал бы... Сейчас код по сути такой: per = per + str;
 
> In any other language with a ternary operator, you can stack them and build an if-elseif-elseif-else expression
 
@intro94 а точно... тогда можно сократить до per += (i + 1) < len ? '.' + arr[i] + ', ' : '.' + arr[i]; ..... хотя если вынести var c='.' + arr[i], то будет per += (i + 1) < len ? c + ', ' : c........ а вообще там кажется можно вообще просто тупо заджойнить через ,
@VladD да, я просто помню это несклолько месяцев назад с Squidward в чате обсуждали)
 
8:49 PM
@АлексейШиманский я с JS-ом на "Вы", поэтому побоялся делать так. У меня со времён PHP когнитивный диссонанс при конкатенации в JS. В PHP для текста конк. через точку, а для сложения чисел через "+". А в JS через "+" и то и другое, поэтому я не всегда рискую использоваться конкатенацию, так как не в курсе, адекватно ли она отработает. :)
 
@intro94 var arr = ['cl1', 'cl4']; arr.map(function(elem){return '.' + elem;}).join(','); - так покороче
хотя я уверен можно еще короче
 
@АлексейШиманский не в курсе. Моё познание JS не столь глубоко. :)
 
@intro94 ну вот поправь. как раз и от тернарника избавишься
@intro94 но по поводу как бы в практике хорошего JS-кода тернарные операторы не приветствуются - бред какой-то. Пусть предоставит доказательства
 
@АлексейШиманский Короче говоря, он перечит сам себе. Сейчас пообщался с ним немного. :)
В общем решил забить на этот спор. :)
 
@intro94 ах да, как же я мог забыть лямбды: var arr = ['cl1', 'cl4']; var per = arr.map(elem => '.' + elem).join(',');
 
8:57 PM
@АлексейШиманский к сожалению, не могу поправить, так как не смогу объяснить этот пример, или сказать, почему он не работает. :)
В принципе, решение придумал...
Допишу в конец кода как второй вариант, который рекомендовали.
 
@intro94 а что там объяснять. map - пробегает по всем элементам массива и применяет к ним всем пользовательскую функцию.. в данном случае конкатенирование ко всем элементам точки в начале.... а join - объединяет все элементы массива в строку через указанный разделитель
 
@АлексейШиманский Хм... Понятно.. Тогда не могу понять, что правильней и почему? arr.map(function(elem){return '.' + elem;}); или arr.map(elem => '.' + elem); ?
@АлексейШиманский всё, понял. Прочитал про лямбда-функции. :)
 
@intro94 оба правильные. просто второй вариант ES6 и их стрелочные функции (лямбды) ... ......... можешь почитать как они записываются в Java ru.stackoverflow.com/a/491121/191482 .......... разницы нет. только в Java -> , а в javascript =>
 
@АлексейШиманский спасибо вам. Сегодня я узнал кое-что новое... :)
 
avp
9:12 PM
Есть кто реально волокущий в арифметике? Гляньте, плз, ru.stackoverflow.com/q/671733/232 правильно это или не всегда?
 
P.S.: искренне надеюсь, что мне это никогда не пригодится... XD
P.P.S.: имел ввиду, искренне надеюсь, что никогда не буду работать с JS. :)
 
@intro94 почему? удобно же
 
@АлексейШиманский потому что я не являюсь адептом JS-а и хочу отойти от него. :)
Но это было больше юмором, нежели серьёзно. На самом деле я вам действительно благодарен за науку.. Мало ли что в жизни пригодится. :)
Кстати, как вам комментарий к моей последней правке ответа? =_=
 
@intro94 я тоже не адепт, но мне нравится. в некоторых моментах упрощает жизнь. особенно если сравнить с некоторыми другими ЯП
@intro94 👍
 
@АлексейШиманский я сейчас плотно подсел на С++. В основном потому что начал его изучать недавно, и у меня действительно получается его понимать и писать на нём. :) Пока что пишем всякую чепуху вроде вывода чисел, их сравнения, генерации псевдослучайных чисел и т.д., но осознание и понимание происходящего рили поднимает настроение. :)
 
9:19 PM
@intro94 еще надо бы наверное $(per).click(function() { подправить. он скорее всего не сработает на динамически добавляемых/удаляемых элементах.....да еще и на поздних версиях jquery..... нужно либо $(per).on('click', function() {..., либо зная предка, который точно не будет изменяться $('parentElementSelector').on('click', per, function() {...
 
@АлексейШиманский это я знаю, но моя задача состояла в другом. Читаем вопрос: "Какой способ передачи этого самого набора классов выбрать в данном случае, так чтобы это работало быстро при инициализации скрипта?"
 
@intro94 Ну кмк, С++ не столь сложен, по сравнению с тем же Си. Там совсем ад. В смысле сложно в понимании и др. Но это мое имхо.
 
@АлексейШиманский Я ему написал код, который будет добавлять список классов и делать что-то с элементами, уже имеющими этот класс. А вот что он будет делать - не моя задача, а ТС-а. Вместо click() он может прописать функцию добавления кнопки к элементам, и уже на кнопку вешать .on('click', function() {});. Суть ruSO состоит не в том, чтобы мы решили пример за ТС, а предоставили ему помощь. У него была проблема с получением классов в скрипт - я помог с этой проблемой. :)
Разве я неправ? :)
@АлексейШиманский Не знаю. После PHP для меня любой компилируемый язык будет создавать некоторые неудобства. Особенно если он строго-типизированный и без упрощений в виде mt_rand();. В С++ мне надо либо искать готовые решения, либо писать самому подобную функцию, так как родной rand(); уж очень сильно ограничен. :)
@АлексейШиманский Возвращаясь к нашим баранам, сам заголовок вопроса звучит так: Как правильнее дать большое количество CSS классов в обработку для jQuery?. :)
 
@intro94 это ты еще с firebird (субд такая) не работал. там вообще зашквар :-/
 
9:35 PM
@АлексейШиманский ну, может и дойду.. :)
@АлексейШиманский А насчёт вопроса что скажете? Я прав в своих размышлениях, или мне надо что-то пересмотреть в своих принципах дачи ответа?
 
@intro94 просто используйте не rand, а random : cplusplus.com/reference/random
@intro94 иногда готовое решение и является лучшей помощью
 
@FoggyFinder я руководствовался правилами ruSO, и этой темой:
11
Q: Есть ли смысл сразу давать ответ на вопрос, или лучше подтолкнуть участника, который задал вопрос, к правильному ответу?

Aliaksandr PitkevichНаверное не всегда полезно сразу получать ответ на вопрос, а немного помочь человеку в поисках решения, и если уж совсем никак то давать ответ на вопрос? Если такой вопрос задавался - сорри)

Что-то меня потянуло на правки... Уже вторая за вечер... XD
Ну блин, не нравится мне оформление неоформленного кода, и бесят ошибки. :)
 
@intro94 ой, давай не сейчас?)
@intro94 ну а что, вон @VladD влад нет нет, а какие-нибудь свои ответы раз-другой-третий в недельку да подправит.
 
@intro94 Извините, возможно мне показалось, но ваше сообщение звучит как оправдание
 
а в практике хорошего пхп кода они не приветствуются еще более)
Это неоднократно жевалось, одиночные тернарники норм, за вложенные надо бить
@intro94 ща гляну. я во первых не понял нахрена ему это в базе и на беке
 
9:44 PM
@УткаУчитсяУму разработчиков языка?)
3
 
@intro94 я ведь не критикую, наоборот поддерживаю
 
@АлексейШиманский Ну так, опечатки бесят, а в своих ответах бесят вдвойне :)
 
@VladD согласен. вот в пример и ставлю)
Смотрю на некоторых овтетах в гольфе стоят плюсы, а ответы-то нерабочие)
 
@АлексейШиманский Пишите камент к ним :)
 
@АлексейШиманский если вы про "гольф" с сортировкой, то там многократно уточнялось условие в процессе
 
9:47 PM
@FoggyFinder показалось. Я просто сообщил, чем я руководствовался. :)
Ещё одна правка... Ну зачем кидать код на jsfiddle, если есть встроенный сниппет? :)
 
несмотря на то что это простенький снипет, я уже слегка запутался в переменных с названиями arr и per)
хоть бы classList и combinedSelector назвали
никакой супермаги мне сейчас в глвоу не приходит
собственно в чем именно загвоздка я не очень понял
 
@VladD уже написал
 
@УткаУчитсяУму хм, странно. Ладно, если бы это был код до правки (можете посмотреть в истории, там цикл был)... Но после совета Алексея он куда упростился. :)
 
@УткаУчитсяУму ага... я уже писал тут....надо ему сказать, что в начале лучше в чате обсудить гольф.... а то что-то в белеберду всё там превратилось
 
@АлексейШиманский я уже написал)
чуть ли ни сразу
 
9:53 PM
@УткаУчитсяУму если я правильно понял, ТС не знает, как обрабатывать динамический список классов. Я ему посоветовал держать их в массиве и обрабатывать вот таким вот образом...
 
@УткаУчитсяУму там код был другой прост. я дал код лучше и сейчас он другой
@VladD кроме Wolfram Mathematica и ответа от Harry ко всем написал)
 
10:12 PM
ой, уже второй час ночи О_о
 
@АлексейШиманский Угу... Так что я спать. :)
Всем спокойной ночи. :)
 
@УткаУчитсяУму уже желание пропало
 

« first day (787 days earlier)      last day (2530 days later) »