• Как лучше хранить базу городов и стран?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    можно создать таблицы в существующей?


    Если в существующей, то она никак не замедлит работу остальных таблиц?
    Особо никак, т.к. таблица - это файл(ы) на диске, обычно 1 таблиц - это несколько файлов. И если Вы к ней обращаетесь, то "замедлит работа" она точно так же примерно, как и все остальные файлы на диске (если не бросаться в крайности).
    Ответ написан
    Комментировать
  • Какой PHP фреймворк посоветуете для быстрой разработки проекта?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    - Представление о MVC имею. Раньше писал пару проектов на CodeIgniter, но на нём на мой взгляд мало что есть из коробки, и много времени уходит на разработку.
    С тех пор изобрели Composer, при должном желании прикручивается он и к CI в том числе :)

    - Нужен современный не заброшенный фреймворк, с достаточным количеством документации. Не обязательно на русском, но будет плюсом.
    На русском - CodeIgniter, на не русском - Laravel, Symfony и другие.

    - Хотелось бы большое количество подключаемого функционала из коробки, для экономии времени разработки. Например уже написанная логика авторизации, регистрации, восстановления пароля и разграничения по уровням доступа. Понимаю что всё равно придется немного допиливать под свои нужды, но времени это сэкономило бы кучу.
    Composer - решает 99% проблем, практически в любом фреймворке.

    - Возможность работы с различными БД из коробки
    Пока фреймворков без этой штуки не видел, но есть... Вы не поверите, Composer, что бы сменить/поставить "другой" ORM, если Вам "текущий" чем-то не подошел.

    - Поддержка кэширования из коробки. И желательно что бы была поддержка некешируемых областей при генерации страницы, а сам кэш был управляемым.
    То о чем Вы говорите, это: Varnish, Nginx+SSI и т.д. кэширование "из коробки" есть в Symfony (т.к. если его отключить, страницы может генерироваться феерически долго)

    - Не тяжелый фреймворк, в котором оптимизирован код, и который не жрёт огромное количество ресурсов на сервере. Если будет поддержка PHP7 - тоже плюс.
    По моему, любой современный фреймворк, если уже даже "Битрикс" небеизвестный до этого до этого дошел... некоторые фреймворки вообще скоро будут требовать PHP7, а не только "поддерживать".

    - Проект будет ориентировочно крутиться на nginx+php5-fpm. Думаю практически все фреймворки смогут работать в этой среде, но вдруг...
    Я пока таких "вдруг" не встречал. Если у админа голова и руки на месте - то никаких "вдруг" быть не должно. А вообще, у PHP версии 5.х, есть как минимум 3 основных "ветки", это <5.3, >=5.3 или 5.4+ и т.д., ещё кое-какие отличия были в 5.5 и 5.6, но не такие "разительные", подробности можно почитать в истории версий PHP. По этому, нужно конкретнее указывать версию, например, Laravel требует 5.6+

    - Возможность масштабирования. В принципе не обязательно, но возможно однажды будет масштабироваться проект.
    Это не возможность фреймворка - а навык программиста/админа.

    - Всякие плюшки из коробки типа каптчи, обработки и обрезки изображений и прочие приятности будут огромным плюсом и будут иметь «больший вес» при выборе, т.к. важна простота и скорость разработки.

    1. Yii2
    2. CMS + готовые модули CMS
    3. Вы не забыли, что есть... composer?!

    P.S. Простота и скорость разработки зависит исключительно от уровня Вашего понимания процесса и прочих личностных навыков. В эти же навыки, как один из первичных, входит умение "правильно выбирать фреймворк под конкретную задачу".

    Большое спасибо за время уделенное прочтению моего вопроса, и огромное спасибо за Ваши ответы.
    Не за что! Кнопка "Мне нравиться" - сразу под сообщением :D
    Ответ написан
    4 комментария
  • Как в апаче отдавать указанный файл на любой запрос?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Подскажите плз, как в апаче отдавать указанный файл на любой запрос?
    У меня вот так работает:
    RewriteEngine On
    RewriteRule ^(.*)$ luboy_file.txt [L]


    Ещё есть вот такой вариант:
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    Он означает примерно следующее:
    Если запрошенный адрес - не директория (т.е. такой директории не существует) и если запрошенный адрес (URL) не файл (т.е. такого файла не существует) - то отправлять все запросы на файл index.php и прекратить дальнейшие проверку/выполнение правил (флаг [L]).
    Ответ написан
    Комментировать
  • Возможно ли изучить PHP-фреймворк параллельно разрабатывая на нём проект?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Возможно ли изучить PHP-фреймворк параллельно разрабатывая на нём проект?
    Честно говоря, не представляю, как ещё по другому можно изучать фреймворк, в т.ч. PHP.

    плюс ко всему проект должен быть приспособлен к highload.
    Тогда с выбором фреймворка, нужно быть поосторожнее. "Не все фломастеры одинаково вкусные".

    микросервисы, которые обходились без больших фреймворков даже при основательных нагрузках
    Чистый PHP-код, работает быстрее чем любой фреймворк. Я имею в виду, грамотно написанный PHP-код, т.к. в нем отсутствует "лишняя" логика.

    Хочу использовать для разработки фреймворк Yii2. В чём вопрос: смогу ли я параллельно его изучая приступить к разработке
    Скорее всего да, хотя это очень индивидуально.

    и так, чтобы потом 10 раз не пришлось переделывать?
    Скорее всего нет, хотя это тоже очень индивидуально.

    Может, изучить какой-нибудь микрофреймворк?
    Возможно. Зависит от Ваших задач и целей.

    Понятное дело, что без правильно настроенного содержимого моей черепной коробки даже с 10-ти летним опытом в Yii не получится, но всё же, поделитесь опытом и дайте совет :)
    Ну я обычно с новичками, изучение с CodeIgniter'а начинаю, т.к. он не изобилует всеми новыми фишками и плюшками, и в виду отсутствия таких, казалось бы, ставшими уже стандартом вещей, как например "авторизация" - заставляет их включать голову, а не истерично рыться в поисковике на тему "как включить готовую авторизацию", но мне не редко приходиться работать с людьми, которые не очень хорошо разбираются в PHP, Фреймворках и программировании в целом или веб-разработке в целом. Не многие сходу знают, что такое MVC и так далее, а пытаться объяснить человеку, что такое класс и тут же нагружать его "пространствами имён" или "внедрением зависимостей" (и всем остальным) - не очень продуктивно (как показывает практика). Когда у обучаемого 10 лет опыта за спиной, можно сразу с Laravel/Symfony начинать, как минимум, что такое MVC и всё остальное - объяснять редко приходится, скорее, приходится показывать, "как это сделать тут", а "как надо делать вообще" - обучаемый уже и без меня отлично знает.

    P.S. Если Вы напишите больше конкретики, что знаете, что не знаете, что в Вашем понимании HiLoad, какие ресурсы у Вас для этого есть, какие примерно БД и какая примерно задача, какие фреймворки использовали раньше и использовали ли какие-то вообще, на каких языках, какие проекты (теоретически) разрабатывали ранее и т.д. будет гораздо проще дать Вам какую-то более конкретную рекомендацию.
    Ответ написан
    2 комментария
  • Как найти нужные элементы php SimpleXML?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
  • Почему не получается посчитать количество строк в бд?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    mysqli_result Object
    Это судя по всему, не результат, а объект результата или указатель. Примерно это должно помочь.

    P.S. Извиняюсь, ссылкой промахнулся. Исправил.
    Ответ написан
    Комментировать
  • Когда необходим setTimeout?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Когда необходим setTimeout?

    Чисто теоретически, в контексте Вашего вопроса, с учётом наличия setInterval() и clearInterval() - никогда.

    Пример:
    x = setInterval(function() {
        clearInterval(x);
        alert('Time!');
    }, 3000);
    Ответ написан
  • Не удается сделать push, что делать?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    hint: 'git pull ...') before pushing again.
    Вроде же написано, "Сделайте гит пул, перед тем как "пушить", нет?
    Ответ написан
    4 комментария
  • Общая иконка для соцсетей?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    [Удалил картинку во избежание негативной реакции]

    СС - Социальная Сеть? :)))
    Ответ написан
  • Bootstrap 4, стоит ли?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Bootstrap 4, стоит ли?
    Стоит, сразу как выйдет в релиз. Пока её чёт жутко колбасит с этими альфами... Она даже не бета. Если релиз Вашего проекта намечается к моменту выхода стабильной версии BS-4 (как например, один из наших проектов), то я думаю стоит однозначно. В ином случае, попробуйте как-нибудь в качестве основной ОС и рабочих программ поустанавливать альфа-релизы, желательно всего, что сможете найти, после нескольких секунд/минут/дней работы в таком окружении - многие вопросы на тему "стоит ли использовать альфа-версии софта" отпадут сами собой :)
    Ответ написан
    Комментировать
  • Как устроиться на работу бывшему ИП?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Я просто оставлю это здесь...
    ffwXS-dFleY.jpg
    Ответ написан
    19 комментариев
  • Как запустить .sh скрипт от root находясь под другим юзверем одной строкой?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    sudo или suid устроят?

    P.S. suid на shll-скриптах в подавляющем большинство случаев - не работает... Спасибо тов. jcmvbkbc за подробную информацию.
    Ответ написан
  • Какой метод / формат для хранения данных при редком использовании?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    SQLite3, по моему, идеальный для Вас вариант. Вернее, почти любой язык, в т.ч. PHP, + SQLite3. Его поддержка есть в PHP, Python и наверняка, почти во всём остальном.
    Ответ написан
  • Как удалить ненужную папку в проекте на github?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Ответ написан
    Комментировать
  • Есть ли смысл соединять минифицированные файлы Gulp-ом если...?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Есть ли смысл соединять минифицированные файлы Gulp-ом если...? один из них bootstrap.min.css
    Для HTTP1.0/1.1 - есть, как Вам подсказывает предыдущий оратор. Для HTTP/2 - кол-во файлов уже не так критично, коннект 1, а не 16-32 как в случае HTTP1.x.

    Я Вам скажу так - если Вы склеите все CSS, которые используются на большинстве страниц - то хуже не станет, это как минимум. Если у Вас какой-то CSS на 1-ой странице из 100, а вы его вшили в основной CSS - идея была так себе.
    Ответ написан
    Комментировать
  • Как синхронизировать данные на нескольких сайтах?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Как синхронизировать данные на нескольких сайтах?
    Можно использовать LDAP, единый, для авторизации и так далее. В т.ч. там же хранить баллы и пр. лабуду.
    Ответ написан
    Комментировать
  • Никто не в курсе почему используют Mailchimp вместо обычных писем с сайта?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Никто не в курсе почему используют Mailchimp вместо обычных писем с сайта?
    Наверное, правильнее было бы сказать "сервисы e-mail рассылок", а не "mailchimp".

    Их обычно используют по тому, что:
    а) Рассылка должна соотв. некоторым требованиям, что бы не попасть в спам
    б) Рассылка на много пользователей - не так то просто настраивается, что бы рассылаться во много потоков сразу, что бы рассылка не длилась сутками
    в) По тому, что не все имеют почтовый сервер свой, ещё и грамотно настроенный, что бы что-то рассылать, а бесплатные SMTP типа Яндекса - блокируют и рассылку и сам ящик, примерно после 100-го письма отправленного в течение часа, подряд, с пометкой "спамить - плохо".
    Ответ написан
    Комментировать
  • Почему долго применяются изменения в css на сайте на Joomla?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Где-то еще включен кэш? В чем может быть проблема?
    В настройках веб-сервера? Заголовки Expires, E-tag, Last-modified и пр. есть?
    Ответ написан
  • Как сделать, чтобы php не ждал завершения предыдущего потока?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    4 комментария
  • Есть ли смысл НЕ использользовать Bootstrap?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Раз Bootstrap такой удобный, верстается с ним быстро и вообще он такой классный, то почему некоторые люди им не пользуются?

    а) По тому, что умеют делать работу без него
    б) По тому, что страп - это не только удобство, но и лишняя логика
    в) По тому, что страп это болванка, например, он всегда имеет 4 разрешения, а в варианте "без страпа" - таких ограничений нет (хоть 304 разрешения делайте)
    г) По тому, что не все макет созданы по принципу "болванка на N-колонок" (обычно 12)
    д) По тому, что помимо страпа есть и другие сетки, а используют его чаще всего либо для админки, либо для сетки

    И так далее. Любой фреймворк, особенно CSS - это не только удобство и скорость - это ещё и качество в общем смысле этого слова. Чем быстрее получается работа, тем более шаблонной и менее индивидуальной она будет на выходе. Хороша гитара сделанная на заводе может стоить, например, 10тыс. рублей, а хорошая гитара сделанная руками - может стоить 100тыс. рублей.

    P.S. Я думаю, общий смысл мною сказанного должен быть понятен, если не бросаться в крайности и не пытаться его извратить... И да, я знаю, что есть минификация CSS'а, что сетка страпа занимает не много, что можно собрать свою версию страпа где будет только сетка и т.д., на всё выше сказанное - это никак не влияет.
    Ответ написан
    Комментировать