• Как научиться создавать свои функции в PHP?

    za4me
    @za4me
    Человек
    Реально ли вообще с нуля самому не смотря не документацию или чужой код создать Движок?

    Реально ли вообще с нуля самому учится математике не смотря в учебник?
    Реально ли вообще с нуля научится работать с деревом не обрабатывая дерево?
    Ответ написан
    1 комментарий
  • Как выделить только домен из строки Javascript?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    var parser = document.createElement('a');
    parser.href = "http://example.com:3000/pathname/?search=test#hash";
    
    parser.protocol; // => "http:"
    parser.hostname; // => "example.com"
    parser.port;     // => "3000"
    parser.pathname; // => "/pathname/"
    parser.search;   // => "?search=test"
    parser.hash;     // => "#hash"
    parser.host;     // => "example.com:3000"

    https://gist.github.com/jlong/2428561
    Ответ написан
    Комментировать
  • Почему анонимная функция возвращает число а не булево значение?

    coderisimo
    @coderisimo
    array_filter - Oбходит каждое значение массива array, передавая его в callback-функцию. Если callback-функция возвращает true, данное значение из array возвращается в результирующий массив.

    Что и происходит в вашем случае.

    вот тут

    return $item > $min;

    мы ДЕЙСТВИТЕЛЬНО получаем булево значение, которое и определяет, попадет ли данный элемент массива в результирующий массив.
    Ответ написан
    Комментировать
  • Почему первый PID - это init?

    Потому что init в большинстве дистрибутивов это симлинк.

    ➜ ~ ls /sbin/init -lh
    lrwxrwxrwx 1 root root 22 окт 7 20:38 /sbin/init -> ../lib/systemd/systemd


    Даже если в вашем это не симлинк, это не означает, что это не systemd.
    Ответ написан
    Комментировать
  • Какой из двух ноутбуков выбрать?

    Jump
    @Jump
    Системный администратор со стажем.
    Какой из двух ноутбуков выбрать?
    Оба примерно одинаково плохи.
    что бы вы выбрали?
    Я бы выбрал нотубук с экраном диагональю не более 13,3, и без дискретной видеокарты. Дискретная видеокарта вообще вещь абсурдная в ноутбуке.
    Ответ написан
    6 комментариев
  • Как в один composer.json включить другой composer.json?

    vshemarov
    @vshemarov Автор вопроса
    Таки нашел решение, вдруг кому-то еще понадобится: https://packagist.org/packages/wikimedia/composer-...

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

    orlov0562
    @orlov0562
    I'm cool!
    У fetch нет метода остановки / отмены запроса, так что никак. Используй старый добрый XMLHttpRequest у него есть метод abort() который можно вызвать через установку таймера setTimeout. А в случае успеха таймер попросту удаляется и abort не срабатывает.
    Ответ написан
    Комментировать
  • Чем дебажить утечки памяти в php?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    там используется доктрина, возможно она что то не подчищает

    А вы чистите Identity Map?
    И точно какой-нибудь XDebug не включен?

    А вообще - вам нужен профайлер. Выше один уже предложили. Есть ещё xhprof и blackfire.io.
    Ответ написан
    Комментировать
  • Чем дебажить утечки памяти в php?

    Да простят меня модераторы, но когда-то мне помог этот ответ: stackoverflow.com/a/36288686
    Ответ написан
    Комментировать
  • Можно ли создать удаленный репозиторий на GitHub?

    2ord
    @2ord
    Можно, при помощи GitHub API.
    Ответ написан
    Комментировать
  • В чём разница между фреймворк и cms?

    @murlogen
    CMS - готовая система, которой воспользоваться может не программист.
    Ее можно программировать, но обычно предпочитают не заморачиваться с этим, а искать уже готовые (созданные программистами) модуля CMS под ту или иную задачу

    Фреймворк - это сырая заготовка для программиста.
    Без приложения более-менее значительных программистких усилий вы воооооооооообще ничего не получите, никакого результата.

    CMS позволяют сэкономить время и деньги если речь идет о типовой задаче. Однако на все случаи жизни готовых решений наперед не напридумываешь (в любой сфере человеческой жизни).

    На фреймворк начинают смотреть, если задача отличается от типовой.

    MVC - это просто свойство. Которое может быть присуще любому типу ПО из этих двух. Это как зеленая легковушка и зеленый трактор. То что они оба зеленых не дает же вам основания говорить - "они оба зеленых, поэтому я буду пахать на легковушке"
    Ответ написан
    24 комментария
  • Удаление ненужных символов из строки PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $str = preg_replace('/§./', '', $str);
    Ответ написан
    Комментировать
  • Какое регулярное выражение в php использовать?

    alsopub
    @alsopub
    Попробуйте
    $label = preg_replace('/^.*?\((.*)\).*?$/i', '$1', $filename);
    Ответ написан
    1 комментарий
  • Почему ember, angular и react сравнивают в скорости?

    Jump
    @Jump
    Системный администратор со стажем.
    Подскажите, пожалуйста, почему их всё время сравнивают в скорости?
    Потому что людям нравится что-нибудь сравнивать.
    Ну не могут они без этого.
    Некоторые люди сравнивают тупое с острым, но некоторые на этом не останавливаются, и начинают сравнивать теплое с мягким, синее с высоким, и.т.п.

    Например, напишу одну страницу с 2-3 функциями на angular и тоже самое на ember, как мне увидеть/измерить скорость?
    Вот возьмите к примеру спорткар от мерседесса, и гусеничный трактор.
    Как вы можете измерить их скорость? Понять кто быстрее?
    Достаточно просто устроить тестовый заезд. Поставьте их на трассу и посмотрите кто придет первым.
    А уж какую трассу использовать - ровную асфальтовую, или по полю с расксшей грязью по колено это уж вам решать.
    Ответ написан
    Комментировать
  • Как перенять объектно-ориентированное мышление?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Т.е. сложно понимаю, что "засунуть" в один объект, что в другой, что должно быть статическим методом, что приватным и тд.


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

    То есть по сути наше приложение - один объект. У него внутри вообще все. У этого объекта есть один метод - обработай запрос. Когда внешний мир его вызывает, меняются значения каких-то переменных, вызываются какие-то внутренние "приватные" для внешнего мира функции, и делается работа.

    Теперь задумаемся о декомпозиции всего этого хаоса. Мы находим какую-то задачу, которую выполняет наш код (например какую функцию вызвать для обработки каждого конкретного запроса) и выносим это в отдельный объект. Отправка email-ов - отдельный объект. Весь SQL зашиваем в отдельный объект. Соединение с базой - объект. Пользователи - объекты. Все - объекты.

    И главное, у каждого объекта есть своя область ответственности. UNIX way. Каждый объект делает что-то одно и делает это хорошо. Бывает так что ну... нужно сделать так что бы один объект делал две вещи. НЕ вопрос, мы можем его попросить сделать что-то сложное, а он будет как хороший менеджер тупо делегировать работу другим объектом. То есть он и сложную штуку сделает, и сам не будет знать как она делается.

    А все безхозные функции, которые не пренадлежат никаким объектам (например функции порождающие объекты) можно вынести в статические методы. Главное что бы статичесих переменных у нас небыло (ибо это те же глобальные переменные). И поменьше публичного ибо черт его знает что эти разработчики будут использовать. Причем "те разработчики" это вы завтра.

    Вообщем писав всё время на процедурке, сложно перейти на ооп.


    Просто не думайте что это что-то "принципиально другое". Это та же самая процедурка, просто благодаря классам и объектам, вы можете порезать систему на маленькие модули. Данные будут лежать рядом с процедурами и у вас будет больше контроля за происходящим.

    Вы можете начать погружаться в ООП с того, что разобраться "почему глобальные переменные это плохо", почему "состояние порождает сложность" и что такое эта "сложность" (многие почему-то думают что сложность выражается в написании кода а не в его чтении или поддержке), почему "изоляция" (и как следствие инкапсуляция) - это хорошо. Как это все соотносится с декомпозицией. Что такое "ответственность", что такое зависимости, связанности

    Подскажите, какой проект начать писать (гостевая, блог), или может начать изучать фреймворк.


    Фреймворки универсальны, а значит чистого ООП там быть не может. Во всяком случае нет ни одного фреймворка на котором стоит учиться ООП.

    Есть хорошие упражнения на развитие понимания объектно-ориентированного проектирования. Например вот: https://habrahabr.ru/post/206802/

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

    Или может подскажите книгу/сайт где пошагово в ооп написан какой-то проект, чтобы быстрее пришло понимание.


    Так вы научитесь делать один конкретный проект а на втором вы уже проиграете. Так дела не делаются. Надо разобраться с причинами появления идеи ООП. Ну то есть что было до. Можно еще с функциональным программированием попробовать разобраться. В PHP оно слабо применимо, но основные идеи очень тесно переплетаются с ООП и познав немного функциональщины ваше ООП будет лучше. Да и если про ООП вы можете найти много булшита, про функциональщину врут мало.
    Ответ написан
    3 комментария
  • Есть ли краткий аналог цепочке git команд?

    Сделайте alias в .gitconfig:
    [alias]
      gmd = "!git checkout master && git pull && git checkout developer && git merge master && git commit ' merge with master' && git push"


    Использовать можно будет так: git gmd
    Ответ написан
    Комментировать
  • Аренда дешевого дискового пространства, подскажете?

    neluzhin
    @neluzhin
    Под хранение картинок, может, Imgur будет выгоднее? Хранение бесплатное и бессрочное, платите только за загрузку картинок.

    yGaNF9X.png
    Ответ написан
    3 комментария
  • Как составить регулярку, проверяющую дату рождения юзера из ВК?

    Palehin
    @Palehin
    Frontend
    Зачем регулярка? Не легче просто проверять длину строки? Если она больше 5 (4 числа и точка), то дата полная.
    Ответ написан
    Комментировать
  • Откуда Instagram узнал, что мой пароль был скомпрометирован на другом сайте?

    Jump
    @Jump
    Системный администратор со стажем.
    Отсюда вопрос: откуда они об этом узнали?
    В крупных компаниях за этим делом следят.
    Никому не охота терять деньги и сливать репутацию на пустом месте.
    Поэтому они стараются отслеживать утечки баз, и разумеется сверяют хэши из этих баз со своими хэшами при совпадении логина. Во избежание...
    Ответ написан
    Комментировать
  • MySQLi или PostgresSQL?

    @entermix
    MySQLi - расширение драйвера для СУБД MySQL
    PostgresSQL - СУБД

    Как их можно сравнивать? Возможно Вы имели в виду MySQL?
    В интернете есть огромное количество информации по запросу "mysql vs postgresql"

    И здесь, такой вопрос уже был: MySQL vs PostgreSQL?
    Но, в конечном итоге, решать Вам, потому, что у каждой СУБД своя ниша.
    Ответ написан
    Комментировать