Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование[11]

var  

284 пользователя проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

Just.Doit написал 13 минут назад:

вот как "доказать" что яндекс не в таком же положении фактического управления государством в гораздо большей степени чем просто "договаривается как и все компании во всем мире"?

Наверное тем, что если бы она по факту управлялась государством, то Волож уже продал бы свои голосующие акции и занялся другим стартапом? Зачем ему сидеть в компании, где он нонфактор?

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 1 минуту назад:

Что находясь в РФ нужно исполнять ее законы?

До него начало что-то доходить!

 

"ЛЮБАЯ" компания будет соблюдать законы, это первый принцип.

Второй принцип, что если ты работаешь в маленькой или не представлявшей интереса компании, ты и нахуй не сдался что бы тебе давали какие-то там предписания.

Grohuf написал 3 минуты назад:

И это значит, что тебя контроллирует правительство?

Поэтому компания в которой я работаю исполняет законы, но не находится под контролем. Мы нахуй не сдались. Тоже самое касается и например каковонибудь 1С, они нахуй не сдались, и потому их наврятли контролируют. А могут быть, представь, формально государственные компании которыми владеет государство, но которые живут и не тужат свободно и не контролируются. 

 

У тебя "госконтора" это что, всегда и однозначно офисы с бабками с ЭЛТ мониторами? У тебя такие  предрассудки? Или ты не понял что мы судим не по формальному законодательному признакому как то владение или вход в состав директоров?


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 7 минут назад:
Just.Doit написал 22 минуты назад:

вот как "доказать" что яндекс не в таком же положении фактического управления государством в гораздо большей степени чем просто "договаривается как и все компании во всем мире"?

Наверное тем, что если бы она по факту управлялась государством, то Волож уже продал бы свои голосующие акции и занялся другим стартапом? Зачем ему сидеть в компании, где он нонфактор?

затем чтобы лутать бабки. очевидно.

GoldRobot понравилось это

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 05.02.2022 в 11:54:

Если хохлы не побросают оружие и не побегут, то оптимально начинать с завоевания превосходства в воздухе, ибо у хохлов нет авиации (свиньи летать не умеют). Так как у хохлов много ЗРК с советских времен, то, скорее всего, будут сначала уничтожать их. Ибо они являются серьезной преградой для того, чтобы безнаказанно бомбить свиней. 

  

Grohuf написал 04.02.2022 в 21:36:

Хохлы, отменившие пошлины с Турцией (что вы туда собрались продавать, чего нет у Турции?), учат россиян как вести торговлю. Забавное зрелище.

Нет, еблан, мы продаем Китаю нефть и газ и получаем за это деньги. А вас Турция имеет в жопу.

 

Grohuf написал 05.02.2022 в 11:54:

нищие хохлы делают вид, что они не самая бедная страна Европы. Забавные.

 

 

Парни, просто вы не на ту тему с Грохуфом общаетесь, вы лучше начните про тупых хохлов)

 

GoldRobot и Vova понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)
Grohuf написал 9 минут назад:

Наверное тем, что если бы она по факту управлялась государством, то Волож уже продал бы свои голосующие акции и занялся другим стартапом? Зачем ему сидеть в компании, где он нонфактор?

Либо то, либо другое, но никак вместе? Я правильно понимаю что ты РФ пытаешься представить толи как СССР времен второй мировой, толи как какую-то империю с императором самодуром во главе?

Это не так. Ты же взрослый человек, должен понимать что можно договариваться и идти на компромисы.


Изменено пользователем GoldRobot

ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
Drakonian написал 2 минуты назад:

Парни, просто вы не на ту тему с Грохуфом общаетесь, вы лучше начните про тупых хохлов)

 

я конеш подозревал что он немного ебанько, но что настолько...

лол


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

Но ведь свиньи и правда летать не умеют...

Drakonian понравилось это

ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

в чем он не прав собственно?

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 7 минут назад:

До него начало что-то доходить!

 

"ЛЮБАЯ" компания будет соблюдать законы, это первый принцип.

Второй принцип, что если ты работаешь в маленькой или не представлявшей интереса компании, ты и нахуй не сдался что бы тебе давали какие-то там предписания.

Что ты мне пытаешься втюхать? Исполнение законов государства не делает компанию государственной. Если ты считаешь иначе, то ты просто бредишь.

Just.Doit написал 8 минут назад:

затем чтобы лутать бабки. очевидно.

Пиздец. Ты это серьезно высрал? Ты в курсе, что Яндекс не платит дивиденды по акциям? Также как и гугл. И многие другие компании?

Поделиться сообщением


Ссылка на сообщение

Ай, блять, мы как буд-то на разных языках говорим. Ты как дуит со своим тцп, ей богу, понимаешь все по своими и выражаешься по своему.


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 3 минуты назад:

Но ведь свиньи и правда летать не умеют...

 

image.png.45bca605f4e2e6a2d70c96341a246f86.png

Kant и GoldRobot понравилось это

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 10 минут назад:

У тебя "госконтора" это что, всегда и однозначно офисы с бабками с ЭЛТ мониторами? У тебя такие  предрассудки? Или ты не понял что мы судим не по формальному законодательному признакому как то владение или вход в состав директоров?

Ебать. Ты реально тупоголовый. Знаешь, что первое, что нужно сделать,в "своей" компании? Поставить своего управляющего. Ты в курсе, кто рулит в Яндексе?

Поделиться сообщением


Ссылка на сообщение
(изменено)
Grohuf написал 6 минут назад:

Знаешь, что первое, что нужно сделать,в "своей" компании? Поставить своего управляющего.

Мне же тааак важно будет какой конкретно мешок с мясом выполняет мои требования.  :agaaga: Это же тааааак важно поставить "своего", который со мной асоциируется, даже если текущий идет на встречу и подчиняется без упоминания без применений "законов" и силы.


Изменено пользователем GoldRobot

ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 8 минут назад:
Grohuf написал 14 минут назад:

Знаешь, что первое, что нужно сделать,в "своей" компании? Поставить своего управляющего.

Мне же тааак важно будет какой конкретно мешок с мясом выполняет мои требования.  :agaaga: Это же тааааак важно поставить "своего", который со мной асоциируется, даже если текущий идет на встречу и подчиняется без упоминания без применений "законов" и силы.

То есть у тебя ноль понимания о том, как нужно управлять людьми, но мнение имеешь? Понятно.

GoldRobot написал 25 минут назад:
Grohuf написал 33 минуты назад:

Наверное тем, что если бы она по факту управлялась государством, то Волож уже продал бы свои голосующие акции и занялся другим стартапом? Зачем ему сидеть в компании, где он нонфактор?

Либо то, либо другое, но никак вместе? Я правильно понимаю что ты РФ пытаешься представить толи как СССР времен второй мировой, толи как какую-то империю с императором самодуром во главе?

Это не так. Ты же взрослый человек, должен понимать что можно договариваться и идти на компромисы.

Чел, ты разберись в своей башке для начала. Яндекс госкомпания, которая непосредственно управляется государством. Или же частная компания, которая вынуждена договариваться с государством в щекотливых вопросах. Когда разберешься - приходи. А пока у тебя какой-то пиздец в голове.

Поделиться сообщением


Ссылка на сообщение

Немного оффтопа. Про программирование. Я написал тестовые программулину и проверил, будет ли корректно выводится в файл информация в нескольких потоках. Как ожидалось, никаких проблем не было, результирующий файл корректен. Это если использовать один дескриптор. Если использовать несколько, то как и ожидалось, содержимое бьется.

Скрытый текст

#include <fstream>
#include <iostream>
#include <thread>

constexpr int kBlockSize = 997;
constexpr size_t kIterCount = 20000;
constexpr char kFileName[] = "my_output.txt";
constexpr char kTestChar1 = '1';
constexpr char kTestChar2 = '2';

void WriteManyChars(std::ofstream& output_file, char c) {
	char buffer[kBlockSize];
	memset(buffer, c, kBlockSize);
	for (size_t i = 0; i < kIterCount; ++i) {
		output_file.write(buffer, kBlockSize);
	}
}

void WriteManyCharsOwnFile(char c) {
	std::ofstream output_file(kFileName, std::ios_base::out | std::ios_base::app | std::ios_base::binary);
	WriteManyChars(output_file, c);
}

bool CheckResult() {
	std::ifstream input_file(kFileName, std::ios_base::in | std::ios_base::binary);
	char buffer[kBlockSize + 1];
	buffer[kBlockSize] = '\0';
	size_t count = 0;
	while (true) {
		size_t read_count = input_file.read(buffer, kBlockSize).gcount();
		if (read_count == 0)
			return count == 2 * kIterCount;
		if (read_count != kBlockSize) {
			return false;
		}
		char bad_char = buffer[0] == kTestChar1 ? kTestChar2 : kTestChar1;
		if (memchr(buffer, bad_char, kBlockSize))
			return false;
		count++;
	}
}

int main()
{
	std::ofstream output_file(kFileName, std::ios_base::trunc | std::ios_base::out | std::ios_base::binary);
	// std::thread thread1(WriteManyChars, std::ref(output_file), kTestChar1);
	// std::thread thread2(WriteManyChars, std::ref(output_file), kTestChar2);
	std::thread thread1(WriteManyCharsOwnFile, kTestChar1);
	std::thread thread2(WriteManyCharsOwnFile, kTestChar2);
	thread1.join();
	thread2.join();
	output_file.close();
	if (CheckResult())
		std::cout << "File is valid";
	else
		std::cout << "File is broken";
	return 0;
}

 

 

Поделиться сообщением


Ссылка на сообщение
(изменено)
Grohuf написал 21 минуту назад:

Немного оффтопа. Про программирование. Я написал тестовые программулину и проверил, будет ли корректно выводится в файл информация в нескольких потоках. Как ожидалось, никаких проблем не было, результирующий файл корректен. Это если использовать один дескриптор. Если использовать несколько, то как и ожидалось, содержимое бьется.

  Скрыть содержимое


#include <fstream>
#include <iostream>
#include <thread>

constexpr int kBlockSize = 997;
constexpr size_t kIterCount = 20000;
constexpr char kFileName[] = "my_output.txt";
constexpr char kTestChar1 = '1';
constexpr char kTestChar2 = '2';

void WriteManyChars(std::ofstream& output_file, char c) {
	char buffer[kBlockSize];
	memset(buffer, c, kBlockSize);
	for (size_t i = 0; i < kIterCount; ++i) {
		output_file.write(buffer, kBlockSize);
	}
}

void WriteManyCharsOwnFile(char c) {
	std::ofstream output_file(kFileName, std::ios_base::out | std::ios_base::app | std::ios_base::binary);
	WriteManyChars(output_file, c);
}

bool CheckResult() {
	std::ifstream input_file(kFileName, std::ios_base::in | std::ios_base::binary);
	char buffer[kBlockSize + 1];
	buffer[kBlockSize] = '\0';
	size_t count = 0;
	while (true) {
		size_t read_count = input_file.read(buffer, kBlockSize).gcount();
		if (read_count == 0)
			return count == 2 * kIterCount;
		if (read_count != kBlockSize) {
			return false;
		}
		char bad_char = buffer[0] == kTestChar1 ? kTestChar2 : kTestChar1;
		if (memchr(buffer, bad_char, kBlockSize))
			return false;
		count++;
	}
}

int main()
{
	std::ofstream output_file(kFileName, std::ios_base::trunc | std::ios_base::out | std::ios_base::binary);
	// std::thread thread1(WriteManyChars, std::ref(output_file), kTestChar1);
	// std::thread thread2(WriteManyChars, std::ref(output_file), kTestChar2);
	std::thread thread1(WriteManyCharsOwnFile, kTestChar1);
	std::thread thread2(WriteManyCharsOwnFile, kTestChar2);
	thread1.join();
	thread2.join();
	output_file.close();
	if (CheckResult())
		std::cout << "File is valid";
	else
		std::cout << "File is broken";
	return 0;
}

 

 

fd write is thread safe, но он может не все байты записать.

Интересно в каких случаях он не все записывает. Вероятно в имплементации ofstream сискол write в лупе крутится пока не запишет все байты и если там нет лока на использование фд на это время, то может и перемешать.

 

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

 


Изменено пользователем besteady

 

9Aa4jVY.jpeg

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение
Grohuf said 23 minutes ago:

Немного оффтопа. Про программирование. Я написал тестовые программулину и проверил, будет ли корректно выводится в файл информация в нескольких потоках. Как ожидалось, никаких проблем не было, результирующий файл корректен. Это если использовать один дескриптор. Если использовать несколько, то как и ожидалось, содержимое бьется.

  Reveal hidden contents


#include <fstream>
#include <iostream>
#include <thread>

constexpr int kBlockSize = 997;
constexpr size_t kIterCount = 20000;
constexpr char kFileName[] = "my_output.txt";
constexpr char kTestChar1 = '1';
constexpr char kTestChar2 = '2';

void WriteManyChars(std::ofstream& output_file, char c) {
	char buffer[kBlockSize];
	memset(buffer, c, kBlockSize);
	for (size_t i = 0; i < kIterCount; ++i) {
		output_file.write(buffer, kBlockSize);
	}
}

void WriteManyCharsOwnFile(char c) {
	std::ofstream output_file(kFileName, std::ios_base::out | std::ios_base::app | std::ios_base::binary);
	WriteManyChars(output_file, c);
}

bool CheckResult() {
	std::ifstream input_file(kFileName, std::ios_base::in | std::ios_base::binary);
	char buffer[kBlockSize + 1];
	buffer[kBlockSize] = '\0';
	size_t count = 0;
	while (true) {
		size_t read_count = input_file.read(buffer, kBlockSize).gcount();
		if (read_count == 0)
			return count == 2 * kIterCount;
		if (read_count != kBlockSize) {
			return false;
		}
		char bad_char = buffer[0] == kTestChar1 ? kTestChar2 : kTestChar1;
		if (memchr(buffer, bad_char, kBlockSize))
			return false;
		count++;
	}
}

int main()
{
	std::ofstream output_file(kFileName, std::ios_base::trunc | std::ios_base::out | std::ios_base::binary);
	// std::thread thread1(WriteManyChars, std::ref(output_file), kTestChar1);
	// std::thread thread2(WriteManyChars, std::ref(output_file), kTestChar2);
	std::thread thread1(WriteManyCharsOwnFile, kTestChar1);
	std::thread thread2(WriteManyCharsOwnFile, kTestChar2);
	thread1.join();
	thread2.join();
	output_file.close();
	if (CheckResult())
		std::cout << "File is valid";
	else
		std::cout << "File is broken";
	return 0;
}

 

 

Ну и нахуй ты это сделал?


 

Жиза для любопытных

Чекнул = пидор

 

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 27 минут назад:

Это если использовать один дескриптор. Если использовать несколько, то как и ожидалось, содержимое бьется.

Но ведь все наоборот...

  Показать содержимое
gr@gr-VB:~/Projects_data/hz$ g++ -pthread -std=c++20 ./grohuf.cpp -o ./bin && ./bin && echo "=========" && cat grohuf.cpp && echo ""  
ONE File is broken
MANY File is valid
=========
#include <fstream>
#include <iostream>
#include <thread>
#include <cstring>

constexpr int kBlockSize = 997;
constexpr size_t kIterCount = 20000;
constexpr char kFileName[] = "my_output.txt";
constexpr char kTestChar1 = '1';
constexpr char kTestChar2 = '2';

void WriteManyChars(std::ofstream& output_file, char c) {
    char buffer[kBlockSize];
    memset(buffer, c, kBlockSize);
    for (size_t i = 0; i < kIterCount; ++i) {
        output_file.write(buffer, kBlockSize);
    }
}

void WriteManyCharsOwnFile(char c) {
    std::ofstream output_file(kFileName, std::ios_base::out | std::ios_base::app | std::ios_base::binary);
    WriteManyChars(output_file, c);
}

bool CheckResult() {
    std::ifstream input_file(kFileName, std::ios_base::in | std::ios_base::binary);
    char buffer[kBlockSize + 1];
    buffer[kBlockSize] = '\0';
    size_t count = 0;
    while (true) {
        size_t read_count = input_file.read(buffer, kBlockSize).gcount();
        if (read_count == 0)
            return count == 2 * kIterCount;
        if (read_count != kBlockSize) {
            return false;
        }
        char bad_char = buffer[0] == kTestChar1 ? kTestChar2 : kTestChar1;
        if (memchr(buffer, bad_char, kBlockSize))
            return false;
        count++;
    }
}

int main()
{
    {
    std::ofstream output_file(kFileName, std::ios_base::trunc | std::ios_base::out | std::ios_base::binary);
    std::thread thread1(WriteManyChars, std::ref(output_file), kTestChar1);
    std::thread thread2(WriteManyChars, std::ref(output_file), kTestChar2);
    thread1.join();
    thread2.join();
    output_file.close();
    if (CheckResult())
        std::cout << "ONE File is valid" << std::endl;
    else
        std::cout << "ONE File is broken" << std::endl;
    }

    {
    std::ofstream output_file(kFileName, std::ios_base::trunc | std::ios_base::out | std::ios_base::binary);
    std::thread thread1(WriteManyCharsOwnFile, kTestChar1);
    std::thread thread2(WriteManyCharsOwnFile, kTestChar2);
    thread1.join();
    thread2.join();
    output_file.close();
    if (CheckResult())
        std::cout << "MANY File is valid" << std::endl;
    else
        std::cout << "MANY File is broken" << std::endl;
    }

    return 0;
}

 


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...