• Что можете посоветовать из обучащих материалов, которые помогут в сборке и настройке серверного железа, администрированию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Серверов очень много. Настройку серверов можно не осилить за всю жизнь.

    Направление - гугл.

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

    Вам нужно в первую очередь понять что есть сервер, и чем он отличается от рабочей станции. Потому что в некоторых случаях - практически ничем.
    Ответ написан
    8 комментариев
  • Как спланировать БД (чат)?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Итак, что вам нужно. Предполагается, что у вас есть табицы user и group.

    Таблица со списом чатов

    chat
    	id - идентификатор чата
    	name - название чата (тема обсуждения)
    	user_id - идентификатор  пользователя, который создал чат (необязательно)


    Список участников чата
    roster
    	chat_id - идентификатор чата
    	user_id - идентификатор пользователя
    	group_id - ид группы, если пользователь пишет от имени группы или NULL, если от пользователя (можно даже держать 2 записи, где group_id = null и где нет)


    Список сообщений
    messages
    	id - идентификатор сообщения
    	chat_id - идентификатор чата
    	user_id - ид пользователя
    	group_id - ид группы, если сообщение отправлено от имени группы или NULL, если от пользователя
    	text - текст сообщения


    Статусы сообщений
    message_status
    	message_id - идентификатор сообщения
    	user_id - идентификатор пользователя
    	read - прочтено или нет
    	notified - отправлено уведомление о сообщении или нет


    Итак, как это работает.
    Круг, в котором общаются пользователи называется чатом (chat).
    Кто находится в чате определяется через ростер (roster). Ростер может не быть показан в интерфейсе.
    Кто кого приглашает в чат определяется через бизнес-логику приложения.

    В данной схеме сценарий "Пользователь2 пишет в Группа1" выглядит так.
    Создается чат, далее в ростер добавляются П2 и Г1. Далее просто создается сообщение от имени П2. Через бизнес-логику находится владелец Г1 и ему отправляется уведомление.
    Ответ написан
    Комментировать
  • Что выбрать для изучения программирования под веб с нуля сегодня?

    @gleb_kudr
    Работает все до безобразия просто.
    1. Есть html код. Это как форма в делфи, только более формализованная — разметка страницы. На самом деле под десктоп сейчас те же самые технологии, только используются не html, а другие разновидности XML.
    2. Есть клиент-сайд программирование — это интерактивные элементы формы без обращения к серверу. Т.е. это какой-то код, который рулит статикой формы и превращает ее в динамику. Язык тут один — javascript и множество примочек к нему.
    3. Есть сервер-сайд. Чтобы наполнить всю эту динамику данными, отдавать новые формы и т.д. нужно их где-то хранить и отдавать на сторону клиента. Вот для этого используется серверное программирование — боевой скрипт + база данных. Языки программирования тут используются самые разные. Их основные отличия:
    — Экосистема (используемые БД, сервера, да даже IDE)
    — Способы запуска на сервере боевых инстансов.
    — Всякие языковые особенности (это менее важно на самом деле).

    Для веб-программирования вам нужно освоить html+javascript+ любую серверную экосистему (язык+БД+тулзы для разработки и администрирования) и знать, как это склеивать вместе.
    Ответ написан
    Комментировать