- 1
- 2
- 3
- 4
- 5
- 6
template <class... Args>
void log(Args&&... args)
{
auto dummy = { (std::clog << args, 0)... };
std::clog << std::endl;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
template <class... Args>
void log(Args&&... args)
{
auto dummy = { (std::clog << args, 0)... };
std::clog << std::endl;
}
новый printf на с++
0
if (Boolean.TRUE.equals(planItem.isIgnoredPurchase()))
{
+1
Неблагодарный opensource: разработчик самого быстрого веб сервера удалил его репозиторий
Краткая суть ситуации: наш соотечественник fafhrd91 на протяжении 3 лет
практически самостоятельно (см. кдпв) писал actix-web — один из популярнейших
крейтов в инфраструктуре раста, лидер в большинстве различных бенчмарков,
и за это время подвергался как минимум трём волнам гонений за "неправильное
использование раста". После последнего раза автор психанул, и перенес репозиторий
к себе в аккаунт с пометкой "Планирую скрыть репозиторий".
Именно поэтому я против «пидарастов». Да и остальных хипстеров-говноедов.
https://habr.com/ru/post/484436/
−4
Ебите в рот тех, кто лжёт Вам, что грипп — воздушно-капельная инфекция.
Грипп передаёться через слизь, размазанную по пальцам.
0
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
http:tidhttp;
ss:tstringstream;
begin
try
http:=tidhttp.Create(nil);
http.CookieManager:=tIdcookiemanager.Create(nil);
http.HandleRedirects:=true;
http.AllowCookies:=True;
http.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; rv:56.0) Gecko/20100101 Firefox/56.0';
http.IOHandler:=tidssliohandlersocketopenssl.Create(nil);
http.Compressor:=tidcompressorzlib.Create(nil);
http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
http.Request.AcceptEncoding:='gzip, deflate';
SS:=tstringstream.Create;
HTTP.Get(ARequestInfo.URI, SS);
aresponseinfo.CharSet:=http.Response.CharSet;
aresponseinfo.ContentType:=http.Response.ContentType+'; '+'charset='+http.Response.CharSet+';';
aresponseinfo.ContentStream:=SS;
AResponseInfo.WriteContent;
except
end;
end;
Мой разложившийся мозг сопротивляется. Сковзь пелену галлюцинаций, где где меня имеют сразу несколько волосатых таджиков, отчетливо пробивается реклама. Ее много. Очень много. Реклама и навязчивые видео с предложениями "срубить бабла" даже страшнее галлюцинаций. Я написал простой фильтр, заключающийся в локальном сервере, к которому я подключаюсь из браузера. Сервер является точкой доступа. Неугодные запросы я буду отпиздовывать на корню.
Собственно, этот код я запостил как фикс досадного гълюка, заключающегося в том, что браузер посылает нахой поле charset. Это херит даже код html.
Кодировку следует указывать в поле "КонтентТипе"
пожалуй, всё. пока.
0
private static void createHook(MethodNode mn,
String targetClassName,
String hookMethodClass,
String hookMethodName,
Boolean printMessages)
{
InsnList il = new InsnList();
LabelNode originalLabelNode = new LabelNode();
// Object caller, param1, param2, ...
String hookMethodDesc = "(Ljava/lang/Object;" + mn.desc.substring(1);
il.add(new VarInsnNode(Opcodes.ALOAD, 0)); // this
il.add(new MethodInsnNode(Opcodes.INVOKESTATIC,
isOriginalCallClassName,
isOriginalCallMethodName,
isOriginalCallMethodDesc,
false));
il.add(new JumpInsnNode(Opcodes.IFNE, originalLabelNode));
if (printMessages) {
il.add(BytecodeHelper.getPrintlnSequence("patched " + mn.name + mn.desc + " called"));
}
il.add(new VarInsnNode(Opcodes.ALOAD, 0)); // this
il.add(getParamsLoadSequence(mn.desc, 1)); // other params
il.add(new MethodInsnNode(Opcodes.INVOKESTATIC, hookMethodClass, hookMethodName, hookMethodDesc, false));
il.add(new InsnNode(parseReturnOpcode(hookMethodDesc)));
il.add(originalLabelNode);
if (printMessages) {
il.add(BytecodeHelper.getPrintlnSequence("original " + mn.name + mn.desc + " called"));
}
mn.instructions.insert(il);
}
Бытует мнение, что «Java» — это высокозащищённый язык, в котором невозможны всяческие си-подобные грязные хаки. На самом деле, конечно, это не так: просто чтобы прострелить себе ногу в «Жабе» — надо чуть больше постараться.
Фрагмент небольшой самописной либы, позволяющей хукать произвольные методы, прямо как в «Microsoft Detours».
0
$ objdump -f libyjpagent64.so
libyjpagent64.so: file format elf64-x86-64
architecture: i386:x86-64, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00000000000c2690
$ readelf -h libyjpagent64.so
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0xc2690
Start of program headers: 64 (bytes into file)
Start of section headers: 5131216 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 7
Size of section headers: 64 (bytes)
Number of section headers: 30
Section header string table index: 29
куик, зачем на прыщах две дублирующие друг друга утилиты?
0
https://beautifulracket.com/appendix/thoughts-on-rhombus.html
http://greghendershott.com/2019/07/future-of-racket.html
https://github.com/racket/rhombus-brainstorming/blob/master/resources/goals.md
Авторы Racket планируют в течение нескольких лет выпустить новый диалект языка, в котором, среди прочего, снизить порог вхождения, в том числе, вероятно, избавившись от скобочек™.
В связи с этим возникает два вопроса:
1) правда ли они думают, что сложность освоения Racket и lisp-подобных языков в скобочках (а не например в мощной системе макросов, метапрограммирования и возможности написания языков в языке)
2) переизобретут ли они Dylan спустя три десятка лет
−2
я проснулся во время кошмара - мне приснилась какая то красная хуйня в розовых носочках, которая кричала "пхп мое наслаждение, я хочу ещё"
я уже должен был проснуться ведь петухи во сне - не к добру, но я смотрел дальше и это оказался всего навсего обосанный бомж у метро, кушающий банан
просто у него нет денег и носит розовые носочки с красными понталонами, чтобы согреться. Ну что я рассказываю - обычный пхп кодир...
ну вообщем я смотрю на бомжа этого, вроде бы чего просыпаться то, поржать можно же, но потом в небе появляются летающие буквы 'p' и 'h' и
тогда я почувствовал что скоро начнется пиздец мирового масштаба, ведь даже индусы стали танцевать танец в честь пхп и одна девка
с индийским голосом из фильмов пропела "ооо май пхп ааааай яяяяяя" и тогда слева меня появилась проститутка которая готова была отдаться мне
за то, что я научу её пхп, я конечно же отказал, ведь параши коснешься - петухом станешь, ну вот, а чего просыпаться то все же?
а там потом буквы 'p' и 'h' начали появляться везде и я видел как слово 'php' подходит ко мне, а сзади него АРМИЯ ПХП !!! тогда
я побежал далекоооо и залез на башню, где было так тихо, я сел на пол и смотрел в окно, которого нет, а потом появился скример и с надписью
'php найдет тебя, ты станешь петухом'. Я закричал и проснулся. Блять, больше никаких сайтов с '.php'...
+1
public static Date getMinDate(List<Date> dates) {
Preconditions.checkArgument(dates != null && !dates.isEmpty(), "Dates list must be not null and not empty");
dates.sort(Comparator.naturalOrder());
return dates.get(0);
}
ну а че