- 1
Кто готов встречу в Минске на выходных 2-4 ноября?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
Кто готов встречу в Минске на выходных 2-4 ноября?
+2
//We want to create a range of N elements (from 0 to N-1 for simplicity)
const N = 10;
const res1 = Array.apply(null, {length: N}).map(Number.call, Number);
const res2 = [...Array(N).keys()];
const res3 = Array.from({length: N}, (val, i) => i);
const res4 = Array(N).fill().map((e,i)=>i);
Давайте создавать числовые последовательности.
Бонусные баллы если в Вашем языке возможно также задать начальное значение и шаг.
+170
public function action_ajaxlogin()
{
// Если запрос поступил не через AJAX, то шлем нахуй
if ( ! $this->request->is_ajax())
{
throw new HTTP_Exception_404(NULL);
}
// Вырубаем авто-рендер, ибо это хуев аякс запрос
$this->auto_render = false;
// Собираем информацию и пользователе в ёбанный массив
$user_data = $this->request->post('user_data');
// Если пользователь авторизирован, то заебато, и возвращаем статус 200!
if (Auth::instance()->login($user_data['username'], $user_data['password'], (bool) isset($user_data['remember_me'])))
return $this->response->status(200);
// Если нет, то "Вася, все хуйня! Давай по новой!"
return $this->response->status(400);
}
public function action_logout()
{
// Если запрос поступил не через AJAX, то шлем нахуй
if ( ! $this->request->is_ajax())
{
throw new HTTP_Exception_404(NULL);
}
// Вырубаем сучий авто-рендер, нахуй, в пизду блядь
$this->auto_render = false;
// Выходим из аккаунта, если вышли, то ахуенно, 200-ый статус)
if (Auth::instance()->logout())
return $this->response->status(200);
// Если все хуйня, то "Вася, давай по новой!"
return $this->response->status(400);
}
Kohana фреймворк, и таких комментариев по проекту тьма :)
−97
System.Diagnostics.Process.Start("ShutDown", "/s") ' Выключение
System.Diagnostics.Process.Start("ShutDown", "/r") ' Перезагрузка
System.Diagnostics.Process.Start("ShutDown", "/l") ' Выход из пол-ля
System.Diagnostics.Process.Start("ShutDown", "/h") ' Спящий режим
Автор: Release
E-mail: [email protected]
Сайт: ds-release.ru
http://vbbook.ru/vb.net/zavershenie-rabotu/
Я бью земные поклоны и от чистого сердца благодарю бога за то, что он избавил меня от необходимости учить этот дебильный язык.
+1
function isVowel(char){
return "аоэиуыеёюя".indexOf(char.toLocaleLowerCase())>=0 ? 1 : 0;
}
function vorefy(text)
{
// Г => C 0.85
// Г => Г 0.15
// С => С 0.30
// С => Г 0.70
var markov = [[0.3,0.7],[0.85,0.15]];
var mCorr = [ 1/Math.sqrt(0.3*0.7), 1/Math.sqrt(0.85*0.15) ];
//степень влияния марковских вореантностей
var pow = x => Math.pow(x,2);
var prev=null;
return text.replace(/./g,(char,offset,text) =>
{
if (E2R[char]){
var replace = Object.entries(E2R[char]);
if (1==replace.length) {
prev = replace[0][0];
return prev;
}
var r = Math.random()*200, probability=0;
for (const [k, v] of replace) {
vowel = isVowel(k);
probability += v * ((null==prev) ? 1
: pow(
mCorr[vowel]*2*markov[isVowel(prev)][vowel]
));
if (r<=probability) {
prev = k;
return prev;
}
}
}
prev=null;
return char;
});
}
Марковым отмечена еще одна устойчивая закономерность открытых текстов, связанная с чередованием гласных и согласных букв. Им были подсчитаны частоты встречаемости биграмм вида гласная-гласная (г, г), гласная-согласная (г, с), согласная-гласная (с, г), согласная-согласная (с, с)
[color=blur]https://ideone.com/VpkwXT[/color]
0
$result = array_filter($paths, fn($v) => in_array($v, $names));
В PHP 7.4 войдут стрелочные функции.
https://habr.com/ru/post/450544/
+16
#include <iostream>
using namespace std;
struct T
{
int a, b, &c;
T():a(0), b(1), c(a){cout<<"dc"<<endl;}
T(const T& a):a(a.a), b(a.b), c(&a.c == &a.a ? this->a : b){cout<<"cc"<<endl;}
T& operator=(T a)
{
::new((void*)(&b+1)) int*(&a.c == &a.a ? &this->a : &b);
//asm volatile ("" : : : "memory");
cout<<"co"<<endl;
return *this;
}
void Switch()
{
::new((void*)(&b+1)) int*(&c == &a ? &b : &a);
//asm volatile ("" : : : "memory");
cout<<"sw"<<endl;
}
} __attribute__((aligned(1))) ;
int main() {
T a;
cout<<a.a<<endl;
cout<<a.b<<endl;
cout<<a.c<<endl;
a.Switch();
cout<<a.c<<endl;
T b;
cout<<b.c<<endl;
b=a;
cout<<b.c<<endl;
b.b=666;
cout<<b.c<<endl;
return 0;
}
Очевидно откуда это.
+123
#include <malloc.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
typedef struct {
char * begin;
uint64_t size, data_size;
} str_t;
inline uint64_t max(uint64_t a, uint64_t b) {
return (a > b) ? a : b;
}
inline str_t correct_data_size(str_t str, uint64_t new_size) {
if(str.data_size < new_size) {
str.data_size = (max(str.data_size, new_size) << 1);
str.begin = realloc(str.begin, str.data_size);
}
return str;
}
inline str_t concat(str_t dest, str_t src) {
uint64_t new_size = (dest.size + src.size - 1);
dest = correct_data_size(dest, new_size);
memcpy((dest.begin + dest.size - 1), src.begin, src.size);
dest.size = new_size;
return dest;
}
inline str_t create_str(char * str, uint64_t size) {
return (str_t){.begin = strcat(malloc(size), str), .size = size, .data_size = size};
}
inline void print_str_t(str_t str) {
fprintf(stderr, "str = %ssize = %lu, data_size = %lu\n", str.begin, str.size, str.data_size);
}
uint64_t test(uint64_t star_n, uint64_t n, str_t str, str_t * gstr) {
uint64_t end = (star_n + n);
do {
*gstr = concat(*gstr, str);
char * pos = gstr->begin;
while((pos = strstr(pos, "efgh")))
memcpy(pos,"____",4);
} while((++star_n) != end);
return star_n;
}
int main(void) {
char data[] = "abcdefghefghefgh";
str_t str = create_str(data, sizeof(data));
str_t gstr = create_str("", 1);
time_t starttime = time(NULL);
uint64_t block_c = 0;
while((block_c = test(block_c, ((256/16) * 1024), str, &gstr)) != (((256/16) * 1024) * 20))
printf("%ldsec\t\t%lukb\n",time(NULL)-starttime,gstr.size/1024);
}
Минимально оптимизированный вариант в царь-стиле теста из предыдущего ГК. Никто не увидел и начали на меня кукарекать. То ещё ГК, давайте объясняйте что здесь говно.
+107
var
OGTC: cardinal; // для сверки с таймером
procedure CheckPhys;
begin
if OGTC < GetTickCount then begin
Phys; // тут считается вся игровая физика и все изменения состояний. Звуки тоже здесь.
Inc(OGTC, dT);
end;
end;
procedure Graph; // процедура отрисовки графики
var
i: integer;
begin
CheckPhys;
for i := 0 to ItemCount - 1 do with Items[i]^ do CopyPosition := Position; // делаем копию состояния перед отрисовкой мира!
for i := 0 to ItemCount - 1 do begin
ShowItem(Items[i]^); // рисуем элемент мира
CheckPhys; // проверяем, не пора ли снова считать физику
end;
end;
procedure OnIdle;
begin
if PlayingGame then Graph;
end;
Надо, чтобы в игре скорость игрового процесса не зависела от тормозов графики. Даже когда кадр долго рисуется, звуки и движения делаются строго по таймеру. Создавать лишний поток мне в лом, и вообще я дико боюсь приколов с синхронизациями и так далее. Поэтому сделал такую хрень. Сэмулировал многопоточность банальным однопоточным кодом.
0
$ find ~ -name .git -type d -prune -printf "***\n%p\n***\n" -exec git -C '{}/..' status \;