• После записи данных в файл, ОС при их чтении отдаст из кеша или с диска?

    justhostRU
    @justhostRU
    зависит от настройки swappiness
    типа ФС.
    ну и на худой конец
    vm.vfs_cache_pressure=50
    vm.dirty_writeback_centisecs=15000
    vm.overcommit_ratio = 100
    vm.overcommit_memory = 1
    Ответ написан
  • После записи данных в файл, ОС при их чтении отдаст из кеша или с диска?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    дубли это зло, не делайте дублей
    Ответ написан
  • Как решить проблему с ошибкой "ERR_EMPTY_RESPONSE, которая предположительно возникает из-за open_file_cache?

    Tolly
    @Tolly Автор вопроса
    Решил углубится в тему, вот результаты:

    Директива open_file_cache применяется для кеширования информации о статических файлах: js, css, jpeg, html,..
    Если файл не существует, или не прав на чтение, то эта информация также может хранится в кеше.
    По умолчанию: open_file_cache off;

    Пример с описанием:
    # Информация о 1000 файлов, может хранится в кеше. Если не было активности к файлу в течение 5 мин, то информация о нем удаляется из кеша
    open_file_cache max=1000 inactive=5m;  
    
    # Активностью считается обращение к файлу хотя бы 2 раза. В кеш они также попадают, если было хотя бы 2 обращения к файлу
    open_file_cache_min_uses 2;             
    
    # Вся информация о файлах в кеше обновляться раз в 1 минуту
    open_file_cache_valid 1m;               
    
    # Сохранять ли информацию об ошибках, например, если файла, к которому вы обратились - нет, то это будет тоже в кеше, информация тоже обновится через 1 мин
    open_file_cache_errors on;


    При работе со статическими файлами, когда они изменяются, например верстке.
    На время работ желательно отключать open_file_cache, либо параметр open_file_cache_min_uses делать достаточно большим, чтобы файл не попадал в кеш, но это фактически тоже самое что и отключить open_file_cache.

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

    При работе с файловой системой NFS, рекомендуется не включать open_file_cache, так как информация о файлах может не обновляться даже после open_file_cache_valid.

    Написал, а то может кому интересно будет или я забуду :)
    Ответ написан
    Комментировать
  • Конкретная разница между multi_accept on и off?

    @edo1h
    Здесь указывается

    ну там же ответили: один воркер может проснуться и «схапать» все ожидающие входящие соединения, в результате будет дисбаланс ну и вообще не очень хорошо.

    Как стоит поступить на многоядерной системе Debian 11 x64?

    правила простые: если что-то не понимаете — не меняете, дефолт нжинкса достаточно хорош для большинства применений.

    Говоря простым языком, на сайте может быть онлайн более одного человека при multi_accept off?

    ИМХО проще взять и проверить, чем тут спрашивать.

    но раз уж спросили: да, вполне обычное дело иметь сотни-тысячи активных соединений на воркера.
    Ответ написан
    Комментировать
  • Ищю свежую информацию о CloudFlare на 2014 год?

    opium
    @opium
    Просто люблю качественно работать
    Ничего за два года по вашим вопросам не изменилось
    Ответ написан
    Комментировать
  • Чем отличаются директивы root и alias в nginx "на пальцах"?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Не совсем.
    Делают они одно и то же только для location /.

    Если у вас, например, location /img, то при
    root /var/www ссылка /img/1,jpg будет вести в файл /var/www/img/1.jpg

    а при alias /var/www та же ссылка будет вести в /var/www/1.jpg.
    Ответ написан
    2 комментария
  • Зачем нужен hostname на VPS и как он связан с fqdn?

    @Cappuccinka
    верю, что разум когда-нибудь победит
    В данном случае виртуальному серверу (VPS) присваивается некоторое имя - hostname, которое, как правило, задается на этапе установки OS но позже может быть изменено.
    Для чего нужно имя (hostname)?
    Во -первых для идентификации сервера, при большом парке серверов необходимо точно понимать, на каком серевере ты находишься. По этой причине hostname должен быть уникальным.
    Во-вторых, для выполнения обращения к серверу по имени (удаленный доступ, авторизация на сервере, выполнение удаленных команд).
    Для доступа к серверу по имени нужно чтоб это имя резолвилось (преобразовывалось в IP-адрес) со стороны адресанта. Это условие выполняется если:
    - локальный DNS сервер адресанта резолвит hostname адресата;
    - hostname прописан вручную в "/etc/hosts", тогда преобразование имени будет происходить без DNS сервера.
    Следует отметить, что в OS Windows обращение к серверу возможно по hostname, тут будет работать механизм NetBIOS.

    FQDN и Hostname могут как отличаться, так и быть идентичными.
    Очень часто значение FQDN понимают как публичную DNS запись типа А ( A-record), это делает данную запись уникальной.
    Однако FQDN может быть уникальным только в пределах определенного сегмента сети или домена, который обслуживается своим DNS.
    Почему некоторое ПО проверяет fqdn?
    Программное обеспечение выполнит резолвинг fqdn-имени и попробует сравнить полученный IP-адрес преобразования с ip-адресом самого хоста. Таким образом сверка IP-адресов может быть проверкой корректности настроек.
    В описанном случае с 10-20 сайтами и почтой на каждом из них , следует понимать, что у каждого сайта есть своё доменное имя, которое сконфигурировано через VirtualHost. По этому можно рекомендовать указать fqdn которое соответствует hostname с доменным именем (проверить можно через команду "hostname -A") и при этом резолвятся в небходимый IP.
    Ответ написан
    Комментировать
  • Какой сервис для сбора доната выбрать?

    @rPman
    Добро пожаловать в говенный мир зарегулированных финансов. Куда бы вы не пошли, везде на вас будут смотреть косо только потому что кто то может перевести вам подозрительные деньги (не факт что там есть какие то проблемы, достаточно просто подозрения).

    Понятие грязные деньги - это худшее, что принесла современная финансовая система.

    Вы думаете криптовалюты почему появились? от хорошей жизни да?

    p.s. обычно сервисы посредники задерживают выплаты потому что их так финмониторинг попросил, но могут это делать по собственной прихоти, например потому что по мелочи выводить тупо дорого (переводы дорогие) а еще потому что это выгодно, замораживать чужие деньги на некоторое время, потому что по факту это как получить беспроцентный кредит на сумму всех замороженных денег своих клиентов.
    Ответ написан
    Комментировать
  • Как найти "отсутствующие" строки в MySQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    GROUP BY, COUNT(), HAVING
    Ответ написан
    1 комментарий
  • Почему PHP теряет популярность?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Никогда не ведитесь на уговоры разрабатывать какой то веб проект на каком то экзотичном языке, например Питоне или Яве, в результате вы получите костыльный долгострой и дефицит программистов которые будут готовы над ним работать.
    Это как в моде - есть всякое эпатажное дерьмо для показов на подиуме, а есть повседневные джинсы с рубашкой, все любят обсуждать эпатаж но носят джинсы.
    Ответ написан
    26 комментариев
  • Разная длина strlen на разных машинах?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как правильно тебе написали в комментариях, скрипты сохранены в разных кодировках.
    Несмотря на то что ты думаешь, что кодировки одинаковые, факты, которые ты можешь наблюдать в реальности, говорят об обратном.

    Учись верить фактам, а не своим фантазиям. Очень важное качество для программиста.

    И заодно учись скромности. Если тебе мерещится, что в твоих проблемах виновата страшная бага в пхп, то присмотрись повнимательнее. Увидишь дурацкую опечатку в своем коде.
    Ответ написан
    9 комментариев
  • Как обновить форк?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    git remote add upstream git@github.com:MostlyAdequate/mostly-adequate-guide-ru.git
    git checkout master
    git pull upstream master


    Почитайте про работу с удалёнными репозиториями, и всё будет понятно.
    Ответ написан
    Комментировать
  • Объясните нормальным языком что такое RewriteBase?

    khipster
    @khipster Автор вопроса
    кажется я понял. это для того чтобы подменить физический url каталога на какой то свой.
    RewriteBase /
    нужно видимо для случая когда index.php лежит в какой то папке и на него настроено перенаправление поступающих запросов. при этом .htaccess так же лежит в этой папке вместе с index.php. и чтобы эта папка не прибавлялась к url при всяких преобразованиях и нужен этот RewriteBase /
    Ответ написан
    Комментировать
  • Можно ли заполнить форму на сайте при помощи ЯП?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Следующий вопрос автора: как обойти капчу.

    Из-за таких вот заполнятелей сейчас уже практически нереально пользоваться гуглом или яндексом в режиме инкогнито - задалбывает капчей, причем такой, которую хрен прочтешь.
    Ответ написан
    2 комментария
  • Архитектура Entities в Doctrine, Symfony 4 - кто может помочь?

    ghost404
    @ghost404
    PHP Developer
    Есть такая штука как предметная область (Domain). Предметная область состоит из моделей (в Doctrine это Entity), сервисов предметной области и много чего ещё.

    На сколько я понимаю из ваших комментариев, у вас есть 3 интерфейса (UI) которые работают с единой предметной областью. В этом случае не нужно дублировать бизнес-логику под каждый интерфейс. Правильней выделить бизнес-логику в отдельный субъект и реиспользовать его в ваших приложениях с интерфейсами.
    Можно организовать код вашей бизнес-логики в самостоятельный модуль, вынести в пакете Composer и оформить как Symfony Bundle, что вы и сделали.

    Если же у вас есть несколько независемых проектов/сайтов у которых схожая предметная область с небольшими отличиями, то я рекомендую не использовать одну реализацию бизнес-логики на все проекты и рекомендую продублировать код во все проекты.
    Поясню. Поначалу, на маленьких проектах кажется хорошей идеей реиспользовать код, но со временем проекты развиваются и развиваются они как правило независимо друг от друга. С развитием отдельных проектов может, и скорей всего будет, изменяться бизнес-логика соответствующих проектов и вам придется вносить изменения в единый код для всех проектов. Таким образом изменения будут применяться не только в том проекте где они нужны, но и в других проектах которым эти изменения не требуются. Это может нарушать бизнес-логику других проектов, приводить к конфликтам и неожиданным ошибкам. Этот подход имеет право на жизнь, но нужно оценивать риски и всё тщательно взвешивать. Моя практика показала, что ни к чему хорошему это не приводит.
    Ответ написан
    Комментировать
  • Трудно ли будет перенести сайт с yii2 на yii3?

    Decadal
    @Decadal
    Сначала вы подождете stable yii3, потом php 8, а потом ИИ будет писать программы вместо нас. Делайте на том что есть сейчас. Оно рабочее.
    Ответ написан
    Комментировать
  • Сколько стоит час веб-разработчика-фрилансера?

    @deliro
    Ты веcь такой кругом молодец, то знаешь, это знаешь. А теперь представь себе среднестатистический проект, который должен приносить бизнесу деньги. За две недели работы ты едва напишешь хлипкий CRUD для данных, неправильно смаппив бизнес-сущности в объекты ORM, ещё через месяц натянешь какой-то слайдер на jQ, попутно захватив 2мб JS кривых библиотек, а через два заказчик поставит тебе плохую оценку, потому что твой ценник он оплатил не за то, что ему нужно, а потому что ты знаешь монады, которые ему даром не сдались.

    А теперь давай представим простого программиста. Из алгоритмов он с трудом вспоминает сортировку пузырьком, а двусвязный список — предел его знаний о структурах данных, и даже этим списком он пользовался два раза в жизни. Хаскель он никогда не видел в глаза, C++ учил только в школе, вместо этого пишет неэффективный код на PHP. И у него есть опыт. За день он распишет сущности, за второй сделает универсальный CRUD, на третий день поднимет фронт на React'е с SSR. Да, внутренности проекта будут "медленными". Вместо O(logN) что-то будет выполняться за O(N) или даже O(N^2), но всем похер. Пока всё работает на приемлемом уровне — бизнес радуется.

    Кстати, к чему эта поучительная лапша? Я хотел сказать, что всеми этими модными словами можно пугать друзей и преподавателей, но в реальной жизни все алгоритмы уже реализованы, все типы данных уже подобраны оптимально. Знать их полезно для себя (чтобы мозг не атрофировался), но не для работы. Для работы тебе нужны такие навыки как:

    * Оптимальный баланс между говнокодом и идеальным кодом
    * Оптимальный баланс между скоростью разработки и оптимизацией кода
    * Оптимальный баланс между поддерживаемым кодом и костылями
    * Умение использовать те инструменты, с которыми ты работаешь. Опять же, для того, чтобы писать быстро, при этом имея минимальное количество говнокода и обеспечивая максимальную поддерживаемость (в пределах сроков). Например, можешь выкинуть в помойку свой Vim, как бы круто ты себя не чувствовал, разрабатывая в консольном редакторе, если продукты от JetBrains позволят за это же время сделать что-то лучше или чего-то больше
    * Чувство "знаю больше менеджеров". Это то чувство, когда тебе кажется, что "вот эта фича скоро изменится" и надо сделать архитектуру заранее более гибкой. Или "вот эту фичу мы через месяц выпилим" и не надо тратить на неё силы — напиши костыль и через месяц с чистой совестью удали его
    * Знания, как сделать ту или иную фичу. Потому что фичи повторяются (немного видоизменяясь) от проекта к проекту. И если ты сделал что-то за два дня, в следующий раз ты похожее сделаешь за три часа

    Что касается инструментов, выбери любой полноценный фреймворк, который умеет решать 90%+ потребностей "из коробки": Symfony, Django, Laravel

    Всякие "минималистичные" поделия вроде Falcon, Flask (в PHP не знаю, я на питоне пишу) оставь хипстерам. Пусть они говорят: "Мой фалкон такой быстрый, он написан на Cython". Тебя это не должно волновать, потому что бизнес с твоей скоростью разработки уже заработал достаточно денег, чтобы купить ещё десять серверов, пока фалконисты неделю гуглили, как прикрутить миграциии и запустить юнит-тесты на VPSке за пять баксов.
    Ответ написан
    5 комментариев
  • Правда ли что рынок веб разработки "перегрет"?

    OTCloud
    @OTCloud
    Программирование и Архитектура ПО
    100% перегрет, но не программистами или веб-мастерами, а индивидами, которые решили что веб это просто и легко и не стоит сильно париться над своими скиллами и знаниями.
    Ответ написан
    8 комментариев
  • Как присвоить vue переменной значение переменной php?

    FrontEndTarot
    @FrontEndTarot
    Front-end developer
    PHP => HTML data attribute => Vue.
    Ответ написан
    Комментировать
  • Heroku - а сто́ит ли?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Heroku
    Седой и строгий
    Основное достоинство PaaS и serverless архитектур как раз в лёгком и почти безграничном масштабировании.
    Ответ написан
    5 комментариев