• Какой роутер выбрать для двух активных провайдеров?

    @Vilos
    Вот и подросло поколение ЕГЭ...элементарная сетевая задача разжеванная уже столько раз на каких только можно ресурсах, от хабра до линукс.орга; от циско до длинка. Удивляюсь я....я с ходу могу сразу 3 решения назвать: 1. классическая стандартная маршрутизация. 2. можно поделить сеть на вланы и таким образом на уровне L2 решить твой кейс (ты же знаешь про модель iso/osi?..). 3. можно упороться и вообще попробовать в качестве задачи со зведочкой решить через vpn туннелирование с дальнейшей маршрутизацией (но это из разряда экзотики).
    Ответ написан
    4 комментария
  • Софт для сервера видеонаблюдения, а какой?

    @Komrus
    CIO
    1. Как и говорили другие участники - лучше готовый видеорегистратор - комплектный компик с предустановленным софтом. (Видеорегистратор для IP камер зовётся также NVR)
    Бывает - и со встроенным коммутаторчиком на несколько портов. И с выдачей PoE на камеры.
    Стоить будет дешевле, чем обычный комп. Добавить только HDD надо...
    Мы частенько Trassir из железок используем.

    2. А смысл не выдавать PoE на камеры с коммутатора, и тащить его отдельно? Просто больше проводов приходится тягать и больше точек отказа...

    3. Нет, в общем случае КОММУТАТОР никакие IP адреса никому не присваивает. Он вообще ничего про IP адреса не знает. Этим занимается либо Windows сервер, либо видеорегистратор-NVR. Служба, выдающая IP адреса всем желающим, называется ЗАГС ... э-э-э... То есть DHCP :)

    4. Если всё-же по каким-то соображениям строго необходимо софт под Windows разворачивать - можно на тот же Trassir посмотреть (берется на сайте dssl.ru в разделе тех.поддержка, лицензируется по камерам; на ряд камер лицензия идёт с ними в комплекте),
    можно - на videonet Light посмотреть, тоже весьма бюджетное решение...
    Ответ написан
    1 комментарий
  • Софт для сервера видеонаблюдения, а какой?

    @Scorpio044
    Я дома пользуюсь Линией под Linux. На работе есть и сервера под windows, и пол линукс. Можно докупать хоть по одному каналу. Очень хороший софт.
    Сервер на i5-12400 нагрузка не больше 40% - пишет 32 канал
    https://devline.ru/price/
    если что, у них там и регистраторы есть под разные потребности.

    - от них витая пара (не PoE, питание камер отдельное)

    Зачем городить огород и тянуть лишний кабель питания? Делай PoE и не парься, либо можно просто питание подать на камеры по синей и коричневой паре раздербанив витухи либо использую poe-сплиттер типа такого
    https://www.citilink.ru/product/splitter-osnovo-pp...

    IP, который ей присвоит коммутатор? Например подсеть коммутатора 192.168.0.0 значит у камер будут адреса 192.168.5, 192.168.6, 192.168.07 и так далее?

    IP-адреса присваивает роутер с включенным dhcp-сервером, коммутатор адреса обычно получает и то, если он управляемый. В адресах у тебя скорее всего опечатки, 0 в третьем октете не хватает.

    А вообще, для видеонаблюдения в идеале выделяют дополнительную подсеть, чтобы трафик видеонаблюдения не мешал основной сети. Как-то так
    192.168.10.0/24 - основная сеть
    192.168.20.0/24 - гостевая сеть
    192.168.30.0/24 - сеть видеонаблюдения
    Ответ написан
    Комментировать
  • Софт для сервера видеонаблюдения, а какой?

    @brar
    Вы хотите сделать так, как не надо делать. )
    Делайте типа так:
    1. IP-видеорегистратор. (Hik или hiwatch) на 8 камер.
    2. Коммутатор (dahua) с 7-8 портами poe-out.
    3. Камеры hiwatch (c питанием по POE), желательно цилиндрического исполнения, чем купольные, так как их монтировать удобнее.
    Бренд можете любой, конечно, подставить сюда. Но POE - маст хэв. И упаси, Великий Аттрактор, ставить какой-либо программный видеорегистратор на обычный комп, будь он на винде или на линуксе, не важно. Ваш проц при записи или проигрывании с этих 6 камер будет утилизироваться как минимум на 50-60 процентов.
    Ответ написан
    Комментировать
  • Софт для сервера видеонаблюдения, а какой?

    NeiroNx
    @NeiroNx
    Программист
    Возьми видеорегистратор, не придумывай проблем из ничего.
    Видеорегистратор - это такой мини-пк с специализированным софтом, с чипом умеющим аппаратный декодинг. Софт отлажен и надежен - это не винда которая захочет обновиться именно в тот момент когда нужно запись с камер.

    Лучше вибирать того бренда, которого у вас стоят камеры - это единая инфраструктура и каждый регистратор под свой бренд заточен, хотя и умеет принимать другие.

    XM - дешевый и надежный.
    Dahua - дороже и менее надежный.
    HikVision - дорогой.
    Ответ написан
    Комментировать
  • Как выходить в интернет по gateway, который имеет ip адрес в другой подсети?

    @agpecam
    Не понятна топология сети. Если хосты разных подсетей находятся в одном L2 сегменте (грубо говоря, включены в один свитч, просто у одних адреса 10.0.0.x, а у других - 10.1.1.x), то хостам с адресами 10.1.1.x нужно просто сказать, что gateway доступен им на канальном уровне. Это можно сделать либо с помощью DHCP option 121 (router=0), либо порописать маршруты руками, типа: ip route add 10.0.0.0/24 dev eth0. После этого хосты с адресами 10.1.1.x будут, используя ARP, находить MAC 10.0.0.1, а больше им ничего и не нужно.
    Ответ написан
    3 комментария
  • Как автоматизировать процесс установки программ на 1000 компьютерв?

    @NortheR73
    системный инженер
    хых...
    управлять 1000 компов не в домене - оригинальный вы человек...
    тогда, например, установка софта с помощью PowerShell-скрипта...
    Ответ написан
    Комментировать
  • Как настроить телефонию по RDP?

    @Jon7
    Ставите внешний Астерикс для сотрудников на удалёнке. Соединяете транком оба Астерикса через отдельный open vpn не пересекающийся с основной сетью.
    Всю телефонию, по возможности, выводите в независимую подсеть.
    Ответ написан
    1 комментарий
  • Как настроить телефонию по RDP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А зачем нужен такой изврат? Если клиентские компы уже в VPN, то гораздо проще установить SIP-клиентов прямо на них.
    Ответ написан
  • Почему перестаёт работать рдп у клиентов микротик?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Вы открыли Rdp наружу? Если да, то это и есть причина проблемы. Ваши виртуальные машины брутфорсят. Как минимум нужно на каждую поставить ipban
    Ответ написан
    3 комментария
  • Не могу никак запустить эмулятор андроид в Андроид Студио. Че делать?

    @Drno
    Включить виртуализацию в Биос, включить Hyper-V в компонентах системы
    Ответ написан
    Комментировать
  • Увеличение раздела root на Линукс. Как сделать безболезненно?

    @pfg21
    ex-турист
    качаешь gparted.
    записываешь его на флешку с загрущкой. (описание там же на сайте gparted)
    альт.вариант: записать в груб-меню на диске, дабы iso-образ записывался в ram и оттуда запускался gparted
    загружаешься в орфлайн gparted, меняешь размеры разделов диска как нужно.

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

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

    как вариант для уменьшения офлайн-работы, можно предварительно отмонтировать /dev/sda3, перетянуть, его так, чтобы перед ним было свободно 200+ гб свободного места, и только потом перегрузиться в оффлайн-gparted и увеличить /dev/sda2 на освободившееся место - это действие будет очень быстрое.
    Ответ написан
    4 комментария
  • После подключения VPN-соединения есть доступ к корпоративной сети, но почему доступ к интернету после этого не работает?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    1) Призовите админа
    2) Укажите на явную проблему - VPN закидывает весь трафик в туннель, но режет на своей стороне маршрут 0.0.0.0
    3) Пусть починит (или не всё пускает в туннель, или всё, но пропускает в интернет через себя).
    4) Если админ Вы - признайте недостаток умений, вырастите над собой, разберитесь и сделайте нормально. Ну или наймите другого исполнителя разово на эту задачу. :)
    Ответ написан
    Комментировать
  • Какой впн-софт посоветуете для линукс?

    justhostRU
    @justhostRU
    вообще на linux самый простой предсказуемый, надёжный и понятный в плане отладки это OpenVPN.
    Ответ написан
    1 комментарий
  • Какой впн-софт посоветуете для линукс?

    @LexPex
    PM Sysadm
    Ответ написан
    Комментировать
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Arlekcangp
    Разработчик, Лид, Архитектор ПО
    Похоже вас поймали на том что в js кто-то решил переопределить термин "замыкание"... Т к javascript далеко не первый язык, в котором есть нечто, претендующее называться термином "замыкание", то следует в первую очередь рассмотреть общее определение. Возьмём его из википедии:

    Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами. Говоря другим языком, замыкание — функция, которая ссылается на свободные переменные в своей области видимости.
    Замыкание, так же как и экземпляр объекта, есть способ представления функциональности и данных, связанных и упакованных вместе.
    Замыкание — это особый вид функции. Она определена в теле другой функции и создаётся каждый раз во время её выполнения. Синтаксически это выглядит как функция, находящаяся целиком в теле другой функции. При этом вложенная внутренняя функция содержит ссылки на локальные переменные внешней функции. Каждый раз при выполнении внешней функции происходит создание нового экземпляра внутренней функции, с новыми ссылками на переменные внешней функции.
    В случае замыкания ссылки на переменные внешней функции действительны внутри вложенной функции до тех пор, пока работает вложенная функция, даже если внешняя функция закончила работу, и переменные вышли из области видимости.[1]
    Замыкание связывает код функции с её лексическим окружением (местом, в котором она определена в коде). Лексические переменные замыкания отличаются от глобальных переменных тем, что они не занимают глобальное пространство имён. От переменных в объектах они отличаются тем, что привязаны к функциям, а не объектам.


    Как видим из этого длинного определения (а не только его первого предложения) интервьюер оказался формально прав (что является неожиданностью и для меня самого. Кто знает, возможно это веяние нового или всё же творчество чрезмерного ЧСВ js-кодерков, но не будем предвзятыми) Посмотрим дальше...Переходим в английскую версию той же страницы в википедии:

    In programming languages, a closure, also lexical closure or function closure, is a technique for implementing lexically scoped name binding in a language with first-class functions. Operationally, a closure is a record storing a function[a] together with an environment.[1] The environment is a mapping associating each free variable of the function (variables that are used locally, but defined in an enclosing scope) with the value or reference to which the name was bound when the closure was created.[b] Unlike a plain function, a closure allows the function to access those captured variables through the closure's copies of their values or references, even when the function is invoked outside their scope.


    О! А тут нет никаких "функций, вложенных в функцию" и нет никаких "создающихся каждый раз" Хм... Интересно. Ну за то есть абзац о том как появились замыкания:

    The concept of closures was developed in the 1960s for the mechanical evaluation of expressions in the λ-calculus and was first fully implemented in 1970 as a language feature in the PAL programming language to support lexically scoped first-class functions.[2]

    Peter J. Landin defined the term closure in 1964 as having an environment part and a control part as used by his SECD machine for evaluating expressions.[3] Joel Moses credits Landin with introducing the term closure to refer to a lambda expression whose open bindings (free variables) have been closed by (or bound in) the lexical environment, resulting in a closed expression, or closure.[4][5] This usage was subsequently adopted by Sussman and Steele when they defined Scheme in 1975,[6] a lexically scoped variant of Lisp, and became widespread.


    Ага. Оказывается первоначально они появились в такой не конвенциональной, с сегодняшней точки зрения VM, как SECD... И их создатель прямо говорит, что это код плюс данные. Далее термин применяют к лямбда-выражениям. Ничего не говорится, должны ли эти выражения возвращаться функцией, или достаточно того, что бы они захватывали переменные из своего лексического (или динамического, как в common lisp) окружения. Далее нам сообщают, что некие мистеры, Сасман и Стил, спустя каких то 11 лет добавили это в свой язык Scheme... Ну что же. Посмотрим замыкания в Scheme... А именно откроем книгу Сасмана и соавторов "Структура и интерпретация компьютерных программ" или "SICP" Первый раз (исключая содержание) слово "замыкание" встречается в главе 2 "Поcтроение абстракций c помощью данных"


    Важная идея в работе с составными данными — понятие замыкания (closure): клей для
    сочетания объектов данных должен позволять нам склеивать не только элементарные
    объекты данных, но и составные.


    Но, как выяснилось, это не те замыкания... Это замыкание в том смысле, что структуру одного типа (в данном случае пары) могут ссылаться на самих себя. И это то как термин "замыкание" понимают математики. Далее в SICP никаких других определений замыканий нет (несмотря на то, что само их использование конечно же есть) Ну ничего не остаётся как посмотреть что же сегодня называют замыканиями в языке Scheme... Гугл по этому запросу выдал первой ссылкой: https://www.cs.utexas.edu/ftp/garbage/cs345/schint....
    Цитирую:

    Procedures are Closures
    Scheme procedure's aren't really just pieces of code you can execute; they're closures.

    A closure is a procedure that records what environment it was created in. When you call it, that environment is restored before the actual code is executed. This ensures that when a procedure executes, it sees the exact same variable bindings that were visible when it was created--it doesn't just remember variable names in its code, it remembers what storage each name referred to when it was created.

    Since variable bindings are allocated on the heap, not on a stack, this allows procedures to remember binding environments even after the expressions that created those environments have been evaluated. For example, a closure created by a lambda inside a let will remember the let's variable bindings even after we've exited the let. As long as we have a pointer to the procedure (closure), the bindings it refers to are guaranteed to exist. (The garbage collector will not reclaim the procedure's storage, or the storage for the let bindings.)

    Here's an example that may clarify this, and show one way of taking advantage of it.

    Suppose we type the following expression at the Scheme prompt, to be interpreted in a top-level environment:

    Scheme> (let ((count 0))
               (lambda ()
                  (set! count (+ count 1))
                  count)))

    ##

    Evaluating this let expression first creates a binding environment with a binding for count. The initial value of this binding is 0. In this environment, the lambda expression creates a closure. When executed, this procedure will increment the count, and then return its value. (Note that the procedure is not executed yet, however--it's just created.) This procedure, returned by the lambda expression, is also returned as the value of the let expression, because a let returns the value of its last body expression. The read-eval-print loop therefore prints a representation of the (anonymous) procedure.


    Что имеем ? В Scheme - вообще любая функция - это замыкание! Т к она всегда захватывает контекст, даже если там пусто!. Что видим в коде ? Ну с точки зрения Scheme тут конечно вложенная функция, т к let - это на самом деле lambda, но так происходит потому, что в Scheme нет переменных в понимании js. В js же можно считать, что глобальный контекст - результат действия нечто, что эквивалентно let. Захватывает ли любая функция в js этот контекст ? Не знаю. Но точно знаю, что в вашем примере это определенно так - х часть контекста, который захватывается функцией. Кто хочет поспорить - идите спорьте с создателями Scheme (скажите, когда попкорн покупать, я посмотрю как вас пороть будут. Набежало тут вайтишников =)) Кто то может сказать "а вот у нас в js замыкания определяются не так" На что я отвечу: знаете, товарищи, а идите ка вы лесом! Если есть однажды созданный и определенный термин, нужны весьма веские причины что бы менять его определение. Желания левой ноги очередного вайтишника тут не достаточно.
    Ответ написан
    30 комментариев
  • Что такое SONATA PROJECT?

    lazalu68
    @lazalu68
    Salmon
    Не знаю насколько я правильно понял, но Sonata-project это вроде бы просто набор полезных инструментов и пакетов (плагинов) написанных с использованием Symfony. Даже на офе так написано - "A set of several rich open source bundles based on Symfony".

    Вот например layout manager из sonata-project, а вот SEO-генератор. То есть если Symfony это фреймворк, то Sonata-project это набор готовых компонентов для Symfony. Вы можете взять Symfony и сделать сайт с нуля, а можете взять Symfony и сделать сайт из компонентов Sonata-project, это сэкономит много времени.

    Не вижу особого смысла что-то сравнивать, но если хотите, то в своей сфере похожими явлениями могут считаться Vue и плагины для него: можете взять Vue и писать на нём с нуля, а можете построить фронт с помощью Vue и плагинов для него.
    Ответ написан
    1 комментарий
  • Записали на хакатон. Какой язык выбрать?

    kawabanga
    @kawabanga
    1) На хакатон нужна команда. Ищите более опытную. Попробуйте примкнуть к более опытной.
    2) Не бойтесь, Хакатоны расширяют кругозор, вы всегда сможете познакомиться там с людьми, которые так или иначе повлияют на вас.
    3) Ну и раз, вас туда отправляют без каких либо знаний, то забейте и получайте удовольствие. как минимум покормят там бесплатно, повеселитесь.
    Ответ написан
    3 комментария
  • Как сделать почтовый сервер для принятия входящей почты?

    sashkets
    @sashkets
    Прекратил отвечать после 24.02.2022
    гайда Вам никто не даст, а вот если эту работу разбить на этапы то можно много постичь по ходу

    -ДНС
    -Сервисы smtp, imap, pop3
    -Courier-imap или Dovecot?
    -Учетные записи пользователей системные или виртуальные? Виртуальные удобнее, да и база данных у Вас уже настроена и работает. Если вдруг потребуется прогонять входящую почту через фильтр procmail, то придется вводить системные учетные записи, потому что с виртуальными procmail не работает
    -Настройка шифрования. Сервисы smtps, imaps, pop3s
    -Настройка smtp-авторизации
    -Установка и настройка антивируса и антиспама
    -Установка веб-интерфейса для работы с почтой
    -Фильтр входящей почты procmail. Необязательно, но ознакомиться стоит

    на полгода достадочно
    Ответ написан
    2 комментария