Задать вопрос
  • Стоит ли изучать yii с нуля?

    @Arik
    Для расширения кругозора, конечно будет полезно узнать и такое, но надо понимать что будет потрачено приличное количество времени, а время у нас невосстанавливаемый ресурс. Если свою жизнь представите как бизнес, то будет немного легче, нужно быть хорошим менеджером своей жизни. На что-то будете готовы потратить время, на что-то нет. Где-то наймете работников, где-то сами что сделаете. Была статья на харбе/гигтаймс о псевдоцелях, советую почитать. Если у вас цель писать код, получать удовольствие от этого, то вперед. А вот если у вас цель сделать убийцу facebook, ebay и т.д. то лучше строить план именно на это. Или если продаете свою продукцию (трубы, мясо, молоко, стулья, мебель и т.д.) зачем вам знать как ваш сайт-визитка работает и писать к ниму что-то, лучше ведь потратить время на улучшение своей продукции? Это лишь мое мнение. Тут вам виднее
    Ответ написан
    Комментировать
  • Fastcgi добавляет /index.html?

    @Arik
    nginx.org/ru/docs/http/ngx_http_index_module.html
    Модуль ngx_http_index_module обслуживает запросы, оканчивающиеся слэшом (‘/’). Такие запросы также могут обслуживаться модулями ngx_http_autoindex_module и ngx_http_random_index_module.


    Если правильно понял:
    Происходит внутренняя переадресация
    site.ru/2012/07/30/some-topic/ -> site.ru/2012/07/30/some-topic/index.html
    и location ~ [^/]\.ph(p\d*|tml)$
    уже не подходит для текущего запроса.
    Ответ написан
    Комментировать
  • Какой macbook выбрать для разработки под android и ios?

    @Arik
    Сам использую MacBook Air 11' несколько лет. Большая часть времени конечно подключен к большому монитору, но с удовольствием беру собой (легкий) и могу поработать в машине или еще где. До этого был асус в несколько кг, вот что точно мне было лень собой таскать и включать каждый раз. На счет требований не могу ничего сказать, сам взял по максимум i7, 8Гб ОЗУ, но кажись и i5 с 4озу хватает многим, если конечно не поднимаете кучу виртуальных машин как я. А я смотрел на то что можно апгрейднуть, допустим SSD можно купить сторонний под 1Тб. После air, на прошки как-то и не смотрю. Так в этом году вроде на подходе macBook air 12' по размерам как 11', но экран лучше, больше. Слухи это пока все, но если терпит, можно подождать.
    Ответ написан
    Комментировать
  • Почему класс с данным методом является не стабильным?

    @Arik
    Скорее это просто предупреждение что текущий класс имеет зависимости, это вполне нормально.
    Ответ написан
    Комментировать
  • Как передать два разных параметра виджету Autocomplite?

    @Arik
    source

    Если попробовать:
    $data = $this->model->get_names($q);
    /* SELECT id,name,adress FROM table WHERE name LIKE %$q% or adress LIKE %$q%*/
    foreach ($data as $value) {
      $response[] = array('label' => $value['name']." - ".$value['adress'], 'value' => $value['id']);
    }
    echo json_encode($response);
    Ответ написан
    1 комментарий
  • Как обновить страницу с POST-запросом без повторной отправки данных (заставить браузер просто перезагруизить URL)?

    @Arik
    Зависит от данных которые передаете, если просто сохранить надо и показ на этой странице не зависит от того что отправили, то можно просто редирект на себя сделать. Если это страница поиска или контент просто зависит от переменных, то лучше просто геттом все передать.
    Ответ написан
    Комментировать
  • API яндекс карт: Как реализовать отметку места на карте пользователем?

    @Arik
    Если не ошибаюсь, геокодер может вернуть не один вариант и первый не значит что он верный. Особенно чувствуется, когда мелкие города-спутники становятся часть большого города, кучу улиц и домов дублируются. При этом еще у спутников почему-то часто приоритет больше, так по запросу "Ленина" мне яндекс-карты возвращают улицу на краю города, хотя это большая улица/проспект в центре города. По любому надо дать возможность юзеру самому указать место. И хранить это место вместе с записью о встрече.

    Т.к. результаты геокодирования хранить нельзя
    Это почему?
    Ответ написан
  • Чем проверить nginx под нагрузкой?

    @Arik
    А netstat что показывает?
    Ответ написан
    Комментировать
  • Хочу избавиться от портянок с именами переменных в PDO. Как?

    @Arik
    Пример #4 Создание объекта для каждой строки
    <?php
    class fruit {
        public $name;
        public $colour;
    }
    
    $sth = $dbh->prepare("SELECT name, colour FROM fruit");
    $sth->execute();
    
    $result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
    var_dump($result);
    ?>


    upd:
    Вот в этом то и проблема. Я пытаюсь скрыть внутри класса всё взаимодействие с БД. А у вашем варианте это не так.

    Тогда надо наследовать от чего общего и ложить примерно такую логику (не тестировал, может не работать, но логика такая):
    abstract class modelDB
        {
        public static function find()
            {
            $sth = $dbh->prepare("SELECT * FROM `". get_called_class() ."`");
            $sth->execute();
    
            return $sth->fetchAll(PDO::FETCH_CLASS, get_called_class());
            }
        }
    
    class fruit extends modelDB {
        public $name;
        public $colour;
    }
    
    $result = fruit::find();
    Ответ написан
    1 комментарий
  • Редактирование бд из браузера?

    @Arik
    Ответ написан
    Комментировать
  • Не работают переменные,что делать?

    @Arik
    Так echo надо или print. А в конце не > а ?>
    Ответ написан
    Комментировать
  • Может ли VPS показывать не верное количество потребляемой памяти?

    @Arik
    Так кэш же.. После повышения тарифа перегружали сервер вот и меньше. Через пару дней такая же история будет. Проверьте есть swap-файл. Полезно будет при малом кол-ве озу.
    Ответ написан
    Комментировать
  • Sphinx как настроить поиск по двум таблицам?

    @Arik
    Давно не работал, но было первое значение всегда id, остальное попадает в поиск!
    остальное (sql_attr_*) это атрибуты, если надо добавить условие. например, только по catId = 7 и т.д.

    source articles : init 
        {	
        sql_query = SELECT a.`id`, a.`title`, b.`title` as `catTitle` FROM `tbl_articles` AS a LEFT JOIN `tbl_categories` AS b ON b.`id` = a.`category_id`
        }
    Ответ написан
    Комментировать
  • Как правильно запустить скрипт по клику?

    @Arik
    Если кнопка не приходит с аякс-ответом
    var page = 1;
    var per_page = 20;
    
    jribbble.getShotsByList('popular', callback, {page: page, per_page: per_page});
    
    $('.btn_p').click(function(){
        jribbble.getShotsByList('popular', callback, {page: ++page, per_page: per_page});
    });
    Ответ написан
    1 комментарий
  • Можно ли использовать UNIQUE для VARCHAR?

    @Arik
    Данных не так прям много, всегда лучше начинать с простой понятной логики, а потом, по необходимости, оптимизировать. Сейчас UNIQUE(`url`), завтра можно будет добавить поле `hashCRC32` INT и хранить там хэш строки в CRC32, уникальный индекс надо будет поменять на UNIQUE(`hashCRC32`, `url`) - по полю с целым числом будет быстрая выборка и двойной индекс не даст дубликатов.
    Ответ написан
    Комментировать
  • Оператор clone в php: как работает?

    @Arik
    Да, очень кривой пример или вы не до конца все показали. По сути свойство address хранит объект (а точнее ссылку на объект) и если просто сделать клон объекта person, то и клон будет ссылаться на объект адрес и если один объект person что-то сделает со своим объектом ($this->address) изменит часть данных, то и клон тоже обновит свой ($this->address) - вернее они ссылаются на один объект.
    Другими словами с какой-то там версии PHP на объекты лишь ссылаются и объект удаляется из памяти, когда на него никто больше не ссылается.
    Пример: сим ссылки в ФС (ярлыки), на один файл можно много ссылок сделать, но если хоть по одной ссылке кто-то изменит данные файла, то и все сим ссылки обновят контент. Поэтому если вам нужно будет изменять файл, то вы не делаете ссылку, а копируете. Тут тоже самое, если адрес могут изменить, то лучше сделать и клон объекта с адресом

    Живой пример если не сделать клон объекта адреса:
    $person = new Person();
    
    $person->address->a = 1;
    
    $personClone = clone $person;
    
    $person->address->a = 2; // обновляем через первый объект person
    
    echo $personClone->address->a; // 2 - клон тоже обновил, так как они ссылают на один объект
    Ответ написан
    Комментировать
  • Залили шел, изменяются.htaccess и редиректят весь мобильный трафик. Как убрать?

    @Arik
    Ну явно тогда код в скриптах, grep по файлам может не помочь, так как в основном такие вещи не в открытом виде. Лучше смотреть на последние измененные и новые файлы и колбасить от них. А почему apache запускаете от пользователя? Может его запустить от другого юзера и дать права на запись только там где надо? Еще бы советовал поставить какую нибудь систему версионности (git, mercurial), тогда в одну команду сможете найти изменения в скриптах и новые файлы. Конечно надо будет поставить исключения на файлы где храните контент-файлы юзеров (фото и т.д.)
    Ответ написан
    Комментировать
  • Почему лучшей практикой удаления сущностей из базы данных считается через форму, а не просто GET ссылкой?

    @Arik
    Хороший тон делать все действия через кнопки и желательно отправлять как POST-данные. Так с F5 или открытия старой закладки не выполнит действие повторно. GET-данные с формы хороши, когда надо сохранить урл результата действия, например форма поиска. Я вообще сделал что все формы идут на *.php урлы, которые в свою очередь проверяют, перед основным действием, отправляешь ли ты данные как POST. А обычные страницы у меня *.html
    Ответ написан
    Комментировать