• Какой роутер взять домой чтоб был гибкий к настройке?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Удобный и гибкий - Кинетик
    Непривычный в настройке но супер гибкий - микротик
    Ответ написан
    5 комментариев
  • Macbook Pro 2019 года актуален для работы в 2024/2025?

    @Eliasxxx
    За эти деньги (750 баксов) можно купить современный ноутбук на условном 8845HS, 32/2048 (SSD можно проапгрейдить), OLED 120 Hz от Lenovo, Huawei, Xiaomi, Asus и других брендов. Будет всем лучше старого макбука, будь то на M1 или Intel.

    Если не iOS/iPadOS/MacOS разработчик, то зачем именно яблочко? Ладно бы если современное, хотя бы MacBook Pro на M4 16/512 или M3 Pro 18/512, но старое устройство — старое устройство. Никакой магии бренд ему не делает.
    Ответ написан
    Комментировать
  • Macbook Pro 2019 года актуален для работы в 2024/2025?

    @Drno
    Цикл жизни пк примерно 5-6 лет.. Вы хотите купить устаревшее устройство.
    Ответ написан
    Комментировать
  • Macbook Pro 2019 года актуален для работы в 2024/2025?

    xez
    @xez
    TL Junior Roo
    На intel брать никакого смысла нет вообще.
    Только на M процессорах, и лучше даже не на m1, а на m4 сразу.
    У ноутбука на 13" будет важный плюс - он будет легким.
    Если вам ноутбук таскать не нужно - покупаете 4К-5К монитор и внешнюю клавиатуру/мышь и живете в счастье. И еще в таком случае можно присмотреться к мак-мини.
    Ответ написан
    Комментировать
  • Как расшифровать oid полученные через snmpwalk?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Можно через MIB, можно использовать online-сервисы, например https://oidref.com
    Например
    snmpwalk -v 2c -c public corerouter.my.domain
    ...
    iso.3.6.1.2.1.1.1.0 = STRING: "RouterOS CRS309-1G-8S+"
    iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.14988.1
    ...

    Получим описание интересующего OID'а. Естественно, предварительно надо установить пакет со стандартными MIB'ами, в Ubuntu это snmp-mibs-downloader.
    snmptranslate -mALL -Td iso.3.6.1.2.1.1.1.0
    SNMPv2-MIB::sysDescr.0
    sysDescr OBJECT-TYPE
      -- FROM	SNMPv2-MIB, RFC1213-MIB
      -- TEXTUAL CONVENTION DisplayString
      SYNTAX	OCTET STRING (0..255) 
      DISPLAY-HINT	"255a"
      MAX-ACCESS	read-only
      STATUS	current
      DESCRIPTION	"A textual description of the entity.  This value should
                include the full name and version identification of
                the system's hardware type, software operating-system,
                and networking software."
    ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) sysDescr(1) 0 }

    snmptranslate -Td -mAll iso.3.6.1.2.1.1.2.0
    SNMPv2-MIB::sysObjectID.0
    sysObjectID OBJECT-TYPE
      -- FROM	SNMPv2-MIB, RFC1213-MIB
      SYNTAX	OBJECT IDENTIFIER
      MAX-ACCESS	read-only
      STATUS	current
      DESCRIPTION	"The vendor's authoritative identification of the
                network management subsystem contained in the entity.
                This value is allocated within the SMI enterprises
                subtree (1.3.6.1.4.1) and provides an easy and
                unambiguous means for determining `what kind of box' is
                being managed.  For example, if vendor `Flintstones,
                Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
                it could assign the identifier 1.3.6.1.4.1.424242.1.1
                to its `Fred Router'."
    ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) sysObjectID(2) 0 }

    Видим, что у микротика есть ещё свой enterprise-блок с кодом 14988, в котором находятся специфичные для него OID'ы. Если скачать MIB для микротика (в папку ~/.snmp/mibs), то в нём увидим строку
    mikrotik OBJECT IDENTIFIER ::= { enterprises 14988 }
    .
    Получим OID'ы микротика
    snmpwalk -v 2c -c public corerouter.my.domain 1.3.6.1.4.1.14988
    ...
    iso.3.6.1.4.1.14988.1.1.3.100.1.2.17 = STRING: "cpu-temperature"
    iso.3.6.1.4.1.14988.1.1.3.100.1.3.17 = INTEGER: 22
    iso.3.6.1.4.1.14988.1.1.3.100.1.4.17 = INTEGER: 1
    ...

    snmptranslate -mAll iso.3.6.1.4.1.14988.1.1.3.100.1.2.17
    MIKROTIK-MIB::mtxrGaugeName.17
    
    snmptranslate -mAll iso.3.6.1.4.1.14988.1.1.3.100.1.3.17
    MIKROTIK-MIB::mtxrGaugeValue.17
    
    snmptranslate -Td -mAll iso.3.6.1.4.1.14988.1.1.3.100.1.4.17
    MIKROTIK-MIB::mtxrGaugeUnit.17
    mtxrGaugeUnit OBJECT-TYPE
      -- FROM	MIKROTIK-MIB
      SYNTAX	INTEGER {celsius(1), rpm(2), dV(3), dA(4), dW(5), status(6)} 
      MAX-ACCESS	read-only
      STATUS	current
      DESCRIPTION	"units"
    ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) mikrotik(14988) mikrotikExperimentalModule(1) mtXRouterOs(1) mtxrHealth(3) mtxrGaugeTable(100) mtxrGaugeTableEntry(1) mtxrGaugeUnit(4) 17 }

    Видим, что под OID'ом 1.3.6.1.4.1.14988.1.1.3.100.1.3.17 находится температура процессора (mtxrGaugeName = cpu-temperature) в градусах цельсия (mtxrGaugeUnit = 1) и сейчас она равна 22 градусам (mtxrGaugeValue = 22).

    P.S. И да, snmpwalk умеет подключать MIB'ы:
    snmpwalk -v 2c -c public -m MIB:ALL corerouter.my.domain 1.3.6.1.4.1.14988
    ...
    MIKROTIK-MIB::mtxrGaugeName.17 = STRING: cpu-temperature
    MIKROTIK-MIB::mtxrGaugeValue.17 = INTEGER: 23
    MIKROTIK-MIB::mtxrGaugeUnit.17 = INTEGER: celsius(1)
    ...

    или с полными OID'ами:
    snmpwalk -v 2c -c public -m MIB:ALL -O f corerouter.my.domain 1.3.6.1.4.1.14988
    ...
    .iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrHealth.mtxrGaugeTable.mtxrGaugeTableEntry.mtxrGaugeName.17 = STRING: cpu-temperature
    .iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrHealth.mtxrGaugeTable.mtxrGaugeTableEntry.mtxrGaugeValue.17 = INTEGER: 22
    .iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrHealth.mtxrGaugeTable.mtxrGaugeTableEntry.mtxrGaugeUnit.17 = INTEGER: celsius(1)
    ...
    Ответ написан
    2 комментария
  • Выбрать Vmware или VirtualBox на Windows для разработки?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вопроса в финансах нету - компания оплатит платную версию той или другой программы

    В таком случае компания вполне может оплатить покупку современного мака или его аренду. Если стоит задача вести разработку софта под мак, то без мака это будет: либо боль и страдания на старых версиях ОС и софта, либо оплата мак-хостинга и работа только по сети по RDP/VNC (что в долгосрочной перспективе выйдет дороже). Если всё же хотите использовать виртуализацию: используйте интел машину и VirtualBox - он бесплатный. На торрентах вполне можно скачать готовый образ. Можно даже образ для vmware - там надо будет только импортировать.
    В целом рекомендую всё же выбрать вариант с покупкой мака.
    Ответ написан
    8 комментариев
  • Macbook air 2019 в 2024 актуален?

    @Nikita1244
    Anonymous
    Мое ИМХО: Лучше накопить побольше бюджета и купить посвежее Макбук, хотя бы на М1 чипе. Лучше - М2. В М3 и М4 смысла особо не вижу. Это будет гораздо лучше чем Air 2019, который вполне скоро перестанет поддерживаться Apple, ЕМНИП.
    Ответ написан
    23 комментария
  • Зачем бэкендеру веб-разработки нужно указывать как проектировать систему?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Нужно доставить 50 тонн продукции в точки продажи.
    Бекендер по этому описанию разберется как это сделать?

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

    Кто это все угадывать будет?
    Ответ написан
    5 комментариев
  • В чем смысл использования Golang как веб сервер?

    Го намного проще многих других языков, соответственно проще читать и понимать чужой код, что ценится в больших компаниях, где работает много людей. Плюсом ценится то, что довольно сложно выстрелить себе в ногу.

    Тесты есть разные, Го примерно идет в ногу с Джавой и Шарпом, особенно в случае многопоточных нагруженных серверов. А если посмотреть сколько он потребляет при этом памяти, то даже выходит вперед по эффективности.

    На Го очень просто писать многопоточность и асинхронность, не нужно думать об await-ах, каждая горутина имеет свой стек, что снимает с программиста много головной боли. Вся стандартная библиотека и большой набор библиотек с гитхаба из коробки поддерживают асинхронность и потоковую обработку данных, работать с этим сильно проще, чем в других языках. Соответственно, сложнее накосячить.

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

    В итоге, легковесность горутин, легкость работы с ними и асинхронная модель из коробки (не создается тред на каждую рутину, а наоборот, рутины обрабатываются разными тредами по необходимости) привели к тому, что ниша Го это сервисы, которые упираются в ожидание ресурсов от каких-то внешних систем по сети. То есть, идеальный кейс для веб-сервера, который собирает под капотом инфу с БД и других сервисов. По сути такой сервис большую часть времени ждет ресурсов по сети, в Го это ожидание сделано очень эффективно.
    Ответ написан
    Комментировать
  • В чем смысл использования Golang как веб сервер?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    А теперь возьмите не синтетический тест, а реальную задачу сложнее перекладки json'ов, например, с шифрованием, дайте серьëзную длительную нагрузку и посмотрите латентность по процентилям.
    Ответ написан
    Комментировать
  • Анимированная загрузка с многоточием, как сделать?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Комментировать
  • Что за SMD компонент на оперативной памяти?

    @pfg21
    ex-турист
    ткну пальтцем в небо, набор pullup-резисторов.
    https://electronics.stackexchange.com/questions/35...

    update: был не прав (??) два последовательных резистора, смотри комментарии.
    Ответ написан
    6 комментариев
  • Возможны ли инклюды в /etc/hosts?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    Много лет назад уже изобрели DNS, именно для такой задачи. Кто вам мешает использовать это решение сейчас?
    Ответ написан
    5 комментариев
  • Возможны ли инклюды в /etc/hosts?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Это делается централизованным управлением конфигурациями, например, с помощью Ansible.
    Ответ написан
    5 комментариев
  • Что именно дают миллиарды транзисторов в процессоре для работы программы?

    nava2002
    @nava2002
    Инженер
    220px-CMOS_Inverter.svg.png
    Это элементарная цифровая ячейка "инвертор" - 2 транзистора.
    ВСЕ остальные логические и функциональные модули во ВСЕЙ цифровой технике состоят из таких ячеек.
    Вот почему чем больше транзисторов тем сложнее чип и тем больше он греется ну и все дальше по списку.
    Ответ написан
  • Что именно дают миллиарды транзисторов в процессоре для работы программы?

    15432
    @15432
    Системный программист ^_^
    1) Больше фич. Всякие AVX, MMX, а также умная конвейеризация, Hyper-Threading, спекулятивное исполнение, предсказание веток - при правильном применении сильно ускоряет вычисление
    2) Больше ядер. В один кристалл всё больше процессорных ядер запихивают, можно распараллелить задачи, тоже получим прирост в скорости работы
    3) Больше кэш-памяти. Та самая SRAM, которая входит в процессор и тоже состоит из транзисторов. Сильно ускоряет работу с памятью и задержки выполнения инструкций
    4) Больше контроллеров. В процы сейчас встраивают всё, что попало - шины данных, контроллер DRAM, PCIE, северный мост, отдельное ядро сопроцессора (Intel ME, AMD PSP), GPU и даже NPU где-то добавляют. Тоже считается за "больше транзисторов".
    Ответ написан
    4 комментария
  • Как определить что страница открыта в браузере Telegram?

    Noizefan
    @Noizefan
    WebView внутри приложения все равно сильно урезан от полной версии браузера
    задача проста:
    1) выявить расхождения
    2) определять их на стороне клиента
    https://abrahamjuliot.github.io/creepjs/
    вот тебе пачка расхождений
    Ответ написан
    Комментировать
  • Как сделать адресную строку в electron?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Точно так же как и в любом веб-приложении - с помощью HTML, CSS и JS.
    Ответ написан
    Комментировать
  • Как настроить отдачу метрик с nginx?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Есть prometheus-nginxlog-exporter
    Есть nginx-module-vts - видим он и имелся ввиду

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

    Есть Angie у него метрики нативные и, если можно так выразится настощие - данные берутся не из логов, и можно например увидеть сколько запросов находятся в обработке, в лог же данные записываются когда запрос был завершён, что не позволяет получить такую информацию, тем не менее логи вполне адекватный инструмент.
    Ответ написан
    1 комментарий