Backup before adding NAT IP:port tracking to ETCP handshake
This commit is contained in:
1 parent
e21e0d874f
commit
8334b97521
234 files changed
+1072
-32108
No files matched your search
@@ -1,31 +0,0 @@
|
||||
Вопрос. Прошло пол года.
|
||||
У нас появился профессиональный ремонтник?
|
||||
А технолог?
|
||||
А админ?
|
||||
|
||||
А почему?
|
||||
К чему привели сотни часов длительных разговоров с сотрудниками, есть какие-то ощутимые улучшения? Кроме того что саботажники притихли и теперь осторожность проявляют чтоб лишнего не ляпнуть
|
||||
|
||||
игнорирование техпроцесса сегодня - это катастрофа завтра.
|
||||
«Проблема сегодня — это потеря X денег завтра. Ты можешь это исправить быстро, а если подождёшь, то последствия будут более серьёзными и дорогими.»
|
||||
|
||||
Обучение без внутренней мотивации почти всегда даёт слабый и нестабильный результат.
|
||||
Инициативу нельзя “внедрить”.
|
||||
Можно только создать условия, где она либо появляется, либо становится очевидно, что её не будет.
|
||||
|
||||
Что реально можно попробовать (если всё же хочешь шанс)
|
||||
1. Проверка “а хочет ли он вообще”
|
||||
Прямо и спокойно:
|
||||
«Я готов вложить время, но мне важно понять — тебе это нужно?»
|
||||
Ответ без конкретики = плохой знак.
|
||||
|
||||
Главный посыл - сколько не читай лекций и не заставляй учиться - человек умней не станет, и не станет лучше работать, пока сам не захочет и сам не начнёт учиться. А учиться это всегда долго и сложно. Да, можно временно "ограничить" проблемных людей, но толку с этого ровно ноль. Только потерянное время на сотню часов болтовни.
|
||||
А если учить - то ну не персионеров же, это мягко говоря зашквар. Единственный вариант для дедушек - чтобы они выпоняли только ту работу которой уже научились и которая у них хорошо получается.
|
||||
|
||||
Я видел много примеров когда человек сам проявляет инициаливу, интересуется, учится и быстро растёт. точнее это единственный сценарий, по которому выросли профессионалы. Большинство профессионалов даже институт забросили потому что им интересно было ковыряться в их любимой тематике, а не слушать тот бред который преподы втирают. Вспомни Дожбса, Гейтса, да кого угодно возими.
|
||||
И не одного случая серьезного роста когда пришли в котору и объявили - а теперь всем на повышение квалификации. теперь каждый второй день - учимся. Это скорей про потрать бабло преподам на имитацию обучения.
|
||||
|
||||
|
||||
В моём понимании уже край как нужен адекватный технолог/ремонтник/руководитель, возможно в одном лице.
|
||||
Но. у меня есть опасения что текущий состав дедов его зачмырит как более опытного и угрозу их насиженному месту.
|
||||
Как действовать? какой план?
|
||||
+15
-10
@@ -252,6 +252,19 @@ void route_table_destroy(struct ROUTE_TABLE *table) {
|
||||
free(table);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Очищает глобальный кеш маршрутов
|
||||
*/
|
||||
void route_cache_clear(void) {
|
||||
for (int i = 0; i < g_route_cache.count; i++) {
|
||||
if (g_route_cache.entries[i]) {
|
||||
route_array_destroy(g_route_cache.entries[i]);
|
||||
g_route_cache.entries[i] = NULL;
|
||||
}
|
||||
}
|
||||
g_route_cache.count = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Валидирует маршрут на соответствие разрешенным подсетям
|
||||
*/
|
||||
@@ -332,21 +345,13 @@ bool route_table_insert(struct ROUTE_TABLE *table, const struct ROUTE_ENTRY *ent
|
||||
// Обновляем существующий маршрут
|
||||
table->entries[i] = *entry;
|
||||
table->entries[i].last_update = (uint64_t)time(NULL) * 1000000;
|
||||
if (!(table->entries[i].flags & ROUTE_FLAG_ACTIVE)) {
|
||||
table->entries[i].flags |= ROUTE_FLAG_ACTIVE;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Set timestamps and ensure route is active
|
||||
|
||||
// Set timestamps
|
||||
struct ROUTE_ENTRY new_entry = *entry;
|
||||
new_entry.created_time = new_entry.last_update = (uint64_t)time(NULL) * 1000000;
|
||||
|
||||
// Ensure route is active by default
|
||||
if (!(new_entry.flags & ROUTE_FLAG_ACTIVE)) {
|
||||
new_entry.flags |= ROUTE_FLAG_ACTIVE;
|
||||
}
|
||||
|
||||
// Insert at the end (order doesn't matter, lookup will sort)
|
||||
table->entries[table->count++] = new_entry;
|
||||
|
||||
+6
-1
@@ -95,11 +95,16 @@ struct ROUTE_TABLE *route_table_create(void);
|
||||
|
||||
/**
|
||||
* @brief Уничтожает таблицу маршрутизации и освобождает ресурсы
|
||||
*
|
||||
*
|
||||
* @param table Указатель на таблицу маршрутизации
|
||||
*/
|
||||
void route_table_destroy(struct ROUTE_TABLE *table);
|
||||
|
||||
/**
|
||||
* @brief Очищает глобальный кеш маршрутов
|
||||
*/
|
||||
void route_cache_clear(void);
|
||||
|
||||
/**
|
||||
* @brief Вставляет новую запись в таблицу маршрутизации
|
||||
*
|
||||
|
||||
Reference in new issue
Block a user