- 1
- 2
- 3
- 4
if let attrs = profile?.attrs {
let json = NSKeyedUnarchiver.unarchiveObject(with: attrs as Data) as? [String:AnyObject]
textField.text = String(format: "%@", (json?["number"] as? String)!)
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
if let attrs = profile?.attrs {
let json = NSKeyedUnarchiver.unarchiveObject(with: attrs as Data) as? [String:AnyObject]
textField.text = String(format: "%@", (json?["number"] as? String)!)
}
Кто пишет на Swift – разделит всю боль поддержки такого кода.
+4
// Consumer
$channel->run(
new GracefulHandler(
new LoggingHandler(
new AcknowledgingHandler(
new JsonDecodingHandler(
new ValidatingHandler(
new DbalReconnectingHandler(
new AmqpPublishingHandler(
new Mailman($channel, $exchangeName),
new PrintNodePrinterPool(
new PluginClient(
new HttpClient(),
[new AuthenticationPlugin(new BasicAuth($key, ''))]
),
MessageFactoryDiscovery::find()
),
new DbalBatchFactory(
$connection,
new S3BatchLabelFactory(
new S3Client(
[
'version' => 'latest',
'region' => $region,
'credentials' => [
'key' => $key,
'secret' => $secret,
],
]
),
$bucket,
$logger
),
new LabelFactory(
new GuzzleClient(),
new PickTicketFactory($template, $layouts)
)
)
),
$connection
),
__DIR__ . '/schema.json'
)
)
),
$logger
)
),
$name
);
Пример consumer на PHP для RabbitMQ (Yegor OOP style)
+2
defmodule Utils.String do
@moduledoc false
def comma_split(str), do: String.split(str, " ", trim: true)
end
0
#include <optional>
namespace aim {
template <typename T, template <typename> typename Cont>
struct is_valid {};
template <typename T, template <typename> typename Cont>
struct chain;
template <typename T, template <typename> typename Cont>
struct chain {
using value_type_t = T;
using holder_t = Cont<value_type_t>;
chain()
{}
chain(holder_t&& value_)
: value(std::move(value_))
{}
template <typename Func>
constexpr auto otherwise(Func&& func) {
return chain<T, Cont>{std::move(func())};
}
template <typename Func>
constexpr auto with(Func&& func) -> chain<value_type_t, Cont> {
if (bool(value)) {
return chain<value_type_t, Cont>{Cont<value_type_t>{func(*value)}};
}
else {
return chain<value_type_t, Cont>{};
}
}
holder_t value;
};
template <typename T, template <typename> typename Cont>
chain(Cont<T>&&) -> chain<T, Cont>;
template <typename T, template <typename> typename Cont>
struct use {
using value_type_t = T;
using holder_t = Cont<value_type_t>;
use(holder_t&& value)
: value(std::move(value))
{}
template <typename Func>
constexpr auto with(Func&& func) -> chain<value_type_t, Cont> {
if (is_valid<T, Cont>{}(value)) {
return chain<value_type_t, Cont>{Cont<value_type_t>{func(*value)}};
}
else {
return chain<value_type_t, Cont>{};
}
}
holder_t value;
};
template <typename T, template <typename> typename Cont>
use(Cont<T>&&) -> use<T, Cont>;
}
namespace aim {
template <typename T>
struct is_valid<T, std::optional> {
constexpr bool operator()(std::optional<T> const& value) {
return bool(value);
}
};
}
#include <iostream>
#include <memory>
int main() {
{
std::optional<int> a;
aim::use(std::move(a)).with([](auto v) {
std::cout << v << '\n';
return 1;
}).otherwise([](){
std::cout << "it's none!\n";
return 2;
}).with([](auto v){
std::cout << v << '\n';
return 3;
});
}
}
говно
−1
function color_search($color) {
$arColor["COLOR"] = explode(",","aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow,yellowgreen,black,dimgray,gray,darkgray,silver,lightgrey,gainsboro,whitesmoke,white,snow,rosybrown,lightcoral,indianred,brown,firebrick,maroon,darkred,red,salmon,mistyrose,tomato,darksalmon,coral,orangered,lightsalmon,sienna,seashell,saddlebrown,chocolate,peachpuff,sandybrown,linen,peru,bisque,darkorange,antiquewhite,tan,burlywood,blanchedalmond,navajowhite,papayawhip,moccasin,oldlace,wheat,orange,floralwhite,goldenrod,darkgoldenrod,cornsilk,gold,lemonchiffon,khaki,palegoldenrod,darkkhaki,ivory,beige,lightyellow,olive,yellow,olivedrab,yellowgreen,darkolivegreen,greenyellow,lawngreen,chartreuse,honeydew,darkseagreen,lightgreen,palegreen,forestgreen,limegreen,darkgreen,green,lime,seagreen,mediumseagreen,mintcream,springgreen,mediumspringgreen,mediumaquamarine,aquamarine,turquoise,lightseagreen,mediumturquoise,azure,paleturquoise,darkslategray,teal,darkcyan,aqua,cyan,lightcyan,darkturquoise,cadetblue,powderblue,lightblue,deepskyblue,skyblue,lightskyblue,steelblue,aliceblue,slategray,lightslategray,dodgerblue,lightsteelblue,cornflowerblue,royalblue,ghostwhite,lavender,midnightblue,navy,darkblue,mediumblue,blue,darkslateblue,slateblue,mediumslateblue,mediumpurple,blueviolet,indigo,darkorchid,darkviolet,mediumorchid,thistle,plum,violet,purple,darkmagenta,fuchsia,magenta,orchid,mediumvioletred,deeppink,hotpink,lavenderblush,palevioletred,crimson");
if(in_array($color, $arColor["COLOR"])){
return $color;
}
}
+491
app::storage()->setUserUploadDir('public');
app::storage()->avatar = 'profile/avatars';
app::storage()->background = 'profile/background';
app::storage()->audioFile = 'music';
app::storage()->videoFile = 'video/file';
app::storage()->videoScreen = 'video/screen';
app::storage()->forum = 'forum';
app::storage()->systemImages = 'system/images';
app::storage()->tmpUpload('upload');
app::storage()->registerMethod('avatar', function($id, $type = false)
{
if($type==true){
return app::storage()->fileExists(app::storage()->path('avatar').'/'.$id.'.png') ? '/'.app::storage()->path('avatar').'/'.$id.'.png' : null;
}else{
return '/'.app::storage()->path('avatar').'/'.$id.'.png';
}
} );
app::storage()->registerMethod('defaultAvatar', function()
{
return '/'.app::storage()->path('systemImages').'/noavatar.png';
} );
Загрузка файлов от программиста с двадцатилетним стажем.
+366
var organizations =
test.ExtensionInformation.Cast<object>()
.Select(ext => ext as GenericPair<string, string>)
.Where(pair => pair.first == "{$idSenderOrganization}")
.Where(pair =>
{
int o_O;
return int.TryParse(pair.second, out o_O);
})
.Select(_ => int.Parse(_.second));
+4
#include <IO/Stream.h>
#include "Algorithms/Range.h"
#include "Algorithms/RangeConstruct.h"
#include "Algorithms/RangeIteration.h"
#include "Algorithms/RangeMutation.h"
using namespace IO;
using namespace Range;
int main()
{
Console.PrintLine("Есть нормальная поддержка Юникода в консоли, даже на винде.");
Console.PrintLine("Тестируется текст с кириллицей, греческим алфавитом αβγδεζηθικλμνξο, а также с иероглифами ㈇㌤㈳㌛㉨.");
Console.PrintLine("Иероглифы не отображаются в консоли, потому что консольный шрифт их не содержит, но копируются оттуда нормально.");
StringView strs[] = {"hello", "world"};
StringView strs1[] = {"range", "testing", "program"};
StringView strs2[] = {"C++", "крут"};
Console.PrintLine("В тесте используются три массива:", endl, strs, endl, strs1, endl, strs2);
Console.PrintLine(endl, "Пример вывода initializer list:", endl, AsRange<double>({4353.435, 3243.23, 21.421, 12355.5, 64532}));
auto fib = Recurrence(Algo::Op::Add<int>, 1, 1);
Array<int> fibArr;
fibArr.SetCountUninitialized(15);
auto copyResult = fib.Take(15).Copy(fibArr());
Console.PrintLine(endl, "Последовательность Фибоначчи в массиве: ", endl, fibArr());
Console.PrintLine(endl, "Вторая половина того же массива задом наперёд: ", endl, fibArr($/2, $).Retro());
fib.Drop(5).Take(15).Copy(fibArr.Insert($));
Console.PrintLine(endl, "Добавляем 15 чисел Фибоначчи, начиная с пятого, в конец. Новое содержимое массива: ");
Console.PrintLine(fibArr());
Console.PrintLine(endl, "Объединяем элементы различных диапазонов в диапазоне кортежей: ", endl, ToString(
Zip(
fib.Take(30),
Chain(AsRange(strs), AsRange(strs1), AsRange(strs2)).Cycle().Take(20),
Recurrence([](int a, int b){return a*2+b;}, 1, 1).Take(17).Cycle().Drop(3).Take(22),
fib.Take(19).Cycle().Drop(5).Take(50).Stride(3),
Recurrence(Algo::Op::Mul<ulong64>, 2ull, 3ull).Take(9)
),
",\n ", "[\n ", "\n]"));
static const StringView pattern[] = {"pattern", "fills", "range"};
Chain(AsRange(strs), AsRange(strs1), AsRange(strs2)).FillPattern(AsRange(pattern));
Console.PrintLine(endl, "Поменяли сразу три массива одним вызовом FillPattern: ");
Console.PrintLine(strs, endl, strs1, endl, strs2, endl);
Console.PrintLine("11-й элемент зацикленного массива строк: ", endl, AsRange(strs).Cycle().Take(11).Tail(1), endl);
Console.PrintLine("Перевёрнутый массив строк: ", endl, AsRange(strs).Retro(), endl);
Console.PrintLine("Зациклили первые два элемента массива и взяли 10 из них:");
Console.PrintLine(AsRange(strs1).Take(2).Cycle().Take(10) );
Console.PrintLine("Между массивом строк и 5 числами Фибоначчи выбрали второе в рантайме: ");
Console.PrintLine(Choose(AsRange(strs1), fib.Take(5).Map([](int x){return ToString(x);}), true) );
static const size_t indices[] = {1,1,1,2,2,0,2,1,0};
Console.PrintLine(
RoundRobin(
AsRange(strs1).Indexed(AsRange(indices)),
Repeat(StringView("Test"), 5),
AsRange(strs1),
AsRange(strs2)
));
Console.PrintLine(endl, "Введите строки, которые войдут в диапазон строк. В конце введите \"end\".");
Console.PrintLine("Вы ввели следующие строки:", endl, ToString(Console.ByLine("end")) );
int arr[]={1, 4, 11, 6, 8};
Console.PrintLine("max{1, 4, 11, 6, 8} = ", AsRange(arr).Reduce(Algo::Op::Max<int>));
Console.PrintLine("Генерация 100 случайных чисел от 0 до 999 и вывод квадратов тех из них, которые делятся на 7: ", endl,
Generate([](){return math::urandom()%1000;}).Take(100)
.Filter([](uint x) {return x%7==0;})
.Map(math::sqr<uint>)
);
return 0;
}
Давно здесь не было моих велосипедов. А они с тех пор сильно эволюционировали, я даже многие фичи из языка D смог перенести в C++.
Вывод в консоль и обсуждение здесь: http://www.gamedev.ru/flame/forum/?id=216045&page=99#m1481
+2
<? if (mail($mail, $subject, $text, $headers))
{
?>
<?=('<div class="container"><div class="row"><div class="block-header col-lg-12 col-md-12 col-sm-12 col-xs-12"><h2>Благодарим Вас за обращение, в ближайшее время с вами свяжется наш сотрудник.</h2></div></div></div>')?>
<?
} else {
?>
<?=('<br><b>Возникли проблемы при отправке почты</b>')?>
<?
} ?>
попросили поправить код после предыдущего разраба )
+4
$aProductType = [];
$productName = $conn->query("SELECT value FROM catalog_product_entity_varchar WHERE entity_id = '" . $value['entity_id'] . "' AND attribute_id = 71")->fetch();
$productUrl = $conn->query("SELECT value FROM catalog_product_entity_varchar WHERE entity_id = '" . $value['entity_id'] . "' AND attribute_id = 98")->fetch();
$productImage = $conn->query("SELECT value FROM catalog_product_entity_media_gallery WHERE entity_id = '" . $value['entity_id'] . "'")->fetchAll();
$productPrice = $conn->query("SELECT value FROM catalog_product_entity_decimal WHERE entity_id = '" . $value['entity_id'] . "' AND attribute_id = 75")->fetch();
$productType = $conn->query('SELECT category_id FROM catalog_category_product WHERE product_id = ' . $value['entity_id'])->fetchAll();
$productAvailable = $conn->query('SELECT qty FROM cataloginventory_stock_item WHERE product_id = ' . $value['entity_id'])->fetch();
$productDesc = $conn->query('SELECT value FROM catalog_product_entity_text WHERE entity_id = "' . $value['entity_id'] . '"')->fetch();
Magento, controller, indexAction, front