- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
class BasicData {
public:
virtual ~BasicData() = default;
virtual std::vector<std::byte> bytes() const = 0;
protected:
BasicData() = default; // <-- сабж
};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
class BasicData {
public:
virtual ~BasicData() = default;
virtual std::vector<std::byte> bytes() const = 0;
protected:
BasicData() = default; // <-- сабж
};
Я не знаю зачем (строчка 8), но походу шоб всякие дядьки не дергали что им не можно. spoiler: Только вот так или иначе не дернут.
+2
function check($str)
{
$str = htmlentities($str, ENT_QUOTES, 'UTF-8');
$str = str_replace("'", "'", $str);
$str = str_replace("rn", "<br/>", $str);
$str = strtr($str, array(chr("0") => "", chr("1") => "", chr("2") => "", chr("3") => "", chr("4") => "", chr("5") => "", chr("6") => "", chr("7") => "", chr("8") => "", chr("9") => "", chr("10") => "", chr("11") => "", chr("12") => "", chr
("13") => "", chr("14") => "", chr("15") => "", chr("16") => "", chr("17") => "", chr("18") => "", chr("19") => "", chr("20") => "", chr("21") => "", chr("22") => "", chr("23") => "", chr("24") => "", chr("25") => "", chr("26") => "", chr("27") =>
"", chr("28") => "", chr("29") => "", chr("30") => "", chr("31") => ""));
$str = str_replace('\', "\", $str);
$str = str_replace("|", "I", $str);
$str = str_replace("||", "I", $str);
$str = str_replace("/\$/", "$", $str);
$str = str_replace("[l]http://", "[l]", $str);
$str = str_replace("[l] http://", "[l]", $str);
$str = mysql_real_escape_string($str);
return $str;
}
Функция check от моего предыдущего поста
0
https://stackoverflow.com/questions/4233218/python-how-do-i-get-key-value-pairs-from-the-basehttprequesthandler-http-post-h
Блядь, как всё сложно.
Поэтому я за "PHP".
+1
( '''' )
( 3 ) : 'HELLO-FORTH ." Hello, Forth!" BEGIN REFILL 0= UNTIL ; 'HELLO-FORTH
echo 'Hello, J!'
print =: ]
NB.''')
print('Hello, Python!')
1. Forth
2. J
3. Python1
4. Python2
5. Python3
0
/*
https://habr.com/post/246009/
Это вторая статья в цикле «Теория категорий для программистов».
...
Я хотел бы сказать вам, что есть шаблон в стандартной библиотеке С++,
который принимает две функции и возвращает их композицию, но такого
нет.
Примечание переводчика: но такой не сложно написать на С++14 (я опускаю
тонны деталей владения и шаблонной магии для проверок, что эти функции
и тип аргумента действительно можно компоновать):
*/
template <typename T>
struct function_arg: public function_arg<decltype(&T::operator())> {};
template<typename ReturnType, typename Arg>
struct function_arg<ReturnType(Arg) const> {
using type = Arg;
};
template<typename ClassType, typename ReturnType, typename Arg>
struct function_arg<ReturnType(ClassType::*)(Arg) const> {
using type = Arg;
};
template<typename T>
using function_arg_t = typename function_arg<T>::type;
template<typename F, typename G>
auto compose(F&& f, G&& g) {
return [f = std::forward<F>(f), g = std::forward<G>(g)]
(function_arg_t<F>&& a) {return g(f(std::forward<function_arg_t<F>>(a)));};
}
Поэтому я за C++
−1
#include <new>
template <typename Lhs, typename Rhs>
auto replace(Lhs *lhs, Rhs) {
return *new (reinterpret_cast<void*>(lhs)) Rhs{};
}
int main() {
auto f1 = &add;
auto f2 = replace(add, [](int a, int b) { return a - b; });
f1(4, 2);
f2(4, 2);
}
Компилируется, не падает при запуске.
−3
$keys = array_keys(array_flip($keys));
Малая доля индусского кода
−9
Процедура тпТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
Модифицированность_ = Модифицированность;
Для Каждого Стр из ОформленияСтрок Цикл
Если НЕ Стр.ДанныеСтроки.Вес = 0 И НЕ Стр.ДанныеСтроки.ПроцентУсушки = 0 Тогда
Стр.ДанныеСтроки.Усушка = (Стр.ДанныеСтроки.Вес * Стр.ДанныеСтроки.ПроцентУсушки / 100) * Стр.ДанныеСтроки.Количество;
КонецЕсли;
КонецЦикла;
Модифицированность = Модифицированность_;
КонецПроцедуры
Данные табличной части модифицируются в процедуре ПриПолученииДанных (видимо, лучшего места для этого не нашлось), что закономерно приводит к отложенному на мгновение вызову ПриПолученииДанных ещё раз, и ещё, и так далее. В результате процессор загружается почти на 100%, значок * в заголовке формы дико мерцает.
Написано программистом с 6-значной ЗП.
−3
require_once $_SERVER['DOCUMENT_ROOT'] . '/models/core/class.Application.php';
require_once 'class.DatabaseConnect.php';
require_once 'class.DatabaseResult.php';
class DatabaseQuery extends Application {
private $m_db_connect = NULL; //Соединение с БД
private $m_query_statment = NULL; //Результат последнего запроса
private $m_construct_query = NULL; //Строка формирования запроса
public function __construct(DatabaseConnect $db_connect) {
$this->m_db_connect = $db_connect;
}
public function __destruct() {
$this->m_db_connect = null;
}
//Вставляет данные в таблицу
public function insert($data) {
if (count($data) === 0)
return false;
$query_list = [];
//Обход таблиц
foreach ($data as $t_name => $table) {
//Ассациативный массив даннвх, где ключ массива это имя колонки в БД
$column_list = [];
//Копируем данные в отдельный массив
foreach ($table as $c_name => $column)
$column_list[$c_name] = $column;
//Строка запроса
$query = "INSERT INTO {$t_name} (" . implode(', ', array_keys($column_list)) . ') VALUES ';
//Выпоняем обход
for ($i = 0; $i < count($column_list[array_keys($column_list)[0]]); $i++) {
$query_values = '(';
//
foreach ($column_list as $c_name => $column)
$query_values .= '\'' . $column_list[$c_name][$i] . '\',';
$query_values = chop($query_values, ',') . '),';
$query .= $query_values;
}
$query_list[] = chop($query, ',');
}
try {
for ($i = 0; $i < count($query_list); $i++) {
$result = $this->query($query_list[$i]);
}
} catch (PDOException $e) {
Application::handlerErrorDB($e);
return false;
}
return true;
}
public function setSelect($data = ['*']) {
$query = 'SELECT ';
foreach ($data as $v)
$query .= $v . ',';
$this->m_construct_query = chop($query, ',') . ' ';
return $this;
}
public function setDelete($tables = []) {
$query = 'DELETE ';
foreach ($tables as $v)
$query .= $v . ',';
$this->m_construct_query = chop($query, ',') . ' ';
return $this;
}
public function setUpdate($tables) {
$query = 'UPDATE ';
foreach ($tables as $v)
$query .= $v . ',';
$this->m_construct_query = chop($query, ',') . ' ';
return $this;
}
public function setSet($data) {
$query = 'SET ';
foreach ($data as $k => $v)
$query .= "$k = '$v',";
$this->m_construct_query .= chop($query, ',') . ' ';
return $this;
}
public function setFrom($tables) {
$query = 'FROM ';
foreach ($tables as $v)
$query .= $v . ',';
$this->m_construct_query .= chop($query, ',') . ' ';
return $this;
}
...
Вот что бывает когда у тебя юношеский максимализм - ты пытаешь написать свой фреймворк, и при этом это твой первый проект на PHP.
−3
// ==UserScript==
// @name Comment Highlighter
// @description Подсвечивает новые комментарии
// @include *://govnokod.ru/*
// @include *://www.govnokod.ru/*
// @version 2.1
// @grant none
// ==/UserScript==
(function() {
function updateState(data, lastPID, updater) {
// use `cid = 0` to enable highlighting comments in unvisited posts
// use `cid = Infinity` to disable highlighting in unvisited posts
var out, idx, pid, i = 0, cid = 0; // here
while(i < data.length) {
idx = i;
pid = data.charCodeAt(i++);
if(pid & 0x8000) {
pid &= 0x7fff;
pid <<= 16;
pid |= data.charCodeAt(i++);
}
if(pid == lastPID) {
cid = data.charCodeAt(i++) << 16 | data.charCodeAt(i++);
break;
} else {
i += 2;
}
}
data = pid == lastPID ? data.substring(0, idx) + data.substring(i) : data;
var lastCID = updater(cid);
if(isFinite(lastPID) && lastPID >= 0 && lastPID < 0x80000000) {
data += (lastPID >= 0x8000 ? String.fromCharCode(0x8000 | lastPID >> 16) : '') +
String.fromCharCode(lastPID & 0xffff) + String.fromCharCode(lastCID >> 16) +
String.fromCharCode(lastCID & 0xffff);
}
return data;
}
function commentID(comment) {
var commentLink = comment.querySelector('a.comment-link');
return Number(commentLink.href.match(/comment(\d+)$/)[1]);
}
function updateComments(prevCID) {
var comments = document.querySelectorAll('.entry-comment-wrapper');
var lastCID = prevCID;
for(var i=0; i<comments.length; ++i) {
var comment = comments[i];
var cid = commentID(comment);
if(cid <= prevCID) continue;
if(cid > lastCID) lastCID = cid;
comment.classList.add('new');
}
return lastCID;
}
var post = location.pathname.match(/^\/(\d+)/);
if(!post) return;
var PARAM = '8a9bd32e-20bc-42c7-bcdd-b65bb1fc2d0b-visited2';
var postID = +post[1];
var oldState = localStorage.getItem(PARAM) || '';
var newState = updateState(oldState, postID, updateComments);
localStorage.setItem(PARAM, newState);
})();
Битоёбство в "JS".
https://github.com/1024--/govnokod.ru-userscripts/blob/master/highlight-new.user.js
> use `cid = Infinity` to disable highlighting in unvisited posts
Не работает.
При следующем открытии все помечаются как не прочтённые.
Пофиксил так:
function updateComments(prevCID, highlightUnvisited=false) {
var comments = document.querySelectorAll('.entry-comment-wrapper');
var lastCID = prevCID;
for(var i=0; i<comments.length; ++i) {
var comment = comments[i];
var cid = commentID(comment);
if(cid <= prevCID) continue;
if(cid > lastCID) lastCID = cid;
if (!highlightUnvisited && prevCID === 0) continue;
comment.classList.add('new');
}
return lastCID;
}