Речь не идёт о добровольном самолечении. Если желающих попасть к врачу/в больницу будут сотни/тысячи, то самолечением придётся заняться всем(.
Антибиотики могут понадобится на фоне ослабления организма во время выработки антител к вирусу — для недопущения возникновения осложнений в виде бактериальной инфекции. Об этом и Меклон выше пишет.
Удачи и вам, чтобы в случае чего лекарства оказались в наличии в аптеке в период паники.
Спасибо за ссылку!
В случае если инфекция приобретёт массовый характер и больницы не будут справляться с потоком больных, какие виды лекарств лучше всего иметь в домашней аптечке?
— антибиотики? (Амоксициллин/Цефиксим/Азитромицин? или что-то широкого спектра действия)
— интерфероны, иммуноглобулины?
— прочие препараты для снятия симптомов (жаропонижающие, регидрон)?
Конкуренция неизбежна, нужно либо снижать цену, уходить в другой сегмент клиентов (премиальный/средний+) или добавлять в свой «продукт» дополнительные фишки, которых нет у конкурента (гарантия на решение N-месяцев, скидка на следующий заказ, .....). Это опять же маркетинг, молоко «Домик в деревне» стоит дороже конкурентов, но его тоже покупают.
Предложите клиенту абонемент — ежемесячная плата за возможность доработок. Вы получите стабильный ежемесячный доход и возможность загрузить отдел поддержки продаж (программисты+инженеры) в периоды «застоя». Клиент получит ценность в виде возможности обратится несколько раз в месяц за получением решения по возникшей задаче. Создайте прайс-лист на типовые задачи и посчитайте сумму абонемента.
Это хороший подход, но чтобы убедить в этом заказчика — вы должны будете понять как работает его бизнес и правильно ли рассчитаете этот экономический эффект. Но если рассчитаете правильно и заказчик тоже это увидит, то сможете и продать дороже чем просто за часы. Об этом чуть выше я и писал, продавать нужно ценности, а не часы.
Во именно в этом и заключается работа менеджера по продажам. Например, я бы (в роли менеджера по продажам) попробовал сравнить стоимость разработанного функционала со стоимостью системы навигации или системы климат-контроля для его автомобиля. Ведь заказчик покупая дополнительный функционал для автомобиля не спрашивает у производителя авто — из чего сложилась стоимость климат-контроля, системы навигации, системы автоматической парковки, задней камеры. Я понимаю что за прошедшие годы так сложилось что всё время продавали часы, и даже заказчики стали «думать часами».
Не знаю как «правильнее», ибо в таком случае нам придётся давать определение правильности. Нужно разделить оценку стоимости наружу (для клиента) и внутри — вознаграждение сотруднику.
Стоимость наружу — это маркетинг и продажи, за сколько Вы сможете убедить заказчика купить Ваше решение — за столько и продавайте, ведь он покупает не часы — он покупает дополнительный функционал в своей информационной системе, который позволит ему тем или иным образом повысить эффективность своих бизнес-процессов. Возможно Ваше решение поможет ему заработать дополнительные 10млн.рублей прибыли в год, а стоить для него оно будет всего 100 тыс.рублей.
Оценка внутри — это вопрос соответствия Ваших ожиданий от сотрудника. Можно оценивать выполнение задач — соответствие фактического выполнения планам (кол-во задач, сроки выполнения). Можно оценивать результаты работы — соответствие реализованного функционала техническому заданию. Можно получить от заказчика обратную связь по реализованному проекту/задаче и это тоже использовать в качестве оценки результата работы сотрудника. Можно включить в процедуру оценку и менеджера по продажам, который обращается к программисту в ходе взаимодействия с заказчиком. В компании, где я работал одно время — бэкенд (поддержка продаж) состоял из инженеров и программистов. Их з/п зависела от их квалификации (оклад + ежемесячная/квартальная премия). Программист/инженер — не продавец, в первую очередь он обеспечивает выполнение задачи качественным образом. Если менеджер не смог продать решение, то это вина менеджера и «страдать» должен он.
КМК, Вы настолько сильно привязались к способу оплаты по часам — что не можете выйти за рамки и увидеть другие решения. Попробуйте представить что в магазине Вам продают молоко исходя из длительности процесса по его изготовлению. Или зубной врач Вам лечит зуб и берёт оплату не за сам факт излечения (удаления, установки пломбы,...), а пропорционально длительности лечения. За часы берут там, где есть стандартные работы, которые нормированы и их длительность подтверждена «владельцем процесса». Для примера — сервисные центры автомобильных производителей: там есть нормо-часы, и по ним оценивается работа.
Ну как не меняется) Вы же написали — индивидуальные цены. Этого не будет, ибо нарушение действующего законодательства. А чтобы применить все маркетинговые механизмы хоть сейчас — достаточно иметь карту от ритейлера. Распознавание лица на кассе конечно упростит процесс передачи бонусной карты кассиру))
Вы почитайте что такое публичная оферта и как она относится к ритейлу. Никаких индивидуальных цен, «играть» можно только через бонусные/накопительные карты, т.е. через механизм скидок.
Proxmox и использовать ZFS RAID1 для SSD (как у автора). Ибо автор почему-то не пошёл дальше и не стал проверять производительность своих тестов под ZoL. Увидел бы я эту статью раньше — не стал бы городить свои, а так выжал на практически сравнимом железе (памяти только 64Гб) у этого же Хетцнера около 300 тыс. на операциях чтения pg_bench и около 40тыс. на TPC-B.
А что делать если заказов больше не стало? Рынок насыщен. А в структуре большинства компаний расходы на оплату труда являются весьма существенными, поэтому вопрос сокращения персонала совсем не праздный…
А под остальными понимаются и DO+Vscale? Или им вы безусловно доверяете? Речь в статье шла о «точечном» обходе, а не о полном переводе всего трафика в ВПН.
Я первоначально тоже делал агрегированый список, но потом решил посмотреть на загрузку полного списка и не увидел ухудшений в скорости работы или потребления памяти и решил оставить действительно «точечный» обход)
Если вы про скрипт /etc/firewall.user — то стандартными средствами нельзя в список ipset добавить другой ipset, только адреса/сети/… Поэтому я после каждого рестарта файрвола созадаю новый ipset, который содержит два других ipset и устанвливаю маркировку при попадании в этот ipset.
А если про скрипт для обновления адресов, то там используется встроенная возможность ipset обменять содержимое разных ipset, так чтобы список адресов ни на секунду не оставался пустым (потери пакетов в случае наличия трафика с адресами из запрещенных)
Ну и соответственно не «передергиваю» файрволл чтобы загруженные новые адреса подгрузились в ядро. Сейчас у меня уходит на выполнение скрипта по обновлению около 45-50 секунд (на tp-link wdr3600), из них большая часть времени на загрузку во временные ipset, около 190 тыс.адресов и потом мгновенно обмениваю с рабочими ipset.
Отличная работа. Если позволите, несколько замечаний/предложений. У меня используется похожая схема с максимальным использованием конфигов опенврт:
Заголовок спойлера
1) для описания статического маршрута, который привязывается к поднятию/опусканию интерфейса используется секция route в /etc/config/network:
config route 'anti_rkn'
option interface 'vpn'
option target '0.0.0.0'
option netmask '0.0.0.0'
#у меня используется L2 VPN, поэтому вручную указываю
#а для нормального VPN он сам возьмёт адрес некстхопа
#option gateway '192.168.30.1'
option table 'anti-rkn'
таким образом маршрут по умолчанию поднимется после поднятия интерфейса vpn и ему будет установлена таблица маршрутизации из /etc/iproute2/rt_tables
2) Использовать агрегированные адреса на мой взгляд не имеет смысл из-за высокой производительности при использовании ipset, там можно миллионы адресов загнать. Я у себя создал 3 ipset:
config ipset
option name 'RKN-BLOCKED'
option storage 'list'
option match 'set'
config ipset
option name 'RKN-BLOCKED-NET'
option storage 'hash'
option match 'net'
config ipset
option name 'RKN-BLOCKED-IP'
option storage 'hash'
option match 'ip'
option maxelem '256000'
Первый — это список из двух последующих
3) Обновлять списки адресов раз в сутки недостаточно, у меня стоит каждые 2 часа и очень мало случаев когда изменений не было, всё остальное время получаю новые заблокированные адреса. Поэтому я сделал свой скрипт, который и вызываю каждые 2 часа:
root@tl-wdr3600:~# cat /etc/anti-rkn/update-rkn-ip.sh
#!/bin/sh
# Скрипт не сохраняет файлы с адресами на диске, все операции проводит в памяти
start=`date +%s`
# create temporary sets
ipset create _tmp1 hash:net
ipset create _tmp2 hash:ip maxelem 256000
# load new content to ipset
curl -s https://antifilter.download/list/subnet.lst | awk '{print "add _tmp1 "$1;} END {print FNR > "/tmp/rkn_nets"}' | ipset -! restore
curl -s https://antifilter.download/list/ip.lst | awk '{print "add _tmp2 "$1;} END {print FNR > "/tmp/rkn_ips"}' | ipset -! restore
# swap content
ipset swap RKN-BLOCKED-NET _tmp1
ipset swap RKN-BLOCKED-IP _tmp2
# delete temporary sets
ipset destroy _tmp1
ipset destroy _tmp2
end=`date +%s`
logger -t update-rkn-ip "Updating the list of Anti-RKN IPs was completed, subnet="$(cat /tmp/rkn_nets)", ip="$(cat /tmp/rkn_ips)", running time="$((end-start))"sec."
4) У вас при создании правил пометки пакетов осутствует строка с OUTPUT и таким образом пакеты исходящие с самого роутера не уйдут в туннель. Мой вариант:
root@tl-wdr3600:~# cat /etc/firewall.user
# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.
ipset add RKN-BLOCKED RKN-BLOCKED-NET
ipset add RKN-BLOCKED RKN-BLOCKED-IP
iptables -t mangle -A PREROUTING -i br-lan -m set --match-set RKN-BLOCKED dst -j MARK --set-mark 0x1000
iptables -t mangle -A OUTPUT -m set --match-set RKN-BLOCKED dst -j MARK --set-mark 0x1000
5) Ну и при использовании hotplug можно (и наверное нужно) делать проверку на поднятие интерфейса в интернет (чтобы не вызывать загрузку адресов, если инета нет или отвалился):
root@tl-wdr3600:~# cat /etc/hotplug.d/iface/99-vpn.link-up
#!/bin/sh
# run only after WAN link up
[ "$ACTION" = ifup -a "$INTERFACE" = wan ] || exit 0
/etc/init.d/firewall enabled || exit 0
fw3 -q network "$INTERFACE" >/dev/null || exit 0
/etc/anti-rkn/update-rkn-ip.sh
не логичнее. Зачем нагружать излишним образом туннель? Там ведь используется шифрование, и второй момент — при доступе к ресурсам внутри РФ может оказаться что маршрут к разрешенным адресам будет длиннее чем без использования туннеля.
Антибиотики могут понадобится на фоне ослабления организма во время выработки антител к вирусу — для недопущения возникновения осложнений в виде бактериальной инфекции. Об этом и Меклон выше пишет.
Удачи и вам, чтобы в случае чего лекарства оказались в наличии в аптеке в период паники.
Спасибо за ссылку!
— антибиотики? (Амоксициллин/Цефиксим/Азитромицин? или что-то широкого спектра действия)
— интерфероны, иммуноглобулины?
— прочие препараты для снятия симптомов (жаропонижающие, регидрон)?
P.S. я не про ИТС если что.
Стоимость наружу — это маркетинг и продажи, за сколько Вы сможете убедить заказчика купить Ваше решение — за столько и продавайте, ведь он покупает не часы — он покупает дополнительный функционал в своей информационной системе, который позволит ему тем или иным образом повысить эффективность своих бизнес-процессов. Возможно Ваше решение поможет ему заработать дополнительные 10млн.рублей прибыли в год, а стоить для него оно будет всего 100 тыс.рублей.
Оценка внутри — это вопрос соответствия Ваших ожиданий от сотрудника. Можно оценивать выполнение задач — соответствие фактического выполнения планам (кол-во задач, сроки выполнения). Можно оценивать результаты работы — соответствие реализованного функционала техническому заданию. Можно получить от заказчика обратную связь по реализованному проекту/задаче и это тоже использовать в качестве оценки результата работы сотрудника. Можно включить в процедуру оценку и менеджера по продажам, который обращается к программисту в ходе взаимодействия с заказчиком. В компании, где я работал одно время — бэкенд (поддержка продаж) состоял из инженеров и программистов. Их з/п зависела от их квалификации (оклад + ежемесячная/квартальная премия). Программист/инженер — не продавец, в первую очередь он обеспечивает выполнение задачи качественным образом. Если менеджер не смог продать решение, то это вина менеджера и «страдать» должен он.
Ну как не меняется) Вы же написали — индивидуальные цены. Этого не будет, ибо нарушение действующего законодательства. А чтобы применить все маркетинговые механизмы хоть сейчас — достаточно иметь карту от ритейлера. Распознавание лица на кассе конечно упростит процесс передачи бонусной карты кассиру))
Если вы про скрипт /etc/firewall.user — то стандартными средствами нельзя в список ipset добавить другой ipset, только адреса/сети/… Поэтому я после каждого рестарта файрвола созадаю новый ipset, который содержит два других ipset и устанвливаю маркировку при попадании в этот ipset.
А если про скрипт для обновления адресов, то там используется встроенная возможность ipset обменять содержимое разных ipset, так чтобы список адресов ни на секунду не оставался пустым (потери пакетов в случае наличия трафика с адресами из запрещенных)
Ну и соответственно не «передергиваю» файрволл чтобы загруженные новые адреса подгрузились в ядро. Сейчас у меня уходит на выполнение скрипта по обновлению около 45-50 секунд (на tp-link wdr3600), из них большая часть времени на загрузку во временные ipset, около 190 тыс.адресов и потом мгновенно обмениваю с рабочими ipset.
таким образом маршрут по умолчанию поднимется после поднятия интерфейса vpn и ему будет установлена таблица маршрутизации из /etc/iproute2/rt_tables
2) Использовать агрегированные адреса на мой взгляд не имеет смысл из-за высокой производительности при использовании ipset, там можно миллионы адресов загнать. Я у себя создал 3 ipset:
Первый — это список из двух последующих
3) Обновлять списки адресов раз в сутки недостаточно, у меня стоит каждые 2 часа и очень мало случаев когда изменений не было, всё остальное время получаю новые заблокированные адреса. Поэтому я сделал свой скрипт, который и вызываю каждые 2 часа:
4) У вас при создании правил пометки пакетов осутствует строка с OUTPUT и таким образом пакеты исходящие с самого роутера не уйдут в туннель. Мой вариант:
5) Ну и при использовании hotplug можно (и наверное нужно) делать проверку на поднятие интерфейса в интернет (чтобы не вызывать загрузку адресов, если инета нет или отвалился):