- 1
https://toster.ru/q/274179
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
https://toster.ru/q/274179
Ученики Mr.Shit (беднягу зачмырили и он сменил домен на php. webtm.ru) продолжают радовать
+11
void Aligner::set_genomic_sequences(vector< pair <string,string> > nt_genomic_seq){
this->nt_genomic_sequences = *(new forward_list<pair<string,string>>);
this->int_genomic_sequences = *(new forward_list<pair<string,string>>);
for(vector<pair<string,string>>::const_iterator iter = nt_genomic_seq.begin() ; iter != nt_genomic_seq.end() ; iter++){
nt_genomic_sequences.emplace_front((*iter).first,(*iter).second);
int_genomic_sequences.emplace_front((*iter).first , nt2int((*iter).second));
}
}
Типичный академический код из https://bitbucket.org/yuvalel/repgenhmm. Могу только предположить, что авторы скопипастили код из Java, а потом разыменовывали указатели, пока не скомпилировалось.
+1
var otvetil = GM_getValue('otvetil', true);
var schet = GM_getValue('schet', 0);
var vsegopokazov = GM_getValue('vsegopokazov', 0);
if (otvetil == 1) {
//if (parent.location.href != self.location.href) return;
function randomInteger(min, max) {
var rand = min + Math.random() * (max - min);
rand = Math.round(rand);
return rand;
}
var kolvosrabotok = randomInteger(1, 100) > 90; // Процент срабатывания на кол-во вкладок
var popitkanomer = 1;
var a = randomInteger(1, 10);
var b = randomInteger(1, 10);
var znakmat = randomInteger(1, 100);
if (kolvosrabotok == true) {
GM_setValue('vsegopokazov',vsegopokazov++);
GM_setValue('otvetil', false);
GM_setValue('a', a);
GM_setValue('b', b);
if (znakmat > 50) { //процент сложения/вычитания
var znak = 1 //1 это плюс (сложение)
var c = a + b;
var otvet = prompt(a + ' + ' + b + ' = ', '');
while (otvet != c) {
if (otvet == 'папа') {
var papa = confirm('Правильных решений ' + '-= ' + schet + ' =-' + ' Всего показов ' + GM_getValue('vsegopokazov') + ' Хотите сбросить?');
if (papa == true) {
GM_setValue('schet', 0);
GM_setValue('vsegopokazov', 0);
alert('Правильных решений - ' + GM_getValue('schet') + ' Всего показов - ' + GM_getValue('vsegopokazov'));
}
}
popitkanomer++;
GM_setValue('otvetil', false);
GM_setValue('a', a);
GM_setValue('b', b);
GM_setValue('popitkanomer', popitkanomer);
GM_setValue('znak', znak);
GM_setValue('vsegopokazov',vsegopokazov++);
alert('Неправильно! ' + 'Попытка номер ' + popitkanomer);
otvet = prompt(a + ' + ' + b + ' = ', '');
}
GM_setValue('otvetil', true);
GM_setValue('schet', schet + 1);
}
if (znakmat < 50) {
var znak = 0 //1 это минус (вычитание)
if (a > b) {
var c = a - b;
var otvet = prompt(a + ' - ' + b + ' = ', '');
while (otvet != c) {
if (otvet == 'папа') {
var papa = confirm('Правильных решений ' + '-= ' + schet + ' =-' + ' Всего показов ' + GM_getValue('vsegopokazov') + ' Хотите сбросить?');
if (papa == true) {
GM_setValue('schet', 0);
GM_setValue('vsegopokazov', 0);
alert('Правильных решений - ' + GM_getValue('schet') + ' Всего показов - ' + GM_getValue('vsegopokazov'));
}
}
alert('Неправильно! ' + 'Попытка номер ' + popitkanomer);
popitkanomer++;
GM_setValue('otvetil', false);
GM_setValue('a', a);
GM_setValue('b', b);
GM_setValue('popitkanomer', popitkanomer);
GM_setValue('znak', znak);
GM_setValue('vsegopokazov', vsegopokazov++);
otvet = prompt(a + ' - ' + b + ' = ', '');
}
GM_setValue('otvetil', true);
GM_setValue('schet', schet + 1);
}
if (b > a) {
var c = b - a;
var otvet = prompt(b + ' - ' + a + ' = ', '');
while (otvet != c) {
if (otvet == 'папа') {
var papa = confirm('Правильных решений ' + '-= ' + schet + ' =-' + ' Всего показов ' + GM_getValue('vsegopokazov') + ' Хотите сбросить?');
if (papa == true) {
GM_setValue('schet', 0);
GM_setValue('vsegopokazov', 0);
alert('Правильных решений - ' + GM_getValue('schet') + ' Всего показов - ' + GM_getValue('vsegopokazov'));
}
}
alert('Неправильно! ' + 'Попытка номер ' + popitkanomer);
popitkanomer++;
GM_setValue('otvetil', false);
GM_setValue('a', a);
GM_setValue('b', b);
GM_setValue('popitkanomer', popitkanomer);
GM_setValue('znak', znak);
GM_setValue('vsegopokazov', vsegopokazov++);
otvet = prompt(b + ' - ' + a + ' = ', '');
}
GM_setValue('otvetil', true);
GM_setValue('schet', schet + 1);
}
if (a = b) {
//alert('ДЖЕКПОТ!!! ' + a + ' - ' + b + ' = ' + '0');
Greasemonkey. Обучение ребенка математики, ребенок любит youtube ролики с minecraftom. :) Полностью не влезло. За неделю освоили счет до 20. Ни разу не прогер :)
0
func handleRequest(conn net.Conn) {
// размер данных
buf := make([]byte, 4)
n, err := conn.Read(buf)
if err != nil {
fmt.Printf("%v", utils.ErrInfo(err))
}
size := utils.BinToDec(buf)
fmt.Printf("get data size: %v / n: %v\n", size, n)
if size < 10485760 {
// сами данные
binaryData := make([]byte, size)
n, err = io.ReadFull(conn, binaryData)
fmt.Printf("n: %v\n", n)
if err != nil {
fmt.Printf("%v", utils.ErrInfo(err))
}
gp3, err := ioutil.TempFile(os.TempDir(), "temp")
if err != nil {
fmt.Printf("%v", utils.ErrInfo(err))
}
mp4, err := ioutil.TempFile(os.TempDir(), "temp")
if err != nil {
fmt.Printf("%v", utils.ErrInfo(err))
}
err = ioutil.WriteFile(gp3.Name()+".3gp", binaryData, 0644)
if err != nil {
fmt.Printf("%v", utils.ErrInfo(err))
}
out, err := exec.Command("/usr/bin/ffmpeg", "-i", gp3.Name()+".3gp", mp4.Name()+".mp4").Output()
if err != nil {
fmt.Println("/usr/bin/ffmpeg", "-i", gp3.Name()+".3gp", mp4.Name()+".mp4")
fmt.Printf("%v\n", utils.ErrInfo(err))
}
fmt.Printf("out: %v\n", out)
data, err := ioutil.ReadFile(mp4.Name()+".mp4")
if err != nil {
fmt.Println(err)
}
// в 4-х байтах пишем размер данных, которые пошлем далее
size := utils.DecToBin(len(data), 4)
n, err = conn.Write(size)
if err != nil {
fmt.Println(err)
}
fmt.Printf("n: %v\n", n)
// далее шлем сами данные
n, err = conn.Write(data)
if err != nil {
fmt.Println(err)
}
fmt.Printf("n: %v\n", n)
}
}
Со швабры, Go. Мне кажется, или здесь слишком много "if err != nil"?
0
$(window).load(function () {
$(".sidebar-list").mCustomScrollbar({
// scrollButtons:{enable:true,scrollType:"stepped"},
keyboard: {
scrollType: "stepped"
},
mouseWheel: {
scrollAmount: 188
}, // theme:"rounded-dark",
scrollbarPosition: "inside",
autoExpandScrollbar: false,
snapAmount: 188,
snapOffset: 65
});
if ("onhashchange" in window && location.hash) {
match = location.hash.match(/^[?#!]*(.*)$/)[1];
scrollToPage(match);
};
if (!isMob.any() && isRoot) {
// return false;
var navM = $('.menu a');
var section = $.map($(".section"), function (e) {
var $e = $(e);
var pos = $e.position();
return {
top: pos.top - 75,
bottom: pos.top - 75 + $e.height(),
hash: '#!' + $e.attr('id'),
indx: $e.index()
};
});
//Checking scroll
var top = null;
var changed = false;
var currentHash = null;
$(window).scroll(function () {
var newTop = $(document).scrollTop();
changed = newTop != top;
if (changed) {
top = newTop;
// step();
}
});
function step() {
if (!changed) {
return setTimeout(step, 200);
}
var count = section.length;
var p;
while (p = section[--count]) {
if (p.top >= top || p.bottom <= top) {
continue;
}
if (currentHash == p.hash) {
break;
}
var scrollTop = $(document).scrollTop();
window.location.hash = currentHash = p.hash;
$(document).scrollTop(scrollTop);
}
setTimeout(step, 200);
}
setTimeout(step, 200);
}
});
Сей гениальный код должен управлять прокруткой и главным меню на сайте.
+5
$scales = db_select('_scale', 'q')
->condition('q.gender', $gender)
->fields('q', array('id'))
->execute();
$i = 1;
while ($scale = $scales->fetchObject()) {
$raw_score = 0;
$query = db_select('_scale_question', 'q')
->condition('q.scale_id', $scale->id)
->fields('q')
->execute();
while ($item = $query->fetchObject()) {
$user_answer = db_select('_user_answer', 'q')
->condition('q.question_id', $item->question_id)
->condition('q.result_id', $result_id)
->fields('q', array('answer'))
->execute()
->fetchField();
if ($user_answer == $item->expected_answer) {
$raw_score++;
}
}
$raw_scores_item['scale_id'] = $scale->id;
$raw_scores_item['score'] = $raw_score;
$raw_scores[$i] = $raw_scores_item;
$i++;
}
Drupal 7, SQL-запросы с DB API Drupal в двойном цикле(!).
...А заменить можно 1 нормальным SQL-запросом.
+1
If (!isset($_GET['mode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['mode'])) $mode='read'; else $mode=$_GET['mode'];
switch ($mode){
Как же я люблю в говнодвигах ковырятся Гг
+14
integerValue *= 0;
не обнулил, а на ноль умножил
+1
function getQueryParam(param) {
if (!getQueryParam.params) {
var params = {},
query = window.location.search.substring(1);
if (query) {
var queryParts = query.split('&'),
queryPartsLen = queryParts.length,
decode = decodeURIComponent;
while (queryPartsLen--) {
var queryPart = queryParts[queryPartsLen].split('='),
key = queryPart[0],
value = queryPart[1];
params[decode(key)] = decode(value) || null;
}
}
getQueryParam.params = params;
}
return getQueryParam.params[param] || null;
}
function getQueryParam
−99
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
///////////////////////////////////////////////////////
// Подготовка табличной части документа
тчТовары = Товары.Выгрузить();
Отказ = ОбщийМодуль.СформироватьТабличнуюЧастьСОстаткамиНаСкладе(тчТовары, Ссылка, РежимПроведения, Расшифровка, ВыявлятьНехваткуТоваров);
Для Каждого СтрокаТЧТовары Из тчТовары Цикл
Если ЗначениеЗаполнено(СтрокаТЧТовары.НовыйАдресХранения) И ЗначениеЗаполнено(СтрокаТЧТовары.АдресХраненияАВТО) Тогда
// тут добавляются движения
....
КонецПроцедуры
Функция СформироватьТабличнуюЧастьСОстаткамиНаСкладе(ТабличнаяЧасть, ДокументСсылка, РежимПроведения, Расшифровка, ВыявлятьНехваткуТоваров=Истина) Экспорт
Отказ = Ложь;
Запрос = Новый Запрос;
МВТ = Новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.Текст =
"ВЫБРАТЬ
| ТЧДокумента.ОбъектНоменклатуры КАК ОбъектНоменклатуры,
| ТЧДокумента.АдресХранения КАК АдресХранения,
| ТЧДокумента.НовыйАдресХранения КАК НовыйАдресХранения,
| ТЧДокумента.Количество КАК Количество,
| ТЧДокумента.КоличествоУУ КАК КоличествоУУ
|ПОМЕСТИТЬ ТЧДокумента
|ИЗ
| &ТЧ КАК ТЧДокумента";
Запрос.УстановитьПараметр("ТЧ", ТабличнаяЧасть);
Запрос.Выполнить();
Запрос.Текст =
"ВЫБРАТЬ
| ТЧДокумента.ОбъектНоменклатуры КАК ОбъектНоменклатуры,
| ТЧДокумента.ОбъектНоменклатуры.Номенклатура КАК Номенклатура,
| ТЧДокумента.ОбъектНоменклатуры.Нарезка.Размер КАК РазмерНарезки,
| ТЧДокумента.АдресХранения КАК АдресХранения,
| ТЧДокумента.НовыйАдресХранения КАК НовыйАдресХранения,
| ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.АдресХранения КАК АдресХраненияАВТО,
| ЕСТЬNULL(ТЧДокумента.Количество, 0) КАК КоличествоТребуется,
| ЕСТЬNULL(ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ЕСТЬNULL(ТЧДокумента.КоличествоУУ, 0) КАК КоличествоУУТребуется,
| ЕСТЬNULL(ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.КоличествоУУОстаток, 0) КАК КоличествоУУОстаток,
| ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.Склад КАК Склад
|ИЗ
| ТЧДокумента КАК ТЧДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЯССМ_ТоварыНаСкладахПоЯчейкам.Остатки(&МоментДокумента, ) КАК ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки
| ПО ТЧДокумента.ОбъектНоменклатуры = ЯССМ_ТоварыНаСкладахПоЯчейкамОстатки.ОбъектНоменклатуры
|ГДЕ
| ТЧДокумента.АдресХранения = ЗНАЧЕНИЕ(Справочник.ЯС_АдресаХранения.ПустаяСсылка)
|";
ТабличнаяЧасть.Очистить();
Запрос.УстановитьПараметр("МоментДокумента", ДокументСсылка.МоментВремени());
// !!!!! делаю это для автоматического получения колонок результирующего запроса. Это крэзи конечно, но пока оставлю так. Нет времени
ТабличнаяЧасть = Запрос.Выполнить().Выгрузить();
ТабличнаяЧасть.Очистить();
ВыборкаОбъект = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаОбъект.Следующий() Цикл
ВыборкаАдресХранения = ВыборкаОбъект.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаАдресХранения.Следующий() Цикл
Если ВыявлятьНехваткуТоваров И ВыборкаАдресХранения.КоличествоТребуется>ВыборкаАдресХранения.КоличествоОстаток Тогда
Расшифровка = Расшифровка + Символы.ПС + "Недостаточно товара (код номенкл.: "+ВыборкаАдресХранения.Номенклатура.Код+") """+ВыборкаАдресХранения.ОбъектНоменклатуры + """" +
?(ЗначениеЗаполнено(ВыборкаАдресХранения.АдресХранения), " по адресу хранения """+ВыборкаАдресХранения.АдресХранения+"""", "")+"! "+
"Остаток товара "+ВыборкаАдресХранения.КоличествоОстаток+", а требуется "+ВыборкаАдресХранения.КоличествоТребуется+".";
Отказ = Истина;
Иначе
ВыборкаАдресХраненияАвто = ВыборкаАдресХранения.Выбрать();
Пока ВыборкаАдресХраненияАвто.Следующий() Цикл
Если ВыборкаАдресХраненияАвто.Количество()>1 Тогда
Расшифровка = Расшифровка + Символы.ПС + "Для товара (код номенкл.: "+ВыборкаАдресХранения.Номенклатура.Код+") """+ВыборкаАдресХранения.ОбъектНоменклатуры + """" +
" невозможно определить адрес хранения, т.к. остатки товаров расположены "+ Символы.ПС
+ " более чем в одном адресе хранения. Необходимо в документе явно указать адрес хранения товара!";
Отказ = Истина;
Иначе
// добавляем строку в результирующую таблицу
НоваяСтрока = ТабличнаяЧасть.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаАдресХраненияАвто);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат Отказ;
КонецФункции //СформироватьТабличнуюЧастьСОстаткамиНаСкладе
Обработка проведения одного писателя...
Сначала берём выгружаем в ТЗ табличную часть, потом отдаём в общий модуль, там ТЗ передаём параметром в запрос, кладём в ВТ потом в другом запросе соединяем с остатками, меняем имена и состав колонок, выгружаем в ТЗ, возвращаем ТЗ в обработку проведения и уже по ней делаем движения.
Вообще, эта задача решается одним запросом. Но зачем?! Ведь если общий модуль существует, должен же кто-то его испрользовать...