Задать вопрос
Ответы пользователя по тегу Программирование
  • Что быстрее 10 запросов к файлам или 10 к базе?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    На Ваш вопрос нет однозначного ответа. Аналогично вопросу: что быстрее, поезд или автомобиль? Кто то будет сравнивать советский поезд с бугатти, другой будет сравнивать японские скоростные поезда с жигуленком.

    Базы с поддержкой SQL бывают разные: MySQL, MsSQL, Oracle и т.д. У каждой из них своя методика работы с кэшем, индексами, памятью. Очень многое зависит от размеров базы, размеров таблиц, построения индексов, самого запроса, настроек сервера БД и операционки. Если база нормально сконфигурирована, таблицы с нормальной архитектурой, правильно построены индексы, сервер обладает достаточным количеством памяти, то запрос будет быстрее большинства самопальных решений для работы с файлами.

    Если же файлы проектировала группа высококлассных специалистов, обвязка спроектирована именно под такие запросы, то выигрыш по скорости может быть значительным в этом варианте. Но такой "путь самурая" предполагает перенос объема вычислений в более быструю область сервера: память-процессор. У тебя будет меньше работа с дисковой системой, но вся логика работы приложения должна быть перелопачена под такой вид данных. Без фундаментальных знаний алгоритмов программирования и математики-информатики в целом, такие велосипеды лучше не городить. Теория графов, матрицы, хеши, алгоритмы сортировки должны быть у тебя на уровне выше институтского. Про удобные таблицы на 5-10 полей можешь забыть. У тебя будет куча небольших упорядоченных файлов со списками ключ-значение. Индексы, хеши, хеши по хешам, индексы по хешам и т.д. - это на долгое время будет твой кошмар, который ты должен будешь представлять у себя в голове. Работа с файлами напрямую не имеет смысла, если ты не планируешь создавать высоконагруженное приложение с большими объемами данных. В этом случае у тебя проработка архитектуры хранения данных займет на порядок больше времени, чем проработка архитектуры базы. Предварительный поиск по одному символу, по двум, трем, ссылка на файлы, которые содержат следующую часть, по которой уже идет поиск. Не забудь блокировки файлов, обработку ошибок доступа, обработку оборванных транзакций, уникальность значений, индексов или ключей и т.д. Отсутствие удобных select-ов с join-ами и блэкджеком потребует от тебя проработки возможных видов запросов, чтобы сам вид хранения данных оптимизировать под кастрированные возможности. А из запросов будут только аналоги простейших "SELECT xxx FROM file_yyy WHERE Id=zzz", "UPDATE file_xxx SET yyy WHERE Id=zzz", "INSERT INTO file_xxx yyy=zzz", "DELETE xxx FROM file_yyy WHERE Id=zzz". Этими 4-мя операциями тебе придется обходиться.

    Сейчас есть уже готовые "велосипеды" noSQL, но это не "путь джедая". Типовой сайтик, с десятком или сотней уников в час не стоит такого геморроя.
    Ответ написан
    Комментировать
  • Где можно попрактиковаться в php?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Может быть я не прав и вас интересует программирование в качестве развлечения. Но основная масса программистов зарабатывает этим деньги. Поэтому зайдите на биржу фрилансеров, прочитайте первое попавшееся задание и попробуйте его сделать. Потом второе, третье. ДВИЖКИ ПИСАТЬ НЕ НАДО! Возьмите ModX и на нем реализуйте несколько заданий. Потом возьмите вордпресс и еще пару популярных и на каждом по 3-4 задачи сделайте.
    Ответ написан
    Комментировать
  • Кто занимался информационной безопасностью?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    Работал сам в защите гос. тайны, работа скучная, задач не много, если правильно все спланировать, мозг прокисает. Как написал первый комментатор, задачи следующие:
    1. определение класса сетей, кабинетов, машин по типам обрабатываемой информации
    2. планомерная проверка соответствия методов защиты регламентам
    3. раз в неделю проверка прав пользователей, на которых предоставляли за неделю заявки для подключения/отключения сетевых ресурсов
    4. выдача ключей/сертификатов
    5. проверка настроек серверов
    6. много бумажной работы
    7. много выездных ревизий по подчиненным филиалам области
    Если правильно распределять задачи, то работы на пол дня. Писать свое ПО никто не позволит, т.к. весь софт должен быть написан определенными конторами, сертифицирован для РФ.
    Потом перешел на работу админа сети в компании на 5000+ человек только по области, пару сотен филиалов, работу безопасности тоже вижу. Ничего не меняется, ПО и железо для защиты от НСД установлены регламентами, шаг влево-вправо - расстрел. Никто ничего никогда не пишет в реальной жизни.
    Ответ написан