- 1
Вы такого еще не видали
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
Вы такого еще не видали
https://paste.ubuntu.com/p/gpsMVPnd6T/
Отформатировано: https://paste.ubuntu.com/p/vF8hCGN6Z3/
20 уровней индентации, адовый копипаст.
+2
let tableCellHamburgers = Array.prototype.slice.call(document.getElementsByClassName('js-listen__letters-table__hamburger'));
tableCellHamburgers.forEach((tableCellHamburger) => {
let code = Array.prototype.slice.call(tableCellHamburger.classList).filter(elem => elem.indexOf('js-table__cell__hamburger__') === 0)[0].replace('js-table__cell__hamburger__', '');
let searchInput = document.querySelector(`.js-table__cell__search-input__${code}`);
if (!(searchInput && searchInput.value)) {
tableCellHamburger.style.filter = 'none';
}
let dropdownContent = document.querySelector(`.js-table__cell__dropdown-content__${code}`);
if (dropdownContent) {
dropdownContent.style.display = 'none';
}
});
Автор этого кода (full-stack программист) собирался выпилить jQuery из проекта, т.к. всю работу с DOM давно можно красиво писать на чистом ES6. К счастью, он уволился, не осуществив свой замысел.
−2
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
string rec(const string str, char c){return str;}
void cer(){}
main(){
string s,d="Text",a;
ifstream fin;
vector<string> mas;
fin.open("test.txt");
//if (fin.is_open()) cout<<"1";else cout<<"0";
while(fin>>s)
{bool f=0;
for(int i=0; i<s.size(); ++i)
if (s[i]==d[0])
{
f=1;
for (int j=0; j<s.size()&&j<d.size(); ++j)
if (d[j]!=s[i+j]) f=0;
if (f)
{
a.clear();
for (int j=0; j<i; ++j)
a=a+s[j];
a=a+"Hi";
for (int j=i; j<s.size(); ++j)
a=a+s[j];
}
}
if (f) {mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
else mas.push_back(s);
s=rec(s,'0');
}
ofstream fout;
fout.open("output.txt");
for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
}
ДД всем просветленным.
Есть код на С++ , который нормально компилируется и меняет текст в указанном файле. Вопрос: как его использовать для изменения данных при парсинге сайта. По логике Tokenizer передает лексемы в Parser для дальнейшего построения DOM. Значит надо добавить подобный код в Tokenizer, чтобы он передавал уже исправленные данные. Но на практике Tokenizer работает с Buffer(nsHtml5Tokenizer::tokenizeBuffer( nsHtml5UTF16Buffer* buffer)), причем с логическим(bool), а код для строчки из файла.
Как вариант добавить в сам Parser(nsHtml5Parser::Parse(const nsAString& aSourceBuffer, void* aKey, const nsACString& ContentType, bool aLastCall, nsDTDMode aMode) , но не могу разобраться как это сделать.
При компиляции вылетает куча ошибок.
Использованные файлы: nsHtml5Parser.cpp и nsHtml5Tokenizer.cpp, FireFox(версия 47), компилятор MSVS2013.
−1
POST-запрос на "Java":
import org.apache.http.*;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import java.util.ArrayList;
import java.util.List;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://example.com/form/");
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("test", "test"));
pairs.add(new BasicNameValuePair("test2", "test2"));
post.setEntity(new UrlEncodedFormEntity(pairs));
try {
HttpResponse response = client.execute(post);
} catch (IOException e) {}
} catch (UnsupportedEncodingException e) {}
} catch (Exception e) {}
}
});
POST-запрос на "PHP":
$postdata = http_build_query(array('test' => 'test', 'test2' => 'test2'));
$opts=array('http'=>array('method'=>'POST', 'header'=>'Content-type: application/x-www-form-urlencoded', 'content'=>$postdata));
$result=file_get_contents('http://mv4gc3lqnrss4y3pnu.cmle.ru/form/', false, stream_context_create($opts));
0
https://javascript.ru/forum/events/74655-peredacha-parametrov-v-funkciyu.html
https://javascript.ru/forum/events/74576-mozhno-li-ispolzovat-funkciyu-odnogo-diva-v-drugom.html
https://javascript.ru/forum/events/74553-kalkulyaciya-ceny-na-sajjte.html
−1
main(){int i=0;char*c = "(5((((`+((((f(H+(P7(d(([)(/(`G(X)7d+(.X+d)X+d(_(d.GXA`gg/d(dggI7(dgg`+(dg7^)(dgKE((dGD/((d/K)(((((((((0X)(((7F(<(XK/H7(d`)`)(.D(F(H(G(/(D`7X(HOg+6(`YgX;(fd7d7//d+7X[+GHKgdX7gg77fcggYKgfg/";while(i++<1122)printf(i%34?(c[i/6]-40&1<<i%6)?"XX":" ":"\n");}
Ёбаные обфускаторы.
+3
http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf
Как известно, в языках C и C++ есть проблема с buffer overflow, в то время как в языке Java такой проблемы нет (баги в реализации самой JVM не рассматриваем). В языке Java, как и в многих других подобных языках для анскиллябр заедушных, не могущих в сырые указатели, сделали проверки границ массива. В говноязыке C++ впрочем тоже есть какая-то такая питушня, например std::vector::at выполняет роверку выхода индекса за границы диапазона вектора. Только вот в язык JVM давно уже внедряют такую хреноту, как array bounds check elimination, т.е. убирание проверок, когда на этапе компиляции можно доказать, что такие проверки не нужны.
В какой версии C++ сделают чтоб std::vector::at тоже вот так могло автозаменяться на небезопасный аналог если компилятор доказал что там эти проверки не нужны?
0
// Иванов И.И. Начало 16.03.2016
//ИспользованиеКВО=Истина;
// Петров П. "Рога и копыта" 17.03.2016
//ИспользованиеКВО=Ложь;
// Иванов И.И. Начало 18.03.2016
//ИспользованиеКВО=Истина;
// Петров П. "Рога и копыта" 19.03.2016
//ИспользованиеКВО=Ложь;
// Иванов И.И. Начало 21.03.2016
//ИспользованиеКВО=Истина;
// Петров П. "Рога и копыта" 23.03.2016
//ИспользованиеКВО=Ложь;
// Иванов И.И. Начало 25.03.2016
//ИспользованиеКВО=Истина;
// Петров П. "Рога и копыта" 25.03.2016
//ИспользованиеКВО=Ложь;
// Иванов И.И. Начало 25.03.2016
//ИспользованиеКВО=Истина;
// Петров П. "Рога и копыта" 25.03.2016
//ИспользованиеКВО=Ложь;
ИспользованиеКВО=Истина;
// Петров П. "Рога и копыта" 25.03.2016
// Иванов И.И. Конец 25.03.2016
// Петров П. "Рога и копыта" 25.03.2016
// Иванов И.И. Конец 25.03.2016
// Петров П. "Рога и копыта" 23.03.2016
// Иванов И.И. Конец 21.03.2016
// Петров П. "Рога и копыта" 19.03.2016
// Иванов И.И. Конец 18.03.2016
// Петров П. "Рога и копыта" 17.03.2016
// Иванов И.И. Конец 16.03.2016
Иванов И.И. Петров П.П. в фильме.. "ПРОТИВОСТОЯНИЕ"
Основан на реальных событиях, фамилии персонажей и названия компаний изменены
+8
$data['age_range'] = array(
'18' => '18', '19' => '19', '20' => '20',
'21' => '21', '22' => '22', '23' => '23', '24' => '24', '25' => '25',
'26' => '26', '27' => '27', '28' => '28', '29' => '29', '30' => '30',
'31' => '31', '32' => '32', '33' => '33', '34' => '34', '35' => '35',
'36' => '36', '37' => '37', '38' => '38', '39' => '39', '40' => '40',
'41' => '41', '42' => '42', '43' => '43', '44' => '44', '45' => '45',
'46' => '46', '47' => '47', '48' => '48', '49' => '49', '50' => '50',
'51' => '51', '52' => '52', '53' => '53', '54' => '54', '55' => '55',
'56' => '56', '57' => '57', '58' => '58', '59' => '59', '60' => '60',
'61' => '61', '62' => '62', '63' => '63', '64' => '64', '65' => '65',
'66' => '66', '67' => '67', '68' => '68', '69' => '69', '70' => '70',
'71' => '71', '72' => '72', '73' => '73', '74' => '74', '75' => '75',
'76' => '76', '77' => '77', '78' => '78', '79' => '79', '80' => '80',
'81' => '81', '82' => '82', '83' => '83', '84' => '84', '85' => '85',
'86' => '86', '87' => '87', '88' => '88', '89' => '89', '90' => '90',
'91' => '91', '92' => '92', '93' => '93', '94' => '94', '95' => '95',
'96' => '96', '97' => '97', '98' => '98', '99' => '99', '100' => '100',
'101' => '101', '102' => '102', '103' => '103', '104' => '104', '105' => '105',
'106' => '106', '107' => '107', '108' => '108', '109' => '109', '110' => '110', '111' => '111', '112' => '112'
);
Hahaha classic
+3
https://vc.ru/5822-code-leaks
Представитель "Rambler" втирает, что сотрудники при приёме на работу подписывают договор о неразглашении.
Между тем, часть исходного кода одного из сервисов "Rambler" -
https://class.rambler.ru/
- успешно проёбана одним из разработчиков:
https://github.com/Serdji/rm_class_edu
Для каких-то внутренних тестеров приложена подробнейшая инструкция по установке.
Причём, судя по многим ссылкам, недоступным извне, публикация кода для всех желающих совершенно не предполагалась.