Задать вопрос
  • 3 else или 2 if?

    miraage
    @miraage
    Старый прогер
    Можно еще вынести получение группы юзера.
    switch (true):
        case ($_SESSION['user_group'] ?? null) === 1:
            // admin
            break;
        case ($_SESSION['user_group'] ?? null) === 5:
            // user
            break;
        default:
            // guest
            break;
    endswitch;
    Ответ написан
    Комментировать
  • Кто несет ответственность на разных этапах при создании сайта?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Ответственный ли следующий подрядчик за приемку исходников от предыдущего?

    Нет, конечно.
    Кто отвечает ? - владелец продукта, продакт-менеджер отвечает. Он все сверяет и тестирует.
    То, что требуется доработка верстки - ситуация более, чем рядовая. Считать, что кто-то ее должен был принять в окончательном виде, когда не готов бекенд, - странно.

    Как на практике можно решить подобную ситуацию?

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

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Есть договор, где прописаны ответственность сторон, согласно ему и определяется кто прав, а кто нет.
    Но исходя из общепринятых норм, верстка- верстальщику, программирование - программерам. Вообще эти процессы не должны быть разорваны во времени. Это вполне ожидаемо, что на этапе разработки понадобились доработки верстки.
    Ответственным за такие не состыковки, должен быть менеджер проекта. Который ставил задачи верстальщикам и писал Т.З. Судя по всему это Вы.

    Единственно не понятно почему нет верстальщика на подхвате. С ним договор должен был быть, что он обязан до сдачи проекта быть на подхвате. Но опять таки это проблема плохой организации. Если Вы заказчик, надо было такой крупный проект отдать компании, которая взяла бы все геморы на себя. Но Вы видимо решили сэкономить. Так если сэкономили, почему бы не подкинуть денег стороннему верстальщику, который оперативно решит все проблемы?
    Ответ написан
    Комментировать
  • Какой тип подключения и какой канал связи используют такие монстры как yandex, vkontakte, mail.ru?

    Существует такое понятие, как точка обмена интернет-трафиком (IX), например MSK-IX, SPB-IX, AMS-IX и т.п. Это точка, в которую приходит много каналов от разных провайдеров, и в которой провайдеры обмениваются трафиком между собой. Каждый из провайдеров, участвующих в обмене трафиком самостоятельно организует или арендует канал до IX. Обмен трафиком идет через оборудование и по стандартам поддерживаемым IX. Крупные сервисы не пользуются услугами провайдеров а присутствуют в IX самостоятельно, т.е. сами оперируют так же, как и провайдеры услуг. На этих же точках может вестись обмен трафика с крупными магистральными операторами, которые предоставляют в т.ч. зарубежный трафик, либо может арендоваться канал до одной из зарубежных IX.
    P.S. через traceroute часто можно видеть, через какие точки обмена трафиком прошел пакет к тому или иному ресурсу.
    Ответ написан
    1 комментарий
  • Почему не может прочитать свойство?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Что-то мне подсказывает, что функция compare написана неверно, надо так:
    function createCompare(field) {
      return function (a, b){
        if(a[field] > b[field]) return 1;
        if(a[field] < b[field]) return -1;
        return 0;
      }
    }
    
    users.sort(createCompare('name'));


    И изучите замыкания в js
    Ответ написан
    1 комментарий
  • Алгоритм проверки актуальности объявлений?

    @alexxandr
    you'll see in memory only 0xDEADFACE
    в коде, который отображает объявления сделайте проверку по дате, чтобы не показывал неактуальные
    а чистить от них базу можно и раз в месяц.
    Ответ написан
    Комментировать
  • Как сделать редирект на страницу каталога после авторизации пользователя?

    deMone
    @deMone
    Техдиректор — tech-director.ru
    В init.php поместите код:
    AddEventHandler("main", "OnAfterUserAuthorize", 'openCatalogAfterAuth');
    function openCatalogAfterAuth($arUser) {
         LocalRedirect('/katalog.php');
    }
    Ответ написан
    3 комментария
  • Как перенести данные из одной БД в другую с другой структурой?

    А как Вы себе это представляете вообще? Что должен делать такой инструмент? Анализировать старую структуру, потом новую, потом залезть к Вам в голову и узнать, что именно вы отразили в этих изменениях и что к чему относится и подготовить Вам SQL-файлик на основе анализа Вашего мозга?)
    Самый простой способ - написать скрипт самому)
    Ответ написан
    2 комментария
  • Как задать пользователя для cron?

    @Nc_Soft
    Юзера можно задать в глобальном кроне /etc/crontab
    * * * * * root /usr/bin/php /usr/local/www/db_request/misc/test.php
    Либо сделать для юзера системы свой крон через crontab -e
    Ответ написан
    Комментировать
  • Качественный перевод книг по программированию, где взять?

    kumaxim
    @kumaxim
    Web-программист
    Есть всего два способа выучить иностранный язык:
    1. читать на нем
    2. писать на нем


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

    @aol-nnov
    wget - это не браузер. он не умеет в ifame-ы
    Ответ написан
    2 комментария
  • Как в foreach сделать счетчик?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    foreach (array_slice($divan['divan'], 0, 3, true) as $key => $value) {


    Это если остальные элементы этой коллекции нужны в других местах и только тут первые три. Если не нужны - то зачем вы их вообще получаете?
    Ответ написан
    1 комментарий
  • Как установить Symphony 3.0 на Apache?

    @seriogja
    Вы уж извините, но ваш вопрос похож на: 'Что делать, если я не хочу читать дукументацию, и чтобы все работало?'. Чтобы не быть голословным, распишу по пунктам:
    1. Следуя стандартным инструкциям... Что дальше - непонятно.
      Что это за стандартные инструкции интересно?
    2. Тут предлагается запустить сервер PHP, а мне нужно на апаче.
      В Symphony для разработки можно использовать "встроенный" сервер, котрый запускается командой php bin/console server:run, вы бы заметили это, если бы читали документацию по Symphony
    3. И если это проект, то где у него index.php, где хотя бы htaccess?
      Это вы тоже в доках могли бы найти, если бы смотрели
    4. В инструкциях (и стандартной, и неофициальных) есть куча методов установки, почти все инструкции устарели...
      Такого просто не может быть! Открываете сайт Symphony, выбираете версию, смотрите документацию. Я кстати только что проверил один из вариантов - все работает!
    5. Symphony может работать как CMS, то есть как Joomla например
      Это вы точно не туда попали. Можно конечно кучу пакетов поставить... Но результат, как мне кажется, нельзя сравнивать с работой CMS.
    6. Поясните пожалуйста по шагам, что дальше делать, чтобы запустить на Апаче проект, а дальше я сам уже буду разбираться.
      Первым делом тщательно поизучайте доки, там много полезного. Разбираетесь, что нужно, чтобы все поехало на Apache (ссылку выше я вам уже дал), узнаете где же находится index.php, прописываете с конфиг апача, прописываете хосты (если нужно конечно), запускаете и радуетесь


    Замечу, что на мой взгляд, "изучать фреймворки" сразу с Symphony несколько тяжеловато. Если вы начинающий, то, возможно, вам стоило бы начать изучение с чего-то более простого.
    Ответ написан
    Комментировать
  • VestaCP или ISPConfig, что выбрать?

    georgich
    @georgich
    Приветствую!
    VestaCP demo и ISPConfig demo. Решать вам. С наступающим!
    Ответ написан
    Комментировать
  • Почему не стоит вызывать методы в конструкторе?

    @smozhaykin
    На самом деле вызывать не стоит только виртуальные методы. Т.к. если класс наследник его переопределит, то возникнет ситуация, когда метод работает до вызова конструктора класса-наследника. И если в этом методе используются какие-нибудь поля класса-наследника, они могут быть еще непроинициализированы.

    А так как в Java

    In Java, all non-static methods are by default "virtual functions." Only methods marked with the keyword final, which cannot be overridden, along with private methods, which are not inherited, are non-virtual.


    то в конструкторе не стоит вызывать любые публичные не final методы.

    Ниже C# код (т.к. работаю в основном с этим языком), иллюстрирующий это.

    void Main()
    {
    	new B("name");
    }
    
    class A
    {
        public A()
    	{
    	     Method();
    	}
    	
    	protected virtual void Method()
    	{
    	}
    }
    
    class B : A
    {
        private string Property { get; set; }
    	
    	public B(string value)
    	{
    	    Property = value;
    	}
    	
        protected override void Method()
    	{
    	    Console.WriteLine(Property.Length);
    	}
    }


    Результат: Object reference not set to an instance of an object.

    StackTrace
    at UserQuery.B.Method()
    at UserQuery.A..ctor()
    at UserQuery.B..ctor(String value)
    at UserQuery.Main()
    Ответ написан
    Комментировать
  • Как получить последние х строк из mysql?

    valerium
    @valerium
    Изобретая велосипед
    SELECT * FROM `имя_таблицы` ORDER BY `Дата` DESC LIMIT 10;


    И если нужно именно последние x в хронологическом порядке, то сортировать по полю с датой — это единственное правильное решение, потому что никто не гарантирует, что id привязан к хронологии. Например, данные о погоде могли быть добавлены «задним числом».

    UPD. Действительно, допустил ошибку в ответе, поправил.
    Ответ написан
    Комментировать
  • Действие после события?

    Deonisius
    @Deonisius
    Родился в 11110110111 году, 11000 января.
    $(".paragraph-text").bind('input', function(event){
       console.log( $(this).val() );
    });

    P.S. Вместо метда .bind( ), я бы предпочел метод .on( )
    Ответ написан
    1 комментарий
  • Действие после события?

    Стандартного события нет. Но есть например такой вариант: css-tricks. Если это нужно один раз - можно просто необходимый постобработчик обернуть в timeout(onPostPaste, 0);
    И вместо bind теперь рекомендуется on использовать
    Ответ написан
    Комментировать
  • Яндекс директ, может ли быть такое?

    @k1ng
    IT-предприниматель
    На позицию в поиске влияют поведенчиские факторы. От качественного целевого трафика из Директа они улучшаются, поэтому и растет позиция.
    Ответ написан
    2 комментария
  • Почему так странно заполняется поле автоинкремент?

    idelg
    @idelg
    Разработчик
    Не нужно менять автоинкремент. Так задумано разработчиками MySQL.

    Сдвиг в 10 значений добавили чтобы поддерживать master-master архитектуру и избегать коллизий.
    Ответ написан
    Комментировать