Тематика [ a / pr / rpg / s / vg ] / Разное [ b / d / op / po / shit ] / Общее [ / / / ] [Доски: ]

Защита от долбоебов

Вас приветствует защита от долбоебов. К сожалению, /pr/ часто засирают глупыми постами типа "Хочу получать 300к в секунду, какой язык мне учить?", или "У меня лаба горит, сделайте ее за меня". Авторы таких постов, по моему скромному мнению, — никто иные, как долбоебы, и с ними необходимо бороться.

Ну охуеть теперь. И что дальше?

Данная заглушка — крайне примитивная, но весьма эффективная мера защиты. Никаких инструкций по ее удалению не будет. Включите мозг и докажите, что вы не долбоеб. Самостоятельно.

А если я добрый и хочу помочь долбоебу?

За подсказки долбоебам — бан в /pr/ навсегда. Вас предупредили.

Хули ты обзываешься? Сам долбоеб!

Воу-воу, палехчи. Туда ли ты зашел? Прокачай чувство юмора и самоиронию, затем возвращайся — всегда будем рады, долбоеб.

Программирование

Сортировать по: Дате создания Дате последнего поста Количеству бампов

Аноним Ответов: 5
Сап. Не хочу много зарабатывать, не баньте
Учусь в колледже на, внезапно, программиста, и тут обнаруживается, что я нихрена не знаю и нам лишь женщина почётного возраста раз в неделю даёт погонять плюсы, причитая какие мы лодыри.
Так вот, решил я взять себя в руки и заняться обучением.
Подскажите, что нужно прочитать/просмотреть, чтобы хотя бы понять прогаммирование?
Где лучше брать инфу по си шарпу?
Сололёрн норм сервис?
Где нубу взять задания для практики?
Как катиться в веб-макакинг? Учить хтмл и цсс, пхп и так далее? Что посоветуете?

Возможно, запрос излишне сумбурный, объёмный и наглый, но надеюсь вы не прочь взглянуть на свой путь и вынести из него несколько выводов.
Ответы: >>375
Аноним Ответов: 6
Как вкатиться в программирование? Хочу 300кк/наносек.
Ответы: >>363
CodedLive Ответов: 2
Шифрование файлов
Выкладываю программу CryptoSpace, которая может шифровать данные в определённой папке. Интерфейс интуитивно понятный. Может кому пригодиться...

https://vk.com/wall-171000512_17
Ответы: >>350 >>351
cpu-pool Ответов: 6
Время видеокарт прошло, пора сайнить на CPU. Пока еще не поздно... cpu-pool
Представляю вашему вниманию 3 криптомонетки, созданные специально для процессоров и которые легко добывать прямо дома или на работе. В месяц можно заработать от 1000р., а если цена подскочит то в разы больш ;)

Монеты: Elicoin, Cryply и уже упоминавшийся тут Yenten.

Для майнинга нужно всего 3 вещи:

1) Кошелек монетки.
- https://github.com/cryply/cryply-wallet/releases/tag/1.0
- https://github.com/elicoin/elicoin/releases
- https://github.com/conan-equal-newone/yenten/releases

2) Программа майнер.
- https://github.com/JayDDee/cpuminer-opt/releases
- для Cryply - https://github.com/bubasik/cpuminer-opt-yespower/releases

3) Пул для майнига (куда подключается майнер чтобы копать).

[b]http://cpu-pool.com/[/b] - пул без регистрации, начать майнить просто и легко.

Для windows скачиваем архив cpu майнера и распаковывем его.
Для файла cpuminer-sse2.exe создаем bat файл со следующим содержанием:

для Elicoin
cpuminer-sse2.exe -a yescryptr16 -o stratum+tcp://cpu-pool.com:63348 -u WALLETADDRESS

для Cryply
cpuminer-sse2.exe -a yespower -o stratum+tcp://cpu-pool.com:63358 -u WALLET
ADDRESS

для Yenten
cpuminer-sse2.exe -a yescryptr16 -o stratum+tcp://cpu-pool.com:63368 -u WALLET_ADDRESS

и запускаем его.

Вот так просто... Делитесь сколько хешей выдает Ваш процессор?
Никита Ответов: 7
Здраствуйте. Стоит ли вкатываться в Django + React?
Ответы: >>326
Аноним Ответов: 3
pfpmd
Привет. Это тред для пиара pfpmd: http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/
pfpmd - это тесно сплетенные в одно целое анонимный чат и текстовые борды. Тематика: computer science, математика, программирование, технологии, криптоанархизм, софт и т.п.

pfpmd существует с 2015 года. Изначально он был попыткой воскресить один ресурс, который назывался лолкс, но теперь это в прошлом. Населен небольшим количеством людей и имеет низкую активность, что и хотелось бы изменить. Из-за того, что pfpmd это tor hidden service, периодически туда заходят люди ищущие цп, гуро и т.п., но, ничего не найдя, быстро уходят. pfpmd не модерируется, бан невозможен, как и цензура. Логотипом pfpmd является символ Ω, в честь Chaitin omega number https://en.wikipedia.org/wiki/Chaitin%27s_constant

Фичи pfpmd:
-Борды не фиксированы, в форме создания поста можно указать имя новой борды и она будет создана динамически в момент создания поста.
-Можно менять описание борды, это может делать любой пользователь сколько угодно раз;
-На странице с чатом по дефолту отображаются сообщение не только из чата, но и со всех борд. Это поведение можно изменить в настройках.
-На станице чана отображаются треды со всех борд (у нас это было еще до нульчана). Но можно отобразить только треды какой-то одной борды, просто перейдя по ссылке этой борды.
-Картинки отображатся с некоторых ресурсов, например, imgur, twitter. Также показываются превьюшки видео с youtube и некоторых имиджборд. Список будет пополняться в будущем.
-Текстовое поле ввода чата поддерживает подобие командной строки. Есть команды для создания тредов, ответа в тред, изменения описания борды.
-Можно скрыть отображение всех сообщений с кириллицей.
-Поддерживается форматирование блоков кода. Подсветка синтаксиса реализована через highlight.js и выключена по дефолту, но ее можно влючить в настройках.
-Поддерживается форматирование математических формул через KaTeX. Но эта фича тоже выключена по дефолту.
-Есть страница с логами всех сообщений (включая борды) в обратном по дате порядке.

Основные принципы:
-Максимальное облегчение сервера, весь (кроме статического) html генерится на клиенте, сервер отправляет клиенту только сырые данные;
-Минимум зависимостей у клиентского кода. Всё, за исключение подсветки синтаксиса и математических формул, реализовано на голом javascript, без использования всяких jquery, vue.js и прочих фреймворков. Исходный код KaTeX и highlightjs подгружается только когда фичи включены в настройках.
-Отсутствие цензуры.

Планы развития:
-Децентрализация на уровне серверов. Будет множество инстансов pfpmd, которые синхронизируются между собой. Юзер сможет подключаться к любому из серверов, сможет поднять свой.
-Сделать клиентское приложение с консольным интерфейсом и веб интерфейсом. Чтобы юзер мог без запуска торбраузера заходить на pfpmd или вообще без гуйни, а также чтобы иметь свою локальную базу сообщений, по которой можно делать поиск и что угодно.
-Допилить дизайн.

Следующим постом будет FAQ. Но, в любом случае, я буду отвечать в тред.
Ответы: >>321
Аноним Ответов: 3
Привет, как дела?
Ответы: >>281 >>369
Аноним Ответов: 1
https://parasha.ko.ko.ko.tl
А я просто хочу похвастаться, какой я невъебеный, убрал вашу сраную заглушку.
Ответы: >>279
Аноним Ответов: 10
Ребят такое дело: какой язык программирования лучше учить, чтобы много зарабатывать? Очень нужно.
Ответы: >>271 >>272
Аноним Ответов: 1
лол я не программист но как то сюда попал. я че вумный. понять не могу
Ответы: >>257
Аноним Ответов: 2
GitHub недоступен! Впервые такое вижу))
Ответы: >>247
Аноним Ответов: 2
Зашел на эту борду просто, чтобы обойти эту заглушку - слишком лёгкая, у меня нет навыков программирования, а я её спокойно обошел. Ухожу отсюда. Админ какой-то волосатый и некрасивый.
Ответы: >>364
Аноним Ответов: 13
LISP
LISP - этим всё сказанно.
Аноним Ответов: 46
Пишем борду всем аллчаном с нуля
На пихе, джасе и хтмл5
Ответы: >>226
Аноним Ответов: 8
Идея борды
Я придумал идею для идеальной в ковычках борды. Суть её заключается в цикличности и полнейшей анархии. На этой борде даже цп можно будет постить и никто не заметит и не увидит.
Суть такова...
Хар-ки борды и основные особенности:
1) Борда включается каждый день в 0:00 и выключается примерно в 5-6 утра. В остальное время она не рабоатет, весит заглушка с таймером или просто логотип.
2) После выключения база данных очищается, все файлы удаляются вот почему можно постить цп
3) Борда без особых фич - разметка, создание тредов, постинг картинок и вебм.
4) Борда не должна запоминать никакой информации о юзерах
5) Такая простая борда должна быть легка в перемещении и может быть размещена скидыванием на хост пакета файлов без предустановки. Это позволит кочевать по хостам, в случае проблем.

Идея выглядит простой, но вся проблема в таймерах и удалении\пересоздании\копировании файлов.
Дискас. Мб парашевод умелый чекнет этот тред и захочет создать.
Ответы: >>215 >>218 >>216 >>284
Аноним Ответов: 16
Включил мозг и заблочил заглушку. Всегда так делаю.
Ответы: >>211 >>213 >>217 >>219 >>252 >>259
Аноним Ответов: 1
на чем барда написана?
Ответы: >>209
Аноним Ответов: 0
Я вам покушать принёс.http://stanislaw.ru/rus/research/perl.asp
Аноним Ответов: 0
//========= Copyright © 1996-2003, Valve LLC, All rights reserved. ============
//
// Purpose: Implements a sniper rifle weapon.
//
// Primary attack: fires a single high-powered shot, then reloads.
// Secondary attack: cycles sniper scope through zoom levels.
//
// TODO: Circular mask around crosshairs when zoomed in.
// TODO: Shell ejection.
// TODO: Finalize kickback.
// TODO: Animated zoom effect?
//
//=============================================================================

#include "cbase.h"
#include "NPCEvent.h"
#include "basehlcombatweapon.h"
#include "basecombatcharacter.h"
#include "AI_BaseNPC.h"
#include "player.h"
#include "gamerules.h" // For g_pGameRules
#include "in_buttons.h"
#include "soundent.h"
#include "vstdlib/random.h"

#define SNIPER_CONE_PLAYER vec3_origin // Spread cone when fired by the player.
#define SNIPER_CONE_NPC vec3_origin // Spread cone when fired by NPCs.
#define SNIPER_BULLET_COUNT_PLAYER 1 // Fire n bullets per shot fired by the player.
#define SNIPER_BULLET_COUNT_NPC 1 // Fire n bullets per shot fired by NPCs.
#define SNIPER_TRACER_FREQUENCY_PLAYER 0 // Draw a tracer every nth shot fired by the player.
#define SNIPER_TRACER_FREQUENCY_NPC 0 // Draw a tracer every nth shot fired by NPCs.
#define SNIPER_KICKBACK 3 // Range for punchangle when firing.

#define SNIPER_ZOOM_RATE 0.2 // Interval between zoom levels in seconds.


//-----------------------------------------------------------------------------
// Discrete zoom levels for the scope.
//-----------------------------------------------------------------------------
static int g_nZoomFOV[] =
{
20,
5
};


class CWeaponSniperRifle : public CBaseHLCombatWeapon
{
DECLARE_DATADESC();
public:
DECLARE_CLASS( CWeaponSniperRifle, CBaseHLCombatWeapon );

CWeaponSniperRifle(void);

DECLARE_SERVERCLASS();

void Precache( void );

int CapabilitiesGet( void );

const Vector &GetBulletSpread( void );

bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL );
void ItemPostFrame( void );
void PrimaryAttack( void );
bool Reload( void );
void Zoom( void );
virtual float GetFireRate( void ) { return 1; };

void Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator );

DECLARE_ACTTABLE();

protected:

float m_fNextZoom;
int m_nZoomLevel;
};

IMPLEMENT_SERVERCLASS_ST(CWeaponSniperRifle, DT_WeaponSniperRifle)
END_SEND_TABLE()

LINK_ENTITY_TO_CLASS( weapon_sniperrifle, CWeaponSniperRifle );
PRECACHE_WEAPON_REGISTER(weapon_sniperrifle);

BEGIN_DATADESC( CWeaponSniperRifle )

DEFINE_FIELD( CWeaponSniperRifle, m_fNextZoom, FIELD_FLOAT ),
DEFINE_FIELD( CWeaponSniperRifle, m_nZoomLevel, FIELD_INTEGER ),

END_DATADESC()

//-----------------------------------------------------------------------------
// Maps base activities to weapons-specific ones so our characters do the right things.
//-----------------------------------------------------------------------------
acttable_t CWeaponSniperRifle::m_acttable[] =
{
{ ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_SNIPER_RIFLE, true }
};

IMPLEMENT_ACTTABLE(CWeaponSniperRifle);


//-----------------------------------------------------------------------------
// Purpose: Constructor.
//-----------------------------------------------------------------------------
CWeaponSniperRifle::CWeaponSniperRifle( void )
{
m_fNextZoom = gpGlobals->curtime;
m_nZoomLevel = 0;

m_bReloadsSingly = true;

m_fMinRange1 = 65;
m_fMinRange2 = 65;
m_fMaxRange1 = 2048;
m_fMaxRange2 = 2048;
}


//-----------------------------------------------------------------------------
// Purpose:
// Output : int
//-----------------------------------------------------------------------------
int CWeaponSniperRifle::CapabilitiesGet( void )
{
return bits_CAP_WEAPON_RANGE_ATTACK1;
}



//-----------------------------------------------------------------------------
// Purpose: Turns off the zoom when the rifle is holstered.
//-----------------------------------------------------------------------------
bool CWeaponSniperRifle::Holster( CBaseCombatWeapon *pSwitchingTo )
{
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
if (pPlayer != NULL)
{
if ( m_nZoomLevel != 0 )
{
pPlayer->ShowViewModel(true);
pPlayer->SetFOV( 0 );
m_nZoomLevel = 0;
}
}

return BaseClass::Holster(pSwitchingTo);
}


//-----------------------------------------------------------------------------
// Purpose: Overloaded to handle the zoom functionality.
//-----------------------------------------------------------------------------
void CWeaponSniperRifle::ItemPostFrame( void )
{
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
if (pPlayer == NULL)
{
return;
}

if ((m_bInReload) && (m_flNextPrimaryAttack <= gpGlobals->curtime))
{
FinishReload();
m_bInReload = false;
}

if (pPlayer->m_nButtons & IN_ATTACK2)
{
if (m_fNextZoom <= gpGlobals->curtime)
{
Zoom();
pPlayer->m_nButtons &= ~IN_ATTACK2;
}
}
else if ((pPlayer->m_nButtons & IN_ATTACK) && (m_flNextPrimaryAttack <= gpGlobals->curtime))
{
if ( (m_iClip1 == 0 && UsesClipsForAmmo1()) || ( !UsesClipsForAmmo1() && !pPlayer->GetAmmoCount(m_iPrimaryAmmoType) ) )
{
m_bFireOnEmpty = true;
}

// Fire underwater?
if (pPlayer->GetWaterLevel() == 3 && m_bFiresUnderwater == false)
{
WeaponSound(EMPTY);
m_flNextPrimaryAttack = gpGlobals->curtime + 0.2;
return;
}
else
{
// If the firing button was just pressed, reset the firing time
if ( pPlayer && pPlayer->m_afButtonPressed & IN_ATTACK )
{
m_flNextPrimaryAttack = gpGlobals->curtime;
}

PrimaryAttack();
}
}

// -----------------------
// Reload pressed / Clip Empty
// -----------------------
if ( pPlayer->m_nButtons & IN_RELOAD && UsesClipsForAmmo1() && !m_bInReload )
{
// reload when reload is pressed, or if no buttons are down and weapon is empty.
Reload();
}

// -----------------------
// No buttons down
// -----------------------
if (!((pPlayer->m_nButtons & IN_ATTACK) || (pPlayer->m_nButtons & IN_ATTACK2) || (pPlayer->m_nButtons & IN_RELOAD)))
{
// no fire buttons down
m_bFireOnEmpty = false;

if ( !HasAnyAmmo() && m_flNextPrimaryAttack < gpGlobals->curtime )
{
// weapon isn't useable, switch.
if ( !(GetFlags() & ITEM_FLAG_NOAUTOSWITCHEMPTY) && pPlayer->SwitchToNextBestWeapon( this ) )
{
m_flNextPrimaryAttack = gpGlobals->curtime + 0.3;
return;
}
}
else
{
// weapon is useable. Reload if empty and weapon has waited as long as it has to after firing
if ( m_iClip1 == 0 && !(GetFlags() & ITEM_FLAG_NOAUTORELOAD) && m_flNextPrimaryAttack < gpGlobals->curtime )
{
Reload();
return;
}
}

WeaponIdle( );
return;
}
}


//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
void CWeaponSniperRifle::Precache( void )
{
BaseClass::Precache();
}


//-----------------------------------------------------------------------------
// Purpose: Same as base reload but doesn't change the owner's next attack time. This
// lets us zoom out while reloading. This hack is necessary because our
// ItemPostFrame is only called when the owner's next attack time has
// expired.
// Output : Returns true if the weapon was reloaded, false if no more ammo.
//-----------------------------------------------------------------------------
bool CWeaponSniperRifle::Reload( void )
{
CBaseCombatCharacter *pOwner = GetOwner();
if (!pOwner)
{
return false;
}

if (pOwner->GetAmmoCount(m_iPrimaryAmmoType) > 0)
{
int primary = min(GetMaxClip1() - m_iClip1, pOwner->GetAmmoCount(m_iPrimaryAmmoType));
int secondary = min(GetMaxClip2() - m_iClip2, pOwner->GetAmmoCount(m_iSecondaryAmmoType));

if (primary > 0 || secondary > 0)
{
// Play reload on different channel as it happens after every fire
// and otherwise steals channel away from fire sound
WeaponSound(RELOAD);
SendWeaponAnim( ACT_VM_RELOAD );

m_flNextPrimaryAttack = gpGlobals->curtime + SequenceDuration();

m_bInReload = true;
}

return true;
}

return false;
}


//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
void CWeaponSniperRifle::PrimaryAttack( void )
{
// Only the player fires this way so we can cast safely.
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
if (!pPlayer)
{
return;
}

if ( gpGlobals->curtime >= m_flNextPrimaryAttack )
{
// If my clip is empty (and I use clips) start reload
if ( !m_iClip1 )
{
Reload();
return;
}

// MUST call sound before removing a round from the clip of a CMachineGun dvs: does this apply to the sniper rifle? I don't know.
WeaponSound(SINGLE);

pPlayer->m_fEffects |= EF_MUZZLEFLASH;

SendWeaponAnim( ACT_VM_PRIMARYATTACK );

// player "shoot" animation
pPlayer->SetAnimation( PLAYER_ATTACK1 );

// Don't fire again until fire animation has completed
m_flNextPrimaryAttack = gpGlobals->curtime + SequenceDuration();
m_iClip1 = m_iClip1 - 1;

Vector vecSrc = pPlayer->Weapon_ShootPosition();
Vector vecAiming = pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

// Fire the bullets
pPlayer->FireBullets( SNIPER_BULLET_COUNT_PLAYER, vecSrc, vecAiming, GetBulletSpread(), MAX_TRACE_LENGTH, m_iPrimaryAmmoType, SNIPER_TRACER_FREQUENCY_PLAYER );

CSoundEnt::InsertSound( SOUND_COMBAT, GetAbsOrigin(), 600, 0.2 );

QAngle vecPunch(random->RandomFloat( -SNIPER_KICKBACK, SNIPER_KICKBACK ), 0, 0);
pPlayer->ViewPunch(vecPunch);

// Indicate out of ammo condition if we run out of ammo.
if (!m_iClip1 && pPlayer->GetAmmoCount(m_iPrimaryAmmoType) <= 0)
{
pPlayer->SetSuitUpdate("!HEV_AMO0", FALSE, 0);
}
}

// Register a muzzleflash for the AI.
pPlayer->SetMuzzleFlashTime( gpGlobals->curtime + 0.5 );
}


//-----------------------------------------------------------------------------
// Purpose: Zooms in using the sniper rifle scope.
//-----------------------------------------------------------------------------
void CWeaponSniperRifle::Zoom( void )
{
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
if (!pPlayer)
{
return;
}

if (m_nZoomLevel >= sizeof(g_nZoomFOV) / sizeof(g_nZoomFOV[0]))
{
pPlayer->ShowViewModel(true);

// Zoom out to the default zoom level
WeaponSound(SPECIAL2);
pPlayer->SetFOV( 0 );
m_nZoomLevel = 0;
}
else
{
if (m_nZoomLevel == 0)
{
pPlayer->ShowViewModel(false);
}

WeaponSound(SPECIAL1);
pPlayer->SetFOV( g_nZoomFOV[m_nZoomLevel] );
m_nZoomLevel++;
}

m_fNextZoom = gpGlobals->curtime + SNIPER_ZOOM_RATE;
}


//-----------------------------------------------------------------------------
// Purpose:
// Output : virtual const Vector&
//-----------------------------------------------------------------------------
const Vector &CWeaponSniperRifle::GetBulletSpread( void )
{
static Vector cone = SNIPER_CONE_PLAYER;
return cone;
}


//-----------------------------------------------------------------------------
// Purpose:
// Input : *pEvent -
// *pOperator -
//-----------------------------------------------------------------------------
void CWeaponSniperRifle::Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator )
{
switch ( pEvent->event )
{
case EVENT_WEAPON_SNIPER_RIFLE_FIRE:
{
Vector vecShootOrigin, vecShootDir;
vecShootOrigin = pOperator->Weapon_ShootPosition();

CAI_BaseNPC *npc = pOperator->MyNPCPointer();
Vector vecSpread;
if (npc)
{
vecShootDir = npc->GetActualShootTrajectory( vecShootOrigin );
vecSpread = VECTOR_CONE_PRECALCULATED;
}
else
{
AngleVectors( pOperator->GetLocalAngles(), &vecShootDir );
vecSpread = GetBulletSpread();
}
WeaponSound( SINGLE_NPC );
pOperator->FireBullets( SNIPER_BULLET_COUNT_NPC, vecShootOrigin, vecShootDir, vecSpread, MAX_TRACE_LENGTH, m_iPrimaryAmmoType, SNIPER_TRACER_FREQUENCY_NPC );
pOperator->m_fEffects |= EF_MUZZLEFLASH;
break;
}

default:
{
BaseClass::Operator_HandleAnimEvent( pEvent, pOperator );
break;
}
}
}

Аноним Ответов: 9
ЦПП тред ньюфажских вопросов
Аноним Ответов: 2
Если кто-то, кто пользуется (La)TeX-ом, случайно забредет сюда, то вот, сваял недавно онлайн-компилер https://ololoepepe.me/texsample/
Вводим текст или прикрепляем файл. Если проект состоит из нескольких файлов, их тоже цепляем. Структура подпапок пока не поддерживается.
Аноним Ответов: 3
ДЕСИГН
Борда пиздец неудобная, админы куда смотрите.
Аноним Ответов: 3
Пробиватель яндекс-капчи
Сабж. Надо как-то научить нейросеть распознавать ее.
Аноним Ответов: 0
Бесполезных программ тред гоу. Постим свои бессмысленные и беспощадные поделки.
Я начну: хуйня, составляющая из рандомных кусков смищную фразу. https://ololoepepe.me/files/crocostr.zip
Аноним Ответов: 4
Можно закрыть все разделы, кроме /pr/.
Взять темы оформления с автобуса. Фреймы не прикручивать.
Дискас.
Аноним Ответов: 29
Работает тег [code lang="<lang>"]ваш код[/code]. Можно писать язык без кавычек, либо вообще не указывать язык (просто [code]...[/code]).

Пример: [code lang="c++"]static const int x = 0;[/code] превращается в:
static const int x = 0;

Допустимо также писать так: [<lang>]...код...[/<lang>], например: [php]...код...[/php]

Подробности (в том числе полный список поддерживаемых языков): https://allchan.su/markup.html#code
Ответы: >>170 >>173
Аноним Ответов: 16
Джава на данный момент является худшим языком для новых проектов. Исключительная невыразительность и примитивность языка не позволит вам ясно выражать свои мысли. Язык очень распостронен. Пока некоторые ваши конкуренты используют сверх-современные технологии основанные на типизированном лямбда-исчислении или пруф-ассистанты с элементами функционального программирования, вы можете в разы понизить свою эффективность задействовав AbstractSingletonProxyFactoryBean - последнее достижение индусов в области набора текста латиницей. Но это еще не все. В жизни каждого стартапа наступает момент когда он становится продуктом и к проекту привлекаются дополнительные разработчики. Сдесь распостроненность и доступность языка имеют решающую роль. Благодаря большой популярности Джава среди жителей Востока, готовых работать за воду, вы можете быть уверены, что скоро потеряете своё рабочее место. Джава обеспечит вам гарантии неуверенности в своём будущем. Выберите Джава сейчас и уже через несколько лет вы будете несчастны и морально истощены рутинной офисной работой. Джава - ваш проводник к неудачам в мире разработки программного обеспечения. Выбирайте Джава.
Ответы: >>166 >>19 >>212
Аноним Ответов: 16
test

[Скорость постинга: 6.3 п./месяц.]
Развернуть плеер
Добавляйте треки при помощи кнопки "Добавить в плейлист" []