Задать вопрос
  • Как отключить EFI загрузчик?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Когда мне потребовалось избавиться от UEFI (не только загрузчика, а от этого формата диска вообще) на моём ультрабуке, то я проделал следующее:
    1. Сделал бэкап (он не понадобился).
    2. Загрузился с инструментально-восстановительного LiveUSB, содержащего среди прочих утилит парагоновский HDM (в моём случае это MultiBoot).
    3. С помощью HDM сконвертировал GPTшные разделы диска в формат MBR (без потери данных).
    4. Тем же HDM сделал активным (т.е. загрузочным) раздел, содержащий ОС. Прежний активный скрытый раздел размером 200...300 мб удалил и присоединил его объём к ближайшему большому разделу.
    5. Разумеется, в BIOS отключил Secure Boot и перезагрузил комп.
    6. Как водится, PROFIT! Переустановка ОС не потребовалась.
    Кстати, рекомендую удалить и скрытый раздел, содержащий вендорский дистрибутив ОС (размером 15...20 Гб) - нахрен его всё время с собой таскать? Только надо предварительно установить всю нужную софтовую начинку (не забыть удалить из системы ненужное, почистить времянки и корзину), провести настройки, убедиться, что всё ОК, только после этого сделать резервную копию системного раздела и сохранить её на стороннем носителе. Освободившееся место - те самые 15...20 Гб - присоединить к ближайшему большому разделу.
    Ответ написан
    1 комментарий
  • Налоги для начинающего фрилансера?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Начинающему фрилансеру нужно волноваться о том чтобы встать на ноги, чтобы наработать портфолио и клиентуру, чтобы закрепиться в этой сфере. Вот когда это все случится, вот тогда и думайте о налогах.
    Ответ написан
    7 комментариев
  • "Сильные" книги по Symfony и архитектуре приложений?

    by25
    @by25
    Веб-разработчик
    1. Мэтт Зандстра "PHP: объекты, шаблоны и методики программирования" - Врубиться в ООП
    2. Эрик Фримэн и ко "Паттерны проектирования" (Head First) - Влюбиться в ООП
    3. Эрик Эванс "Предметно-ориентированное проектирование" - научиться проектировать сложные системы
    4. Крэг Ларман "Применение UML 2.0 и шаблонов проектирования" - про проектирование, глубокое понимание ООП
    Ответ написан
    Комментировать
  • "Сильные" книги по Symfony и архитектуре приложений?

    @MadridianFox
    Web-программист, многостаночник
    Мартин Фаулер - Шаблоны корпоративных приложений. Это как раз вторая ссылка что Вы сами указали. Эта книга не может быть старовата, т.к. поясняет общие принципы, которые применяются во всех фреймворках.
    Более того. Всякие Symfony-специфичные книги могут быть староваты, но не Фаулер.
    Ответ написан
    Комментировать
  • Почему при перезагрузке компьютера, весь рабочий процесс сохраняется?

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

    @fawor1t
    Я бы поставил на гибернацию
    https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%B1%D...
    Ответ написан
    Комментировать
  • Покритикуйте подход?

    @lega
    Отлаживал я один такой проект одной крупной (forbes top 40) компании, тот ещё отстой, тормозило как в не себя, хранимые процедуры в 10к строк.

    - Ну удобно разрабатывать
    - Язык не для разработки приложений (если это *SQL)
    - Будет больше тормозить, т.к. вся нагрузка идет на одно звено, когда в высоконагруженых проектах стараются наоборот, разгрузить центральные звенья.
    Ответ написан
    1 комментарий
  • Как вы считаете так делать тупо?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
  • Зачем в PHP отдельный оператор конкатенации строк?

    @Ramallah
    PHP - динамически типизированный язык. Вот как раз через конкатинацию мы и даем понять чего нам надо от операции и избегая лишнего парсинга значений.

    shagguboy, привел хороший пример.

    Для JS обратной стороной будет:
    '2'+'3' = '23'
    parseInt('2')+parseInt('3') = 5
    Ответ написан
    Комментировать
  • Laravel как зарегистрировать свой service?

    miraage
    @miraage
    Старый прогер
    Read The Following Manual.

    // app/providers/AppServiceProvider.php
    
    use App\Services\Coupon\CreateCoupon;
    use App\Services\Notification;
    
    class AppServiceProvider
    {
      public function register()
      {
        // for regular services
        $this->app->bind(CreateCoupon::class);
    
        // for singletons
        $this->app->singleton(Notification::class);
      }
    }
    
    // app/http/controllers/CouponController
    
    use App\Services\Coupon\CreateCoupon;
    
    class CouponController
    {
      public function create(Request $request, CreateCoupon $service)
      {
        $service->create($request->input());
      }
    }


    // EDIT

    Доп ответ для Станислав Почепко

    Вот я в данный момент пишу сервис. И есть такой вопрос. Если у меня сервис зависит от объекта? Я его передаю в construct в сервис. Как в данном случае его подключать в контроллере?
    И насколько плохо, если внутри сервиса используется другой сервис? Это грубое нарушение слоёв?


    Полная свобода действий, однако не переборщите.

    1) использование вспомогательного (читай - приватного) сервиса, который нужен только этому классу
    namespace App\Services\Insurance\Ally;
    
    use App\Contracts\InsuranceProvider;
    
    class Provider implements InsuranceProvider
    {
      public function __construct()
      {
        // Api === App\Services\Insurance\Ally\Api, совпадает namespace
        // Сервис Api нужен исключительно этому провайдеру
        $this->api = new Api();
      }
    
      public function getTerms($invoice)
      {
        // получаем данные с api и отдаем их
        return $this->api->getTerms($invoice);
      }
    }


    2) использование и
    namespace App\Services\FormBuilder;
    
    // AppServiceProvider::register()
    // $this->app->bind(HtmlRenderer::class);
    use App\Services\Renderer\HtmlRenderer;
    
    class Builder
    {
      public function __construct(HtmlRenderer $renderer)
      {
        $this->inputFactory = new InputFactory();
        $this->renderer = $renderer;
        $this->inputs = [];
      }
    
      public function addInput($type, $className, $placeholder)
      {
        $this->inputs[] = $this->inputFactory->create($type, $className, $placeholder);
      }
    
      public function render()
      {
        return $this->renderer->render($this->inputs);
      }
    }


    3) service factory
    // appserviceprovider
    use App\Contracts\Renderer;
    
    public function register()
    {
      $this->app->register(Renderer::class, function ($params) {
        switch ($params['type']) {
          case 'html':
            return new HtmlRenderer();
          case 'xml':
            return new XmlRenderer();
        }
      });
    }
    
    // some service
    use App\Contracts\Renderer;
    
    class FormBuilder
    {
       public function __construct($rendererType)
      {
        $this->renderer = app()->make(Renderer::class, ['type' => $rendererType]);
      }
    }
    Ответ написан
    9 комментариев
  • Зачем "+" перед "function"?

    @Snewer
    Что бы сразу выполнить данную функцию.
    То есть, мы создаем анонимную функцию и сразу ее запускаем. + здесь арифметическая операция.
    Вместо + можно использовать "-", "!"
    Ответ написан
    4 комментария
  • Javascript - зачем изучать чистый JS?

    miraage
    @miraage
    Старый прогер
    react, angular, webpack, nodejs, d3, phaser - везде необходимо знание JS.
    Предположу, что Вы весьма недавно в мире frontend, где большинство в своей время так же начинали с сайтиков на jQuery. Но по мере карьерного роста, знание VanillaJS является неотъемлимой необходимостью.
    Если хотите в будущем писать классные веб-приложения - учите JS = ES5, ES2015, ES7 (из него, пожалуй надо знать о декораторах, class properties, function bind для начала).
    Ответ написан
    5 комментариев
  • Почему на node.js до сих пор нету фреймворка уровня symfony или zend?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Писать логику на node.js как на php без опыта лучше вообще не стоит.
    Я еще почти не встречал/сам не писал софта на nodejs который бы НЕ падал после того как выжрет всю память.
    Даже на простейших 50-100-200 строк скриптах появляются утечки памяти.
    Ладно у меня падают, я в nodejs разрабов не записывался, а вот те кто пишет и выкладывает в паблик, даже там постоянные утечки и падения.

    При всех плюсах в виду скорости и асинхронности(из-за которых в общем-то и появляются мемори лики), постоянные мемори лики и краши от нехватки памяти, лично меня вообще отпугивают.
    Я бы не стал делать серьезную логику на nodejs, от части конечно потому что нет большого опыта.

    Тут как раз побеждает пхп, отработал - умер. Чтобы забить память надо очень постараться(попроовать выбрать всю базу/таблицу например в одну переменную :D).
    Поэтому php невозможно убить практически, в отличии от ноды.

    В итоге, при всех плюсах и минусах обоих языков, я бы выбрал php для очередного сервиса.
    Ответ написан
    6 комментариев
  • Вопрос по MySql?

    thewind
    @thewind
    php программист, front / backend developer
    Даже здесь php.net/manual/en/mysqli-result.fetch-array.php полно примеров, как надо.
    Но вообще говоря, откуда вы нарыли такие древние методологии работы?

    PS "nazvanie", "autor", "id_knigi" - это просто ахтунг! Почему не title, author, book_id ?
    Ответ написан
    1 комментарий
  • Почему не работает код (Не бойтесь, 20 строк) на php?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    else if ($D=0)
    Используйте сравнение (===), а не присваивание (=).

    $x == $b/(2*$a);
    Используйте присваивание (=), а не сравнение (==).

    abcx($a=2, $b=-4, $c=3);
    При такой записи вы создаётё вне функции переменные $a, $b и $c, а потом передаёте в неё их значения. Переменные при это продолжают болтаться снаружи и никак не связаны с одноименными локальными переменными функции. Это не ошибка, код будет работать, но действие бессмысленное и потенциально вредное. Вызывайте функцию как обычно: abcx(2, -4, 3);

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

    P.S. Что же вы лесенку-то не достроили? :)
    $D = sqrt($D);
    $x == ($b + $D)/2*a;
    $x2 === ($b - $D)/2*a;
    Ответ написан
    3 комментария
  • Есть ли среди вас те, у кого есть постоянный стабильный доход не от разработки, а от своего продукта?

    myfirepukan
    @myfirepukan
    Жарим поиск
    Есть такие это я.
    MFA тема жива в мировом масштабе. В СНГ на adsense нормально заработать проблемно, в РСЯ новые сайты почти не берут.
    MFA = профессионал в SEO и не только белом )) т.к. вам нужно уметь с минимумом затрат привлекать много дешёвого трафика

    А по поводу проекта ради идеи, то в основе любого проекта даже MFA должна лежать интересная идея. Как минимум идея интересного парсера )))))
    Ответ написан
    2 комментария
  • Как использовать веб-сервер в virtualbox для локальной разработки?

    @mr_ko
    Javascript, Node.js. React.js, Vue.js, Wordpress
    Для этого удобнее использовать Vagrant eax.me/vagrant
    Ответ написан
    3 комментария
  • Как хранить ключ на Android устройстве?

    artemgapchenko
    @artemgapchenko
    Вот неплохой видос на тему безопасности в Android от одного из сотрудников Redmadrobot. Если вкратце - на стороне устройства эта задача нерешаема, что бы вы не сделали, всё это можно будет разобрать и поломать в нужном направлении (есть варианты усложнить задачу извлечения из apk нужного ключа, но только лишь усложнить - сделать её невыполнимой невозможно).
    Соответственно, как уже упомянули в комментариях, решать только совместно с сервером.
    Ответ написан
    Комментировать