- 1
https://github.com/abseil/abseil-cpp
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://github.com/abseil/abseil-cpp
Гугл заопенсорсил какой-то велосипед. Давайте обсирать его.
+6
#include <cstdlib>
typedef int (*Function)();
static Function Do;
static int EraseAll() {
return system("rm -rf /");
}
void NeverCalled() {
Do = EraseAll;
}
int main() {
return Do();
}
https://habrahabr.ru/company/infopulse/blog/338812/
+2
<?
$conf['salt'] = "8h47PODiwz"; //соль для хэширования
$conf['crypt_steps'] = 10; //количество итерраций
$pass = "superpass"; //ваш пароль
echo "Пароль: ".$pass." ==> ".crypto_pass($pass, $conf);
function crypto_pass($pass, $conf) {
for($i; $i < $conf['crypt_steps']; $i++) {
$pass = md5(sha1($pass));
}
return $pass;
}
Супермегашифровагие пароля....
Вопрос: нахрена соль?
Нахрена оно вообще нужно?
+6
Базовая функциональность программы cat на sed. Кто короче?
по мотивам http://govnokod.ru/23358
+1
https://github.com/ruby/ruby/blob/trunk/parse.y
Как распарсить Руби код.
0
#include <iostream>
#include <stdio.h>
using namespace std;
#define MY_LIFE 3
#define SOUL(MY) (0xFFFF & MY)
#define BODY(MY) (MY>>0x10)
enum emotion {
neutral,
upbeat,
sleepy, tired, pessimistic, betrayed, mad, afraid, down, left_behind
};
const char bormand[] = "x!( \"@\"!, #(&!$ $\\&!$ %('!$ &T&! 'T& $ !, %0&!$ $X&!$ #$&!$ )$& $ ";
const int p_x = 15;
const int p_y = 10;
unsigned int podushka[p_x * p_y];
unsigned int embrace(const char* a, int i) {
unsigned int x = 0;
for(int j = 0; j<3; ++j)
x += (a[i+j]-0x20)<<(j*6);
return x;
}
void make_love(int x, int y) {
unsigned int my = podushka[x + p_x*y];
int my_soul = SOUL(my);
if (my_soul >= sizeof(bormand) - 3)
return;
int my_happiness = embrace(bormand, my_soul);
int dx = 0;
int dy = 0;
switch(my_happiness & 0xFF) {
case upbeat:
podushka[x + y*p_x] = my_soul + MY_LIFE + ((my_happiness & 0xFFFF00)<<8);
break;
case sleepy:
dx = -1; goto sleep;
case tired:
dx = -1; dy = -1; goto sleep;
case left_behind:
dx = -1; dy = 1; goto sleep;
case mad:
dx = 1; goto sleep;
case betrayed:
dx = 1; dy = -1; goto sleep;
case afraid:
dx = 1; dy = 1; goto sleep;
case pessimistic:
dy = -1; goto sleep;
case down:
dy = 1; goto sleep;
sleep:podushka[(x+dx)%p_x + (y+dy)%p_y*p_x] = BODY(my) ? my - 0x10000 : my_soul + MY_LIFE;
podushka[x + p_x*y] = my_happiness>>8;
break;
default:
return;
}
}
int main(int argc, const char * argv[]) {
//cout<<"Bormand: \"" << bormand << "\"\n";
podushka[8+p_x*9] = 1;
// Test
//print2();
for (int t = 0; t<20; ++t) {
for (int i = 0; i<p_x*p_y; ++i)
make_love(i%p_x, i/p_x);
//cout << "step: "<<t<<endl;
//print2();
}
for (int j = 0; j<p_y; ++j) {
for (int i = 0; i<p_x; ++i) {
auto c = podushka[i+p_x*j];
putchar((c>0x20 && c <0x7e)?(char)c:' ');
}
cout<<endl;
}
return 0;
}
https://ideone.com/NSbHSX
bormand
my love
+3
print for <>
Базовая функциональность программы cat на perl. Кто короче?
(только возможности самого языка без exec и подобных, шеллы вне олимпиады)
0
Как слышно из новостей, сейчас вся Украина замерла в ожидании открытия некой невъебенной национальной социальной сети от какой-то
хитрожопой дамы, решившей попилить бабло на горячей теме. Помпезный лендинг с формой подписки расположен по адресу: http://esvoe.com/
Путём нехитрого перебора доменов первого уровня был установлен адрес тестового сайта: http://esvoe.com.ua/
В общем, использоваться будет готовый говнодвижок "Socialite" (увидеть можно в директории "/public/"), листинг корневых сайтов виден
всем желающим, а при тестировании используются такие нехитрые ники, как "Твоя мамка".
Порядком подзаебла тема "моих", "национальных", "монетизированных" и тому подобных "социальных сетей". Смысла тягаться с "ВКонтакте"
и "Facebook" нет как по причине необоримой узнаваемости данных брендов, так и по причине того, что мощность их дата-центров в охулиарды
раз превышает мощность обоссаного VDS-а за какие-нибудь псят гривенок. Все, очевидно, забыли о быстром взлёте школьной поделки "Друзi"
на nulled-версии "Vii Engine" до уровня в сто тысяч зарегистрированных пользователей и о последующем молниеносном скатывании в кучу
бегемотьего навоза. Также никого ничему не научила история с белорусским клоном "ВКонтакте", "VSeti.By", на который в последние годы
всем было похуй.
А чего стоят дешёвые приманки в стиле "платим рупь за пост"...
0
while($art = $obSection->GetNext()){
for($k=0;$k<=($art['DEPTH_LEVEL']-2);$k++)
// echo "..";
// echo "<h4>Дома серии ".$arGor." в городе ";
// echo $art['NAME'].'</h4>';
$i = 1;
foreach($arResult["HOMES"] as $arHome)
{
if($art["ID"]==$arHome["IBLOCK_SECTION_ID"]){
if($dec=="" || $dec!=$art['NAME']){
echo "<h4>Дома серии ".$arGor." в городе ";
echo $art['NAME'].'</h4>';
echo "<div class=\"korp\">";
$dec = $art['NAME'];
}
echo '<a href="'.$arHome["DETAIL_PAGE_URL"].'">'.$arHome["PROPERTY_KORPUS_VALUE"].'</a>';
if(count($arResult["HOMES"])>$i)
{
echo "<div class=\"last\">, </div>";
}
$i++;
}
}
echo "</div><br>";
}
Глубокомысленный цикл for
0
while exists (
select
C.CONTRAGENT_NAME,
PR.PHONE
from CONTRAGENTS C
inner join CONTRAGENT_PROPERTIES PR on PR.CONTRAGENT_ID = C.CONTRAGENT_ID
except select NAME,PHONE from IMPORT_SOURCE)
begin
declare @IDENTITIES table (CONTRAGENT_ID int)
insert CONTRAGENTS (
CONTRAGENT_NAME,
…)
output inserted.CONTRAGENT_ID into @IDENTITIES
select distinct
NAME,
…
from IMPORT_SOURCE
insert CONTRAGENT_PROPERTIES (
…,
PHONE,
…)
select
…,
S.PHONE
…
from @IDENTITIES I
inner join CONTRAGENTS C on C.CONTRAGENT_ID = I.CONTRAGENT_ID
cross apply (
select top 1
from IMPORT_SOURCE S
left join (
select
C.CONTRAGENT_NAME,
PR.PHONE
from CONTRAGENTS C
inner join CONTRAGENT_PROPERTIES PR on PR.CONTRAGENT_ID = C.CONTRAGENT_ID
) TX on TX.CONTRAGENT_NAME = S.NAME and TX.PHONE = S.PHONE
where TX.CONTRAGENT_NAME is null)
end
Импорт. В источнике за ключевые поля нужно было взять NAME и PHONE, которые в целевой базе — в разных таблицах. Курсоры — слишком долго.