- 1
Просто оффтоп #25
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
Просто оффтоп #25
#1: https://govnokod.ru/20162 https://govnokod.xyz/_20162
#2: https://govnokod.ru/25329 https://govnokod.xyz/_25329
#3: https://govnokod.ru/25415 https://govnokod.xyz/_25415
#4: (vanished) https://govnokod.xyz/_25472
#5: https://govnokod.ru/25693 https://govnokod.xyz/_25693
#6: (vanished) https://govnokod.xyz/_26649
#7: https://govnokod.ru/26672 https://govnokod.xyz/_26672
#8: https://govnokod.ru/26924 https://govnokod.xyz/_26924
#9: https://govnokod.ru/27072 https://govnokod.xyz/_27072
#10: https://govnokod.ru/27086 https://govnokod.xyz/_27086
#11: https://govnokod.ru/27122 https://govnokod.xyz/_27122
#12: https://govnokod.ru/27153 https://govnokod.xyz/_27153
#13: https://govnokod.ru/27159 https://govnokod.xyz/_27159
#14: https://govnokod.ru/27200 https://govnokod.xyz/_27200
#15: https://govnokod.ru/27237 https://govnokod.xyz/_27237
#16: https://govnokod.ru/27282 https://govnokod.xyz/_27282
#17: https://govnokod.ru/27319 https://govnokod.xyz/_27319
#18: https://govnokod.ru/27380 https://govnokod.xyz/_27380
#19: https://govnokod.ru/27500 https://govnokod.xyz/_27500
#20: https://govnokod.ru/27607 https://govnokod.xyz/_27607
#21: https://govnokod.ru/27951 https://govnokod.xyz/_27951
#22: https://govnokod.ru/28076 https://govnokod.xyz/_28076
#23: https://govnokod.ru/28266 https://govnokod.xyz/_28266
#24: https://govnokod.ru/28373 https://govnokod.xyz/_28373
+2
abstract class Department {
constructor(public name: string) {}
printName(): void {
print("Department name: " + this.name);
}
abstract printMeeting(): void; // must be implemented in derived classes
}
class AccountingDepartment extends Department {
constructor() {
super("Accounting and Auditing"); // constructors in derived classes must call super()
}
printMeeting(): void {
print("The Accounting Department meets each Monday at 10am.");
}
generateReports(): void {
print("Generating accounting reports...");
}
}
function main() {
let department: Department; // ok to create a reference to an abstract type
department = new AccountingDepartment(); // ok to create and assign a non-abstract subclass
department.printName();
department.printMeeting();
//department.generateReports(); // error: department is not of type AccountingDepartment, cannot access generateReports
print("done.");
}
Алилуя - я вам абстракты принес :)
+2
package main
import (
"io"
"fmt"
"log"
"bytes"
"strings"
"net/http"
"net/http/httputil"
"net/url"
)
func UpdateResponse(r *http.Response) error {
for k, v := range r.Header {
newValue := strings.Replace(v[0], "umnico.com", "umnico.*****.ru", -1)
r.Header[k][0] = newValue
}
b, err := io.ReadAll(r.Body)
if(err == nil) {
bodyText := strings.Replace(string(b), "://umnico.com", "://umnico.*****.ru", -1);
if(strings.Contains(bodyText, "</head><body>")) {
injectedStyle := `<style>
.nav-menu.hidden, .widget__preview-container--tech-support {
display: none !important;
}
</style>`
bodyText = strings.Replace(bodyText, "</head><body>", injectedStyle + "</head><body>", -1);
}
if(strings.Contains(bodyText, "</body></html>")) {
injectedScript := `<script>
fetch('/api/user').then((response) => {
return response.json().then((data) => {
//alert(data.user.id);
if(data.user.id != 12345) {
const style = document.createElement('style');
style.textContent = '.im__chat-buttons{display:none!important;}';
document.head.appendChild(style);
}
return true;
}).catch((err) => {
console.log(err);
})
});
var currentDialogId = 0;
function checkDialogControls() {
if(location.pathname.indexOf('app/deals/inbox/details/') > 0 || location.pathname.indexOf('app/deals/active/details/') > 0) {
if(location.pathname.indexOf('app/deals/active/details/') > 0) {
var dialogId = location.pathname.split('app/deals/active/details/')[1];
} else {
var dialogId = location.pathname.split('app/deals/inbox/details/')[1];
}
var chatIndicator = document.querySelector('.im-aside-section.im-aside-section__toolbox');
if(chatIndicator != null) {
var injectedControls = document.querySelector('.im-aside-section.injected-controls');
if(injectedControls == null) {
chatIndicator.insertAdjacentHTML('afterend', '<div class="im-aside-section injected-controls"><div><button type="button" class="button" style="width:100%;" onclick="window.parent.postMessage(\'openBookingModalByUmnicoId('+dialogId+')\', \'*\');">Оформить бронь</button></div><div style="margin-top:5px;"><button type="button" class="button button_attention" style="width:100%;" onclick="window.parent.postMessage(\'openLeadTaskModalByUmnicoId('+dialogId+')\', \'*\');">Задача</button></div></div>');
} else {
if(currentDialogId != dialogId) {
injectedControls.remove();
}
}
currentDialogId = parseInt(dialogId);
}
}
}
setInterval(checkDialogControls, 100);
</script>`
bodyText = strings.Replace(bodyText, "</body></html>", injectedScript + "</body></html>", -1);
}
if(strings.Contains(bodyText, "window.location.hostname != \"localhost\"")) {
bodyText = strings.Replace(bodyText, "window.location.hostname != \"localhost\"", "window.location.hostname != \"localhost\" && window.location.hostname != \"umnico.*****.ru\"", -1);
}
buf := bytes.NewBufferString(bodyText)
r.Body = io.NopCloser(buf)
r.Header["Content-Length"] = []string{fmt.Sprint(buf.Len())}
}
return nil
}
func main() {
target, err := url.Parse("https://umnico.com:443")
if err != nil {
log.Fatal(err)
}
proxy := httputil.NewSingleHostReverseProxy(target)
proxy.ModifyResponse = UpdateResponse
http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
req.Host = req.URL.Host
proxy.ServeHTTP(w, req)
})
err = http.ListenAndServe("127.0.0.1:8803", nil)
if err != nil {
panic(err)
}
}
Мой код для проксирования одного из SaaS-сервисов, с целью встраивания в интерфейс последнего кастомных кнопок. Взглянул спустя пару месяцев и ужаснулся.
−1
Бесконечный оффтоп имени Борманда #9
#1: https://govnokod.ru/25864 https://govnokod.xyz/_25864
#2: https://govnokod.ru/25921 https://govnokod.xyz/_25921
#3: https://govnokod.ru/26544 https://govnokod.xyz/_26544
#4: https://govnokod.ru/26838 https://govnokod.xyz/_26838
#5: https://govnokod.ru/27625 https://govnokod.xyz/_27625
#6: https://govnokod.ru/27736 https://govnokod.xyz/_27736
#7: https://govnokod.ru/27739 https://govnokod.xyz/_27739
#8: https://govnokod.ru/27745 https://govnokod.xyz/_27745
0
Хрюкни #39
._ __,
|\,../'\
,'. . `.
.-- '`.
( `' , ;
,`--' _, ,'\
,`.____ `.
/ `, |
' \, '
| / /`,
`, . ,` ./ |
' `. ,' |;,' ,@
______| | _________,_____jv______
`. `. ,'
,'_,','_,
`' `'
#9: https://govnokod.ru/27175 https://govnokod.xyz/_27175
#10: https://govnokod.ru/27472 https://govnokod.xyz/_27472
#11: https://govnokod.ru/27517 https://govnokod.xyz/_27517
#12: https://govnokod.ru/27636 https://govnokod.xyz/_27636
#13: (vanished) https://govnokod.xyz/_27711
#14: https://govnokod.ru/27713 https://govnokod.xyz/_27713
#15: https://govnokod.ru/27721 https://govnokod.xyz/_27721
#16: https://govnokod.ru/27722 https://govnokod.xyz/_27722
#17: (vanished) https://govnokod.xyz/_27723
#18: https://govnokod.ru/27724 https://govnokod.xyz/_27724
#19: https://govnokod.ru/27726 https://govnokod.xyz/_27726
#20: https://govnokod.ru/27727 https://govnokod.xyz/_27727
#21: https://govnokod.ru/27870 https://govnokod.xyz/_27870
#22: https://govnokod.ru/28067 https://govnokod.xyz/_28067
#23: https://govnokod.ru/28277 https://govnokod.xyz/_28277
#24: https://govnokod.ru/28471 https://govnokod.xyz/_28471
#25: https://govnokod.ru/28659 https://govnokod.xyz/_28659
#26: (vanished) https://govnokod.xyz/_28661
#27: (vanished) https://govnokod.xyz/_28668
#28: https://govnokod.ru/28678 https://govnokod.xyz/_28678
#29: https://govnokod.ru/28686 https://govnokod.xyz/_28686
#30: https://govnokod.ru/28693 https://govnokod.xyz/_28693
#31: https://govnokod.ru/28700 https://govnokod.xyz/_28700
#32: https://govnokod.ru/28706 https://govnokod.xyz/_28706
#33: https://govnokod.ru/28713 https://govnokod.xyz/_28713
#34: https://govnokod.ru/28723 https://govnokod.xyz/_28723
#35: https://govnokod.ru/28731 https://govnokod.xyz/_28731
#36: https://govnokod.ru/28737 https://govnokod.xyz/_28737
#37: https://govnokod.ru/28741 https://govnokod.xyz/_28741
#38: https://govnokod.ru/28751 https://govnokod.xyz/_28751
−2
Политота #19
#1: https://govnokod.ru/15804 https://govnokod.xyz/_15804
#2: https://govnokod.ru/19910 https://govnokod.xyz/_19910
#3: https://govnokod.ru/23643 https://govnokod.xyz/_23643
#4: (vanished) https://govnokod.xyz/_24822
#5: https://govnokod.ru/24868 https://govnokod.xyz/_24868
#6: (vanished) https://govnokod.xyz/_26648
#7: https://govnokod.ru/26673 https://govnokod.xyz/_26673
#8: https://govnokod.ru/27052 https://govnokod.xyz/_27052
#9: https://govnokod.ru/27852 https://govnokod.xyz/_27852
#10: https://govnokod.ru/28060 https://govnokod.xyz/_28060
#11: https://govnokod.ru/28091 https://govnokod.xyz/_28091
#12: https://govnokod.ru/28103 https://govnokod.xyz/_28103
#13: https://govnokod.ru/28144 https://govnokod.xyz/_28144
#14: https://govnokod.ru/28270 https://govnokod.xyz/_28270
#15: https://govnokod.ru/28341 https://govnokod.xyz/_28341
#16: https://govnokod.ru/28379 https://govnokod.xyz/_28379
#17: https://govnokod.ru/28394 https://govnokod.xyz/_28394
#18: https://govnokod.ru/28440 https://govnokod.xyz/_28440
0
Именно поэтому я за «PHP» #5
#1: https://govnokod.ru/26462 https://govnokod.xyz/_26462
#2: https://govnokod.ru/26827 https://govnokod.xyz/_26827
#3: https://govnokod.ru/26832 https://govnokod.xyz/_26832
#4: https://govnokod.ru/27539 https://govnokod.xyz/_27539
0
// https://habr.com/ru/post/550442/
// Как компилятор C++ находит правильную функцию
// Вот так компилятор точно определяет, какую функцию следует вызвать:
// https://hsto.org/webt/mp/tb/5k/mptb5kheibrreqspserc4sfdfrs.png
// Эти шаги закреплены в стандарте C++. Каждый компилятор C++ должен следовать им,
// и все это происходит во время компиляции для каждого вызова функции. Оглядываясь
// назад, это очевидно, что должен быть такой алгоритм. Это единственный способ, которым
// C++ может поддерживать все вышеупомянутые возможности одновременно. Это то, что вы
// получите, если необходимо объединить их вместе.
// Я предполагаю, что общая цель алгоритма — «делать то, что ожидает программист»,
// и до некоторой степени он в этом преуспевает. Вы можете довольно далеко зайти,
// полностью игнорируя этот алгоритм. Но когда вы начинаете использовать все возможности
// C++, как при разработке библиотеки, то лучше знать эти правила.
Да, это конечно очень круто, только вот существует примерно 0 компиляторов, которые полностью корректно (т.е. в полном соответствии с Говностандартом) реализуют эту срань с вызовом правильной функции/метода с учетом всей хуйни.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51577 - этот баг висит еще 2011-12-16 и его так никто нихуя не пофиксил
И в Clang такого рода баги тоже есть.
−1
Пиздец-оффтоп #65
#35: https://govnokod.ru/27822 https://govnokod.xyz/_27822
#36: https://govnokod.ru/27826 https://govnokod.xyz/_27826
#37: https://govnokod.ru/27827 https://govnokod.xyz/_27827
#38: https://govnokod.ru/27833 https://govnokod.xyz/_27833
#39: https://govnokod.ru/27862 https://govnokod.xyz/_27862
#40: https://govnokod.ru/27869 https://govnokod.xyz/_27869
#41: https://govnokod.ru/27933 https://govnokod.xyz/_27933
#42: (vanished) https://govnokod.xyz/_27997
#43: https://govnokod.ru/28042 https://govnokod.xyz/_28042
#44: https://govnokod.ru/28080 https://govnokod.xyz/_28080
#45: https://govnokod.ru/28086 https://govnokod.xyz/_28086
#46: https://govnokod.ru/28105 https://govnokod.xyz/_28105
#47: https://govnokod.ru/28166 https://govnokod.xyz/_28166
#48: https://govnokod.ru/28229 https://govnokod.xyz/_28229
#49: https://govnokod.ru/28298 https://govnokod.xyz/_28298
#50: https://govnokod.ru/28308 https://govnokod.xyz/_28308
#51: https://govnokod.ru/28329 https://govnokod.xyz/_28329
#52: https://govnokod.ru/28340 https://govnokod.xyz/_28340
#53: (vanished) https://govnokod.xyz/_28346
#54: https://govnokod.ru/28353 https://govnokod.xyz/_28353
#55: https://govnokod.ru/28361 https://govnokod.xyz/_28361
#56: https://govnokod.ru/28383 https://govnokod.xyz/_28383
#57: https://govnokod.ru/28411 https://govnokod.xyz/_28411
#58: https://govnokod.ru/28454 https://govnokod.xyz/_28454
#59: https://govnokod.ru/28472 https://govnokod.xyz/_28472
#60: https://govnokod.ru/28540 https://govnokod.xyz/_28540
#61: https://govnokod.ru/28548 https://govnokod.xyz/_28548
#62: https://govnokod.ru/28555 https://govnokod.xyz/_28555
#63: https://govnokod.ru/28573 https://govnokod.xyz/_28573
#64: https://govnokod.ru/28584 https://govnokod.xyz/_28584
−1
IT Оффтоп #166
#136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
#137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
#138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
#139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
#140: https://govnokod.ru/27900 https://govnokod.xyz/_27900
#141: https://govnokod.ru/27914 https://govnokod.xyz/_27914
#142: https://govnokod.ru/27942 https://govnokod.xyz/_27942
#143: https://govnokod.ru/27960 https://govnokod.xyz/_27960
#144: https://govnokod.ru/27972 https://govnokod.xyz/_27972
#145: https://govnokod.ru/27996 https://govnokod.xyz/_27996
#146: https://govnokod.ru/28008 https://govnokod.xyz/_28008
#147: https://govnokod.ru/28049 https://govnokod.xyz/_28049
#148: https://govnokod.ru/28087 https://govnokod.xyz/_28087
#149: https://govnokod.ru/28136 https://govnokod.xyz/_28136
#150: https://govnokod.ru/28157 https://govnokod.xyz/_28157
#151: https://govnokod.ru/28209 https://govnokod.xyz/_28209
#152: https://govnokod.ru/28217 https://govnokod.xyz/_28217
#153: https://govnokod.ru/28232 https://govnokod.xyz/_28232
#154: https://govnokod.ru/28275 https://govnokod.xyz/_28275
#155: https://govnokod.ru/28281 https://govnokod.xyz/_28281
#156: https://govnokod.ru/28322 https://govnokod.xyz/_28322
#157: https://govnokod.ru/28344 https://govnokod.xyz/_28344
#158: https://govnokod.ru/28366 https://govnokod.xyz/_28366
#159: https://govnokod.ru/28391 https://govnokod.xyz/_28391
#160: https://govnokod.ru/28434 https://govnokod.xyz/_28434
#161: https://govnokod.ru/28449 https://govnokod.xyz/_28449
#162: https://govnokod.ru/28477 https://govnokod.xyz/_28477
#163: https://govnokod.ru/28501 https://govnokod.xyz/_28501
#164: https://govnokod.ru/28527 https://govnokod.xyz/_28527
#165: https://govnokod.ru/28557 https://govnokod.xyz/_28557