- 1
https://www.youtube.com/watch?v=WT-oowiPUVQ
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://www.youtube.com/watch?v=WT-oowiPUVQ
Черная дыра
+1
importPackage(Packages.com.sk89q.worldedit);
importPackage(Packages.com.sk89q.worldedit.blocks);
importPackage(Packages.com.sk89q.worldedit.tools);
importPackage(Packages.com.sk89q.worldedit.tools.brushes);
importPackage(Packages.com.sk89q.worldedit.patterns);
var bSize = argv.length > 1 ? parseInt(argv[1]) : 4;
var maxFaces = argv.length > 2 ? (argv[2]) : 2;
var strength = argv.length > 3 ? (argv[3]) : 1;
var xOff = ['1', '-1', '1', '1', '-1', '1', '-1', '-1'];
var yOff = ['1', '1', '-1', '1', '-1', '-1', '1', '-1'];
var zOff = ['1', '1', '1', '-1', '1', '-1', '-1', '-1'];
if (bSize == 0) {bSize = 4;}
var blocks = new Array();
var tool = context.getSession().getBrushTool(player.getItemInHand());
var matPat = new SingleBlockPattern(new BaseBlock(maxFaces));
tool.setSize(bSize);
tool.setFill(matPat);
var brush = new Brush({
strength : strength,
build : function(editSession,pos,mat,bSize) {
var session = context.remember();
for (iteration = 1; iteration <= strength; iteration++) {
var matID = mat.getBlock().getType();
maxFaces = ((matID >= 0) && (matID <= 6)) ? matID : 3;
var blockTotal = 0;
var blockCnt = 0;
var blockFaces = new Array(6);
radius = bSize + 0.5;
var invRadius = 1 / radius;
var ceilRadius = Math.ceil(radius);
var nextXn = 0;
forX: for (var x = 0; x <= ceilRadius; ++x) {
var xn = nextXn;
nextXn = (x + 1) * invRadius;
var nextYn = 0;
forY: for (var y = 0; y <= ceilRadius; ++y) {
var yn = nextYn;
nextYn = (y + 1) * invRadius;
var nextZn = 0;
forZ: for (var z = 0; z <= ceilRadius; ++z) {
var zn = nextZn;
nextZn = (z + 1) * invRadius;
var distanceSq = lengthSq(xn, yn, zn);
if (distanceSq > 1) {
if (z == 0) {
if (y == 0) {
break forX;
}
break forY;
}
break forZ;
}
for (var dirLoop = 0; dirLoop <= 7 ; dirLoop++) {
var pt = pos.add(x * xOff[dirLoop], y * yOff[dirLoop], z * zOff[dirLoop]);
var curBlock = editSession.getBlock(pt);
blockCnt = 0;
blockFaces = [];
blockFaces[1] = editSession.getBlockType(pt.add(1,0,0));
blockFaces[2] = editSession.getBlockType(pt.add(-1,0,0));
blockFaces[3] = editSession.getBlockType(pt.add(0,1,0));
blockFaces[4] = editSession.getBlockType(pt.add(0,-1,0));
blockFaces[5] = editSession.getBlockType(pt.add(0,0,1));
blockFaces[6] = editSession.getBlockType(pt.add(0,0,-1));
for (var lpC = 1; lpC <= 6; lpC++) {
if((blockFaces[lpC]) == 0) {blockCnt++;}
}
if (blockCnt >= maxFaces) {
blocks[blockTotal] = BlockID.AIR;
}
else {
blocks[blockTotal] = curBlock.getType();
}
blockTotal++;
}
}
}
Какой багор )))
+1
export default class CheckboxFilter extends React.PureComponent {
private handleChange = (field: string) => (value: unknown) => {
const { onChange } = this.props;
onChange({params: { [field]: value }})
};
private onChangeValue(value: string, onChange: (value: string | null) => void, checked: boolean) {
onChange(checked ? value : null);
}
private onChange = (e: any) => {
const {value, type} = this.props;
if(value) {
this.onChangeValue.bind(null, value, this.handleChange(type))(e);
} else {
this.handleChange(type)(e);
}
}
public render() {
const {checked, children} = this.props;
return (
<Checkbox
onChange={this.onChange}
name='check'
checked={checked}
>
{children}
</Checkbox>
)
}
};
Код на react / typescript.
Особое внимание методу onChange
+1
public class Uptime {
private short minute;
private byte hour;
private short day;
private short month;
private short year;
public Uptime() {
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(() -> {
minute++;
if(minute >= 61) {
hour++;
minute = 0;
if(hour >= 25) {
day++;
hour = 0;
if(day >= 31) {
month++;
day = 0;
if(month >= 13) {
year++;
month = 0;
}
}
}
}
}, 1, 1, TimeUnit.MINUTES);
}
public short getMinute() {
return minute;
}
public byte getHour() {
return hour;
}
public short getDay() {
return day;
}
public short getMonth() {
return month;
}
public short getYear() {
return year;
}
}
Код для получения аптайма приложения.
+1
<?php
namespace App\Http\Controllers\Admin;
use App\Command\Admin\User\Create\Command as UserCreateCommand;
use App\Command\Admin\User\Update\Command as UserUpdateCommand;
use App\Command\Admin\User\Remove\Command as UserRemoveCommand;
use App\Command\User\Auth\Verify\Command as UserVerifyCommand;
use App\Command\Admin\User\Draft\Command as UserDraftCommand;
use App\Command\CommandBus;
use App\Entity\User\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\Users\CreateRequest;
use App\Http\Requests\Admin\Users\UpdateRequest;
use App\Query\Admin\User\FindUsersByDescQuery;
use App\Query\Admin\User\Role\GetUserRolesQuery;
use App\Query\Admin\User\Status\GetUserStatusesQuery;
use App\Query\QueryBus;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
class UsersController extends Controller
{
private $commandBus;
private $queryBus;
public function __construct(CommandBus $commandBus, QueryBus $queryBus)
{
$this->commandBus = $commandBus;
$this->queryBus = $queryBus;
}
public function index()
{
$query = $this->queryBus->query(new FindUsersByDescQuery());
$users = $query->paginate(20);
$statuses = $this->queryBus->query(new GetUserStatusesQuery());
$roles = $this->queryBus->query(new GetUserRolesQuery());
return view('admin.users.index', compact('users', 'statuses', 'roles'));
}
public function create()
{
return view('admin.users.create');
}
public function store(CreateRequest $request)
{
$this->commandBus->handle(new UserCreateCommand($request));
return redirect()->route('admin.users.index');
}
public function show(User $user)
{
return view('admin.users.show', compact('user'));
}
public function edit(User $user)
{
$roles = $this->queryBus->query(new GetUserRolesQuery());
return view('admin.users.edit', compact('user', 'roles'));
}
public function update(UpdateRequest $request, User $user)
{
$this->commandBus->handle(new UserUpdateCommand($request, $user));
return redirect()->route('admin.users.index');
}
public function destroy(User $user)
{
$this->commandBus->handle(new UserRemoveCommand($user));
return redirect()->route('admin.users.index');
}
public function verify(User $user)
{
$this->commandBus->handle(new UserVerifyCommand($user));
return redirect()->route('admin.users.show', $user);
}
public function draft(User $user)
{
$this->commandBus->handle(new UserDraftCommand($user));
return redirect()->route('admin.users.show', $user);
}
}
+1
case 1342:
{
if(!response) return true;
//ShowPlayerDialogEx(playerid,1342,DIALOG_STYLE_LIST, "Рыбалка","Начать / Закончить рыбалку\nНакопать червей\nПриготовить рыбу\nСъесть рыбу\nИнформация\nПомощь", "Выбор", "Выход");
switch(listitem)
{
case 0:
{
//if(!IsAtFishPlace(playerid)) return SendClientMessage(playerid,0x81DA99AA,"Вы должны находиться возле причала");
if(!GetPVarInt(playerid,"fish_began"))
{
if(!GetPVarInt(playerid,"fish_rod")) return SendClientMessage(playerid,0x81DA99AA,"У вас нет удочки");
if(!GetPVarInt(playerid,"fish_gear")) return SendClientMessage(playerid,0x81DA99AA,"У вас нет снастей");
if(!GetPVarInt(playerid,"fish_worms")) return SendClientMessage(playerid,0x81DA99AA,"У вас нет червей");
UpdateFish(playerid);
PlayerTextDrawShow(playerid,FishingText[playerid]);
SetPlayerAttachedObject(playerid, 0,18632,6,0.079376,0.037070,0.007706,181.482910,0.000000,0.000000,1.000000,1.000000,1.000000);
SetPVarInt(playerid,"fish_began",1);
DeletePVar(playerid,"fish_time");
DeletePVar(playerid,"fish_ready");
}
else
{
//if(ribachit[playerid] == 1) return SendClientMessage(playerid,0x81DA99AA,"В данный момент нельзя завершить рыбалку");
RemovePlayerAttachedObject(playerid,0);
DeletePVar(playerid,"fish_began");
DeletePVar(playerid,"fish_ready");
DeletePVar(playerid,"fish_time");
ClearAnimations(playerid);
PlayerTextDrawHide(playerid,FishingText[playerid]);
}
}
case 1:
{
if(!IsPlayerInRangeOfPoint(playerid, 25,1957.3359,206.6625,30.5146) && !IsPlayerInRangeOfPoint(playerid, 25,10.2461,-85.6648,3.1094) &&
!IsPlayerInRangeOfPoint(playerid, 25,-200.7619,6.3196,3.1094) && !IsPlayerInRangeOfPoint(playerid, 25,-1120.5344,-997.0002,129.2188) && !IsPlayerInRangeOfPoint(playerid, 25,-224.8588,-1363.7963,7.2658)) return SendClientMessage(playerid,0x81DA99AA,"Неудачное место для поиска");
if(random(2) == 1) ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 6.1, 0, 0, 0, 0, 0,1), SetPVarInt(playerid,"fish_worms",GetPVarInt(playerid,"fish_worms")+10), SendClientMessage(playerid,0x81DA99AA,"Вы нашли 10 червей!"), ShowPlayerDialogEx(playerid,1342,DIALOG_STYLE_LIST, "Рыбалка","Начать / Закончить рыбалку\nНакопать червей\nПриготовить рыбу\nСъесть рыбу\nПродать рыбу\nИнформация\nПомощь", "Выбор", "Выход");
else return ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 6.1, 0, 0, 0, 0, 0,1), SendClientMessage(playerid,0x81DA99AA,"Вы ничего не нашли"), ShowPlayerDialogEx(playerid,1342,DIALOG_STYLE_LIST, "Рыбалка","Начать / Закончить рыбалку\nНакопать червей\nПриготовить рыбу\nСъесть рыбу\nПродать рыбу\nИнформация\nПомощь", "Выбор", "Выход");
}
case 2:
{
if(PTEMP[playerid][pFishesPach] >= 25) return SendClientMessage(playerid,0x81DA99AA,"У вас 25 / 25 пачек рыбы");
if(PTEMP[playerid][pFishes] < 20) return SendClientMessage(playerid,0x81DA99AA,"Для создания требуется 20 кг. рыбы");
PTEMP[playerid][pFishesPach]++;
PTEMP[playerid][pFishes]-=float(20);
SendMes(playerid,0x81DA99AA,"Вы приготовили рыбу. У вас %i / 25 пачек.",PTEMP[playerid][pFishesPach]);
ShowPlayerDialogEx(playerid,1342,DIALOG_STYLE_LIST, "Рыбалка","Начать / Закончить рыбалку\nНакопать червей\nПриготовить рыбу\nСъесть рыбу\nПродать рыбу\nИнформация\nПомощь", "Выбор", "Выход");
}
case 3:
{
if(PTEMP[playerid][pFishesPach] < 1) return SendClientMessage(playerid,0x81DA99AA,"Недостаточно рыбы");
PTEMP[playerid][pFishesPach]--;
PTEMP[playerid][pSatiety]=100;
SendMes(playerid,0x81DA99AA,"«Сытость» пополнена до 100. У вас %i / 25 пачек.",PTEMP[playerid][pFishesPach]);
ShowPlayerDialogEx(playerid,1342,DIALOG_STYLE_LIST, "Рыбалка","Начать / Закончить рыбалку\nНакопать червей\nПриготовить рыбу\nСъесть рыбу\nПродать рыбу\nИнформация\nПомощь", "Выбор", "Выход");
}
case 4:
{
for(new i = 1; i <= TotalBizz; i++)
{
if(PTEMP[playerid][pFishes] < 2) return SendClientMessage(playerid,0x81DA99AA,"Недостаточно рыбы");
if (PlayerToPoint(10, playerid,BizzInfo[i][bBarX], BizzInfo[i][bBarY], BizzInfo[i][bBarZ]) && BizzInfo[i][bType] == 2 && GetPlayerVirtualWorld(playerid) == BizzInfo[i][bVirtualWorld])
{
PTEMP[playerid][pCash] +=floatround(PTEMP[playerid][pFishes])*5;
if(BizzInfo[i][bProducts]+floatround(PTEMP[playerid][pFishes]) < 2000) BizzInfo[i][bProducts]+=floatround(PTEMP[playerid][pFishes]);
else BizzInfo[i][bProducts]=2000;
format(YCMDstr,sizeof(YCMDstr), "Вы продали %.1f кг. рыбы. Выручка: %i вирт",PTEMP[playerid][pFishes],floatround(PTEMP[playerid][pFishes]));
SendClientMessage(playerid,0x81DA99AA,YCMDstr);
PTEMP[playerid][pFishes] = 0;
ShowPlayerDialogEx(playerid,1342,DIALOG_STYLE_LIST, "Рыбалка","Начать / Закончить рыбалку\nНакопать червей\nПриготовить рыбу\nСъесть рыбу\nПродать рыбу\nИнформация\nПомощь", "Выбор", "Выход");
break;
}
}
}
И так ещё 2мб кода. Кому интересно глянуть полный перл - добро пожаловать на пастбин https://pastebin.com/JCyBWUVy. Язык - обрубок C для неумеющих в управление памятью, который называется Small. Сам кусок перла - часть хайлоад проекта с 1000 игроков онлайн одновременно(http://samp-rp.ru).
+1
switch($ext) {
case 'bmp':
case 'BMP':
$img = imagecreatefrombmp($file_name);
break;
case 'gif':
case 'GIF';
$img = imagecreatefromgif($file_name);
break;
case 'JPG'
case 'jpg':
case 'JPEG':
case 'jpeg':
$img = imagecreatefromjpeg($file_name);
break;
case 'PNG':
case 'png':
$img = imagecreatefrompng($file_name);
break;
}
Сойдет.
+1
namespace detail
{
template <typename Function, typename Tuple, std::size_t... i>
void applyForEach(Function&& f, Tuple&& t, std::index_sequence<i...>)
{
(static_cast<void>(std::invoke(f, std::integral_constant<std::size_t, i>{}, std::get<i>(t))), ...);
}
} // namespace detail
template <typename Function, typename Tuple>
void applyForEach(Tuple&& tuple, Function&& function)
{
using Indexes = std::make_index_sequence<std::tuple_size_v<Tuple>>;
detail::applyForEach(std::forward<Function>(function), std::forward<Tuple>(tuple), Indexes{});
}
Строка 6. Мы тут сделали синтаксис для fold expression, только вам его не дадим: у вас документов нет.
Clang: https://wandbox.org/permlink/lNOFu1sOV9bA2LJF
GCC: https://wandbox.org/permlink/yqeiYHTgZOz9NkkJ
+1
Пост SQL-проблем.
Собственно, никогда за весь свой опыт я не использовал join. Большое кол-во выпускников гикбрейнсов говорит, "бла бла бла, джойн даёт нихуёвый перформанс по сравнению с этими вашими инлайн выборками".
Но конечно гикбрейнсы не понимают, что джойн - не панацея, и блочить реляционку пока она тебе не найдет все связи - по меньшей мере тупо. Ровно как и не понимают, что перформанс им даст нормальный кэш
который джуны так не любят использовать, или используют криво(кэшируют целые запросы, а не возвращаемые объекты).
Уважаемые говнокодеры, как вам данный высер?
+1
За "PHP".