Пожалуйста, обратите внимание, что пользователь заблокирован
Да вполне годная статья, главное тенденция правильная, показать на пальцах, как создается софт. Никто тут и не ожидал приватных решений и новых концепций 
Архитектурные вопросы - это как раз то с чего начинается софт, тут полностью согласен.Вообще, судя по тому, что обсуждают, нам нужен новый тред. Тред про архитектурные вопросы, тот самый каркас, с чего начинается бот. Вопрос считаю очень важным к обсуждению, плюс раскрытие темы (то, чем каждый сможет поделиться и обсудить) не сливает какие то приватные техники, однако позволит поднять общий уровень познаний о построении модульного софта, а так же позволит создать ориентир качества, так, чтобы на ветку можно было ссылаться. Прийти к консенсусу, что есть тру в архитектуре, а что излишне или не правильно. У меня есть полно своих мыслей/убеждений на этот счёт, но я не исключаю, что могу сам думать о каких то аспектах не точно/не правильно и хотелось бы придать это обсуждению, которое позволит, как я сказал, задать ориентир и расти вместе.
Сделай, напиши, умоляю, потому что нихрена нету ничего подобного. Голова каждый день болит (физически, может из за жары еще хз), не хватает блин такого материала. Трафик, паршивый но есть, софта тоже есть, на вот первого рубежа у меня нет, уже начал делать, жду твой тред очень-очень. Это будет важно лично для меня. Спасибо заранее.Вообще, судя по тому, что обсуждают, нам нужен новый тред. Тред про архитектурные вопросы, тот самый каркас, с чего начинается бот. Вопрос считаю очень важным к обсуждению, плюс раскрытие темы (то, чем каждый сможет поделиться и обсудить) не сливает какие то приватные техники, однако позволит поднять общий уровень познаний о построении модульного софта, а так же позволит создать ориентир качества, так, чтобы на ветку можно было ссылаться. Прийти к консенсусу, что есть тру в архитектуре, а что излишне или не правильно. У меня есть полно своих мыслей/убеждений на этот счёт, но я не исключаю, что могу сам думать о каких то аспектах не точно/не правильно и хотелось бы придать это обсуждению, которое позволит, как я сказал, задать ориентир и расти вместе.
Вижу буффер оверфлоуА зачем в данном случае ограничивать все 100 символами? Вдруг линк на панель будет дольше?
Ну смотря как работать потом.Вижу буффер оверфлоу![]()
Тема уже поднималась неодноразово. В малвари использовать strncpy, lstrcpy и прочее будет только нуб. Проще реализовать все нужные функции для работы со строками самому, так как на них сложнее будет поставить бряк.Ну смотря как работать потом.
Вообще если говорить про безопасное программирование, лучше передавать в параметрах указатель на массив и второй параметр длина этого массива.
Далее использовать уже безопасные функции, типо-там strncpy и т.д.
Тогда никаких буффер оверфлоу не будет.)
и все потом заинлайнитьТема уже поднималась неодноразово. В малвари использовать strncpy, lstrcpy и прочее будет только нуб. Проще реализовать все нужные функции для работы со строками самому, так как на них сложнее будет поставить бряк.
Да, конечно.Тема уже поднималась неодноразово. В малвари использовать strncpy, lstrcpy и прочее будет только нуб. Проще реализовать все нужные функции для работы со строками самому, так как на них сложнее будет поставить бряк.
В си нет, но это проект С++.В C же нет классов
В структурах нельзя методы обьявлять. Поэтому структура для такого не подойдет.В си нет, но это проект С++.
Я про этот проект сказал, что можно сделать кастомный класс стринг.
Вообще честно сказать класс от структуры как по мне не особо-то много и отличается.)))
Кто сказал, что нельзя?В структурах нельзя методы обьявлять. Поэтому структура для такого не подойдет.
Зато можно делать указатели на функции, чем не методы ?В структурах нельзя методы обьявлять. Поэтому структура для такого не подойдет.
Это написано в любом учебнике по C. Можно обьявить только указатель на функцию:Кто сказал, что нельзя?
typedef struct client_t client_t, *pno;
struct client_t
{
pid_t pid;
char password[TAM_MAX]; // -> 50 chars
pno next;
pno (*AddClient)(client_t *);
};
pno client_t_AddClient(client_t *self) { /* code */ }
2)Благодаря этому проекту появилась весьма поучительная и классная статья от Rubicon https://xss.pro/threads/38851/ я надеюсь он еще напишет итоговую статью, как проектировать такого типа решения.
В общем в любом случае я не жалею, что поучаствовал в конкурсе, что-то нового для себя узнал, получил какой-то опыт. Короче полезно.)))