• Как не утонуть в океане информации?

    noys
    @noys
    красноглазик
    Мозг и ЖКТ очень похожи по функцианалу.

    Маю Плесецкую как-то спросили "Как вам удается сохранять такую фигуру, у вас особая диета?", на что она ответила: "Диета проста - не жрать".

    "Не съим так понадкусываю" Хохлятская поговорка.

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

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

    alams_stoyne
    @alams_stoyne
    Full Stack Developer - #PHP #CSS #JS #DB
    Для решения такой задачи я использовал konvajs
    Данные тянул из БД с помощью php сразу (смысла лишний раз делать запросы не увидел)
    Рендер и взаимодействие написаны на JS

    Как это работает
    Ответ написан
    2 комментария
  • Когда в PHP использовать интерфейсы, а когда абстрактные классы?

    miraage
    @miraage
    Старый прогер
    К примеру, нужно написать класс для работы с кэшем.

    У нас есть класс Cache, который будет делать всю грязную работу. Он в свою очередь будет использовать библиотеку под определенный тип кэша (memcached, eaccelerator, ...). Для согласованности, библиотека должна реализовать интерфейс cacheInterface, чтобы класс Cache мог нормально работать. Вот небольшой пример.

    Интерфейс для библиотеки:
    Ответ написан
    3 комментария
  • Можно ли передать права на репозиторий с одного аккаунта на другой на bitbucket.org?

    stanislav-belichenko
    @stanislav-belichenko
    Backend PHP Developer
    Верно, это возможно. Инструкция от самого Bitbucket:

    1. From the repository you want to transfer, click Settings in the left menu.
    2. From the Repository details page, scroll down and you'll see Transfer or delete repository. Click Transfer repository to open the Transfer repository window.
    3. Enter the Username of the individual or team account you want to transfer to.
    4. Press Transfer.

    The Bitbucket server sends the user or team account an email notification containing a transfer request. The Transfer repository page changes to indicate that you have transferred the repository.
    Additionally, the system displays a pending transfer banner at the top of each repository tab. This warns others who have access to your repository that a transfer is pending. You are able to revoke the transfer request at any time before the new user accepts it. If you revoke a transfer before a user accepts it, Bitbucket sends the user a notification that the transfer was rescinded.


    Что касается передачи коммитов и прочего, то верно, передается все целиком:

    If you have administrative rights on a repository, you can change or transfer the ownership of a repository to another team or to a individual account. The account holder you are transferring to must accept the transferred repository to complete the transfer. You can revoke a pending transfer before it is accepted. Transferring a repository transfers the commit history, issue tracker, and wiki associated with that repository.


    Я нашел эту информацию в кеше Гугла, сама страница с этой информацией в данный момент выдается с 503-ей ошибкой.
    Ответ написан
    Комментировать
  • Как передать значение переменной из php-скрипта в javascript?

    nowm
    @nowm
    Первый способ: Отдельный AJAX-запрос к PHP-файлу, который вернёт что-нибудь вроде JSON-данных, которые потом будут доступны из JS.

    Второй способ: В PHP-файле можно определить какую нибудь переменную во время генерации страницы, а потом из любых скриптов к ней обращаться. Например так:

    PHP-файл:
    <?php
    $a = 'text for js_variable';
    ?>
    <!DOCTYPE html>
    <html>
      <head>
        <script>
          //Определяется переменная, которая будет доступна для 
          // всех JavaScript, подключаемых на данной странице
          var js_variable = '<?php echo $a; ?>';
        </script>
        <!-- 
          В файле /scripts/myscript.js происходит обращение 
          к переменной js_variable 
        -->
        <script src="/scripts/myscript.js"></script>
      </head>
      <body>blah-blah-blah</body>
    </html>


    Файл /scripts/myscript.js:
    // Выскочит алерт с текстом «text for js_variable».
    alert(js_variable);


    Вот. В HEAD-части HTML-страницы вы определяете переменную, которая будет доступна для остального JS-кода. Главное — нужно её определять до того, как будут подключены скрипты, которые будут её использовать.

    Третий способ: Если ваш web-сервер — Apache, то можно добавить в .htaccess в корне сайта такие строки:
    AddType application/x-httpd-php .js
    AddHandler x-httpd-php5 .js
    
    <FilesMatch "\.js$">
    SetHandler application/x-httpd-php
    </FilesMatch>


    Тогда вы сможете прямо в JS-файлах выполнять PHP-код. Но выполняться он будет только в тех JS-файлах, которые находятся в папке с сайтом. Если будут загружаться скрипты со сторонних ресурсов, там PHP-код работать не будет.
    Ответ написан
    Комментировать
  • Как передать значение переменной из php-скрипта в javascript?

    4ikist
    @4ikist
    переменную: var param = '<?=$param;?>';
    массив: var object = <?=json_encode($array);?>;
    Ответ написан
    Комментировать
  • Как убрать повторяющиеся слэши в .htaccess?

    Два коммента выше про:

    RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
    и про
    RewriteCond %{THE_REQUEST} ([^\s]*)\/{2,}(\?[^\s]*)?

    Вы вообще сами проверяли как будет происходить редирект? А я отвечу, что станицы вида site.ru/page//// будут редиректиться сначала на site.ru/page/// потом на site.ru/page// потом только на site.ru/page/

    Потому как что (.*), что ([^\s]*) - жадные! Нужно указывать (.*?) и ([^\s]*?)

    Господа, проверяйте свой код прежде, чем рекомендовать кому то.
    Ответ написан
    Комментировать
  • Как правильно добавлять данные в начальное состояние Vue.data из axios response?

    0xD34F
    @0xD34F Куратор тега Vue.js
    rootVueSteplist.$data = Object.assign(rootVueSteplist.$data, response.data)

    Присваивание не нужно. Object.assign модифицирует объект, переданный первым аргументом. Т.е., достаточно просто

    Object.assign(rootVueSteplist.$data, response.data);

    Или даже Object.assign(rootVueSteplist, response.data);, ведь как нам докладывает документация про $data,

    Экземпляр проксирует сюда вызовы своих полей. (Например, vm.a будет указывать на vm.$data.a)
    Ответ написан
    1 комментарий
  • Как объединить два объекта javascript с заменой значений по ключу, если он существует?

    @paulvoloschuk
    Object.assign
    Линк

    var a = {a:1, b:2, c:3};
    var b = {a:2, b:2};
    
    console.log(Object.assign(a,b));   // result Object {a: 2, b: 2, c: 3}
    Ответ написан
    Комментировать
  • Добавление в готовый проект vuejs. Что нужно учесть?

    vue js можно добавить практически в любой проект.
    Для начала я рекомендую почитать документацию, она переведена русский, простая и понятная.
    Затем попробовать сделать простое приложение на vuejs, тот же todo-list к примеру.
    Фишка vuejs в том что она живет в своей песочнице. Выделили ей отдельный div, там и будет жить ваш vue, никак не затрагивая весь остальной сайт.
    Все аспекты вроде построения url можно переложить на бэк.
    Если у пользователя отключен javascript то никак. Но я ни разу не сталкивался с подобным.
    Ответ написан
    Комментировать
  • Стоит ли изучать Symfony?

    @djay
    Итак, обо всем по порядку:

    1. Дописать новую фичу можно в любой системе и в любом фрейморке (ZF/Laravel/SF/Cake/CI/Phalcon ... ), даже если все было спроектировано не правильно изначально. Единственно на это уйдет чуть больше времени и нервов.

    2. Симфони второй по востребованости в СНГ, после Yii - согласно hh и brainstorage. Остальное - ZF/Laravel. В Европе/США - наоборот, ZF2/Laravel, потом Symfony, а Yii вообще редко попадается.

    3. Да Ларавел работает быстрее и есть меньше памяти. Это потому в симфони очень много слоев абстракции. Но как правило, память дешевая и многие могут её себе позволить. То есть в основном никого не волнует какие-то 9-10 лишних МБ памяти.

    4. Симфони - не для слабаков. Его API гораздо сложнее всех остальных. Нужно уже знать и понимать DI контейнеры, принцип разделения концепций и аналогичное. Для работы с Yii/Laravel - знать этого не нужно, поэтому каждый второй школьник Yii/Laravel программист (образно говоря).

    5. Не встречал адекватных мануалов для новичков на русском языке, к сожалению. Могу посоветовать только англоязычные:

    Symfony2 Registration and Login
    Creating a blog in Symfony2

    Пройдя эти мануалы, уже сможешь писать приложения.

    6. В любом фрейворке, тебе нужно будет в основном только это:

    - Роутер / контроллеры
    - Компонент валидации форм
    - Слой над базой данных

    И все! Фремворк предоставляет только инструменты, не более того. Т.е фреймворк - это не цель, а средство.
    Ответ написан
    Комментировать
  • С чего начать изучение Yii2?

    konofeev
    @konofeev
    Программист
    Переведенная документация. Не знаю, только в какой объёме её перевели.
    Ответ написан
    Комментировать
  • С чего начать изучение Yii2?

    sanchezzzhak
    @sanchezzzhak
    Ля ля ля...
    Yii2 с base application и готовностью что когда то вам нужно будет что то переписать.
    Функционал беты еще может изменится, хоть мало и вероятно.

    Думаю не будет лишним прочитать недавний обзор.
    habrahabr.ru/post/219329
    Документация
    www.yiiframework.com/doc-2.0
    Гайд пока на en, после релиза обещали на ru перевести.
    www.yiiframework.com/doc-2.0/guide-index.html
    Ответ написан
    Комментировать
  • С чего начать изучение Yii2?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Да, есть официальная документация.
    Только совет - если задумаете что-то написать, потрудитесь поискать уже готовое решение. Главная проблема новичков в Yii - после пары часов прочтения документации они уже подписываются на выполнение заказов на фрилансе, и затем в коде разрастаются велосипеды, реализация которых даже в фреймворке имеется.
    Ответ написан
    Комментировать