- 1
https://webmakaka.ru/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://webmakaka.ru/
https://webmakaka.ru/
+1
interface PostRepository
{
public function save(Post $model);
}
class Post
{
protected $id;
protected $title;
protected $content;
public function setId(int $id)
{
$this->id = $id;
}
public function getId(): ?int
{
return $this->id;
}
public function setTitle(string $title)
{
$this->title = $title;
}
public function getTitle(): string
{
return $this->title ?: '';
}
public function setContent(string $content)
{
$this->content = $content;
}
public function getContent(): string
{
return $this->content ?: '';
}
}
Блядь, до чего ж отвратительный код. Говёность «PHP», тщательно и с извращённой любовью смешанная с ЙАЖАвским бойлерплейтом. Омерзительно.
https://habr.com/ru/post/505400/
>>> Как должны выглядеть модели?
+1
#ifndef CONIO_H
#define CONIO_H
#ifdef __cplusplus
extern "C" {
#endif
#include <ncurses.h>
#define BLUE COLOR_BLUE
#define RED COLOR_RED
#define WHITE COLOR_WHITE
#define BLACK COLOR_BLACK
#define MAGENTA COLOR_MAGENTA
#define CYAN COLOR_CYAN
#define GREEN COLOR_GREEN
#define YELLOW COLOR_YELLOW
#define LIGHTBLUE COLOR_BLUE
#define LIGHTRED COLOR_RED
#define LIGHTGREEN COLOR_GREEN
#undef getch
void init_screen(void);
void gotoxy(int x,int y);
void clrscr(void);
void clreol(void);
int kbhit(void);
void textbackground(int color);
void textcolor(int color);
void delline(void);
void window(int left, int top, int right, int bottom);
int getch(void);
int getche(void);
int wherex(void);
int wherey(void);
int cputs(char*);
char* cgets(char*);
int cprintf(const char*, ...);
int cscanf(const char*, ...);
#ifdef __cplusplus
}
#endif
#endif /* CONIO_H */
УЕЕЕЕЕЕЕЕЕЕ!!!!!!
ЕСТЬ КОНИО ПОД ПРЫЩИ!!!
https://github.com/nowres/conio-for-linux
0
void benchmark(int dstalign, int srcalign, size_t size, int times)
{
char *DATA1 = (char*)malloc(size + 64);
char *DATA2 = (char*)malloc(size + 64);
size_t LINEAR1 = ((size_t)DATA1);
size_t LINEAR2 = ((size_t)DATA2);
char *ALIGN1 = (char*)(((64 - (LINEAR1 & 63)) & 63) + LINEAR1);
char *ALIGN2 = (char*)(((64 - (LINEAR2 & 63)) & 63) + LINEAR2);
char *dst = (dstalign)? ALIGN1 : (ALIGN1 + 1);
char *src = (srcalign)? ALIGN2 : (ALIGN2 + 3);
unsigned int t1, t2;
int k;
sleepms(100);
t1 = gettime();
for (k = times; k > 0; k--) {
memcpy(dst, src, size);
}
t1 = gettime() - t1;
sleepms(100);
t2 = gettime();
for (k = times; k > 0; k--) {
memcpy_fast(dst, src, size);
}
t2 = gettime() - t2;
free(DATA1);
free(DATA2);
printf("result(dst %s, src %s): memcpy_fast=%dms memcpy=%d ms\n",
dstalign? "aligned" : "unalign",
srcalign? "aligned" : "unalign", (int)t2, (int)t1);
}
Теперь ты можешь копировать свои зёрна на 50% быстрее!
0
https://m.vk.com/wall-30666517_1672469
Из исходников и документации Go убрали фразы whitelist/blacklist и master/slave.
Всё из-за протестов, которые сейчас проходят в Америке.
Фразы «blacklist» и «whitelist» заменили на «blocklist» и «allowlist», а «master» и «slave»
в зависимости от контекста на «process», «pty», «proc» и «control».
Отмечается, что изменения не приведут к нарушению обратной совместимости и путанице, так как
большая часть исправлений приходится на комментарии, тесты и внутренние переменные.
−2
Беглый клиент (рассказ старого брадобрея).
Странная таки оказия приключилась со мной.
В полдевятого я, как обычно, пришел в свою цирюльню и принял первого клиента - пожилого китайца, с косичками за спиной и на подбородке.
-Пожалуйте, господин, - я усадил его в кресло, гладко выбрил, поправил косичку и пошел за одеколоном.
Когда я принес пульверизатор то увидел, что кресло опустело; хитрый китаец воспользовался моим отсутствием и вероломно
ускользнул.
-Ай, мерзавец, а платить?..
Я кое-как выскочил - сил нет в старых ногах, но скоро догнал беглеца (он не очень-то и спешил), поравнялся с ним и тронул за рукав.
Китаец остановился и спокойно обернулся. На лице у него была широкая улыбка. Я потребовал платы.
Тогда китаец перестал улыбаться и взвизгнул на ломаном немецком языке: "не нарушай дистанцию!", - и поднял руки.
Тут же заверещал свисток... Ко мне подошел полицай и велел отойти от китайца.
Пришлось мне уйти ни с чем... Ненавижу узкоглазых!..
Мда. Пиздец, что уж тут скажешь.
0
#lang racket
(require racket/syntax)
(define-syntax (_total stx)
(syntax-case stx ()
[(_total item price amount)
(let ([make-id
(lambda (template . ids)
(let ([str (apply format template (map syntax->datum ids))])
(datum->syntax stx (string->symbol str))))])
(with-syntax ([total-item-price (make-id "~a-price" #'item)]
)
#'(begin
(total-item-price price amount)
)))]
)
)
(define-syntax-rule (total item price amount)
(cond [(eq? item 'apple) (_total apple price amount)]
[(eq? item 'grape) (_total grape price amount)]
[else (_total general price amount)]
)
)
(define (apple-price price amount)
(* price (- amount (/ amount 2)))
)
(define (grape-price price amount)
(* price (if (> amount 1) (/ (* amount 4) 5) amount))
)
(define (general-price price amount)
(* amount price)
)
(define apples '(apple 10 4))
(define grapes '(grape 20 3))
(define other '(peach 30 1))
(foldl (λ (lst result)
(+ result (total (car lst) (cadr lst) (caddr lst)))
)
0
(list apples grapes other)
)
Когда у тебя есть macroмолоток, всё остальное кажется гвоздями.
0
#include "courseparser.h"
courseParser::courseParser()
{
}
courseParser::courseParser(QString &XMLFilePath)
: _XMLFilePath(XMLFilePath)
{
startParsing();
}
void courseParser::startParsing()
{
qDebug() << "Start working with xml";
try {
QFile _XMLFile(_XMLFilePath);
QXmlStreamReader _XMLReader(&_XMLFile);
if (_XMLFile.open(QIODevice::ReadOnly))
{
parseXml(_XMLReader);
_XMLFile.close();
} else
{
throw error::FileNotFound;
}
} catch (error causedError) {
emit somethingWentWrong(causedError);
}
qDebug() << "Finish working with xml";
}
void courseParser::parseXml(QXmlStreamReader &XMLReader)
{
qDebug() << "Start parsing xml";
while(!XMLReader.atEnd())
{
QString elementBuffer;
QString content;
XMLReader.readNext();
_actualToken = XMLReader.tokenString();
elementBuffer = XMLReader.name().toString();
_actualElement = (elementBuffer == "") ? _actualElement : elementBuffer;
content = XMLReader.text().toString();
checkToken();
switch (_tokens.indexOf(_actualToken)) {
case 0:
processStartElement();
break;
case 1:
processCharacters(content);
break;
case 2:
processEndElement();
break;
default:
break;
}
}
qDebug() << "Finish parsing xml";
}
void courseParser::checkToken()
{
if (!_tokens.contains(_actualToken))
throw error::CorruptedFile;
}
void courseParser::checkElement()
{
if (!(_elements.contains(_actualElement) || _subElements.contains(_actualElement)))
throw error::CorruptedFile;
}
void courseParser::processStartElement()
{
checkElement();
switch (_elements.indexOf(_actualElement)) {
case 0: _course = new course();
qDebug() << "\tNew course created!";
break;
case 1: _lesson = new lesson();
qDebug() << "\tNew lesson created!";
break;
case 2: _test = new test();
qDebug() << "\tNew test created!";
break;
̶Н̶а̶с̶р̶а̶л̶ сделал типо "парсер".
На сколько дерьмово получилось?
+1
struct Ololo: Comparable {
let value: Int
static func < (lhs: Ololo, rhs: Ololo) -> Bool {
return lhs.value < rhs.value
}
static func < (lhs: Ololo, rhs: Ololo) -> String {
if lhs.value < rhs.value {
return "LESS"
} else if lhs.value > rhs.value {
return "MORE"
} else {
return "EQUAL"
}
}
}
let ololo1 = Ololo(value: 100)
let ololo2 = Ololo(value: 200)
let bool: Bool = ololo1 < ololo2
let string: String = ololo1 < ololo2
А в плюсах можно в operator> любую херь вернуть © jojaxon
Наверное, я поторопился, когда сказал, что крестобляди будет в свифте тесно.
+2
nameState() {
return this.name.length > 2 ? true : false
}
Из документации Bootstrap Vue
https://bootstrap-vue.org/docs/components/form-input#contextual-states