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

    alekciy
    @alekciy
    Вёбных дел мастер
    Первое с чего нужно начинать - смотреть логи. И что нам говорят логи?
    Ответ написан
    1 комментарий
  • Как получить изменения git pull с автоматическим слиянием без конфликтов? Более последнее изменение - главное?

    alekciy
    @alekciy
    Вёбных дел мастер
    Какой смысл на разных машинах править одно и тоже?

    Нормальный рабочий процесс pull, внесли изменения, закомитились, push. На другой машине pull, внесли изменения, закомитились, push. Profit!
    Ответ написан
    Комментировать
  • Как найти уязвимость на php сайте?

    alekciy
    @alekciy
    Вёбных дел мастер
    У клиента постоянно ломали WP. Когда в очередной раз меня задолбало смотреть mail лог (mail.add_x_header, mail.log) загнал сайт под git. Теперь при малейшем подозрении git status сразу показывает, куда же прописался зловред. Метод хорошо себя показывает если файлы сайта меняются не очень часто.
    Ответ написан
    2 комментария
  • Какой существует наиболее удобный на ваш взгляд способ работы с XML на JavaScript в AJAX приложениях?

    alekciy
    @alekciy
    Вёбных дел мастер
    Конечно же XPath.
    Ответ написан
    Комментировать
  • Работа с удаленными файлами как с локальными?

    alekciy
    @alekciy
    Вёбных дел мастер
    Ответ написан
    Комментировать
  • Насколько геморойно реализовывать интеграцию самописной CMS с 1С?

    alekciy
    @alekciy
    Вёбных дел мастер
    Интеграция самописной CMS от несамописной ни чего не отличается. Выбрали формат обмена, синхронизировали состояние базы. Выбрали xls? Работает? Ну значит все хорошо.

    P.S. Хотя более правильным было бы использовать CommerceML.
    Ответ написан
  • Хочу получить фидбек на свою php библиотеку упаковщика html, css, less, js, html?

    alekciy
    @alekciy
    Вёбных дел мастер
    Песочницу смотрит не только НЛО. Если фитбэка нет, значит что-то было сделано не так. Новый софт должен решать проблемы которые не решены (или решены неудачно) в другом софте. Это должен быть первый вопрос который следует себе задать. Но ни его, ни ответа на него нет. И мотивации использовать его только потому что он на PHP и не требует той же Java/Ruby явно не достаточно.
    Ответ написан
  • Какие есть плюсы/минусы composer?

    alekciy
    @alekciy
    Вёбных дел мастер
    Не является он средством деплоя. Разумнее было бы его сравнивать с apt. И как раз в большом проекте, имхо, его польза под вопросом. Потому как в большом проекте автодеплой.
    Ответ написан
    Комментировать
  • Почему медленно грузится статика?

    alekciy
    @alekciy
    Вёбных дел мастер
    Наверняка просадка по диску из-за соседей. Устанавливаем atop и убеждаемся в этом лично.
    Ответ написан
    Комментировать
  • Есть сервера приложений nginx+phpfpm. Чем лучше балансировать нагрузку?

    alekciy
    @alekciy
    Вёбных дел мастер
    А почему это может быть не правильным решением? Вполне себе нормальное решение. Особенно когда протокол не выходит за рамки http/https.
    Ответ написан
    Комментировать
  • Какие права мне нужно поставить на папку?

    alekciy
    @alekciy
    Вёбных дел мастер
    В публичной папке веб сервера создаем ручками файла такого содержимого:
    <?php
    phpinfo();
    ?>

    в нем сразу видно, от какого юзера работает PHP и в каком режиме. Ссылку на указанный файл в студию.
    Ответ написан
    6 комментариев
  • Как обновить ядро Ubuntu 12.04?

    alekciy
    @alekciy Автор вопроса
    Вёбных дел мастер
    Поправил в /etc/kernel-img.conf link_in_boot на yes и новое ядро установилось. Попробую позже с него загрузиться.
    Ответ написан
    Комментировать
  • Как обновить ядро Ubuntu 12.04?

    alekciy
    @alekciy Автор вопроса
    Вёбных дел мастер
    @IlyaEvseev я так пытался, даже более, делал purge. Но все тчетно:
    ]$ sudo apt-get remove linux-server linux-image-server
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Package linux-image-server is not installed, so not removed
    Package linux-server is not installed, so not removed
    0 upgraded, 0 newly installed, 0 to remove and 177 not upgraded.
    3 not fully installed or removed.
    After this operation, 0 B of additional disk space will be used.
    Setting up linux-image-3.2.0-57-generic (3.2.0-57.87) ...
    Running depmod.
    update-initramfs: deferring update (hook will be called later)
    failed to move /initrd.img:Invalid cross-device link at /var/lib/dpkg/info/linux-image-3.2.0-57-generic.postinst line 495.
    dpkg: error processing linux-image-3.2.0-57-generic (--configure):
     subprocess installed post-installation script returned error exit status 18
    dpkg: dependency problems prevent configuration of linux-image-generic:
     linux-image-generic depends on linux-image-3.2.0-57-generic; however:
      Package linux-image-3.2.0-57-generic is not configured yet.
    No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                              dpkg: error processing linux-image-generic (--configure):
     dependency problems - leaving unconfigured
    dpkg: dependency problems prevent configuration of linux-image:
     linux-image depends on linux-image-generic (= 3.2.0.57.68); however:
      Package linux-image-generic is not configured yet.
    dpkg: error processing linux-image (--configure):
     dependency problems - leaving unconfigured
    No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                              Errors were encountered while processing:
     linux-image-3.2.0-57-generic
     linux-image-generic
     linux-image
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    ]$ sudo apt-get install -f
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    0 upgraded, 0 newly installed, 0 to remove and 177 not upgraded.
    3 not fully installed or removed.
    After this operation, 0 B of additional disk space will be used.
    Setting up linux-image-3.2.0-57-generic (3.2.0-57.87) ...
    Running depmod.
    update-initramfs: deferring update (hook will be called later)
    failed to move /initrd.img:Invalid cross-device link at /var/lib/dpkg/info/linux-image-3.2.0-57-generic.postinst line 495.
    dpkg: error processing linux-image-3.2.0-57-generic (--configure):
     subprocess installed post-installation script returned error exit status 18
    dpkg: dependency problems prevent configuration of linux-image-generic:
     linux-image-generic depends on linux-image-3.2.0-57-generic; however:
      Package linux-image-3.2.0-57-generic is not configured yet.
    dpkg: error processing linux-image-generic (--configure):
     dependency problems - leaving unconfigured
    dpkg: dependency problems prevent configuration of linux-image:
     linux-image depends on linux-image-generic (= 3.2.0.57.68); however:
      Package linux-image-generic is not configured yet.
    dpkg: error processing linux-image (--configure):
     dependency problems - leaving unconfigured
    No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                              No apport report written because the error message indicates its a followup error from a previous failure.
         Errors were encountered while processing:
     linux-image-3.2.0-57-generic
     linux-image-generic
     linux-image
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    Как я понимаю мейтейдер пакета даже вообразить не мог о такой разбивке дисков поэтому обновить ядро из стандартных пакетов видимо уже не получиться. А замораживать в apt текущую версию ядра я не хочу ибо оно с дырявое и локальный юзер может повысить привилегии до root-а.
    Ответ написан
    Комментировать
  • Как обновить ядро Ubuntu 12.04?

    alekciy
    @alekciy Автор вопроса
    Вёбных дел мастер
    #apt-get check
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    You might want to run 'apt-get -f install' to correct these.
    The following packages have unmet dependencies:
     linux-generic : Depends: linux-image-generic (= 3.2.0.54.64) but 3.2.0.57.68 is installed
     linux-image : Depends: linux-image-generic (= 3.2.0.54.64) but 3.2.0.57.68 is installed
     linux-server : Depends: linux-image-server (= 3.2.0.57.68) but it is not installed
                    Depends: linux-headers-server (= 3.2.0.57.68) but it is not installed
    E: Unmet dependencies. Try using -f.

    Unmet это из-за linux-server который я пытался накатить из deb файла. -f конечно немного боязно запускать, но не помогло в итоге:
    # apt-get -f install
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Correcting dependencies... Done
    The following extra packages will be installed:
      linux linux-generic linux-image
    The following packages will be upgraded:
      linux linux-generic linux-image
    3 upgraded, 0 newly installed, 0 to remove and 177 not upgraded.
    8 not fully installed or removed.
    Need to get 0 B/5,118 B of archives.
    After this operation, 0 B of additional disk space will be used.
    Do you want to continue [Y/n]?
    Setting up linux-image-3.2.0-57-generic (3.2.0-57.87) ...
    Running depmod.
    update-initramfs: deferring update (hook will be called later)
    failed to move /initrd.img:Invalid cross-device link at /var/lib/dpkg/info/linux-image-3.2.0-57-generic.postinst line 495.
    dpkg: error processing linux-image-3.2.0-57-generic (--configure):
     subprocess installed post-installation script returned error exit status 18
    dpkg: dependency problems prevent configuration of linux-image-generic:
     linux-image-generic depends on linux-image-3.2.0-57-generic; however:
      Package linux-image-3.2.0-57-generic is not configured yet.
    dpkg: error processing linux-image-generic (--configure):
     dependency problems - leaving unconfigured
    No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                              dpkg: dependency problems prevent configuration of linux-generic:
     linux-generic depends on linux-image-generic (= 3.2.0.54.64); however:
      Version of linux-image-generic on system is 3.2.0.57.68.
     linux-generic depends on linux-headers-generic (= 3.2.0.54.64); however:
      Version of linux-headers-generic on system is 3.2.0.57.68.
    dpkg: error processing linux-generic (--configure):
     dependency problems - leaving unconfigured
    dpkg: dependency problems prevent configuration of linux-image:
     linux-image depends on linux-image-generic (= 3.2.0.54.64); however:
      Version of linux-image-generic on system is 3.2.0.57.68.
    dpkg: error processing linux-image (--configure):
     dependency problems - leaving unconfigured
    dpkg: dependency problems prevent configuration of linux:
     linux depends on linux-image (= 3.2.0.54.64); however:
      Package linux-image is not configured yet.
    dpkg: error processing linux (--configure):
     dependency problems - leaving unconfigured
    Setting up linux-image-3.2.0-54-generic (3.2.No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                                                                           No apport report written because MaxReports is reached already
          No apport report written because MaxReports is reached already
                                                                        0-54.82) ...
    Running depmod.
    update-initramfs: deferring update (hook will be called later)
    failed to move /initrd.img:Invalid cross-device link at /var/lib/dpkg/info/linux-image-3.2.0-54-generic.postinst line 495.
    dpkg: error processing linux-image-3.2.0-54-generic (--configure):
     subprocess installed post-installation script returned error exit status 18
    No apport report written because MaxReports is reached already
                                                                  dpkg: dependency problems prevent configuration of linux-image-server:
     linux-image-server depends on linux-image-3.2.0-57-generic; however:
      Package linux-image-3.2.0-57-generic is not configured yet.
    dpkg: error processing linux-image-server (--configure):
     dependency problems - leaving unconfigured
    No apport report written because MaxReports is reached already
                                                                  dpkg: dependency problems prevent configuration of linux-server:
     linux-server depends on linux-image-server (= 3.2.0.57.68); however:
      Package linux-image-server is not configured yet.
    dpkg: error processing linux-server (--configure):
     dependency problems - leaving unconfigured
    No apport report written because MaxReports is reached already
                                                                  Errors were encountered while processing:
     linux-image-3.2.0-57-generic
     linux-image-generic
     linux-generic
     linux-image
     linux
     linux-image-3.2.0-54-generic
     linux-image-server
     linux-server
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    linux-server я конечно выпилю, но подозреваю, что в итоге все равно не даст обновиться. Авторы пакета явно не расчитывали, что симлинк окажется на другой фс.
    Ответ написан
  • Nginx + php-fpm + chroot + symlink = brokenlink?

    alekciy
    @alekciy
    Вёбных дел мастер
    А из чего следует, что проблема в Yii? У меня целая пачка установок Yii крутящихся в chroot-ах и все работает без проблем. Но Yii 1.1.14 симлинке в assets не создает.
    Ответ написан
    Комментировать
  • PHP cURL отправка файла PUT запросом в OpenStack не работает под Linux ОС

    alekciy
    @alekciy
    Вёбных дел мастер
    Если я не хочу что бы заголовок Content-Length шел 2 раза, я могу убрать из массива $headers добавление заголовка, но тогда это не будет работать на Winows версией.

    А почему бы не отслеживать платформу и добавлять или нет указанный заголовок?
    if (PHP_OS != 'Linux) {
        $headers[] = 'Content-Length: '.$file_size;
    }


    Имхо, на linux как раз поведение правильное ибо файл известен и библиотека сама может провести расчеты связанные с заголовками и размерами.
    Ответ написан
    Комментировать
  • Есть ли смысл в американском хостинге для Украины и России?

    alekciy
    @alekciy
    Вёбных дел мастер
    Смысла в американском хостинге для России нет. Слишком далеко находится ДЦ поэтому сетевой лаг заметен.

    Ну и вопрос цены. Я вопросе что-то не заметил ценник. @nalimka вот говорит, что дорого.
    Ответ написан
    Комментировать
  • Как стать на правильный путь в написании кода?

    alekciy
    @alekciy
    Вёбных дел мастер
    Вот меня смущает обилие var. Без такого количества дополнительных переменных реально ни как не обойтись? Учитывая отсутствие контекста другого кода бы рекомендовал для начала хорошо форматировать код. Например, так:

    for (var i = 0; i < len; ++i)
    {
    	if ( !data.Flight.hasOwnProperty(i) ) {
    		continue;
    	}
    
    	var
    		  segm_data         = data.Flight[i].Segment
    		, suppliers         = get_supplier(segm_data)
    		, flight_start_time = segm_data[0].Departure.attributes.Time
    		, flight_end_time   = segm_data[0].Arrival.attributes.Time
    		, departure         = segm_data[0].Departure.attributes
    		, arrival           = segm_data[0].Arrival.attributes
    	;
    
    	var
    		  dep_all_time = arrival.Date.split('-').reverse().join('-')+' '+arrival.Time
    		, arr_all_time = departure.Date.split('-').reverse().join('-')+' '+departure.Time
    		, flight_time  = moment(dep_all_time).diff(arr_all_time,'seconds')
    	;
    	
    	if (
    		(time2minutes(flight_start_time) < parseInt(this.filter.data.time.departure.start))
    		|| (time2minutes(flight_start_time) > parseInt(this.filter.data.time.departure.end))
    		|| (time2minutes(flight_end_time) < parseInt(this.filter.data.time.departure_back.start))
    		|| (time2minutes(flight_end_time) > parseInt(this.filter.data.time.departure_back.end))
    		|| flight_time > parseInt(this.filter.data.time.flight)*60
    		|| !in_array_array(suppliers,this.filter.data.airlines)
    	) {
    		status = false;
    		break;
    	}
    
    }
    Ответ написан
    Комментировать
  • Наставник, где мне тебя найти?

    alekciy
    @alekciy
    Вёбных дел мастер
    Можно в студию несколько примеров вопросов которые были бы заданы наставнику?
    Ответ написан
    Комментировать