- 1
- 2
| И (ПериодическийРегистрСведенийПриход.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Приход))
| И (ПериодическийРегистрСведений.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Расход))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
| И (ПериодическийРегистрСведенийПриход.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Приход))
| И (ПериодическийРегистрСведений.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Расход))
Регистр накопления? Не, это не для нас.
−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.
0
import re
def krpt(x):
x = x.group(1)
f = lambda x: "".join(filter(lambda x: x not in "АЕЁИОУЫЭЮЯ", x))
xp = f(x)
if len(xp) == 0:
return x
for i in open("dict.txt", "r"):
i = i.strip().upper()
t = f(i)
if len(t) < len(xp): continue
if xp == t[:len(xp)]:
return i
return x
def KRPT(x):
return re.sub("([А-ЯЁ]+)", krpt, x.upper())
while "ПРЛС":
print(KRPT(input("> ")))
> какой багор )))
АКАКИЙ БОГОРОДСК )))
> лунная клизма, лай мне в анус
АЛИНИН КЛИЗМА, ЛЕЙБНИЦ АМУНДСЕН АВИВ АНИСИЯ
> какой-то ебень написал поебень
АКАКИЙ-АООТ БЕНЬЯМИН НАПИСАЛА ПОЕБЕНЬ
>
−2
Ваш почтовый сервер говно.
Я 2 часа ждал подтверждения регистрации на мыло гугла.
Но вот на fakemailgenerator.com оно пришло спустя 2 минуты.
ПЫХАПЭ - говно.
−13
ЗА ЧТО ВЫ МЕНЯ НЕ ЛЮБИТЕ?
ЧЕМ Я ВАМ НЕ УГОДИЛ?
−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;
}
−3
#define m_from(format) \
char buff[128]; \
sprintf(buff, format, value); \
data_ = std::string(buff);
inline void fromShort(short value)
{
m_from("%i");
}
inline void fromInt(int value)
{
m_from("%i");
}
inline void fromLong(long value)
{
m_from("%li");
}
inline void fromFloat(float value)
{
m_from("%f");
}
inline void fromDouble(double value)
{
m_from("%f");
}
https://github.com/FlightBlaze/Newtoo/blob/master/modules/misc/USVString.h
Собственно, занесения в аналы ГК достоин весь этот класс целиком.
−7
/*
Newtoo — разработка полноценного браузерного движка с нуля в 2018?
Так уж получилось, что в мире есть всего 4 популярных браузерных движка,
которые настолько сложны, что сами разработчики не знают и половины их
кодовой базы, и настолько продвинутые по технологиям, что начать их догонять —
пустая трата времени.
А так ли это на самом деле? Мой проект создан, чтобы повторить подвиги
современных браузерных движков и проверить, насколько ли реально создать
достойную альтернативу крупным проектам, история которых начинается с
девяностых годов. Мой новый движок создается с нуля, а значит его история
начинается — сегодня.
...
Те ошибки, которые были допущены на начальных стадиях разработки
остаются в проекте до конца. Самый яркий пример этому — умные
указатели в C++ — это еще более сложный синтаксис, большой оверхед
при работе, создании и удалении умных указателей. Кроме того, есть
очень много типов умных указателей и нужно знать, какой когда использовать,
ведь у каждого есть свои сюрпризы ньюансы. Посмотрите на этот файл из
WebKit. Когда видишь такой код, синтаксис умных указателей, пытаешься
успокоится и дышать ровно, но такого рода код — это весь вебкит с ног до
головы. В моем движке нет таких недостатков.
*/
Node* NodeListControlled::insertAt(unsigned long index, Node* child)
{
// mControl == vector<Node*>
mControl.insert(mControl.begin() + index, child);
return child;
}
Дело Попова, Бабушкина и иже с ними живёт!
У умных указателей оверхед большой, а вот List со вставкой за O(n) — это не недостаток, это фича.
А ещё там NamedNodeMap с тем же линейным поиском и практически полное игнорирование
передачи по ссылке — компилятор умный, авось, заоптимизирует как-нибудь.
https://sohabr.net/habr/post/424881/
https://github.com/FlightBlaze/Newtoo
−5
class SNMPRemoteAgentSet
{
protected :
std::vector<SNMPRemoteAgent*> _agents;
}
void SNMPRemoteAgentSet::clear() {
while((int)_agents.size()) {
delete _agents[0];
_agents.erase(_agents.begin());
}
}
SNMPRemoteAgentSet::~SNMPRemoteAgentSet() {
clear();
}
Вот такой код нашёл в проекте. Таких говно-деструкторов в этом проекте ещё полно.
−1
#include <stdio.h>
#include <math.h>
char s[6];
main(){
puts(gets(s)[2]==45&8u>*s-65&8u>s[1]-49&8u>s[3]-65&8u>s[4]-49?abs((*s-s[3])*(s[1]-s[4]))-2?"NO":"YES":"ERROR");
}