- 1
https://sun1-93.userapi.com/SSu8G4XtIyohtocFhPi9jy7aPkBla7N_ZPnNdw/z5IDchObVcA.jpg
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://sun1-93.userapi.com/SSu8G4XtIyohtocFhPi9jy7aPkBla7N_ZPnNdw/z5IDchObVcA.jpg
Тушенка из русни
+1
public function isSpecial()
{
$special_ids = array(
2222,
3028,
3333,
5555,
5702,
6666,
6700,
7654,
7777,
8451,
11225
);
return in_array((int)$this->getId(), $special_ids);
//return $this->getId() == 2222 || $this->getId() == 3028 || $this->getId() == 3333 || $this->getId() == 5555 || $this->getId() == 5702;
}
https://github.com/wiistriker/govnokod_legacy/blob/master/modules/quoter/models/quote.php
Рекурсивный говнокод.
0
import sequtils
when not declared(unzip):
proc unzip*[S, T](s: openArray[(S, T)]): (seq[S], seq[T]) =
result[0] = newSeq[S](s.len)
result[1] = newSeq[T](s.len)
for i in 0..<s.len:
result[0][i] = s[i][0]
result[1][i] = s[i][1]
let a = @[('a', 1), ('b', 2), ('c', 3)]
let b = unzip(a) # version 1.0 will use the proc declared above
# version 1.2 will use sequtils' proc
assert b == (@['a', 'b', 'c'], @[1, 2, 3])
Если в библиотеке нет нужного метода, вы можете написать его сами и кинуть в сторону своих пользователей.
0
https://github.com/boundary/wireshark/blob/master/epan/dissectors/packet-rpc.c
/* compare 2 keys */
static gint
rpc_proc_equal(gconstpointer k1, gconstpointer k2)
{
const rpc_proc_info_key* key1 = (const rpc_proc_info_key*) k1;
const rpc_proc_info_key* key2 = (const rpc_proc_info_key*) k2;
return ((key1->prog == key2->prog &&
key1->vers == key2->vers &&
key1->proc == key2->proc) ?
TRUE : FALSE);
}
+2
> At its core, Swarm implements a distributed content-addressed chunk store.
> Chunks are arbitrary data blobs with a fixed maximum size (currently 4KB).
> Content addressing means that the address of any chunk is deterministically derived from its content.
> The addressing scheme falls back on a hash function which takes a chunk as input and returns a 32-byte long key as output.
> A hash function is irreversible, collision free and uniformly distributed (indeed this is what makes bitcoin, and in general proof-of-work, work).
исключая лишнее
> derived from content
> content = 4KB
> 32-byte output
> collision free!
И еще немного несвежых новостей из мира, где «блокчейн» стал устойчивым синонимом слова «распределенный»
https://blog.ethereum.org/2016/12/15/swarm-alpha-public-pilot-basics-swarm/
+2
// I'm interested in using something other than the C preprocessor to preprocess my C and Objective-C source code. Are there good alternatives?
//
// ---
//
// You can use PHP as a C preprocessor. The advantages are:
//
// - very similiar syntax, so syntax highlighting works.
// - <? and ?> are not used in standard C (with non-standard C, the only thing that gets broken is old GCC extension operator that returns min/max)
// - it's rich in libraries.
// - it's turing complete.
// - usage of macros is very explicit. (compared to sneaky C preprocessor macros)
// For serious use though, making PHP print the #line directives is needed for debugging preprocessed code.
<?php include_once "stdio.h"; ?>
int main()
{
<?php
for($i = 0; $i < 20; $i++)
echo 'printf("%d\n", '.$i.');';
?>
}
https://stackoverflow.com/a/16256052
абсолютно невыносимо
0
public static void ActivateChangeHotKeyButtonModeButtonClick(object sender, EventArgs e)
{
TaskBarHidderForm.ChangeHotKeyPanel.Visible = true;
TaskBarHidderForm.KeyButtons[0].Text = TaskBarHidder.HotKeyCodes[0].ToString();
TaskBarHidderForm.KeyButtons[1].Text = TaskBarHidder.HotKeyCodes[1].ToString();
}
кодить под пивко заебись :)
0
class Display
{
public:
//pin 10_CS_LOAD pin 11_DIN pin 13_CLK
const int CS = 10;//CS на 10 пине
void R1_R2 (char x,char y)//метод вывода чисел 0-99 в разряды 1,2 c гашением нуля
{
char k1,k2;
if(x<10)
{
if(y==1) //если включена точка
{ SPI_out(2, arr_seg[x]+128);} //вывести число во второй разряд с точкой
else//выключена точка
{ SPI_out(2, arr_seg[x]);} //вывести число во второй разряд без точки
SPI_out(1, 0 );//в первый записать все нули ,и погасить его
return; //завершить метод
}
else
{
k1=0;
k2=x; while (k2>=10) {k1++; k2=k2-10;}
SPI_out(1,arr_seg[k1]); //вывести число в первый разряд
if(y==1) //если включена точка
{SPI_out(2,arr_seg[k2]+128);} //вывести число во второй разряд c точкой
else{SPI_out(2,arr_seg[k2]);} //без точки
}
}
void R2_R3 (char x)//метод вывода чисел 0-99 в разряды 2,3 (темепература)
{
char k1,k2;
if(x<10)
{
SPI_out(2,0); //пробел во второй разряд
SPI_out(3,arr_seg[x]); //вывести число в третьий разряд
}
else {
k1=0;
k2=x; while (k2>=10) {k1++; k2=k2-10;}
SPI_out(2,arr_seg[k1]); //вывести число во второй разряд без точки
SPI_out(3,arr_seg[k2]); //вывести число в третьий разряд
}
}
void R3_R4 (char x,char y)//метод вывода чисел 0-99 в разряды 3,4
{
char k1,k2;
k1=0;
k2=x; while (k2>=10) {k1++; k2=k2-10;}
if(y==1) //если включена точка
{ SPI_out(3,arr_seg[k1]);} //вывести число в третьий разряд без точки
else
{SPI_out(3,arr_seg[k1]+128); }//вывести число в третьий разряд с точкой
SPI_out(4,arr_seg[k2]); //вывести число в четвертый разряд
}
void R1 (unsigned char x,boolean p) //метод для отрисовки в первом разряде
{
if(p==true) //если активированна точка
{ SPI_out(1, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
else {SPI_out(1, arr_seg[x]);}
}
void R2 (unsigned char x,boolean p) //метод для отрисовки во втором разряде
{
if(p==true) //если активированна точка
{ SPI_out(2, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
else {SPI_out(2, arr_seg[x]);}
}
void R3 (unsigned char x,boolean p) //метод для отрисовки в третьем разряде
{
if(p==true) //если активированна точка
{ SPI_out(3, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
else {SPI_out(3, arr_seg[x]);}
}
void R4 (unsigned char x,boolean p) //метод для отрисовки в четвертом разряде
{
if(p==true) //если активированна точка
{ SPI_out(4, arr_seg[x]+128 );} //вывести в первый разряд число по № из массива
else {SPI_out(4, arr_seg[x]);}
}
//метод отрисовки во всех разрядах сразу
void allraz (unsigned char a,unsigned char b,unsigned char c,unsigned char d)
{
SPI_out(1, arr_seg[a]);
SPI_out(2, arr_seg[b]);
SPI_out(3, arr_seg[c]);
}
автору 40 лет, на секундочку
−4
var req = indexedDB.open('site');
req.onupgradeneeded = function() {
let db = this.result;
if(!db.objectStoreNames.contains('files'))
db.createObjectStore('files', { autoIncrement: true });
};
req.onsuccess = function() {
let db = this.result;
let t = db.transaction('files', 'readwrite');
let file = t.objectStore('files');
let str = new Date().toString().repeat(1000);
while(true)
file.add(str);
};
Эту бомбу лучше ставить после полной загрузки страницы
0
- @a_parts.each do |part|
.part.uk-card.uk-card-default.uk-card-hover data-id=part.id
- p_image = "/images/no_photo.png"
- if part.image
- images = part.image.split(',')
- p_image = (images[0] == nil) ? "/images/no_photo.png" : "/images/compressed_#{images[0]}"
- p_img = (images[0] == nil) ? "/images/no_photo.png" : "/images/#{images[0]}"
- p_image = p_img unless File.exists?("#{Rails.root.to_s}/public/images/compressed_#{images[0]}")
- if images[0].split('http').length > 1
- p_image = images[0]
Все внимание к 6,7 и 9 строке
6 и 7 строка позитивное условие тернарного оператора не может случиться
9 строка - хотя если вдруг случится, то вылетит тут с ошибкой. так как nil нельзя ни split'нуть, ни дальше посчитать длину