- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
def fake_bin(x):
k = ''
while len(x) > 0:
if int(x) % 10 >= 5:
k += '1'
x = x[0:-1]
else:
k += '0'
x = x[0:-1]
return k[::-1]
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
def fake_bin(x):
k = ''
while len(x) > 0:
if int(x) % 10 >= 5:
k += '1'
x = x[0:-1]
else:
k += '0'
x = x[0:-1]
return k[::-1]
0
--Запрос в яндекс за спичером
function thstart(text)
local th = [[
love.filesystem.remove("tmp.ogg");
local str = ...
local encodeURI = function(str)
if (str) then
str = string.gsub (str, "\n", "\r\n")
str = string.gsub (str, "([^%w ])",
function (c) return string.format ("%%%02X", string.byte(c)) end)
str = string.gsub (str, " ", "+")
end
return str
end
str = encodeURI(str)
local http = require("socket.http");
body = http.request("https://tts.voicetech.yandex.net/generate?text="..str.."&format=mp3&lang=ru-RU&speaker=kolya&emotion=evil&key=069b6659-984b-4c5f-880e-aaedcfd84102&speed=0.8")
if body then
love.filesystem.write("tmp.mp3",body)
love.thread.getChannel('im'):push("tmp.mp3")
else
love.thread.getChannel('im'):push("err")
end
--love.thread.getChannel('im'):push("err")
]]
tred = nil
tred = love.thread.newThread(th);
tred:start(text);
end
function thpop()
local info = love.thread.getChannel( 'im' ):pop()
if info then
if info == "err" then
return "err"
else
return info
end
end
return nil
end
+322
void worker(int id)
{
while (true) {
std::unique_lock<std::mutex> lock(connPoolMutex);
connPoolCond.wait(lock, [] { return !connectionsPool.empty(); });
ClientConnection conn = connectionsPool.front();
connectionsPool.pop();
lock.unlock();
TCPSocket sock(conn);
sock.setReadTimeout(READ_TIMEOUT);
char buffer[MAX_PACKET_LEN] = {};
int sz = sock.recv(buffer, sizeof(buffer));
// [...]
}
}
// [...]
int main()
{
// [...]
TCPSocket server("0.0.0.0:1234");
server.bind();
server.listen(1000);
while (true) {
ClientConnection conn = server.accept();
std::unique_lock<std::mutex> l(connPoolMutex);
connectionsPool.push(conn);
connPoolCond.notify_one();
}
}
Современный, многопоточный и масштабируемый сервер на C++!
TCPSocket - очень тонкая обёртка над голым сокетом.
+4
{- This code intentionally was made slightly cryptic -}
{-# LANGUAGE GADTs, StandaloneDeriving, UnicodeSyntax, KindSignatures, FlexibleInstances, LambdaCase, CPP, BangPatterns #-}
import System.Exit
import Data.Functor
import Control.Monad.IO.Class
import Control.Monad.Trans.Cont
import System.Random
import System.Posix.Signals
import System.Environment
import Control.Concurrent.MVar
instance Eq (Int → Int) where
_ == _ = True -- It's a hack
infixl 7 :.
data T ∷ * where {J, Â, Â', S, K ∷ T; (:.) ∷ T → T → T; Ψ ∷ {σ ∷ String} → T
;F ∷ (Int → Int) → T; N ∷ Int → T; Ø ∷ String → T}
parse ∷ String → [T] → T
parse ('f':'u':c) t = parse c (J:t)
parse ('b':'a':'r':c) t = parse c (Â:t)
parse ('~':c) (a:b:t) = parse c (b:.a:t)
parse ('~':_) _ = error "Parse error: missing operand(s)"
parse (_:c) t = parse c t
parse [] (h:_) = h :. Ψ []
parse [] [] = error "Parse error: empty program"
s ∷ T → T
s (J :. x) = (x :. S) :. K
s (K :. x :. _) = x
s (S :. x :. y :. z) = (x :. z) :. (y :. z)
s (F f :. N i) = N $ f i
s (F f :. F g) = F $ f . g
s (Â' :. N i :. ψ @ (Ψ {})) = ψ {σ = toEnum i : σ ψ}
s (Â :. n :. ψ @ (Ψ {})) = Â' :. (n :. F (+1) :. N 0) :. ψ
-- Other cases
s (a :. b) = (s a) :. (s b)
s x = x
eval ∷ (T → t) → (T → t) → T → t
eval fp done t | t == t' = done t
| otherwise = fp t'
where t' = s t
ψs a@Ψ{σ=s} = [(a, s)]
ψs (a:.b) = ψs a ++ ψs b
ψs _ = []
r' ∷ T → [(T, String)] -- Very inefficient; should be rewritten
r' a | null t = [(a, s)] where ((_, s):t) = ψs a
r' (a :. b) = r' a ++ r' b
r' _ = []
r ∷ T → IO (Maybe T)
r t = case r' t of
[] → return Nothing
t' → ((t' !!) <$> randomRIO (0, length t' - 1)) >>= \case
(Ψ{}, s) → putStrLn (reverse s) >> return Nothing
(t'', s) → putStrLn (reverse s) >> return (Just t'')
setMVar v = (tryTakeMVar v >>) . putMVar v
loop v f n = callCC $ \done → loop1 done (\fp → f fp done) n
where loop2 interrupt f' n = do
n' ← liftIO (readMVar v) >>= \case
0 → f' interrupt n
_ → callCC $ \fp → f' fp n
liftIO $ modifyMVar_ v $ (\k → return $ k-1)
loop2 interrupt f' n'
loop1 done f' n = do
n' ← callCC $ \int → loop2 int f' n
liftIO $ putStrLn "Measure (m) Abort (a) Continue (c) Run steps (number)"
(liftIO getLine) >>= \case
"a" → f' done n' >> return ()
"c" → liftIO $ setMVar v (-1)
"m" → liftIO (r n') >>= \case
Nothing → liftIO exitSuccess
Just n'' → loop1 done f' n'' >> return ()
a → case readsPrec 0 a of
(n,_):_ → liftIO $ setMVar v n
_ → liftIO $ putStrLn "Not understood."
loop1 done f' n'
main ∷ IO ()
main = do
(file, n) ← getArgs >>= \case
[f] → return (f, -1)
["-s", n, f] → case readsPrec 0 n of
(n',_):_ → return (f, n')
_ → error "Argument of -s should be a number"
_ → error "Insufficient arguments. Expected [-s NUMBER_OF_STEPS] FILE"
cnt ← newMVar n
installHandler keyboardSignal (Catch $ setMVar cnt 0) Nothing
void $ (r =<<) (evalContT $ loop cnt eval =<< (parse <$> readFile file))
больше трясин богу тьюринг-полноты
1) литературное программирование
2) зайчатки REPL
3) чисто функциональное IO без манад и uniq-types
4) "квантовые" вычисления
5) только два комбинатора
−146
n = 0
for i in range(n):
pass
print i
NameError: name 'i' is not defined
+9
template<...many params...>
class Foo
{
template <typename T>
class __Bar
{
T t;
public :
__Bar(T t) : t(t) {}
};
public :
template <typename T>
__Bar<T> Bar(T t)
{
return __Bar<T>(t); // просто __Bar(t) нельзя, вывод не сработает
}
template <typename T>
void Buzz (T t)
{
}
};
...
Foo f;
f.Buzz(Bar(5));
А как вы выкручиваетесь из неумения определять тип результата по типу параметров конструктора?
−139
>> # HTML/4.01 says that line breaks are represented as "CR LF" pairs (i.e., `%0D%0A')
>> $content =~ s/(?<!%0D)%0A/%0D%0A/g if defined($content);
HTTP::Request::Common 6.04, строка 86
http://cpansearch.perl.org/src/GAAS/HTTP-Message-6.04/lib/HTTP/Request/Common.pm
Оно просто берёт и изменяет передаваемый контент. Любой. В том числе просто бинарные данные.
+32
// *.h
class MyClass {
public:
MyClass ();
~MyClass ();
// ..etc
};
// *.cpp
#include "*.h"
MyClass *mycl;
MyClass::MyClass ()
{
mycl=this; // эту строчку не удалять без нее не работает, точнее не всегда работает иногда сбоит
}
MyClass::~MyClass ()
{
}
Простите меня пожалуйста. Я уныл чуть мене чем полностью, но почему человек которые это написал хороший программист. Это писал не я. Извините пожалуйста за беспокойство :( ..
+170
<?
if (!$_SESSION['signed_id_user'] || $_SESSION['signed_id_group'] != 1) {
$pagetitle = 'Необходима авторизация';
$pagecontent .= "<p> <p>\n";
$pagecontent .= "<p> <p>\n";
$pagecontent .= "<p> <p>\n";
$pagecontent .= "<p> <p>\n";
$pagecontent .= "<div align=\"center\" style=\"width: 400px;\">\n";
$pagecontent .= "<form action=\"login.php\" method=\"post\">\n";
$pagecontent .= "<fieldset class=\"bw\">\n";
$pagecontent .= " <legend class=\"bw\">авторизация пользователя</legend>\n";
$pagecontent .= " <p>Поля, помеченные <span class=\"required\">*</span> являются обязательными для заполнения</p>\n";
$pagecontent .= " <table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"300\" align=\"center\">\n";
$pagecontent .= " <tr>\n";
$pagecontent .= " <td width=\"160\" align=\"right\">имя пользователя:</td>\n";
$pagecontent .= " <td width=\"120\"><input type=\"text\" size=\"20\" class=\"baseinput\" name=\"username\" id=\"username\" /></td>\n";
$pagecontent .= " <td><div id=\"msgUsername\" class=\"required\">*</div></td>\n";
$pagecontent .= " </tr>\n";
$pagecontent .= " <tr>\n";
$pagecontent .= " <td width=\"160\" align=\"right\">пароль:</td>\n";
$pagecontent .= " <td width=\"120\"><input type=\"password\" size=\"20\" class=\"baseinput\" name=\"password\" id=\"password\" /></td>\n";
$pagecontent .= " <td><div id=\"msgPassword\" class=\"required\">*</div></td>\n";
$pagecontent .= " </tr>\n";
$pagecontent .= " <tr>\n";
$pagecontent .= " <td width=\"160\"> </td>\n";
$pagecontent .= " <td width=\"120\"><input type=\"submit\" class=\"button\" name=\"posted\" value=\"Войти\" /></td>\n";
$pagecontent .= " <td> </td>\n";
$pagecontent .= " </tr>\n";
$pagecontent .= " </table>\n";
$pagecontent .= "</fieldset>\n";
$pagecontent .= "</form>\n";
$pagecontent .= "</div>\n";
$pagecontent .= "<p> <p>\n";
$pagecontent .= "<p> <p>\n";
$pagecontent .= "<p> <p>\n";
$pagecontent .= "<p> <p>\n";
$tpl = new Template();
$tpl->set_file('tpl/e-con_bw.tpl');
$tpl->add_var('PAGETITLE', $pagetitle);
$tpl->add_var('PAGECONTENT', $pagecontent);
echo $tpl->output();
$tpl = NULL;
exit();
}
?>
Подскажите, пожалуйста, нахер с таким стилем кодинга вообще шаблонизатор надо?..
+148
int getGKnumber()
{
return 7000;
}
просто гет :)