- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
#include <iostream>
#include <tuple>
using namespace std;
int main() {
int a = 5, b = 6;
tie(a, b) = make_pair(b, a);
cout << a << " " << b << endl;
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
#include <iostream>
#include <tuple>
using namespace std;
int main() {
int a = 5, b = 6;
tie(a, b) = make_pair(b, a);
cout << a << " " << b << endl;
return 0;
}
https://ideone.com/9gzogv
+1
Что-то я давно не обсирал тут хуиту, которую пишут про
плюсы на хабре
https://habr.com/post/426965/
Идеального способа для обработки ошибок не существует.
До недавнего времени в С++ были почти все возможные
способы обработки ошибок кроме монад.
В этой замечательной статье забыли упомянуть setjmp/longjmp(std::longjmp если угодно), который хоть и из Си, но в C++ его никто не запрещал.
А еще signal (std::signal, если угодно), который хоть и из Си, но в C++ его никто не запрещал.
А еще goto (почему нет std::goto? Запилите быстраблядь!), который хоть и из Си, но в C++ его никто не запрещал.
А вообще, зачем иметь в языке такое количество говна в СТАНДАРТНОЙ БИБЛИОТЕКЕ для такой хуиты?
Вот еще в тему: https://video.twimg.com/tweet_video/De78Qn2XcAAQqfS.mp4
+1
/* Сортировка начало */
if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 4) {
$model->orderBy([
'number' => SORT_DESC,
]);
} else {
if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 5) {
$model->orderBy([
'number' => SORT_ASC,
]);
}
}
if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 4) {
$model->orderBy([
$company_name => SORT_DESC,
]);
} else {
if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 5) {
$model->orderBy([
$company_name => SORT_ASC,
]);
}
}
if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 4) {
$model->orderBy([
'domain_id' => SORT_DESC,
]);
} else {
if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 5) {
$model->orderBy([
'domain_id' => SORT_ASC,
]);
}
}
if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 4) {
$model->orderBy([
'id' => SORT_DESC,
]);
} else {
if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 5) {
$model->orderBy([
'id' => SORT_ASC,
]);
}
}
/* Сортировка конец */
/* Поиск начало */
if (Yii::$app->request->get('id') && strlen(Yii::$app->request->get('id')) >= 1) {
$model->andWhere([
'id' => Yii::$app->request->get('id'),
]);
}
if (Yii::$app->request->get('number') && strlen(Yii::$app->request->get('number')) >= 3) {
$model->andWhere(['number' => Yii::$app->request->get('number'),
]);
}
if (Yii::$app->request->get('domain_name') && strlen(Yii::$app->request->get('domain_name')) >= 3) {
$model->andWhere([$company_name => Yii::$app->request->get('domain_name'),
]);
}
if (Yii::$app->request->get('domain_id') && strlen(Yii::$app->request->get('domain_id')) >= 3) {
$model->andWhere(['domain_id' => Yii::$app->request->get('domain_id'),
]);
}
if (Yii::$app->request->get('appointment') && strlen(Yii::$app->request->get('appointment')) >= 3) {
$model->andWhere(['appointment' => Yii::$app->request->get('appointment'),
]);
}
/* Поиск конец */
Джуна отправили в свободное плавание... как вам?
0
GET
+1
public class TransactionRequestViewModel
{
public string X_login { get; set; }
public double X_amount { get; set; }
public int X_fp_sequence { get; set; }
public int X_fp_timestamp { get; set; }
public string X_fp_hash { get; set; }
public string X_show_form { get; set; }
public string X_receipt_link_method { get; set; }
public string X_receipt_link_text { get; set; }
public string X_receipt_link_url { get; set; }
public string X_currency_code { get; set; }
public string X_line_item { get; set; }
}
Этот "Х" добавляет +80 к читаемости.
+2
<?php
define('+1', 16384);
${'*.'} = function ($a, $b) {
return floor($a * $b / constant('+1'));
};
${'/.'} = function ($a, $b) {
return floor($a * constant('+1') / $b);
};
echo ${'/.'}(1, 1) . "\n";
echo ${'/.'}(1, 2) . "\n";
echo ${'/.'}(7, 34) + ${'/.'}(23, 99) . "\n";
Где-то за кулисами прячется факт, что в "PHP" в качестве имён констант и переменных можно использовать произвольные строки.
https://ideone.com/3MCnCW
+1
public function index(Request $request)
{
$user = User::find(Auth::user()->id);
if($request->method() == 'POST') {
$user->username = $request->post('username');
$user->email = $request->post('email');
$user->save();
return redirect()->to(route('account.settings'));
}
return view('Account::settings.index', ['user' => $user]);
}
−1
Грядет конец PHP
В общем вот:
https://www.linux.org.ru/forum/talks/14542930
Компания Rogue Wave, финансовая основа разработки PHP, решила забить на развитие PHP, сосредоточившись на одном конкретном продукте на его основе - Zend Server. Два года назад из нее ушел первый сооснователь Zend. Теперь же... Ядро команды, включая второго сооснователя Zend, уходит из компании. Они заранее написали в своих бложиках обращение с просьбой взять их под свое крыло для разработки ядра PHP 8.
Как-то это мрачновато звучит. Похоже, похапэ-капец настал.
Подробности по-русски на Хабре: https://habr.com/post/426809/
0
Писал значит обмен ну там по http запросами и прочим говном на 1С между сайтом на битриксе и самой базой.
Сидел и думал, каким форматом обмениваться
Эти ссаные phpшники из центральной россии предлагали JSON и CSV.
А я подумал, и подумал что не хочу слишком банально. Написал сериализацию с 1С в lua, и обмениваюсь lua.
эти phpшные хуйни в шоке, ведь у них нет такого десериализатора. Жду от них результата уже джва года.
ух какой я злодей.
0
безысходность
В начале нулевых миром правил пафосный и сложный интерпрайз. Люди строили многоtierные распределенные системы с кучей ролей и суровыми СУБД, и у них это отлично получалось.
Ярусы (tiers) с бизнес-логикой предоставляли интерфейсы для десктопных и веб клиентов, и для скриптов автоматизации.
Ярусы пронизвала прозрачная аутентификация: сервер приложений мог имперсонировать свой поток под клиента и обратиться от его имени в базу данных.
Единую аутентификацию обеспечивал Kerberos, а каждый объект (будь то таблица или пользователь) обладал ACLем и настраивался отдельно.
Интерфейсы описывались в WSDL или IDL и по ним генерировались прокси-классы, поддающиеся статической валидации.
Отчеты строились на многомерных OLAP кубах позволяя pivotировать и крутить данные на лету.
Бизнес-объекты могли создаваться на удаленных серверах приложений и быть там stateful (dcom, ejb) и жить, пока не кончатся на них ссылки, и они автоматически имели те же креденшелы что и создавший их клиент.
Распределенные системы напоминали системы операционные.
Форматом сериализации был XML: поддающийся валидации с помощью схем, имеющий два вида парсеров в разных средах и с кучей подстандартов вроде xquery, xpath (для указания пути в документе), xslt для преобразования документов итд.
На его же основе сделали язык разметки, и его тоже стало можно валидировать, и программно рассматривать как дерево.