Задать вопрос
  • InnoDB Buffer Pool и его стабильность

    @Masterme
    Это специфика работы InnoDB хранилища, хотите быстрые выборки, используйте MyISAM.

    Сразу видно знатока
  • InnoDB Buffer Pool и его стабильность

    @Masterme
    Включение innodb_file_per_table=1 можно совместить с денормализацией, тогда файл с данными для выборки можно уменьшить на порядок, что скажется на скорости чтения с диска.
  • «Срывается» загрузка страницы

    @Masterme
    ещё вы можете не видеть ошибки при включенном в php ob_get_content + gzip-сжатии (в самом php же). то есть текст ошибки попадает в буфер, но из-за фатала буфер сбрасывается и не выводится
  • «Срывается» загрузка страницы

    @Masterme
    значит OOM либо фатал апача. вариант я вижу только один — максимально локализовать сбой, то есть выяснить при каких действиях и каких скриптах он происходит, после этого либо проставлять принты после каждой десятой строки либо подключить xdebug и выполнить трейс.

    скорее всего валится какое-нибудь экзотическое расширение, зависящее от окружения
  • Посоветуйте онлайн консультанта для сайта

    @Masterme
    Уточню: неудобство таких чатов в том, что пользователь ожидает полноценного общения с человеком. И оказывается разочарован, когда беседа с ним ведётся неадекватно (что неизбежно, если отвечает робот).
  • Посоветуйте онлайн консультанта для сайта

    @Masterme
    А как вы узнаете, что кто-то хочет пожаловаться? Может у вас просто не настроена система жалоб. Я, например, от таких чатов испытываю только брезгливость. В основном, потому что суть беседы всегда сводится к
    — [Мой вопрос]
    — подождите, я передам ваш вопрос человеку… человек не может сейчас ответить, оставьте свои контактные данные, чтобы мы вам перезвонили.

    Но, поскольку кнопочки «ваш чат — говно» в интерфейсе нет — я просто закрываю страницу. Вероятно, у вас не так и всё замечательно, но всё равно есть часть аудитории, которая и рада бы пожаловаться, да некуда.
  • Что почитать в глубину?

    @Masterme
    Обратил, что только в продакшне и работаете, а продакшн — в целом не для экспериментов, и опыт там вы получаете маленький. Даже запуская линукс-ос на виртуальной машине, вы не получите столько опыта, сколько от непосредственного в ней присутствия.

    Нужно ли перезагружать линукс после апдейтов пакетов?

    Смотря что затрагивают пакеты. В общем случае нужно перезапустить то ПО, которое от них зависит. Если это пакет обновления апача — перезапускается апач. НО. Как правило, установщик сам перезапускает нужные сервисы. Поэтому перезапускать линукс нужно только после обновления ядра или системных пакетов, он сам об этом говорит. Ну, должен говорить. Просто поработайте с линуксом дома, вы будете накатывать обновления каждый день, и сами всё увидите.

    Почему в линуксе при закрытии приложения\сервиса память всё равно показывается занятой?

    Почему на вашем продакшне память показывается занятой, вы хотите спросить? У меня показывается как доступная. Вот я ради эксперимента прибил сеанс virtualbox — 2 гига освободились.
    вот во время рабочего сеанса
    master@magic:~$ free -g
                 total       used       free     shared    buffers     cached
    Mem:            31         27          3          0          0         22
    -/+ buffers/cache:          4         26
    Swap:            0          0          0
    

    вот сразу после остановки
    master@magic:~$ free -g
                 total       used       free     shared    buffers     cached
    Mem:            31         25          5          0          0         22
    -/+ buffers/cache:          2         28
    Swap:            0          0          0
    


    Чем отличаются современные файловые системы Линукса?

    на это документация и вики-статьи лучше расскажут. не потому что мне лень ответить, а потому что там день читать.
    ext4 подходит как для больших так и для маленьких файлов, родная для линукса, мейнстрим и в целом ок
    xfs для больших томов, содержит больше inodes
    btrfs — copy-on-write файловая система, но ещё сырая
    reiser4 повышенная устойчивость к сбоям, обладает свойством консистентности
    zfs — copy-on-write файловая система с множеством фич
    но книг про это нет. эти знания собираются гуглением и чтением мануалов и мелких статей

    Чтобы получить опыт, нужно ставить много самых разнообразных экспериментов. На продакнше вы эти эксперименты ставить не сможете. Только дома, каждый день.
  • Как ограничить область выполнения PHP скрипта include?

    @Masterme
    EugeneOZ, а, ну, видимо вопрос был так задан и так понят. Я говорил про изоляцию на уровне пользователя ОС. На уровне include, конечно, изоляцию выполнить нельзя.
  • Как ограничить область выполнения PHP скрипта include?

    @Masterme
    Сабжевый вопрос — типичный для администратора шаред-хостинга, и решается он давно и более-менее успешно.
  • Как ограничить область выполнения PHP скрипта include?

    @Masterme
    alekciy, а надо, чтоб не жили, то есть, чтоб не были доступны (если я правильно понял задачу). Чтобы не было возможности прочитать /etc/ или грохнуть весь /tmp/
  • Как ограничить область выполнения PHP скрипта include?

    @Masterme
    а что насчёт файлов /tmp/*, /etc/* с публичными правами на чтение?
  • Как ограничить область выполнения PHP скрипта include?

    @Masterme
    Удваиваю. open_basedir и апач с модулем mpm_itk (каждый сайт/document_root принадлежит отдельному linux-пользователю). Однако, следует помнить, что open_basedir не даёт полноценно использовать некоторые функции (например, curl).
  • Руби или же питон?

    @Masterme
    Что там ещё… фреймворки. На мой взгляд, джанго — просто пиздец, заскорузлое говнище. Рельсы получше, в них много классных идей, но они тоже не верх совершенства. То есть, ставить равенство между языком и фреймворком, как многие делают, — неправильно. Однако, если хотите именно научиться программировать, то нужно будет пробовать писать фреймворки самому, и для расширения кругозора будет полезно пощупать существующие фреймворки на разных языках.
  • Второй вопрос к толковым web-разработичкам, знакомым с паттернами

    @Masterme
    Без синглтонов не обойтись в любом случае. Вопрос в том, как их оформить. Не писать же каждый раз
    $users_model = Users_facktory::get_instance();
  • Несколько вопросов к толковым разработчикам относительно mvc и php?

    @Masterme
    Кстати, такой синтаксис как
    $this->Model_name->…
    выполняемый в контексте метода контроллера — очень удобен
  • Как на новый сервер поставить старую версию php (CentOS)

    @Masterme
    Ад и Израиль с жыдами. За такое гнать в шею сразу.
  • Apache + MySQL на Windows в production — как убедить людей что это плохо

    @Masterme
    foxmuldercp,
    дело в том, что ПО_для_просто_использования и ПО_для_разработки — это две большие разницы.
    Когда я ставлю OpenOffice или там медиаплейер — я не лезу им в API, и потому мне удобнее репозиторий, где софт в готовом рабочем виде. Когда я ставлю php или ruby — я собираюсь залезть в них поглубже, использовать все их возможности, и потому мне нужна гибкость.
    И потому, кстати, лично я считаю включение компиляторов в дистрибутивы — неправильным. В дистрибутивы должны включаться фабрики по сборке компиляторов. В дистрибутиве должны быть RVM, phpfarm, virtualenv и тому подобное. Я компилирую PHP через phpfarm, и могу поставить себе любую версию с любыми модулями. А при использовании штатных репозиториев — да, бывает вот такое. А винда в этом плане — ещё хуже.
  • Индексация мультирегиональных сайтов?

    @Masterme
    Я имею ввиду, нет смысла указывать язык в сегменте, достаточно указать в get-параметре, т.к. по смыслу он становится чем-то вроде критерия поиска. Да и то не во всех урлах. /ru/articles/25/ — бессмысленно, потому что статья есть только на одном языке.
    Для категории можно указывать
    /articles/?lang=ru
    /articles/?lang=ru,en
    /articles/?lang=ru,en&date=2013-10-30

    Навигацию показывать на основе accept-language