Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (30)

Лучшие ответы пользователя

Все ответы (37)
  • Каким образом поднять новую инфраструктуру с нуля и объединить в одну сеть три корпуса учебного заведения?

    @DastiX
    Делал тоже самое только в медицине.
    Пробивайте прямой линк. Сэкономит кучу нервов. Если на одной территории, то оптика однозначно, даже не сомневайтесь, если в разных районах, то L2 через провайдера.
    Про скорость 100мбит забудьте, это прошлый век. Делайте сразу гигабит, так же сэкономит нервы и через три года не придется переделывать.
    И, простите, зачем вам три домена на три корпуса? Это бред сивой кобылы. У вас на них разные сайты висят? В каждом корпусе свой системный администратор? Или что? Для чего это нужно?
    И еще вопрос, на кой черт два сервера на каждый корпус? Что на этих серверах? Зачем они должны стоять в разных корпусах?

    Для 200+ ПК одного домена, более чем достаточно, делаете хозяина инфраструктуры в главном корпусе, DNS, DHCP, там же резервный DC на другом сервере.

    Главное - надежная, емкая транспортная инфраструктура, а на ней все остальное гораздо проще и легче делается.

    Если по пунктам, то выглядит так (при условии нахождения на одной территории):
    1. Одномодовая оптика на 16 волокон от второстепенных к главному корпусу.
    2. В главном, оптический гигабитный коммутатор уровня ядра
    3. Во второстепенных, гигабитные коммутаторы уровня сети, с оптическим портом
    4. В главном ставите все сервера.
    5. В главном поднимаете DC, резервный DC, файлсервер и все, что еще вам нужно.

    И все, никакого геморроя с лесами и доверием и впн.
    Леса нужны когда у вас уже филиалы целые в разных районах и городах, со своими политиками и т.д.
    А на 200 компьютеров такое городить - это верх некомпетентности.
    Ответ написан
  • Как лучше хранить настройки пользователей в БД?

    @DastiX
    Я в одном очень большом проекте подсмотрел классную фичу с "виртуальными столбцами", теперь очень часто пользуюсь в аналогичных, как у Вас случаях.

    Таблица концептов(concept):
    ID | NAME
    200 | Параметры отправки почты
    300 | Параметры отправки заданий
    ....

    Таблица параметров(param):
    ID | CONCEPT | NAME
    1 | 200 | Отправлять в пн
    2 | 200 | Отправлять во вт
    3 | 200 | Отправлять в ср
    ...
    10 | 300 | Отправлять задание 1
    11 | 300 | Отправлять задание 2
    12 | 300 | Отправлять задание 3
    ...

    Таблица Пользователей(users)
    ID | NAME
    1 | Саша
    2 | Петя
    3 | Вася
    ...
    Таблица реальных значений(xval)
    ID | CONCEPT | USR_ID | PARAM_ID | VALUE | ACTUAL
    1 | 200 | 1 | 1 | 1 | 1 | - Отправляем Саше по понедельникам почту
    2 | 200 | 1 | 2 | 1 | 1 | - Отправляем Саше по втоникам почту
    3 | 200 | 1 | 3 | 1 | 1 | - Отправляем Саше по средам почту
    4 | 200 | 2 | 3 | 1 | 1 | - Отправляем Пете по средам почту
    5 | 200 | 3 | 2 | 1 | 1 | - Отправляем Васе по вторникам почту
    ...
    20 | 300 | 1 | 10 | 1 | 1 | - Отправлять Саше задание 1
    21 | 300 | 1 | 11 | 1 | 1 | - Отправлять Саше задание 2
    22 | 300 | 1 | 12 | 1 | 1 | - Отправлять Саше задание 3
    23 | 300 | 2 | 11 | 1 | 1 | - Отправлять Пете задание 2
    23 | 300 | 3 | 10 | 1 | 1 | - Отправлять Васе задание 1
    Запрос
    select 
      u.name as usr,
      p.name as pname,
      x.value as val
    from users u 
    left join xval x on x.user_id = u.id and x.concept = 200
    left join param p on p.id = x.param_id
    where u.id = 1

    вернет вам все параметры отправки почты (concept=200) для Саши.
    USR | PNAME | VAL
    Саша | Отправлять в пн | 1
    Саша | Отправлять во вт | 1
    Саша | Отправлять в ср | 1
    Нужно узнать, какие конкретно отправлять задания?
    Просто меняете концепт на 300 и результатом будут все задания на отправку для Саши.

    Добавить какой-то параметр? Просто добавляете строку в таблицу и все!
    И никаких правок структуры в продакшене и другого геморроя.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (10)