-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+82
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
<HTML>
<HEAD>
<TITLE>Коммерческий банк "ХОУМ-БАНК"</TITLE>
</HEAD>
<BODY>
<table border="0" width="100%">
<tr align="center">
<img src="/img/home.jpg" align="top">
</tr>
</table>
</BODY>
</HTML>
Сайт банка "Хоум-банк" (http://www.home-bank.ru). Никаких тебе пхп и жабаскрипт! Новое слово в сайтостроении! При изменении информации соответствующе фотошоппится картинка!
Неудивительно, что у банка отозвана лицензия: http://www.lenta.ru/news/2010/07/08/homebank/
Webkill,
08 Июля 2010
-
+151
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
function addimagesave()
{
if (!$this->Login->isLogged())
{
$this->loginto();
return;
}
else $this->Login->Update();
$error = '';
$recordExists = false;
$post_name = trim($this->input->post('name'));
if ($post_name != '') $insert['file_name'] = $post_name;
// now need to get from db if id_all in i_pics
$this->db->where('id_all',$this->input->post('id_all'));
$this->db->limit(1);
$query = $this->db->get('i_pics');
if ($query->num_rows() == 1)
{
$row = $query->row();
$recordExists = true;
$file_name = $row->file_name;
$id_pics = $row->id_pics;
}
if (isset($_FILES['upload']) && ($_FILES['upload']['error'] == 0)) // is file loaded?
{
$ext = getExtensionOnly($_FILES['upload']['name']);
if ($post_name != '') $_FILES['upload']['name'] = $post_name.'.'.$ext;
else $post_name = delExtensionWithDot($_FILES['upload']['name']);
$_FILES['upload']['name'] = translitIt(delExtensionWithDot($_FILES['upload']['name'])).'.'.$ext;
$config['upload_path'] = './pics/';
$config['allowed_types'] = 'gif|jpg|png|bmp';
$this->load->library('upload', $config);
if ($this->upload->do_upload('upload'))
{
$this->General->setEmes(array('roster'=>"Картинку загружено."), true);
$data = $this->upload->data();
$insert['file_name'] = $data['file_name'];
// resize now
$config1['image_library'] = 'gd2'; // выбираем библиотеку
$config1['source_image'] = 'pics/'.$data['file_name'];
$config1['create_thumb'] = TRUE; // ставим флаг создания эскиза
$config1['maintain_ratio'] = true; // сохранять пропорции
$config1['width'] = 250; // и задаем размеры
$config1['height'] = 180;
// pre crack image for resizing! )))
$this->load->model('Image');
$this->Image->smartsigninto('pics/'.$data['file_name'], 250, 180);
$this->load->library('image_lib', $config1); // загружаем библиотеку
$this->image_lib->resize(); // и вызываем функцию
// now rename and owerwrite original image
$ext = getExtensionOnly($data['file_name']);
$fol = "pics/";
if (is_file($fol.$data['raw_name'].'_thumb.'.$ext))
rename($fol.$data['raw_name'].'_thumb.'.$ext, $fol.$data['file_name']);
else $this->General->setEmes(array('roster'=>"Файл *_thumb не был создан!"));
// now set new file size
$insert['size'] = round(filesize($fol.$data['file_name'])/1024 , 2);
}
else $this->General->setEmes(array('roster'=>$this->upload->display_errors()));
}
else // we need to try to rename assigned file if name is not empty and file exists
{
if ($recordExists && is_file('pics/'.$file_name) && ($post_name != ''))
{
$ext = getExtensionOnly($file_name);
$fol = "pics/";
$newName = translitIt($post_name).'.'.$ext;
if (is_file('pics/'.$newName))
{
$this->General->setEmes(array('roster'=>"Имя уже существует"), true);
$insert['file_name'] = $file_name;
}
else
{
rename($fol.$file_name, $fol.$newName);
$insert['file_name'] = $newName;
}
}
}
// prepare data to be ins or upd
$insert['lang'] = 'ru';
$insert['title'] = $this->input->post('title');
$insert['alt'] = $this->input->post('alt');
$insert['id_all'] = $this->input->post('id_all');
if ($recordExists)
{
$this->db->where('id_pics',$id_pics);
$this->db->update('i_pics', $insert);
$this->General->setEmes(array('roster'=>"Данные обновлены"), true);
}
else $this->db->insert('i_pics', $insert);
$this->redirect('roster/'.$this->input->post('type'));
}
Функция - контроллер сохранения, resize на лету картинки для новости или прочей байды. Есть все проверки. Любая картинка которая приходит, становится размером 250, 180 , причем без растяжения. Это задача типа вписать прямоугольник в прямоугольник, которую я сейчас ночью выполнил - даже если картинка меньше оно впишет. I must be proud about this functionality! Заметим, что в интернете все и умеют что вырезать квадраты из картинки, а произвольный размер - НЕТ такого. Код выложен чтобы вы посмотрели, нравятся ли вам имена переменных, логическое мышление, форматирование, коментарии (на русском - то не мои коментарии). Код CodeIgniter powered.
increazon,
25 Июня 2010
-
+116
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
class DllContainer
{
DllContainer()
{
// тут грузятся дллки в количестве N.
// LoadLibrary() + некоторые операции
}
~DllContainer()
{
// FreeLibrary() и т.п.
}
template <class T>
T* GetComponent(ComponentID id)
{
// аналог QueryInterface.
// ищет компонент, проверяет можно ли статик_кастить
// и вертает указатель нужного типа
}
};
class ComponentUser
{
void Method1()
{
DllContainer loader;
SomethingDoer* comp = loader.GetComponent<SomethingDoer>(ID1);
comp->DoSomething();
}
void Method2()
{
DllContainer loader;
SomethingElseDoer* comp = loader.GetComponent<SomethingElseDoer>(ID2);
comp->DoSomethingElse();
}
void MethodN()
{
DllContainer loader;
ShitPerformer* comp = loader.GetComponent<ShitPerformer>(IDN);
comp->PerformSomeShit();
}
};
недавно обнаружил код примерно такого плана.
крупный коммерческий проект...
g26g,
12 Мая 2010
-
−117.8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
Если Приказ.Выбран() = 1 Тогда
Если Приказ.Вид() = "Приказ" Тогда
// это все-таки приказ
Если Приказ.ТипПриказа <> Перечисление.ТипыПриказов.НаВнутреннееСовмещение Тогда
// но приказ другой, не внутреннее совмещение
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
Долой минимализм!
Наговнокодили: Ингресс-лайн
Полупрограммисты,
29 Августа 2009
-
+848.7
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
int p,k,l,i,j,d,q,R,t,r;
S1: s=0; p=1;
S2: if (s==0) { i=1; j=n; k=n; l=2*n+1; }
if (s==1) { i=n+1; j=2*n; k=0; l=n+1; }
d=1; q=p; r=p;
S3: if (x[i]>K>x[j]->K) goto S8;
S4: k=k+d; x[k]=x[i]; c[k]=c[i];
S5: i+=1; q-=1; if (q>0) goto S3;
S6: k+=d; if (k==l) goto S13; else x[k]=x[j];c[k]=c[j];
S7: j-=1; r-=1; if (r>0) goto S6; else goto S12;
S8: k+=d; x[k]=x[j]; c[k]=c[j];
S9: j-=1; r-=1; if (r>0) goto S3;
S10: k+=d; if (k==l) goto S13; else x[k]=x[i];c[k]=c[i];
S11: i+=1; q-=1; if (q>0) goto S10;
S12: q=p; r=p; d=-d; t=k; k=l; l=t; if (j-i<p) goto S10; else goto S3;
S13: p+=p; if (p<n) { s=1-s; goto S2; }
if (s==0) for (t=1; t<=n; t+=1) { x[t]=x[t+n];c[t]=c[t+n] }
Вот такой вариант сортировки предложен в одной известной книге. Оно работает...
guest,
26 Декабря 2008
-
0
- 1
Бесконечный оффтоп имени Гологуба #8
#1: https://govnokod.ru/28992 https://govnokod.xyz/_28992
#2: https://govnokod.ru/29053 https://govnokod.xyz/_29053
#3: https://govnokod.ru/29075 https://govnokod.xyz/_29075
#4: https://govnokod.ru/29110 https://govnokod.xyz/_29110
#5: https://govnokod.ru/29127 https://govnokod.xyz/_29127
#6: https://govnokod.ru/29140 https://govnokod.xyz/_29140
#7: https://govnokod.ru/29170 https://govnokod.xyz/_29170
nepeKamHblu_nemyx,
26 Октября 2025
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
constexpr int add(int a, int b)
{
return a + b;
}
static_assert(1 |> add(2) == and(1, 2));
FILE* file = fopen( “a.txt”, “wb” );
if (file) {
fputs(“Hello world”, file);
file |> fseek(9, SEEK_SET);
file |> fclose();
}
auto dangerous_teams(std::string const& s) -> bool {
return s
|> views::group_by(std::equal_to{})
|> views::transform(ranges::distance)
|> ranges::any_of([](std::size_t s){
return s >= 7;
});
}
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2011r0.html
какой C++)))
kcalbCube,
19 Февраля 2022
-
+1
- 1
description = f"""У тебя , **{ctx.author}** вот столько балов!**{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :polegar_para_cima:**"""
Насмотревшиеся Хауди Хо ботопейсатели - это, конечно, нечто.
1. Выполнение SQL-запроса вставлено прямо в шаблонизируемую строку
2. Сам запрос формируется через форматирование строки (привет, Бобби Тейблз!)
3. Не проверяется, вернула ли база хоть что-то.
"Не могу понять в чем проблема?" (с)
Vindicar,
02 Января 2022
-
+1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
func getTransport(tt string) (iTransport, error) {
if tt == "scooter" {
return newElectricScooter(), nil
}
if tt == "quadcopter" {
return newQuadcopter(), nil
}
return nil, fmt.Errorf("Wrong type")
}
https://habr.com/ru/post/556512/
> Factory Method Pattern
> Привет, друзья. С вами Alex Versus.
> Ранее мы говорили про шаблоны проектирования Одиночка и Стратегия, про тонкости реализации на языке Golang.
> Сегодня расскажу про Фабричный метод.
PolinaAksenova,
10 Мая 2021
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
* Returns the largest value among all values produced by [selector] function
* applied to each element in the collection.
*
* @throws NoSuchElementException if the collection is empty.
*/
@SinceKotlin("1.4")
@OptIn(kotlin.experimental.ExperimentalTypeInference::class)
@OverloadResolutionByLambdaReturnType
@kotlin.internal.InlineOnly
public inline fun <T, R : Comparable<R>> Iterable<T>.maxOf(selector: (T) -> R): R {
val iterator = iterator()
MAKAKA,
25 Декабря 2020