• Как выбрать из массива(массива(массива)) отдельные данные и записать в mysql?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    php.net/json_decode обращаем внимание на второй переметр
    php.net/foreach открываем для себя циклы. подсказка: внутрь цикла можно помещать еще один цикл.
    Ответ написан
  • Разница между системным временем и php 3 часа, почему?

    Compolomus
    @Compolomus Куратор тега PHP
    Комполом-быдлокодер
    Ответ написан
    Комментировать
  • Почему возникает ошибка при создании поста?

    @ChernovGV
    Ругается что нет значения по умолчанию для countrie. Вам нужно:
    - либо поправить БД, убрать not null
    - либо поправить БД, установить default
    - либо передавать countrie
    Ответ написан
    1 комментарий
  • Превышения объема памяти php?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В ошибке говорится, что скрипты PHP уже загребли для работы 128 мегабайт (число 134217728, делённое на 1024 - получатся килобайты, и ещё раз делённое на 1024 - будут мегабайты) оперативной памяти. А в php.ini (а может в каком-то другом месте) стоит лимит оперативной памяти (и 128Mb - это значение по умолчанию) на один PHP-процесс в виде строки: memory_limit=128M.
    Вот PHP и пишет "лимит памяти превышен, прекращаю работу".
    Или повышайте лимит, или ищите причину расхода памяти в скриптах.

    P.S. Кстати, большие массивы ненужных данных можно вычищать из памяти командой unset($arr);, где $arr - имя массива с ненужными данными.
    Ответ написан
    Комментировать
  • Почему компании не индексируют зп?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Конкуренция скорости разработки и качества продуктов заставляет их прибегать к A/B-тестированию потока сотрудников для сдерживания и укрепления своих позиций на рынке, и без какой-либо потери своих средств.
    Цель: рабочий молодняк, без амбиций и требований.
    Это просто, как 2x2.
    Ответ написан
    2 комментария
  • Как сказать по-русски слово yield???

    Deroy
    @Deroy
    Senior Developer, Software Architect
    ну по смыслу - генерирует, отдает.
    чисто речевой перевод - много раз обсуждая как программист с программистом, используем прямой англицизм, т.е. "йилдит".

    примеры из повседневной речи:
    <..> и генератор будет йилдить до тех пор пока <..>
    <...> каждый раз йилдит новый джоб <...>
    для разговорной речи этого более чем достаточно.

    более литературно и по русски:
    <...> он будет отдавать значения с шагом в 10 единиц <..>
    <..> должен выдавать срез заданного размера <...>

    т.е. полностью аналога вроде как нет, но за счет окружающего контекста смысл придается тот же.
    Ответ написан
    7 комментариев
  • При запуске одного теста в PHPUnit инициализуется ли только его dataProvider или все?

    Deroy
    @Deroy
    Senior Developer, Software Architect
    теоритически не должны, так как провайдеры мапятся к тесту аннотациями и внутри phpUnit происходит примерно следующее:

    1) загружается класс теста
    2) он реверсится, находятся все методы тестов
    а вот дальше возможны два варианта развития событий:
    а)
    3) начинается цикл по тестам,
    4) запуская каждый тест, сначала ревёрсятся его аннотации и вызываются дата-провайдеры
    5) запускается сам тест и ему передаются результаты работы провайдеров
    б)
    3) реверсятся все аннотации всех тестов
    4) выполняются все дата провайдеры
    5) запускаются тесты.

    Собственно, пардон за наглость, но проще проверить экспериментально. или почитать код фреймворка. заодно нам расскажешь. =)
    Ответ написан
    Комментировать
  • Откуда у Google столько памяти?

    Deroy
    @Deroy
    Senior Developer, Software Architect
    индекс всего интернета и "весь интернет" это не одно и тоже. объем хранилища у них несомненно большой, но значительно меньше чем "весь интернет"

    размер индекса гугла примерно 100 Петабайт на 2016 год. сейчас наверно подрос где нибудь процентов на 10.
    прибавим сюда кучу личной инфы с их сервисов, ну скажем еще процентов 20 от этого объема.

    Объем всего интернета по примерным оценкам исследователей из Cisco (самая большая контора по производству сетевого оборудования) - где то в районе 1.2 Зетабайта на текущий момент, что примерно в 10 000 раз больше чем размер индекса Google.

    При желании можно разместить 200 Петабайт данных даже в одном ДЦ.
    Более интересный вопрос - как они обеспечивают оперативность доступа к такому объему данных (я могу представить только в общих чертах)
    Ответ написан
    2 комментария
  • Каким должен быть правильный контроллер?

    Deroy
    @Deroy
    Senior Developer, Software Architect
    Отвечу с позиции опыта на больших и средних проектах:

    Как говорят другие ответчики - D3lphi и Александр Шаповал , контроллер должен содержать минимум логики, и нет "единого правильного способа" его реализовать.

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

    Контроллер, каким бы он не был и как бы не организовывался - содержит только обработку входных данных (валидация и преобразование) и преобразование выходных данных в нужный формат

    Логика и оркестрация которая в 80% случаев и является предметом спора о том как стоить контроллер (речь всех этих вызовах сервисов, управления потоками данных между ними, последовательности действий и пр), находятся в отдельном классе согласно паттерну Unit of Work - что позволяет легко покрыть все что связано с логикой вменяемыми юниттестами без танцев с бубном.

    Т.е. структура в итоге такая:

    {view} <--> {controller} <---> {unit_of_work} -->>> {{{..lots of services...}}}

    по сути класс семейства UnitOfWork - это полный сценарий обработки входных и выходных данных , с оркестрацией потоков данных и порядком действий, возможно какой то мелкой вспомогательной логикой, эдакий фронтенд над сервисами, заточенный под каждое конкретное действие извне (сам паттерн предполагает что класс создается на каждый отдельных случай и почти один в один описывает UseCase логику как она пришла от бизнеса (заказчика/аналитиков/моей головы/etc).

    Сами классы семейства UnitOfWork (имеется ввиду в одном приложении) могут иметь собственные иерархии наследования и композии - в угоду бизнес логики и дабы не дублировать код - главный критерий - это полная независимость бизнес и сервис слоев от контроллера. - что и является на мой взгляд "каноничным" вариантом реализации композии M и C в MVC.

    У меня, как у человека который не пишет фронты в принципе (имею ввиду сам UX/UI), но постоянно занимается сервисами, рестом, библиотеками - этот подход выработался по одной просто причине:
    взаимодействие с командой, я предоставляю "библиотеку"(не в классическом понятии этого слова) полностью абстрагированную от любых фронтов, оттестированную, полностью функциональную - а люди пишут к ней шаблонные обвязки где только валидация данных и рендер нужного формата под HTTP/Sockets/AMQP/etc типа всяких там CRUD/REST или RPC
    Ответ написан
    Комментировать
  • Взламывают, как защитить сайт?

    У вас в коде возможна sql инъекция.
    'SELECT * FROM `users` WHERE `id` = "'.$user_id.'"
    Инструкция как их избежать:
    habr
    php.net
    Ответ написан
    Комментировать
  • Откуда сайты берут курсы валют различных банков?

    @anderstender
    Некоторые банки предоставляют эти данные в виде API,
    некоторые просто на сайте выкладывают в открытом виде.

    Дальше кто-то парсит эти данные сам, кто-то парсит и раздаёт эти данные в виде API и так далее.
    Не уверен что есть готовый рецепт
    Ответ написан
    Комментировать
  • Нужны ли бумашки с школы?

    search
    @search
    мама говорит что я особенный
    "бумажки не нужны" - это совковая тема, которую вам сейчас озвучат в ответах к этому посту. По 14 летнему опыту разработки в различных командах скажу что встречал очень мало адекватных людей без бумажек (возможно мне просто не повезло). Если честно, так мало, что на месте работодателя не стал бы тратить время на людей без бумажек. Это крайне непопулярное мнение в странах СНГ, но очень популярное мнение на западе. Фильтр в виде обязательного диплома бакалавра или магистра установлен почти на всех западных вакансиях, которые можно встретить на линкдине.
    Ответ написан
  • Можно ли отследить реальное потребление памяти скриптом?

    Melkij
    @Melkij
    PostgreSQL DBA
    если кратко: https://bugs.php.net/bug.php?id=62467
    This can't be fixed; PHP doesn't control the way libxml2 does the allocations.
    Ответ написан
    Комментировать
  • Как записать текст в файл?

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

    Потом пишешь в адресной строке своего браузера, как передать файл на фтп в пхп
    Читаешь, изучаешь, делаешь.
    Ответ написан
    8 комментариев
  • Как использовать не перекрепленную базу данных в Laravel?

    YekitKsv
    @YekitKsv
    Developer
    Забиваешь в гугл "laravel multiple db" - 1 ссылка твой ответ.
    Ответ написан
    3 комментария
  • Как перевести деньги с карты на Bitcoin?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Люблю такие вопросы.
    "Я не знаю, как это делается, и возможно ли в принципе, но дайте мне для этого код на пэхапэ".

    Никакой "прямой" "оплаты" "с карты" "на биткоин" не существует.
    Ты можешь воспользоваться какой-либо биржей.
    Можешь зарегистрироваться на бирже, привязать свою карту к аккаунту, и воспользоваться API, которое дергать из РНР.

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

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    На удаленной работе тоже заключается контракт, поэтому все соблюдается. Какой будет контракт - зависит от организации
    Ответ написан
    6 комментариев
  • В чем разница int, long и float, double?

    @Ernest3
    Учусь программированию
    int — диапазон допустимых значений от -2147483648 до 2147483647
    long — диапазон допустимых значений от -9223372036854775808 до 9223372036854775807
    float — диапазон допустимых значений от ~1,4*10-45 до ~3,4*1038
    double — диапазон допустимых значений от ~4,9*10-324 до ~1,8*10308
    Double более точный чем float
    Ответ написан
    4 комментария
  • Как перестать кодить и начать программировать?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1. Прочитать, понять и принять стандарты кода
    2. Документировать код
    3. Использовать ООП и делать это правильно, соответственно еще раз перечитать все что есть про ООП
    Ответ написан
    4 комментария